diff --git a/blocksuite/affine/all/package.json b/blocksuite/affine/all/package.json index 4fe39d2831..7c8bfba982 100644 --- a/blocksuite/affine/all/package.json +++ b/blocksuite/affine/all/package.json @@ -106,8 +106,12 @@ "./blocks/database": "./src/blocks/database/index.ts", "./blocks/database/store": "./src/blocks/database/store.ts", "./blocks/database/view": "./src/blocks/database/view.ts", - "./blocks/divider": "./src/blocks/divider.ts", - "./blocks/edgeless-text": "./src/blocks/edgeless-text.ts", + "./blocks/divider": "./src/blocks/divider/index.ts", + "./blocks/divider/store": "./src/blocks/divider/store.ts", + "./blocks/divider/view": "./src/blocks/divider/view.ts", + "./blocks/edgeless-text": "./src/blocks/edgeless-text/index.ts", + "./blocks/edgeless-text/store": "./src/blocks/edgeless-text/store.ts", + "./blocks/edgeless-text/view": "./src/blocks/edgeless-text/view.ts", "./blocks/embed": "./src/blocks/embed.ts", "./blocks/frame": "./src/blocks/frame.ts", "./blocks/image": "./src/blocks/image.ts", diff --git a/blocksuite/affine/all/src/blocks/code.ts b/blocksuite/affine/all/src/blocks/code.ts deleted file mode 100644 index 46225052d1..0000000000 --- a/blocksuite/affine/all/src/blocks/code.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '@blocksuite/affine-block-code'; diff --git a/blocksuite/affine/all/src/blocks/data-view.ts b/blocksuite/affine/all/src/blocks/data-view.ts deleted file mode 100644 index 6fd7610199..0000000000 --- a/blocksuite/affine/all/src/blocks/data-view.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '@blocksuite/affine-block-data-view'; diff --git a/blocksuite/affine/all/src/blocks/database.ts b/blocksuite/affine/all/src/blocks/database.ts deleted file mode 100644 index ef755b90eb..0000000000 --- a/blocksuite/affine/all/src/blocks/database.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '@blocksuite/affine-block-database'; diff --git a/blocksuite/affine/all/src/blocks/divider.ts b/blocksuite/affine/all/src/blocks/divider/index.ts similarity index 100% rename from blocksuite/affine/all/src/blocks/divider.ts rename to blocksuite/affine/all/src/blocks/divider/index.ts diff --git a/blocksuite/affine/all/src/blocks/divider/store.ts b/blocksuite/affine/all/src/blocks/divider/store.ts new file mode 100644 index 0000000000..9298e60376 --- /dev/null +++ b/blocksuite/affine/all/src/blocks/divider/store.ts @@ -0,0 +1 @@ +export * from '@blocksuite/affine-block-divider/store'; diff --git a/blocksuite/affine/all/src/blocks/divider/view.ts b/blocksuite/affine/all/src/blocks/divider/view.ts new file mode 100644 index 0000000000..1e6ca822f7 --- /dev/null +++ b/blocksuite/affine/all/src/blocks/divider/view.ts @@ -0,0 +1 @@ +export * from '@blocksuite/affine-block-divider/view'; diff --git a/blocksuite/affine/all/src/blocks/edgeless-text.ts b/blocksuite/affine/all/src/blocks/edgeless-text/index.ts similarity index 100% rename from blocksuite/affine/all/src/blocks/edgeless-text.ts rename to blocksuite/affine/all/src/blocks/edgeless-text/index.ts diff --git a/blocksuite/affine/all/src/blocks/edgeless-text/store.ts b/blocksuite/affine/all/src/blocks/edgeless-text/store.ts new file mode 100644 index 0000000000..a0bd15dd0b --- /dev/null +++ b/blocksuite/affine/all/src/blocks/edgeless-text/store.ts @@ -0,0 +1 @@ +export * from '@blocksuite/affine-block-edgeless-text/store'; diff --git a/blocksuite/affine/all/src/blocks/edgeless-text/view.ts b/blocksuite/affine/all/src/blocks/edgeless-text/view.ts new file mode 100644 index 0000000000..3c744528f2 --- /dev/null +++ b/blocksuite/affine/all/src/blocks/edgeless-text/view.ts @@ -0,0 +1 @@ +export * from '@blocksuite/affine-block-edgeless-text/view'; diff --git a/blocksuite/affine/blocks/divider/package.json b/blocksuite/affine/blocks/divider/package.json index 125dd2c677..01ab9c9161 100644 --- a/blocksuite/affine/blocks/divider/package.json +++ b/blocksuite/affine/blocks/divider/package.json @@ -11,6 +11,7 @@ "license": "MIT", "dependencies": { "@blocksuite/affine-components": "workspace:*", + "@blocksuite/affine-ext-loader": "workspace:*", "@blocksuite/affine-model": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/global": "workspace:*", @@ -28,7 +29,9 @@ }, "exports": { ".": "./src/index.ts", - "./effects": "./src/effects.ts" + "./effects": "./src/effects.ts", + "./view": "./src/view.ts", + "./store": "./src/store.ts" }, "files": [ "src", diff --git a/blocksuite/affine/blocks/divider/src/store.ts b/blocksuite/affine/blocks/divider/src/store.ts new file mode 100644 index 0000000000..7994aaf981 --- /dev/null +++ b/blocksuite/affine/blocks/divider/src/store.ts @@ -0,0 +1,17 @@ +import { + type StoreExtensionContext, + StoreExtensionProvider, +} from '@blocksuite/affine-ext-loader'; +import { DividerBlockSchemaExtension } from '@blocksuite/affine-model'; + +import { DividerBlockAdapterExtensions } from './adapters/extension'; + +export class DividerStoreExtension extends StoreExtensionProvider { + override name = 'affine-divider-block'; + + override setup(context: StoreExtensionContext) { + super.setup(context); + context.register(DividerBlockSchemaExtension); + context.register(DividerBlockAdapterExtensions); + } +} diff --git a/blocksuite/affine/blocks/divider/src/view.ts b/blocksuite/affine/blocks/divider/src/view.ts new file mode 100644 index 0000000000..917e8ead59 --- /dev/null +++ b/blocksuite/affine/blocks/divider/src/view.ts @@ -0,0 +1,24 @@ +import { + type ViewExtensionContext, + ViewExtensionProvider, +} from '@blocksuite/affine-ext-loader'; +import { BlockViewExtension } from '@blocksuite/std'; +import { literal } from 'lit/static-html.js'; + +import { effects } from './effects'; + +export class DividerViewExtension extends ViewExtensionProvider { + override name = 'affine-divider-block'; + + override effect() { + super.effect(); + effects(); + } + + override setup(context: ViewExtensionContext) { + super.setup(context); + context.register([ + BlockViewExtension('affine:divider', literal`affine-divider`), + ]); + } +} diff --git a/blocksuite/affine/blocks/divider/tsconfig.json b/blocksuite/affine/blocks/divider/tsconfig.json index 76a74f3404..d60ba97d5e 100644 --- a/blocksuite/affine/blocks/divider/tsconfig.json +++ b/blocksuite/affine/blocks/divider/tsconfig.json @@ -8,6 +8,7 @@ "include": ["./src"], "references": [ { "path": "../../components" }, + { "path": "../../ext-loader" }, { "path": "../../model" }, { "path": "../../shared" }, { "path": "../../../framework/global" }, diff --git a/blocksuite/affine/blocks/edgeless-text/package.json b/blocksuite/affine/blocks/edgeless-text/package.json index c6d279c150..c6664ab2ea 100644 --- a/blocksuite/affine/blocks/edgeless-text/package.json +++ b/blocksuite/affine/blocks/edgeless-text/package.json @@ -12,6 +12,7 @@ "dependencies": { "@blocksuite/affine-block-surface": "workspace:*", "@blocksuite/affine-components": "workspace:*", + "@blocksuite/affine-ext-loader": "workspace:*", "@blocksuite/affine-gfx-text": "workspace:*", "@blocksuite/affine-inline-preset": "workspace:*", "@blocksuite/affine-model": "workspace:*", @@ -33,7 +34,9 @@ }, "exports": { ".": "./src/index.ts", - "./effects": "./src/effects.ts" + "./effects": "./src/effects.ts", + "./view": "./src/view.ts", + "./store": "./src/store.ts" }, "files": [ "src", diff --git a/blocksuite/affine/blocks/edgeless-text/src/store.ts b/blocksuite/affine/blocks/edgeless-text/src/store.ts new file mode 100644 index 0000000000..f15e432467 --- /dev/null +++ b/blocksuite/affine/blocks/edgeless-text/src/store.ts @@ -0,0 +1,14 @@ +import { + type StoreExtensionContext, + StoreExtensionProvider, +} from '@blocksuite/affine-ext-loader'; +import { EdgelessTextBlockSchemaExtension } from '@blocksuite/affine-model'; + +export class EdgelessTextStoreExtension extends StoreExtensionProvider { + override name = 'affine-edgeless-text-block'; + + override setup(context: StoreExtensionContext) { + super.setup(context); + context.register(EdgelessTextBlockSchemaExtension); + } +} diff --git a/blocksuite/affine/blocks/edgeless-text/src/view.ts b/blocksuite/affine/blocks/edgeless-text/src/view.ts new file mode 100644 index 0000000000..3aaf2daebf --- /dev/null +++ b/blocksuite/affine/blocks/edgeless-text/src/view.ts @@ -0,0 +1,24 @@ +import { + type ViewExtensionContext, + ViewExtensionProvider, +} from '@blocksuite/affine-ext-loader'; +import { BlockViewExtension } from '@blocksuite/std'; +import { literal } from 'lit/static-html.js'; + +import { effects } from './effects'; + +export class EdgelessTextViewExtension extends ViewExtensionProvider { + override name = 'affine-edgeless-text-block'; + + override effect() { + super.effect(); + effects(); + } + + override setup(context: ViewExtensionContext) { + super.setup(context); + context.register([ + BlockViewExtension('affine:edgeless-text', literal`affine-edgeless-text`), + ]); + } +} diff --git a/blocksuite/affine/blocks/edgeless-text/tsconfig.json b/blocksuite/affine/blocks/edgeless-text/tsconfig.json index 1d2bf62029..4ea1bf1b3f 100644 --- a/blocksuite/affine/blocks/edgeless-text/tsconfig.json +++ b/blocksuite/affine/blocks/edgeless-text/tsconfig.json @@ -9,6 +9,7 @@ "references": [ { "path": "../surface" }, { "path": "../../components" }, + { "path": "../../ext-loader" }, { "path": "../../gfx/text" }, { "path": "../../inlines/preset" }, { "path": "../../model" }, diff --git a/packages/frontend/core/src/blocksuite/manager/store.ts b/packages/frontend/core/src/blocksuite/manager/store.ts index 824f9b11a5..dcd2120f54 100644 --- a/packages/frontend/core/src/blocksuite/manager/store.ts +++ b/packages/frontend/core/src/blocksuite/manager/store.ts @@ -4,6 +4,8 @@ import { CalloutStoreExtension } from '@blocksuite/affine/blocks/callout/store'; import { CodeStoreExtension } from '@blocksuite/affine/blocks/code/store'; import { DataViewStoreExtension } from '@blocksuite/affine/blocks/data-view/store'; import { DatabaseStoreExtension } from '@blocksuite/affine/blocks/database/store'; +import { DividerStoreExtension } from '@blocksuite/affine/blocks/divider/store'; +import { EdgelessTextStoreExtension } from '@blocksuite/affine/blocks/edgeless-text/store'; import { StoreExtensionManager } from '@blocksuite/affine/ext-loader'; export function createStoreManager() { @@ -14,6 +16,8 @@ export function createStoreManager() { CodeStoreExtension, DataViewStoreExtension, DatabaseStoreExtension, + DividerStoreExtension, + EdgelessTextStoreExtension, ]); return manager; diff --git a/packages/frontend/core/src/blocksuite/manager/view.ts b/packages/frontend/core/src/blocksuite/manager/view.ts index f448767e6d..5660fc65d8 100644 --- a/packages/frontend/core/src/blocksuite/manager/view.ts +++ b/packages/frontend/core/src/blocksuite/manager/view.ts @@ -4,6 +4,8 @@ import { CalloutViewExtension } from '@blocksuite/affine/blocks/callout/view'; import { CodeBlockViewExtension } from '@blocksuite/affine/blocks/code/view'; import { DataViewViewExtension } from '@blocksuite/affine/blocks/data-view/view'; import { DatabaseViewExtension } from '@blocksuite/affine/blocks/database/view'; +import { DividerViewExtension } from '@blocksuite/affine/blocks/divider/view'; +import { EdgelessTextViewExtension } from '@blocksuite/affine/blocks/edgeless-text/view'; import { ViewExtensionManager } from '@blocksuite/affine/ext-loader'; export function createViewManager() { @@ -14,6 +16,8 @@ export function createViewManager() { CodeBlockViewExtension, DataViewViewExtension, DatabaseViewExtension, + DividerViewExtension, + EdgelessTextViewExtension, ]); return manager; diff --git a/tools/utils/src/workspace.gen.ts b/tools/utils/src/workspace.gen.ts index 1c57666e0a..0bb2e74c5a 100644 --- a/tools/utils/src/workspace.gen.ts +++ b/tools/utils/src/workspace.gen.ts @@ -171,6 +171,7 @@ export const PackageList = [ name: '@blocksuite/affine-block-divider', workspaceDependencies: [ 'blocksuite/affine/components', + 'blocksuite/affine/ext-loader', 'blocksuite/affine/model', 'blocksuite/affine/shared', 'blocksuite/framework/global', @@ -184,6 +185,7 @@ export const PackageList = [ workspaceDependencies: [ 'blocksuite/affine/blocks/surface', 'blocksuite/affine/components', + 'blocksuite/affine/ext-loader', 'blocksuite/affine/gfx/text', 'blocksuite/affine/inlines/preset', 'blocksuite/affine/model', diff --git a/yarn.lock b/yarn.lock index 13ffe3b9df..af9f55ae11 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2546,6 +2546,7 @@ __metadata: resolution: "@blocksuite/affine-block-divider@workspace:blocksuite/affine/blocks/divider" dependencies: "@blocksuite/affine-components": "workspace:*" + "@blocksuite/affine-ext-loader": "workspace:*" "@blocksuite/affine-model": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/global": "workspace:*" @@ -2569,6 +2570,7 @@ __metadata: dependencies: "@blocksuite/affine-block-surface": "workspace:*" "@blocksuite/affine-components": "workspace:*" + "@blocksuite/affine-ext-loader": "workspace:*" "@blocksuite/affine-gfx-text": "workspace:*" "@blocksuite/affine-inline-preset": "workspace:*" "@blocksuite/affine-model": "workspace:*"