@formicoidea/labre-core 0.31.0 → 0.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_pkgs/affine-block-attachment/attachment-block.js +1 -1
- package/dist/_pkgs/affine-block-callout/callout-block.d.ts +6 -0
- package/dist/_pkgs/affine-block-callout/callout-block.js +26 -4
- package/dist/_pkgs/affine-block-callout/callout-keymap.js +59 -19
- package/dist/_pkgs/affine-block-callout/commands/callout-to-paragraph.d.ts +20 -0
- package/dist/_pkgs/affine-block-callout/commands/callout-to-paragraph.js +60 -0
- package/dist/_pkgs/affine-block-callout/commands/split-callout.d.ts +17 -0
- package/dist/_pkgs/affine-block-callout/commands/split-callout.js +42 -0
- package/dist/_pkgs/affine-block-callout/configs/slash-menu.js +9 -6
- package/dist/_pkgs/affine-block-callout/emoji-margin.d.ts +9 -0
- package/dist/_pkgs/affine-block-callout/emoji-margin.js +36 -0
- package/dist/_pkgs/affine-block-callout/emoji-menu.d.ts +5 -1
- package/dist/_pkgs/affine-block-callout/emoji-menu.js +5 -0
- package/dist/_pkgs/affine-block-code/code-block-inline.js +1 -1
- package/dist/_pkgs/affine-block-code/code-block.d.ts +14 -0
- package/dist/_pkgs/affine-block-code/code-block.js +44 -6
- package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.d.ts +2 -0
- package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.js +23 -14
- package/dist/_pkgs/affine-block-code/code-toolbar/components/more-menu.d.ts +16 -0
- package/dist/_pkgs/affine-block-code/code-toolbar/components/more-menu.js +93 -0
- package/dist/_pkgs/affine-block-code/code-toolbar/config.js +54 -5
- package/dist/_pkgs/affine-block-code/code-toolbar/index.js +1 -1
- package/dist/_pkgs/affine-block-code/effects.d.ts +2 -0
- package/dist/_pkgs/affine-block-code/effects.js +2 -0
- package/dist/_pkgs/affine-block-code/highlight/affine-code-unit.js +6 -1
- package/dist/_pkgs/affine-block-code/index.d.ts +1 -0
- package/dist/_pkgs/affine-block-code/index.js +1 -0
- package/dist/_pkgs/affine-block-code/line-numbers.d.ts +25 -0
- package/dist/_pkgs/affine-block-code/line-numbers.js +27 -0
- package/dist/_pkgs/affine-block-code/styles.js +31 -0
- package/dist/_pkgs/affine-block-data-view/data-view-block.js +1 -0
- package/dist/_pkgs/affine-block-database/components/title/index.js +4 -1
- package/dist/_pkgs/affine-block-database/configs/slash-menu.js +28 -1
- package/dist/_pkgs/affine-block-database/data-source.js +1 -2
- package/dist/_pkgs/affine-block-database/database-block.js +13 -0
- package/dist/_pkgs/affine-block-database/external-data-source.js +1 -1
- package/dist/_pkgs/affine-block-database/properties/paste-url.d.ts +24 -0
- package/dist/_pkgs/affine-block-database/properties/paste-url.js +98 -0
- package/dist/_pkgs/affine-block-database/properties/rich-text/cell-renderer.js +9 -19
- package/dist/_pkgs/affine-block-database/properties/title/text.js +20 -25
- package/dist/_pkgs/affine-block-database/views/index.js +1 -0
- package/dist/_pkgs/affine-block-edgeless-text/edgeless-text-block.js +11 -1
- package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.d.ts +3 -0
- package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.js +48 -1
- package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/font-size.d.ts +17 -0
- package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/font-size.js +24 -0
- package/dist/_pkgs/affine-block-embed/embed-figma-block/embed-figma-service.js +1 -1
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.js +2 -2
- package/dist/_pkgs/affine-block-embed-doc/common/doc-trashed.d.ts +9 -0
- package/dist/_pkgs/affine-block-embed-doc/common/doc-trashed.js +10 -0
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/toolbar.js +1 -1
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/embed-linked-doc-block.js +8 -4
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/utils.js +1 -1
- package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/configs/toolbar.js +1 -1
- package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.d.ts +4 -0
- package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.js +23 -4
- package/dist/_pkgs/affine-block-frame/frame-manager.d.ts +13 -0
- package/dist/_pkgs/affine-block-frame/frame-manager.js +34 -2
- package/dist/_pkgs/affine-block-frame/frame-tool.js +1 -1
- package/dist/_pkgs/affine-block-image/components/page-image-block.js +1 -1
- package/dist/_pkgs/affine-block-image/image-edgeless-block.js +1 -1
- package/dist/_pkgs/affine-block-latex/styles.js +6 -1
- package/dist/_pkgs/affine-block-list/utils/forward-delete.js +1 -1
- package/dist/_pkgs/affine-block-note/commands/select-block.js +1 -1
- package/dist/_pkgs/affine-block-note/commands/select-blocks-between.js +1 -1
- package/dist/_pkgs/affine-block-note/move-block.js +1 -1
- package/dist/_pkgs/affine-block-note/note-edgeless-block.d.ts +9 -0
- package/dist/_pkgs/affine-block-note/note-edgeless-block.js +29 -1
- package/dist/_pkgs/affine-block-paragraph/utils/forward-delete.js +2 -2
- package/dist/_pkgs/affine-block-paragraph/utils/merge-with-prev.js +1 -1
- package/dist/_pkgs/affine-block-root/commands/pivot-commands.d.ts +37 -0
- package/dist/_pkgs/affine-block-root/commands/pivot-commands.js +168 -0
- package/dist/_pkgs/affine-block-root/commands/reading-commands.d.ts +23 -0
- package/dist/_pkgs/affine-block-root/commands/reading-commands.js +107 -0
- package/dist/_pkgs/affine-block-root/commands/tag-commands.d.ts +47 -0
- package/dist/_pkgs/affine-block-root/commands/tag-commands.js +159 -0
- package/dist/_pkgs/affine-block-root/configs/toolbar.d.ts +1 -0
- package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.js +10 -3
- package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/render-linked-doc.js +1 -1
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.js +27 -2
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.js +11 -2
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-service.js +14 -0
- package/dist/_pkgs/affine-block-root/edgeless/index.d.ts +1 -0
- package/dist/_pkgs/affine-block-root/edgeless/index.js +1 -0
- package/dist/_pkgs/affine-block-root/edgeless/reserved-keys.d.ts +21 -0
- package/dist/_pkgs/affine-block-root/edgeless/reserved-keys.js +34 -0
- package/dist/_pkgs/affine-block-root/edgeless/utils/clipboard-utils.js +1 -1
- package/dist/_pkgs/affine-block-root/edgeless/utils/clone-utils.d.ts +7 -1
- package/dist/_pkgs/affine-block-root/edgeless/utils/clone-utils.js +11 -2
- package/dist/_pkgs/affine-block-root/index.d.ts +4 -1
- package/dist/_pkgs/affine-block-root/index.js +4 -1
- package/dist/_pkgs/affine-block-root/keyboard/commands.d.ts +2 -0
- package/dist/_pkgs/affine-block-root/keyboard/commands.js +147 -0
- package/dist/_pkgs/affine-block-root/view.js +13 -4
- package/dist/_pkgs/affine-block-surface/adapters/markdown/element-adapter/type.js +1 -1
- package/dist/_pkgs/affine-block-surface/adapters/plain-text/element-adapter/type.js +1 -1
- package/dist/_pkgs/affine-block-surface/commands/reassociate-connectors.js +0 -1
- package/dist/_pkgs/affine-block-surface/effects.js +6 -0
- package/dist/_pkgs/affine-block-surface/element-model/index.d.ts +21 -3
- package/dist/_pkgs/affine-block-surface/element-model/index.js +14 -2
- package/dist/_pkgs/affine-block-surface/extensions/audit.d.ts +107 -0
- package/dist/_pkgs/affine-block-surface/extensions/audit.js +489 -0
- package/dist/_pkgs/affine-block-surface/extensions/crud-extension.d.ts +14 -0
- package/dist/_pkgs/affine-block-surface/extensions/crud-extension.js +37 -5
- package/dist/_pkgs/affine-block-surface/extensions/editor-anchored-panel.d.ts +133 -0
- package/dist/_pkgs/affine-block-surface/extensions/editor-anchored-panel.js +327 -0
- package/dist/_pkgs/affine-block-surface/extensions/element-renderer.js +1 -1
- package/dist/_pkgs/affine-block-surface/extensions/export-manager/export-manager.js +1 -1
- package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +17 -0
- package/dist/_pkgs/affine-block-surface/extensions/index.js +17 -0
- package/dist/_pkgs/affine-block-surface/extensions/interchange-import.d.ts +172 -0
- package/dist/_pkgs/affine-block-surface/extensions/interchange-import.js +393 -0
- package/dist/_pkgs/affine-block-surface/extensions/interchange.d.ts +306 -0
- package/dist/_pkgs/affine-block-surface/extensions/interchange.js +64 -0
- package/dist/_pkgs/affine-block-surface/extensions/map-quality-widget.d.ts +146 -0
- package/dist/_pkgs/affine-block-surface/extensions/map-quality-widget.js +528 -0
- package/dist/_pkgs/affine-block-surface/extensions/map-quality.d.ts +109 -0
- package/dist/_pkgs/affine-block-surface/extensions/map-quality.js +84 -0
- package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.d.ts +248 -0
- package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.js +248 -0
- package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.d.ts +15 -0
- package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.js +158 -0
- package/dist/_pkgs/affine-block-surface/extensions/reading-widget.d.ts +145 -0
- package/dist/_pkgs/affine-block-surface/extensions/reading-widget.js +588 -0
- package/dist/_pkgs/affine-block-surface/extensions/reading.d.ts +494 -0
- package/dist/_pkgs/affine-block-surface/extensions/reading.js +767 -0
- package/dist/_pkgs/affine-block-surface/extensions/spotlight.d.ts +45 -0
- package/dist/_pkgs/affine-block-surface/extensions/spotlight.js +177 -0
- package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.d.ts +107 -0
- package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.js +958 -0
- package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.d.ts +10 -0
- package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.js +295 -0
- package/dist/_pkgs/affine-block-surface/extensions/validation-toolbar.d.ts +27 -0
- package/dist/_pkgs/affine-block-surface/extensions/validation-toolbar.js +361 -0
- package/dist/_pkgs/affine-block-surface/extensions/validation.d.ts +2129 -0
- package/dist/_pkgs/affine-block-surface/extensions/validation.js +4620 -0
- package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.d.ts +330 -0
- package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.js +1004 -0
- package/dist/_pkgs/affine-block-surface/extensions/violation-timeline.d.ts +80 -0
- package/dist/_pkgs/affine-block-surface/extensions/violation-timeline.js +123 -0
- package/dist/_pkgs/affine-block-surface/framework-background/def.d.ts +610 -0
- package/dist/_pkgs/affine-block-surface/framework-background/def.js +206 -0
- package/dist/_pkgs/affine-block-surface/framework-background/facts.d.ts +188 -0
- package/dist/_pkgs/affine-block-surface/framework-background/facts.js +284 -0
- package/dist/_pkgs/affine-block-surface/framework-background/index.d.ts +5 -0
- package/dist/_pkgs/affine-block-surface/framework-background/index.js +5 -0
- package/dist/_pkgs/affine-block-surface/framework-background/interaction.d.ts +12 -0
- package/dist/_pkgs/affine-block-surface/framework-background/interaction.js +24 -0
- package/dist/_pkgs/affine-block-surface/framework-background/labels.d.ts +99 -0
- package/dist/_pkgs/affine-block-surface/framework-background/labels.js +193 -0
- package/dist/_pkgs/affine-block-surface/framework-background/renderer.d.ts +8 -0
- package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +399 -0
- package/dist/_pkgs/affine-block-surface/index.d.ts +1 -0
- package/dist/_pkgs/affine-block-surface/index.js +1 -0
- package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.d.ts +69 -3
- package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.js +333 -44
- package/dist/_pkgs/affine-block-surface/renderer/dom-renderer.js +18 -2
- package/dist/_pkgs/affine-block-surface/renderer/overlay.js +1 -1
- package/dist/_pkgs/affine-block-surface/tool/default-tool.js +8 -0
- package/dist/_pkgs/affine-block-surface/utils/font.js +9 -3
- package/dist/_pkgs/affine-block-surface/view.d.ts +17 -0
- package/dist/_pkgs/affine-block-surface/view.js +57 -2
- package/dist/_pkgs/affine-block-surface-ref/portal/note.js +2 -2
- package/dist/_pkgs/affine-block-table/commands.js +1 -1
- package/dist/_pkgs/affine-block-table/selection-controller.d.ts +6 -0
- package/dist/_pkgs/affine-block-table/selection-controller.js +24 -1
- package/dist/_pkgs/affine-block-table/table-block.js +8 -2
- package/dist/_pkgs/affine-block-table/table-cell.js +5 -6
- package/dist/_pkgs/affine-block-table/table-keymap.d.ts +18 -0
- package/dist/_pkgs/affine-block-table/table-keymap.js +41 -0
- package/dist/_pkgs/affine-block-table/utils.d.ts +7 -0
- package/dist/_pkgs/affine-block-table/utils.js +12 -0
- package/dist/_pkgs/affine-block-table/view.js +2 -0
- package/dist/_pkgs/affine-components/caption/captioned-block-component.js +2 -1
- package/dist/_pkgs/affine-components/context-menu/button.d.ts +7 -0
- package/dist/_pkgs/affine-components/context-menu/button.js +7 -2
- package/dist/_pkgs/affine-components/context-menu/input.d.ts +4 -0
- package/dist/_pkgs/affine-components/context-menu/input.js +12 -0
- package/dist/_pkgs/affine-components/context-menu/menu-all.d.ts +2 -0
- package/dist/_pkgs/affine-components/context-menu/menu-renderer.js +8 -1
- package/dist/_pkgs/affine-components/context-menu/sub-menu.js +3 -0
- package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.js +1 -1
- package/dist/_pkgs/affine-components/embed-card-modal/embed-card-edit-modal.js +1 -1
- package/dist/_pkgs/affine-components/filterable-list/styles.js +1 -1
- package/dist/_pkgs/affine-components/highlight-dropdown-menu/highlight-duotone-icon.js +8 -8
- package/dist/_pkgs/affine-components/highlight-dropdown-menu/text-duotone-icon.js +11 -11
- package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.d.ts +28 -0
- package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.js +231 -0
- package/dist/_pkgs/affine-components/icon-picker/emoji-data.d.ts +40 -0
- package/dist/_pkgs/affine-components/icon-picker/emoji-data.js +99 -0
- package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.d.ts +32 -0
- package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.js +276 -0
- package/dist/_pkgs/affine-components/icon-picker/icon-data.d.ts +34 -0
- package/dist/_pkgs/affine-components/icon-picker/icon-data.js +83 -0
- package/dist/_pkgs/affine-components/icon-picker/icon-picker.d.ts +39 -0
- package/dist/_pkgs/affine-components/icon-picker/icon-picker.js +233 -0
- package/dist/_pkgs/affine-components/icon-picker/index.d.ts +8 -0
- package/dist/_pkgs/affine-components/icon-picker/index.js +15 -0
- package/dist/_pkgs/affine-components/icon-picker/recent-store.d.ts +8 -0
- package/dist/_pkgs/affine-components/icon-picker/recent-store.js +41 -0
- package/dist/_pkgs/affine-components/icon-picker/styles.d.ts +5 -0
- package/dist/_pkgs/affine-components/icon-picker/styles.js +166 -0
- package/dist/_pkgs/affine-components/icon-picker/types.d.ts +22 -0
- package/dist/_pkgs/affine-components/icon-picker/types.js +10 -0
- package/dist/_pkgs/affine-components/icons/text.js +426 -426
- package/dist/_pkgs/affine-components/open-doc-dropdown-menu/dropdown-menu.d.ts +1 -0
- package/dist/_pkgs/affine-components/peek/peekable.js +1 -1
- package/dist/_pkgs/affine-components/portal/portal.d.ts +1 -1
- package/dist/_pkgs/affine-components/toolbar/index.d.ts +1 -0
- package/dist/_pkgs/affine-components/toolbar/index.js +1 -0
- package/dist/_pkgs/affine-components/toolbar/menu-button.js +2 -1
- package/dist/_pkgs/affine-components/toolbar/picker-menu.d.ts +55 -0
- package/dist/_pkgs/affine-components/toolbar/picker-menu.js +47 -0
- package/dist/_pkgs/affine-components/toolbar/toolbar.js +11 -10
- package/dist/_pkgs/affine-foundation/view.js +11 -2
- package/dist/_pkgs/affine-fragment-frame-panel/body/frame-panel-body.js +2 -2
- package/dist/_pkgs/affine-fragment-frame-panel/header/frame-panel-header.js +2 -2
- package/dist/_pkgs/affine-fragment-frame-panel/header/frames-setting-menu.js +1 -1
- package/dist/_pkgs/affine-fragment-outline/mobile-outline-panel.js +1 -1
- package/dist/_pkgs/affine-gfx-brush/index.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-brush/index.js +1 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/brush.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/brush.js +11 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/highlighter.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/highlighter.js +11 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/index.d.ts +2 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/index.js +2 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/shared.d.ts +14 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/shared.js +54 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/index.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/index.js +4 -0
- package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-tool-button.js +1 -1
- package/dist/_pkgs/affine-gfx-brush/view.d.ts +14 -0
- package/dist/_pkgs/affine-gfx-brush/view.js +29 -3
- package/dist/_pkgs/affine-gfx-connector/connector-manager.js +39 -16
- package/dist/_pkgs/affine-gfx-connector/connector-tool.d.ts +26 -1
- package/dist/_pkgs/affine-gfx-connector/connector-tool.js +12 -3
- package/dist/_pkgs/affine-gfx-connector/connector-watcher.js +1 -4
- package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.d.ts +123 -0
- package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.js +282 -0
- package/dist/_pkgs/affine-gfx-connector/direction/direction-widget.d.ts +65 -0
- package/dist/_pkgs/affine-gfx-connector/direction/direction-widget.js +395 -0
- package/dist/_pkgs/affine-gfx-connector/direction/index.d.ts +4 -0
- package/dist/_pkgs/affine-gfx-connector/direction/index.js +4 -0
- package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.d.ts +72 -0
- package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.js +185 -0
- package/dist/_pkgs/affine-gfx-connector/direction/typed-edge.d.ts +69 -0
- package/dist/_pkgs/affine-gfx-connector/direction/typed-edge.js +66 -0
- package/dist/_pkgs/affine-gfx-connector/effects.d.ts +2 -0
- package/dist/_pkgs/affine-gfx-connector/effects.js +2 -0
- package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.js +78 -41
- package/dist/_pkgs/affine-gfx-connector/element-renderer/index.js +1 -1
- package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.js +1 -1
- package/dist/_pkgs/affine-gfx-connector/index.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-connector/index.js +1 -0
- package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +50 -0
- package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +68 -2
- package/dist/_pkgs/affine-gfx-connector/view.js +16 -0
- package/dist/_pkgs/affine-gfx-group/command/group-api.js +150 -62
- package/dist/_pkgs/affine-gfx-group/text/edgeless-group-title-editor.js +4 -1
- package/dist/_pkgs/affine-gfx-mindmap/adapter/markdown/index.js +1 -1
- package/dist/_pkgs/affine-gfx-mindmap/adapter/utils.js +1 -1
- package/dist/_pkgs/affine-gfx-mindmap/templates/index.js +583 -4
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-menu.js +23 -23
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-tool-button.js +5 -1
- package/dist/_pkgs/affine-gfx-mindmap/view/utils.js +1 -1
- package/dist/_pkgs/affine-gfx-note/overlay/overlay.js +1 -1
- package/dist/_pkgs/affine-gfx-note/toolbar/note-senior-button.js +1 -1
- package/dist/_pkgs/affine-gfx-pointer/tools/pan-tool.d.ts +16 -0
- package/dist/_pkgs/affine-gfx-pointer/tools/pan-tool.js +102 -32
- package/dist/_pkgs/affine-gfx-shape/commands.d.ts +2 -0
- package/dist/_pkgs/affine-gfx-shape/commands.js +33 -0
- package/dist/_pkgs/affine-gfx-shape/consts.js +1 -1
- package/dist/_pkgs/affine-gfx-shape/draggable/shape-draggable.js +1 -1
- package/dist/_pkgs/affine-gfx-shape/element-renderer/shape/polygon.js +17 -9
- package/dist/_pkgs/affine-gfx-shape/element-renderer/shape/utils.js +8 -3
- package/dist/_pkgs/affine-gfx-shape/element-renderer/shape-dom/index.js +48 -19
- package/dist/_pkgs/affine-gfx-shape/element-view.js +19 -12
- package/dist/_pkgs/affine-gfx-shape/index.d.ts +1 -1
- package/dist/_pkgs/affine-gfx-shape/index.js +1 -1
- package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.js +1 -1
- package/dist/_pkgs/affine-gfx-shape/overlay/polygon-vertex-editing-overlay.js +12 -7
- package/dist/_pkgs/affine-gfx-shape/overlay/shape-overlay.js +1 -1
- package/dist/_pkgs/affine-gfx-shape/polygon-tool.js +4 -2
- package/dist/_pkgs/affine-gfx-shape/shape-tool.js +1 -1
- package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.d.ts +26 -0
- package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.js +124 -15
- package/dist/_pkgs/affine-gfx-shape/view.js +3 -3
- package/dist/_pkgs/affine-gfx-template/builtin/other.js +66 -17
- package/dist/_pkgs/affine-gfx-template/toolbar/overlay-scrollbar.js +1 -1
- package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.js +1 -1
- package/dist/_pkgs/affine-gfx-template/toolbar/template-tool-button.d.ts +2 -0
- package/dist/_pkgs/affine-gfx-template/toolbar/template-tool-button.js +18 -1
- package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.js +9 -5
- package/dist/_pkgs/affine-gfx-text/toolbar/actions.js +1 -1
- package/dist/_pkgs/affine-inline-latex/command.js +46 -26
- package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.d.ts +10 -0
- package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.js +23 -0
- package/dist/_pkgs/affine-inline-link/command.js +1 -1
- package/dist/_pkgs/affine-inline-link/link-node/affine-link.js +4 -1
- package/dist/_pkgs/affine-inline-preset/adapters/html/html-inline.d.ts +3 -0
- package/dist/_pkgs/affine-inline-preset/adapters/html/html-inline.js +29 -1
- package/dist/_pkgs/affine-inline-preset/command/format-block.js +1 -1
- package/dist/_pkgs/affine-inline-preset/command/format-native.js +2 -2
- package/dist/_pkgs/affine-inline-preset/command/format-text.js +1 -1
- package/dist/_pkgs/affine-inline-preset/inline-spec.js +1 -1
- package/dist/_pkgs/affine-inline-reference/reference-node/reference-node.js +1 -1
- package/dist/_pkgs/affine-model/blocks/code/code-model.d.ts +1 -0
- package/dist/_pkgs/affine-model/blocks/code/code-model.js +1 -0
- package/dist/_pkgs/affine-model/elements/bpmn/node.d.ts +40 -7
- package/dist/_pkgs/affine-model/elements/bpmn/node.js +4 -2
- package/dist/_pkgs/affine-model/elements/bpmn/pool.d.ts +74 -17
- package/dist/_pkgs/affine-model/elements/bpmn/pool.js +55 -26
- package/dist/_pkgs/affine-model/elements/c4/board.d.ts +88 -0
- package/dist/_pkgs/affine-model/elements/c4/board.js +128 -0
- package/dist/_pkgs/affine-model/elements/c4/boundary.d.ts +63 -0
- package/dist/_pkgs/affine-model/elements/c4/boundary.js +134 -0
- package/dist/_pkgs/affine-model/elements/c4/index.d.ts +3 -0
- package/dist/_pkgs/affine-model/elements/c4/index.js +3 -0
- package/dist/_pkgs/affine-model/elements/c4/node.d.ts +97 -0
- package/dist/_pkgs/affine-model/elements/c4/node.js +130 -0
- package/dist/_pkgs/affine-model/elements/connector/connector.js +25 -1
- package/dist/_pkgs/affine-model/elements/context-map/context-map.d.ts +27 -0
- package/dist/_pkgs/affine-model/elements/context-map/context-map.js +94 -0
- package/dist/_pkgs/affine-model/elements/context-map/index.d.ts +1 -0
- package/dist/_pkgs/affine-model/elements/context-map/index.js +1 -0
- package/dist/_pkgs/affine-model/elements/core-domain/core-domain.d.ts +34 -17
- package/dist/_pkgs/affine-model/elements/core-domain/core-domain.js +28 -26
- package/dist/_pkgs/affine-model/elements/edgy/board.d.ts +32 -0
- package/dist/_pkgs/affine-model/elements/edgy/board.js +112 -0
- package/dist/_pkgs/affine-model/elements/edgy/facets.d.ts +12 -0
- package/dist/_pkgs/affine-model/elements/edgy/facets.js +25 -1
- package/dist/_pkgs/affine-model/elements/edgy/index.d.ts +1 -0
- package/dist/_pkgs/affine-model/elements/edgy/index.js +1 -0
- package/dist/_pkgs/affine-model/elements/event-storming/event-storming.d.ts +36 -0
- package/dist/_pkgs/affine-model/elements/event-storming/event-storming.js +103 -0
- package/dist/_pkgs/affine-model/elements/event-storming/index.d.ts +1 -0
- package/dist/_pkgs/affine-model/elements/event-storming/index.js +1 -0
- package/dist/_pkgs/affine-model/elements/framework-background/background.d.ts +42 -0
- package/dist/_pkgs/affine-model/elements/framework-background/background.js +42 -0
- package/dist/_pkgs/affine-model/elements/framework-background/index.d.ts +1 -0
- package/dist/_pkgs/affine-model/elements/framework-background/index.js +1 -0
- package/dist/_pkgs/affine-model/elements/index.d.ts +14 -1
- package/dist/_pkgs/affine-model/elements/index.js +4 -0
- package/dist/_pkgs/affine-model/elements/mindmap/mindmap.js +8 -3
- package/dist/_pkgs/affine-model/elements/mindmap/style.d.ts +10 -0
- package/dist/_pkgs/affine-model/elements/mindmap/style.js +8 -0
- package/dist/_pkgs/affine-model/elements/shape/api/polygon.js +2 -8
- package/dist/_pkgs/affine-model/elements/wardley/wardley.d.ts +21 -29
- package/dist/_pkgs/affine-model/elements/wardley/wardley.js +41 -48
- package/dist/_pkgs/affine-shared/adapters/html/block-adapter.js +1 -1
- package/dist/_pkgs/affine-shared/adapters/markdown/block-adapter.js +1 -1
- package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.d.ts +6 -1
- package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.js +161 -3
- package/dist/_pkgs/affine-shared/adapters/markdown/markdown.js +5 -1
- package/dist/_pkgs/affine-shared/adapters/notion-html/block-adapter.js +1 -1
- package/dist/_pkgs/affine-shared/adapters/notion-html/delta-converter.js +1 -1
- package/dist/_pkgs/affine-shared/adapters/plain-text/block-adapter.js +1 -1
- package/dist/_pkgs/affine-shared/adapters/plain-text/delta-converter.js +1 -1
- package/dist/_pkgs/affine-shared/adapters/types/delta-converter.d.ts +1 -0
- package/dist/_pkgs/affine-shared/adapters/utils/color.d.ts +24 -0
- package/dist/_pkgs/affine-shared/adapters/utils/color.js +283 -0
- package/dist/_pkgs/affine-shared/adapters/utils/index.d.ts +1 -0
- package/dist/_pkgs/affine-shared/adapters/utils/index.js +1 -0
- package/dist/_pkgs/affine-shared/commands/block-crud/get-selected-blocks.js +10 -2
- package/dist/_pkgs/affine-shared/commands/model-crud/draft-selected-models.js +1 -1
- package/dist/_pkgs/affine-shared/commands/selection/focus-block-end.js +1 -1
- package/dist/_pkgs/affine-shared/commands/selection/focus-block-start.js +1 -1
- package/dist/_pkgs/affine-shared/consts/index.d.ts +10 -0
- package/dist/_pkgs/affine-shared/consts/index.js +10 -0
- package/dist/_pkgs/affine-shared/services/artefact-catalogue-service.d.ts +55 -0
- package/dist/_pkgs/affine-shared/services/artefact-catalogue-service.js +35 -0
- package/dist/_pkgs/affine-shared/services/audit-service.d.ts +311 -0
- package/dist/_pkgs/affine-shared/services/audit-service.js +228 -0
- package/dist/_pkgs/affine-shared/services/command-usage-service.d.ts +31 -0
- package/dist/_pkgs/affine-shared/services/command-usage-service.js +109 -0
- package/dist/_pkgs/affine-shared/services/comment-service/block-comment-manager.js +1 -1
- package/dist/_pkgs/affine-shared/services/doc-display-meta-service.js +1 -1
- package/dist/_pkgs/affine-shared/services/edit-props-store.d.ts +7 -0
- package/dist/_pkgs/affine-shared/services/edit-props-store.js +11 -0
- package/dist/_pkgs/affine-shared/services/embed-iframe/embed-iframe-config.js +1 -1
- package/dist/_pkgs/affine-shared/services/font-loader/font-loader-service.d.ts +26 -1
- package/dist/_pkgs/affine-shared/services/font-loader/font-loader-service.js +124 -7
- package/dist/_pkgs/affine-shared/services/index.d.ts +7 -0
- package/dist/_pkgs/affine-shared/services/index.js +7 -0
- package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.d.ts +129 -0
- package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +312 -0
- package/dist/_pkgs/affine-shared/services/pivot-properties-service.d.ts +217 -0
- package/dist/_pkgs/affine-shared/services/pivot-properties-service.js +114 -0
- package/dist/_pkgs/affine-shared/services/telemetry-service/code-block.d.ts +1 -1
- package/dist/_pkgs/affine-shared/services/telemetry-service/lifecycle.d.ts +255 -1
- package/dist/_pkgs/affine-shared/services/telemetry-service/telemetry-service.d.ts +2 -2
- package/dist/_pkgs/affine-shared/services/telemetry-service/types.d.ts +6 -1
- package/dist/_pkgs/affine-shared/services/toolbar-service/action.d.ts +10 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/index.d.ts +1 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/index.js +1 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/layout.d.ts +134 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/layout.js +146 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/registry.d.ts +44 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/registry.js +161 -3
- package/dist/_pkgs/affine-shared/services/translation-service/index.d.ts +68 -0
- package/dist/_pkgs/affine-shared/services/translation-service/index.js +39 -0
- package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.d.ts +155 -0
- package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.js +256 -0
- package/dist/_pkgs/affine-shared/test-utils/affine-template.js +1 -1
- package/dist/_pkgs/affine-shared/utils/dom/point-to-range.d.ts +4 -0
- package/dist/_pkgs/affine-shared/utils/dom/point-to-range.js +58 -2
- package/dist/_pkgs/affine-shared/utils/dom/viewport.d.ts +60 -0
- package/dist/_pkgs/affine-shared/utils/dom/viewport.js +58 -0
- package/dist/_pkgs/affine-shared/utils/edgeless.js +1 -1
- package/dist/_pkgs/affine-shared/utils/file/filesys.d.ts +34 -0
- package/dist/_pkgs/affine-shared/utils/file/filesys.js +48 -7
- package/dist/_pkgs/affine-shared/utils/print-to-pdf.d.ts +21 -0
- package/dist/_pkgs/affine-shared/utils/print-to-pdf.js +166 -32
- package/dist/_pkgs/affine-shared/utils/zod-schema.d.ts +7 -0
- package/dist/_pkgs/affine-shared/utils/zod-schema.js +25 -1
- package/dist/_pkgs/affine-widget-drag-handle/utils.js +1 -1
- package/dist/_pkgs/affine-widget-drag-handle/watchers/edgeless-watcher.d.ts +19 -10
- package/dist/_pkgs/affine-widget-drag-handle/watchers/edgeless-watcher.js +122 -23
- package/dist/_pkgs/affine-widget-drag-handle/watchers/pointer-event-watcher.d.ts +2 -0
- package/dist/_pkgs/affine-widget-drag-handle/watchers/pointer-event-watcher.js +25 -4
- package/dist/_pkgs/affine-widget-edgeless-auto-connect/index.js +1 -1
- package/dist/_pkgs/affine-widget-edgeless-dragging-area/edgeless-dragging-area-rect.js +1 -1
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/auto-complete-panel.js +10 -5
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.d.ts +15 -1
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.js +37 -32
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-element-link.js +5 -4
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-selected-rect.js +19 -9
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.d.ts +16 -2
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.js +19 -2
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-default.d.ts +14 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-default.js +40 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.d.ts +158 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.js +572 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/catalogue-groups.d.ts +46 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/catalogue-groups.js +66 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/chord-format.d.ts +13 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/chord-format.js +50 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/edgeless-toolbar.d.ts +6 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/edgeless-toolbar.js +15 -5
- package/dist/_pkgs/affine-widget-edgeless-toolbar/effects.d.ts +2 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/effects.js +2 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/extension/index.d.ts +7 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/index.d.ts +5 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +5 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +57 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +140 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/view.js +9 -0
- package/dist/_pkgs/affine-widget-frame-title/edgeless-frame-title-editor.js +4 -1
- package/dist/_pkgs/affine-widget-keyboard-toolbar/icons.js +98 -98
- package/dist/_pkgs/affine-widget-keyboard-toolbar/keyboard-tool-panel.js +1 -1
- package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.js +1 -1
- package/dist/_pkgs/affine-widget-linked-doc/linked-doc-popover.js +2 -15
- package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.d.ts +10 -1
- package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.js +133 -6
- package/dist/_pkgs/affine-widget-linked-doc/transformers/utils.d.ts +10 -0
- package/dist/_pkgs/affine-widget-linked-doc/transformers/utils.js +120 -3
- package/dist/_pkgs/affine-widget-linked-doc/utils.d.ts +12 -0
- package/dist/_pkgs/affine-widget-linked-doc/utils.js +33 -0
- package/dist/_pkgs/affine-widget-page-dragging-area/index.js +1 -1
- package/dist/_pkgs/affine-widget-remote-selection/doc/doc-remote-selection.js +1 -1
- package/dist/_pkgs/affine-widget-remote-selection/edgeless/index.js +6 -4
- package/dist/_pkgs/affine-widget-slash-menu/slash-menu-popover.js +8 -4
- package/dist/_pkgs/affine-widget-slash-menu/utils.d.ts +9 -0
- package/dist/_pkgs/affine-widget-slash-menu/utils.js +24 -0
- package/dist/_pkgs/affine-widget-toolbar/toolbar.d.ts +6 -0
- package/dist/_pkgs/affine-widget-toolbar/toolbar.js +40 -8
- package/dist/_pkgs/affine-widget-toolbar/utils.d.ts +146 -3
- package/dist/_pkgs/affine-widget-toolbar/utils.js +744 -58
- package/dist/_pkgs/data-view/core/common/property-menu.js +3 -16
- package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.d.ts +4 -0
- package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.js +28 -1
- package/dist/_pkgs/data-view/core/data-view.d.ts +3 -1
- package/dist/_pkgs/data-view/core/data-view.js +25 -3
- package/dist/_pkgs/data-view/core/detail/field.js +2 -2
- package/dist/_pkgs/data-view/core/detail/selection.d.ts +4 -2
- package/dist/_pkgs/data-view/core/detail/selection.js +23 -7
- package/dist/_pkgs/data-view/core/effect.js +2 -0
- package/dist/_pkgs/data-view/core/filter/eval.js +36 -23
- package/dist/_pkgs/data-view/core/filter/filter-fn/matcher.d.ts +7 -0
- package/dist/_pkgs/data-view/core/filter/filter-fn/matcher.js +12 -0
- package/dist/_pkgs/data-view/core/group-by/compare-date-keys.d.ts +11 -0
- package/dist/_pkgs/data-view/core/group-by/compare-date-keys.js +55 -0
- package/dist/_pkgs/data-view/core/group-by/define.d.ts +6 -0
- package/dist/_pkgs/data-view/core/group-by/define.js +114 -0
- package/dist/_pkgs/data-view/core/group-by/matcher.d.ts +7 -0
- package/dist/_pkgs/data-view/core/group-by/matcher.js +13 -0
- package/dist/_pkgs/data-view/core/group-by/renderer/boolean-group.js +11 -11
- package/dist/_pkgs/data-view/core/group-by/renderer/date-group.d.ts +9 -0
- package/dist/_pkgs/data-view/core/group-by/renderer/date-group.js +97 -0
- package/dist/_pkgs/data-view/core/group-by/setting.js +86 -7
- package/dist/_pkgs/data-view/core/group-by/trait.d.ts +34 -0
- package/dist/_pkgs/data-view/core/group-by/trait.js +106 -10
- package/dist/_pkgs/data-view/core/utils/menu-title.js +17 -17
- package/dist/_pkgs/data-view/property-presets/multi-select/cell-renderer.js +3 -1
- package/dist/_pkgs/data-view/property-presets/number/define.js +2 -1
- package/dist/_pkgs/data-view/property-presets/select/cell-renderer.js +3 -1
- package/dist/_pkgs/data-view/view-presets/calendar/calendar-view-manager.d.ts +70 -0
- package/dist/_pkgs/data-view/view-presets/calendar/calendar-view-manager.js +449 -0
- package/dist/_pkgs/data-view/view-presets/calendar/define.d.ts +10 -0
- package/dist/_pkgs/data-view/view-presets/calendar/define.js +27 -0
- package/dist/_pkgs/data-view/view-presets/calendar/effect.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/calendar/effect.js +4 -0
- package/dist/_pkgs/data-view/view-presets/calendar/index.d.ts +6 -0
- package/dist/_pkgs/data-view/view-presets/calendar/index.js +6 -0
- package/dist/_pkgs/data-view/view-presets/calendar/layout.d.ts +37 -0
- package/dist/_pkgs/data-view/view-presets/calendar/layout.js +138 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/actions.d.ts +7 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/actions.js +64 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/dnd.d.ts +32 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/dnd.js +159 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/effect.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/effect.js +7 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/hit-test.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/hit-test.js +28 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/styles.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/styles.js +707 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/view.d.ts +89 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/view.js +849 -0
- package/dist/_pkgs/data-view/view-presets/calendar/renderer.d.ts +2 -0
- package/dist/_pkgs/data-view/view-presets/calendar/renderer.js +8 -0
- package/dist/_pkgs/data-view/view-presets/calendar/source.d.ts +8 -0
- package/dist/_pkgs/data-view/view-presets/calendar/source.js +3 -0
- package/dist/_pkgs/data-view/view-presets/calendar/types.d.ts +79 -0
- package/dist/_pkgs/data-view/view-presets/calendar/types.js +1 -0
- package/dist/_pkgs/data-view/view-presets/convert.js +28 -0
- package/dist/_pkgs/data-view/view-presets/effect.js +2 -0
- package/dist/_pkgs/data-view/view-presets/index.d.ts +2 -0
- package/dist/_pkgs/data-view/view-presets/index.js +3 -0
- package/dist/_pkgs/data-view/view-presets/kanban/kanban-view-manager.js +3 -1
- package/dist/_pkgs/data-view/view-presets/kanban/mobile/cell.js +2 -2
- package/dist/_pkgs/data-view/view-presets/table/collapsed-state.d.ts +18 -0
- package/dist/_pkgs/data-view/view-presets/table/collapsed-state.js +36 -0
- package/dist/_pkgs/data-view/view-presets/table/mobile/cell.js +2 -2
- package/dist/_pkgs/data-view/view-presets/table/mobile/group.d.ts +11 -0
- package/dist/_pkgs/data-view/view-presets/table/mobile/group.js +89 -4
- package/dist/_pkgs/data-view/view-presets/table/pc/cell.d.ts +3 -0
- package/dist/_pkgs/data-view/view-presets/table/pc/cell.js +11 -2
- package/dist/_pkgs/data-view/view-presets/table/pc/controller/hotkeys.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/table/pc/controller/hotkeys.js +39 -33
- package/dist/_pkgs/data-view/view-presets/table/pc/group.d.ts +10 -0
- package/dist/_pkgs/data-view/view-presets/table/pc/group.js +86 -5
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/hotkeys.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/hotkeys.js +39 -33
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/group/top/group-title.js +18 -18
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/cell.d.ts +3 -0
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/cell.js +8 -0
- package/dist/_pkgs/data-view/view-presets/table/table-view-manager.js +3 -1
- package/dist/_pkgs/data-view/view-presets/table/utils.d.ts +3 -0
- package/dist/_pkgs/data-view/view-presets/table/utils.js +16 -1
- package/dist/_pkgs/data-view/widget-presets/tools/presets/view-options/view-options.js +3 -1
- package/dist/_pkgs/global/gfx/curve.js +4 -3
- package/dist/_pkgs/std/clipboard/clipboard.js +13 -3
- package/dist/_pkgs/std/clipboard/utils.d.ts +5 -0
- package/dist/_pkgs/std/clipboard/utils.js +10 -0
- package/dist/_pkgs/std/event/dispatcher.js +27 -1
- package/dist/_pkgs/std/event/keymap.js +16 -6
- package/dist/_pkgs/std/extension/command-registry.d.ts +475 -0
- package/dist/_pkgs/std/extension/command-registry.js +431 -0
- package/dist/_pkgs/std/extension/dnd/index.d.ts +1 -1
- package/dist/_pkgs/std/extension/index.d.ts +2 -0
- package/dist/_pkgs/std/extension/index.js +2 -0
- package/dist/_pkgs/std/extension/shortcut.js +2 -1
- package/dist/_pkgs/std/extension/translation-manifest.d.ts +49 -0
- package/dist/_pkgs/std/extension/translation-manifest.js +71 -0
- package/dist/_pkgs/std/gfx/grid.js +1 -1
- package/dist/_pkgs/std/gfx/index.d.ts +7 -3
- package/dist/_pkgs/std/gfx/index.js +6 -2
- package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.js +6 -1
- package/dist/_pkgs/std/gfx/interactivity/manager.d.ts +8 -0
- package/dist/_pkgs/std/gfx/interactivity/manager.js +18 -0
- package/dist/_pkgs/std/gfx/layer.d.ts +1 -1
- package/dist/_pkgs/std/gfx/layer.js +1 -2
- package/dist/_pkgs/std/gfx/model/surface/decorators/field.js +9 -0
- package/dist/_pkgs/std/gfx/model/surface/decorators/index.d.ts +2 -2
- package/dist/_pkgs/std/gfx/model/surface/decorators/index.js +2 -2
- package/dist/_pkgs/std/gfx/model/surface/decorators/local.d.ts +14 -0
- package/dist/_pkgs/std/gfx/model/surface/decorators/local.js +22 -0
- package/dist/_pkgs/std/gfx/model/surface/decorators/observer.d.ts +2 -0
- package/dist/_pkgs/std/gfx/model/surface/decorators/observer.js +40 -1
- package/dist/_pkgs/std/gfx/model/surface/element-model.d.ts +442 -0
- package/dist/_pkgs/std/gfx/model/surface/element-model.js +510 -25
- package/dist/_pkgs/std/gfx/model/surface/pivot.d.ts +48 -0
- package/dist/_pkgs/std/gfx/model/surface/pivot.js +34 -0
- package/dist/_pkgs/std/gfx/model/surface/role.d.ts +153 -0
- package/dist/_pkgs/std/gfx/model/surface/role.js +117 -0
- package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +70 -0
- package/dist/_pkgs/std/gfx/model/surface/surface-model.js +305 -17
- package/dist/_pkgs/std/gfx/model/surface/tags.d.ts +77 -0
- package/dist/_pkgs/std/gfx/model/surface/tags.js +246 -0
- package/dist/_pkgs/std/gfx/perf.d.ts +10 -0
- package/dist/_pkgs/std/gfx/perf.js +30 -0
- package/dist/_pkgs/std/gfx/selection.js +1 -1
- package/dist/_pkgs/std/gfx/tool/tool-controller.d.ts +13 -0
- package/dist/_pkgs/std/gfx/tool/tool-controller.js +26 -0
- package/dist/_pkgs/std/gfx/viewport.d.ts +12 -0
- package/dist/_pkgs/std/gfx/viewport.js +20 -2
- package/dist/_pkgs/std/inline/extensions/inline-manager.js +1 -1
- package/dist/_pkgs/std/inline/extensions/markdown-matcher.js +1 -1
- package/dist/_pkgs/std/inline/services/event.d.ts +2 -0
- package/dist/_pkgs/std/inline/services/event.js +96 -21
- package/dist/_pkgs/std/utils/layer.js +2 -6
- package/dist/_pkgs/std/utils/tree.d.ts +14 -0
- package/dist/_pkgs/std/utils/tree.js +59 -8
- package/dist/_pkgs/std/view/element/gfx-block-component.js +23 -13
- package/dist/_pkgs/store/extension/workspace/workspace-meta.d.ts +10 -0
- package/dist/_pkgs/store/model/block/flat-sync-controller.js +2 -12
- package/dist/_pkgs/store/model/store/crud.js +10 -4
- package/dist/_pkgs/store/reactive/flat-native-y/index.d.ts +1 -1
- package/dist/_pkgs/store/reactive/flat-native-y/index.js +24 -2
- package/dist/commands.d.ts +58 -0
- package/dist/commands.js +66 -0
- package/dist/extensions/command-telemetry.d.ts +21 -0
- package/dist/extensions/command-telemetry.js +89 -0
- package/dist/extensions/command-usage.d.ts +23 -0
- package/dist/extensions/command-usage.js +37 -0
- package/dist/extensions/store.d.ts +9 -4
- package/dist/extensions/store.js +27 -24
- package/dist/extensions/view.d.ts +9 -4
- package/dist/extensions/view.js +35 -8
- package/dist/flags.d.ts +98 -21
- package/dist/flags.js +103 -22
- package/dist/frameworks.d.ts +45 -0
- package/dist/frameworks.js +186 -0
- package/dist/schemas.d.ts +8 -5
- package/dist/schemas.js +28 -32
- package/dist/shortcuts.d.ts +16 -16
- package/dist/shortcuts.js +8 -36
- package/dist/translations.d.ts +56 -0
- package/dist/translations.js +200 -0
- package/package.json +16 -4
- package/dist/_pkgs/affine-block-root/keyboard/shortcuts.d.ts +0 -8
- package/dist/_pkgs/affine-block-root/keyboard/shortcuts.js +0 -48
- package/dist/_pkgs/affine-gfx-shape/shortcuts.d.ts +0 -6
- package/dist/_pkgs/affine-gfx-shape/shortcuts.js +0 -28
- package/dist/_pkgs/data-view/core/utils/cache.d.ts +0 -5
- package/dist/_pkgs/data-view/core/utils/cache.js +0 -28
|
@@ -17,6 +17,7 @@ export declare class OpenDocDropdownMenu extends OpenDocDropdownMenu_base {
|
|
|
17
17
|
when?: ((cx: ToolbarContext) => boolean) | boolean;
|
|
18
18
|
active?: ((cx: ToolbarContext) => boolean) | boolean;
|
|
19
19
|
placement?: import("../../affine-shared/services/index.js").ActionPlacement;
|
|
20
|
+
priority?: number;
|
|
20
21
|
} & {
|
|
21
22
|
label?: string;
|
|
22
23
|
showLabel?: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NoteBlockModel } from '../../affine-model/index.js';
|
|
2
2
|
import { DocModeProvider } from '../../affine-shared/services/index.js';
|
|
3
3
|
import { isInsideEdgelessEditor, matchModels, } from '../../affine-shared/utils/index.js';
|
|
4
|
-
import { GfxBlockElementModel, GfxControllerIdentifier
|
|
4
|
+
import { GfxBlockElementModel, GfxControllerIdentifier } from '../../std/gfx/index.js';
|
|
5
5
|
import { PeekableController } from './controller.js';
|
|
6
6
|
const symbol = Symbol('peekable');
|
|
7
7
|
export const isPeekable = (e) => {
|
|
@@ -17,7 +17,7 @@ import { LitElement, type TemplateResult } from 'lit';
|
|
|
17
17
|
*/
|
|
18
18
|
export declare class Portal extends LitElement {
|
|
19
19
|
private _portalRoot;
|
|
20
|
-
createRenderRoot():
|
|
20
|
+
createRenderRoot(): HTMLDivElement | ShadowRoot;
|
|
21
21
|
disconnectedCallback(): void;
|
|
22
22
|
render(): TemplateResult | undefined;
|
|
23
23
|
accessor container: HTMLElement;
|
|
@@ -3,6 +3,7 @@ export { ToolbarMoreMenuConfigExtension } from './config.js';
|
|
|
3
3
|
export { EditorIconButton } from './icon-button.js';
|
|
4
4
|
export { EditorMenuAction, EditorMenuButton, EditorMenuContent, } from './menu-button.js';
|
|
5
5
|
export { MenuContext } from './menu-context.js';
|
|
6
|
+
export { type PickerMenu, type PickerMenuItem, renderCurrentPickerItemWith, renderPickerMenu, renderPickerMenuItems, } from './picker-menu.js';
|
|
6
7
|
export { EditorToolbarSeparator } from './separator.js';
|
|
7
8
|
export { darkToolbarStyles, lightToolbarStyles } from './styles.js';
|
|
8
9
|
export { EditorToolbar } from './toolbar.js';
|
|
@@ -8,6 +8,7 @@ export { ToolbarMoreMenuConfigExtension } from './config.js';
|
|
|
8
8
|
export { EditorIconButton } from './icon-button.js';
|
|
9
9
|
export { EditorMenuAction, EditorMenuButton, EditorMenuContent, } from './menu-button.js';
|
|
10
10
|
export { MenuContext } from './menu-context.js';
|
|
11
|
+
export { renderCurrentPickerItemWith, renderPickerMenu, renderPickerMenuItems, } from './picker-menu.js';
|
|
11
12
|
export { EditorToolbarSeparator } from './separator.js';
|
|
12
13
|
export { darkToolbarStyles, lightToolbarStyles } from './styles.js';
|
|
13
14
|
export { EditorToolbar } from './toolbar.js';
|
|
@@ -32,7 +32,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
32
32
|
}
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
|
-
import { panelBaseStyle, scrollbarStyle
|
|
35
|
+
import { panelBaseStyle, scrollbarStyle } from '../../affine-shared/styles/index.js';
|
|
36
36
|
import { createButtonPopper, } from '../../affine-shared/utils/index.js';
|
|
37
37
|
import { WithDisposable } from '../../global/lit/index.js';
|
|
38
38
|
import { css, html, LitElement, } from 'lit';
|
|
@@ -235,6 +235,7 @@ export class EditorMenuAction extends LitElement {
|
|
|
235
235
|
color: var(--affine-text-primary-color);
|
|
236
236
|
font-weight: 400;
|
|
237
237
|
min-height: 30px; // 22 + 8
|
|
238
|
+
user-select: none;
|
|
238
239
|
}
|
|
239
240
|
|
|
240
241
|
:host(:hover),
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type TemplateResult } from 'lit';
|
|
2
|
+
/**
|
|
3
|
+
* The **one-of-many picker** every toolbar in this editor uses: a chevron
|
|
4
|
+
* button that opens a row of icons, one of which is lit because it is what the
|
|
5
|
+
* selection currently is.
|
|
6
|
+
*
|
|
7
|
+
* "Switch shape type" is the one everybody knows; the framework morph dropdown
|
|
8
|
+
* is the same object. It lives HERE, in the shared component package, and not
|
|
9
|
+
* where it was first written (`@labre/affine-widget-edgeless-toolbar`) for a
|
|
10
|
+
* dependency reason that is not going away: that widget package depends on
|
|
11
|
+
* `@labre/affine-block-surface`, so nothing in the surface package — which is
|
|
12
|
+
* where the generic, framework-parameterized toolbar modules live — can import
|
|
13
|
+
* from it without closing a cycle. This package is below both, which is why the
|
|
14
|
+
* toolbar's buttons, its menu shells and its chevron already live here.
|
|
15
|
+
*
|
|
16
|
+
* The edgeless-toolbar copy is deliberately untouched by the change that added
|
|
17
|
+
* this file: it is what the shape toolbar and its neighbours already call, and
|
|
18
|
+
* collapsing the two is a follow-up whose blast radius is every shape entry in
|
|
19
|
+
* the editor rather than one new dropdown. Until then the two are the same
|
|
20
|
+
* markup twice — knowingly, and named here so the follow-up is findable.
|
|
21
|
+
*
|
|
22
|
+
* ## Names
|
|
23
|
+
*
|
|
24
|
+
* `PickerMenu` / `PickerMenuItem` rather than `Menu` / `MenuItem`: this package
|
|
25
|
+
* already exports a `MenuItem`, and it is a different thing entirely (a line in
|
|
26
|
+
* the "⋮" overflow menu, with a label and an action). Two types called
|
|
27
|
+
* `MenuItem` in one entry point is a trap, not a convenience.
|
|
28
|
+
*/
|
|
29
|
+
/** One option: what it is worth, what it looks like, what it is called. */
|
|
30
|
+
export type PickerMenuItem<T> = {
|
|
31
|
+
/** Tooltip and accessible name. */
|
|
32
|
+
key?: string;
|
|
33
|
+
value: T;
|
|
34
|
+
icon?: TemplateResult;
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
};
|
|
37
|
+
export type PickerMenu<T> = {
|
|
38
|
+
label: string;
|
|
39
|
+
icon?: TemplateResult;
|
|
40
|
+
tooltip?: string;
|
|
41
|
+
items: PickerMenuItem<T>[];
|
|
42
|
+
currentValue: T;
|
|
43
|
+
onPick: (value: T) => void;
|
|
44
|
+
/**
|
|
45
|
+
* `data-testid` for the host element and, suffixed with `-option`, for each
|
|
46
|
+
* line. Optional: the shape toolbar's picker has never needed one, and a
|
|
47
|
+
* framework module that wants to be reachable from an integration spec says
|
|
48
|
+
* so rather than making every caller carry an attribute it does not use.
|
|
49
|
+
*/
|
|
50
|
+
testId?: string;
|
|
51
|
+
};
|
|
52
|
+
/** The field of the item that currently matches — its icon, usually. */
|
|
53
|
+
export declare function renderCurrentPickerItemWith<T, F extends keyof PickerMenuItem<T>>(items: PickerMenuItem<T>[], currentValue: T, field: F): PickerMenuItem<T>[F] | undefined;
|
|
54
|
+
export declare function renderPickerMenu<T>({ label, tooltip, icon, items, currentValue, onPick, testId, }: PickerMenu<T>): TemplateResult<1>;
|
|
55
|
+
export declare function renderPickerMenuItems<T>(items: PickerMenuItem<T>[], currentValue: T, onPick: (value: T) => void, testId?: string): unknown;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
3
|
+
import { repeat } from 'lit/directives/repeat.js';
|
|
4
|
+
import { EditorChevronDown } from './chevron-down.js';
|
|
5
|
+
/** The field of the item that currently matches — its icon, usually. */
|
|
6
|
+
export function renderCurrentPickerItemWith(items, currentValue, field) {
|
|
7
|
+
return items.find(({ value }) => value === currentValue)?.[field];
|
|
8
|
+
}
|
|
9
|
+
export function renderPickerMenu({ label, tooltip, icon, items, currentValue, onPick, testId, }) {
|
|
10
|
+
return html `
|
|
11
|
+
<editor-menu-button
|
|
12
|
+
data-testid=${ifDefined(testId)}
|
|
13
|
+
aria-label="${`${label.toLowerCase()}-menu`}"
|
|
14
|
+
.button=${html `
|
|
15
|
+
<editor-icon-button
|
|
16
|
+
data-testid=${ifDefined(testId ? `${testId}-button` : undefined)}
|
|
17
|
+
aria-label="${label}"
|
|
18
|
+
.tooltip="${tooltip ?? label}"
|
|
19
|
+
>
|
|
20
|
+
${icon ?? renderCurrentPickerItemWith(items, currentValue, 'icon')}
|
|
21
|
+
${EditorChevronDown}
|
|
22
|
+
</editor-icon-button>
|
|
23
|
+
`}
|
|
24
|
+
>
|
|
25
|
+
${renderPickerMenuItems(items, currentValue, onPick, testId)}
|
|
26
|
+
</editor-menu-button>
|
|
27
|
+
`;
|
|
28
|
+
}
|
|
29
|
+
export function renderPickerMenuItems(items, currentValue, onPick, testId) {
|
|
30
|
+
// Keyed by `value`: the option list is rebuilt on every selection change, and
|
|
31
|
+
// an unkeyed repeat would recycle one kind's button into another's rather
|
|
32
|
+
// than moving it — which is what makes an icon and its tooltip disagree.
|
|
33
|
+
return repeat(items, item => item.value, ({ key, value, icon, disabled }) => html `
|
|
34
|
+
<editor-icon-button
|
|
35
|
+
data-testid=${ifDefined(testId ? `${testId}-option` : undefined)}
|
|
36
|
+
data-value=${ifDefined(typeof value === 'string' ? value : undefined)}
|
|
37
|
+
aria-label="${ifDefined(key)}"
|
|
38
|
+
.disabled=${ifDefined(disabled)}
|
|
39
|
+
.tooltip="${ifDefined(key)}"
|
|
40
|
+
.active="${currentValue === value}"
|
|
41
|
+
.activeMode="${'background'}"
|
|
42
|
+
@click=${() => onPick(value)}
|
|
43
|
+
>
|
|
44
|
+
${icon}
|
|
45
|
+
</editor-icon-button>
|
|
46
|
+
`);
|
|
47
|
+
}
|
|
@@ -6,14 +6,13 @@ export class EditorToolbar extends WithDisposable(LitElement) {
|
|
|
6
6
|
static { this.styles = css `
|
|
7
7
|
${panelBaseStyle(':host')}
|
|
8
8
|
:host {
|
|
9
|
-
|
|
9
|
+
/* ONE line, always: the toolbar's height never depends on the selection,
|
|
10
|
+
so it never moves under the cursor. When the row runs out of room the
|
|
11
|
+
widget spends its entries — icon only first, then into the "⋮" menu —
|
|
12
|
+
rather than growing a second row (PO arbitration of 02/08/2026). */
|
|
13
|
+
height: 36px;
|
|
10
14
|
box-sizing: content-box;
|
|
11
|
-
|
|
12
|
-
width is capped to availableWidth by floating-ui's size middleware;
|
|
13
|
-
wrapping (not scrolling) keeps the "More" dropdown clickable — it is a
|
|
14
|
-
descendant of this toolbar, so an overflow container would clip it. */
|
|
15
|
-
flex-wrap: wrap;
|
|
16
|
-
row-gap: 4px;
|
|
15
|
+
flex-wrap: nowrap;
|
|
17
16
|
}
|
|
18
17
|
|
|
19
18
|
:host([data-without-bg]) {
|
|
@@ -24,9 +23,11 @@ export class EditorToolbar extends WithDisposable(LitElement) {
|
|
|
24
23
|
|
|
25
24
|
::slotted(*) {
|
|
26
25
|
display: flex;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
height: 100%;
|
|
27
|
+
/* Entries keep their natural width: squashing them into the row would
|
|
28
|
+
hide the overflow the widget has to measure, and a button squeezed to
|
|
29
|
+
half a word is worse than the same button in the "⋮" menu. */
|
|
30
|
+
flex-shrink: 0;
|
|
30
31
|
justify-content: center;
|
|
31
32
|
align-items: center;
|
|
32
33
|
gap: 8px;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FileDropExtension } from '../affine-components/drop-indicator/index.js';
|
|
2
2
|
import { PeekViewExtension, } from '../affine-components/peek/index.js';
|
|
3
3
|
import { ViewExtensionProvider, } from '../affine-ext-loader/index.js';
|
|
4
|
-
import { AutoClearSelectionService, BlockCommentManager, BlockLifecycleTelemetryWatcher, CitationService, DefaultOpenDocExtension, DNDAPIExtension, DocDisplayMetaService, DocModeService, EditPropsStore, EmbedOptionService, FileSizeLimitService, FontConfigExtension, fontConfigSchema, FontLoaderService, LinkPreviewCache, LinkPreviewCacheConfigSchema, LinkPreviewCacheExtension, LinkPreviewService, PageViewportServiceExtension, TelemetryExtension, ThemeService, ToolbarRegistryExtension, } from '../affine-shared/services/index.js';
|
|
4
|
+
import { AutoClearSelectionService, BlockCommentManager, BlockLifecycleTelemetryWatcher, CitationService, DefaultOpenDocExtension, DNDAPIExtension, DocDisplayMetaService, DocModeService, EditPropsStore, EmbedOptionService, FileSizeLimitService, FontConfigExtension, fontConfigSchema, FontLoaderService, LinkPreviewCache, LinkPreviewCacheConfigSchema, LinkPreviewCacheExtension, LinkPreviewService, PageViewportServiceExtension, PivotMaterialityPublisher, TelemetryExtension, ThemeService, ToolbarRegistryExtension, } from '../affine-shared/services/index.js';
|
|
5
5
|
import { InteractivityManager, ToolController } from '../std/gfx/index.js';
|
|
6
6
|
import { z } from 'zod';
|
|
7
7
|
import { clipboardConfigs } from './clipboard.js';
|
|
@@ -47,7 +47,16 @@ export class FoundationViewExtension extends ViewExtensionProvider {
|
|
|
47
47
|
]);
|
|
48
48
|
context.register(clipboardConfigs);
|
|
49
49
|
if (this.isEdgeless(context.scope)) {
|
|
50
|
-
context.register([
|
|
50
|
+
context.register([
|
|
51
|
+
InteractivityManager,
|
|
52
|
+
ToolController,
|
|
53
|
+
// Inert without a host `PivotPropertiesProvider` that implements the
|
|
54
|
+
// write-back; see ADR 0006 § 4. NOT flag-gated: reflecting a bound
|
|
55
|
+
// element's qualification onto its record is a property of the
|
|
56
|
+
// document, not a piece of framework tooling, and it must keep working
|
|
57
|
+
// for a board whose framework flag is off.
|
|
58
|
+
PivotMaterialityPublisher,
|
|
59
|
+
]);
|
|
51
60
|
}
|
|
52
61
|
const fontConfig = options?.fontConfig;
|
|
53
62
|
if (fontConfig) {
|
|
@@ -33,12 +33,12 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
35
|
import { EdgelessFrameManager } from '../../affine-block-frame/index.js';
|
|
36
|
-
import { DocModeProvider, EditPropsStore
|
|
36
|
+
import { DocModeProvider, EditPropsStore } from '../../affine-shared/services/index.js';
|
|
37
37
|
import { DisposableGroup } from '../../global/disposable/index.js';
|
|
38
38
|
import { Bound } from '../../global/gfx/index.js';
|
|
39
39
|
import { SignalWatcher, WithDisposable } from '../../global/lit/index.js';
|
|
40
40
|
import { ShadowlessElement } from '../../std/index.js';
|
|
41
|
-
import { generateKeyBetweenV2, GfxControllerIdentifier
|
|
41
|
+
import { generateKeyBetweenV2, GfxControllerIdentifier } from '../../std/gfx/index.js';
|
|
42
42
|
import { css, html, nothing } from 'lit';
|
|
43
43
|
import { property, query, state } from 'lit/decorators.js';
|
|
44
44
|
import { keyed } from 'lit/directives/keyed.js';
|
|
@@ -32,9 +32,9 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
32
32
|
}
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
|
-
import { PresentTool
|
|
35
|
+
import { PresentTool } from '../../affine-block-frame/index.js';
|
|
36
36
|
import { EdgelessLegacySlotIdentifier } from '../../affine-block-surface/index.js';
|
|
37
|
-
import { DocModeProvider, EditPropsStore
|
|
37
|
+
import { DocModeProvider, EditPropsStore } from '../../affine-shared/services/index.js';
|
|
38
38
|
import { createButtonPopper } from '../../affine-shared/utils/index.js';
|
|
39
39
|
import { DisposableGroup } from '../../global/disposable/index.js';
|
|
40
40
|
import { WithDisposable } from '../../global/lit/index.js';
|
|
@@ -33,7 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
35
|
import { EdgelessLegacySlotIdentifier } from '../../affine-block-surface/index.js';
|
|
36
|
-
import { DocModeProvider, EditPropsStore
|
|
36
|
+
import { DocModeProvider, EditPropsStore } from '../../affine-shared/services/index.js';
|
|
37
37
|
import { WithDisposable } from '../../global/lit/index.js';
|
|
38
38
|
import { css, html, LitElement } from 'lit';
|
|
39
39
|
import { property, state } from 'lit/decorators.js';
|
|
@@ -37,7 +37,7 @@ import { DocModeProvider } from '../affine-shared/services/index.js';
|
|
|
37
37
|
import { unsafeCSSVarV2 } from '../affine-shared/theme/index.js';
|
|
38
38
|
import { matchModels } from '../affine-shared/utils/index.js';
|
|
39
39
|
import { SignalWatcher, WithDisposable } from '../global/lit/index.js';
|
|
40
|
-
import { PropTypes, requiredProperties
|
|
40
|
+
import { PropTypes, requiredProperties } from '../std/index.js';
|
|
41
41
|
import { signal } from '@preact/signals-core';
|
|
42
42
|
import { css, html, LitElement, nothing } from 'lit';
|
|
43
43
|
import { property } from 'lit/decorators.js';
|
|
@@ -3,5 +3,6 @@ export * from './brush-tool.js';
|
|
|
3
3
|
export * from './element-renderer.js';
|
|
4
4
|
export * from './eraser-tool.js';
|
|
5
5
|
export * from './highlighter-tool.js';
|
|
6
|
+
export * from './renderer/index.js';
|
|
6
7
|
export * from './toolbar/configs/index.js';
|
|
7
8
|
export * from './toolbar/senior-tool.js';
|
|
@@ -3,5 +3,6 @@ export * from './brush-tool.js';
|
|
|
3
3
|
export * from './element-renderer.js';
|
|
4
4
|
export * from './eraser-tool.js';
|
|
5
5
|
export * from './highlighter-tool.js';
|
|
6
|
+
export * from './renderer/index.js';
|
|
6
7
|
export * from './toolbar/configs/index.js';
|
|
7
8
|
export * from './toolbar/senior-tool.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const BrushDomRendererExtension: import("../../../store/index.js").ExtensionType;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DomElementRendererExtension, } from '../../../affine-block-surface/index.js';
|
|
2
|
+
import { DefaultTheme } from '../../../affine-model/index.js';
|
|
3
|
+
import { renderBrushLikeDom } from './shared.js';
|
|
4
|
+
export const BrushDomRendererExtension = DomElementRendererExtension('brush', (model, domElement, renderer) => {
|
|
5
|
+
renderBrushLikeDom({
|
|
6
|
+
model,
|
|
7
|
+
domElement,
|
|
8
|
+
renderer,
|
|
9
|
+
color: renderer.getColorValue(model.color, DefaultTheme.black, true),
|
|
10
|
+
});
|
|
11
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const HighlighterDomRendererExtension: import("../../../store/index.js").ExtensionType;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DomElementRendererExtension, } from '../../../affine-block-surface/index.js';
|
|
2
|
+
import { DefaultTheme } from '../../../affine-model/index.js';
|
|
3
|
+
import { renderBrushLikeDom } from './shared.js';
|
|
4
|
+
export const HighlighterDomRendererExtension = DomElementRendererExtension('highlighter', (model, domElement, renderer) => {
|
|
5
|
+
renderBrushLikeDom({
|
|
6
|
+
model,
|
|
7
|
+
domElement,
|
|
8
|
+
renderer,
|
|
9
|
+
color: renderer.getColorValue(model.color, DefaultTheme.hightlighterColor, true),
|
|
10
|
+
});
|
|
11
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DomRenderer } from '../../../affine-block-surface/index.js';
|
|
2
|
+
import type { BrushElementModel, HighlighterElementModel } from '../../../affine-model/index.js';
|
|
3
|
+
type BrushLikeModel = BrushElementModel | HighlighterElementModel;
|
|
4
|
+
/**
|
|
5
|
+
* Paints a brush or highlighter stroke into its host element. The z-index is
|
|
6
|
+
* owned by `DomRenderer`, which reads it from the layer manager.
|
|
7
|
+
*/
|
|
8
|
+
export declare function renderBrushLikeDom({ color, domElement, model, renderer, }: {
|
|
9
|
+
color: string;
|
|
10
|
+
domElement: HTMLElement;
|
|
11
|
+
model: BrushLikeModel;
|
|
12
|
+
renderer: DomRenderer;
|
|
13
|
+
}): void;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
const SVG_NS = 'http://www.w3.org/2000/svg';
|
|
2
|
+
/**
|
|
3
|
+
* The nodes a stroke host already owns, kept across renders. Rebuilding the
|
|
4
|
+
* `<svg>` on every frame allocated one element per stroke per pan or zoom;
|
|
5
|
+
* the attributes are cheap to overwrite in place.
|
|
6
|
+
*/
|
|
7
|
+
const retainedBrushDom = new WeakMap();
|
|
8
|
+
function clearBrushLikeDom(domElement) {
|
|
9
|
+
retainedBrushDom.delete(domElement);
|
|
10
|
+
domElement.replaceChildren();
|
|
11
|
+
}
|
|
12
|
+
function getRetainedBrushDom(domElement) {
|
|
13
|
+
const existing = retainedBrushDom.get(domElement);
|
|
14
|
+
if (existing) {
|
|
15
|
+
return existing;
|
|
16
|
+
}
|
|
17
|
+
const svg = document.createElementNS(SVG_NS, 'svg');
|
|
18
|
+
svg.style.position = 'absolute';
|
|
19
|
+
svg.style.left = '0';
|
|
20
|
+
svg.style.top = '0';
|
|
21
|
+
svg.style.overflow = 'visible';
|
|
22
|
+
svg.style.pointerEvents = 'none';
|
|
23
|
+
const path = document.createElementNS(SVG_NS, 'path');
|
|
24
|
+
path.setAttribute('stroke', 'none');
|
|
25
|
+
svg.append(path);
|
|
26
|
+
const retained = { svg, path };
|
|
27
|
+
retainedBrushDom.set(domElement, retained);
|
|
28
|
+
domElement.replaceChildren(svg);
|
|
29
|
+
return retained;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Paints a brush or highlighter stroke into its host element. The z-index is
|
|
33
|
+
* owned by `DomRenderer`, which reads it from the layer manager.
|
|
34
|
+
*/
|
|
35
|
+
export function renderBrushLikeDom({ color, domElement, model, renderer, }) {
|
|
36
|
+
const { zoom } = renderer.viewport;
|
|
37
|
+
const [, , w, h] = model.deserializedXYWH;
|
|
38
|
+
if (w <= 0 || h <= 0 || !model.commands) {
|
|
39
|
+
clearBrushLikeDom(domElement);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const { path, svg } = getRetainedBrushDom(domElement);
|
|
43
|
+
svg.style.width = `${w * zoom}px`;
|
|
44
|
+
svg.style.height = `${h * zoom}px`;
|
|
45
|
+
svg.style.transform = model.rotate === 0 ? '' : `rotate(${model.rotate}deg)`;
|
|
46
|
+
svg.style.transformOrigin = model.rotate === 0 ? '' : 'center';
|
|
47
|
+
svg.setAttribute('viewBox', `0 0 ${w} ${h}`);
|
|
48
|
+
path.setAttribute('d', model.commands);
|
|
49
|
+
path.setAttribute('fill', color);
|
|
50
|
+
domElement.style.width = `${w * zoom}px`;
|
|
51
|
+
domElement.style.height = `${h * zoom}px`;
|
|
52
|
+
domElement.style.overflow = 'visible';
|
|
53
|
+
domElement.style.pointerEvents = 'none';
|
|
54
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dom/index.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { keepColor } from '../../../../affine-components/color-picker/index.js';
|
|
2
|
-
import { EditPropsStore, ThemeProvider
|
|
2
|
+
import { EditPropsStore, ThemeProvider } from '../../../../affine-shared/services/index.js';
|
|
3
3
|
import { EdgelessToolbarToolMixin } from '../../../../affine-widget-edgeless-toolbar/index.js';
|
|
4
4
|
import { SignalWatcher } from '../../../../global/lit/index.js';
|
|
5
5
|
import { computed, signal } from '@preact/signals-core';
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
import { type ViewExtensionContext, ViewExtensionProvider } from '../affine-ext-loader/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Brush / highlighter rendering — ALWAYS registered, independent of any flag.
|
|
4
|
+
* Disabling `brush` hides only the pen senior button and the tools it opens
|
|
5
|
+
* (see {@link BrushViewExtension}); strokes already drawn must still paint,
|
|
6
|
+
* stay selectable and keep their contextual toolbar. See `docs/adr/0009`.
|
|
7
|
+
*/
|
|
8
|
+
export declare class BrushRenderViewExtension extends ViewExtensionProvider {
|
|
9
|
+
name: string;
|
|
10
|
+
setup(context: ViewExtensionContext): void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Pen creation tooling — flag-gated (`brush`): the senior toolbar button and
|
|
14
|
+
* the brush / highlighter / eraser tools it opens.
|
|
15
|
+
*/
|
|
2
16
|
export declare class BrushViewExtension extends ViewExtensionProvider {
|
|
3
17
|
name: string;
|
|
4
18
|
effect(): void;
|
|
@@ -4,8 +4,36 @@ import { effects } from './effects.js';
|
|
|
4
4
|
import { BrushElementRendererExtension } from './element-renderer.js';
|
|
5
5
|
import { EraserTool } from './eraser-tool.js';
|
|
6
6
|
import { HighlighterTool } from './highlighter-tool.js';
|
|
7
|
+
import { BrushDomRendererExtension, HighlighterDomRendererExtension, } from './renderer/index.js';
|
|
7
8
|
import { brushToolbarExtension, highlighterToolbarExtension, } from './toolbar/configs/index.js';
|
|
8
9
|
import { penSeniorTool } from './toolbar/senior-tool.js';
|
|
10
|
+
/**
|
|
11
|
+
* Brush / highlighter rendering — ALWAYS registered, independent of any flag.
|
|
12
|
+
* Disabling `brush` hides only the pen senior button and the tools it opens
|
|
13
|
+
* (see {@link BrushViewExtension}); strokes already drawn must still paint,
|
|
14
|
+
* stay selectable and keep their contextual toolbar. See `docs/adr/0009`.
|
|
15
|
+
*/
|
|
16
|
+
export class BrushRenderViewExtension extends ViewExtensionProvider {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.name = 'affine-brush-render-gfx';
|
|
20
|
+
}
|
|
21
|
+
setup(context) {
|
|
22
|
+
super.setup(context);
|
|
23
|
+
context.register(BrushElementRendererExtension);
|
|
24
|
+
// DOM variants of the same two strokes. The canvas renderer for the
|
|
25
|
+
// highlighter still ships with `@labre/affine-gfx-shape`; both providers
|
|
26
|
+
// are always-on, so the pair stays complete whatever the `brush` flag says.
|
|
27
|
+
context.register(BrushDomRendererExtension);
|
|
28
|
+
context.register(HighlighterDomRendererExtension);
|
|
29
|
+
context.register(brushToolbarExtension);
|
|
30
|
+
context.register(highlighterToolbarExtension);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Pen creation tooling — flag-gated (`brush`): the senior toolbar button and
|
|
35
|
+
* the brush / highlighter / eraser tools it opens.
|
|
36
|
+
*/
|
|
9
37
|
export class BrushViewExtension extends ViewExtensionProvider {
|
|
10
38
|
constructor() {
|
|
11
39
|
super(...arguments);
|
|
@@ -13,6 +41,7 @@ export class BrushViewExtension extends ViewExtensionProvider {
|
|
|
13
41
|
}
|
|
14
42
|
effect() {
|
|
15
43
|
super.effect();
|
|
44
|
+
// Defines the pen/eraser tool buttons and the pen menu — tooling only.
|
|
16
45
|
effects();
|
|
17
46
|
}
|
|
18
47
|
setup(context) {
|
|
@@ -20,9 +49,6 @@ export class BrushViewExtension extends ViewExtensionProvider {
|
|
|
20
49
|
context.register(BrushTool);
|
|
21
50
|
context.register(EraserTool);
|
|
22
51
|
context.register(HighlighterTool);
|
|
23
|
-
context.register(BrushElementRendererExtension);
|
|
24
|
-
context.register(brushToolbarExtension);
|
|
25
|
-
context.register(highlighterToolbarExtension);
|
|
26
52
|
context.register(penSeniorTool);
|
|
27
53
|
}
|
|
28
54
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AStarRunner, Overlay } from '../affine-block-surface/index.js';
|
|
2
2
|
import { ConnectorElementModel, ConnectorMode, DEFAULT_POLYGON_VERTICES, GroupElementModel, ShapeElementModel, ShapeType, } from '../affine-model/index.js';
|
|
3
|
-
import { EditPropsStore, ThemeProvider
|
|
3
|
+
import { EditPropsStore, ThemeProvider } from '../affine-shared/services/index.js';
|
|
4
4
|
import { BlockSuiteError } from '../global/exceptions/index.js';
|
|
5
5
|
import { almostEqual, Bound, getBezierCurveBoundingBox, getBezierParameters, getBoundFromPoints, getBoundWithRotation, getPointFromBoundsWithRotation, isOverlap, isVecZero, lineIntersects, PI2, PointLocation, polygonCentroid, sign, toRadian, Vec, } from '../global/gfx/index.js';
|
|
6
6
|
import { assertType } from '../global/utils/index.js';
|
|
@@ -212,11 +212,12 @@ export function getAnchors(ele, includeCenterAnchor = true) {
|
|
|
212
212
|
// getLineIntersections.
|
|
213
213
|
if (ele.centerAnchorOnly) {
|
|
214
214
|
const centerPoint = getPointFromBoundsWithRotation({ ...bound, rotate }, bound.center);
|
|
215
|
-
return [
|
|
215
|
+
return [
|
|
216
|
+
{ point: new PointLocation(centerPoint), coord: [0.5, 0.5] },
|
|
217
|
+
];
|
|
216
218
|
}
|
|
217
219
|
// For polygon shapes, generate anchors at each vertex and edge midpoint
|
|
218
|
-
if (ele instanceof ShapeElementModel &&
|
|
219
|
-
ele.shapeType === ShapeType.Polygon) {
|
|
220
|
+
if (ele instanceof ShapeElementModel && ele.shapeType === ShapeType.Polygon) {
|
|
220
221
|
const verts = ele.vertices ?? DEFAULT_POLYGON_VERTICES;
|
|
221
222
|
for (let i = 0; i < verts.length; i++) {
|
|
222
223
|
const curr = verts[i];
|
|
@@ -240,10 +241,7 @@ export function getAnchors(ele, includeCenterAnchor = true) {
|
|
|
240
241
|
coord: vertCoord,
|
|
241
242
|
});
|
|
242
243
|
// --- Edge midpoint anchor ---
|
|
243
|
-
const midCoord = [
|
|
244
|
-
(curr[0] + next[0]) / 2,
|
|
245
|
-
(curr[1] + next[1]) / 2,
|
|
246
|
-
];
|
|
244
|
+
const midCoord = [(curr[0] + next[0]) / 2, (curr[1] + next[1]) / 2];
|
|
247
245
|
const midAbs = [
|
|
248
246
|
bound.x + midCoord[0] * bound.w,
|
|
249
247
|
bound.y + midCoord[1] * bound.h,
|
|
@@ -985,6 +983,17 @@ export class ConnectorPathGenerator extends PathGenerator {
|
|
|
985
983
|
getElementById: elementGetter ?? (() => null),
|
|
986
984
|
});
|
|
987
985
|
const points = path ?? instance._generateConnectorPath(connector) ?? [];
|
|
986
|
+
// Degraded state: no resolvable endpoints (an endpoint references a
|
|
987
|
+
// missing element and has no fallback position). Keep the last bound and
|
|
988
|
+
// paint nothing rather than derive a bbox from an empty point set.
|
|
989
|
+
if (points.length === 0) {
|
|
990
|
+
if (connector.path.length > 0) {
|
|
991
|
+
connector.updatingPath = true;
|
|
992
|
+
connector.path = [];
|
|
993
|
+
connector.updatingPath = false;
|
|
994
|
+
}
|
|
995
|
+
return;
|
|
996
|
+
}
|
|
988
997
|
const bound = connector.mode === ConnectorMode.Curve
|
|
989
998
|
? getBezierCurveBoundingBox(getBezierParameters(points))
|
|
990
999
|
: getBoundFromPoints(points);
|
|
@@ -1052,6 +1061,11 @@ export class ConnectorPathGenerator extends PathGenerator {
|
|
|
1052
1061
|
const start = this._getConnectorEndElement(connector, 'source');
|
|
1053
1062
|
const end = this._getConnectorEndElement(connector, 'target');
|
|
1054
1063
|
const [startPoint, endPoint] = this._computeStartEndPoint(connector);
|
|
1064
|
+
// _computeStartEndPoint returns [] when an endpoint cannot be resolved
|
|
1065
|
+
// (e.g. its element is gone and no position is stored) — bail out
|
|
1066
|
+
// instead of feeding undefined points to the orthogonal router.
|
|
1067
|
+
if (!startPoint || !endPoint)
|
|
1068
|
+
return [];
|
|
1055
1069
|
const startBound = start
|
|
1056
1070
|
? Bound.from(getBoundWithRotation(rBound(start)))
|
|
1057
1071
|
: null;
|
|
@@ -1076,9 +1090,12 @@ export class ConnectorPathGenerator extends PathGenerator {
|
|
|
1076
1090
|
let startPoint = null;
|
|
1077
1091
|
let endPoint = null;
|
|
1078
1092
|
if (source.id || target.id) {
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1093
|
+
const start = this._getConnectorEndElement(connector, 'source');
|
|
1094
|
+
const end = this._getConnectorEndElement(connector, 'target');
|
|
1095
|
+
// An endpoint id may reference an element that no longer exists.
|
|
1096
|
+
// Only take the anchor-to-anchor shortcut when both resolve; otherwise
|
|
1097
|
+
// degrade through _getConnectionPoint (stored position or empty path).
|
|
1098
|
+
if (start && end && !source.position && !target.position) {
|
|
1082
1099
|
const sb = Bound.deserialize(start.xywh);
|
|
1083
1100
|
const eb = Bound.deserialize(end.xywh);
|
|
1084
1101
|
startPoint = getNearestConnectableAnchor(start, eb.center);
|
|
@@ -1150,9 +1167,16 @@ export class ConnectorPathGenerator extends PathGenerator {
|
|
|
1150
1167
|
}
|
|
1151
1168
|
_generateStraightConnectorPath(connector) {
|
|
1152
1169
|
const { source, target } = connector;
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1170
|
+
const start = this._getConnectorEndElement(connector, 'source');
|
|
1171
|
+
const end = this._getConnectorEndElement(connector, 'target');
|
|
1172
|
+
// Same degraded state as in _generateCurveConnectorPath: an endpoint id
|
|
1173
|
+
// whose element is gone falls through to _getConnectionPoint.
|
|
1174
|
+
if (source.id &&
|
|
1175
|
+
!source.position &&
|
|
1176
|
+
target.id &&
|
|
1177
|
+
!target.position &&
|
|
1178
|
+
start &&
|
|
1179
|
+
end) {
|
|
1156
1180
|
const sb = Bound.deserialize(start.xywh);
|
|
1157
1181
|
const eb = Bound.deserialize(end.xywh);
|
|
1158
1182
|
const startPoint = getNearestConnectableAnchor(start, eb.center);
|
|
@@ -1215,8 +1239,7 @@ export class ConnectorPathGenerator extends PathGenerator {
|
|
|
1215
1239
|
_isPointAtShapeCenter(connectable, point) {
|
|
1216
1240
|
const bound = Bound.deserialize(connectable.xywh);
|
|
1217
1241
|
const center = getPointFromBoundsWithRotation({ ...bound, rotate: connectable.rotate }, bound.center);
|
|
1218
|
-
return (almostEqual(point[0], center[0], 1) &&
|
|
1219
|
-
almostEqual(point[1], center[1], 1));
|
|
1242
|
+
return (almostEqual(point[0], center[0], 1) && almostEqual(point[1], center[1], 1));
|
|
1220
1243
|
}
|
|
1221
1244
|
_getConnectionPoint(connector, type) {
|
|
1222
1245
|
const connection = connector[type];
|