refactor(editor): extract surface ref block (#9433)

This commit is contained in:
Saul-Mirone
2024-12-30 12:09:26 +00:00
parent d4053a345e
commit e526106f45
25 changed files with 196 additions and 58 deletions

View File

@@ -0,0 +1,48 @@
{
"name": "@blocksuite/affine-block-surface-ref",
"description": "Surface ref block for BlockSuite.",
"type": "module",
"scripts": {
"build": "tsc",
"test:unit": "nx vite:test --run --passWithNoTests",
"test:unit:coverage": "nx vite:test --run --coverage",
"test:e2e": "playwright test"
},
"sideEffects": false,
"keywords": [],
"author": "toeverything",
"license": "MIT",
"dependencies": {
"@blocksuite/affine-block-surface": "workspace:*",
"@blocksuite/affine-components": "workspace:*",
"@blocksuite/affine-model": "workspace:*",
"@blocksuite/affine-shared": "workspace:*",
"@blocksuite/block-std": "workspace:*",
"@blocksuite/global": "workspace:*",
"@blocksuite/inline": "workspace:*",
"@blocksuite/store": "workspace:*",
"@lit/context": "^1.1.2",
"@preact/signals-core": "^1.8.0",
"@toeverything/theme": "^1.1.3",
"fractional-indexing": "^3.2.0",
"lit": "^3.2.0",
"lodash.chunk": "^4.2.0",
"nanoid": "^5.0.7",
"zod": "^3.23.8"
},
"devDependencies": {
"@types/dompurify": "^3.0.5",
"@types/lodash.chunk": "^4.2.9"
},
"exports": {
".": "./src/index.ts",
"./effects": "./src/effects.ts"
},
"files": [
"src",
"dist",
"!src/__tests__",
"!dist/__tests__"
],
"version": "0.19.0"
}

View File

@@ -1,7 +1,20 @@
import type { insertSurfaceRefBlockCommand } from './commands.js'; import type { insertSurfaceRefBlockCommand } from './commands.js';
import { SurfaceRefGenericBlockPortal } from './portal/generic-block.js';
import { SurfaceRefNotePortal } from './portal/note.js';
import { SurfaceRefBlockComponent } from './surface-ref-block.js';
import { EdgelessSurfaceRefBlockComponent } from './surface-ref-block-edgeless.js';
export function effects() { export function effects() {
// TODO(@L-Sun): move other effects to this file customElements.define(
'surface-ref-generic-block-portal',
SurfaceRefGenericBlockPortal
);
customElements.define('affine-surface-ref', SurfaceRefBlockComponent);
customElements.define(
'affine-edgeless-surface-ref',
EdgelessSurfaceRefBlockComponent
);
customElements.define('surface-ref-note-portal', SurfaceRefNotePortal);
} }
declare global { declare global {

View File

@@ -1,7 +1,10 @@
import '@blocksuite/affine-shared/commands';
export * from './surface-ref-block.js'; export * from './surface-ref-block.js';
export * from './surface-ref-block-edgeless.js'; export * from './surface-ref-block-edgeless.js';
export { export {
EdgelessSurfaceRefBlockSpec, EdgelessSurfaceRefBlockSpec,
PageSurfaceRefBlockSpec, PageSurfaceRefBlockSpec,
} from './surface-ref-spec.js'; } from './surface-ref-spec.js';
export * from './types.js';
export * from './utils.js'; export * from './utils.js';

View File

@@ -1,4 +1,5 @@
import { import {
EdgelessCRUDExtension,
getSurfaceBlock, getSurfaceBlock,
type SurfaceBlockModel, type SurfaceBlockModel,
SurfaceElementModel, SurfaceElementModel,
@@ -20,7 +21,10 @@ import {
EditPropsStore, EditPropsStore,
ThemeProvider, ThemeProvider,
} from '@blocksuite/affine-shared/services'; } from '@blocksuite/affine-shared/services';
import { requestConnectedFrame } from '@blocksuite/affine-shared/utils'; import {
requestConnectedFrame,
SpecProvider,
} from '@blocksuite/affine-shared/utils';
import { import {
type BaseSelection, type BaseSelection,
BlockComponent, BlockComponent,
@@ -29,7 +33,10 @@ import {
type EditorHost, type EditorHost,
LifeCycleWatcher, LifeCycleWatcher,
} from '@blocksuite/block-std'; } from '@blocksuite/block-std';
import { GfxBlockElementModel } from '@blocksuite/block-std/gfx'; import {
GfxBlockElementModel,
GfxControllerIdentifier,
} from '@blocksuite/block-std/gfx';
import { BlockSuiteError, ErrorCode } from '@blocksuite/global/exceptions'; import { BlockSuiteError, ErrorCode } from '@blocksuite/global/exceptions';
import { import {
assertExists, assertExists,
@@ -43,9 +50,7 @@ import { css, html, nothing, type TemplateResult } from 'lit';
import { query, state } from 'lit/decorators.js'; import { query, state } from 'lit/decorators.js';
import { styleMap } from 'lit/directives/style-map.js'; import { styleMap } from 'lit/directives/style-map.js';
import { SpecProvider } from '../_specs/index.js'; import type { EdgelessPreviewer } from './types.js';
import type { EdgelessRootPreviewBlockComponent } from '../root-block/edgeless/edgeless-root-preview-block.js';
import { EdgelessRootService } from '../root-block/index.js';
import { noContentPlaceholder } from './utils.js'; import { noContentPlaceholder } from './utils.js';
const REF_LABEL_ICON = { const REF_LABEL_ICON = {
@@ -418,18 +423,20 @@ export class SurfaceRefBlockComponent extends BlockComponent<SurfaceRefBlockMode
private _initSpec() { private _initSpec() {
const refreshViewport = this._refreshViewport.bind(this); const refreshViewport = this._refreshViewport.bind(this);
class PageViewWatcher extends BlockServiceWatcher { class PageViewWatcher extends BlockServiceWatcher {
static override readonly flavour = 'affine:page'; static override readonly flavour = 'affine:page';
override mounted() { override mounted() {
this.blockService.disposables.add( this.blockService.disposables.add(
this.blockService.specSlots.viewConnected.once(({ component }) => { this.blockService.specSlots.viewConnected.once(({ component }) => {
const edgelessBlock = const edgelessBlock = component as BlockComponent &
component as EdgelessRootPreviewBlockComponent; EdgelessPreviewer;
edgelessBlock.editorViewportSelector = 'ref-viewport'; edgelessBlock.editorViewportSelector = 'ref-viewport';
refreshViewport(); refreshViewport();
edgelessBlock.service.viewport.sizeUpdated.once(() => { const gfx = edgelessBlock.std.get(GfxControllerIdentifier);
gfx.viewport.sizeUpdated.once(() => {
refreshViewport(); refreshViewport();
}); });
}) })
@@ -449,11 +456,12 @@ export class SurfaceRefBlockComponent extends BlockComponent<SurfaceRefBlockMode
private readonly _disposable = new DisposableGroup(); private readonly _disposable = new DisposableGroup();
override mounted() { override mounted() {
const edgelessService = this.std.get(EdgelessRootService); const crud = this.std.get(EdgelessCRUDExtension);
const { _disposable } = this; const { _disposable } = this;
const surfaceModel = getSurfaceBlock(this.std.doc);
if (!surfaceModel) return;
const referenceElement = const referenceElement = crud.getElementById(referenceId);
edgelessService.crud.getElementById(referenceId);
if (!referenceElement) { if (!referenceElement) {
throw new BlockSuiteError( throw new BlockSuiteError(
ErrorCode.MissingViewModelError, ErrorCode.MissingViewModelError,
@@ -470,7 +478,7 @@ export class SurfaceRefBlockComponent extends BlockComponent<SurfaceRefBlockMode
); );
} else if (referenceElement instanceof GroupElementModel) { } else if (referenceElement instanceof GroupElementModel) {
_disposable.add( _disposable.add(
edgelessService.surface.elementUpdated.on(({ id, oldValues }) => { surfaceModel.elementUpdated.on(({ id, oldValues }) => {
if ( if (
id === referenceId && id === referenceId &&
oldValues.xywh !== referenceElement.xywh oldValues.xywh !== referenceElement.xywh
@@ -500,13 +508,10 @@ export class SurfaceRefBlockComponent extends BlockComponent<SurfaceRefBlockMode
if (!previewEditorHost) return; if (!previewEditorHost) return;
const edgelessService = previewEditorHost.std.getService( const gfx = previewEditorHost.std.get(GfxControllerIdentifier);
'affine:page' const viewport = gfx.viewport;
) as EdgelessRootService;
edgelessService.viewport.setViewportByBound( viewport.setViewportByBound(Bound.deserialize(this._referenceXYWH));
Bound.deserialize(this._referenceXYWH)
);
} }
private _renderMask( private _renderMask(

View File

@@ -0,0 +1,3 @@
export interface EdgelessPreviewer {
editorViewportSelector: string;
}

View File

@@ -0,0 +1,32 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"rootDir": "./src/",
"outDir": "./dist/",
"noEmit": false
},
"include": ["./src"],
"references": [
{
"path": "../../framework/global"
},
{
"path": "../../framework/store"
},
{
"path": "../../framework/block-std"
},
{
"path": "../../framework/inline"
},
{
"path": "../model"
},
{
"path": "../components"
},
{
"path": "../shared"
}
]
}

View File

@@ -27,6 +27,7 @@
"@blocksuite/affine-block-note": "workspace:*", "@blocksuite/affine-block-note": "workspace:*",
"@blocksuite/affine-block-paragraph": "workspace:*", "@blocksuite/affine-block-paragraph": "workspace:*",
"@blocksuite/affine-block-surface": "workspace:*", "@blocksuite/affine-block-surface": "workspace:*",
"@blocksuite/affine-block-surface-ref": "workspace:*",
"@blocksuite/affine-components": "workspace:*", "@blocksuite/affine-components": "workspace:*",
"@blocksuite/affine-model": "workspace:*", "@blocksuite/affine-model": "workspace:*",
"@blocksuite/affine-shared": "workspace:*", "@blocksuite/affine-shared": "workspace:*",

View File

@@ -17,6 +17,10 @@ import {
EdgelessSurfaceBlockSpec, EdgelessSurfaceBlockSpec,
PageSurfaceBlockSpec, PageSurfaceBlockSpec,
} from '@blocksuite/affine-block-surface'; } from '@blocksuite/affine-block-surface';
import {
EdgelessSurfaceRefBlockSpec,
PageSurfaceRefBlockSpec,
} from '@blocksuite/affine-block-surface-ref';
import { import {
RefNodeSlotsExtension, RefNodeSlotsExtension,
RichTextExtensions, RichTextExtensions,
@@ -31,10 +35,6 @@ import type { ExtensionType } from '@blocksuite/block-std';
import { AdapterFactoryExtensions } from '../_common/adapters/extension.js'; import { AdapterFactoryExtensions } from '../_common/adapters/extension.js';
import { DataViewBlockSpec } from '../data-view-block/data-view-spec.js'; import { DataViewBlockSpec } from '../data-view-block/data-view-spec.js';
import { DatabaseBlockSpec } from '../database-block/database-spec.js'; import { DatabaseBlockSpec } from '../database-block/database-spec.js';
import {
EdgelessSurfaceRefBlockSpec,
PageSurfaceRefBlockSpec,
} from '../surface-ref-block/surface-ref-spec.js';
export const CommonBlockSpecs: ExtensionType[] = [ export const CommonBlockSpecs: ExtensionType[] = [
DocDisplayMetaService, DocDisplayMetaService,

View File

@@ -1,4 +1,3 @@
import type { NoteBlockComponent } from '@blocksuite/affine-block-note';
import { CaptionedBlockComponent } from '@blocksuite/affine-components/caption'; import { CaptionedBlockComponent } from '@blocksuite/affine-components/caption';
import { import {
menu, menu,
@@ -17,7 +16,10 @@ import {
TelemetryProvider, TelemetryProvider,
} from '@blocksuite/affine-shared/services'; } from '@blocksuite/affine-shared/services';
import { getDropResult } from '@blocksuite/affine-widget-drag-handle'; import { getDropResult } from '@blocksuite/affine-widget-drag-handle';
import { RANGE_SYNC_EXCLUDE_ATTR } from '@blocksuite/block-std'; import {
type BlockComponent,
RANGE_SYNC_EXCLUDE_ATTR,
} from '@blocksuite/block-std';
import { import {
createRecordDetail, createRecordDetail,
createUniComponentFromWebComponent, createUniComponentFromWebComponent,
@@ -46,7 +48,6 @@ import { autoUpdate } from '@floating-ui/dom';
import { computed, signal } from '@preact/signals-core'; import { computed, signal } from '@preact/signals-core';
import { css, html, nothing, unsafeCSS } from 'lit'; import { css, html, nothing, unsafeCSS } from 'lit';
import { EdgelessRootBlockComponent } from '../root-block/index.js';
import { popSideDetail } from './components/layout.js'; import { popSideDetail } from './components/layout.js';
import type { DatabaseOptionsConfig } from './config.js'; import type { DatabaseOptionsConfig } from './config.js';
import { HostContextKey } from './context/host-context.js'; import { HostContextKey } from './context/host-context.js';
@@ -351,9 +352,8 @@ export class DatabaseBlockComponent extends CaptionedBlockComponent<
} }
override get topContenteditableElement() { override get topContenteditableElement() {
if (this.rootComponent instanceof EdgelessRootBlockComponent) { if (this.std.get(DocModeProvider).getEditorMode() === 'edgeless') {
const note = this.closest<NoteBlockComponent>(NOTE_SELECTOR); return this.closest<BlockComponent>(NOTE_SELECTOR);
return note;
} }
return this.rootComponent; return this.rootComponent;
} }

View File

@@ -11,6 +11,7 @@ import { effects as blockListEffects } from '@blocksuite/affine-block-list/effec
import { effects as blockNoteEffects } from '@blocksuite/affine-block-note/effects'; import { effects as blockNoteEffects } from '@blocksuite/affine-block-note/effects';
import { effects as blockParagraphEffects } from '@blocksuite/affine-block-paragraph/effects'; import { effects as blockParagraphEffects } from '@blocksuite/affine-block-paragraph/effects';
import { effects as blockSurfaceEffects } from '@blocksuite/affine-block-surface/effects'; import { effects as blockSurfaceEffects } from '@blocksuite/affine-block-surface/effects';
import { effects as blockSurfaceRefEffects } from '@blocksuite/affine-block-surface-ref/effects';
import { effects as componentAiItemEffects } from '@blocksuite/affine-components/ai-item'; import { effects as componentAiItemEffects } from '@blocksuite/affine-components/ai-item';
import { BlockSelection } from '@blocksuite/affine-components/block-selection'; import { BlockSelection } from '@blocksuite/affine-components/block-selection';
import { BlockZeroWidth } from '@blocksuite/affine-components/block-zero-width'; import { BlockZeroWidth } from '@blocksuite/affine-components/block-zero-width';
@@ -209,13 +210,6 @@ import {
MindmapSurfaceBlock, MindmapSurfaceBlock,
MiniMindmapPreview, MiniMindmapPreview,
} from './surface-block/mini-mindmap/index.js'; } from './surface-block/mini-mindmap/index.js';
import { effects as blockSurfaceRefEffects } from './surface-ref-block/effects.js';
import {
EdgelessSurfaceRefBlockComponent,
SurfaceRefBlockComponent,
} from './surface-ref-block/index.js';
import { SurfaceRefGenericBlockPortal } from './surface-ref-block/portal/generic-block.js';
import { SurfaceRefNotePortal } from './surface-ref-block/portal/note.js';
export function effects() { export function effects() {
registerSpecs(); registerSpecs();
@@ -286,10 +280,6 @@ export function effects() {
'edgeless-copilot-toolbar-entry', 'edgeless-copilot-toolbar-entry',
EdgelessCopilotToolbarEntry EdgelessCopilotToolbarEntry
); );
customElements.define(
'affine-edgeless-surface-ref',
EdgelessSurfaceRefBlockComponent
);
customElements.define( customElements.define(
'edgeless-color-custom-button', 'edgeless-color-custom-button',
EdgelessColorCustomButton EdgelessColorCustomButton
@@ -302,7 +292,6 @@ export function effects() {
); );
customElements.define('affine-custom-modal', AffineCustomModal); customElements.define('affine-custom-modal', AffineCustomModal);
customElements.define('affine-database', DatabaseBlockComponent); customElements.define('affine-database', DatabaseBlockComponent);
customElements.define('affine-surface-ref', SurfaceRefBlockComponent);
customElements.define('affine-slash-menu', SlashMenu); customElements.define('affine-slash-menu', SlashMenu);
customElements.define('inner-slash-menu', InnerSlashMenu); customElements.define('inner-slash-menu', InnerSlashMenu);
customElements.define('generating-placeholder', GeneratingPlaceholder); customElements.define('generating-placeholder', GeneratingPlaceholder);
@@ -321,10 +310,6 @@ export function effects() {
customElements.define('icon-button', IconButton); customElements.define('icon-button', IconButton);
customElements.define('loader-element', Loader); customElements.define('loader-element', Loader);
customElements.define('edgeless-brush-menu', EdgelessBrushMenu); customElements.define('edgeless-brush-menu', EdgelessBrushMenu);
customElements.define(
'surface-ref-generic-block-portal',
SurfaceRefGenericBlockPortal
);
customElements.define('edgeless-brush-tool-button', EdgelessBrushToolButton); customElements.define('edgeless-brush-tool-button', EdgelessBrushToolButton);
customElements.define( customElements.define(
'edgeless-connector-tool-button', 'edgeless-connector-tool-button',
@@ -334,7 +319,6 @@ export function effects() {
'edgeless-default-tool-button', 'edgeless-default-tool-button',
EdgelessDefaultToolButton EdgelessDefaultToolButton
); );
customElements.define('surface-ref-note-portal', SurfaceRefNotePortal);
customElements.define('edgeless-connector-menu', EdgelessConnectorMenu); customElements.define('edgeless-connector-menu', EdgelessConnectorMenu);
customElements.define('smooth-corner', SmoothCorner); customElements.define('smooth-corner', SmoothCorner);
customElements.define('toggle-switch', ToggleSwitch); customElements.define('toggle-switch', ToggleSwitch);

View File

@@ -39,7 +39,6 @@ export {
MindmapSurfaceBlock, MindmapSurfaceBlock,
MiniMindmapPreview, MiniMindmapPreview,
} from './surface-block/mini-mindmap/index.js'; } from './surface-block/mini-mindmap/index.js';
export * from './surface-ref-block/index.js';
export * from '@blocksuite/affine-block-attachment'; export * from '@blocksuite/affine-block-attachment';
export * from '@blocksuite/affine-block-bookmark'; export * from '@blocksuite/affine-block-bookmark';
export * from '@blocksuite/affine-block-code'; export * from '@blocksuite/affine-block-code';
@@ -53,6 +52,7 @@ export * from '@blocksuite/affine-block-list';
export * from '@blocksuite/affine-block-note'; export * from '@blocksuite/affine-block-note';
export * from '@blocksuite/affine-block-paragraph'; export * from '@blocksuite/affine-block-paragraph';
export * from '@blocksuite/affine-block-surface'; export * from '@blocksuite/affine-block-surface';
export * from '@blocksuite/affine-block-surface-ref';
export { export {
type AIError, type AIError,
type AIItemConfig, type AIItemConfig,

View File

@@ -2,6 +2,7 @@ import type {
SurfaceBlockComponent, SurfaceBlockComponent,
SurfaceBlockModel, SurfaceBlockModel,
} from '@blocksuite/affine-block-surface'; } from '@blocksuite/affine-block-surface';
import type { EdgelessPreviewer } from '@blocksuite/affine-block-surface-ref';
import type { RootBlockModel } from '@blocksuite/affine-model'; import type { RootBlockModel } from '@blocksuite/affine-model';
import { import {
FontLoaderService, FontLoaderService,
@@ -22,11 +23,14 @@ import type { EdgelessRootBlockWidgetName } from '../types.js';
import type { EdgelessRootService } from './edgeless-root-service.js'; import type { EdgelessRootService } from './edgeless-root-service.js';
import { getBackgroundGrid, isCanvasElement } from './utils/query.js'; import { getBackgroundGrid, isCanvasElement } from './utils/query.js';
export class EdgelessRootPreviewBlockComponent extends BlockComponent< export class EdgelessRootPreviewBlockComponent
extends BlockComponent<
RootBlockModel, RootBlockModel,
EdgelessRootService, EdgelessRootService,
EdgelessRootBlockWidgetName EdgelessRootBlockWidgetName
> { >
implements EdgelessPreviewer
{
static override styles = css` static override styles = css`
affine-edgeless-root-preview { affine-edgeless-root-preview {
pointer-events: none; pointer-events: none;

View File

@@ -1,7 +1,6 @@
import type { SurfaceRefBlockComponent } from '@blocksuite/affine-block-surface-ref';
import { MenuContext } from '@blocksuite/affine-components/toolbar'; import { MenuContext } from '@blocksuite/affine-components/toolbar';
import type { SurfaceRefBlockComponent } from '../../../surface-ref-block/surface-ref-block.js';
export class SurfaceRefToolbarContext extends MenuContext { export class SurfaceRefToolbarContext extends MenuContext {
override close = () => { override close = () => {
this.abortController.abort(); this.abortController.abort();

View File

@@ -1,3 +1,4 @@
import type { SurfaceRefBlockComponent } from '@blocksuite/affine-block-surface-ref';
import { HoverController } from '@blocksuite/affine-components/hover'; import { HoverController } from '@blocksuite/affine-components/hover';
import { import {
CaptionIcon, CaptionIcon,
@@ -25,7 +26,6 @@ import { ifDefined } from 'lit/directives/if-defined.js';
import { join } from 'lit/directives/join.js'; import { join } from 'lit/directives/join.js';
import { repeat } from 'lit/directives/repeat.js'; import { repeat } from 'lit/directives/repeat.js';
import type { SurfaceRefBlockComponent } from '../../../surface-ref-block/index.js';
import { BUILT_IN_GROUPS } from './config.js'; import { BUILT_IN_GROUPS } from './config.js';
import { SurfaceRefToolbarContext } from './context.js'; import { SurfaceRefToolbarContext } from './context.js';

View File

@@ -1,10 +1,10 @@
import type { CanvasRenderer } from '@blocksuite/affine-block-surface'; import type { CanvasRenderer } from '@blocksuite/affine-block-surface';
import type { SurfaceRefBlockComponent } from '@blocksuite/affine-block-surface-ref';
import { isTopLevelBlock } from '@blocksuite/affine-shared/utils'; import { isTopLevelBlock } from '@blocksuite/affine-shared/utils';
import type { EditorHost } from '@blocksuite/block-std'; import type { EditorHost } from '@blocksuite/block-std';
import { assertExists, Bound } from '@blocksuite/global/utils'; import { assertExists, Bound } from '@blocksuite/global/utils';
import { ExportManager } from '../../../_common/export-manager/export-manager.js'; import { ExportManager } from '../../../_common/export-manager/export-manager.js';
import type { SurfaceRefBlockComponent } from '../../../surface-ref-block/surface-ref-block.js';
export const edgelessToBlob = async ( export const edgelessToBlob = async (
host: EditorHost, host: EditorHost,

View File

@@ -65,10 +65,13 @@
"path": "../affine/block-divider" "path": "../affine/block-divider"
}, },
{ {
"path": "../affine/data-view" "path": "../affine/block-surface"
}, },
{ {
"path": "../affine/block-surface" "path": "../affine/block-surface-ref"
},
{
"path": "../affine/data-view"
}, },
{ {
"path": "../affine/widget-scroll-anchoring" "path": "../affine/widget-scroll-anchoring"

View File

@@ -190,6 +190,20 @@ export const PackageList = [
'blocksuite/framework/store', 'blocksuite/framework/store',
], ],
}, },
{
location: 'blocksuite/affine/block-surface-ref',
name: '@blocksuite/affine-block-surface-ref',
workspaceDependencies: [
'blocksuite/affine/block-surface',
'blocksuite/affine/components',
'blocksuite/affine/model',
'blocksuite/affine/shared',
'blocksuite/framework/block-std',
'blocksuite/framework/global',
'blocksuite/framework/inline',
'blocksuite/framework/store',
],
},
{ {
location: 'blocksuite/affine/components', location: 'blocksuite/affine/components',
name: '@blocksuite/affine-components', name: '@blocksuite/affine-components',
@@ -288,6 +302,7 @@ export const PackageList = [
'blocksuite/affine/block-note', 'blocksuite/affine/block-note',
'blocksuite/affine/block-paragraph', 'blocksuite/affine/block-paragraph',
'blocksuite/affine/block-surface', 'blocksuite/affine/block-surface',
'blocksuite/affine/block-surface-ref',
'blocksuite/affine/components', 'blocksuite/affine/components',
'blocksuite/affine/model', 'blocksuite/affine/model',
'blocksuite/affine/shared', 'blocksuite/affine/shared',
@@ -638,6 +653,7 @@ export type PackageName =
| '@blocksuite/affine-block-note' | '@blocksuite/affine-block-note'
| '@blocksuite/affine-block-paragraph' | '@blocksuite/affine-block-paragraph'
| '@blocksuite/affine-block-surface' | '@blocksuite/affine-block-surface'
| '@blocksuite/affine-block-surface-ref'
| '@blocksuite/affine-components' | '@blocksuite/affine-components'
| '@blocksuite/data-view' | '@blocksuite/data-view'
| '@blocksuite/affine-model' | '@blocksuite/affine-model'

View File

@@ -20,6 +20,7 @@
{ "path": "./blocksuite/affine/block-note" }, { "path": "./blocksuite/affine/block-note" },
{ "path": "./blocksuite/affine/block-paragraph" }, { "path": "./blocksuite/affine/block-paragraph" },
{ "path": "./blocksuite/affine/block-surface" }, { "path": "./blocksuite/affine/block-surface" },
{ "path": "./blocksuite/affine/block-surface-ref" },
{ "path": "./blocksuite/affine/components" }, { "path": "./blocksuite/affine/components" },
{ "path": "./blocksuite/affine/data-view" }, { "path": "./blocksuite/affine/data-view" },
{ "path": "./blocksuite/affine/model" }, { "path": "./blocksuite/affine/model" },

View File

@@ -3538,6 +3538,31 @@ __metadata:
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"@blocksuite/affine-block-surface-ref@workspace:*, @blocksuite/affine-block-surface-ref@workspace:blocksuite/affine/block-surface-ref":
version: 0.0.0-use.local
resolution: "@blocksuite/affine-block-surface-ref@workspace:blocksuite/affine/block-surface-ref"
dependencies:
"@blocksuite/affine-block-surface": "workspace:*"
"@blocksuite/affine-components": "workspace:*"
"@blocksuite/affine-model": "workspace:*"
"@blocksuite/affine-shared": "workspace:*"
"@blocksuite/block-std": "workspace:*"
"@blocksuite/global": "workspace:*"
"@blocksuite/inline": "workspace:*"
"@blocksuite/store": "workspace:*"
"@lit/context": "npm:^1.1.2"
"@preact/signals-core": "npm:^1.8.0"
"@toeverything/theme": "npm:^1.1.3"
"@types/dompurify": "npm:^3.0.5"
"@types/lodash.chunk": "npm:^4.2.9"
fractional-indexing: "npm:^3.2.0"
lit: "npm:^3.2.0"
lodash.chunk: "npm:^4.2.0"
nanoid: "npm:^5.0.7"
zod: "npm:^3.23.8"
languageName: unknown
linkType: soft
"@blocksuite/affine-block-surface@workspace:*, @blocksuite/affine-block-surface@workspace:blocksuite/affine/block-surface": "@blocksuite/affine-block-surface@workspace:*, @blocksuite/affine-block-surface@workspace:blocksuite/affine/block-surface":
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "@blocksuite/affine-block-surface@workspace:blocksuite/affine/block-surface" resolution: "@blocksuite/affine-block-surface@workspace:blocksuite/affine/block-surface"
@@ -3738,6 +3763,7 @@ __metadata:
"@blocksuite/affine-block-note": "workspace:*" "@blocksuite/affine-block-note": "workspace:*"
"@blocksuite/affine-block-paragraph": "workspace:*" "@blocksuite/affine-block-paragraph": "workspace:*"
"@blocksuite/affine-block-surface": "workspace:*" "@blocksuite/affine-block-surface": "workspace:*"
"@blocksuite/affine-block-surface-ref": "workspace:*"
"@blocksuite/affine-components": "workspace:*" "@blocksuite/affine-components": "workspace:*"
"@blocksuite/affine-model": "workspace:*" "@blocksuite/affine-model": "workspace:*"
"@blocksuite/affine-shared": "workspace:*" "@blocksuite/affine-shared": "workspace:*"