feat(editor): surface block extension (#11961)

Closes: BS-3204
This commit is contained in:
Saul-Mirone
2025-04-24 09:47:35 +00:00
parent d6e7039b7b
commit b66d2d58a1
15 changed files with 78 additions and 32 deletions
@@ -1,5 +1,4 @@
import { effects as blockRootEffects } from '@blocksuite/affine-block-root/effects';
import { effects as blockSurfaceEffects } from '@blocksuite/affine-block-surface/effects';
import { BlockSelection } from '@blocksuite/affine-components/block-selection';
import { BlockZeroWidth } from '@blocksuite/affine-components/block-zero-width';
import { effects as componentCaptionEffects } from '@blocksuite/affine-components/caption';
@@ -46,7 +45,6 @@ export function effects() {
dataViewEffects();
richTextEffects();
blockSurfaceEffects();
blockRootEffects();
componentCaptionEffects();
@@ -4,7 +4,6 @@ import {
RootBlockMarkdownAdapterExtension,
RootBlockNotionHtmlAdapterExtension,
} from '@blocksuite/affine-block-root';
import { SurfaceBlockSchemaExtension } from '@blocksuite/affine-block-surface';
import {
type StoreExtensionContext,
StoreExtensionProvider,
@@ -69,7 +68,6 @@ function getNotionHtmlAdapterExtensions(): ExtensionType[] {
const MigratingStoreExtensions: ExtensionType[] = [
RootBlockSchemaExtension,
SurfaceBlockSchemaExtension,
TranscriptionBlockSchemaExtension,
BlockSelectionExtension,
@@ -5,13 +5,6 @@ import {
PreviewPageRootBlockSpec,
ReadOnlyClipboard,
} from '@blocksuite/affine-block-root';
import {
EdgelessSurfaceBlockAdapterExtensions,
EdgelessSurfaceBlockSpec,
PageSurfaceBlockSpec,
SurfaceBlockAdapterExtensions,
} from '@blocksuite/affine-block-surface';
import { inlinePresetExtensions } from '@blocksuite/affine-inline-preset';
import {
DefaultOpenDocExtension,
DocDisplayMetaService,
@@ -21,45 +14,30 @@ import {
import type { ExtensionType } from '@blocksuite/store';
const CommonBlockSpecs: ExtensionType[] = [
inlinePresetExtensions,
DocDisplayMetaService,
EditPropsStore,
DefaultOpenDocExtension,
FontLoaderService,
].flat();
const PageFirstPartyBlockSpecs: ExtensionType[] = [
CommonBlockSpecs,
PageSurfaceBlockSpec,
...SurfaceBlockAdapterExtensions,
].flat();
const EdgelessFirstPartyBlockSpecs: ExtensionType[] = [
CommonBlockSpecs,
EdgelessSurfaceBlockSpec,
...EdgelessSurfaceBlockAdapterExtensions,
].flat();
export const MigratingEdgelessEditorBlockSpecs: ExtensionType[] = [
EdgelessBuiltInSpecs,
EdgelessFirstPartyBlockSpecs,
CommonBlockSpecs,
].flat();
export const MigratingPageEditorBlockSpecs: ExtensionType[] = [
PageRootBlockSpec,
PageFirstPartyBlockSpecs,
CommonBlockSpecs,
].flat();
export const MigratingPreviewEdgelessEditorBlockSpecs: ExtensionType[] = [
PreviewEdgelessRootBlockSpec,
EdgelessFirstPartyBlockSpecs,
CommonBlockSpecs,
ReadOnlyClipboard,
].flat();
export const MigratingPreviewPageEditorBlockSpecs: ExtensionType[] = [
PreviewPageRootBlockSpec,
PageFirstPartyBlockSpecs,
CommonBlockSpecs,
ReadOnlyClipboard,
].flat();
@@ -13,6 +13,7 @@ import { LatexStoreExtension } from '@blocksuite/affine-block-latex/store';
import { ListStoreExtension } from '@blocksuite/affine-block-list/store';
import { NoteStoreExtension } from '@blocksuite/affine-block-note/store';
import { ParagraphStoreExtension } from '@blocksuite/affine-block-paragraph/store';
import { SurfaceStoreExtension } from '@blocksuite/affine-block-surface/store';
import { SurfaceRefStoreExtension } from '@blocksuite/affine-block-surface-ref/store';
import { TableStoreExtension } from '@blocksuite/affine-block-table/store';
import { BrushStoreExtension } from '@blocksuite/affine-gfx-brush/store';
@@ -48,6 +49,7 @@ export function getInternalStoreExtensions() {
ParagraphStoreExtension,
SurfaceRefStoreExtension,
TableStoreExtension,
SurfaceStoreExtension,
FootnoteStoreExtension,
LinkStoreExtension,
@@ -13,6 +13,7 @@ import { LatexViewExtension } from '@blocksuite/affine-block-latex/view';
import { ListViewExtension } from '@blocksuite/affine-block-list/view';
import { NoteViewExtension } from '@blocksuite/affine-block-note/view';
import { ParagraphViewExtension } from '@blocksuite/affine-block-paragraph/view';
import { SurfaceViewExtension } from '@blocksuite/affine-block-surface/view';
import { SurfaceRefViewExtension } from '@blocksuite/affine-block-surface-ref/view';
import { TableViewExtension } from '@blocksuite/affine-block-table/view';
import { BrushViewExtension } from '@blocksuite/affine-gfx-brush/view';
@@ -62,6 +63,7 @@ export function getInternalViewExtensions() {
ParagraphViewExtension,
SurfaceRefViewExtension,
TableViewExtension,
SurfaceViewExtension,
// Inline
FootnoteViewExtension,