feat(editor): edgeless auto connect widget extension (#11990)

Closes: BS-3221
Closes: BS-3222

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

- **New Features**
  - Introduced extensions that conditionally register edgeless auto-connect and toolbar widgets with associated effects based on the view context.
  - Added new exports for edgeless auto-connect and toolbar widget views, making them available for external use.

- **Chores**
  - Updated dependencies and project references to include the extension loader for improved module integration.
  - Refined workspace configuration to reflect new package dependencies.

- **Refactor**
  - Streamlined registration and effect logic by removing legacy integration points for edgeless auto-connect and toolbar widgets.
  - Reorganized widget export paths to a more modular directory structure.

- **Bug Fixes**
  - Disabled pointer events on the edgeless navigator black background to prevent interaction interference.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Saul-Mirone
2025-04-26 01:21:49 +00:00
parent 521ca99142
commit 25a2b94a43
18 changed files with 69 additions and 13 deletions
@@ -15,8 +15,6 @@ import { EdgelessClipboardFrameConfig } from '@blocksuite/affine-block-frame';
import { EdgelessClipboardImageConfig } from '@blocksuite/affine-block-image';
import { EdgelessClipboardNoteConfig } from '@blocksuite/affine-block-note';
import { ViewportElementExtension } from '@blocksuite/affine-shared/services';
import { autoConnectWidget } from '@blocksuite/affine-widget-edgeless-auto-connect';
import { edgelessToolbarWidget } from '@blocksuite/affine-widget-edgeless-toolbar';
import { frameTitleWidget } from '@blocksuite/affine-widget-frame-title';
import { edgelessRemoteSelectionWidget } from '@blocksuite/affine-widget-remote-selection';
import {
@@ -100,12 +98,10 @@ export const EdgelessRootBlockSpec: ExtensionType[] = [
edgelessRemoteSelectionWidget,
edgelessZoomToolbarWidget,
frameTitleWidget,
autoConnectWidget,
edgelessDraggingAreaWidget,
noteSlicerWidget,
edgelessNavigatorBgWidget,
edgelessSelectedRectWidget,
edgelessToolbarWidget,
EdgelessClipboardController,
];
@@ -1,4 +1,3 @@
import { effects as widgetEdgelessToolbarEffects } from '@blocksuite/affine-widget-edgeless-toolbar/effects';
import { effects as widgetMobileToolbarEffects } from '@blocksuite/affine-widget-keyboard-toolbar/effects';
import { effects as widgetLinkedDocEffects } from '@blocksuite/affine-widget-linked-doc/effects';
@@ -49,7 +48,6 @@ export function effects() {
// Run other effects
widgetMobileToolbarEffects();
widgetLinkedDocEffects();
widgetEdgelessToolbarEffects();
// Register components by category
registerRootComponents();
@@ -19,6 +19,7 @@ export class EdgelessNavigatorBlackBackgroundWidget extends WidgetComponent<Root
z-index: 1;
background-color: transparent;
box-shadow: 0 0 0 5000px black;
pointer-events: none;
}
`;