feat(editor): add embed doc block extension (#12090)

Closes: BS-3393

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

## Summary by CodeRabbit

- **New Features**
  - Introduced a new "Embed Doc" block, enabling embedding and rendering of linked and synced documents within cards, including support for banners and note previews.
  - Added new toolbar and quick search options for inserting embedded linked and synced documents.

- **Improvements**
  - Updated dependencies and internal references to support the new embed doc functionality across related blocks and components.
  - Enhanced support for edgeless environments with new clipboard and configuration options for embedded docs.

- **Refactor**
  - Streamlined and reorganized embed-related code, moving linked and synced doc logic into a dedicated embed doc module.
  - Removed obsolete adapter and utility files to simplify maintenance.

- **Chores**
  - Updated project and TypeScript configuration files to include the new embed doc module in builds and references.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Saul-Mirone
2025-04-30 09:16:17 +00:00
parent 4660b41d20
commit 04531508cb
77 changed files with 496 additions and 586 deletions

View File

@@ -14,6 +14,7 @@ export const PackageList = [
'blocksuite/affine/blocks/divider',
'blocksuite/affine/blocks/edgeless-text',
'blocksuite/affine/blocks/embed',
'blocksuite/affine/blocks/embed-doc',
'blocksuite/affine/blocks/frame',
'blocksuite/affine/blocks/image',
'blocksuite/affine/blocks/latex',
@@ -91,6 +92,7 @@ export const PackageList = [
name: '@blocksuite/affine-block-bookmark',
workspaceDependencies: [
'blocksuite/affine/blocks/embed',
'blocksuite/affine/blocks/embed-doc',
'blocksuite/affine/blocks/surface',
'blocksuite/affine/components',
'blocksuite/affine/ext-loader',
@@ -220,6 +222,24 @@ export const PackageList = [
'blocksuite/framework/store',
],
},
{
location: 'blocksuite/affine/blocks/embed-doc',
name: '@blocksuite/affine-block-embed-doc',
workspaceDependencies: [
'blocksuite/affine/blocks/embed',
'blocksuite/affine/blocks/surface',
'blocksuite/affine/components',
'blocksuite/affine/ext-loader',
'blocksuite/affine/inlines/reference',
'blocksuite/affine/model',
'blocksuite/affine/rich-text',
'blocksuite/affine/shared',
'blocksuite/affine/widgets/slash-menu',
'blocksuite/framework/global',
'blocksuite/framework/std',
'blocksuite/framework/store',
],
},
{
location: 'blocksuite/affine/blocks/frame',
name: '@blocksuite/affine-block-frame',
@@ -331,6 +351,7 @@ export const PackageList = [
'blocksuite/affine/blocks/database',
'blocksuite/affine/blocks/edgeless-text',
'blocksuite/affine/blocks/embed',
'blocksuite/affine/blocks/embed-doc',
'blocksuite/affine/blocks/frame',
'blocksuite/affine/blocks/image',
'blocksuite/affine/blocks/note',
@@ -1377,6 +1398,7 @@ export type PackageName =
| '@blocksuite/affine-block-divider'
| '@blocksuite/affine-block-edgeless-text'
| '@blocksuite/affine-block-embed'
| '@blocksuite/affine-block-embed-doc'
| '@blocksuite/affine-block-frame'
| '@blocksuite/affine-block-image'
| '@blocksuite/affine-block-latex'