refactor(editor): extract selected rect widget (#12290)

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

## Summary by CodeRabbit

- **New Features**
  - Introduced the Edgeless Selected Rectangle widget, providing enhanced selection and interaction capabilities in edgeless mode.
  - Added rotation-aware resize cursors for improved usability when resizing selections.
  - Integrated new autocomplete panels and selection components for a smoother user experience.

- **Refactor**
  - Modularized the Edgeless Selected Rectangle widget as a standalone package for better maintainability and integration.
  - Updated internal references and imports to utilize the new widget package.

- **Chores**
  - Updated project and package configurations to include the new widget and ensure proper build and type-checking across the workspace.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Saul-Mirone
2025-05-15 04:25:06 +00:00
parent 43948f205e
commit 6052743671
27 changed files with 266 additions and 127 deletions

View File

@@ -53,6 +53,7 @@ export const PackageList = [
'blocksuite/affine/shared',
'blocksuite/affine/widgets/drag-handle',
'blocksuite/affine/widgets/edgeless-auto-connect',
'blocksuite/affine/widgets/edgeless-selected-rect',
'blocksuite/affine/widgets/edgeless-toolbar',
'blocksuite/affine/widgets/edgeless-zoom-toolbar',
'blocksuite/affine/widgets/frame-title',
@@ -372,6 +373,7 @@ export const PackageList = [
'blocksuite/affine/model',
'blocksuite/affine/rich-text',
'blocksuite/affine/shared',
'blocksuite/affine/widgets/edgeless-selected-rect',
'blocksuite/affine/widgets/edgeless-toolbar',
'blocksuite/affine/data-view',
'blocksuite/framework/global',
@@ -858,6 +860,24 @@ export const PackageList = [
'blocksuite/framework/std',
],
},
{
location: 'blocksuite/affine/widgets/edgeless-selected-rect',
name: '@blocksuite/affine-widget-edgeless-selected-rect',
workspaceDependencies: [
'blocksuite/affine/blocks/frame',
'blocksuite/affine/blocks/note',
'blocksuite/affine/blocks/surface',
'blocksuite/affine/components',
'blocksuite/affine/ext-loader',
'blocksuite/affine/gfx/connector',
'blocksuite/affine/gfx/shape',
'blocksuite/affine/gfx/text',
'blocksuite/affine/model',
'blocksuite/affine/shared',
'blocksuite/framework/global',
'blocksuite/framework/std',
],
},
{
location: 'blocksuite/affine/widgets/edgeless-toolbar',
name: '@blocksuite/affine-widget-edgeless-toolbar',
@@ -1450,6 +1470,7 @@ export type PackageName =
| '@blocksuite/affine-shared'
| '@blocksuite/affine-widget-drag-handle'
| '@blocksuite/affine-widget-edgeless-auto-connect'
| '@blocksuite/affine-widget-edgeless-selected-rect'
| '@blocksuite/affine-widget-edgeless-toolbar'
| '@blocksuite/affine-widget-edgeless-zoom-toolbar'
| '@blocksuite/affine-widget-frame-title'