@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
|
@@ -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';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ToolOverlay
|
|
1
|
+
import { ToolOverlay } from '../../affine-block-surface/index.js';
|
|
2
2
|
import { ShapeElementModel, ShapeType } from '../../affine-model/index.js';
|
|
3
3
|
import { Bound, getBezierCurveBoundingBox, } from '../../global/gfx/index.js';
|
|
4
4
|
// ─── Visual constants ───────────────────────────────────────────────────────
|
|
@@ -86,8 +86,7 @@ export class PolygonVertexEditingOverlay extends ToolOverlay {
|
|
|
86
86
|
if (!this._elementId)
|
|
87
87
|
return null;
|
|
88
88
|
const el = this.gfx.getElementById(this._elementId);
|
|
89
|
-
if (el instanceof ShapeElementModel &&
|
|
90
|
-
el.shapeType === ShapeType.Polygon) {
|
|
89
|
+
if (el instanceof ShapeElementModel && el.shapeType === ShapeType.Polygon) {
|
|
91
90
|
return el;
|
|
92
91
|
}
|
|
93
92
|
return null;
|
|
@@ -361,7 +360,7 @@ export class PolygonVertexEditingOverlay extends ToolOverlay {
|
|
|
361
360
|
return null;
|
|
362
361
|
const bound = Bound.deserialize(model.xywh);
|
|
363
362
|
const zoom = this.gfx.viewport.zoom;
|
|
364
|
-
const hitDist = BEZIER_HANDLE_RADIUS * 2 / zoom;
|
|
363
|
+
const hitDist = (BEZIER_HANDLE_RADIUS * 2) / zoom;
|
|
365
364
|
// Inverse-rotate incoming world coordinates into polygon's local space
|
|
366
365
|
let localX = modelX;
|
|
367
366
|
let localY = modelY;
|
|
@@ -759,7 +758,9 @@ export class PolygonVertexEditingOverlay extends ToolOverlay {
|
|
|
759
758
|
return;
|
|
760
759
|
const bound = Bound.deserialize(model.xywh);
|
|
761
760
|
const count = model.vertices.length;
|
|
762
|
-
let flags = model.smoothFlags
|
|
761
|
+
let flags = model.smoothFlags
|
|
762
|
+
? [...model.smoothFlags]
|
|
763
|
+
: new Array(count).fill(false);
|
|
763
764
|
// Ensure flags array matches vertex count
|
|
764
765
|
while (flags.length < count)
|
|
765
766
|
flags.push(false);
|
|
@@ -1034,8 +1035,12 @@ export class PolygonVertexEditingOverlay extends ToolOverlay {
|
|
|
1034
1035
|
const mx = (ax + bx) / 2;
|
|
1035
1036
|
const my = (ay + by) / 2;
|
|
1036
1037
|
const isHoveredMid = i === this.hoveredMidpointIndex;
|
|
1037
|
-
const midR = (isHoveredMid
|
|
1038
|
-
|
|
1038
|
+
const midR = (isHoveredMid
|
|
1039
|
+
? MIDPOINT_HANDLE_HOVER_RADIUS
|
|
1040
|
+
: MIDPOINT_HANDLE_RADIUS) / zoom;
|
|
1041
|
+
const midFill = isHoveredMid
|
|
1042
|
+
? MIDPOINT_HOVER_FILL_COLOR
|
|
1043
|
+
: MIDPOINT_FILL_COLOR;
|
|
1039
1044
|
ctx.beginPath();
|
|
1040
1045
|
ctx.arc(mx, my, midR, 0, Math.PI * 2);
|
|
1041
1046
|
ctx.fillStyle = midFill;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getSurfaceComponent, ToolOverlay, } from '../../affine-block-surface/index.js';
|
|
2
|
-
import { DefaultTheme
|
|
2
|
+
import { DefaultTheme } from '../../affine-model/index.js';
|
|
3
3
|
import { ThemeProvider } from '../../affine-shared/services/index.js';
|
|
4
4
|
import { assertType } from '../../global/utils/index.js';
|
|
5
5
|
import { effect } from '@preact/signals-core';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CanvasElementType, DefaultTool, EXCLUDING_MOUSE_OUT_CLASS_LIST, } from '../affine-block-surface/index.js';
|
|
2
|
-
import { DefaultTheme, ShapeType
|
|
2
|
+
import { DefaultTheme, ShapeType } from '../affine-model/index.js';
|
|
3
3
|
import { EditPropsStore, TelemetryProvider, ThemeProvider, } from '../affine-shared/services/index.js';
|
|
4
4
|
import { hasClassNameInList } from '../affine-shared/utils/index.js';
|
|
5
5
|
import { Bound } from '../global/gfx/index.js';
|
|
@@ -233,7 +233,9 @@ export class PolygonTool extends BaseTool {
|
|
|
233
233
|
vertices: normalizedVertices,
|
|
234
234
|
isClosed: true,
|
|
235
235
|
smoothFlags: smoothFlagsForModel,
|
|
236
|
-
...(controlPointsForModel
|
|
236
|
+
...(controlPointsForModel
|
|
237
|
+
? { controlPoints: controlPointsForModel }
|
|
238
|
+
: {}),
|
|
237
239
|
});
|
|
238
240
|
this.std.getOptional(TelemetryProvider)?.track('CanvasElementAdded', {
|
|
239
241
|
control: 'canvas:draw',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CanvasElementType, DefaultTool, EXCLUDING_MOUSE_OUT_CLASS_LIST, } from '../affine-block-surface/index.js';
|
|
2
|
-
import { DefaultTheme, getShapeType, ShapeType
|
|
2
|
+
import { DefaultTheme, getShapeType, ShapeType } from '../affine-model/index.js';
|
|
3
3
|
import { EditPropsStore, TelemetryProvider, ThemeProvider, } from '../affine-shared/services/index.js';
|
|
4
4
|
import { hasClassNameInList } from '../affine-shared/utils/index.js';
|
|
5
5
|
import { Bound } from '../global/gfx/index.js';
|
|
@@ -5,6 +5,7 @@ import { nothing } from 'lit';
|
|
|
5
5
|
export declare function mountShapeTextEditor(shapeElement: ShapeElementModel, edgeless: BlockComponent): void;
|
|
6
6
|
declare const EdgelessShapeTextEditor_base: typeof ShadowlessElement & import("../../global/utils/types.js").Constructor<import("../../global/lit/with-disposable.js").DisposableClass>;
|
|
7
7
|
export declare class EdgelessShapeTextEditor extends EdgelessShapeTextEditor_base {
|
|
8
|
+
private _compositionUpdateRaf;
|
|
8
9
|
private _keeping;
|
|
9
10
|
private _lastXYWH;
|
|
10
11
|
private _resizeObserver;
|
|
@@ -17,6 +18,31 @@ export declare class EdgelessShapeTextEditor extends EdgelessShapeTextEditor_bas
|
|
|
17
18
|
private _initMindmapKeyBindings;
|
|
18
19
|
private _stashMindMapTree;
|
|
19
20
|
private _unmount;
|
|
21
|
+
private _cancelScheduledElementWHUpdate;
|
|
22
|
+
/**
|
|
23
|
+
* While an IME composition is in progress the text is only in the DOM, not
|
|
24
|
+
* yet in the model, so `renderComplete` never fires and the shape keeps the
|
|
25
|
+
* size it had before the user started composing — the preedit string spills
|
|
26
|
+
* out of it. Remeasure once per frame instead, and once more when the
|
|
27
|
+
* composition ends.
|
|
28
|
+
*/
|
|
29
|
+
private _scheduleElementWHUpdate;
|
|
30
|
+
private _getInlineEditorContentRect;
|
|
31
|
+
/**
|
|
32
|
+
* The size the shape should take, measured on the editor DOM.
|
|
33
|
+
*
|
|
34
|
+
* Without a numeric `maxWidth` the editor box *is* the text box, so its own
|
|
35
|
+
* offset size is the whole measure. Every framework shape (Wardley, EDGY,
|
|
36
|
+
* DDD, Cynefin) is in that case, and takes exactly the path it took before
|
|
37
|
+
* mind map nodes gained a maximum width.
|
|
38
|
+
*
|
|
39
|
+
* With a numeric `maxWidth` the box is capped by CSS and wraps, so
|
|
40
|
+
* `offsetWidth` alone no longer describes the text: a preedit string the
|
|
41
|
+
* browser has not reflowed yet extends past the box it is painted in. Take
|
|
42
|
+
* the widest measure available, then clamp it back to `maxWidth` so the
|
|
43
|
+
* shape never grows past the cap.
|
|
44
|
+
*/
|
|
45
|
+
private _measureEditorSize;
|
|
20
46
|
private _updateElementWH;
|
|
21
47
|
connectedCallback(): void;
|
|
22
48
|
firstUpdated(): void;
|
|
@@ -35,13 +35,13 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
35
35
|
import { DefaultTool, EdgelessCRUDIdentifier, TextUtils, } from '../../affine-block-surface/index.js';
|
|
36
36
|
import { MindmapElementModel, ShapeElementModel, TextFitMode, TextResizing, } from '../../affine-model/index.js';
|
|
37
37
|
import { ThemeProvider } from '../../affine-shared/services/index.js';
|
|
38
|
-
import { getSelectedRect } from '../../affine-shared/utils/index.js';
|
|
38
|
+
import { getSelectedRect, overlayScale, toOverlayCoord, } from '../../affine-shared/utils/index.js';
|
|
39
39
|
import { BlockSuiteError, ErrorCode } from '../../global/exceptions/index.js';
|
|
40
40
|
import { Bound, toRadian, Vec } from '../../global/gfx/index.js';
|
|
41
41
|
import { WithDisposable } from '../../global/lit/index.js';
|
|
42
42
|
import { ShadowlessElement, stdContext, } from '../../std/index.js';
|
|
43
43
|
import { GfxControllerIdentifier } from '../../std/gfx/index.js';
|
|
44
|
-
import { RANGE_SYNC_EXCLUDE_ATTR } from '../../std/inline/index.js';
|
|
44
|
+
import { InlineEditor, RANGE_SYNC_EXCLUDE_ATTR } from '../../std/inline/index.js';
|
|
45
45
|
import { consume } from '@lit/context';
|
|
46
46
|
import { html, nothing } from 'lit';
|
|
47
47
|
import { property, query } from 'lit/decorators.js';
|
|
@@ -160,6 +160,7 @@ let EdgelessShapeTextEditor = (() => {
|
|
|
160
160
|
});
|
|
161
161
|
}
|
|
162
162
|
_unmount() {
|
|
163
|
+
this._cancelScheduledElementWHUpdate();
|
|
163
164
|
this._resizeObserver?.disconnect();
|
|
164
165
|
this._resizeObserver = null;
|
|
165
166
|
if (this.element.text) {
|
|
@@ -180,6 +181,90 @@ let EdgelessShapeTextEditor = (() => {
|
|
|
180
181
|
editing: false,
|
|
181
182
|
});
|
|
182
183
|
}
|
|
184
|
+
_cancelScheduledElementWHUpdate() {
|
|
185
|
+
if (this._compositionUpdateRaf !== null) {
|
|
186
|
+
cancelAnimationFrame(this._compositionUpdateRaf);
|
|
187
|
+
this._compositionUpdateRaf = null;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* While an IME composition is in progress the text is only in the DOM, not
|
|
192
|
+
* yet in the model, so `renderComplete` never fires and the shape keeps the
|
|
193
|
+
* size it had before the user started composing — the preedit string spills
|
|
194
|
+
* out of it. Remeasure once per frame instead, and once more when the
|
|
195
|
+
* composition ends.
|
|
196
|
+
*/
|
|
197
|
+
_scheduleElementWHUpdate(flush = false) {
|
|
198
|
+
if (flush) {
|
|
199
|
+
this._cancelScheduledElementWHUpdate();
|
|
200
|
+
this._updateElementWH();
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
if (this._compositionUpdateRaf !== null) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
this._compositionUpdateRaf = requestAnimationFrame(() => {
|
|
207
|
+
this._compositionUpdateRaf = null;
|
|
208
|
+
this._updateElementWH();
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
_getInlineEditorContentRect() {
|
|
212
|
+
if (!this.inlineEditorContainer) {
|
|
213
|
+
return null;
|
|
214
|
+
}
|
|
215
|
+
const textNodes = InlineEditor.getTextNodesFromElement(this.inlineEditorContainer);
|
|
216
|
+
const firstText = textNodes[0];
|
|
217
|
+
const lastText = textNodes.at(-1);
|
|
218
|
+
if (!firstText || !lastText) {
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
const range = this.ownerDocument.createRange();
|
|
222
|
+
range.setStart(firstText, 0);
|
|
223
|
+
range.setEnd(lastText, lastText.length);
|
|
224
|
+
const rect = range.getBoundingClientRect();
|
|
225
|
+
return rect.width > 0 || rect.height > 0 ? rect : null;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* The size the shape should take, measured on the editor DOM.
|
|
229
|
+
*
|
|
230
|
+
* Without a numeric `maxWidth` the editor box *is* the text box, so its own
|
|
231
|
+
* offset size is the whole measure. Every framework shape (Wardley, EDGY,
|
|
232
|
+
* DDD, Cynefin) is in that case, and takes exactly the path it took before
|
|
233
|
+
* mind map nodes gained a maximum width.
|
|
234
|
+
*
|
|
235
|
+
* With a numeric `maxWidth` the box is capped by CSS and wraps, so
|
|
236
|
+
* `offsetWidth` alone no longer describes the text: a preedit string the
|
|
237
|
+
* browser has not reflowed yet extends past the box it is painted in. Take
|
|
238
|
+
* the widest measure available, then clamp it back to `maxWidth` so the
|
|
239
|
+
* shape never grows past the cap.
|
|
240
|
+
*/
|
|
241
|
+
_measureEditorSize(textResizing) {
|
|
242
|
+
const containerWidth = this.richText.offsetWidth;
|
|
243
|
+
const containerHeight = this.richText.offsetHeight;
|
|
244
|
+
const maxWidth = this.element.maxWidth;
|
|
245
|
+
if (typeof maxWidth !== 'number' ||
|
|
246
|
+
textResizing !== TextResizing.AUTO_WIDTH_AND_HEIGHT) {
|
|
247
|
+
return { containerWidth, containerHeight };
|
|
248
|
+
}
|
|
249
|
+
const [verticalPadding, horizontalPadding] = this.element.padding;
|
|
250
|
+
const bcr = this.richText.getBoundingClientRect();
|
|
251
|
+
const contentRect = this._getInlineEditorContentRect();
|
|
252
|
+
const rangeRect = this.inlineEditor
|
|
253
|
+
?.getNativeRange()
|
|
254
|
+
?.getBoundingClientRect();
|
|
255
|
+
const contentRectWidth = contentRect != null ? contentRect.width + horizontalPadding * 2 : 0;
|
|
256
|
+
const contentRectHeight = contentRect != null ? contentRect.height + verticalPadding * 2 : 0;
|
|
257
|
+
const rangeWidth = rangeRect != null
|
|
258
|
+
? Math.max(0, rangeRect.right - bcr.left + horizontalPadding)
|
|
259
|
+
: 0;
|
|
260
|
+
const rangeHeight = rangeRect != null
|
|
261
|
+
? Math.max(0, rangeRect.bottom - bcr.top + verticalPadding)
|
|
262
|
+
: 0;
|
|
263
|
+
return {
|
|
264
|
+
containerWidth: Math.min(Math.max(containerWidth, contentRectWidth, rangeWidth), maxWidth),
|
|
265
|
+
containerHeight: Math.max(containerHeight, contentRectHeight, rangeHeight),
|
|
266
|
+
};
|
|
267
|
+
}
|
|
183
268
|
_updateElementWH() {
|
|
184
269
|
if (this.element.textFitMode !== TextFitMode.Grow) {
|
|
185
270
|
// Fixed shape bounds: typing never resizes the shape. Contained mode
|
|
@@ -194,9 +279,8 @@ let EdgelessShapeTextEditor = (() => {
|
|
|
194
279
|
return;
|
|
195
280
|
}
|
|
196
281
|
const bcr = this.richText.getBoundingClientRect();
|
|
197
|
-
const containerHeight = this.richText.offsetHeight;
|
|
198
|
-
const containerWidth = this.richText.offsetWidth;
|
|
199
282
|
const textResizing = this.element.textResizing;
|
|
283
|
+
const { containerWidth, containerHeight } = this._measureEditorSize(textResizing);
|
|
200
284
|
if ((containerHeight !== this.element.h &&
|
|
201
285
|
textResizing === TextResizing.AUTO_HEIGHT) ||
|
|
202
286
|
(textResizing === TextResizing.AUTO_WIDTH_AND_HEIGHT &&
|
|
@@ -214,7 +298,11 @@ let EdgelessShapeTextEditor = (() => {
|
|
|
214
298
|
}
|
|
215
299
|
if (this.isMindMapNode) {
|
|
216
300
|
const mindmap = this.element.group;
|
|
217
|
-
|
|
301
|
+
// Re-place the nodes, but without re-applying the style: that would
|
|
302
|
+
// fit the node back to the text the *model* holds and undo the size
|
|
303
|
+
// just measured from the editor. The full layout runs again when the
|
|
304
|
+
// editor is unmounted.
|
|
305
|
+
mindmap.layout(mindmap.tree, { applyStyle: false });
|
|
218
306
|
}
|
|
219
307
|
this.richText.style.minHeight = `${containerHeight}px`;
|
|
220
308
|
}
|
|
@@ -264,6 +352,12 @@ let EdgelessShapeTextEditor = (() => {
|
|
|
264
352
|
return;
|
|
265
353
|
this._unmount();
|
|
266
354
|
});
|
|
355
|
+
this.disposables.addFromEvent(this.inlineEditorContainer, 'compositionupdate', () => {
|
|
356
|
+
this._scheduleElementWHUpdate();
|
|
357
|
+
});
|
|
358
|
+
this.disposables.addFromEvent(this.inlineEditorContainer, 'compositionend', () => {
|
|
359
|
+
this._scheduleElementWHUpdate(true);
|
|
360
|
+
});
|
|
267
361
|
})
|
|
268
362
|
.catch(console.error);
|
|
269
363
|
this.disposables.addFromEvent(this, 'keydown', evt => {
|
|
@@ -293,13 +387,19 @@ let EdgelessShapeTextEditor = (() => {
|
|
|
293
387
|
const [verticalPadding, horiPadding] = this.element.padding;
|
|
294
388
|
const textResizing = this.element.textResizing;
|
|
295
389
|
const viewport = this.gfx.viewport;
|
|
296
|
-
|
|
390
|
+
// The editor is mounted inside the container the host may have scaled, so
|
|
391
|
+
// it is placed and scaled the way a gfx block is, not in screen pixels.
|
|
392
|
+
const scale = overlayScale(viewport);
|
|
297
393
|
const rect = getSelectedRect([this.element]);
|
|
298
394
|
const rotate = this.element.rotate;
|
|
299
395
|
const [leftTopX, leftTopY] = Vec.rotWith([rect.left, rect.top], [rect.left + rect.width / 2, rect.top + rect.height / 2], toRadian(rotate));
|
|
300
|
-
const [x, y] =
|
|
396
|
+
const [x, y] = toOverlayCoord(viewport, leftTopX, leftTopY);
|
|
301
397
|
const fixedBounds = this.element.textFitMode !== TextFitMode.Grow;
|
|
302
398
|
const autoWidth = !fixedBounds && textResizing === TextResizing.AUTO_WIDTH_AND_HEIGHT;
|
|
399
|
+
// A shape that grows up to a maximum width wraps instead of running off:
|
|
400
|
+
// `max-content` keeps the intrinsic width the box wants, `max-width` caps
|
|
401
|
+
// it, and the wrapping rules below break the overflowing line.
|
|
402
|
+
const constrainedAutoWidth = autoWidth && typeof this.element.maxWidth === 'number';
|
|
303
403
|
const color = this.std
|
|
304
404
|
.get(ThemeProvider)
|
|
305
405
|
.generateColorProperty(this.element.color, '#000000');
|
|
@@ -307,20 +407,22 @@ let EdgelessShapeTextEditor = (() => {
|
|
|
307
407
|
position: 'absolute',
|
|
308
408
|
left: x + 'px',
|
|
309
409
|
top: y + 'px',
|
|
310
|
-
width:
|
|
410
|
+
width: constrainedAutoWidth
|
|
411
|
+
? 'max-content'
|
|
412
|
+
: autoWidth
|
|
413
|
+
? 'fit-content'
|
|
414
|
+
: rect.width + 'px',
|
|
311
415
|
// override rich-text style (height: 100%)
|
|
312
416
|
height: 'initial',
|
|
313
417
|
minHeight: autoWidth ? '1em' : `${rect.height}px`,
|
|
314
|
-
maxWidth:
|
|
315
|
-
? `${this.element.maxWidth}px`
|
|
316
|
-
: undefined,
|
|
418
|
+
maxWidth: constrainedAutoWidth ? `${this.element.maxWidth}px` : undefined,
|
|
317
419
|
boxSizing: 'border-box',
|
|
318
420
|
fontSize: effectiveShapeFontSize(this.element) + 'px',
|
|
319
421
|
fontFamily: TextUtils.wrapFontFamily(this.element.fontFamily),
|
|
320
422
|
fontWeight: this.element.fontWeight,
|
|
321
423
|
lineHeight: 'normal',
|
|
322
424
|
outline: 'none',
|
|
323
|
-
transform: `scale(${
|
|
425
|
+
transform: `scale(${scale}, ${scale}) rotate(${rotate}deg)`,
|
|
324
426
|
transformOrigin: 'top left',
|
|
325
427
|
color,
|
|
326
428
|
padding: `${verticalPadding}px ${horiPadding}px`,
|
|
@@ -339,9 +441,15 @@ let EdgelessShapeTextEditor = (() => {
|
|
|
339
441
|
this._lastXYWH = this.element.xywh;
|
|
340
442
|
return html ` <style>
|
|
341
443
|
edgeless-shape-text-editor v-text [data-v-text] {
|
|
342
|
-
overflow-wrap: ${autoWidth
|
|
343
|
-
|
|
344
|
-
|
|
444
|
+
overflow-wrap: ${autoWidth && !constrainedAutoWidth
|
|
445
|
+
? 'normal'
|
|
446
|
+
: 'anywhere'};
|
|
447
|
+
word-break: ${autoWidth && !constrainedAutoWidth
|
|
448
|
+
? 'normal'
|
|
449
|
+
: 'break-word'} !important;
|
|
450
|
+
white-space: ${autoWidth && !constrainedAutoWidth
|
|
451
|
+
? 'pre'
|
|
452
|
+
: 'pre-wrap'} !important;
|
|
345
453
|
}
|
|
346
454
|
|
|
347
455
|
edgeless-shape-text-editor .inline-editor {
|
|
@@ -369,6 +477,7 @@ let EdgelessShapeTextEditor = (() => {
|
|
|
369
477
|
set richText(value) { this.#richText_accessor_storage = value; }
|
|
370
478
|
constructor() {
|
|
371
479
|
super(...arguments);
|
|
480
|
+
this._compositionUpdateRaf = null;
|
|
372
481
|
this._keeping = false;
|
|
373
482
|
this._lastXYWH = '';
|
|
374
483
|
this._resizeObserver = null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ViewExtensionProvider, } from '../affine-ext-loader/index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { CommandExtension } from '../std/index.js';
|
|
3
|
+
import { shapeCommands } from './commands.js';
|
|
3
4
|
import { effects } from './effects.js';
|
|
4
|
-
import { shapeShortcuts } from './shortcuts.js';
|
|
5
5
|
import { HighlighterElementRendererExtension, ShapeElementRendererExtension, } from './element-renderer/index.js';
|
|
6
6
|
import { ShapeDomRendererExtension } from './element-renderer/shape-dom.js';
|
|
7
7
|
import { ShapeElementView, ShapeViewInteraction } from './element-view.js';
|
|
@@ -30,7 +30,7 @@ export class ShapeViewExtension extends ViewExtensionProvider {
|
|
|
30
30
|
context.register(shapeToolbarExtension);
|
|
31
31
|
context.register(ShapeViewInteraction);
|
|
32
32
|
// Edgeless-scoped, enumerable/rebindable (installer: root view.ts).
|
|
33
|
-
context.register(
|
|
33
|
+
context.register(CommandExtension(shapeCommands));
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -73,8 +73,19 @@ function swot() {
|
|
|
73
73
|
// ── Kanban (To do / Doing / Done) ─────────────────────────────────────
|
|
74
74
|
function kanban() {
|
|
75
75
|
const colOpts = { fill: '#f4f4f5', stroke: MUTED, sw: 1.5, radius: 10 };
|
|
76
|
-
const head = {
|
|
77
|
-
|
|
76
|
+
const head = {
|
|
77
|
+
fontSize: 18,
|
|
78
|
+
weight: FontWeight.Medium,
|
|
79
|
+
align: TextAlign.Center,
|
|
80
|
+
};
|
|
81
|
+
const card = (x, y, fill, stroke) => rect(x, y, 188, 60, {
|
|
82
|
+
fill,
|
|
83
|
+
stroke,
|
|
84
|
+
sw: 1.5,
|
|
85
|
+
radius: 8,
|
|
86
|
+
text: 'Card',
|
|
87
|
+
fontSize: 14,
|
|
88
|
+
});
|
|
78
89
|
return {
|
|
79
90
|
c1: rect(0, 0, 220, 420, colOpts),
|
|
80
91
|
c2: rect(244, 0, 220, 420, colOpts),
|
|
@@ -92,7 +103,10 @@ function kanban() {
|
|
|
92
103
|
// ── Business Model Canvas (Strategyzer 9-block layout) ────────────────
|
|
93
104
|
function bmc() {
|
|
94
105
|
const blk = { stroke: DARK, sw: 1.5 };
|
|
95
|
-
const t = (x, y, s) => label(x + 12, y + 12, 180, 22, s, {
|
|
106
|
+
const t = (x, y, s) => label(x + 12, y + 12, 180, 22, s, {
|
|
107
|
+
fontSize: 14,
|
|
108
|
+
weight: FontWeight.Medium,
|
|
109
|
+
});
|
|
96
110
|
const hdr = (x, s) => ({
|
|
97
111
|
box: rect(x, 8, 128, 34, { stroke: MUTED, sw: 1 }),
|
|
98
112
|
txt: label(x + 8, 16, 120, 18, s, { fontSize: 11, color: '#5f6368' }),
|
|
@@ -106,24 +120,45 @@ function bmc() {
|
|
|
106
120
|
fontSize: 24,
|
|
107
121
|
weight: FontWeight.Medium,
|
|
108
122
|
}),
|
|
109
|
-
h1b: h1.box,
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
123
|
+
h1b: h1.box,
|
|
124
|
+
h1t: h1.txt,
|
|
125
|
+
h2b: h2.box,
|
|
126
|
+
h2t: h2.txt,
|
|
127
|
+
h3b: h3.box,
|
|
128
|
+
h3t: h3.txt,
|
|
129
|
+
h4b: h4.box,
|
|
130
|
+
h4t: h4.txt,
|
|
131
|
+
kp: rect(0, 56, 196, 300, blk),
|
|
132
|
+
ka: rect(200, 56, 196, 146, blk),
|
|
133
|
+
kr: rect(200, 206, 196, 150, blk),
|
|
134
|
+
vp: rect(400, 56, 196, 300, blk),
|
|
135
|
+
cr: rect(600, 56, 196, 146, blk),
|
|
136
|
+
ch: rect(600, 206, 196, 150, blk),
|
|
114
137
|
cs: rect(800, 56, 196, 300, blk),
|
|
115
|
-
cost: rect(0, 360, 496, 84, blk),
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
138
|
+
cost: rect(0, 360, 496, 84, blk),
|
|
139
|
+
rev: rect(500, 360, 496, 84, blk),
|
|
140
|
+
tkp: t(0, 56, 'Key partnerships'),
|
|
141
|
+
tka: t(200, 56, 'Key activities'),
|
|
142
|
+
tkr: t(200, 206, 'Key resources'),
|
|
143
|
+
tvp: t(400, 56, 'Value propositions'),
|
|
144
|
+
tcr: t(600, 56, 'Customer relationships'),
|
|
145
|
+
tch: t(600, 206, 'Channels'),
|
|
119
146
|
tcs: t(800, 56, 'Customer segments'),
|
|
120
|
-
tcost: t(0, 360, 'Cost structure'),
|
|
147
|
+
tcost: t(0, 360, 'Cost structure'),
|
|
148
|
+
trev: t(500, 360, 'Revenue streams'),
|
|
121
149
|
};
|
|
122
150
|
}
|
|
123
151
|
// ── Fishbone / Ishikawa (spine + arrowhead bones + CATEGORY/ITEM) ─────
|
|
124
152
|
function fishbone() {
|
|
125
153
|
const cat = (x, y) => rect(x, y, 150, 44, { text: 'CATEGORY', fontSize: 13 });
|
|
126
|
-
const item = (x, y, n) => rect(x, y, 130, 40, {
|
|
154
|
+
const item = (x, y, n) => rect(x, y, 130, 40, {
|
|
155
|
+
stroke: MUTED,
|
|
156
|
+
sw: 1.4,
|
|
157
|
+
dash: true,
|
|
158
|
+
text: n,
|
|
159
|
+
textColor: '#5f6368',
|
|
160
|
+
fontSize: 13,
|
|
161
|
+
});
|
|
127
162
|
const out = {
|
|
128
163
|
spine: line(80, 360, 1120, 360, { sw: 6 }),
|
|
129
164
|
head: rect(1124, 332, 130, 56, { text: 'Effect', fontSize: 16 }),
|
|
@@ -156,13 +191,22 @@ function gantt() {
|
|
|
156
191
|
for (let i = 0; i < 6; i++) {
|
|
157
192
|
const x = 220 + i * 130;
|
|
158
193
|
out[`g${i}`] = line(x, 40, x, 268, { stroke: '#e0e0e0', sw: 1 });
|
|
159
|
-
out[`w${i}`] = label(x - 16, 12, 40, 20, `W${i + 1}`, {
|
|
194
|
+
out[`w${i}`] = label(x - 16, 12, 40, 20, `W${i + 1}`, {
|
|
195
|
+
fontSize: 12,
|
|
196
|
+
color: '#5f6368',
|
|
197
|
+
align: TextAlign.Center,
|
|
198
|
+
});
|
|
160
199
|
}
|
|
161
200
|
rows.forEach((name, r) => {
|
|
162
201
|
const y = 56 + r * 52;
|
|
163
202
|
out[`t${r}`] = label(0, y + 6, 180, 24, name, { fontSize: 14 });
|
|
164
203
|
const [bx, bw, fill] = bars[r];
|
|
165
|
-
out[`b${r}`] = rect(bx, y, bw, 28, {
|
|
204
|
+
out[`b${r}`] = rect(bx, y, bw, 28, {
|
|
205
|
+
fill,
|
|
206
|
+
stroke: fill,
|
|
207
|
+
sw: 0,
|
|
208
|
+
radius: 6,
|
|
209
|
+
});
|
|
166
210
|
});
|
|
167
211
|
return out;
|
|
168
212
|
}
|
|
@@ -175,7 +219,12 @@ const previews = {
|
|
|
175
219
|
gantt: `<svg ${ATTRS} fill="none"><path d="M40 14 V70 M62 14 V70 M84 14 V70 M106 14 V70" stroke="#e0e0e0"/><rect x="40" y="22" width="34" height="8" rx="2" fill="#4574c4"/><rect x="52" y="36" width="44" height="8" rx="2" fill="#2f9e95"/><rect x="62" y="50" width="50" height="8" rx="2" fill="#d99a2b"/><rect x="84" y="64" width="28" height="8" rx="2" fill="#43a06b"/></svg>`,
|
|
176
220
|
};
|
|
177
221
|
function t(name, preview, elements) {
|
|
178
|
-
return {
|
|
222
|
+
return {
|
|
223
|
+
name,
|
|
224
|
+
type: 'template',
|
|
225
|
+
preview,
|
|
226
|
+
content: makeTemplateSnapshot(elements, name),
|
|
227
|
+
};
|
|
179
228
|
}
|
|
180
229
|
export const otherTemplateCategory = {
|
|
181
230
|
name: 'Other',
|
|
@@ -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 { on, once, requestConnectedFrame
|
|
35
|
+
import { on, once, requestConnectedFrame } from '../../affine-shared/utils/index.js';
|
|
36
36
|
import { DisposableGroup } from '../../global/disposable/index.js';
|
|
37
37
|
import { css, html, LitElement } from 'lit';
|
|
38
38
|
import { query } from 'lit/decorators.js';
|
|
@@ -34,7 +34,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
34
34
|
};
|
|
35
35
|
import { DefaultTool } from '../../affine-block-surface/index.js';
|
|
36
36
|
import { darkToolbarStyles, lightToolbarStyles, } from '../../affine-components/toolbar/index.js';
|
|
37
|
-
import { EditPropsStore, ThemeProvider
|
|
37
|
+
import { EditPropsStore, ThemeProvider } from '../../affine-shared/services/index.js';
|
|
38
38
|
import { requestConnectedFrame, stopPropagation, } from '../../affine-shared/utils/index.js';
|
|
39
39
|
import { EdgelessDraggableElementController } from '../../affine-widget-edgeless-toolbar/index.js';
|
|
40
40
|
import { WithDisposable } from '../../global/lit/index.js';
|
|
@@ -4,10 +4,12 @@ declare const EdgelessTemplateButton_base: typeof LitElement & import("../../glo
|
|
|
4
4
|
export declare class EdgelessTemplateButton extends EdgelessTemplateButton_base {
|
|
5
5
|
static styles: import("lit").CSSResult;
|
|
6
6
|
private _cleanup;
|
|
7
|
+
private _autoUpdateCleanup;
|
|
7
8
|
private _prevTool;
|
|
8
9
|
enableActiveBackground: boolean;
|
|
9
10
|
type: typeof TemplateTool;
|
|
10
11
|
get cards(): import("lit-html").TemplateResult<2>[];
|
|
12
|
+
connectedCallback(): void;
|
|
11
13
|
private _closePanel;
|
|
12
14
|
private _togglePanel;
|
|
13
15
|
render(): import("lit-html").TemplateResult<1>;
|
|
@@ -151,10 +151,21 @@ let EdgelessTemplateButton = (() => {
|
|
|
151
151
|
const { theme } = this;
|
|
152
152
|
return [TemplateCard1[theme], TemplateCard2[theme], TemplateCard3[theme]];
|
|
153
153
|
}
|
|
154
|
+
connectedCallback() {
|
|
155
|
+
super.connectedCallback();
|
|
156
|
+
// The panel can still be open when the button is removed: without this the
|
|
157
|
+
// `autoUpdate` listeners outlive the element and leak.
|
|
158
|
+
this.disposables.add(() => {
|
|
159
|
+
this._autoUpdateCleanup?.();
|
|
160
|
+
this._autoUpdateCleanup = null;
|
|
161
|
+
});
|
|
162
|
+
}
|
|
154
163
|
_closePanel() {
|
|
155
164
|
if (this._openedPanel) {
|
|
156
165
|
this._openedPanel.remove();
|
|
157
166
|
this._openedPanel = null;
|
|
167
|
+
this._autoUpdateCleanup?.();
|
|
168
|
+
this._autoUpdateCleanup = null;
|
|
158
169
|
this._cleanup?.();
|
|
159
170
|
this._cleanup = null;
|
|
160
171
|
this.requestUpdate();
|
|
@@ -188,8 +199,13 @@ let EdgelessTemplateButton = (() => {
|
|
|
188
199
|
this._openedPanel = panel;
|
|
189
200
|
this.renderRoot.append(panel);
|
|
190
201
|
requestAnimationFrame(() => {
|
|
202
|
+
// The panel may already have been closed before this frame ran; starting
|
|
203
|
+
// a loop on it now would never be stopped.
|
|
204
|
+
if (this._openedPanel !== panel)
|
|
205
|
+
return;
|
|
191
206
|
const arrowEl = panel.renderRoot.querySelector('.arrow');
|
|
192
|
-
|
|
207
|
+
this._autoUpdateCleanup?.();
|
|
208
|
+
this._autoUpdateCleanup = autoUpdate(this, panel, () => {
|
|
193
209
|
computePosition(this, panel, {
|
|
194
210
|
placement: 'top',
|
|
195
211
|
middleware: [offset(20), arrow({ element: arrowEl }), shift()],
|
|
@@ -230,6 +246,7 @@ let EdgelessTemplateButton = (() => {
|
|
|
230
246
|
constructor() {
|
|
231
247
|
super(...arguments);
|
|
232
248
|
this._cleanup = null;
|
|
249
|
+
this._autoUpdateCleanup = null;
|
|
233
250
|
this._prevTool = null;
|
|
234
251
|
this.enableActiveBackground = true;
|
|
235
252
|
this.type = TemplateTool;
|
|
@@ -35,7 +35,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
35
35
|
import { CanvasElementType, DefaultTool, EdgelessCRUDIdentifier, getSurfaceBlock, TextUtils, } from '../affine-block-surface/index.js';
|
|
36
36
|
import { DefaultTheme, TextElementModel } from '../affine-model/index.js';
|
|
37
37
|
import { ThemeProvider } from '../affine-shared/services/index.js';
|
|
38
|
-
import { getSelectedRect } from '../affine-shared/utils/index.js';
|
|
38
|
+
import { getSelectedRect, overlayScale, toOverlayCoord, } from '../affine-shared/utils/index.js';
|
|
39
39
|
import { Bound, toRadian, Vec } from '../global/gfx/index.js';
|
|
40
40
|
import { WithDisposable } from '../global/lit/index.js';
|
|
41
41
|
import { ShadowlessElement, stdContext, } from '../std/index.js';
|
|
@@ -281,13 +281,17 @@ let EdgelessTextEditor = (() => {
|
|
|
281
281
|
const { text, fontFamily, fontSize, fontWeight, fontStyle, textAlign, rotate, hasMaxWidth, w, } = this.element;
|
|
282
282
|
const lineHeight = getLineHeight(fontFamily, fontSize, fontWeight);
|
|
283
283
|
const rect = getSelectedRect([this.element]);
|
|
284
|
-
const
|
|
284
|
+
const viewport = this.gfx.viewport;
|
|
285
285
|
const [visualX, visualY] = this.getVisualPosition(this.element);
|
|
286
286
|
const containerOffset = this.getContainerOffset();
|
|
287
|
+
// The editor is mounted inside the container the host may have scaled, so
|
|
288
|
+
// it is placed and scaled the way a gfx block is, not in screen pixels.
|
|
289
|
+
// Panning the viewport and reaching the element are one and the same
|
|
290
|
+
// translation, which is what `toOverlayCoord` answers.
|
|
291
|
+
const [x, y] = toOverlayCoord(viewport, visualX, visualY);
|
|
287
292
|
const transformOperation = [
|
|
288
|
-
`translate(${
|
|
289
|
-
`
|
|
290
|
-
`scale(${zoom})`,
|
|
293
|
+
`translate(${x}px, ${y}px)`,
|
|
294
|
+
`scale(${overlayScale(viewport)})`,
|
|
291
295
|
`rotate(${rotate}deg)`,
|
|
292
296
|
`translate(${containerOffset})`,
|
|
293
297
|
];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EdgelessCRUDIdentifier, TextUtils
|
|
1
|
+
import { EdgelessCRUDIdentifier, TextUtils } from '../../affine-block-surface/index.js';
|
|
2
2
|
import { packColor, } from '../../affine-components/color-picker/index.js';
|
|
3
3
|
import { EditorChevronDown } from '../../affine-components/toolbar/index.js';
|
|
4
4
|
import { DefaultTheme, FontFamily, FontStyle, FontWeight, resolveColor, TextAlign, } from '../../affine-model/index.js';
|