feat(editor): slash menu and toolbar widget extensions (#12002)

Closes: BS-3226
Closes: BS-3227
Closes: BS-3228
Closes: BS-3229

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced new view extensions for remote selection, scroll anchoring, slash menu, and toolbar widgets, enhancing customization and integration capabilities.

- **Refactor**
  - Updated export paths and module structure for widget-related packages to improve modularity and accessibility.
  - Reorganized internal dependencies and removed redundant widget imports from core block packages.
  - Refactored edgeless-related widgets and components to use a standardized scope interface for improved context and state management.
  - Centralized graphics controller access and slot management through standardized context objects.

- **Chores**
  - Added and updated dependencies to streamline extension loading and workspace management.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Saul-Mirone
2025-04-26 23:28:49 +08:00
parent de01692414
commit 59d4942d9b
37 changed files with 200 additions and 99 deletions
@@ -29,10 +29,6 @@ import { effects as fragmentDocTitleEffects } from '@blocksuite/affine-fragment-
import { effects as fragmentFramePanelEffects } from '@blocksuite/affine-fragment-frame-panel/effects';
import { effects as fragmentOutlineEffects } from '@blocksuite/affine-fragment-outline/effects';
import { effects as richTextEffects } from '@blocksuite/affine-rich-text/effects';
import { effects as widgetRemoteSelectionEffects } from '@blocksuite/affine-widget-remote-selection/effects';
import { effects as widgetScrollAnchoringEffects } from '@blocksuite/affine-widget-scroll-anchoring/effects';
import { effects as widgetSlashMenuEffects } from '@blocksuite/affine-widget-slash-menu/effects';
import { effects as widgetToolbarEffects } from '@blocksuite/affine-widget-toolbar/effects';
import { effects as dataViewEffects } from '@blocksuite/data-view/effects';
import { effects as stdEffects } from '@blocksuite/std/effects';
@@ -65,11 +61,6 @@ export function effects() {
componentEdgelessShapeColorPickerEffects();
componentOpenDocDropdownMenuEffects();
widgetScrollAnchoringEffects();
widgetRemoteSelectionEffects();
widgetSlashMenuEffects();
widgetToolbarEffects();
fragmentDocTitleEffects();
fragmentFramePanelEffects();
fragmentOutlineEffects();
@@ -36,6 +36,10 @@ import { EdgelessToolbarViewExtension } from '@blocksuite/affine-widget-edgeless
import { FrameTitleViewExtension } from '@blocksuite/affine-widget-frame-title/view';
import { KeyboardToolbarViewExtension } from '@blocksuite/affine-widget-keyboard-toolbar/view';
import { LinkedDocViewExtension } from '@blocksuite/affine-widget-linked-doc/view';
import { RemoteSelectionViewExtension } from '@blocksuite/affine-widget-remote-selection/view';
import { ScrollAnchoringViewExtension } from '@blocksuite/affine-widget-scroll-anchoring/view';
import { SlashMenuViewExtension } from '@blocksuite/affine-widget-slash-menu/view';
import { ToolbarViewExtension } from '@blocksuite/affine-widget-toolbar/view';
import { MigratingViewExtension } from './migrating-view';
@@ -87,5 +91,9 @@ export function getInternalViewExtensions() {
FrameTitleViewExtension,
KeyboardToolbarViewExtension,
LinkedDocViewExtension,
RemoteSelectionViewExtension,
ScrollAnchoringViewExtension,
SlashMenuViewExtension,
ToolbarViewExtension,
];
}
@@ -0,0 +1 @@
export * from '@blocksuite/affine-widget-remote-selection/view';
@@ -0,0 +1 @@
export * from '@blocksuite/affine-widget-scroll-anchoring/view';
@@ -0,0 +1 @@
export * from '@blocksuite/affine-widget-slash-menu/view';
@@ -0,0 +1 @@
export * from '@blocksuite/affine-widget-toolbar/view';