From fe5f0f62eca1b05d4537fcd41d1242d1fcd35cee Mon Sep 17 00:00:00 2001 From: Saul-Mirone Date: Fri, 7 Mar 2025 04:08:47 +0000 Subject: [PATCH] feat(editor): rich text package (#10689) This PR performs a significant architectural refactoring by extracting rich text functionality into a dedicated package. Here are the key changes: 1. **New Package Creation** - Created a new package `@blocksuite/affine-rich-text` to house rich text related functionality - Moved rich text components, utilities, and types from `@blocksuite/affine-components` to this new package 2. **Dependency Updates** - Updated multiple block packages to include the new `@blocksuite/affine-rich-text` as a direct dependency: - block-callout - block-code - block-database - block-edgeless-text - block-embed - block-list - block-note - block-paragraph 3. **Import Path Updates** - Refactored all imports that previously referenced rich text functionality from `@blocksuite/affine-components/rich-text` to now use `@blocksuite/affine-rich-text` - Updated imports for components like: - DefaultInlineManagerExtension - RichText types and interfaces - Text manipulation utilities (focusTextModel, textKeymap, etc.) - Reference node components and providers 4. **Build Configuration Updates** - Added references to the new rich text package in the `tsconfig.json` files of all affected packages - Maintained workspace dependencies using the `workspace:*` version specifier The primary motivation appears to be: 1. Better separation of concerns by isolating rich text functionality 2. Improved maintainability through more modular package structure 3. Clearer dependencies between packages 4. Potential for better tree-shaking and bundle optimization This is primarily an architectural improvement that should make the codebase more maintainable and better organized. --- blocksuite/affine/block-callout/package.json | 1 + .../affine/block-callout/src/callout-block.ts | 2 +- blocksuite/affine/block-callout/tsconfig.json | 1 + blocksuite/affine/block-code/package.json | 1 + .../affine/block-code/src/clipboard/index.ts | 2 +- .../block-code/src/code-block-inline.ts | 2 +- .../block-code/src/code-block-service.ts | 2 +- .../affine/block-code/src/code-block.ts | 5 +- .../src/highlight/affine-code-unit.ts | 2 +- blocksuite/affine/block-code/tsconfig.json | 1 + blocksuite/affine/block-database/package.json | 1 + .../src/detail-panel/block-renderer.ts | 2 +- .../src/properties/link/cell-renderer.ts | 2 +- .../src/properties/rich-text/cell-renderer.ts | 4 +- .../src/properties/title/text.ts | 4 +- .../affine/block-database/tsconfig.json | 1 + .../affine/block-edgeless-text/package.json | 1 + .../src/commands/insert-edgeless-text.ts | 2 +- .../src/edgeless-text-block.ts | 2 +- .../affine/block-edgeless-text/tsconfig.json | 1 + blocksuite/affine/block-embed/package.json | 1 + .../embed-linked-doc-block.ts | 2 +- .../embed-synced-doc-block.ts | 8 +- blocksuite/affine/block-embed/tsconfig.json | 1 + blocksuite/affine/block-list/package.json | 1 + .../src/commands/list-to-paragraph.ts | 2 +- .../block-list/src/commands/split-list.ts | 2 +- .../affine/block-list/src/list-block.ts | 6 +- .../affine/block-list/src/list-keymap.ts | 5 +- blocksuite/affine/block-list/tsconfig.json | 1 + blocksuite/affine/block-note/package.json | 2 + .../block-note/src/commands/block-type.ts | 10 +-- .../block-note/src/note-edgeless-block.ts | 2 +- .../affine/block-note/src/note-service.ts | 2 +- blocksuite/affine/block-note/tsconfig.json | 2 + .../affine/block-paragraph/package.json | 1 + .../src/commands/add-paragraph.ts | 2 +- .../src/commands/append-paragraph.ts | 2 +- .../src/commands/split-paragraph.ts | 4 +- .../block-paragraph/src/paragraph-block.ts | 6 +- .../block-paragraph/src/paragraph-keymap.ts | 12 +-- .../src/utils/merge-with-prev.ts | 8 +- .../affine/block-paragraph/tsconfig.json | 1 + blocksuite/affine/block-root/package.json | 2 + .../src/clipboard/page-clipboard.ts | 2 +- .../affine/block-root/src/configs/toolbar.ts | 4 +- .../text/edgeless-connector-label-editor.ts | 2 +- .../text/edgeless-frame-title-editor.ts | 2 +- .../text/edgeless-group-title-editor.ts | 2 +- .../text/edgeless-shape-text-editor.ts | 2 +- .../components/text/edgeless-text-editor.ts | 2 +- .../src/edgeless/gfx-tool/default-tool.ts | 2 +- .../block-root/src/page/page-root-block.ts | 2 +- .../src/widgets/keyboard-toolbar/config.ts | 6 +- .../src/widgets/keyboard-toolbar/index.ts | 2 +- .../src/widgets/linked-doc/config.ts | 4 +- .../widgets/linked-doc/linked-doc-popover.ts | 2 +- .../linked-doc/mobile-linked-doc-menu.ts | 2 +- blocksuite/affine/block-root/tsconfig.json | 2 + blocksuite/affine/block-surface/package.json | 1 + .../block-surface/src/utils/add-note.ts | 2 +- blocksuite/affine/block-surface/tsconfig.json | 1 + blocksuite/affine/block-table/package.json | 1 + .../affine/block-table/src/table-cell.ts | 4 +- blocksuite/affine/block-table/tsconfig.json | 1 + blocksuite/affine/components/package.json | 2 - .../components/src/block-zero-width/index.ts | 12 ++- .../components/src/caption/block-caption.ts | 11 ++- .../affine/fragment-doc-title/package.json | 46 ++++++++++ .../src}/doc-title.ts | 3 +- .../src}/effects.ts | 0 .../src}/index.ts | 1 - .../src}/utils.ts | 0 .../affine/fragment-doc-title/tsconfig.json | 21 +++++ .../affine/fragment-frame-panel/package.json | 1 + .../src/card/frame-card-title-editor.ts | 2 +- .../affine/fragment-frame-panel/tsconfig.json | 1 + .../affine/fragment-outline/package.json | 2 + .../fragment-outline/src/utils/scroll.ts | 2 +- .../affine/fragment-outline/tsconfig.json | 2 + blocksuite/affine/rich-text/package.json | 55 ++++++++++++ .../src}/all-extensions.ts | 0 .../rich-text => rich-text/src}/conversion.ts | 5 +- .../src/rich-text => rich-text/src}/dom.ts | 0 .../rich-text => rich-text/src}/effects.ts | 0 .../src}/extension/index.ts | 0 .../src}/extension/inline-manager.ts | 0 .../src}/extension/inline-spec.ts | 0 .../src}/extension/markdown-matcher.ts | 0 .../src}/extension/ref-node-slots.ts | 0 .../src}/extension/type.ts | 0 .../src}/format/config.ts | 8 +- .../src}/format/consts.ts | 0 .../src}/format/delete-text.ts | 0 .../src}/format/format-block.ts | 0 .../src}/format/format-native.ts | 0 .../src}/format/format-text.ts | 0 .../src}/format/index.ts | 0 .../src}/format/insert-inline-latex.ts | 0 .../src}/format/text-style.ts | 0 .../src}/format/utils.ts | 0 .../src/rich-text => rich-text/src}/hooks.ts | 0 .../src/rich-text => rich-text/src}/index.ts | 1 - .../src}/inline/adapters/extensions.ts | 0 .../src}/inline/adapters/html/html-inline.ts | 0 .../src}/inline/adapters/html/inline-delta.ts | 0 .../src}/inline/adapters/markdown/index.ts | 0 .../inline/adapters/markdown/inline-delta.ts | 0 .../adapters/markdown/markdown-inline.ts | 0 .../adapters/notion-html/html-inline.ts | 0 .../adapters/plain-text/inline-delta.ts | 0 .../src}/inline/index.ts | 0 .../inline/presets/affine-inline-specs.ts | 0 .../src}/inline/presets/markdown.ts | 0 .../src}/inline/presets/nodes/affine-text.ts | 0 .../nodes/footnote-node/footnote-config.ts | 0 .../nodes/footnote-node/footnote-node.ts | 2 +- .../footnote-node/footnote-popup-chip.ts | 0 .../nodes/footnote-node/footnote-popup.ts | 14 +-- .../src}/inline/presets/nodes/index.ts | 0 .../nodes/latex-node/latex-editor-menu.ts | 0 .../nodes/latex-node/latex-editor-unit.ts | 0 .../presets/nodes/latex-node/latex-node.ts | 3 +- .../presets/nodes/link-node/affine-link.ts | 4 +- .../nodes/link-node/configs/toolbar.ts | 2 +- .../inline/presets/nodes/link-node/index.ts | 0 .../nodes/link-node/link-popup/link-popup.ts | 2 +- .../nodes/link-node/link-popup/styles.ts | 0 .../link-node/link-popup/toggle-link-popup.ts | 0 .../nodes/reference-node/configs/toolbar.ts | 2 +- .../presets/nodes/reference-node/index.ts | 0 .../nodes/reference-node/reference-config.ts | 0 .../nodes/reference-node/reference-node.ts | 6 +- .../reference-popup/reference-popup.ts | 2 +- .../reference-popup/toggle-reference-popup.ts | 0 .../presets/nodes/reference-node/types.ts | 0 .../src}/keymap/basic.ts | 0 .../src}/keymap/bracket.ts | 0 .../src}/keymap/format.ts | 0 .../src}/keymap/index.ts | 0 .../src}/linked-node.ts | 0 .../src}/markdown/divider.ts | 0 .../src}/markdown/index.ts | 0 .../src}/markdown/list.ts | 0 .../src}/markdown/markdown-input.ts | 0 .../src}/markdown/paragraph.ts | 0 .../src}/markdown/to-code.ts | 0 .../src}/markdown/utils.ts | 0 .../rich-text => rich-text/src}/rich-text.ts | 0 blocksuite/affine/rich-text/tsconfig.json | 18 ++++ .../affine/widget-slash-menu/package.json | 1 + .../affine/widget-slash-menu/src/config.ts | 12 +-- .../src/slash-menu-popover.ts | 4 +- .../affine/widget-slash-menu/src/utils.ts | 2 +- .../affine/widget-slash-menu/src/widget.ts | 2 +- .../affine/widget-slash-menu/tsconfig.json | 1 + blocksuite/blocks/package.json | 2 + blocksuite/blocks/src/adapters/extension.ts | 2 +- blocksuite/blocks/src/effects.ts | 56 +++++++++++- blocksuite/blocks/src/extensions/common.ts | 2 +- blocksuite/blocks/src/index.ts | 10 +-- blocksuite/blocks/tsconfig.json | 2 + blocksuite/integration-test/package.json | 5 -- blocksuite/integration-test/tsconfig.json | 5 -- .../tests-legacy/e2e/database/actions.ts | 5 +- .../e2e/edgeless/edgeless-text.spec.ts | 2 +- .../tests-legacy/e2e/embed-synced-doc.spec.ts | 2 +- blocksuite/tests-legacy/e2e/utils/asserts.ts | 2 +- .../e2e/utils/declare-test-window.ts | 3 + blocksuite/tests-legacy/e2e/utils/mindmap.ts | 2 +- blocksuite/tests-legacy/package.json | 4 +- blocksuite/tests-legacy/tsconfig.json | 4 +- tests/kit/src/utils/selection.ts | 2 +- tools/utils/src/workspace.gen.ts | 60 +++++++++++-- tsconfig.json | 2 + yarn.lock | 87 +++++++++++++++++-- 176 files changed, 503 insertions(+), 180 deletions(-) create mode 100644 blocksuite/affine/fragment-doc-title/package.json rename blocksuite/affine/{components/src/doc-title => fragment-doc-title/src}/doc-title.ts (98%) rename blocksuite/affine/{components/src/doc-title => fragment-doc-title/src}/effects.ts (100%) rename blocksuite/affine/{components/src/doc-title => fragment-doc-title/src}/index.ts (71%) rename blocksuite/affine/{components/src/doc-title => fragment-doc-title/src}/utils.ts (100%) create mode 100644 blocksuite/affine/fragment-doc-title/tsconfig.json create mode 100644 blocksuite/affine/rich-text/package.json rename blocksuite/affine/{components/src/rich-text => rich-text/src}/all-extensions.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/conversion.ts (98%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/dom.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/effects.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/extension/index.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/extension/inline-manager.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/extension/inline-spec.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/extension/markdown-matcher.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/extension/ref-node-slots.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/extension/type.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/format/config.ts (98%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/format/consts.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/format/delete-text.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/format/format-block.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/format/format-native.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/format/format-text.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/format/index.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/format/insert-inline-latex.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/format/text-style.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/format/utils.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/hooks.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/index.ts (95%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/adapters/extensions.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/adapters/html/html-inline.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/adapters/html/inline-delta.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/adapters/markdown/index.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/adapters/markdown/inline-delta.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/adapters/markdown/markdown-inline.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/adapters/notion-html/html-inline.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/adapters/plain-text/inline-delta.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/index.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/affine-inline-specs.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/markdown.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/affine-text.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/footnote-node/footnote-config.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/footnote-node/footnote-node.ts (98%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/footnote-node/footnote-popup-chip.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/footnote-node/footnote-popup.ts (98%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/index.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/latex-node/latex-editor-menu.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/latex-node/latex-editor-unit.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/latex-node/latex-node.ts (98%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/link-node/affine-link.ts (97%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/link-node/configs/toolbar.ts (99%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/link-node/index.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/link-node/link-popup/link-popup.ts (99%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/link-node/link-popup/styles.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/link-node/link-popup/toggle-link-popup.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/reference-node/configs/toolbar.ts (98%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/reference-node/index.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/reference-node/reference-config.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/reference-node/reference-node.ts (97%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/reference-node/reference-popup/reference-popup.ts (98%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/reference-node/reference-popup/toggle-reference-popup.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/inline/presets/nodes/reference-node/types.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/keymap/basic.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/keymap/bracket.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/keymap/format.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/keymap/index.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/linked-node.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/markdown/divider.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/markdown/index.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/markdown/list.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/markdown/markdown-input.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/markdown/paragraph.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/markdown/to-code.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/markdown/utils.ts (100%) rename blocksuite/affine/{components/src/rich-text => rich-text/src}/rich-text.ts (100%) create mode 100644 blocksuite/affine/rich-text/tsconfig.json diff --git a/blocksuite/affine/block-callout/package.json b/blocksuite/affine/block-callout/package.json index 33f26854a..b57119c9e 100644 --- a/blocksuite/affine/block-callout/package.json +++ b/blocksuite/affine/block-callout/package.json @@ -15,6 +15,7 @@ "dependencies": { "@blocksuite/affine-components": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/global": "workspace:*", diff --git a/blocksuite/affine/block-callout/src/callout-block.ts b/blocksuite/affine/block-callout/src/callout-block.ts index eda228568..aeaf9a4dd 100644 --- a/blocksuite/affine/block-callout/src/callout-block.ts +++ b/blocksuite/affine/block-callout/src/callout-block.ts @@ -1,7 +1,7 @@ import { CaptionedBlockComponent } from '@blocksuite/affine-components/caption'; import { createLitPortal } from '@blocksuite/affine-components/portal'; -import { DefaultInlineManagerExtension } from '@blocksuite/affine-components/rich-text'; import { type CalloutBlockModel } from '@blocksuite/affine-model'; +import { DefaultInlineManagerExtension } from '@blocksuite/affine-rich-text'; import { NOTE_SELECTOR } from '@blocksuite/affine-shared/consts'; import { DocModeProvider, diff --git a/blocksuite/affine/block-callout/tsconfig.json b/blocksuite/affine/block-callout/tsconfig.json index 230fca270..c76a0cb85 100644 --- a/blocksuite/affine/block-callout/tsconfig.json +++ b/blocksuite/affine/block-callout/tsconfig.json @@ -9,6 +9,7 @@ "references": [ { "path": "../components" }, { "path": "../model" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../../framework/block-std" }, { "path": "../../framework/global" }, diff --git a/blocksuite/affine/block-code/package.json b/blocksuite/affine/block-code/package.json index f3a5c11d4..116f75ae5 100644 --- a/blocksuite/affine/block-code/package.json +++ b/blocksuite/affine/block-code/package.json @@ -15,6 +15,7 @@ "dependencies": { "@blocksuite/affine-components": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/global": "workspace:*", diff --git a/blocksuite/affine/block-code/src/clipboard/index.ts b/blocksuite/affine/block-code/src/clipboard/index.ts index f97abaa72..efb60c147 100644 --- a/blocksuite/affine/block-code/src/clipboard/index.ts +++ b/blocksuite/affine/block-code/src/clipboard/index.ts @@ -1,4 +1,4 @@ -import { deleteTextCommand } from '@blocksuite/affine-components/rich-text'; +import { deleteTextCommand } from '@blocksuite/affine-rich-text'; import { HtmlAdapter, pasteMiddleware, diff --git a/blocksuite/affine/block-code/src/code-block-inline.ts b/blocksuite/affine/block-code/src/code-block-inline.ts index 356996f9d..302972cfb 100644 --- a/blocksuite/affine/block-code/src/code-block-inline.ts +++ b/blocksuite/affine/block-code/src/code-block-inline.ts @@ -10,7 +10,7 @@ import { LinkInlineSpecExtension, StrikeInlineSpecExtension, UnderlineInlineSpecExtension, -} from '@blocksuite/affine-components/rich-text'; +} from '@blocksuite/affine-rich-text'; import { html } from 'lit'; import { z } from 'zod'; diff --git a/blocksuite/affine/block-code/src/code-block-service.ts b/blocksuite/affine/block-code/src/code-block-service.ts index 5cf4fcd9d..03cb10438 100644 --- a/blocksuite/affine/block-code/src/code-block-service.ts +++ b/blocksuite/affine/block-code/src/code-block-service.ts @@ -1,5 +1,5 @@ -import { textKeymap } from '@blocksuite/affine-components/rich-text'; import { CodeBlockSchema, ColorScheme } from '@blocksuite/affine-model'; +import { textKeymap } from '@blocksuite/affine-rich-text'; import { ThemeProvider } from '@blocksuite/affine-shared/services'; import { BlockService } from '@blocksuite/block-std'; import { type Signal, signal } from '@preact/signals-core'; diff --git a/blocksuite/affine/block-code/src/code-block.ts b/blocksuite/affine/block-code/src/code-block.ts index a7a97ac49..746326208 100644 --- a/blocksuite/affine/block-code/src/code-block.ts +++ b/blocksuite/affine/block-code/src/code-block.ts @@ -1,9 +1,6 @@ import { CaptionedBlockComponent } from '@blocksuite/affine-components/caption'; -import { - focusTextModel, - type RichText, -} from '@blocksuite/affine-components/rich-text'; import type { CodeBlockModel } from '@blocksuite/affine-model'; +import { focusTextModel, type RichText } from '@blocksuite/affine-rich-text'; import { BRACKET_PAIRS, NOTE_SELECTOR } from '@blocksuite/affine-shared/consts'; import { DocModeProvider, diff --git a/blocksuite/affine/block-code/src/highlight/affine-code-unit.ts b/blocksuite/affine/block-code/src/highlight/affine-code-unit.ts index 33942b63a..4579e46a2 100644 --- a/blocksuite/affine/block-code/src/highlight/affine-code-unit.ts +++ b/blocksuite/affine/block-code/src/highlight/affine-code-unit.ts @@ -1,4 +1,4 @@ -import { affineTextStyles } from '@blocksuite/affine-components/rich-text'; +import { affineTextStyles } from '@blocksuite/affine-rich-text'; import type { AffineTextAttributes } from '@blocksuite/affine-shared/types'; import { ShadowlessElement } from '@blocksuite/block-std'; import { type DeltaInsert, ZERO_WIDTH_SPACE } from '@blocksuite/inline'; diff --git a/blocksuite/affine/block-code/tsconfig.json b/blocksuite/affine/block-code/tsconfig.json index 230fca270..c76a0cb85 100644 --- a/blocksuite/affine/block-code/tsconfig.json +++ b/blocksuite/affine/block-code/tsconfig.json @@ -9,6 +9,7 @@ "references": [ { "path": "../components" }, { "path": "../model" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../../framework/block-std" }, { "path": "../../framework/global" }, diff --git a/blocksuite/affine/block-database/package.json b/blocksuite/affine/block-database/package.json index f0297a173..9bd39d0a1 100644 --- a/blocksuite/affine/block-database/package.json +++ b/blocksuite/affine/block-database/package.json @@ -15,6 +15,7 @@ "dependencies": { "@blocksuite/affine-components": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/affine-widget-drag-handle": "workspace:*", "@blocksuite/affine-widget-slash-menu": "workspace:*", diff --git a/blocksuite/affine/block-database/src/detail-panel/block-renderer.ts b/blocksuite/affine/block-database/src/detail-panel/block-renderer.ts index f706e8049..8afca6e1d 100644 --- a/blocksuite/affine/block-database/src/detail-panel/block-renderer.ts +++ b/blocksuite/affine/block-database/src/detail-panel/block-renderer.ts @@ -1,4 +1,4 @@ -import { DefaultInlineManagerExtension } from '@blocksuite/affine-components/rich-text'; +import { DefaultInlineManagerExtension } from '@blocksuite/affine-rich-text'; import type { EditorHost } from '@blocksuite/block-std'; import { ShadowlessElement } from '@blocksuite/block-std'; import type { DetailSlotProps } from '@blocksuite/data-view'; diff --git a/blocksuite/affine/block-database/src/properties/link/cell-renderer.ts b/blocksuite/affine/block-database/src/properties/link/cell-renderer.ts index 02bfa0f41..50f595cbf 100644 --- a/blocksuite/affine/block-database/src/properties/link/cell-renderer.ts +++ b/blocksuite/affine/block-database/src/properties/link/cell-renderer.ts @@ -1,4 +1,4 @@ -import { RefNodeSlotsProvider } from '@blocksuite/affine-components/rich-text'; +import { RefNodeSlotsProvider } from '@blocksuite/affine-rich-text'; import { ParseDocUrlProvider } from '@blocksuite/affine-shared/services'; import { unsafeCSSVarV2 } from '@blocksuite/affine-shared/theme'; import { diff --git a/blocksuite/affine/block-database/src/properties/rich-text/cell-renderer.ts b/blocksuite/affine/block-database/src/properties/rich-text/cell-renderer.ts index 569c5e6fb..533e78f03 100644 --- a/blocksuite/affine/block-database/src/properties/rich-text/cell-renderer.ts +++ b/blocksuite/affine/block-database/src/properties/rich-text/cell-renderer.ts @@ -1,8 +1,8 @@ import type { AffineInlineEditor, RichText, -} from '@blocksuite/affine-components/rich-text'; -import { DefaultInlineManagerExtension } from '@blocksuite/affine-components/rich-text'; +} from '@blocksuite/affine-rich-text'; +import { DefaultInlineManagerExtension } from '@blocksuite/affine-rich-text'; import { ParseDocUrlProvider, TelemetryProvider, diff --git a/blocksuite/affine/block-database/src/properties/title/text.ts b/blocksuite/affine/block-database/src/properties/title/text.ts index dafdfac2a..c60574d72 100644 --- a/blocksuite/affine/block-database/src/properties/title/text.ts +++ b/blocksuite/affine/block-database/src/properties/title/text.ts @@ -1,8 +1,8 @@ +import type { RootBlockModel } from '@blocksuite/affine-model'; import { DefaultInlineManagerExtension, type RichText, -} from '@blocksuite/affine-components/rich-text'; -import type { RootBlockModel } from '@blocksuite/affine-model'; +} from '@blocksuite/affine-rich-text'; import { ParseDocUrlProvider, TelemetryProvider, diff --git a/blocksuite/affine/block-database/tsconfig.json b/blocksuite/affine/block-database/tsconfig.json index 45857b26a..2443fbcc2 100644 --- a/blocksuite/affine/block-database/tsconfig.json +++ b/blocksuite/affine/block-database/tsconfig.json @@ -10,6 +10,7 @@ "references": [ { "path": "../components" }, { "path": "../model" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../widget-drag-handle" }, { "path": "../widget-slash-menu" }, diff --git a/blocksuite/affine/block-edgeless-text/package.json b/blocksuite/affine/block-edgeless-text/package.json index d86a92ee7..ef4435c4d 100644 --- a/blocksuite/affine/block-edgeless-text/package.json +++ b/blocksuite/affine/block-edgeless-text/package.json @@ -16,6 +16,7 @@ "@blocksuite/affine-block-surface": "workspace:*", "@blocksuite/affine-components": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/global": "workspace:*", diff --git a/blocksuite/affine/block-edgeless-text/src/commands/insert-edgeless-text.ts b/blocksuite/affine/block-edgeless-text/src/commands/insert-edgeless-text.ts index 7f21eb0b2..8f07f29f7 100644 --- a/blocksuite/affine/block-edgeless-text/src/commands/insert-edgeless-text.ts +++ b/blocksuite/affine/block-edgeless-text/src/commands/insert-edgeless-text.ts @@ -2,7 +2,7 @@ import { EdgelessCRUDIdentifier, getSurfaceBlock, } from '@blocksuite/affine-block-surface'; -import { focusTextModel } from '@blocksuite/affine-components/rich-text'; +import { focusTextModel } from '@blocksuite/affine-rich-text'; import type { Command } from '@blocksuite/block-std'; import { GfxControllerIdentifier } from '@blocksuite/block-std/gfx'; import { Bound } from '@blocksuite/global/gfx'; diff --git a/blocksuite/affine/block-edgeless-text/src/edgeless-text-block.ts b/blocksuite/affine/block-edgeless-text/src/edgeless-text-block.ts index d376c74af..841b3fc35 100644 --- a/blocksuite/affine/block-edgeless-text/src/edgeless-text-block.ts +++ b/blocksuite/affine/block-edgeless-text/src/edgeless-text-block.ts @@ -1,10 +1,10 @@ import { TextUtils } from '@blocksuite/affine-block-surface'; -import { formatBlockCommand } from '@blocksuite/affine-components/rich-text'; import { type EdgelessTextBlockModel, ListBlockModel, ParagraphBlockModel, } from '@blocksuite/affine-model'; +import { formatBlockCommand } from '@blocksuite/affine-rich-text'; import { ThemeProvider } from '@blocksuite/affine-shared/services'; import { matchModels } from '@blocksuite/affine-shared/utils'; import type { BlockComponent } from '@blocksuite/block-std'; diff --git a/blocksuite/affine/block-edgeless-text/tsconfig.json b/blocksuite/affine/block-edgeless-text/tsconfig.json index 445ea6a4c..e42fd3875 100644 --- a/blocksuite/affine/block-edgeless-text/tsconfig.json +++ b/blocksuite/affine/block-edgeless-text/tsconfig.json @@ -10,6 +10,7 @@ { "path": "../block-surface" }, { "path": "../components" }, { "path": "../model" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../../framework/block-std" }, { "path": "../../framework/global" }, diff --git a/blocksuite/affine/block-embed/package.json b/blocksuite/affine/block-embed/package.json index 1ffa80191..ac76429c9 100644 --- a/blocksuite/affine/block-embed/package.json +++ b/blocksuite/affine/block-embed/package.json @@ -16,6 +16,7 @@ "@blocksuite/affine-block-surface": "workspace:*", "@blocksuite/affine-components": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/global": "workspace:*", diff --git a/blocksuite/affine/block-embed/src/embed-linked-doc-block/embed-linked-doc-block.ts b/blocksuite/affine/block-embed/src/embed-linked-doc-block/embed-linked-doc-block.ts index e60c8efbf..4cfe09968 100644 --- a/blocksuite/affine/block-embed/src/embed-linked-doc-block/embed-linked-doc-block.ts +++ b/blocksuite/affine/block-embed/src/embed-linked-doc-block/embed-linked-doc-block.ts @@ -1,11 +1,11 @@ import { SurfaceBlockModel } from '@blocksuite/affine-block-surface'; import { isPeekable, Peekable } from '@blocksuite/affine-components/peek'; -import { RefNodeSlotsProvider } from '@blocksuite/affine-components/rich-text'; import type { DocMode, EmbedLinkedDocModel, EmbedLinkedDocStyles, } from '@blocksuite/affine-model'; +import { RefNodeSlotsProvider } from '@blocksuite/affine-rich-text'; import { EMBED_CARD_HEIGHT, EMBED_CARD_WIDTH, diff --git a/blocksuite/affine/block-embed/src/embed-synced-doc-block/embed-synced-doc-block.ts b/blocksuite/affine/block-embed/src/embed-synced-doc-block/embed-synced-doc-block.ts index 53ffd239c..abde2da18 100644 --- a/blocksuite/affine/block-embed/src/embed-synced-doc-block/embed-synced-doc-block.ts +++ b/blocksuite/affine/block-embed/src/embed-synced-doc-block/embed-synced-doc-block.ts @@ -1,8 +1,4 @@ import { Peekable } from '@blocksuite/affine-components/peek'; -import { - type DocLinkClickedEvent, - RefNodeSlotsProvider, -} from '@blocksuite/affine-components/rich-text'; import { type AliasInfo, type DocMode, @@ -10,6 +6,10 @@ import { NoteDisplayMode, type ReferenceInfo, } from '@blocksuite/affine-model'; +import { + type DocLinkClickedEvent, + RefNodeSlotsProvider, +} from '@blocksuite/affine-rich-text'; import { REFERENCE_NODE } from '@blocksuite/affine-shared/consts'; import { DocDisplayMetaProvider, diff --git a/blocksuite/affine/block-embed/tsconfig.json b/blocksuite/affine/block-embed/tsconfig.json index 445ea6a4c..e42fd3875 100644 --- a/blocksuite/affine/block-embed/tsconfig.json +++ b/blocksuite/affine/block-embed/tsconfig.json @@ -10,6 +10,7 @@ { "path": "../block-surface" }, { "path": "../components" }, { "path": "../model" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../../framework/block-std" }, { "path": "../../framework/global" }, diff --git a/blocksuite/affine/block-list/package.json b/blocksuite/affine/block-list/package.json index 6fde32e4b..6bfe6de3f 100644 --- a/blocksuite/affine/block-list/package.json +++ b/blocksuite/affine/block-list/package.json @@ -15,6 +15,7 @@ "dependencies": { "@blocksuite/affine-components": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/global": "workspace:*", diff --git a/blocksuite/affine/block-list/src/commands/list-to-paragraph.ts b/blocksuite/affine/block-list/src/commands/list-to-paragraph.ts index e93ba33f0..78b843cbf 100644 --- a/blocksuite/affine/block-list/src/commands/list-to-paragraph.ts +++ b/blocksuite/affine/block-list/src/commands/list-to-paragraph.ts @@ -1,5 +1,5 @@ -import { focusTextModel } from '@blocksuite/affine-components/rich-text'; import { ListBlockModel } from '@blocksuite/affine-model'; +import { focusTextModel } from '@blocksuite/affine-rich-text'; import { matchModels } from '@blocksuite/affine-shared/utils'; import type { Command } from '@blocksuite/block-std'; diff --git a/blocksuite/affine/block-list/src/commands/split-list.ts b/blocksuite/affine/block-list/src/commands/split-list.ts index 3ecd15d17..0c131e8ba 100644 --- a/blocksuite/affine/block-list/src/commands/split-list.ts +++ b/blocksuite/affine/block-list/src/commands/split-list.ts @@ -1,5 +1,5 @@ -import { focusTextModel } from '@blocksuite/affine-components/rich-text'; import { ListBlockModel } from '@blocksuite/affine-model'; +import { focusTextModel } from '@blocksuite/affine-rich-text'; import { getNextContinuousNumberedLists, matchModels, diff --git a/blocksuite/affine/block-list/src/list-block.ts b/blocksuite/affine/block-list/src/list-block.ts index 24955ddb6..0fd909328 100644 --- a/blocksuite/affine/block-list/src/list-block.ts +++ b/blocksuite/affine/block-list/src/list-block.ts @@ -2,12 +2,12 @@ import '@blocksuite/affine-shared/commands'; import { CaptionedBlockComponent } from '@blocksuite/affine-components/caption'; import { playCheckAnimation } from '@blocksuite/affine-components/icons'; +import { TOGGLE_BUTTON_PARENT_CLASS } from '@blocksuite/affine-components/toggle-button'; +import type { ListBlockModel } from '@blocksuite/affine-model'; import { DefaultInlineManagerExtension, type RichText, -} from '@blocksuite/affine-components/rich-text'; -import { TOGGLE_BUTTON_PARENT_CLASS } from '@blocksuite/affine-components/toggle-button'; -import type { ListBlockModel } from '@blocksuite/affine-model'; +} from '@blocksuite/affine-rich-text'; import { BLOCK_CHILDREN_CONTAINER_PADDING_LEFT, NOTE_SELECTOR, diff --git a/blocksuite/affine/block-list/src/list-keymap.ts b/blocksuite/affine/block-list/src/list-keymap.ts index 32367780c..649fbd1ad 100644 --- a/blocksuite/affine/block-list/src/list-keymap.ts +++ b/blocksuite/affine/block-list/src/list-keymap.ts @@ -1,8 +1,5 @@ -import { - markdownInput, - textKeymap, -} from '@blocksuite/affine-components/rich-text'; import { ListBlockSchema } from '@blocksuite/affine-model'; +import { markdownInput, textKeymap } from '@blocksuite/affine-rich-text'; import { getSelectedModelsCommand } from '@blocksuite/affine-shared/commands'; import { KeymapExtension, TextSelection } from '@blocksuite/block-std'; import { IS_MAC } from '@blocksuite/global/env'; diff --git a/blocksuite/affine/block-list/tsconfig.json b/blocksuite/affine/block-list/tsconfig.json index 230fca270..c76a0cb85 100644 --- a/blocksuite/affine/block-list/tsconfig.json +++ b/blocksuite/affine/block-list/tsconfig.json @@ -9,6 +9,7 @@ "references": [ { "path": "../components" }, { "path": "../model" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../../framework/block-std" }, { "path": "../../framework/global" }, diff --git a/blocksuite/affine/block-note/package.json b/blocksuite/affine/block-note/package.json index 7dc248055..29999d9cc 100644 --- a/blocksuite/affine/block-note/package.json +++ b/blocksuite/affine/block-note/package.json @@ -16,7 +16,9 @@ "@blocksuite/affine-block-embed": "workspace:*", "@blocksuite/affine-block-surface": "workspace:*", "@blocksuite/affine-components": "workspace:*", + "@blocksuite/affine-fragment-doc-title": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/global": "workspace:*", diff --git a/blocksuite/affine/block-note/src/commands/block-type.ts b/blocksuite/affine/block-note/src/commands/block-type.ts index a8f34e91d..0832b1fa8 100644 --- a/blocksuite/affine/block-note/src/commands/block-type.ts +++ b/blocksuite/affine/block-note/src/commands/block-type.ts @@ -1,13 +1,13 @@ -import { - asyncSetInlineRange, - focusTextModel, - onModelTextUpdated, -} from '@blocksuite/affine-components/rich-text'; import { CodeBlockModel, ListBlockModel, ParagraphBlockModel, } from '@blocksuite/affine-model'; +import { + asyncSetInlineRange, + focusTextModel, + onModelTextUpdated, +} from '@blocksuite/affine-rich-text'; import { getBlockSelectionsCommand, getSelectedBlocksCommand, diff --git a/blocksuite/affine/block-note/src/note-edgeless-block.ts b/blocksuite/affine/block-note/src/note-edgeless-block.ts index d331d1f0f..d0fb61477 100644 --- a/blocksuite/affine/block-note/src/note-edgeless-block.ts +++ b/blocksuite/affine/block-note/src/note-edgeless-block.ts @@ -1,5 +1,5 @@ import { EdgelessLegacySlotIdentifier } from '@blocksuite/affine-block-surface'; -import type { DocTitle } from '@blocksuite/affine-components/doc-title'; +import type { DocTitle } from '@blocksuite/affine-fragment-doc-title'; import { NoteDisplayMode } from '@blocksuite/affine-model'; import { EDGELESS_BLOCK_CHILD_PADDING } from '@blocksuite/affine-shared/consts'; import { TelemetryProvider } from '@blocksuite/affine-shared/services'; diff --git a/blocksuite/affine/block-note/src/note-service.ts b/blocksuite/affine/block-note/src/note-service.ts index b40f3446d..0929682d1 100644 --- a/blocksuite/affine/block-note/src/note-service.ts +++ b/blocksuite/affine/block-note/src/note-service.ts @@ -1,4 +1,3 @@ -import { textConversionConfigs } from '@blocksuite/affine-components/rich-text'; import { CodeBlockModel, ListBlockModel, @@ -6,6 +5,7 @@ import { NoteBlockSchema, ParagraphBlockModel, } from '@blocksuite/affine-model'; +import { textConversionConfigs } from '@blocksuite/affine-rich-text'; import { focusBlockEnd, focusBlockStart, diff --git a/blocksuite/affine/block-note/tsconfig.json b/blocksuite/affine/block-note/tsconfig.json index 3f52439ca..69ae87845 100644 --- a/blocksuite/affine/block-note/tsconfig.json +++ b/blocksuite/affine/block-note/tsconfig.json @@ -10,7 +10,9 @@ { "path": "../block-embed" }, { "path": "../block-surface" }, { "path": "../components" }, + { "path": "../fragment-doc-title" }, { "path": "../model" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../../framework/block-std" }, { "path": "../../framework/global" }, diff --git a/blocksuite/affine/block-paragraph/package.json b/blocksuite/affine/block-paragraph/package.json index 2ff89c9eb..6a24fcd58 100644 --- a/blocksuite/affine/block-paragraph/package.json +++ b/blocksuite/affine/block-paragraph/package.json @@ -15,6 +15,7 @@ "dependencies": { "@blocksuite/affine-components": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/global": "workspace:*", diff --git a/blocksuite/affine/block-paragraph/src/commands/add-paragraph.ts b/blocksuite/affine/block-paragraph/src/commands/add-paragraph.ts index e0cefd87a..9864d4fa9 100644 --- a/blocksuite/affine/block-paragraph/src/commands/add-paragraph.ts +++ b/blocksuite/affine/block-paragraph/src/commands/add-paragraph.ts @@ -1,4 +1,4 @@ -import { focusTextModel } from '@blocksuite/affine-components/rich-text'; +import { focusTextModel } from '@blocksuite/affine-rich-text'; import { type Command, TextSelection } from '@blocksuite/block-std'; /** diff --git a/blocksuite/affine/block-paragraph/src/commands/append-paragraph.ts b/blocksuite/affine/block-paragraph/src/commands/append-paragraph.ts index 67ef96e8a..916c1bb79 100644 --- a/blocksuite/affine/block-paragraph/src/commands/append-paragraph.ts +++ b/blocksuite/affine/block-paragraph/src/commands/append-paragraph.ts @@ -1,4 +1,4 @@ -import { focusTextModel } from '@blocksuite/affine-components/rich-text'; +import { focusTextModel } from '@blocksuite/affine-rich-text'; import { getLastNoteBlock } from '@blocksuite/affine-shared/utils'; import type { Command } from '@blocksuite/block-std'; import { Text } from '@blocksuite/store'; diff --git a/blocksuite/affine/block-paragraph/src/commands/split-paragraph.ts b/blocksuite/affine/block-paragraph/src/commands/split-paragraph.ts index 26852a035..d801d5461 100644 --- a/blocksuite/affine/block-paragraph/src/commands/split-paragraph.ts +++ b/blocksuite/affine/block-paragraph/src/commands/split-paragraph.ts @@ -1,8 +1,8 @@ +import { ParagraphBlockModel } from '@blocksuite/affine-model'; import { focusTextModel, getInlineEditorByModel, -} from '@blocksuite/affine-components/rich-text'; -import { ParagraphBlockModel } from '@blocksuite/affine-model'; +} from '@blocksuite/affine-rich-text'; import { matchModels } from '@blocksuite/affine-shared/utils'; import { type Command, TextSelection } from '@blocksuite/block-std'; diff --git a/blocksuite/affine/block-paragraph/src/paragraph-block.ts b/blocksuite/affine/block-paragraph/src/paragraph-block.ts index 48fb4d4cc..6d6f28efa 100644 --- a/blocksuite/affine/block-paragraph/src/paragraph-block.ts +++ b/blocksuite/affine/block-paragraph/src/paragraph-block.ts @@ -1,10 +1,10 @@ import { CaptionedBlockComponent } from '@blocksuite/affine-components/caption'; +import { TOGGLE_BUTTON_PARENT_CLASS } from '@blocksuite/affine-components/toggle-button'; +import type { ParagraphBlockModel } from '@blocksuite/affine-model'; import { DefaultInlineManagerExtension, type RichText, -} from '@blocksuite/affine-components/rich-text'; -import { TOGGLE_BUTTON_PARENT_CLASS } from '@blocksuite/affine-components/toggle-button'; -import type { ParagraphBlockModel } from '@blocksuite/affine-model'; +} from '@blocksuite/affine-rich-text'; import { BLOCK_CHILDREN_CONTAINER_PADDING_LEFT, NOTE_SELECTOR, diff --git a/blocksuite/affine/block-paragraph/src/paragraph-keymap.ts b/blocksuite/affine/block-paragraph/src/paragraph-keymap.ts index 33762386b..1ba4f05f0 100644 --- a/blocksuite/affine/block-paragraph/src/paragraph-keymap.ts +++ b/blocksuite/affine/block-paragraph/src/paragraph-keymap.ts @@ -1,14 +1,14 @@ -import { - focusTextModel, - getInlineEditorByModel, - markdownInput, - textKeymap, -} from '@blocksuite/affine-components/rich-text'; import { CalloutBlockModel, ParagraphBlockModel, ParagraphBlockSchema, } from '@blocksuite/affine-model'; +import { + focusTextModel, + getInlineEditorByModel, + markdownInput, + textKeymap, +} from '@blocksuite/affine-rich-text'; import { calculateCollapsedSiblings, matchModels, diff --git a/blocksuite/affine/block-paragraph/src/utils/merge-with-prev.ts b/blocksuite/affine/block-paragraph/src/utils/merge-with-prev.ts index f7d88ded9..b7e180da2 100644 --- a/blocksuite/affine/block-paragraph/src/utils/merge-with-prev.ts +++ b/blocksuite/affine/block-paragraph/src/utils/merge-with-prev.ts @@ -1,7 +1,3 @@ -import { - asyncSetInlineRange, - focusTextModel, -} from '@blocksuite/affine-components/rich-text'; import { AttachmentBlockModel, BookmarkBlockModel, @@ -14,6 +10,10 @@ import { ParagraphBlockModel, type RootBlockModel, } from '@blocksuite/affine-model'; +import { + asyncSetInlineRange, + focusTextModel, +} from '@blocksuite/affine-rich-text'; import { EMBED_BLOCK_MODEL_LIST } from '@blocksuite/affine-shared/consts'; import type { ExtendedModel } from '@blocksuite/affine-shared/types'; import { diff --git a/blocksuite/affine/block-paragraph/tsconfig.json b/blocksuite/affine/block-paragraph/tsconfig.json index 230fca270..c76a0cb85 100644 --- a/blocksuite/affine/block-paragraph/tsconfig.json +++ b/blocksuite/affine/block-paragraph/tsconfig.json @@ -9,6 +9,7 @@ "references": [ { "path": "../components" }, { "path": "../model" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../../framework/block-std" }, { "path": "../../framework/global" }, diff --git a/blocksuite/affine/block-root/package.json b/blocksuite/affine/block-root/package.json index e1f97965c..342fb9459 100644 --- a/blocksuite/affine/block-root/package.json +++ b/blocksuite/affine/block-root/package.json @@ -29,7 +29,9 @@ "@blocksuite/affine-block-surface-ref": "workspace:*", "@blocksuite/affine-block-table": "workspace:*", "@blocksuite/affine-components": "workspace:*", + "@blocksuite/affine-fragment-doc-title": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/affine-widget-drag-handle": "workspace:*", "@blocksuite/affine-widget-edgeless-auto-connect": "workspace:*", diff --git a/blocksuite/affine/block-root/src/clipboard/page-clipboard.ts b/blocksuite/affine/block-root/src/clipboard/page-clipboard.ts index 83188d3e1..3119ab2b0 100644 --- a/blocksuite/affine/block-root/src/clipboard/page-clipboard.ts +++ b/blocksuite/affine/block-root/src/clipboard/page-clipboard.ts @@ -1,4 +1,4 @@ -import { deleteTextCommand } from '@blocksuite/affine-components/rich-text'; +import { deleteTextCommand } from '@blocksuite/affine-rich-text'; import { pasteMiddleware, replaceIdMiddleware, diff --git a/blocksuite/affine/block-root/src/configs/toolbar.ts b/blocksuite/affine/block-root/src/configs/toolbar.ts index 02c497290..254c5d50a 100644 --- a/blocksuite/affine/block-root/src/configs/toolbar.ts +++ b/blocksuite/affine/block-root/src/configs/toolbar.ts @@ -9,6 +9,7 @@ import { promptDocTitle, } from '@blocksuite/affine-block-embed'; import { updateBlockType } from '@blocksuite/affine-block-note'; +import { toast } from '@blocksuite/affine-components/toast'; import { deleteTextCommand, formatBlockCommand, @@ -17,8 +18,7 @@ import { isFormatSupported, textConversionConfigs, textFormatConfigs, -} from '@blocksuite/affine-components/rich-text'; -import { toast } from '@blocksuite/affine-components/toast'; +} from '@blocksuite/affine-rich-text'; import { copySelectedModelsCommand, deleteSelectedModelsCommand, diff --git a/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-connector-label-editor.ts b/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-connector-label-editor.ts index 1da6a41b5..6ff85d997 100644 --- a/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-connector-label-editor.ts +++ b/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-connector-label-editor.ts @@ -2,8 +2,8 @@ import { EdgelessCRUDIdentifier, TextUtils, } from '@blocksuite/affine-block-surface'; -import type { RichText } from '@blocksuite/affine-components/rich-text'; import type { ConnectorElementModel } from '@blocksuite/affine-model'; +import type { RichText } from '@blocksuite/affine-rich-text'; import { ThemeProvider } from '@blocksuite/affine-shared/services'; import { almostEqual } from '@blocksuite/affine-shared/utils'; import { diff --git a/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-frame-title-editor.ts b/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-frame-title-editor.ts index 895c8c9b6..4cfaee42a 100644 --- a/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-frame-title-editor.ts +++ b/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-frame-title-editor.ts @@ -1,5 +1,5 @@ -import type { RichText } from '@blocksuite/affine-components/rich-text'; import { FrameBlockModel } from '@blocksuite/affine-model'; +import type { RichText } from '@blocksuite/affine-rich-text'; import { AFFINE_FRAME_TITLE_WIDGET, type AffineFrameTitleWidget, diff --git a/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-group-title-editor.ts b/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-group-title-editor.ts index c9b7a01c7..1e38126f2 100644 --- a/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-group-title-editor.ts +++ b/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-group-title-editor.ts @@ -3,8 +3,8 @@ import { GROUP_TITLE_OFFSET, GROUP_TITLE_PADDING, } from '@blocksuite/affine-block-surface'; -import type { RichText } from '@blocksuite/affine-components/rich-text'; import type { GroupElementModel } from '@blocksuite/affine-model'; +import type { RichText } from '@blocksuite/affine-rich-text'; import { RANGE_SYNC_EXCLUDE_ATTR, ShadowlessElement, diff --git a/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-shape-text-editor.ts b/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-shape-text-editor.ts index 0b894fbf7..3e795ed6e 100644 --- a/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-shape-text-editor.ts +++ b/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-shape-text-editor.ts @@ -2,9 +2,9 @@ import { EdgelessCRUDIdentifier, TextUtils, } from '@blocksuite/affine-block-surface'; -import type { RichText } from '@blocksuite/affine-components/rich-text'; import type { ShapeElementModel } from '@blocksuite/affine-model'; import { MindmapElementModel, TextResizing } from '@blocksuite/affine-model'; +import type { RichText } from '@blocksuite/affine-rich-text'; import { ThemeProvider } from '@blocksuite/affine-shared/services'; import { getSelectedRect } from '@blocksuite/affine-shared/utils'; import { diff --git a/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-text-editor.ts b/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-text-editor.ts index 0ddb475a0..f5bb92102 100644 --- a/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-text-editor.ts +++ b/blocksuite/affine/block-root/src/edgeless/components/text/edgeless-text-editor.ts @@ -2,8 +2,8 @@ import { EdgelessCRUDIdentifier, TextUtils, } from '@blocksuite/affine-block-surface'; -import type { RichText } from '@blocksuite/affine-components/rich-text'; import type { TextElementModel } from '@blocksuite/affine-model'; +import type { RichText } from '@blocksuite/affine-rich-text'; import { ThemeProvider } from '@blocksuite/affine-shared/services'; import { getSelectedRect } from '@blocksuite/affine-shared/utils'; import { diff --git a/blocksuite/affine/block-root/src/edgeless/gfx-tool/default-tool.ts b/blocksuite/affine/block-root/src/edgeless/gfx-tool/default-tool.ts index e13d80eb2..6fc7e0cf3 100644 --- a/blocksuite/affine/block-root/src/edgeless/gfx-tool/default-tool.ts +++ b/blocksuite/affine/block-root/src/edgeless/gfx-tool/default-tool.ts @@ -9,7 +9,6 @@ import { isNoteBlock, OverlayIdentifier, } from '@blocksuite/affine-block-surface'; -import { focusTextModel } from '@blocksuite/affine-components/rich-text'; import type { EdgelessTextBlockModel, FrameBlockModel, @@ -22,6 +21,7 @@ import { ShapeElementModel, TextElementModel, } from '@blocksuite/affine-model'; +import { focusTextModel } from '@blocksuite/affine-rich-text'; import { FeatureFlagService, TelemetryProvider, diff --git a/blocksuite/affine/block-root/src/page/page-root-block.ts b/blocksuite/affine/block-root/src/page/page-root-block.ts index 98d6d4a09..3d3f1c9bc 100644 --- a/blocksuite/affine/block-root/src/page/page-root-block.ts +++ b/blocksuite/affine/block-root/src/page/page-root-block.ts @@ -1,5 +1,4 @@ import { appendParagraphCommand } from '@blocksuite/affine-block-paragraph'; -import { focusTextModel } from '@blocksuite/affine-components/rich-text'; import { CodeBlockModel, ListBlockModel, @@ -8,6 +7,7 @@ import { ParagraphBlockModel, type RootBlockModel, } from '@blocksuite/affine-model'; +import { focusTextModel } from '@blocksuite/affine-rich-text'; import { PageViewportService } from '@blocksuite/affine-shared/services'; import type { Viewport } from '@blocksuite/affine-shared/types'; import { diff --git a/blocksuite/affine/block-root/src/widgets/keyboard-toolbar/config.ts b/blocksuite/affine/block-root/src/widgets/keyboard-toolbar/config.ts index 5fa374aca..8589f9346 100644 --- a/blocksuite/affine/block-root/src/widgets/keyboard-toolbar/config.ts +++ b/blocksuite/affine/block-root/src/widgets/keyboard-toolbar/config.ts @@ -18,6 +18,8 @@ import { import { getSurfaceBlock } from '@blocksuite/affine-block-surface'; import { insertSurfaceRefBlockCommand } from '@blocksuite/affine-block-surface-ref'; import { toggleEmbedCardCreateModal } from '@blocksuite/affine-components/embed-card-modal'; +import { toast } from '@blocksuite/affine-components/toast'; +import type { FrameBlockModel } from '@blocksuite/affine-model'; import { formatBlockCommand, formatNativeCommand, @@ -32,9 +34,7 @@ import { toggleLink, toggleStrike, toggleUnderline, -} from '@blocksuite/affine-components/rich-text'; -import { toast } from '@blocksuite/affine-components/toast'; -import type { FrameBlockModel } from '@blocksuite/affine-model'; +} from '@blocksuite/affine-rich-text'; import { copySelectedModelsCommand, deleteSelectedModelsCommand, diff --git a/blocksuite/affine/block-root/src/widgets/keyboard-toolbar/index.ts b/blocksuite/affine/block-root/src/widgets/keyboard-toolbar/index.ts index cf7714155..cd68e7cb4 100644 --- a/blocksuite/affine/block-root/src/widgets/keyboard-toolbar/index.ts +++ b/blocksuite/affine/block-root/src/widgets/keyboard-toolbar/index.ts @@ -1,4 +1,4 @@ -import { getDocTitleByEditorHost } from '@blocksuite/affine-components/doc-title'; +import { getDocTitleByEditorHost } from '@blocksuite/affine-fragment-doc-title'; import type { RootBlockModel } from '@blocksuite/affine-model'; import { FeatureFlagService } from '@blocksuite/affine-shared/services'; import { WidgetComponent } from '@blocksuite/block-std'; diff --git a/blocksuite/affine/block-root/src/widgets/linked-doc/config.ts b/blocksuite/affine/block-root/src/widgets/linked-doc/config.ts index c79d3c8d7..50f70f9ed 100644 --- a/blocksuite/affine/block-root/src/widgets/linked-doc/config.ts +++ b/blocksuite/affine/block-root/src/widgets/linked-doc/config.ts @@ -4,11 +4,11 @@ import { LinkedEdgelessIcon, NewDocIcon, } from '@blocksuite/affine-components/icons'; +import { toast } from '@blocksuite/affine-components/toast'; import { type AffineInlineEditor, insertLinkedNode, -} from '@blocksuite/affine-components/rich-text'; -import { toast } from '@blocksuite/affine-components/toast'; +} from '@blocksuite/affine-rich-text'; import { DocModeProvider, TelemetryProvider, diff --git a/blocksuite/affine/block-root/src/widgets/linked-doc/linked-doc-popover.ts b/blocksuite/affine/block-root/src/widgets/linked-doc/linked-doc-popover.ts index d9899f862..1a76caa6a 100644 --- a/blocksuite/affine/block-root/src/widgets/linked-doc/linked-doc-popover.ts +++ b/blocksuite/affine/block-root/src/widgets/linked-doc/linked-doc-popover.ts @@ -3,7 +3,7 @@ import type { IconButton } from '@blocksuite/affine-components/icon-button'; import { cleanSpecifiedTail, getTextContentFromInlineRange, -} from '@blocksuite/affine-components/rich-text'; +} from '@blocksuite/affine-rich-text'; import { unsafeCSSVar } from '@blocksuite/affine-shared/theme'; import { createKeydownObserver, diff --git a/blocksuite/affine/block-root/src/widgets/linked-doc/mobile-linked-doc-menu.ts b/blocksuite/affine/block-root/src/widgets/linked-doc/mobile-linked-doc-menu.ts index a0f22ad04..308c01cfb 100644 --- a/blocksuite/affine/block-root/src/widgets/linked-doc/mobile-linked-doc-menu.ts +++ b/blocksuite/affine/block-root/src/widgets/linked-doc/mobile-linked-doc-menu.ts @@ -1,7 +1,7 @@ import { cleanSpecifiedTail, getTextContentFromInlineRange, -} from '@blocksuite/affine-components/rich-text'; +} from '@blocksuite/affine-rich-text'; import { VirtualKeyboardProvider } from '@blocksuite/affine-shared/services'; import { createKeydownObserver, diff --git a/blocksuite/affine/block-root/tsconfig.json b/blocksuite/affine/block-root/tsconfig.json index 873c19650..c41ccf9fc 100644 --- a/blocksuite/affine/block-root/tsconfig.json +++ b/blocksuite/affine/block-root/tsconfig.json @@ -23,7 +23,9 @@ { "path": "../block-surface-ref" }, { "path": "../block-table" }, { "path": "../components" }, + { "path": "../fragment-doc-title" }, { "path": "../model" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../widget-drag-handle" }, { "path": "../widget-edgeless-auto-connect" }, diff --git a/blocksuite/affine/block-surface/package.json b/blocksuite/affine/block-surface/package.json index 9106ada08..3c71d71b5 100644 --- a/blocksuite/affine/block-surface/package.json +++ b/blocksuite/affine/block-surface/package.json @@ -15,6 +15,7 @@ "dependencies": { "@blocksuite/affine-components": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/global": "workspace:*", diff --git a/blocksuite/affine/block-surface/src/utils/add-note.ts b/blocksuite/affine/block-surface/src/utils/add-note.ts index af355fbe9..efa9bb19c 100644 --- a/blocksuite/affine/block-surface/src/utils/add-note.ts +++ b/blocksuite/affine/block-surface/src/utils/add-note.ts @@ -1,4 +1,3 @@ -import { focusTextModel } from '@blocksuite/affine-components/rich-text'; import { DEFAULT_NOTE_HEIGHT, DEFAULT_NOTE_WIDTH, @@ -6,6 +5,7 @@ import { type NoteBlockModel, NoteDisplayMode, } from '@blocksuite/affine-model'; +import { focusTextModel } from '@blocksuite/affine-rich-text'; import { TelemetryProvider } from '@blocksuite/affine-shared/services'; import type { NoteChildrenFlavour } from '@blocksuite/affine-shared/types'; import { handleNativeRangeAtPoint } from '@blocksuite/affine-shared/utils'; diff --git a/blocksuite/affine/block-surface/tsconfig.json b/blocksuite/affine/block-surface/tsconfig.json index 230fca270..c76a0cb85 100644 --- a/blocksuite/affine/block-surface/tsconfig.json +++ b/blocksuite/affine/block-surface/tsconfig.json @@ -9,6 +9,7 @@ "references": [ { "path": "../components" }, { "path": "../model" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../../framework/block-std" }, { "path": "../../framework/global" }, diff --git a/blocksuite/affine/block-table/package.json b/blocksuite/affine/block-table/package.json index e2b98d447..a7b566d42 100644 --- a/blocksuite/affine/block-table/package.json +++ b/blocksuite/affine/block-table/package.json @@ -16,6 +16,7 @@ "@atlaskit/pragmatic-drag-and-drop": "^1.4.0", "@blocksuite/affine-components": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/data-view": "workspace:*", diff --git a/blocksuite/affine/block-table/src/table-cell.ts b/blocksuite/affine/block-table/src/table-cell.ts index c078d2e60..8d6ac7d9a 100644 --- a/blocksuite/affine/block-table/src/table-cell.ts +++ b/blocksuite/affine/block-table/src/table-cell.ts @@ -5,11 +5,11 @@ import { popupTargetFromElement, } from '@blocksuite/affine-components/context-menu'; import { TextBackgroundDuotoneIcon } from '@blocksuite/affine-components/icons'; +import type { TableColumn, TableRow } from '@blocksuite/affine-model'; import { DefaultInlineManagerExtension, RichText, -} from '@blocksuite/affine-components/rich-text'; -import type { TableColumn, TableRow } from '@blocksuite/affine-model'; +} from '@blocksuite/affine-rich-text'; import { cssVarV2 } from '@blocksuite/affine-shared/theme'; import { getViewportElement } from '@blocksuite/affine-shared/utils'; import { ShadowlessElement } from '@blocksuite/block-std'; diff --git a/blocksuite/affine/block-table/tsconfig.json b/blocksuite/affine/block-table/tsconfig.json index 950cead26..6e6d4588b 100644 --- a/blocksuite/affine/block-table/tsconfig.json +++ b/blocksuite/affine/block-table/tsconfig.json @@ -10,6 +10,7 @@ "references": [ { "path": "../components" }, { "path": "../model" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../../framework/block-std" }, { "path": "../data-view" }, diff --git a/blocksuite/affine/components/package.json b/blocksuite/affine/components/package.json index bfb944c92..52faa28b8 100644 --- a/blocksuite/affine/components/package.json +++ b/blocksuite/affine/components/package.json @@ -50,7 +50,6 @@ "./icon-button": "./src/icon-button/index.ts", "./toolbar": "./src/toolbar/index.ts", "./toast": "./src/toast/index.ts", - "./rich-text": "./src/rich-text/index.ts", "./smooth-corner": "./src/smooth-corner/index.ts", "./caption": "./src/caption/index.ts", "./context-menu": "./src/context-menu/index.ts", @@ -62,7 +61,6 @@ "./notification": "./src/notification/index.ts", "./block-zero-width": "./src/block-zero-width/index.ts", "./block-selection": "./src/block-selection/index.ts", - "./doc-title": "./src/doc-title/index.ts", "./embed-card-modal": "./src/embed-card-modal/index.ts", "./link-preview": "./src/link-preview/index.ts", "./linked-doc-title": "./src/linked-doc-title/index.ts", diff --git a/blocksuite/affine/components/src/block-zero-width/index.ts b/blocksuite/affine/components/src/block-zero-width/index.ts index b170ac155..b99a60da9 100644 --- a/blocksuite/affine/components/src/block-zero-width/index.ts +++ b/blocksuite/affine/components/src/block-zero-width/index.ts @@ -1,10 +1,8 @@ import { stopPropagation } from '@blocksuite/affine-shared/utils'; -import type { BlockComponent } from '@blocksuite/block-std'; +import { type BlockComponent, TextSelection } from '@blocksuite/block-std'; import { css, html, LitElement } from 'lit'; import { property } from 'lit/decorators.js'; -import { focusTextModel } from '../rich-text'; - export class BlockZeroWidth extends LitElement { static override styles = css` .block-zero-width { @@ -25,7 +23,13 @@ export class BlockZeroWidth extends LitElement { const [paragraphId] = this.block.doc.addSiblingBlocks(this.block.model, [ { flavour: 'affine:paragraph' }, ]); - focusTextModel(this.block.host.std, paragraphId); + const std = this.block.std; + std.selection.setGroup('note', [ + std.selection.create(TextSelection, { + from: { blockId: paragraphId, index: 0, length: 0 }, + to: null, + }), + ]); } }; diff --git a/blocksuite/affine/components/src/caption/block-caption.ts b/blocksuite/affine/components/src/caption/block-caption.ts index a3260fb70..63257ed11 100644 --- a/blocksuite/affine/components/src/caption/block-caption.ts +++ b/blocksuite/affine/components/src/caption/block-caption.ts @@ -6,6 +6,7 @@ import { modelContext, ShadowlessElement, stdContext, + TextSelection, } from '@blocksuite/block-std'; import { WithDisposable } from '@blocksuite/global/lit'; import type { BlockModel, Store } from '@blocksuite/store'; @@ -14,8 +15,6 @@ import { consume } from '@lit/context'; import { css, html, nothing } from 'lit'; import { query, state } from 'lit/decorators.js'; -import { focusTextModel } from '../rich-text/index.js'; - export interface BlockCaptionProps { caption: string | null | undefined; } @@ -92,7 +91,13 @@ export class BlockCaptionEditor< index + 1 ); - focusTextModel(this.std, id); + const std = this.std; + std.selection.setGroup('note', [ + std.selection.create(TextSelection, { + from: { blockId: id, index: 0, length: 0 }, + to: null, + }), + ]); } } diff --git a/blocksuite/affine/fragment-doc-title/package.json b/blocksuite/affine/fragment-doc-title/package.json new file mode 100644 index 000000000..3e5065d1e --- /dev/null +++ b/blocksuite/affine/fragment-doc-title/package.json @@ -0,0 +1,46 @@ +{ + "name": "@blocksuite/affine-fragment-doc-title", + "description": "Doc title fragment 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-frame": "workspace:*", + "@blocksuite/affine-block-surface": "workspace:*", + "@blocksuite/affine-components": "workspace:*", + "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", + "@blocksuite/affine-shared": "workspace:*", + "@blocksuite/block-std": "workspace:*", + "@blocksuite/global": "workspace:*", + "@blocksuite/icons": "^2.2.1", + "@blocksuite/inline": "workspace:*", + "@blocksuite/store": "workspace:*", + "@floating-ui/dom": "^1.6.13", + "@lit/context": "^1.1.2", + "@preact/signals-core": "^1.8.0", + "@toeverything/theme": "^1.1.12", + "lit": "^3.2.0", + "minimatch": "^10.0.1", + "zod": "^3.23.8" + }, + "exports": { + ".": "./src/index.ts", + "./effects": "./src/effects.ts" + }, + "files": [ + "src", + "dist", + "!src/__tests__", + "!dist/__tests__" + ], + "version": "0.20.0" +} diff --git a/blocksuite/affine/components/src/doc-title/doc-title.ts b/blocksuite/affine/fragment-doc-title/src/doc-title.ts similarity index 98% rename from blocksuite/affine/components/src/doc-title/doc-title.ts rename to blocksuite/affine/fragment-doc-title/src/doc-title.ts index 2d1c94501..bec2867d4 100644 --- a/blocksuite/affine/components/src/doc-title/doc-title.ts +++ b/blocksuite/affine/fragment-doc-title/src/doc-title.ts @@ -6,6 +6,7 @@ import { ParagraphBlockModel, type RootBlockModel, } from '@blocksuite/affine-model'; +import { focusTextModel, type RichText } from '@blocksuite/affine-rich-text'; import { matchModels } from '@blocksuite/affine-shared/utils'; import { ShadowlessElement } from '@blocksuite/block-std'; import { WithDisposable } from '@blocksuite/global/lit'; @@ -14,8 +15,6 @@ import { effect } from '@preact/signals-core'; import { css, html } from 'lit'; import { property, query, state } from 'lit/decorators.js'; -import { focusTextModel, type RichText } from '../rich-text'; - const DOC_BLOCK_CHILD_PADDING = 24; export class DocTitle extends WithDisposable(ShadowlessElement) { diff --git a/blocksuite/affine/components/src/doc-title/effects.ts b/blocksuite/affine/fragment-doc-title/src/effects.ts similarity index 100% rename from blocksuite/affine/components/src/doc-title/effects.ts rename to blocksuite/affine/fragment-doc-title/src/effects.ts diff --git a/blocksuite/affine/components/src/doc-title/index.ts b/blocksuite/affine/fragment-doc-title/src/index.ts similarity index 71% rename from blocksuite/affine/components/src/doc-title/index.ts rename to blocksuite/affine/fragment-doc-title/src/index.ts index f5565c645..8f3bf9792 100644 --- a/blocksuite/affine/components/src/doc-title/index.ts +++ b/blocksuite/affine/fragment-doc-title/src/index.ts @@ -1,3 +1,2 @@ export { DocTitle } from './doc-title'; -export { effects } from './effects'; export { getDocTitleByEditorHost } from './utils'; diff --git a/blocksuite/affine/components/src/doc-title/utils.ts b/blocksuite/affine/fragment-doc-title/src/utils.ts similarity index 100% rename from blocksuite/affine/components/src/doc-title/utils.ts rename to blocksuite/affine/fragment-doc-title/src/utils.ts diff --git a/blocksuite/affine/fragment-doc-title/tsconfig.json b/blocksuite/affine/fragment-doc-title/tsconfig.json new file mode 100644 index 000000000..c745f6efe --- /dev/null +++ b/blocksuite/affine/fragment-doc-title/tsconfig.json @@ -0,0 +1,21 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + "tsBuildInfoFile": "./dist/tsconfig.tsbuildinfo" + }, + "include": ["./src"], + "references": [ + { "path": "../block-frame" }, + { "path": "../block-surface" }, + { "path": "../components" }, + { "path": "../model" }, + { "path": "../rich-text" }, + { "path": "../shared" }, + { "path": "../../framework/block-std" }, + { "path": "../../framework/global" }, + { "path": "../../framework/inline" }, + { "path": "../../framework/store" } + ] +} diff --git a/blocksuite/affine/fragment-frame-panel/package.json b/blocksuite/affine/fragment-frame-panel/package.json index 72eb2d53b..5e6fc325f 100644 --- a/blocksuite/affine/fragment-frame-panel/package.json +++ b/blocksuite/affine/fragment-frame-panel/package.json @@ -17,6 +17,7 @@ "@blocksuite/affine-block-surface": "workspace:*", "@blocksuite/affine-components": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/global": "workspace:*", diff --git a/blocksuite/affine/fragment-frame-panel/src/card/frame-card-title-editor.ts b/blocksuite/affine/fragment-frame-panel/src/card/frame-card-title-editor.ts index bd1ab6381..614e94298 100644 --- a/blocksuite/affine/fragment-frame-panel/src/card/frame-card-title-editor.ts +++ b/blocksuite/affine/fragment-frame-panel/src/card/frame-card-title-editor.ts @@ -1,5 +1,5 @@ -import type { RichText } from '@blocksuite/affine-components/rich-text'; import type { FrameBlockModel } from '@blocksuite/affine-model'; +import type { RichText } from '@blocksuite/affine-rich-text'; import { ShadowlessElement } from '@blocksuite/block-std'; import { WithDisposable } from '@blocksuite/global/lit'; import { css, html } from 'lit'; diff --git a/blocksuite/affine/fragment-frame-panel/tsconfig.json b/blocksuite/affine/fragment-frame-panel/tsconfig.json index 954dff446..c745f6efe 100644 --- a/blocksuite/affine/fragment-frame-panel/tsconfig.json +++ b/blocksuite/affine/fragment-frame-panel/tsconfig.json @@ -11,6 +11,7 @@ { "path": "../block-surface" }, { "path": "../components" }, { "path": "../model" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../../framework/block-std" }, { "path": "../../framework/global" }, diff --git a/blocksuite/affine/fragment-outline/package.json b/blocksuite/affine/fragment-outline/package.json index 7d67513bf..87e1c92c3 100644 --- a/blocksuite/affine/fragment-outline/package.json +++ b/blocksuite/affine/fragment-outline/package.json @@ -15,7 +15,9 @@ "dependencies": { "@blocksuite/affine-block-note": "workspace:*", "@blocksuite/affine-components": "workspace:*", + "@blocksuite/affine-fragment-doc-title": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/global": "workspace:*", diff --git a/blocksuite/affine/fragment-outline/src/utils/scroll.ts b/blocksuite/affine/fragment-outline/src/utils/scroll.ts index ed4e9fabf..7f9af85ce 100644 --- a/blocksuite/affine/fragment-outline/src/utils/scroll.ts +++ b/blocksuite/affine/fragment-outline/src/utils/scroll.ts @@ -1,4 +1,4 @@ -import { getDocTitleByEditorHost } from '@blocksuite/affine-components/doc-title'; +import { getDocTitleByEditorHost } from '@blocksuite/affine-fragment-doc-title'; import { NoteDisplayMode } from '@blocksuite/affine-model'; import { DocModeProvider } from '@blocksuite/affine-shared/services'; import type { Viewport } from '@blocksuite/affine-shared/types'; diff --git a/blocksuite/affine/fragment-outline/tsconfig.json b/blocksuite/affine/fragment-outline/tsconfig.json index 5617ed4f3..6e6c1e4da 100644 --- a/blocksuite/affine/fragment-outline/tsconfig.json +++ b/blocksuite/affine/fragment-outline/tsconfig.json @@ -9,7 +9,9 @@ "references": [ { "path": "../block-note" }, { "path": "../components" }, + { "path": "../fragment-doc-title" }, { "path": "../model" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../../framework/block-std" }, { "path": "../../framework/global" }, diff --git a/blocksuite/affine/rich-text/package.json b/blocksuite/affine/rich-text/package.json new file mode 100644 index 000000000..c72c70e7f --- /dev/null +++ b/blocksuite/affine/rich-text/package.json @@ -0,0 +1,55 @@ +{ + "name": "@blocksuite/affine-rich-text", + "description": "Inline rich text 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-components": "workspace:*", + "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-shared": "workspace:*", + "@blocksuite/block-std": "workspace:*", + "@blocksuite/global": "workspace:*", + "@blocksuite/icons": "^2.2.1", + "@blocksuite/inline": "workspace:*", + "@blocksuite/store": "workspace:*", + "@floating-ui/dom": "^1.6.13", + "@lit/context": "^1.1.2", + "@lottiefiles/dotlottie-wc": "^0.4.0", + "@preact/signals-core": "^1.8.0", + "@toeverything/theme": "^1.1.12", + "@types/hast": "^3.0.4", + "@types/katex": "^0.16.7", + "@types/lodash-es": "^4.17.12", + "@types/mdast": "^4.0.4", + "collapse-white-space": "^2.1.0", + "date-fns": "^4.0.0", + "katex": "^0.16.11", + "lit": "^3.2.0", + "lit-html": "^3.2.1", + "lodash-es": "^4.17.21", + "remark-math": "^6.0.0", + "shiki": "^3.0.0", + "yjs": "^13.6.21", + "zod": "^3.23.8" + }, + "exports": { + ".": "./src/index.ts", + "./effects": "./src/effects.ts" + }, + "files": [ + "src", + "dist", + "!src/__tests__", + "!dist/__tests__" + ], + "version": "0.20.0" +} diff --git a/blocksuite/affine/components/src/rich-text/all-extensions.ts b/blocksuite/affine/rich-text/src/all-extensions.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/all-extensions.ts rename to blocksuite/affine/rich-text/src/all-extensions.ts diff --git a/blocksuite/affine/components/src/rich-text/conversion.ts b/blocksuite/affine/rich-text/src/conversion.ts similarity index 98% rename from blocksuite/affine/components/src/rich-text/conversion.ts rename to blocksuite/affine/rich-text/src/conversion.ts index d0fb841f7..61612c8b5 100644 --- a/blocksuite/affine/components/src/rich-text/conversion.ts +++ b/blocksuite/affine/rich-text/src/conversion.ts @@ -1,5 +1,3 @@ -import type { TemplateResult } from 'lit'; - import { BulletedListIcon, CheckBoxIcon, @@ -14,7 +12,8 @@ import { NumberedListIcon, QuoteIcon, TextIcon, -} from '../icons'; +} from '@blocksuite/affine-components/icons'; +import type { TemplateResult } from 'lit'; /** * Text primitive entries used in slash menu and format bar, diff --git a/blocksuite/affine/components/src/rich-text/dom.ts b/blocksuite/affine/rich-text/src/dom.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/dom.ts rename to blocksuite/affine/rich-text/src/dom.ts diff --git a/blocksuite/affine/components/src/rich-text/effects.ts b/blocksuite/affine/rich-text/src/effects.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/effects.ts rename to blocksuite/affine/rich-text/src/effects.ts diff --git a/blocksuite/affine/components/src/rich-text/extension/index.ts b/blocksuite/affine/rich-text/src/extension/index.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/extension/index.ts rename to blocksuite/affine/rich-text/src/extension/index.ts diff --git a/blocksuite/affine/components/src/rich-text/extension/inline-manager.ts b/blocksuite/affine/rich-text/src/extension/inline-manager.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/extension/inline-manager.ts rename to blocksuite/affine/rich-text/src/extension/inline-manager.ts diff --git a/blocksuite/affine/components/src/rich-text/extension/inline-spec.ts b/blocksuite/affine/rich-text/src/extension/inline-spec.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/extension/inline-spec.ts rename to blocksuite/affine/rich-text/src/extension/inline-spec.ts diff --git a/blocksuite/affine/components/src/rich-text/extension/markdown-matcher.ts b/blocksuite/affine/rich-text/src/extension/markdown-matcher.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/extension/markdown-matcher.ts rename to blocksuite/affine/rich-text/src/extension/markdown-matcher.ts diff --git a/blocksuite/affine/components/src/rich-text/extension/ref-node-slots.ts b/blocksuite/affine/rich-text/src/extension/ref-node-slots.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/extension/ref-node-slots.ts rename to blocksuite/affine/rich-text/src/extension/ref-node-slots.ts diff --git a/blocksuite/affine/components/src/rich-text/extension/type.ts b/blocksuite/affine/rich-text/src/extension/type.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/extension/type.ts rename to blocksuite/affine/rich-text/src/extension/type.ts diff --git a/blocksuite/affine/components/src/rich-text/format/config.ts b/blocksuite/affine/rich-text/src/format/config.ts similarity index 98% rename from blocksuite/affine/components/src/rich-text/format/config.ts rename to blocksuite/affine/rich-text/src/format/config.ts index 5e89954f7..2a2ece2a8 100644 --- a/blocksuite/affine/components/src/rich-text/format/config.ts +++ b/blocksuite/affine/rich-text/src/format/config.ts @@ -1,6 +1,3 @@ -import { type EditorHost, TextSelection } from '@blocksuite/block-std'; -import type { TemplateResult } from 'lit'; - import { BoldIcon, CodeIcon, @@ -8,7 +5,10 @@ import { LinkIcon, StrikethroughIcon, UnderlineIcon, -} from '../../icons/index.js'; +} from '@blocksuite/affine-components/icons'; +import { type EditorHost, TextSelection } from '@blocksuite/block-std'; +import type { TemplateResult } from 'lit'; + import { isTextStyleActive, toggleBold, diff --git a/blocksuite/affine/components/src/rich-text/format/consts.ts b/blocksuite/affine/rich-text/src/format/consts.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/format/consts.ts rename to blocksuite/affine/rich-text/src/format/consts.ts diff --git a/blocksuite/affine/components/src/rich-text/format/delete-text.ts b/blocksuite/affine/rich-text/src/format/delete-text.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/format/delete-text.ts rename to blocksuite/affine/rich-text/src/format/delete-text.ts diff --git a/blocksuite/affine/components/src/rich-text/format/format-block.ts b/blocksuite/affine/rich-text/src/format/format-block.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/format/format-block.ts rename to blocksuite/affine/rich-text/src/format/format-block.ts diff --git a/blocksuite/affine/components/src/rich-text/format/format-native.ts b/blocksuite/affine/rich-text/src/format/format-native.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/format/format-native.ts rename to blocksuite/affine/rich-text/src/format/format-native.ts diff --git a/blocksuite/affine/components/src/rich-text/format/format-text.ts b/blocksuite/affine/rich-text/src/format/format-text.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/format/format-text.ts rename to blocksuite/affine/rich-text/src/format/format-text.ts diff --git a/blocksuite/affine/components/src/rich-text/format/index.ts b/blocksuite/affine/rich-text/src/format/index.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/format/index.ts rename to blocksuite/affine/rich-text/src/format/index.ts diff --git a/blocksuite/affine/components/src/rich-text/format/insert-inline-latex.ts b/blocksuite/affine/rich-text/src/format/insert-inline-latex.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/format/insert-inline-latex.ts rename to blocksuite/affine/rich-text/src/format/insert-inline-latex.ts diff --git a/blocksuite/affine/components/src/rich-text/format/text-style.ts b/blocksuite/affine/rich-text/src/format/text-style.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/format/text-style.ts rename to blocksuite/affine/rich-text/src/format/text-style.ts diff --git a/blocksuite/affine/components/src/rich-text/format/utils.ts b/blocksuite/affine/rich-text/src/format/utils.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/format/utils.ts rename to blocksuite/affine/rich-text/src/format/utils.ts diff --git a/blocksuite/affine/components/src/rich-text/hooks.ts b/blocksuite/affine/rich-text/src/hooks.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/hooks.ts rename to blocksuite/affine/rich-text/src/hooks.ts diff --git a/blocksuite/affine/components/src/rich-text/index.ts b/blocksuite/affine/rich-text/src/index.ts similarity index 95% rename from blocksuite/affine/components/src/rich-text/index.ts rename to blocksuite/affine/rich-text/src/index.ts index c764dc9ad..915b737ed 100644 --- a/blocksuite/affine/components/src/rich-text/index.ts +++ b/blocksuite/affine/rich-text/src/index.ts @@ -11,7 +11,6 @@ export { onModelTextUpdated, selectTextModel, } from './dom'; -export * from './effects'; export * from './extension'; export * from './format'; export * from './inline'; diff --git a/blocksuite/affine/components/src/rich-text/inline/adapters/extensions.ts b/blocksuite/affine/rich-text/src/inline/adapters/extensions.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/adapters/extensions.ts rename to blocksuite/affine/rich-text/src/inline/adapters/extensions.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/adapters/html/html-inline.ts b/blocksuite/affine/rich-text/src/inline/adapters/html/html-inline.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/adapters/html/html-inline.ts rename to blocksuite/affine/rich-text/src/inline/adapters/html/html-inline.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/adapters/html/inline-delta.ts b/blocksuite/affine/rich-text/src/inline/adapters/html/inline-delta.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/adapters/html/inline-delta.ts rename to blocksuite/affine/rich-text/src/inline/adapters/html/inline-delta.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/adapters/markdown/index.ts b/blocksuite/affine/rich-text/src/inline/adapters/markdown/index.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/adapters/markdown/index.ts rename to blocksuite/affine/rich-text/src/inline/adapters/markdown/index.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/adapters/markdown/inline-delta.ts b/blocksuite/affine/rich-text/src/inline/adapters/markdown/inline-delta.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/adapters/markdown/inline-delta.ts rename to blocksuite/affine/rich-text/src/inline/adapters/markdown/inline-delta.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/adapters/markdown/markdown-inline.ts b/blocksuite/affine/rich-text/src/inline/adapters/markdown/markdown-inline.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/adapters/markdown/markdown-inline.ts rename to blocksuite/affine/rich-text/src/inline/adapters/markdown/markdown-inline.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/adapters/notion-html/html-inline.ts b/blocksuite/affine/rich-text/src/inline/adapters/notion-html/html-inline.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/adapters/notion-html/html-inline.ts rename to blocksuite/affine/rich-text/src/inline/adapters/notion-html/html-inline.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/adapters/plain-text/inline-delta.ts b/blocksuite/affine/rich-text/src/inline/adapters/plain-text/inline-delta.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/adapters/plain-text/inline-delta.ts rename to blocksuite/affine/rich-text/src/inline/adapters/plain-text/inline-delta.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/index.ts b/blocksuite/affine/rich-text/src/inline/index.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/index.ts rename to blocksuite/affine/rich-text/src/inline/index.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/affine-inline-specs.ts b/blocksuite/affine/rich-text/src/inline/presets/affine-inline-specs.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/affine-inline-specs.ts rename to blocksuite/affine/rich-text/src/inline/presets/affine-inline-specs.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/markdown.ts b/blocksuite/affine/rich-text/src/inline/presets/markdown.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/markdown.ts rename to blocksuite/affine/rich-text/src/inline/presets/markdown.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/affine-text.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/affine-text.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/affine-text.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/affine-text.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/footnote-node/footnote-config.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/footnote-node/footnote-config.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/footnote-node/footnote-config.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/footnote-node/footnote-config.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/footnote-node/footnote-node.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/footnote-node/footnote-node.ts similarity index 98% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/footnote-node/footnote-node.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/footnote-node/footnote-node.ts index 08ee4ec42..16bd09090 100644 --- a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/footnote-node/footnote-node.ts +++ b/blocksuite/affine/rich-text/src/inline/presets/nodes/footnote-node/footnote-node.ts @@ -1,3 +1,4 @@ +import { HoverController } from '@blocksuite/affine-components/hover'; import type { FootNote } from '@blocksuite/affine-model'; import { unsafeCSSVarV2 } from '@blocksuite/affine-shared/theme'; import type { AffineTextAttributes } from '@blocksuite/affine-shared/types'; @@ -22,7 +23,6 @@ import { property } from 'lit/decorators.js'; import { classMap } from 'lit-html/directives/class-map.js'; import { ref } from 'lit-html/directives/ref.js'; -import { HoverController } from '../../../../../hover/controller'; import type { FootNoteNodeConfigProvider } from './footnote-config'; // Virtual padding for the footnote popup overflow detection offsets. diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/footnote-node/footnote-popup-chip.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/footnote-node/footnote-popup-chip.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/footnote-node/footnote-popup-chip.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/footnote-node/footnote-popup-chip.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/footnote-node/footnote-popup.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/footnote-node/footnote-popup.ts similarity index 98% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/footnote-node/footnote-popup.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/footnote-node/footnote-popup.ts index 3abaebb82..cf2a8e3f5 100644 --- a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/footnote-node/footnote-popup.ts +++ b/blocksuite/affine/rich-text/src/inline/presets/nodes/footnote-node/footnote-popup.ts @@ -1,3 +1,10 @@ +import { + DarkLoadingIcon, + getAttachmentFileIcon, + LightLoadingIcon, + WebIcon16, +} from '@blocksuite/affine-components/icons'; +import { PeekViewProvider } from '@blocksuite/affine-components/peek'; import { ColorScheme, type FootNote } from '@blocksuite/affine-model'; import { DocDisplayMetaProvider, @@ -12,13 +19,6 @@ import { computed, signal } from '@preact/signals-core'; import { css, html, LitElement, type TemplateResult } from 'lit'; import { property } from 'lit/decorators.js'; -import { - DarkLoadingIcon, - getAttachmentFileIcon, - LightLoadingIcon, - WebIcon16, -} from '../../../../../icons'; -import { PeekViewProvider } from '../../../../../peek/service'; import type { FootNotePopupClickHandler } from './footnote-config'; export class FootNotePopup extends SignalWatcher(WithDisposable(LitElement)) { diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/index.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/index.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/index.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/index.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/latex-node/latex-editor-menu.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/latex-node/latex-editor-menu.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/latex-node/latex-editor-menu.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/latex-node/latex-editor-menu.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/latex-node/latex-editor-unit.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/latex-node/latex-editor-unit.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/latex-node/latex-editor-unit.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/latex-node/latex-editor-unit.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/latex-node/latex-node.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/latex-node/latex-node.ts similarity index 98% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/latex-node/latex-node.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/latex-node/latex-node.ts index 0a9b13a39..bf3c014f6 100644 --- a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/latex-node/latex-node.ts +++ b/blocksuite/affine/rich-text/src/inline/presets/nodes/latex-node/latex-node.ts @@ -1,3 +1,4 @@ +import { createLitPortal } from '@blocksuite/affine-components/portal'; import { unsafeCSSVar, unsafeCSSVarV2 } from '@blocksuite/affine-shared/theme'; import type { AffineTextAttributes } from '@blocksuite/affine-shared/types'; import { @@ -17,8 +18,6 @@ import katex from 'katex'; import { css, html, render } from 'lit'; import { property } from 'lit/decorators.js'; -import { createLitPortal } from '../../../../../portal/helper.js'; - export class AffineLatexNode extends SignalWatcher( WithDisposable(ShadowlessElement) ) { diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/affine-link.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/affine-link.ts similarity index 97% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/affine-link.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/affine-link.ts index d85dc3e4f..2229dec28 100644 --- a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/affine-link.ts +++ b/blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/affine-link.ts @@ -1,3 +1,4 @@ +import { whenHover } from '@blocksuite/affine-components/hover'; import type { ReferenceInfo } from '@blocksuite/affine-model'; import { ParseDocUrlProvider, @@ -17,8 +18,7 @@ import { css, html } from 'lit'; import { property } from 'lit/decorators.js'; import { type StyleInfo, styleMap } from 'lit/directives/style-map.js'; -import { whenHover } from '../../../../../hover/index'; -import { RefNodeSlotsProvider } from '../../../../extension/index'; +import { RefNodeSlotsProvider } from '../../../../extension'; import { affineTextStyles } from '../affine-text'; export class AffineLink extends WithDisposable(ShadowlessElement) { diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/configs/toolbar.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/configs/toolbar.ts similarity index 99% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/configs/toolbar.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/configs/toolbar.ts index e1053f6a4..086629742 100644 --- a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/configs/toolbar.ts +++ b/blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/configs/toolbar.ts @@ -1,3 +1,4 @@ +import { toast } from '@blocksuite/affine-components/toast'; import { ActionPlacement, EmbedOptionProvider, @@ -16,7 +17,6 @@ import { signal } from '@preact/signals-core'; import { html } from 'lit-html'; import { keyed } from 'lit-html/directives/keyed.js'; -import { toast } from '../../../../../../toast'; import { AffineLink } from '../affine-link'; import { toggleLinkPopup } from '../link-popup/toggle-link-popup'; diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/index.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/index.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/index.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/index.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/link-popup/link-popup.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/link-popup/link-popup.ts similarity index 99% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/link-popup/link-popup.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/link-popup/link-popup.ts index d20c1138d..6f78c6c38 100644 --- a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/link-popup/link-popup.ts +++ b/blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/link-popup/link-popup.ts @@ -1,3 +1,4 @@ +import type { EditorIconButton } from '@blocksuite/affine-components/toolbar'; import { isValidUrl, normalizeUrl, @@ -12,7 +13,6 @@ import { html, LitElement } from 'lit'; import { property, query } from 'lit/decorators.js'; import { choose } from 'lit/directives/choose.js'; -import type { EditorIconButton } from '../../../../../../toolbar/index'; import type { AffineInlineEditor } from '../../../affine-inline-specs'; import { linkPopupStyle } from './styles'; diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/link-popup/styles.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/link-popup/styles.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/link-popup/styles.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/link-popup/styles.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/link-popup/toggle-link-popup.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/link-popup/toggle-link-popup.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/link-node/link-popup/toggle-link-popup.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/link-node/link-popup/toggle-link-popup.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/configs/toolbar.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/configs/toolbar.ts similarity index 98% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/configs/toolbar.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/configs/toolbar.ts index 1ccb11cfe..92637c721 100644 --- a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/configs/toolbar.ts +++ b/blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/configs/toolbar.ts @@ -1,3 +1,4 @@ +import { notifyLinkedDocSwitchedToEmbed } from '@blocksuite/affine-components/notification'; import { ActionPlacement, type ToolbarAction, @@ -14,7 +15,6 @@ import { signal } from '@preact/signals-core'; import { html } from 'lit-html'; import { keyed } from 'lit-html/directives/keyed.js'; -import { notifyLinkedDocSwitchedToEmbed } from '../../../../../../notification'; import { AffineReference } from '../reference-node'; const trackBaseProps = { diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/index.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/index.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/index.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/index.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/reference-config.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/reference-config.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/reference-config.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/reference-config.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/reference-node.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/reference-node.ts similarity index 97% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/reference-node.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/reference-node.ts index 40944e39c..3146ae411 100644 --- a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/reference-node.ts +++ b/blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/reference-node.ts @@ -1,3 +1,5 @@ +import { whenHover } from '@blocksuite/affine-components/hover'; +import { Peekable } from '@blocksuite/affine-components/peek'; import type { ReferenceInfo } from '@blocksuite/affine-model'; import { DEFAULT_DOC_NAME, @@ -30,9 +32,7 @@ import { choose } from 'lit/directives/choose.js'; import { ifDefined } from 'lit/directives/if-defined.js'; import { styleMap } from 'lit/directives/style-map.js'; -import { whenHover } from '../../../../../hover/index'; -import { Peekable } from '../../../../../peek/index'; -import { RefNodeSlotsProvider } from '../../../../extension/index'; +import { RefNodeSlotsProvider } from '../../../../extension'; import { affineTextStyles } from '../affine-text'; import type { ReferenceNodeConfigProvider } from './reference-config'; import type { DocLinkClickedEvent } from './types'; diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/reference-popup/reference-popup.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/reference-popup/reference-popup.ts similarity index 98% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/reference-popup/reference-popup.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/reference-popup/reference-popup.ts index 8b42e0cdb..70b725891 100644 --- a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/reference-popup/reference-popup.ts +++ b/blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/reference-popup/reference-popup.ts @@ -1,3 +1,4 @@ +import type { EditorIconButton } from '@blocksuite/affine-components/toolbar'; import type { ReferenceInfo } from '@blocksuite/affine-model'; import { REFERENCE_NODE } from '@blocksuite/affine-shared/consts'; import { @@ -18,7 +19,6 @@ import { css, html } from 'lit'; import { property, query } from 'lit/decorators.js'; import { live } from 'lit/directives/live.js'; -import type { EditorIconButton } from '../../../../../../toolbar/index'; import type { AffineInlineEditor } from '../../../affine-inline-specs'; export class ReferencePopup extends SignalWatcher( diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/reference-popup/toggle-reference-popup.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/reference-popup/toggle-reference-popup.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/reference-popup/toggle-reference-popup.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/reference-popup/toggle-reference-popup.ts diff --git a/blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/types.ts b/blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/types.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/inline/presets/nodes/reference-node/types.ts rename to blocksuite/affine/rich-text/src/inline/presets/nodes/reference-node/types.ts diff --git a/blocksuite/affine/components/src/rich-text/keymap/basic.ts b/blocksuite/affine/rich-text/src/keymap/basic.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/keymap/basic.ts rename to blocksuite/affine/rich-text/src/keymap/basic.ts diff --git a/blocksuite/affine/components/src/rich-text/keymap/bracket.ts b/blocksuite/affine/rich-text/src/keymap/bracket.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/keymap/bracket.ts rename to blocksuite/affine/rich-text/src/keymap/bracket.ts diff --git a/blocksuite/affine/components/src/rich-text/keymap/format.ts b/blocksuite/affine/rich-text/src/keymap/format.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/keymap/format.ts rename to blocksuite/affine/rich-text/src/keymap/format.ts diff --git a/blocksuite/affine/components/src/rich-text/keymap/index.ts b/blocksuite/affine/rich-text/src/keymap/index.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/keymap/index.ts rename to blocksuite/affine/rich-text/src/keymap/index.ts diff --git a/blocksuite/affine/components/src/rich-text/linked-node.ts b/blocksuite/affine/rich-text/src/linked-node.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/linked-node.ts rename to blocksuite/affine/rich-text/src/linked-node.ts diff --git a/blocksuite/affine/components/src/rich-text/markdown/divider.ts b/blocksuite/affine/rich-text/src/markdown/divider.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/markdown/divider.ts rename to blocksuite/affine/rich-text/src/markdown/divider.ts diff --git a/blocksuite/affine/components/src/rich-text/markdown/index.ts b/blocksuite/affine/rich-text/src/markdown/index.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/markdown/index.ts rename to blocksuite/affine/rich-text/src/markdown/index.ts diff --git a/blocksuite/affine/components/src/rich-text/markdown/list.ts b/blocksuite/affine/rich-text/src/markdown/list.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/markdown/list.ts rename to blocksuite/affine/rich-text/src/markdown/list.ts diff --git a/blocksuite/affine/components/src/rich-text/markdown/markdown-input.ts b/blocksuite/affine/rich-text/src/markdown/markdown-input.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/markdown/markdown-input.ts rename to blocksuite/affine/rich-text/src/markdown/markdown-input.ts diff --git a/blocksuite/affine/components/src/rich-text/markdown/paragraph.ts b/blocksuite/affine/rich-text/src/markdown/paragraph.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/markdown/paragraph.ts rename to blocksuite/affine/rich-text/src/markdown/paragraph.ts diff --git a/blocksuite/affine/components/src/rich-text/markdown/to-code.ts b/blocksuite/affine/rich-text/src/markdown/to-code.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/markdown/to-code.ts rename to blocksuite/affine/rich-text/src/markdown/to-code.ts diff --git a/blocksuite/affine/components/src/rich-text/markdown/utils.ts b/blocksuite/affine/rich-text/src/markdown/utils.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/markdown/utils.ts rename to blocksuite/affine/rich-text/src/markdown/utils.ts diff --git a/blocksuite/affine/components/src/rich-text/rich-text.ts b/blocksuite/affine/rich-text/src/rich-text.ts similarity index 100% rename from blocksuite/affine/components/src/rich-text/rich-text.ts rename to blocksuite/affine/rich-text/src/rich-text.ts diff --git a/blocksuite/affine/rich-text/tsconfig.json b/blocksuite/affine/rich-text/tsconfig.json new file mode 100644 index 000000000..230fca270 --- /dev/null +++ b/blocksuite/affine/rich-text/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + "tsBuildInfoFile": "./dist/tsconfig.tsbuildinfo" + }, + "include": ["./src"], + "references": [ + { "path": "../components" }, + { "path": "../model" }, + { "path": "../shared" }, + { "path": "../../framework/block-std" }, + { "path": "../../framework/global" }, + { "path": "../../framework/inline" }, + { "path": "../../framework/store" } + ] +} diff --git a/blocksuite/affine/widget-slash-menu/package.json b/blocksuite/affine/widget-slash-menu/package.json index 5de686d2f..a95f0552c 100644 --- a/blocksuite/affine/widget-slash-menu/package.json +++ b/blocksuite/affine/widget-slash-menu/package.json @@ -22,6 +22,7 @@ "@blocksuite/affine-block-surface-ref": "workspace:*", "@blocksuite/affine-block-table": "workspace:*", "@blocksuite/affine-components": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/global": "workspace:*", diff --git a/blocksuite/affine/widget-slash-menu/src/config.ts b/blocksuite/affine/widget-slash-menu/src/config.ts index 2df942903..03fb0c8ee 100644 --- a/blocksuite/affine/widget-slash-menu/src/config.ts +++ b/blocksuite/affine/widget-slash-menu/src/config.ts @@ -5,18 +5,18 @@ import { getSurfaceBlock } from '@blocksuite/affine-block-surface'; import { insertSurfaceRefBlockCommand } from '@blocksuite/affine-block-surface-ref'; import { insertTableBlockCommand } from '@blocksuite/affine-block-table'; import { toggleEmbedCardCreateModal } from '@blocksuite/affine-components/embed-card-modal'; +import { toast } from '@blocksuite/affine-components/toast'; +import type { + FrameBlockModel, + ParagraphBlockModel, +} from '@blocksuite/affine-model'; import { getInlineEditorByModel, insertContent, insertInlineLatex, textConversionConfigs, textFormatConfigs, -} from '@blocksuite/affine-components/rich-text'; -import { toast } from '@blocksuite/affine-components/toast'; -import type { - FrameBlockModel, - ParagraphBlockModel, -} from '@blocksuite/affine-model'; +} from '@blocksuite/affine-rich-text'; import { focusBlockEnd, getSelectedModelsCommand, diff --git a/blocksuite/affine/widget-slash-menu/src/slash-menu-popover.ts b/blocksuite/affine/widget-slash-menu/src/slash-menu-popover.ts index 21ba969c4..3fecc1649 100644 --- a/blocksuite/affine/widget-slash-menu/src/slash-menu-popover.ts +++ b/blocksuite/affine/widget-slash-menu/src/slash-menu-popover.ts @@ -1,10 +1,10 @@ import { createLitPortal } from '@blocksuite/affine-components/portal'; -import type { AffineInlineEditor } from '@blocksuite/affine-components/rich-text'; +import type { AffineInlineEditor } from '@blocksuite/affine-rich-text'; import { cleanSpecifiedTail, getInlineEditorByModel, getTextContentFromInlineRange, -} from '@blocksuite/affine-components/rich-text'; +} from '@blocksuite/affine-rich-text'; import { createKeydownObserver, getCurrentNativeRange, diff --git a/blocksuite/affine/widget-slash-menu/src/utils.ts b/blocksuite/affine/widget-slash-menu/src/utils.ts index 7f690ebf9..610cacf19 100644 --- a/blocksuite/affine/widget-slash-menu/src/utils.ts +++ b/blocksuite/affine/widget-slash-menu/src/utils.ts @@ -3,7 +3,7 @@ import { formatBlockCommand, type TextConversionConfig, type TextFormatConfig, -} from '@blocksuite/affine-components/rich-text'; +} from '@blocksuite/affine-rich-text'; import { isInsideBlockByFlavour } from '@blocksuite/affine-shared/utils'; import { BlockSelection } from '@blocksuite/block-std'; import type { BlockModel } from '@blocksuite/store'; diff --git a/blocksuite/affine/widget-slash-menu/src/widget.ts b/blocksuite/affine/widget-slash-menu/src/widget.ts index 99d196046..1ee28b9d6 100644 --- a/blocksuite/affine/widget-slash-menu/src/widget.ts +++ b/blocksuite/affine/widget-slash-menu/src/widget.ts @@ -1,7 +1,7 @@ import { type AffineInlineEditor, getInlineEditorByModel, -} from '@blocksuite/affine-components/rich-text'; +} from '@blocksuite/affine-rich-text'; import type { UIEventStateContext } from '@blocksuite/block-std'; import { TextSelection, WidgetComponent } from '@blocksuite/block-std'; import { DisposableGroup } from '@blocksuite/global/slot'; diff --git a/blocksuite/affine/widget-slash-menu/tsconfig.json b/blocksuite/affine/widget-slash-menu/tsconfig.json index 71cdf14c1..359b2ff5f 100644 --- a/blocksuite/affine/widget-slash-menu/tsconfig.json +++ b/blocksuite/affine/widget-slash-menu/tsconfig.json @@ -16,6 +16,7 @@ { "path": "../block-surface-ref" }, { "path": "../block-table" }, { "path": "../components" }, + { "path": "../rich-text" }, { "path": "../shared" }, { "path": "../../framework/block-std" }, { "path": "../../framework/global" }, diff --git a/blocksuite/blocks/package.json b/blocksuite/blocks/package.json index f5aef6814..eb0f1fd1e 100644 --- a/blocksuite/blocks/package.json +++ b/blocksuite/blocks/package.json @@ -34,9 +34,11 @@ "@blocksuite/affine-block-surface-ref": "workspace:*", "@blocksuite/affine-block-table": "workspace:*", "@blocksuite/affine-components": "workspace:*", + "@blocksuite/affine-fragment-doc-title": "workspace:*", "@blocksuite/affine-fragment-frame-panel": "workspace:*", "@blocksuite/affine-fragment-outline": "workspace:*", "@blocksuite/affine-model": "workspace:*", + "@blocksuite/affine-rich-text": "workspace:*", "@blocksuite/affine-shared": "workspace:*", "@blocksuite/affine-widget-drag-handle": "workspace:*", "@blocksuite/affine-widget-edgeless-auto-connect": "workspace:*", diff --git a/blocksuite/blocks/src/adapters/extension.ts b/blocksuite/blocks/src/adapters/extension.ts index 1352c56ad..4f3bb93a2 100644 --- a/blocksuite/blocks/src/adapters/extension.ts +++ b/blocksuite/blocks/src/adapters/extension.ts @@ -5,7 +5,7 @@ import { InlineDeltaToPlainTextAdapterExtensions, MarkdownInlineToDeltaAdapterExtensions, NotionHtmlInlineToDeltaAdapterExtensions, -} from '@blocksuite/affine-components/rich-text'; +} from '@blocksuite/affine-rich-text'; import { AttachmentAdapterFactoryExtension, HtmlAdapterFactoryExtension, diff --git a/blocksuite/blocks/src/effects.ts b/blocksuite/blocks/src/effects.ts index d66f7c782..d2696d759 100644 --- a/blocksuite/blocks/src/effects.ts +++ b/blocksuite/blocks/src/effects.ts @@ -24,7 +24,6 @@ import { effects as componentCardStyleDropdownMenuEffects } from '@blocksuite/af import { effects as componentColorPickerEffects } from '@blocksuite/affine-components/color-picker'; import { effects as componentContextMenuEffects } from '@blocksuite/affine-components/context-menu'; import { effects as componentDatePickerEffects } from '@blocksuite/affine-components/date-picker'; -import { effects as componentDocTitleEffects } from '@blocksuite/affine-components/doc-title'; import { effects as componentDropIndicatorEffects } from '@blocksuite/affine-components/drop-indicator'; import { effects as componentEmbedCardModalEffects } from '@blocksuite/affine-components/embed-card-modal'; import { FilterableListComponent } from '@blocksuite/affine-components/filterable-list'; @@ -33,14 +32,15 @@ import { IconButton } from '@blocksuite/affine-components/icon-button'; import { effects as componentLinkPreviewEffects } from '@blocksuite/affine-components/link-preview'; import { effects as componentLinkedDocTitleEffects } from '@blocksuite/affine-components/linked-doc-title'; import { effects as componentPortalEffects } from '@blocksuite/affine-components/portal'; -import { effects as componentRichTextEffects } from '@blocksuite/affine-components/rich-text'; import { SmoothCorner } from '@blocksuite/affine-components/smooth-corner'; import { effects as componentToggleButtonEffects } from '@blocksuite/affine-components/toggle-button'; import { ToggleSwitch } from '@blocksuite/affine-components/toggle-switch'; import { effects as componentToolbarEffects } from '@blocksuite/affine-components/toolbar'; import { effects as componentViewDropdownMenuEffects } from '@blocksuite/affine-components/view-dropdown-menu'; +import { effects as fragmentDocTitleEffects } from '@blocksuite/affine-fragment-doc-title/effects'; import { effects as fragmentFramePanelEffects } from '@blocksuite/affine-fragment-frame-panel/effects'; import { effects as fragmentOutlineEffects } from '@blocksuite/affine-fragment-outline/effects'; +import { effects as richTextEffects } from '@blocksuite/affine-rich-text/effects'; import { effects as widgetDragHandleEffects } from '@blocksuite/affine-widget-drag-handle/effects'; import { effects as widgetEdgelessAutoConnectEffects } from '@blocksuite/affine-widget-edgeless-auto-connect/effects'; import { effects as widgetFrameTitleEffects } from '@blocksuite/affine-widget-frame-title/effects'; @@ -54,6 +54,54 @@ import { effects as inlineEffects } from '@blocksuite/inline/effects'; import { registerSpecs } from './extensions/register.js'; +export declare const _GLOBAL_: + | typeof stdEffects + | typeof inlineEffects + | typeof dataViewEffects + | typeof richTextEffects + | typeof blockNoteEffects + | typeof blockAttachmentEffects + | typeof blockBookmarkEffects + | typeof blockFrameEffects + | typeof blockListEffects + | typeof blockParagraphEffects + | typeof blockEmbedEffects + | typeof blockSurfaceEffects + | typeof blockImageEffects + | typeof blockDatabaseEffects + | typeof blockSurfaceRefEffects + | typeof blockLatexEffects + | typeof blockEdgelessTextEffects + | typeof blockDividerEffects + | typeof blockDataViewEffects + | typeof blockCodeEffects + | typeof blockTableEffects + | typeof blockRootEffects + | typeof blockCalloutEffects + | typeof componentCaptionEffects + | typeof componentContextMenuEffects + | typeof componentDatePickerEffects + | typeof componentDropIndicatorEffects + | typeof componentEmbedCardModalEffects + | typeof componentHighlightDropdownMenuEffects + | typeof componentLinkPreviewEffects + | typeof componentLinkedDocTitleEffects + | typeof componentPortalEffects + | typeof componentToolbarEffects + | typeof componentToggleButtonEffects + | typeof componentColorPickerEffects + | typeof componentViewDropdownMenuEffects + | typeof widgetScrollAnchoringEffects + | typeof widgetFrameTitleEffects + | typeof widgetRemoteSelectionEffects + | typeof widgetDragHandleEffects + | typeof widgetEdgelessAutoConnectEffects + | typeof widgetToolbarEffects + | typeof widgetSlashMenuEffects + | typeof fragmentDocTitleEffects + | typeof fragmentFramePanelEffects + | typeof fragmentOutlineEffects; + export function effects() { registerSpecs(); @@ -61,6 +109,7 @@ export function effects() { inlineEffects(); dataViewEffects(); + richTextEffects(); blockNoteEffects(); blockAttachmentEffects(); @@ -86,13 +135,11 @@ export function effects() { componentContextMenuEffects(); componentDatePickerEffects(); componentPortalEffects(); - componentRichTextEffects(); componentToolbarEffects(); componentDropIndicatorEffects(); componentToggleButtonEffects(); componentColorPickerEffects(); componentEmbedCardModalEffects(); - componentDocTitleEffects(); componentLinkPreviewEffects(); componentLinkedDocTitleEffects(); componentCardStyleDropdownMenuEffects(); @@ -107,6 +154,7 @@ export function effects() { widgetSlashMenuEffects(); widgetToolbarEffects(); + fragmentDocTitleEffects(); fragmentFramePanelEffects(); fragmentOutlineEffects(); diff --git a/blocksuite/blocks/src/extensions/common.ts b/blocksuite/blocks/src/extensions/common.ts index e52e48d3b..c15d469e5 100644 --- a/blocksuite/blocks/src/extensions/common.ts +++ b/blocksuite/blocks/src/extensions/common.ts @@ -28,7 +28,7 @@ import { TableBlockSpec } from '@blocksuite/affine-block-table'; import { RefNodeSlotsExtension, RichTextExtensions, -} from '@blocksuite/affine-components/rich-text'; +} from '@blocksuite/affine-rich-text'; import { DefaultOpenDocExtension, DocDisplayMetaService, diff --git a/blocksuite/blocks/src/index.ts b/blocksuite/blocks/src/index.ts index f6fb5fc27..cf3859afd 100644 --- a/blocksuite/blocks/src/index.ts +++ b/blocksuite/blocks/src/index.ts @@ -24,10 +24,6 @@ export { type MenuOptions, onMenuOpen, } from '@blocksuite/affine-components/context-menu'; -export { - DocTitle, - getDocTitleByEditorHost, -} from '@blocksuite/affine-components/doc-title'; export { toggleEmbedCardEditModal } from '@blocksuite/affine-components/embed-card-modal'; export { HoverController, @@ -52,7 +48,6 @@ export { createLitPortal, createSimplePortal, } from '@blocksuite/affine-components/portal'; -export * from '@blocksuite/affine-components/rich-text'; export { toast } from '@blocksuite/affine-components/toast'; export { type AdvancedMenuItem, @@ -67,9 +62,14 @@ export { ToolbarMoreMenuConfigExtension, Tooltip, } from '@blocksuite/affine-components/toolbar'; +export { + DocTitle, + getDocTitleByEditorHost, +} from '@blocksuite/affine-fragment-doc-title'; export * from '@blocksuite/affine-fragment-frame-panel'; export * from '@blocksuite/affine-fragment-outline'; export * from '@blocksuite/affine-model'; +export * from '@blocksuite/affine-rich-text'; export * from '@blocksuite/affine-shared/adapters'; export * from '@blocksuite/affine-shared/commands'; export { HighlightSelection } from '@blocksuite/affine-shared/selection'; diff --git a/blocksuite/blocks/tsconfig.json b/blocksuite/blocks/tsconfig.json index b8fa9e503..c735d7967 100644 --- a/blocksuite/blocks/tsconfig.json +++ b/blocksuite/blocks/tsconfig.json @@ -27,9 +27,11 @@ { "path": "../affine/block-surface-ref" }, { "path": "../affine/block-table" }, { "path": "../affine/components" }, + { "path": "../affine/fragment-doc-title" }, { "path": "../affine/fragment-frame-panel" }, { "path": "../affine/fragment-outline" }, { "path": "../affine/model" }, + { "path": "../affine/rich-text" }, { "path": "../affine/shared" }, { "path": "../affine/widget-drag-handle" }, { "path": "../affine/widget-edgeless-auto-connect" }, diff --git a/blocksuite/integration-test/package.json b/blocksuite/integration-test/package.json index 34094e434..f2a5ae56e 100644 --- a/blocksuite/integration-test/package.json +++ b/blocksuite/integration-test/package.json @@ -13,11 +13,6 @@ "author": "toeverything", "license": "MIT", "dependencies": { - "@blocksuite/affine-block-note": "workspace:*", - "@blocksuite/affine-block-surface": "workspace:*", - "@blocksuite/affine-components": "workspace:*", - "@blocksuite/affine-model": "workspace:*", - "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", "@blocksuite/blocks": "workspace:*", "@blocksuite/global": "workspace:*", diff --git a/blocksuite/integration-test/tsconfig.json b/blocksuite/integration-test/tsconfig.json index ff877933a..52f698246 100644 --- a/blocksuite/integration-test/tsconfig.json +++ b/blocksuite/integration-test/tsconfig.json @@ -7,11 +7,6 @@ }, "include": ["./src", "./src/**/*.json"], "references": [ - { "path": "../affine/block-note" }, - { "path": "../affine/block-surface" }, - { "path": "../affine/components" }, - { "path": "../affine/model" }, - { "path": "../affine/shared" }, { "path": "../framework/block-std" }, { "path": "../blocks" }, { "path": "../framework/global" }, diff --git a/blocksuite/tests-legacy/e2e/database/actions.ts b/blocksuite/tests-legacy/e2e/database/actions.ts index 0ca51d25c..5b2bdb680 100644 --- a/blocksuite/tests-legacy/e2e/database/actions.ts +++ b/blocksuite/tests-legacy/e2e/database/actions.ts @@ -1,7 +1,4 @@ -import type { - RichTextCell, - RichTextCellEditing, -} from '@blocksuite/affine-block-database'; +import type { RichTextCell, RichTextCellEditing } from '@blocksuite/blocks'; import { ZERO_WIDTH_SPACE } from '@blocksuite/inline'; import { expect, type Locator, type Page } from '@playwright/test'; diff --git a/blocksuite/tests-legacy/e2e/edgeless/edgeless-text.spec.ts b/blocksuite/tests-legacy/e2e/edgeless/edgeless-text.spec.ts index 876a9b8f5..eec891d52 100644 --- a/blocksuite/tests-legacy/e2e/edgeless/edgeless-text.spec.ts +++ b/blocksuite/tests-legacy/e2e/edgeless/edgeless-text.spec.ts @@ -1,4 +1,4 @@ -import type { EdgelessTextBlockComponent } from '@blocksuite/affine-block-edgeless-text'; +import type { EdgelessTextBlockComponent } from '@blocksuite/blocks'; import { Bound } from '@blocksuite/global/gfx'; import { expect, type Page } from '@playwright/test'; diff --git a/blocksuite/tests-legacy/e2e/embed-synced-doc.spec.ts b/blocksuite/tests-legacy/e2e/embed-synced-doc.spec.ts index a2e3e3e21..8f0bbd6ac 100644 --- a/blocksuite/tests-legacy/e2e/embed-synced-doc.spec.ts +++ b/blocksuite/tests-legacy/e2e/embed-synced-doc.spec.ts @@ -1,4 +1,4 @@ -import type { DatabaseBlockModel } from '@blocksuite/affine-model'; +import type { DatabaseBlockModel } from '@blocksuite/blocks'; import { expect, type Page } from '@playwright/test'; import { switchEditorMode } from './utils/actions/edgeless.js'; diff --git a/blocksuite/tests-legacy/e2e/utils/asserts.ts b/blocksuite/tests-legacy/e2e/utils/asserts.ts index dc58c4008..e88bd5a35 100644 --- a/blocksuite/tests-legacy/e2e/utils/asserts.ts +++ b/blocksuite/tests-legacy/e2e/utils/asserts.ts @@ -1,6 +1,5 @@ import './declare-test-window.js'; -import type { EdgelessNoteBackground } from '@blocksuite/affine-block-note'; import type { BlockComponent, EditorHost, @@ -8,6 +7,7 @@ import type { } from '@blocksuite/block-std'; import type { AffineInlineEditor, + EdgelessNoteBackground, NoteBlockModel, RichText, RootBlockModel, diff --git a/blocksuite/tests-legacy/e2e/utils/declare-test-window.ts b/blocksuite/tests-legacy/e2e/utils/declare-test-window.ts index dce0a5077..32f0f3c53 100644 --- a/blocksuite/tests-legacy/e2e/utils/declare-test-window.ts +++ b/blocksuite/tests-legacy/e2e/utils/declare-test-window.ts @@ -1,7 +1,10 @@ import type { EditorHost } from '@blocksuite/block-std'; +import type * as Effects from '@blocksuite/blocks/effects'; import type { TestAffineEditorContainer } from '@blocksuite/integration-test'; import type { Store, Transformer, Workspace } from '@blocksuite/store'; +declare const _GLOBAL_: typeof Effects; + declare global { interface Window { /** Available on playground window diff --git a/blocksuite/tests-legacy/e2e/utils/mindmap.ts b/blocksuite/tests-legacy/e2e/utils/mindmap.ts index 7633cad09..2da1c44f0 100644 --- a/blocksuite/tests-legacy/e2e/utils/mindmap.ts +++ b/blocksuite/tests-legacy/e2e/utils/mindmap.ts @@ -2,7 +2,7 @@ import type { MindmapElementModel, MindmapNode, ShapeElementModel, -} from '@blocksuite/affine-model'; +} from '@blocksuite/blocks'; import type { Page } from '@playwright/test'; import { clickView } from './actions/click.js'; diff --git a/blocksuite/tests-legacy/package.json b/blocksuite/tests-legacy/package.json index ef55f9bbb..f49bd99b2 100644 --- a/blocksuite/tests-legacy/package.json +++ b/blocksuite/tests-legacy/package.json @@ -7,10 +7,8 @@ "test": "yarn playwright test" }, "dependencies": { - "@blocksuite/affine-components": "workspace:*", - "@blocksuite/affine-model": "workspace:*", - "@blocksuite/affine-shared": "workspace:*", "@blocksuite/block-std": "workspace:*", + "@blocksuite/blocks": "workspace:*", "@blocksuite/global": "workspace:*", "@blocksuite/inline": "workspace:*", "@blocksuite/integration-test": "workspace:*", diff --git a/blocksuite/tests-legacy/tsconfig.json b/blocksuite/tests-legacy/tsconfig.json index 73e5ade38..d4266719e 100644 --- a/blocksuite/tests-legacy/tsconfig.json +++ b/blocksuite/tests-legacy/tsconfig.json @@ -7,9 +7,7 @@ }, "include": ["./e2e"], "references": [ - { "path": "../affine/components" }, - { "path": "../affine/model" }, - { "path": "../affine/shared" }, + { "path": "../blocks" }, { "path": "../framework/block-std" }, { "path": "../framework/global" }, { "path": "../framework/inline" }, diff --git a/tests/kit/src/utils/selection.ts b/tests/kit/src/utils/selection.ts index f58da8d88..2d813bb8a 100644 --- a/tests/kit/src/utils/selection.ts +++ b/tests/kit/src/utils/selection.ts @@ -1,4 +1,4 @@ -import type { RichText } from '@blocksuite/affine-components/rich-text'; +import type { RichText } from '@blocksuite/affine-rich-text'; import type { Page } from '@playwright/test'; export async function setSelection( diff --git a/tools/utils/src/workspace.gen.ts b/tools/utils/src/workspace.gen.ts index e7e5b44ab..1a75310c5 100644 --- a/tools/utils/src/workspace.gen.ts +++ b/tools/utils/src/workspace.gen.ts @@ -48,6 +48,7 @@ export const PackageList = [ workspaceDependencies: [ 'blocksuite/affine/components', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/framework/block-std', 'blocksuite/framework/global', @@ -61,6 +62,7 @@ export const PackageList = [ workspaceDependencies: [ 'blocksuite/affine/components', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/framework/block-std', 'blocksuite/framework/global', @@ -89,6 +91,7 @@ export const PackageList = [ workspaceDependencies: [ 'blocksuite/affine/components', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/affine/widget-drag-handle', 'blocksuite/affine/widget-slash-menu', @@ -119,6 +122,7 @@ export const PackageList = [ 'blocksuite/affine/block-surface', 'blocksuite/affine/components', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/framework/block-std', 'blocksuite/framework/global', @@ -133,6 +137,7 @@ export const PackageList = [ 'blocksuite/affine/block-surface', 'blocksuite/affine/components', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/framework/block-std', 'blocksuite/framework/global', @@ -189,6 +194,7 @@ export const PackageList = [ workspaceDependencies: [ 'blocksuite/affine/components', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/framework/block-std', 'blocksuite/framework/global', @@ -203,7 +209,9 @@ export const PackageList = [ 'blocksuite/affine/block-embed', 'blocksuite/affine/block-surface', 'blocksuite/affine/components', + 'blocksuite/affine/fragment-doc-title', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/framework/block-std', 'blocksuite/framework/global', @@ -217,6 +225,7 @@ export const PackageList = [ workspaceDependencies: [ 'blocksuite/affine/components', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/framework/block-std', 'blocksuite/framework/global', @@ -244,7 +253,9 @@ export const PackageList = [ 'blocksuite/affine/block-surface-ref', 'blocksuite/affine/block-table', 'blocksuite/affine/components', + 'blocksuite/affine/fragment-doc-title', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/affine/widget-drag-handle', 'blocksuite/affine/widget-edgeless-auto-connect', @@ -266,6 +277,7 @@ export const PackageList = [ workspaceDependencies: [ 'blocksuite/affine/components', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/framework/block-std', 'blocksuite/framework/global', @@ -293,6 +305,7 @@ export const PackageList = [ workspaceDependencies: [ 'blocksuite/affine/components', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/framework/block-std', 'blocksuite/affine/data-view', @@ -323,6 +336,22 @@ export const PackageList = [ 'blocksuite/framework/store', ], }, + { + location: 'blocksuite/affine/fragment-doc-title', + name: '@blocksuite/affine-fragment-doc-title', + workspaceDependencies: [ + 'blocksuite/affine/block-frame', + 'blocksuite/affine/block-surface', + 'blocksuite/affine/components', + 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', + 'blocksuite/affine/shared', + 'blocksuite/framework/block-std', + 'blocksuite/framework/global', + 'blocksuite/framework/inline', + 'blocksuite/framework/store', + ], + }, { location: 'blocksuite/affine/fragment-frame-panel', name: '@blocksuite/affine-fragment-frame-panel', @@ -331,6 +360,7 @@ export const PackageList = [ 'blocksuite/affine/block-surface', 'blocksuite/affine/components', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/framework/block-std', 'blocksuite/framework/global', @@ -344,7 +374,9 @@ export const PackageList = [ workspaceDependencies: [ 'blocksuite/affine/block-note', 'blocksuite/affine/components', + 'blocksuite/affine/fragment-doc-title', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/framework/block-std', 'blocksuite/framework/global', @@ -362,6 +394,19 @@ export const PackageList = [ 'blocksuite/framework/store', ], }, + { + location: 'blocksuite/affine/rich-text', + name: '@blocksuite/affine-rich-text', + workspaceDependencies: [ + '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/shared', name: '@blocksuite/affine-shared', @@ -450,9 +495,9 @@ export const PackageList = [ 'blocksuite/affine/block-surface-ref', 'blocksuite/affine/block-table', 'blocksuite/affine/components', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/framework/block-std', - 'blocksuite/affine/data-view', 'blocksuite/framework/global', 'blocksuite/framework/inline', 'blocksuite/framework/store', @@ -495,9 +540,11 @@ export const PackageList = [ 'blocksuite/affine/block-surface-ref', 'blocksuite/affine/block-table', 'blocksuite/affine/components', + 'blocksuite/affine/fragment-doc-title', 'blocksuite/affine/fragment-frame-panel', 'blocksuite/affine/fragment-outline', 'blocksuite/affine/model', + 'blocksuite/affine/rich-text', 'blocksuite/affine/shared', 'blocksuite/affine/widget-drag-handle', 'blocksuite/affine/widget-edgeless-auto-connect', @@ -550,11 +597,6 @@ export const PackageList = [ location: 'blocksuite/integration-test', name: '@blocksuite/integration-test', workspaceDependencies: [ - 'blocksuite/affine/block-note', - 'blocksuite/affine/block-surface', - 'blocksuite/affine/components', - 'blocksuite/affine/model', - 'blocksuite/affine/shared', 'blocksuite/framework/block-std', 'blocksuite/blocks', 'blocksuite/framework/global', @@ -583,10 +625,8 @@ export const PackageList = [ location: 'blocksuite/tests-legacy', name: '@blocksuite/legacy-e2e', workspaceDependencies: [ - 'blocksuite/affine/components', - 'blocksuite/affine/model', - 'blocksuite/affine/shared', 'blocksuite/framework/block-std', + 'blocksuite/blocks', 'blocksuite/framework/global', 'blocksuite/framework/inline', 'blocksuite/integration-test', @@ -902,9 +942,11 @@ export type PackageName = | '@blocksuite/affine-block-table' | '@blocksuite/affine-components' | '@blocksuite/data-view' + | '@blocksuite/affine-fragment-doc-title' | '@blocksuite/affine-fragment-frame-panel' | '@blocksuite/affine-fragment-outline' | '@blocksuite/affine-model' + | '@blocksuite/affine-rich-text' | '@blocksuite/affine-shared' | '@blocksuite/affine-widget-drag-handle' | '@blocksuite/affine-widget-edgeless-auto-connect' diff --git a/tsconfig.json b/tsconfig.json index 1dc038e9d..8a949906c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -72,9 +72,11 @@ { "path": "./blocksuite/affine/block-table" }, { "path": "./blocksuite/affine/components" }, { "path": "./blocksuite/affine/data-view" }, + { "path": "./blocksuite/affine/fragment-doc-title" }, { "path": "./blocksuite/affine/fragment-frame-panel" }, { "path": "./blocksuite/affine/fragment-outline" }, { "path": "./blocksuite/affine/model" }, + { "path": "./blocksuite/affine/rich-text" }, { "path": "./blocksuite/affine/shared" }, { "path": "./blocksuite/affine/widget-drag-handle" }, { "path": "./blocksuite/affine/widget-edgeless-auto-connect" }, diff --git a/yarn.lock b/yarn.lock index e1e6b3c71..83586dfff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2269,6 +2269,7 @@ __metadata: dependencies: "@blocksuite/affine-components": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/global": "workspace:*" @@ -2293,6 +2294,7 @@ __metadata: dependencies: "@blocksuite/affine-components": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/global": "workspace:*" @@ -2342,6 +2344,7 @@ __metadata: dependencies: "@blocksuite/affine-components": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/affine-widget-drag-handle": "workspace:*" "@blocksuite/affine-widget-slash-menu": "workspace:*" @@ -2393,6 +2396,7 @@ __metadata: "@blocksuite/affine-block-surface": "workspace:*" "@blocksuite/affine-components": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/global": "workspace:*" @@ -2416,6 +2420,7 @@ __metadata: "@blocksuite/affine-block-surface": "workspace:*" "@blocksuite/affine-components": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/global": "workspace:*" @@ -2517,6 +2522,7 @@ __metadata: dependencies: "@blocksuite/affine-components": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/global": "workspace:*" @@ -2542,7 +2548,9 @@ __metadata: "@blocksuite/affine-block-embed": "workspace:*" "@blocksuite/affine-block-surface": "workspace:*" "@blocksuite/affine-components": "workspace:*" + "@blocksuite/affine-fragment-doc-title": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/global": "workspace:*" @@ -2566,6 +2574,7 @@ __metadata: dependencies: "@blocksuite/affine-components": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/global": "workspace:*" @@ -2602,7 +2611,9 @@ __metadata: "@blocksuite/affine-block-surface-ref": "workspace:*" "@blocksuite/affine-block-table": "workspace:*" "@blocksuite/affine-components": "workspace:*" + "@blocksuite/affine-fragment-doc-title": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/affine-widget-drag-handle": "workspace:*" "@blocksuite/affine-widget-edgeless-auto-connect": "workspace:*" @@ -2667,6 +2678,7 @@ __metadata: dependencies: "@blocksuite/affine-components": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/global": "workspace:*" @@ -2695,6 +2707,7 @@ __metadata: "@atlaskit/pragmatic-drag-and-drop": "npm:^1.4.0" "@blocksuite/affine-components": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/data-view": "workspace:*" @@ -2743,6 +2756,31 @@ __metadata: languageName: unknown linkType: soft +"@blocksuite/affine-fragment-doc-title@workspace:*, @blocksuite/affine-fragment-doc-title@workspace:blocksuite/affine/fragment-doc-title": + version: 0.0.0-use.local + resolution: "@blocksuite/affine-fragment-doc-title@workspace:blocksuite/affine/fragment-doc-title" + dependencies: + "@blocksuite/affine-block-frame": "workspace:*" + "@blocksuite/affine-block-surface": "workspace:*" + "@blocksuite/affine-components": "workspace:*" + "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" + "@blocksuite/affine-shared": "workspace:*" + "@blocksuite/block-std": "workspace:*" + "@blocksuite/global": "workspace:*" + "@blocksuite/icons": "npm:^2.2.1" + "@blocksuite/inline": "workspace:*" + "@blocksuite/store": "workspace:*" + "@floating-ui/dom": "npm:^1.6.13" + "@lit/context": "npm:^1.1.2" + "@preact/signals-core": "npm:^1.8.0" + "@toeverything/theme": "npm:^1.1.12" + lit: "npm:^3.2.0" + minimatch: "npm:^10.0.1" + zod: "npm:^3.23.8" + languageName: unknown + linkType: soft + "@blocksuite/affine-fragment-frame-panel@workspace:*, @blocksuite/affine-fragment-frame-panel@workspace:blocksuite/affine/fragment-frame-panel": version: 0.0.0-use.local resolution: "@blocksuite/affine-fragment-frame-panel@workspace:blocksuite/affine/fragment-frame-panel" @@ -2751,6 +2789,7 @@ __metadata: "@blocksuite/affine-block-surface": "workspace:*" "@blocksuite/affine-components": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/global": "workspace:*" @@ -2773,7 +2812,9 @@ __metadata: dependencies: "@blocksuite/affine-block-note": "workspace:*" "@blocksuite/affine-components": "workspace:*" + "@blocksuite/affine-fragment-doc-title": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/global": "workspace:*" @@ -2808,6 +2849,40 @@ __metadata: languageName: unknown linkType: soft +"@blocksuite/affine-rich-text@workspace:*, @blocksuite/affine-rich-text@workspace:blocksuite/affine/rich-text": + version: 0.0.0-use.local + resolution: "@blocksuite/affine-rich-text@workspace:blocksuite/affine/rich-text" + dependencies: + "@blocksuite/affine-components": "workspace:*" + "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-shared": "workspace:*" + "@blocksuite/block-std": "workspace:*" + "@blocksuite/global": "workspace:*" + "@blocksuite/icons": "npm:^2.2.1" + "@blocksuite/inline": "workspace:*" + "@blocksuite/store": "workspace:*" + "@floating-ui/dom": "npm:^1.6.13" + "@lit/context": "npm:^1.1.2" + "@lottiefiles/dotlottie-wc": "npm:^0.4.0" + "@preact/signals-core": "npm:^1.8.0" + "@toeverything/theme": "npm:^1.1.12" + "@types/hast": "npm:^3.0.4" + "@types/katex": "npm:^0.16.7" + "@types/lodash-es": "npm:^4.17.12" + "@types/mdast": "npm:^4.0.4" + collapse-white-space: "npm:^2.1.0" + date-fns: "npm:^4.0.0" + katex: "npm:^0.16.11" + lit: "npm:^3.2.0" + lit-html: "npm:^3.2.1" + lodash-es: "npm:^4.17.21" + remark-math: "npm:^6.0.0" + shiki: "npm:^3.0.0" + yjs: "npm:^13.6.21" + zod: "npm:^3.23.8" + languageName: unknown + linkType: soft + "@blocksuite/affine-shared@workspace:*, @blocksuite/affine-shared@workspace:blocksuite/affine/shared": version: 0.0.0-use.local resolution: "@blocksuite/affine-shared@workspace:blocksuite/affine/shared" @@ -2963,6 +3038,7 @@ __metadata: "@blocksuite/affine-block-surface-ref": "workspace:*" "@blocksuite/affine-block-table": "workspace:*" "@blocksuite/affine-components": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/global": "workspace:*" @@ -3070,9 +3146,11 @@ __metadata: "@blocksuite/affine-block-surface-ref": "workspace:*" "@blocksuite/affine-block-table": "workspace:*" "@blocksuite/affine-components": "workspace:*" + "@blocksuite/affine-fragment-doc-title": "workspace:*" "@blocksuite/affine-fragment-frame-panel": "workspace:*" "@blocksuite/affine-fragment-outline": "workspace:*" "@blocksuite/affine-model": "workspace:*" + "@blocksuite/affine-rich-text": "workspace:*" "@blocksuite/affine-shared": "workspace:*" "@blocksuite/affine-widget-drag-handle": "workspace:*" "@blocksuite/affine-widget-edgeless-auto-connect": "workspace:*" @@ -3162,11 +3240,6 @@ __metadata: version: 0.0.0-use.local resolution: "@blocksuite/integration-test@workspace:blocksuite/integration-test" dependencies: - "@blocksuite/affine-block-note": "workspace:*" - "@blocksuite/affine-block-surface": "workspace:*" - "@blocksuite/affine-components": "workspace:*" - "@blocksuite/affine-model": "workspace:*" - "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" "@blocksuite/blocks": "workspace:*" "@blocksuite/global": "workspace:*" @@ -3194,10 +3267,8 @@ __metadata: version: 0.0.0-use.local resolution: "@blocksuite/legacy-e2e@workspace:blocksuite/tests-legacy" dependencies: - "@blocksuite/affine-components": "workspace:*" - "@blocksuite/affine-model": "workspace:*" - "@blocksuite/affine-shared": "workspace:*" "@blocksuite/block-std": "workspace:*" + "@blocksuite/blocks": "workspace:*" "@blocksuite/global": "workspace:*" "@blocksuite/inline": "workspace:*" "@blocksuite/integration-test": "workspace:*"