@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
|
@@ -0,0 +1,475 @@
|
|
|
1
|
+
import type { ExtensionType } from '../../store/index.js';
|
|
2
|
+
import type { TemplateResult } from 'lit';
|
|
3
|
+
import type { z } from 'zod';
|
|
4
|
+
import type { BlockStdScope } from '../scope/index.js';
|
|
5
|
+
import { type ShortcutDescriptor, type ShortcutScope } from './shortcut.js';
|
|
6
|
+
/**
|
|
7
|
+
* Where an element/tool creation was triggered from. Historically declared in
|
|
8
|
+
* `@labre/affine-shared`'s telemetry types; it moved down here (and is
|
|
9
|
+
* re-exported from there, unchanged) because {@link CommandInvocation} — the
|
|
10
|
+
* single source of the "which surface invoked this" dimension — lives in
|
|
11
|
+
* `@labre/std`. See `docs/adr/0008`.
|
|
12
|
+
*/
|
|
13
|
+
export type ElementCreationSource = 'shortcut' | 'toolbar:general' | 'toolbar:dnd' | 'canvas:drop' | 'canvas:draw' | 'canvas:dbclick' | 'canvas:paste' | 'context-menu' | 'ai' | 'internal' | 'conversation' | 'manually save';
|
|
14
|
+
/**
|
|
15
|
+
* The eight framework modules that own commands. An EXPLICIT list, not a
|
|
16
|
+
* subset assertion over `OPTIONAL_BLOCKS`: that list mixes frameworks with
|
|
17
|
+
* plain blocks. `packages/affine/all/src/frameworks.ts` asserts that every id
|
|
18
|
+
* here is a real flag key (`satisfies readonly OptionalBlock[]`).
|
|
19
|
+
*
|
|
20
|
+
* `ddd-aggregate` is deliberately absent: it ships DDD *templates* only — no
|
|
21
|
+
* senior button, no commands — so it is a packaging bundle, not a framework.
|
|
22
|
+
*/
|
|
23
|
+
export declare const FRAMEWORK_IDS: readonly ["wardley", "edgy", "cynefin-estuarine", "bpmn", "c4", "ddd-event-storming", "ddd-core-domain", "ddd-context-map"];
|
|
24
|
+
export type FrameworkId = (typeof FRAMEWORK_IDS)[number];
|
|
25
|
+
export type CommandOwner = 'core' | FrameworkId;
|
|
26
|
+
/**
|
|
27
|
+
* Serializable precondition. Closed union; extended only by an amendment to
|
|
28
|
+
* `docs/adr/0008`. `'always'` is the default when omitted.
|
|
29
|
+
*/
|
|
30
|
+
export type Availability = 'always' | 'selection' | 'selection:framework' | 'editable';
|
|
31
|
+
/**
|
|
32
|
+
* Which surfaces a command opts into. Absent from the array = absent from the
|
|
33
|
+
* surface. Settings › Shortcuts is NOT a member: EVERY command is bindable, so
|
|
34
|
+
* opting out of it is not expressible on purpose.
|
|
35
|
+
*
|
|
36
|
+
* `'contextual-toolbar'` joined the union with `docs/adr/0010`'s M3, the first
|
|
37
|
+
* command whose natural home is the toolbar of a selected element. The entry
|
|
38
|
+
* itself is still declared by the element's own `ToolbarModuleConfig` — a
|
|
39
|
+
* toolbar is a designed row, not an enumeration — but it INVOKES the registered
|
|
40
|
+
* command, so the behaviour, the availability rule and the single telemetry
|
|
41
|
+
* emission stay in one place, and `CommandInvocation.surface` reports where the
|
|
42
|
+
* user actually clicked instead of borrowing another surface's name.
|
|
43
|
+
*/
|
|
44
|
+
export type CommandSurface = 'senior-menu' | 'catalogue' | 'palette' | 'contextual-toolbar' | 'agent';
|
|
45
|
+
export type CommandKind = 'artefact' | 'tool' | 'toggle' | 'legend' | 'action';
|
|
46
|
+
/** Where the invocation came from — feeds `segment` / `module` / `control`. */
|
|
47
|
+
export interface CommandInvocation {
|
|
48
|
+
surface: CommandSurface | 'shortcut';
|
|
49
|
+
source: ElementCreationSource;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The single source of truth for everything a framework offers. The keyboard
|
|
53
|
+
* binding is one FACET of a command — present, possibly empty, always
|
|
54
|
+
* rebindable — not a separate declaration.
|
|
55
|
+
*
|
|
56
|
+
* Two permanent projections derive from it and nothing else:
|
|
57
|
+
* {@link toShortcutDescriptor} (in-editor keymap + Settings › Shortcuts) and
|
|
58
|
+
* {@link toCommandManifestEntry} (the serializable catalogue seam).
|
|
59
|
+
*/
|
|
60
|
+
export interface CommandDescriptor<P = void> {
|
|
61
|
+
/** Stable id; same namespace as the shortcut ids: `'wardley.addComponent'`. */
|
|
62
|
+
id: string;
|
|
63
|
+
owner: CommandOwner;
|
|
64
|
+
kind: CommandKind;
|
|
65
|
+
/** i18n keys — resolved host-side, as `ShortcutDescriptor.labelKey` is. */
|
|
66
|
+
labelKey: string;
|
|
67
|
+
/**
|
|
68
|
+
* English default for the in-library chrome that has to SHOW the label (the
|
|
69
|
+
* senior sub-menu tooltip). Same seam and same rule as the framework
|
|
70
|
+
* background declarations: a host with no catalogue reads correctly, a host
|
|
71
|
+
* with one always wins. Without it the switchover would replace today's
|
|
72
|
+
* English tooltips with raw i18n keys.
|
|
73
|
+
*/
|
|
74
|
+
labelFallback?: string;
|
|
75
|
+
descriptionKey?: string;
|
|
76
|
+
/**
|
|
77
|
+
* English default for {@link descriptionKey}, same seam and same rule as
|
|
78
|
+
* {@link labelFallback}: a host with a catalogue always wins, a host without
|
|
79
|
+
* one still reads a sentence instead of a raw key.
|
|
80
|
+
*
|
|
81
|
+
* It exists because a description is now SHOWN in-library — the senior
|
|
82
|
+
* sub-menu puts it under the label, which is where a tool announces what its
|
|
83
|
+
* gesture means (`docs/adr/0010` M1). Before that, `descriptionKey` crossed
|
|
84
|
+
* the manifest seam and was never rendered by this repository.
|
|
85
|
+
*/
|
|
86
|
+
descriptionFallback?: string;
|
|
87
|
+
/** Sub-category inside the owner's catalogue, e.g. `'backgrounds'`. */
|
|
88
|
+
category?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Stable asset key, NOT markup. Resolved to a template by the library's own
|
|
91
|
+
* icon registry ({@link CommandIconExtension}); a host may substitute its
|
|
92
|
+
* set, but need not.
|
|
93
|
+
*/
|
|
94
|
+
iconKey?: string;
|
|
95
|
+
/** Extra search terms for the palette. */
|
|
96
|
+
keywords?: string[];
|
|
97
|
+
surfaces: CommandSurface[];
|
|
98
|
+
/** Ascending rank inside `senior-menu` / `catalogue`. */
|
|
99
|
+
order?: number;
|
|
100
|
+
scope: ShortcutScope;
|
|
101
|
+
/**
|
|
102
|
+
* Default chord. `{ mac: [], other: [] }` means "no default, still bindable"
|
|
103
|
+
* — the shipped `redo-windows` precedent. Never `undefined`.
|
|
104
|
+
*/
|
|
105
|
+
defaultKeys: {
|
|
106
|
+
mac: string[];
|
|
107
|
+
other: string[];
|
|
108
|
+
};
|
|
109
|
+
/** Serializable precondition; defaults to `'always'`. Crosses the host seam. */
|
|
110
|
+
availability?: Availability;
|
|
111
|
+
/**
|
|
112
|
+
* In-library refinement of {@link availability} — never contradicting it,
|
|
113
|
+
* only narrowing. Not projected into either manifest.
|
|
114
|
+
*/
|
|
115
|
+
when?: (std: BlockStdScope) => boolean;
|
|
116
|
+
/** THE new capability: invocable without a keyboard event. */
|
|
117
|
+
run: (std: BlockStdScope, invocation: CommandInvocation, params?: P) => void | Promise<void>;
|
|
118
|
+
/** Agent-facing parameter contract. */
|
|
119
|
+
params?: z.ZodType<P>;
|
|
120
|
+
/**
|
|
121
|
+
* Emitted centrally by {@link runCommand} — never by the command body.
|
|
122
|
+
* `framework` is the code-side id; the reporter maps it through
|
|
123
|
+
* `FrameworkDescriptor.telemetryKey` so the wire value stays historical.
|
|
124
|
+
*/
|
|
125
|
+
telemetry?: {
|
|
126
|
+
framework: FrameworkId;
|
|
127
|
+
element: string;
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* A command with its parameter contract erased — what the REGISTRY holds.
|
|
132
|
+
*
|
|
133
|
+
* The registry is heterogeneous by design: nullary commands (`undo`,
|
|
134
|
+
* `wardley.addComponent`) sit in the same list as parameterised ones
|
|
135
|
+
* (`pivot.bind`, whose record id cannot come from the library). The default
|
|
136
|
+
* `CommandDescriptor` — i.e. `CommandDescriptor<void>` — cannot express that:
|
|
137
|
+
* under `strictFunctionTypes`, `run`'s parameter is contravariant and `params`
|
|
138
|
+
* covariant, so a `CommandDescriptor<P>` is assignable to neither direction of
|
|
139
|
+
* `CommandDescriptor<void>`.
|
|
140
|
+
*
|
|
141
|
+
* Erasure costs nothing at runtime: {@link runCommand} forwards `params`
|
|
142
|
+
* opaquely, and a parameterised command re-validates with its own zod schema
|
|
143
|
+
* inside `run` — which an agent-invocable command has to do regardless of what
|
|
144
|
+
* the static type promises.
|
|
145
|
+
*/
|
|
146
|
+
export type AnyCommandDescriptor = CommandDescriptor<any>;
|
|
147
|
+
/**
|
|
148
|
+
* Value kinds a command parameter may take across the host seam. Closed and
|
|
149
|
+
* deliberately small: the seam describes what an agent must SEND, not the
|
|
150
|
+
* host's type system. Anything richer stays behind `CommandDescriptor.params`,
|
|
151
|
+
* which never crosses.
|
|
152
|
+
*/
|
|
153
|
+
export type CommandParamKind = 'string' | 'number' | 'boolean' | 'string[]';
|
|
154
|
+
/** One parameter, described serializably. See {@link describeCommandParams}. */
|
|
155
|
+
export interface CommandParam {
|
|
156
|
+
key: string;
|
|
157
|
+
kind: CommandParamKind;
|
|
158
|
+
/** `false` when the key may be omitted entirely. */
|
|
159
|
+
required: boolean;
|
|
160
|
+
/** `null` is an accepted value carrying a meaning of its own. */
|
|
161
|
+
nullable?: boolean;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* The serializable catalogue projection — no functions, no `TemplateResult`.
|
|
165
|
+
* This is what crosses the host seam for the sidepanel, the palette and the
|
|
166
|
+
* agent (ADR 0006: the seam stays typed and render-free).
|
|
167
|
+
*/
|
|
168
|
+
export interface CommandManifestEntry {
|
|
169
|
+
id: string;
|
|
170
|
+
owner: CommandOwner;
|
|
171
|
+
kind: CommandKind;
|
|
172
|
+
labelKey: string;
|
|
173
|
+
labelFallback?: string;
|
|
174
|
+
descriptionKey?: string;
|
|
175
|
+
descriptionFallback?: string;
|
|
176
|
+
category?: string;
|
|
177
|
+
iconKey?: string;
|
|
178
|
+
keywords?: string[];
|
|
179
|
+
surfaces: CommandSurface[];
|
|
180
|
+
order?: number;
|
|
181
|
+
scope: ShortcutScope;
|
|
182
|
+
defaultKeys: {
|
|
183
|
+
mac: string[];
|
|
184
|
+
other: string[];
|
|
185
|
+
};
|
|
186
|
+
availability: Availability;
|
|
187
|
+
/**
|
|
188
|
+
* What an invoker must send. Absent = nullary, which is what almost every
|
|
189
|
+
* command is. Derived from `CommandDescriptor.params`, never authored twice.
|
|
190
|
+
*/
|
|
191
|
+
params?: CommandParam[];
|
|
192
|
+
telemetry?: {
|
|
193
|
+
framework: FrameworkId;
|
|
194
|
+
element: string;
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* The per-framework identity consumers 2-5 need, and that nothing owned before
|
|
199
|
+
* — spelled five times across the repo and already drifted. It is also THE
|
|
200
|
+
* source for packaging: `scripts/build-bundles.mjs` derives its bundle entries
|
|
201
|
+
* from `FRAMEWORK_DESCRIPTORS` instead of a hand-maintained array.
|
|
202
|
+
*/
|
|
203
|
+
export interface FrameworkDescriptor {
|
|
204
|
+
id: FrameworkId;
|
|
205
|
+
/** Replaces the raw English `SeniorTool.name`. */
|
|
206
|
+
labelKey: string;
|
|
207
|
+
/**
|
|
208
|
+
* The English wording behind {@link labelKey} — what a standalone editor
|
|
209
|
+
* shows and what every restatement of the name (senior button, tooltip)
|
|
210
|
+
* must agree with. Carried HERE so the manifest knows the fallback and the
|
|
211
|
+
* drift check can hold the restatements to it.
|
|
212
|
+
*/
|
|
213
|
+
labelFallback: string;
|
|
214
|
+
iconKey: string;
|
|
215
|
+
order?: number;
|
|
216
|
+
/** First keystroke of this framework's chords — allocated, not ad hoc. */
|
|
217
|
+
chordPrefix?: string;
|
|
218
|
+
/**
|
|
219
|
+
* Historical PostHog value for `FrameworkElementEvent.framework`, kept as-is
|
|
220
|
+
* so the identity unification stays code-side and analytics never break.
|
|
221
|
+
* e.g. id `'ddd-event-storming'` → telemetryKey `'event-storming'`.
|
|
222
|
+
*/
|
|
223
|
+
telemetryKey: string;
|
|
224
|
+
/**
|
|
225
|
+
* Historical PostHog value for `TelemetryEvent.segment`. Not derivable from
|
|
226
|
+
* {@link telemetryKey} (the three DDD frameworks all emit `'ddd toolbox'`),
|
|
227
|
+
* and the "no analytics breakage" rule of ADR 0008 makes it load-bearing.
|
|
228
|
+
*/
|
|
229
|
+
telemetrySegment: string;
|
|
230
|
+
/** Packaging: the published bundle name suffix, e.g. `'framework-wardley'`. */
|
|
231
|
+
bundle: string;
|
|
232
|
+
/** Packaging: the exported host-wiring descriptor name. */
|
|
233
|
+
info: string;
|
|
234
|
+
pkg: string;
|
|
235
|
+
dir: string;
|
|
236
|
+
extensions: {
|
|
237
|
+
flag?: string;
|
|
238
|
+
viewExtension: string;
|
|
239
|
+
}[];
|
|
240
|
+
/** Packaging: the framework contributes shortcut-manifest entries. */
|
|
241
|
+
shortcuts?: boolean;
|
|
242
|
+
}
|
|
243
|
+
/** Multi-instance: one registered {@link CommandDescriptor} per impl. */
|
|
244
|
+
export declare const CommandDescriptorIdentifier: import("../../global/di/types.js").ServiceIdentifier<AnyCommandDescriptor> & (<U extends AnyCommandDescriptor = AnyCommandDescriptor>(variant: import("../../global/di/types.js").ServiceVariant) => import("../../global/di/types.js").ServiceIdentifier<U>);
|
|
245
|
+
/** Multi-instance: one `iconKey → template` table per contributing package. */
|
|
246
|
+
export declare const CommandIconsIdentifier: import("../../global/di/types.js").ServiceIdentifier<Record<string, TemplateResult>> & (<U extends Record<string, TemplateResult> = Record<string, TemplateResult>>(variant: import("../../global/di/types.js").ServiceVariant) => import("../../global/di/types.js").ServiceIdentifier<U>);
|
|
247
|
+
/**
|
|
248
|
+
* Sink for the ONE telemetry emission per invocation. Declared here because
|
|
249
|
+
* {@link runCommand} is the bottleneck; implemented in the affine layer, which
|
|
250
|
+
* owns `TelemetryProvider` and the `telemetryKey` mapping.
|
|
251
|
+
*/
|
|
252
|
+
export type CommandTelemetryReporter = (report: {
|
|
253
|
+
std: BlockStdScope;
|
|
254
|
+
command: AnyCommandDescriptor;
|
|
255
|
+
invocation: CommandInvocation;
|
|
256
|
+
}) => void;
|
|
257
|
+
export declare const CommandTelemetryIdentifier: import("../../global/di/types.js").ServiceIdentifier<CommandTelemetryReporter> & (<U extends CommandTelemetryReporter = CommandTelemetryReporter>(variant: import("../../global/di/types.js").ServiceVariant) => import("../../global/di/types.js").ServiceIdentifier<U>);
|
|
258
|
+
/** What a {@link CommandUsageStore} knows about one command. */
|
|
259
|
+
export interface CommandUsageStats {
|
|
260
|
+
count: number;
|
|
261
|
+
lastUsedAt: number;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Per-user recency and frequency, measured at the same bottleneck telemetry is
|
|
265
|
+
* emitted from — and deliberately NOT the same thing.
|
|
266
|
+
*
|
|
267
|
+
* Telemetry is analytics: it leaves for a product dashboard, it only covers
|
|
268
|
+
* commands that declare a `telemetry` field, and no in-editor decision may
|
|
269
|
+
* depend on it. Usage is local state read back BY the editor: PF6 shows only
|
|
270
|
+
* thirteen of a framework's commands in the senior sub-menu once the framework
|
|
271
|
+
* has more than fourteen artefacts, ranked as "seven most-recent + six
|
|
272
|
+
* most-used" (PO re-arbitration of 2026-08-28, superseding the 4 + 3 of
|
|
273
|
+
* 2026-08-26). That ranking needs a measure for EVERY command — a `core` action, a
|
|
274
|
+
* self-emitting one, one nobody ever thought to instrument — so the record call
|
|
275
|
+
* sits outside the telemetry condition and stays there.
|
|
276
|
+
*
|
|
277
|
+
* ADR 0008 listed this as an open question ("needs a host-side usage store; the
|
|
278
|
+
* registry only needs to accept an injected comparator"). This identifier is
|
|
279
|
+
* the measurement half of that answer; the selection half is
|
|
280
|
+
* {@link selectSeniorMenuCommands}.
|
|
281
|
+
*/
|
|
282
|
+
export interface CommandUsageStore {
|
|
283
|
+
/** One invocation happened. Called by {@link runCommand}, best-effort. */
|
|
284
|
+
record(command: AnyCommandDescriptor, invocation: CommandInvocation): void;
|
|
285
|
+
/** `undefined` when the command was never invoked by this user. */
|
|
286
|
+
statsOf(commandId: string): CommandUsageStats | undefined;
|
|
287
|
+
}
|
|
288
|
+
export declare const CommandUsageIdentifier: import("../../global/di/types.js").ServiceIdentifier<CommandUsageStore> & (<U extends CommandUsageStore = CommandUsageStore>(variant: import("../../global/di/types.js").ServiceVariant) => import("../../global/di/types.js").ServiceIdentifier<U>);
|
|
289
|
+
/**
|
|
290
|
+
* Mirrors `GfxSelectionManager.editing` without importing `@labre/std/gfx`
|
|
291
|
+
* (which would close an import cycle through `extension/`): the gfx manager
|
|
292
|
+
* derives it from exactly these selections.
|
|
293
|
+
*/
|
|
294
|
+
export declare const isEditingOnCanvas: (std: BlockStdScope) => boolean;
|
|
295
|
+
/**
|
|
296
|
+
* Evaluate a command's serializable precondition in-editor. `when` narrows it
|
|
297
|
+
* further and is evaluated by the callers, never folded in here — the two are
|
|
298
|
+
* deliberately separate so the manifest value stays the whole truth a host can
|
|
299
|
+
* see.
|
|
300
|
+
*
|
|
301
|
+
* `'selection:framework'` evaluates as `'selection'`; narrowing to the owner's
|
|
302
|
+
* element types is left to `when`. `validation.mapQuality` is the first command
|
|
303
|
+
* to declare it, and it is also why the narrowing has not moved here: what makes
|
|
304
|
+
* an element a framework's ROOT INSTANCE is a question for the validation
|
|
305
|
+
* engine (which rule declares a `backgroundRole` this element's role satisfies),
|
|
306
|
+
* and `@labre/std` neither knows nor should learn it. The serializable value
|
|
307
|
+
* stays the whole truth a host catalogue can see; the in-editor refinement stays
|
|
308
|
+
* in `when`. See ADR 0008 § Availability.
|
|
309
|
+
*/
|
|
310
|
+
export declare function isCommandAvailable(std: BlockStdScope, command: AnyCommandDescriptor): boolean;
|
|
311
|
+
/**
|
|
312
|
+
* THE bottleneck: the one place a command runs, and therefore the one place
|
|
313
|
+
* its telemetry is emitted and its usage measured. Every surface (sub-menu,
|
|
314
|
+
* shortcut, palette, sidepanel, agent) goes through here, which is what removes
|
|
315
|
+
* the per-menu `track()` duplicates.
|
|
316
|
+
*/
|
|
317
|
+
export declare function runCommand(std: BlockStdScope, command: AnyCommandDescriptor, invocation: CommandInvocation, params?: unknown): void;
|
|
318
|
+
/**
|
|
319
|
+
* One of the three permanent projections out of {@link CommandDescriptor} —
|
|
320
|
+
* NOT a migration shim. It is TOTAL: keyless commands yield a descriptor with
|
|
321
|
+
* empty `defaultKeys` rather than being dropped, so a `ShortcutOverrides` entry
|
|
322
|
+
* on their id actually binds and Settings › Shortcuts can offer every command.
|
|
323
|
+
*
|
|
324
|
+
* `id`, `labelKey`, `defaultKeys`, `scope` and `owner` are carried over
|
|
325
|
+
* verbatim, which is what keeps hosts' persisted v0.29 override tables valid.
|
|
326
|
+
*/
|
|
327
|
+
export declare function toShortcutDescriptor(command: AnyCommandDescriptor): ShortcutDescriptor;
|
|
328
|
+
/**
|
|
329
|
+
* Project a command's zod parameter contract onto the serializable seam, so the
|
|
330
|
+
* `'agent'` surface is usable end to end: without it an agent reading the
|
|
331
|
+
* manifest has no way to learn that `pivot.bind` needs a `pivotDocId`, and an
|
|
332
|
+
* argument-less call is a silent no-op.
|
|
333
|
+
*
|
|
334
|
+
* All or nothing on purpose. A partially described object would be worse than
|
|
335
|
+
* none: an agent would send what it was told and have its call rejected by the
|
|
336
|
+
* schema for a key the manifest never mentioned. So one undescribable property
|
|
337
|
+
* withdraws the whole contract, and the command reads as "parameters exist, but
|
|
338
|
+
* this seam cannot state them" — which is the honest answer.
|
|
339
|
+
*/
|
|
340
|
+
export declare function describeCommandParams(schema: unknown): CommandParam[] | undefined;
|
|
341
|
+
/** The serializable projection. Functions and templates stop here. */
|
|
342
|
+
export declare function toCommandManifestEntry(command: AnyCommandDescriptor): CommandManifestEntry;
|
|
343
|
+
/**
|
|
344
|
+
* Register a package's commands. ONE call gives both faces: the enumerable
|
|
345
|
+
* registry (in-editor consumers) and — through {@link toShortcutDescriptor} —
|
|
346
|
+
* the keymap bindings. Registering inside a flag-gated view extension is what
|
|
347
|
+
* makes a disabled framework vanish from both at once.
|
|
348
|
+
*/
|
|
349
|
+
export declare function CommandExtension(commands: AnyCommandDescriptor[], icons?: Record<string, TemplateResult>): ExtensionType;
|
|
350
|
+
/** Every command registered in this editor assembly. */
|
|
351
|
+
export declare function getRegisteredCommands(std: BlockStdScope): AnyCommandDescriptor[];
|
|
352
|
+
/**
|
|
353
|
+
* The commands one owner contributes to one surface, in `order` then
|
|
354
|
+
* declaration order. This is what a senior sub-menu renders — no hard-coded
|
|
355
|
+
* button list anywhere.
|
|
356
|
+
*/
|
|
357
|
+
export declare function getCommandsForSurface(std: BlockStdScope, owner: CommandOwner, surface: CommandSurface): AnyCommandDescriptor[];
|
|
358
|
+
/**
|
|
359
|
+
* The senior sub-menu's hard cap: 14 buttons in one row of the popover. The
|
|
360
|
+
* registry test asserts no owner DECLARES more than this; the ranking below is
|
|
361
|
+
* what happens when an owner's whole catalogue outgrows it.
|
|
362
|
+
*/
|
|
363
|
+
export declare const SENIOR_MENU_CAP = 14;
|
|
364
|
+
/**
|
|
365
|
+
* How many buttons survive once an owner overflows: {@link MENU_RECENT_SLOTS}
|
|
366
|
+
* by recency plus {@link MENU_USED_SLOTS} by frequency — thirteen (PO
|
|
367
|
+
* re-arbitration of 2026-08-28, superseding the 4 + 3 of 2026-08-26).
|
|
368
|
+
*
|
|
369
|
+
* Thirteen and not fourteen because the permanent "More artefacts…" button is
|
|
370
|
+
* the fourteenth: an overflowed sub-menu therefore renders exactly the cap, and
|
|
371
|
+
* the row a user meets past the cap is as wide as the one they meet below it.
|
|
372
|
+
*/
|
|
373
|
+
export declare const SENIOR_MENU_RANKED_SLOTS: number;
|
|
374
|
+
/**
|
|
375
|
+
* How many rows the catalogue sidepanel's "Recent & frequent" head section
|
|
376
|
+
* holds: {@link HEAD_RECENT_SLOTS} + {@link HEAD_USED_SLOTS} = seven.
|
|
377
|
+
*
|
|
378
|
+
* Deliberately NOT {@link SENIOR_MENU_RANKED_SLOTS}, and this is the third
|
|
379
|
+
* decision of 2026-08-28 (architect's ruling on review of the two PO ones). The
|
|
380
|
+
* sub-menu's thirteen is argued from ITS geometry — a horizontal row of ~24px
|
|
381
|
+
* icon buttons, thirteen of them plus the More button making up the fourteen
|
|
382
|
+
* cap. None of that transfers to a vertical list of 44px rows in a panel
|
|
383
|
+
* `min(320px, 85vw)` wide: thirteen of those is ~604px of head section, which
|
|
384
|
+
* on a 13" laptop is the entire first screen, every row of it a duplicate of a
|
|
385
|
+
* row filed below, pushing the categories — the panel's actual information
|
|
386
|
+
* architecture — wholly under the fold. Worst for exactly the power user the
|
|
387
|
+
* section exists to serve.
|
|
388
|
+
*
|
|
389
|
+
* So the two surfaces share the ARBITRATION and not the MAGNITUDE: one
|
|
390
|
+
* algorithm, two parameterisations. Seven keeps the size the PO recette of
|
|
391
|
+
* 27/08/2026 signed off on, and the 4 + 3 split keeps both halves of a section
|
|
392
|
+
* labelled "Recent & frequent" — a plain `.slice(0, 7)` of the sub-menu's pick
|
|
393
|
+
* would have returned seven recency picks and zero frequency ones, quietly
|
|
394
|
+
* deleting the "& frequent" half.
|
|
395
|
+
*/
|
|
396
|
+
export declare const CATALOGUE_HEAD_RANKED_SLOTS: number;
|
|
397
|
+
/**
|
|
398
|
+
* Which of an owner's commands the senior sub-menu actually shows.
|
|
399
|
+
*
|
|
400
|
+
* Pure — no `std`, no DOM, no store — because this is the arbitration between
|
|
401
|
+
* a framework's whole toolbox and fourteen buttons, and an arbitration nobody
|
|
402
|
+
* can run in a unit test is a design review in disguise (`docs/adr/0008`,
|
|
403
|
+
* amendment of 2026-08-26).
|
|
404
|
+
*
|
|
405
|
+
* Below the cap nothing is arbitrated: the sub-menu IS the framework's
|
|
406
|
+
* `'senior-menu'` surface, authored order and all. Past it the sub-menu becomes
|
|
407
|
+
* a shortcut to the thirteen commands THIS user reaches for, beside one button
|
|
408
|
+
* to the catalogue sidepanel where the rest live.
|
|
409
|
+
*
|
|
410
|
+
* **Eligibility is declared, never earned** (PO ruling of 2026-08-28). What
|
|
411
|
+
* gets ranked is the `'senior-menu'` surface — the ≤14 its author nominated —
|
|
412
|
+
* and NOT the whole catalogue. The trigger still reads the catalogue (an owner
|
|
413
|
+
* overflows when its total toolbox outgrows the cap), but a command that
|
|
414
|
+
* deliberately declines the sub-menu stays out of it however often it is
|
|
415
|
+
* invoked. `bpmn.exportXml` is the case that made the rule: its subject is the
|
|
416
|
+
* whole BOARD, it lives in the pool's "⋮" and in the catalogue, and usage alone
|
|
417
|
+
* used to drag it into a row of things you DRAW — where "Export BPMN" answers
|
|
418
|
+
* no question a user asked. A surface a command declines is a statement about
|
|
419
|
+
* where it belongs, not a default to be out-voted.
|
|
420
|
+
*
|
|
421
|
+
* The thirteen are chosen on two axes because one is not enough — frequency
|
|
422
|
+
* alone never surfaces what the user picked up yesterday, recency alone
|
|
423
|
+
* reshuffles every click. They are then laid out in **authored order**, not in
|
|
424
|
+
* rank order: a menu whose buttons swap places under the cursor is the dark
|
|
425
|
+
* pattern this whole feature exists to avoid, so what the ranking decides is
|
|
426
|
+
* membership, never position.
|
|
427
|
+
*
|
|
428
|
+
* With no usage recorded at all, both axes collapse to authored order and the
|
|
429
|
+
* result is the first thirteen of the nominated list — a deterministic cold
|
|
430
|
+
* start, not an empty menu.
|
|
431
|
+
*
|
|
432
|
+
* @param menu the owner's `'senior-menu'` commands, already order-sorted. It is
|
|
433
|
+
* both the pool the ranking draws membership from and the authored order the
|
|
434
|
+
* survivors are laid back out in.
|
|
435
|
+
* @param catalogue the owner's whole `'catalogue'` surface, already
|
|
436
|
+
* order-sorted. Read only for its length, to decide whether the owner
|
|
437
|
+
* overflows at all; it contributes no candidate.
|
|
438
|
+
* @param statsOf per-user measure; `undefined` for a command never invoked
|
|
439
|
+
*/
|
|
440
|
+
export declare function selectSeniorMenuCommands(menu: AnyCommandDescriptor[], catalogue: AnyCommandDescriptor[], statsOf: (id: string) => CommandUsageStats | undefined): {
|
|
441
|
+
commands: AnyCommandDescriptor[];
|
|
442
|
+
overflow: boolean;
|
|
443
|
+
};
|
|
444
|
+
/**
|
|
445
|
+
* The commands a user actually reaches for, for surfaces that lead with them —
|
|
446
|
+
* the catalogue sidepanel's "recent & frequent" head section (PO recette,
|
|
447
|
+
* 27/08/2026).
|
|
448
|
+
*
|
|
449
|
+
* Same arbitration as the senior sub-menu ({@link pickByUsage}) — one ranking,
|
|
450
|
+
* two consumers, never two opinions — with four deliberate differences:
|
|
451
|
+
*
|
|
452
|
+
* - it seats {@link CATALOGUE_HEAD_RANKED_SLOTS} (4 recent + 3 used), not the
|
|
453
|
+
* sub-menu's thirteen. The two surfaces share the arbitration and not the
|
|
454
|
+
* magnitude: see {@link CATALOGUE_HEAD_RANKED_SLOTS} for why thirteen 44px
|
|
455
|
+
* rows in a 320px panel would bury the categories under the fold.
|
|
456
|
+
* - it ranks the CATALOGUE surface, and keeps doing so after the eligibility
|
|
457
|
+
* ruling of 2026-08-28 narrowed the sub-menu to `'senior-menu'` declarers.
|
|
458
|
+
* That ruling is about the sub-menu, which is a row of things you DRAW; the
|
|
459
|
+
* sidepanel is the full-catalogue surface, the one place every command of a
|
|
460
|
+
* framework is reachable, so a catalogue-only command like `bpmn.exportXml`
|
|
461
|
+
* heading this section is the section working — "here is what you reach for"
|
|
462
|
+
* over a panel that lists everything, not a board action smuggled into a
|
|
463
|
+
* palette. Passing the menu surface here would hide a user's own habits from
|
|
464
|
+
* the very panel built to show them.
|
|
465
|
+
* - only commands that CARRY a measure are returned. The sub-menu backfills
|
|
466
|
+
* with authored order because it must always show something; a "recently
|
|
467
|
+
* used" section padded with the never-used would be a label that lies, so
|
|
468
|
+
* with no usage at all this returns `[]` and the section is simply absent.
|
|
469
|
+
* - the PICK order is kept (the recency ranks, then the frequency additions),
|
|
470
|
+
* not re-sorted by authored order: the section's whole message is "yours,
|
|
471
|
+
* latest first", and it only recomposes when the panel reopens.
|
|
472
|
+
*/
|
|
473
|
+
export declare function rankCommandsByUsage(catalogue: AnyCommandDescriptor[], statsOf: (id: string) => CommandUsageStats | undefined): AnyCommandDescriptor[];
|
|
474
|
+
/** Resolve an `iconKey` through the registered icon tables. */
|
|
475
|
+
export declare function getCommandIcon(std: BlockStdScope, iconKey: string | undefined): TemplateResult | undefined;
|