diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/index.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-editor/index.tsx index ba2af5c26a..a8d4c188c8 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/index.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/index.tsx @@ -1,3 +1,4 @@ export * from './blocksuite-editor'; import './ai/setup-provider'; +import './specs/preview'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/preview.ts b/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/preview.ts new file mode 100644 index 0000000000..bec752a78f --- /dev/null +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/preview.ts @@ -0,0 +1,13 @@ +import type { BlockSpec } from '@blocksuite/block-std'; +import { SpecProvider } from '@blocksuite/blocks'; +import { AIChatBlockSpec, EdgelessAIChatBlockSpec } from '@blocksuite/presets'; + +const CustomSpecs: BlockSpec[] = [AIChatBlockSpec, EdgelessAIChatBlockSpec]; + +function patchPreviewSpec(id: string, specs: BlockSpec[]) { + const specProvider = SpecProvider.getInstance(); + specProvider.extendSpec(id, specs); +} + +// Patch edgeless preview spec for blocksuite surface-ref and embed-synced-doc +patchPreviewSpec('edgeless:preview', CustomSpecs);