@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
|
@@ -355,43 +355,43 @@ let EdgelessMindmapMenu = (() => {
|
|
|
355
355
|
const showNext = dragOut && !cancelled;
|
|
356
356
|
const isActive = this._style$.value === mindMap.style;
|
|
357
357
|
return html `
|
|
358
|
-
|
|
359
|
-
|
|
358
|
+
<div class="mindmap-item" data-is-active=${isActive}>
|
|
359
|
+
${isBeingDragged
|
|
360
360
|
? html `<button
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
361
|
+
style="transform: translateY(${showNext ? 0 : 64}px)"
|
|
362
|
+
class="next"
|
|
363
|
+
>
|
|
364
|
+
${mindMap.icon}
|
|
365
|
+
</button>`
|
|
366
366
|
: nothing}
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
367
|
+
<button
|
|
368
|
+
style="opacity: ${isBeingDragged ? 0 : 1}"
|
|
369
|
+
@mousedown=${(e) => {
|
|
370
370
|
this.draggableController.onMouseDown(e, {
|
|
371
371
|
preview: mindMap.icon,
|
|
372
372
|
data: mindMap,
|
|
373
373
|
standardWidth: 350,
|
|
374
374
|
});
|
|
375
375
|
}}
|
|
376
|
-
|
|
376
|
+
@touchstart=${(e) => {
|
|
377
377
|
this.draggableController.onTouchStart(e, {
|
|
378
378
|
preview: mindMap.icon,
|
|
379
379
|
data: mindMap,
|
|
380
380
|
standardWidth: 350,
|
|
381
381
|
});
|
|
382
382
|
}}
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
383
|
+
@click=${() => this.onActiveStyleChange?.(mindMap.style)}
|
|
384
|
+
>
|
|
385
|
+
${mindMap.icon}
|
|
386
|
+
</button>
|
|
387
|
+
<affine-tooltip tip-position="top" .offset=${12}>
|
|
388
|
+
<affine-tooltip-content-with-shortcut
|
|
389
|
+
data-tip="${'Mind Map'}"
|
|
390
|
+
data-shortcup="${'M'}"
|
|
391
|
+
></affine-tooltip-content-with-shortcut>
|
|
392
|
+
</affine-tooltip>
|
|
393
|
+
</div>
|
|
394
|
+
`;
|
|
395
395
|
})}
|
|
396
396
|
${this.std.store
|
|
397
397
|
.get(FeatureFlagService)
|
|
@@ -314,7 +314,11 @@ let EdgelessMindmapToolButton = (() => {
|
|
|
314
314
|
return html `<edgeless-toolbar-button
|
|
315
315
|
class="edgeless-mindmap-button"
|
|
316
316
|
?withHover=${true}
|
|
317
|
-
.tooltip=${popper
|
|
317
|
+
.tooltip=${popper
|
|
318
|
+
? ''
|
|
319
|
+
: this.variant === 'mindmap'
|
|
320
|
+
? 'Mind Map'
|
|
321
|
+
: 'Others'}
|
|
318
322
|
.tooltipOffset=${4}
|
|
319
323
|
@click=${this._toggleMenu}
|
|
320
324
|
style="width: 100%; height: 100%; display: inline-block"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { fitContent } from '../../affine-gfx-shape/index.js';
|
|
2
2
|
import { applyNodeStyle, LayoutType, } from '../../affine-model/index.js';
|
|
3
3
|
import { assertType } from '../../global/utils/index.js';
|
|
4
|
-
import { generateKeyBetween
|
|
4
|
+
import { generateKeyBetween } from '../../std/gfx/index.js';
|
|
5
5
|
import isEqual from 'lodash-es/isEqual.js';
|
|
6
6
|
import last from 'lodash-es/last.js';
|
|
7
7
|
import * as Y from 'yjs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getSurfaceComponent, ToolOverlay
|
|
1
|
+
import { getSurfaceComponent, ToolOverlay } from '../../affine-block-surface/index.js';
|
|
2
2
|
import { DefaultTheme } from '../../affine-model/index.js';
|
|
3
3
|
import { ThemeProvider } from '../../affine-shared/services/index.js';
|
|
4
4
|
import { effect } from '@preact/signals-core';
|
|
@@ -33,7 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
35
|
import { Heading1Icon, LinkIcon, TextIcon, } from '../../affine-components/icons/index.js';
|
|
36
|
-
import { EditPropsStore, ThemeProvider
|
|
36
|
+
import { EditPropsStore, ThemeProvider } from '../../affine-shared/services/index.js';
|
|
37
37
|
import { EdgelessToolbarToolMixin } from '../../affine-widget-edgeless-toolbar/index.js';
|
|
38
38
|
import { SignalWatcher } from '../../global/lit/index.js';
|
|
39
39
|
import { computed } from '@preact/signals-core';
|
|
@@ -7,10 +7,26 @@ export type PanToolOption = {
|
|
|
7
7
|
export declare class PanTool extends BaseTool<PanToolOption> {
|
|
8
8
|
static toolName: string;
|
|
9
9
|
private _lastPoint;
|
|
10
|
+
/**
|
|
11
|
+
* Set while a finger drag has borrowed the pan tool; calling it gives the
|
|
12
|
+
* previous tool — and the selection it was holding — back.
|
|
13
|
+
*/
|
|
14
|
+
private _fingerPanRestore;
|
|
10
15
|
readonly panning$: Signal<boolean>;
|
|
11
16
|
get allowDragWithRightButton(): boolean;
|
|
12
17
|
dragEnd(_: PointerEventState): void;
|
|
13
18
|
dragMove(e: PointerEventState): void;
|
|
14
19
|
dragStart(e: PointerEventState): void;
|
|
15
20
|
mounted(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Activate the pan tool for the duration of a gesture.
|
|
23
|
+
*
|
|
24
|
+
* @returns a function restoring the previous tool and the selection it was
|
|
25
|
+
* holding, or `null` when the pan tool is already the user's own choice —
|
|
26
|
+
* there is then nothing to restore.
|
|
27
|
+
*/
|
|
28
|
+
private _borrowPanTool;
|
|
29
|
+
private _releaseFingerPan;
|
|
30
|
+
/** Whether this drag is a bare finger sliding over empty canvas. */
|
|
31
|
+
private _shouldPanWithFinger;
|
|
16
32
|
}
|
|
@@ -2,10 +2,19 @@ import { EdgelessLegacySlotIdentifier } from '../../affine-block-surface/index.j
|
|
|
2
2
|
import { on } from '../../affine-shared/utils/index.js';
|
|
3
3
|
import { BaseTool, MouseButton } from '../../std/gfx/index.js';
|
|
4
4
|
import { Signal } from '@preact/signals-core';
|
|
5
|
+
/** The presentation tool, named here because it is not importable from gfx. */
|
|
6
|
+
const PRESENT_TOOL_NAME = 'frameNavigator';
|
|
7
|
+
/** The selection tool, named here because it is not importable from gfx. */
|
|
8
|
+
const DEFAULT_TOOL_NAME = 'default';
|
|
5
9
|
export class PanTool extends BaseTool {
|
|
6
10
|
constructor() {
|
|
7
11
|
super(...arguments);
|
|
8
12
|
this._lastPoint = null;
|
|
13
|
+
/**
|
|
14
|
+
* Set while a finger drag has borrowed the pan tool; calling it gives the
|
|
15
|
+
* previous tool — and the selection it was holding — back.
|
|
16
|
+
*/
|
|
17
|
+
this._fingerPanRestore = null;
|
|
9
18
|
this.panning$ = new Signal(false);
|
|
10
19
|
}
|
|
11
20
|
static { this.toolName = 'pan'; }
|
|
@@ -15,6 +24,7 @@ export class PanTool extends BaseTool {
|
|
|
15
24
|
dragEnd(_) {
|
|
16
25
|
this._lastPoint = null;
|
|
17
26
|
this.panning$.value = false;
|
|
27
|
+
this._releaseFingerPan();
|
|
18
28
|
}
|
|
19
29
|
dragMove(e) {
|
|
20
30
|
if (!this._lastPoint)
|
|
@@ -37,45 +47,105 @@ export class PanTool extends BaseTool {
|
|
|
37
47
|
if (!shouldPanWithMiddle) {
|
|
38
48
|
return;
|
|
39
49
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return;
|
|
47
|
-
let finalOptions = originalToolOptions;
|
|
48
|
-
const PRESENT_TOOL_NAME = 'frameNavigator';
|
|
49
|
-
if (toolType.toolName === PRESENT_TOOL_NAME) {
|
|
50
|
-
// When restoring PresentTool (frameNavigator) after a temporary pan (e.g., via middle mouse button),
|
|
51
|
-
// set 'restoredAfterPan' to true. This allows PresentTool to avoid an unwanted viewport reset
|
|
52
|
-
// and maintain the panned position.
|
|
53
|
-
const currentPresentOptions = originalToolOptions;
|
|
54
|
-
finalOptions = {
|
|
55
|
-
...currentPresentOptions,
|
|
56
|
-
restoredAfterPan: true,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
this.controller.setTool(toolType, finalOptions);
|
|
60
|
-
this.gfx.selection.set(selectionToRestore);
|
|
61
|
-
};
|
|
62
|
-
// If in presentation mode, disable black background after middle mouse drag
|
|
63
|
-
if (currentTool.toolType?.toolName === 'frameNavigator') {
|
|
64
|
-
const slots = this.std.get(EdgelessLegacySlotIdentifier);
|
|
65
|
-
slots.navigatorSettingUpdated.next({
|
|
66
|
-
blackBackground: false,
|
|
67
|
-
});
|
|
50
|
+
const restoreToPrevious = this._borrowPanTool();
|
|
51
|
+
// Already panning — the pan tool is the user's own choice, not a
|
|
52
|
+
// temporary borrow. There is nothing to switch to and nothing to
|
|
53
|
+
// restore, so stay out of the way and let the gesture through.
|
|
54
|
+
if (!restoreToPrevious) {
|
|
55
|
+
return;
|
|
68
56
|
}
|
|
69
|
-
|
|
70
|
-
panning: true,
|
|
71
|
-
});
|
|
57
|
+
evt.raw.preventDefault();
|
|
72
58
|
const dispose = on(document, 'pointerup', evt => {
|
|
73
59
|
if (evt.button === MouseButton.MIDDLE) {
|
|
74
60
|
restoreToPrevious();
|
|
75
|
-
dispose();
|
|
76
61
|
}
|
|
62
|
+
// Whatever button ended the gesture, this listener has done its job:
|
|
63
|
+
// release it, or a right-click after a middle-click would leave it
|
|
64
|
+
// hanging on `document` and restore a stale tool later on.
|
|
65
|
+
dispose();
|
|
77
66
|
});
|
|
78
67
|
return false;
|
|
79
68
|
});
|
|
69
|
+
// A finger dragging bare canvas slides the canvas, the way every touch
|
|
70
|
+
// surface behaves. Borrowing happens on `dragStart`, not on `pointerDown`:
|
|
71
|
+
// a tap must stay a tap, and the selection tool is still the one that has
|
|
72
|
+
// to answer it. The `dragStart` hook runs BEFORE the controller resolves
|
|
73
|
+
// which tool receives the event, so the pan tool below gets the whole
|
|
74
|
+
// gesture — moves and end alike.
|
|
75
|
+
this.addHook('dragStart', evt => {
|
|
76
|
+
if (!this._shouldPanWithFinger(evt))
|
|
77
|
+
return;
|
|
78
|
+
this._fingerPanRestore = this._borrowPanTool();
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Activate the pan tool for the duration of a gesture.
|
|
83
|
+
*
|
|
84
|
+
* @returns a function restoring the previous tool and the selection it was
|
|
85
|
+
* holding, or `null` when the pan tool is already the user's own choice —
|
|
86
|
+
* there is then nothing to restore.
|
|
87
|
+
*/
|
|
88
|
+
_borrowPanTool() {
|
|
89
|
+
const { toolType, options: originalToolOptions } = this.controller.currentToolOption$.peek();
|
|
90
|
+
if (toolType?.toolName === PanTool.toolName) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
// Snapshot the selection NOW. Activating the pan tool below goes through
|
|
94
|
+
// `ToolController.setTool`, which clears the selection, so reading it
|
|
95
|
+
// back at the end of the gesture would only ever restore an empty one.
|
|
96
|
+
const selectionToRestore = this.gfx.selection.surfaceSelections.slice();
|
|
97
|
+
const restoreToPrevious = () => {
|
|
98
|
+
if (!toolType)
|
|
99
|
+
return;
|
|
100
|
+
let finalOptions = originalToolOptions;
|
|
101
|
+
if (toolType.toolName === PRESENT_TOOL_NAME) {
|
|
102
|
+
// When restoring PresentTool (frameNavigator) after a temporary pan (e.g., via middle mouse button),
|
|
103
|
+
// set 'restoredAfterPan' to true. This allows PresentTool to avoid an unwanted viewport reset
|
|
104
|
+
// and maintain the panned position.
|
|
105
|
+
const currentPresentOptions = originalToolOptions;
|
|
106
|
+
finalOptions = {
|
|
107
|
+
...currentPresentOptions,
|
|
108
|
+
restoredAfterPan: true,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
this.controller.setTool(toolType, finalOptions);
|
|
112
|
+
// AFTER the switch, never before: `setTool` clears the selection.
|
|
113
|
+
this.gfx.selection.set(selectionToRestore);
|
|
114
|
+
};
|
|
115
|
+
// If in presentation mode, disable black background after middle mouse drag
|
|
116
|
+
if (toolType?.toolName === PRESENT_TOOL_NAME) {
|
|
117
|
+
const slots = this.std.get(EdgelessLegacySlotIdentifier);
|
|
118
|
+
slots.navigatorSettingUpdated.next({
|
|
119
|
+
blackBackground: false,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
this.controller.setTool(PanTool, {
|
|
123
|
+
panning: true,
|
|
124
|
+
});
|
|
125
|
+
return restoreToPrevious;
|
|
126
|
+
}
|
|
127
|
+
_releaseFingerPan() {
|
|
128
|
+
const restore = this._fingerPanRestore;
|
|
129
|
+
this._fingerPanRestore = null;
|
|
130
|
+
restore?.();
|
|
131
|
+
}
|
|
132
|
+
/** Whether this drag is a bare finger sliding over empty canvas. */
|
|
133
|
+
_shouldPanWithFinger(e) {
|
|
134
|
+
// A second finger is a two-finger gesture — pan or pinch — and the
|
|
135
|
+
// edgeless root answers those itself. It never reaches here anyway: the
|
|
136
|
+
// drag controller ends the drag as soon as a non-primary pointer lands.
|
|
137
|
+
if (e.raw.pointerType !== 'touch' || !e.raw.isPrimary)
|
|
138
|
+
return false;
|
|
139
|
+
// Only the selection tool lends its gesture away. Every other tool —
|
|
140
|
+
// brush, shape, connector, the framework tools — draws on empty canvas,
|
|
141
|
+
// and a finger is precisely how it is meant to draw.
|
|
142
|
+
const { toolType } = this.controller.currentToolOption$.peek();
|
|
143
|
+
if (toolType?.toolName !== DEFAULT_TOOL_NAME)
|
|
144
|
+
return false;
|
|
145
|
+
// A finger landing on something moves that something; only bare canvas
|
|
146
|
+
// slides. This is what keeps dragging a Wardley or EDGY element by hand
|
|
147
|
+
// working.
|
|
148
|
+
const [modelX, modelY] = this.gfx.viewport.toModelCoord(e.x, e.y);
|
|
149
|
+
return !this.gfx.getElementByPoint(modelX, modelY);
|
|
80
150
|
}
|
|
81
151
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ShapeElementModel, TextFitMode } from '../affine-model/index.js';
|
|
2
|
+
import { GfxControllerIdentifier } from '../std/gfx/index.js';
|
|
3
|
+
import { applyTextFitMode, nextTextFitMode } from './text-fit.js';
|
|
4
|
+
/**
|
|
5
|
+
* Shape commands (edgeless scope, always-on — shapes are core canvas), so
|
|
6
|
+
* `owner: 'core'` rather than a framework. Host-rebindable through
|
|
7
|
+
* `ShortcutOverrides` exactly as before (`docs/adr/0008`).
|
|
8
|
+
*/
|
|
9
|
+
/** The selected shapes that carry text — the ones the gesture would cycle. */
|
|
10
|
+
const textShapes = (std) => std
|
|
11
|
+
.get(GfxControllerIdentifier)
|
|
12
|
+
.selection.selectedElements.filter((el) => el instanceof ShapeElementModel && !!el.text);
|
|
13
|
+
export const shapeCommands = [
|
|
14
|
+
{
|
|
15
|
+
id: 'shape.cycleTextFit',
|
|
16
|
+
owner: 'core',
|
|
17
|
+
kind: 'action',
|
|
18
|
+
labelKey: 'com.labre.keyboardShortcuts.shape.cycleTextFit',
|
|
19
|
+
labelFallback: 'Cycle text fit',
|
|
20
|
+
surfaces: ['palette', 'agent'],
|
|
21
|
+
scope: 'edgeless',
|
|
22
|
+
defaultKeys: { mac: ['Mod-Shift-f'], other: ['Mod-Shift-f'] },
|
|
23
|
+
availability: 'selection',
|
|
24
|
+
when: std => textShapes(std).length > 0,
|
|
25
|
+
run: std => {
|
|
26
|
+
const models = textShapes(std);
|
|
27
|
+
if (!models.length)
|
|
28
|
+
return;
|
|
29
|
+
const mode = models[0].textFitMode ?? TextFitMode.Grow;
|
|
30
|
+
applyTextFitMode(std, models, nextTextFitMode(mode));
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DEFAULT_ROUGHNESS, LineWidth, StrokeStyle
|
|
1
|
+
import { DEFAULT_ROUGHNESS, LineWidth, StrokeStyle } from '../affine-model/index.js';
|
|
2
2
|
export const SHAPE_OVERLAY_WIDTH = 100;
|
|
3
3
|
export const SHAPE_OVERLAY_HEIGHT = 100;
|
|
4
4
|
export const SHAPE_OVERLAY_OFFSET_X = 6;
|
|
@@ -33,7 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
35
|
import { CanvasElementType, DefaultTool, EdgelessCRUDIdentifier, } from '../../affine-block-surface/index.js';
|
|
36
|
-
import { getShapeRadius, getShapeType, ShapeType
|
|
36
|
+
import { getShapeRadius, getShapeType, ShapeType } from '../../affine-model/index.js';
|
|
37
37
|
import { EditPropsStore, TelemetryProvider, ThemeProvider, ViewportElementProvider, } from '../../affine-shared/services/index.js';
|
|
38
38
|
import { EdgelessDraggableElementController, EdgelessToolbarToolMixin, } from '../../affine-widget-edgeless-toolbar/index.js';
|
|
39
39
|
import { SignalWatcher } from '../../global/lit/index.js';
|
|
@@ -29,11 +29,11 @@ export function polygon(model, ctx, matrix, renderer, rc, colors) {
|
|
|
29
29
|
else {
|
|
30
30
|
// Convert normalized vertices to absolute coordinates for rough.js
|
|
31
31
|
const absPoints = vertices.map(v => [v[0] * renderWidth, v[1] * renderHeight]);
|
|
32
|
-
const smoothFlags = 'smoothFlags' in model && model.smoothFlags
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
const smoothFlags = 'smoothFlags' in model && model.smoothFlags ? model.smoothFlags : null;
|
|
33
|
+
const controlPoints = 'controlPoints' in model &&
|
|
34
|
+
model.controlPoints
|
|
35
|
+
? model
|
|
36
|
+
.controlPoints
|
|
37
37
|
: null;
|
|
38
38
|
const hasBezier = smoothFlags && smoothFlags.some(f => f);
|
|
39
39
|
if (hasBezier) {
|
|
@@ -52,8 +52,12 @@ export function polygon(model, ctx, matrix, renderer, rc, colors) {
|
|
|
52
52
|
let cp1x, cp1y;
|
|
53
53
|
const customCurr = controlPoints?.[i];
|
|
54
54
|
if (currSmooth) {
|
|
55
|
-
cp1x = customCurr
|
|
56
|
-
|
|
55
|
+
cp1x = customCurr
|
|
56
|
+
? customCurr[2] * renderWidth
|
|
57
|
+
: cx + (nx - cx) / 3;
|
|
58
|
+
cp1y = customCurr
|
|
59
|
+
? customCurr[3] * renderHeight
|
|
60
|
+
: cy + (ny - cy) / 3;
|
|
57
61
|
}
|
|
58
62
|
else {
|
|
59
63
|
cp1x = cx;
|
|
@@ -62,8 +66,12 @@ export function polygon(model, ctx, matrix, renderer, rc, colors) {
|
|
|
62
66
|
let cp2x, cp2y;
|
|
63
67
|
const customNext = controlPoints?.[next];
|
|
64
68
|
if (nextSmooth) {
|
|
65
|
-
cp2x = customNext
|
|
66
|
-
|
|
69
|
+
cp2x = customNext
|
|
70
|
+
? customNext[0] * renderWidth
|
|
71
|
+
: nx + (cx - nx) / 3;
|
|
72
|
+
cp2y = customNext
|
|
73
|
+
? customNext[1] * renderHeight
|
|
74
|
+
: ny + (cy - ny) / 3;
|
|
67
75
|
}
|
|
68
76
|
else {
|
|
69
77
|
cp2x = nx;
|
|
@@ -116,8 +116,10 @@ function drawPolygon(ctx, width, height, shapeModel) {
|
|
|
116
116
|
const smoothFlags = 'smoothFlags' in shapeModel && shapeModel.smoothFlags
|
|
117
117
|
? shapeModel.smoothFlags
|
|
118
118
|
: null;
|
|
119
|
-
const controlPoints = 'controlPoints' in shapeModel &&
|
|
120
|
-
|
|
119
|
+
const controlPoints = 'controlPoints' in shapeModel &&
|
|
120
|
+
shapeModel.controlPoints
|
|
121
|
+
? shapeModel
|
|
122
|
+
.controlPoints
|
|
121
123
|
: null;
|
|
122
124
|
const count = vertices.length;
|
|
123
125
|
if (count === 0)
|
|
@@ -131,7 +133,10 @@ function drawPolygon(ctx, width, height, shapeModel) {
|
|
|
131
133
|
}
|
|
132
134
|
}
|
|
133
135
|
else {
|
|
134
|
-
const abs = (v) => [
|
|
136
|
+
const abs = (v) => [
|
|
137
|
+
v[0] * width,
|
|
138
|
+
v[1] * height,
|
|
139
|
+
];
|
|
135
140
|
ctx.moveTo(vertices[0][0] * width, vertices[0][1] * height);
|
|
136
141
|
for (let i = 0; i < count; i++) {
|
|
137
142
|
const next = (i + 1) % count;
|
|
@@ -1,17 +1,52 @@
|
|
|
1
1
|
import { DefaultTheme } from '../../../affine-model/index.js';
|
|
2
2
|
import { SVGShapeBuilder } from '../../../global/gfx/index.js';
|
|
3
3
|
import { manageClassNames, setStyles } from './utils.js';
|
|
4
|
+
const SVG_NS = 'http://www.w3.org/2000/svg';
|
|
5
|
+
/**
|
|
6
|
+
* The nodes a shape host already owns, kept across renders. Rebuilding the
|
|
7
|
+
* `<svg>` on every frame made each pan or zoom allocate a fresh element per
|
|
8
|
+
* shape on the board; the attributes are cheap to overwrite in place.
|
|
9
|
+
*/
|
|
10
|
+
const retainedShapeDom = new WeakMap();
|
|
11
|
+
function getRetainedShapeDom(element) {
|
|
12
|
+
const existing = retainedShapeDom.get(element);
|
|
13
|
+
if (existing) {
|
|
14
|
+
return existing;
|
|
15
|
+
}
|
|
16
|
+
const retained = {
|
|
17
|
+
svg: null,
|
|
18
|
+
polygon: null,
|
|
19
|
+
};
|
|
20
|
+
retainedShapeDom.set(element, retained);
|
|
21
|
+
return retained;
|
|
22
|
+
}
|
|
23
|
+
function getOrCreateSvg(retained, element) {
|
|
24
|
+
if (retained.svg && retained.polygon) {
|
|
25
|
+
return {
|
|
26
|
+
svg: retained.svg,
|
|
27
|
+
polygon: retained.polygon,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const svg = document.createElementNS(SVG_NS, 'svg');
|
|
31
|
+
svg.setAttribute('width', '100%');
|
|
32
|
+
svg.setAttribute('height', '100%');
|
|
33
|
+
svg.setAttribute('preserveAspectRatio', 'none');
|
|
34
|
+
const polygon = document.createElementNS(SVG_NS, 'polygon');
|
|
35
|
+
svg.append(polygon);
|
|
36
|
+
retained.svg = svg;
|
|
37
|
+
retained.polygon = polygon;
|
|
38
|
+
element.prepend(svg);
|
|
39
|
+
return { svg, polygon };
|
|
40
|
+
}
|
|
41
|
+
function removeSvg(retained) {
|
|
42
|
+
retained.svg?.remove();
|
|
43
|
+
retained.svg = null;
|
|
44
|
+
retained.polygon = null;
|
|
45
|
+
}
|
|
4
46
|
function applyShapeSpecificStyles(model, element, zoom) {
|
|
5
47
|
// Reset properties that might be set by different shape types
|
|
6
48
|
element.style.removeProperty('clip-path');
|
|
7
49
|
element.style.removeProperty('border-radius');
|
|
8
|
-
// Clear DOM for shapes that don't use SVG, or if type changes from SVG-based to non-SVG-based
|
|
9
|
-
if (model.shapeType !== 'diamond' &&
|
|
10
|
-
model.shapeType !== 'triangle' &&
|
|
11
|
-
model.shapeType !== 'polygon') {
|
|
12
|
-
while (element.firstChild)
|
|
13
|
-
element.firstChild.remove();
|
|
14
|
-
}
|
|
15
50
|
switch (model.shapeType) {
|
|
16
51
|
case 'rect': {
|
|
17
52
|
const w = model.w * zoom;
|
|
@@ -91,6 +126,7 @@ export const shapeDomRenderer = (model, element, renderer) => {
|
|
|
91
126
|
const { zoom } = renderer.viewport;
|
|
92
127
|
const unscaledWidth = model.w;
|
|
93
128
|
const unscaledHeight = model.h;
|
|
129
|
+
const retained = getRetainedShapeDom(element);
|
|
94
130
|
const fillColor = renderer.getColorValue(model.fillColor, DefaultTheme.shapeFillColor, true);
|
|
95
131
|
const strokeColor = renderer.getColorValue(model.strokeColor, DefaultTheme.shapeStrokeColor, true);
|
|
96
132
|
element.style.width = `${unscaledWidth * zoom}px`;
|
|
@@ -104,6 +140,7 @@ export const shapeDomRenderer = (model, element, renderer) => {
|
|
|
104
140
|
// For diamond and triangle, fill and border are handled by inline SVG
|
|
105
141
|
element.style.border = 'none'; // Ensure no standard CSS border interferes
|
|
106
142
|
element.style.backgroundColor = 'transparent'; // Host element is transparent
|
|
143
|
+
const { polygon, svg } = getOrCreateSvg(retained, element);
|
|
107
144
|
const strokeW = model.strokeWidth;
|
|
108
145
|
let svgPoints = '';
|
|
109
146
|
if (model.shapeType === 'diamond') {
|
|
@@ -140,14 +177,7 @@ export const shapeDomRenderer = (model, element, renderer) => {
|
|
|
140
177
|
: 'none';
|
|
141
178
|
// Determine fill color
|
|
142
179
|
const finalFillColor = model.filled ? fillColor : 'transparent';
|
|
143
|
-
// Build SVG safely with DOM-API
|
|
144
|
-
const SVG_NS = 'http://www.w3.org/2000/svg';
|
|
145
|
-
const svg = document.createElementNS(SVG_NS, 'svg');
|
|
146
|
-
svg.setAttribute('width', '100%');
|
|
147
|
-
svg.setAttribute('height', '100%');
|
|
148
180
|
svg.setAttribute('viewBox', `0 0 ${unscaledWidth} ${unscaledHeight}`);
|
|
149
|
-
svg.setAttribute('preserveAspectRatio', 'none');
|
|
150
|
-
const polygon = document.createElementNS(SVG_NS, 'polygon');
|
|
151
181
|
polygon.setAttribute('points', svgPoints);
|
|
152
182
|
polygon.setAttribute('fill', finalFillColor);
|
|
153
183
|
polygon.setAttribute('stroke', finalStrokeColor);
|
|
@@ -155,18 +185,17 @@ export const shapeDomRenderer = (model, element, renderer) => {
|
|
|
155
185
|
if (finalStrokeDasharray !== 'none') {
|
|
156
186
|
polygon.setAttribute('stroke-dasharray', finalStrokeDasharray);
|
|
157
187
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
188
|
+
else {
|
|
189
|
+
polygon.removeAttribute('stroke-dasharray');
|
|
190
|
+
}
|
|
161
191
|
}
|
|
162
192
|
else {
|
|
163
193
|
// Standard rendering for other shapes (e.g., rect, ellipse)
|
|
164
|
-
|
|
194
|
+
removeSvg(retained);
|
|
165
195
|
element.style.backgroundColor = model.filled ? fillColor : 'transparent';
|
|
166
196
|
applyBorderStyles(model, element, strokeColor, zoom); // Uses standard CSS border
|
|
167
197
|
}
|
|
168
198
|
applyTransformStyles(model, element);
|
|
169
|
-
element.style.zIndex = renderer.layerManager.getZIndex(model).toString();
|
|
170
199
|
manageClassNames(model, element);
|
|
171
200
|
applyShadowStyles(model, element, renderer);
|
|
172
201
|
};
|
|
@@ -146,8 +146,7 @@ export class ShapeElementView extends GfxElementModelView {
|
|
|
146
146
|
return;
|
|
147
147
|
}
|
|
148
148
|
// 'B' key toggles Bezier smoothing on the hovered vertex
|
|
149
|
-
if ((evt.key === 'b' || evt.key === 'B') &&
|
|
150
|
-
this._vertexEditingOverlay) {
|
|
149
|
+
if ((evt.key === 'b' || evt.key === 'B') && this._vertexEditingOverlay) {
|
|
151
150
|
const idx = this._vertexEditingOverlay.hoveredVertexIndex;
|
|
152
151
|
if (idx >= 0) {
|
|
153
152
|
evt.preventDefault();
|
|
@@ -192,7 +191,8 @@ export class ShapeElementView extends GfxElementModelView {
|
|
|
192
191
|
const verts = this.model.vertices;
|
|
193
192
|
if (verts && this._pendingVertexIndex < verts.length) {
|
|
194
193
|
this._isDraggingVertex = true;
|
|
195
|
-
this._vertexEditingOverlay.activeVertexIndex =
|
|
194
|
+
this._vertexEditingOverlay.activeVertexIndex =
|
|
195
|
+
this._pendingVertexIndex;
|
|
196
196
|
this.model.stash('xywh');
|
|
197
197
|
this.model.stash('vertices');
|
|
198
198
|
this.model.stash('controlPoints');
|
|
@@ -214,8 +214,10 @@ export class ShapeElementView extends GfxElementModelView {
|
|
|
214
214
|
// Bezier handle drag
|
|
215
215
|
if (this._pendingBezierHandle) {
|
|
216
216
|
this._isDraggingBezierHandle = true;
|
|
217
|
-
this._vertexEditingOverlay.activeBezierHandleIndex =
|
|
218
|
-
|
|
217
|
+
this._vertexEditingOverlay.activeBezierHandleIndex =
|
|
218
|
+
this._pendingBezierHandle.vertexIndex;
|
|
219
|
+
this._vertexEditingOverlay.activeBezierHandleType =
|
|
220
|
+
this._pendingBezierHandle.handleIndex;
|
|
219
221
|
this.model.stash('xywh');
|
|
220
222
|
this.model.stash('vertices');
|
|
221
223
|
this.model.stash('controlPoints');
|
|
@@ -237,7 +239,9 @@ export class ShapeElementView extends GfxElementModelView {
|
|
|
237
239
|
const dx = curMX - this._pointerStartModelCoord[0];
|
|
238
240
|
const dy = curMY - this._pointerStartModelCoord[1];
|
|
239
241
|
// Bezier handle drag
|
|
240
|
-
if (this._isDraggingBezierHandle &&
|
|
242
|
+
if (this._isDraggingBezierHandle &&
|
|
243
|
+
this._pendingBezierHandle &&
|
|
244
|
+
this._bezierDragStartModelCoord) {
|
|
241
245
|
this._vertexEditingOverlay.moveBezierHandle(this._pendingBezierHandle.vertexIndex, this._pendingBezierHandle.handleIndex, this._bezierDragStartModelCoord[0] + dx, this._bezierDragStartModelCoord[1] + dy);
|
|
242
246
|
this._syncConnectorPaths();
|
|
243
247
|
this._surfaceComponent?.refresh();
|
|
@@ -283,7 +287,11 @@ export class ShapeElementView extends GfxElementModelView {
|
|
|
283
287
|
this._surfaceComponent?.refresh();
|
|
284
288
|
}
|
|
285
289
|
});
|
|
286
|
-
this._dragHandlerDisposers = [
|
|
290
|
+
this._dragHandlerDisposers = [
|
|
291
|
+
dragstartDisposer,
|
|
292
|
+
dragmoveDisposer,
|
|
293
|
+
dragendDisposer,
|
|
294
|
+
];
|
|
287
295
|
}
|
|
288
296
|
/**
|
|
289
297
|
* Exit polygon vertex editing mode: clear overlay editing state,
|
|
@@ -346,15 +354,14 @@ export class ShapeElementView extends GfxElementModelView {
|
|
|
346
354
|
// Record which vertex (if any) the pointer pressed on. The registered
|
|
347
355
|
// dragstart handler (added in _enterVertexEditingMode) reads
|
|
348
356
|
// _pendingVertexIndex to decide whether to enter vertex-drag mode.
|
|
349
|
-
this.on('pointerdown',
|
|
357
|
+
this.on('pointerdown', e => {
|
|
350
358
|
if (!this._vertexEditingOverlay?.isEditing) {
|
|
351
359
|
// Outside editing mode no vertex drag is possible.
|
|
352
360
|
this._pendingVertexIndex = -1;
|
|
353
361
|
return;
|
|
354
362
|
}
|
|
355
363
|
const [mx, my] = this.gfx.viewport.toModelCoord(e.x, e.y);
|
|
356
|
-
this._pendingVertexIndex =
|
|
357
|
-
this._vertexEditingOverlay.hitTestVertex(mx, my);
|
|
364
|
+
this._pendingVertexIndex = this._vertexEditingOverlay.hitTestVertex(mx, my);
|
|
358
365
|
// If no vertex hit, check bezier handle hit
|
|
359
366
|
if (this._pendingVertexIndex < 0) {
|
|
360
367
|
this._pendingBezierHandle =
|
|
@@ -365,7 +372,7 @@ export class ShapeElementView extends GfxElementModelView {
|
|
|
365
372
|
}
|
|
366
373
|
});
|
|
367
374
|
// Listen for pointer move to update hover state on the overlay
|
|
368
|
-
this.on('pointermove',
|
|
375
|
+
this.on('pointermove', e => {
|
|
369
376
|
if (!this._vertexEditingOverlay)
|
|
370
377
|
return;
|
|
371
378
|
const [mx, my] = this.gfx.viewport.toModelCoord(e.x, e.y);
|
|
@@ -393,7 +400,7 @@ export class ShapeElementView extends GfxElementModelView {
|
|
|
393
400
|
}
|
|
394
401
|
});
|
|
395
402
|
// Click on edge midpoint to insert a new vertex (in editing mode)
|
|
396
|
-
this.on('click',
|
|
403
|
+
this.on('click', e => {
|
|
397
404
|
if (!this._vertexEditingOverlay)
|
|
398
405
|
return;
|
|
399
406
|
if (!this._vertexEditingOverlay.isEditing)
|
|
@@ -6,7 +6,7 @@ export * from './element-view.js';
|
|
|
6
6
|
export * from './overlay/index.js';
|
|
7
7
|
export * from './polygon-tool.js';
|
|
8
8
|
export * from './shape-tool.js';
|
|
9
|
-
export * from './
|
|
9
|
+
export * from './commands.js';
|
|
10
10
|
export * from './text/index.js';
|
|
11
11
|
export * from './text-fit.js';
|
|
12
12
|
export * from './toolbar/index.js';
|