@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,399 @@
|
|
|
1
|
+
import { TranslationProvider } from '../../affine-shared/services/index.js';
|
|
2
|
+
import { backgroundColor, backgroundInstanceZoneBand, backgroundInstanceZones, backgroundPlot, backgroundPoint, BROKEN_BACKGROUND_COLOR, DEFAULT_BACKGROUND_SURFACE, warnBrokenBackgroundColor, } from './def.js';
|
|
3
|
+
import { backgroundInVariant, backgroundLabelText, backgroundTexts, backgroundVisible, } from './labels.js';
|
|
4
|
+
/**
|
|
5
|
+
* The framework-background PRIMITIVE (PF2.1): one renderer, driven entirely by
|
|
6
|
+
* a {@link FrameworkBackgroundDef}. A framework gets its background by
|
|
7
|
+
* declaring it — not one line of drawing code per framework.
|
|
8
|
+
*
|
|
9
|
+
* ## The painting pipeline
|
|
10
|
+
*
|
|
11
|
+
* Fixed, and the whole of it. Order is the only thing a declaration cannot
|
|
12
|
+
* change, because order is what makes two backgrounds look like the same
|
|
13
|
+
* product rather than two drawings:
|
|
14
|
+
*
|
|
15
|
+
* 1. the card — the element rectangle, and the side bands that dress it: the
|
|
16
|
+
* fill, then the bands over it, then the border over both, so the frame
|
|
17
|
+
* keeps outlining the whole element;
|
|
18
|
+
* 2. the washes, over the plot;
|
|
19
|
+
* 3. the zone tints, then the dividers between the zones THIS INSTANCE
|
|
20
|
+
* declares;
|
|
21
|
+
* 4. the graduations of every axis;
|
|
22
|
+
* 5. the axis lines and their arrowheads;
|
|
23
|
+
* 6. every text — the band labels, the zone names, then per axis its title and
|
|
24
|
+
* its end labels, and last the names of the instance's own zones.
|
|
25
|
+
*
|
|
26
|
+
* A declaration that says nothing but its size therefore paints a plain white
|
|
27
|
+
* rectangle: no axis, no zone, no decoration.
|
|
28
|
+
*
|
|
29
|
+
* ## Units
|
|
30
|
+
*
|
|
31
|
+
* Ratios scale with the element; everything beside them — margins, font sizes,
|
|
32
|
+
* stroke widths, label offsets — is FIXED model units, so the furniture stays
|
|
33
|
+
* legible however large the background is stretched. Only the plot interior
|
|
34
|
+
* moves.
|
|
35
|
+
*/
|
|
36
|
+
function roundRectPath(ctx, x, y, w, h, r) {
|
|
37
|
+
const rr = Math.min(r, w / 2, h / 2);
|
|
38
|
+
ctx.beginPath();
|
|
39
|
+
ctx.moveTo(x + rr, y);
|
|
40
|
+
ctx.arcTo(x + w, y, x + w, y + h, rr);
|
|
41
|
+
ctx.arcTo(x + w, y + h, x, y + h, rr);
|
|
42
|
+
ctx.arcTo(x, y + h, x, y, rr);
|
|
43
|
+
ctx.arcTo(x, y, x + w, y, rr);
|
|
44
|
+
ctx.closePath();
|
|
45
|
+
}
|
|
46
|
+
const HEX6 = /^#[0-9a-fA-F]{6}$/;
|
|
47
|
+
/**
|
|
48
|
+
* A wash stop, as `rgba(...)`.
|
|
49
|
+
*
|
|
50
|
+
* Only `#rrggbb` can carry an alpha this way. Anything else — a named CSS
|
|
51
|
+
* colour, a short hex, a palette entry that did not resolve — used to reach
|
|
52
|
+
* `parseInt` and produce `rgba(NaN,NaN,NaN,0.4)`, which paints nothing at all
|
|
53
|
+
* and says nothing about why. It now warns and paints
|
|
54
|
+
* {@link BROKEN_BACKGROUND_COLOR}.
|
|
55
|
+
*/
|
|
56
|
+
function rgba(hex, alpha) {
|
|
57
|
+
if (!HEX6.test(hex)) {
|
|
58
|
+
warnBrokenBackgroundColor(`wash colour "${hex}" is not a #rrggbb literal, so it cannot take an alpha`);
|
|
59
|
+
hex = BROKEN_BACKGROUND_COLOR;
|
|
60
|
+
}
|
|
61
|
+
const r = parseInt(hex.slice(1, 3), 16);
|
|
62
|
+
const g = parseInt(hex.slice(3, 5), 16);
|
|
63
|
+
const b = parseInt(hex.slice(5, 7), 16);
|
|
64
|
+
return `rgba(${r},${g},${b},${alpha})`;
|
|
65
|
+
}
|
|
66
|
+
function fontOf(style, fallbackFamily) {
|
|
67
|
+
const italic = style.italic ? 'italic ' : '';
|
|
68
|
+
const weight = style.weight ? `${style.weight} ` : '';
|
|
69
|
+
return `${italic}${weight}${style.size}px ${style.family ?? fallbackFamily}`;
|
|
70
|
+
}
|
|
71
|
+
/** The family a declaration that names none falls back to. */
|
|
72
|
+
const DEFAULT_FONT_FAMILY = 'Inter, sans-serif';
|
|
73
|
+
/**
|
|
74
|
+
* Where an instance zone's name sits in its band when the declaration states no
|
|
75
|
+
* offset: 8 model units in from the leading edge, 18 down from the top of the
|
|
76
|
+
* band.
|
|
77
|
+
*
|
|
78
|
+
* The two are not the same number, and that is not an oversight. The anchor is
|
|
79
|
+
* a BASELINE by default ({@link BackgroundTextStyle.baseline}), so the words
|
|
80
|
+
* hang ABOVE it: `dy` has to clear a cap height before it is an inset at all,
|
|
81
|
+
* and 18 leaves a name of the usual 12–15 units sitting just inside the top of
|
|
82
|
+
* its band. A declaration whose style anchors `middle` wants its own.
|
|
83
|
+
*/
|
|
84
|
+
const DEFAULT_INSTANCE_ZONE_LABEL_DX = 8;
|
|
85
|
+
const DEFAULT_INSTANCE_ZONE_LABEL_DY = 18;
|
|
86
|
+
/**
|
|
87
|
+
* Build the canvas renderer of one declaration. Pure: the same declaration
|
|
88
|
+
* always paints the same picture for the same model and size.
|
|
89
|
+
*/
|
|
90
|
+
export function createFrameworkBackgroundRenderer(def) {
|
|
91
|
+
const palette = def.chrome?.palette;
|
|
92
|
+
const family = def.chrome?.fontFamily ?? DEFAULT_FONT_FAMILY;
|
|
93
|
+
const surface = def.chrome?.surface ?? DEFAULT_BACKGROUND_SURFACE;
|
|
94
|
+
const color = (c) => backgroundColor(c, palette);
|
|
95
|
+
const texts = backgroundTexts(def);
|
|
96
|
+
// The DECLARATION of the instance partition — how it stacks, how it is drawn.
|
|
97
|
+
// What it contains is the model's business and is read on every paint.
|
|
98
|
+
const instanceZonesDef = def.instanceZones;
|
|
99
|
+
return (model, ctx, matrix, renderer) => {
|
|
100
|
+
const props = model;
|
|
101
|
+
const visible = (prop) => backgroundVisible(prop, props);
|
|
102
|
+
// Which READING of the frame this instance is showing. Washes, zones and
|
|
103
|
+
// texts all name the variants they belong to, and a declaration that names
|
|
104
|
+
// none belongs to every one of them.
|
|
105
|
+
const inVariant = (variants) => backgroundInVariant(def, variants, props);
|
|
106
|
+
// The host's catalogue, resolved once per paint. Absent in a bare unit
|
|
107
|
+
// test (the renderer is called with three arguments) and absent in a host
|
|
108
|
+
// that ships no locale pack — both fall back to the declared wording.
|
|
109
|
+
const translation = renderer?.std.getOptional(TranslationProvider) ?? null;
|
|
110
|
+
const [, , w, h] = model.deserializedXYWH;
|
|
111
|
+
const cx = w / 2;
|
|
112
|
+
const cy = h / 2;
|
|
113
|
+
ctx.setTransform(matrix
|
|
114
|
+
.translateSelf(cx, cy)
|
|
115
|
+
.rotateSelf(model.rotate)
|
|
116
|
+
.translateSelf(-cx, -cy));
|
|
117
|
+
const plot = backgroundPlot(def, w, h);
|
|
118
|
+
const { x0, y0, x1, y1 } = plot;
|
|
119
|
+
const pw = plot.width;
|
|
120
|
+
const ph = plot.height;
|
|
121
|
+
const line = (ax, ay, bx, by) => {
|
|
122
|
+
ctx.beginPath();
|
|
123
|
+
ctx.moveTo(ax, ay);
|
|
124
|
+
ctx.lineTo(bx, by);
|
|
125
|
+
ctx.stroke();
|
|
126
|
+
};
|
|
127
|
+
const drawText = (words, ax, ay, style, align, vertical) => {
|
|
128
|
+
if (!words)
|
|
129
|
+
return;
|
|
130
|
+
if (vertical) {
|
|
131
|
+
ctx.save();
|
|
132
|
+
ctx.translate(ax, ay);
|
|
133
|
+
ctx.rotate(-Math.PI / 2);
|
|
134
|
+
ctx.font = fontOf(style, family);
|
|
135
|
+
ctx.fillStyle = color(style.color);
|
|
136
|
+
ctx.textAlign = align ?? 'center';
|
|
137
|
+
ctx.textBaseline = style.baseline ?? 'alphabetic';
|
|
138
|
+
ctx.fillText(words, 0, 0);
|
|
139
|
+
ctx.restore();
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
ctx.font = fontOf(style, family);
|
|
143
|
+
ctx.fillStyle = color(style.color);
|
|
144
|
+
ctx.textAlign = align ?? 'left';
|
|
145
|
+
ctx.textBaseline = style.baseline ?? 'alphabetic';
|
|
146
|
+
ctx.fillText(words, ax, ay);
|
|
147
|
+
};
|
|
148
|
+
// ── 1. The card, and the bands that dress it ────────────────────────
|
|
149
|
+
const border = surface.border;
|
|
150
|
+
const inset = border ? border.width / 2 : 0;
|
|
151
|
+
const cardPath = () => roundRectPath(ctx, inset, inset, w - inset * 2, h - inset * 2, border?.radius ?? 0);
|
|
152
|
+
cardPath();
|
|
153
|
+
if (surface.fill) {
|
|
154
|
+
ctx.fillStyle = color(surface.fill);
|
|
155
|
+
ctx.fill();
|
|
156
|
+
}
|
|
157
|
+
// The side bands sit BETWEEN the fill and the border: a band is part of the
|
|
158
|
+
// card, and one painted over the frame would erase the edge it runs along,
|
|
159
|
+
// which reads as a broken card rather than as a band. Drawing a divider
|
|
160
|
+
// resets the current path, hence the second trace before the stroke — a
|
|
161
|
+
// declaration with no band never reaches it, so its picture is unchanged
|
|
162
|
+
// down to the operation.
|
|
163
|
+
const bands = def.chrome?.sideBands;
|
|
164
|
+
if (bands?.length) {
|
|
165
|
+
// The band IS the margin strip, clamped to an element narrower than its
|
|
166
|
+
// own margin — the one case where the two can disagree.
|
|
167
|
+
const bandWidth = Math.min(x0, w);
|
|
168
|
+
for (const band of bands) {
|
|
169
|
+
if (bandWidth <= 0)
|
|
170
|
+
continue;
|
|
171
|
+
if (band.fill) {
|
|
172
|
+
ctx.fillStyle = color(band.fill);
|
|
173
|
+
ctx.fillRect(0, 0, bandWidth, h);
|
|
174
|
+
}
|
|
175
|
+
const divider = band.divider;
|
|
176
|
+
if (divider) {
|
|
177
|
+
ctx.strokeStyle = color(divider.color);
|
|
178
|
+
ctx.lineWidth = divider.width;
|
|
179
|
+
if (divider.dash?.length)
|
|
180
|
+
ctx.setLineDash([...divider.dash]);
|
|
181
|
+
// Full height: the strip a margin gives up runs the whole side.
|
|
182
|
+
line(bandWidth, 0, bandWidth, h);
|
|
183
|
+
if (divider.dash?.length)
|
|
184
|
+
ctx.setLineDash([]);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
if (border)
|
|
188
|
+
cardPath();
|
|
189
|
+
}
|
|
190
|
+
if (border) {
|
|
191
|
+
ctx.strokeStyle = color(border.color);
|
|
192
|
+
ctx.lineWidth = border.width;
|
|
193
|
+
if (border.dash?.length)
|
|
194
|
+
ctx.setLineDash([...border.dash]);
|
|
195
|
+
ctx.stroke();
|
|
196
|
+
if (border.dash?.length)
|
|
197
|
+
ctx.setLineDash([]);
|
|
198
|
+
}
|
|
199
|
+
// ── 2. Washes over the plot ─────────────────────────────────────────
|
|
200
|
+
const washes = def.chrome?.washes;
|
|
201
|
+
if (washes?.length) {
|
|
202
|
+
for (const wash of washes) {
|
|
203
|
+
if (!inVariant(wash.variants))
|
|
204
|
+
continue;
|
|
205
|
+
if (!visible(wash.visibleProp))
|
|
206
|
+
continue;
|
|
207
|
+
const gradient = ctx.createLinearGradient(x0, 0, x1, 0);
|
|
208
|
+
const hex = color(wash.color);
|
|
209
|
+
for (const [offset, alpha] of wash.stops) {
|
|
210
|
+
gradient.addColorStop(offset, rgba(hex, alpha));
|
|
211
|
+
}
|
|
212
|
+
ctx.fillStyle = gradient;
|
|
213
|
+
ctx.fillRect(x0, y0, pw, ph);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
// ── 3. Zone tints ───────────────────────────────────────────────────
|
|
217
|
+
for (const zone of def.zones ?? []) {
|
|
218
|
+
if (!zone.fill)
|
|
219
|
+
continue;
|
|
220
|
+
if (!inVariant(zone.variants))
|
|
221
|
+
continue;
|
|
222
|
+
if (!visible(zone.fillVisibleProp))
|
|
223
|
+
continue;
|
|
224
|
+
ctx.fillStyle = color(zone.fill);
|
|
225
|
+
ctx.fillRect(x0 + zone.rect.x * pw, y0 + zone.rect.y * ph, zone.rect.w * pw, zone.rect.h * ph);
|
|
226
|
+
}
|
|
227
|
+
// The partition THIS element carries, resolved once per paint: alone on
|
|
228
|
+
// this pipeline it is a function of the model rather than of the
|
|
229
|
+
// declaration. A framework that declares none never reads the model and
|
|
230
|
+
// never allocates.
|
|
231
|
+
const instanceZones = instanceZonesDef
|
|
232
|
+
? backgroundInstanceZones(def, props)
|
|
233
|
+
: [];
|
|
234
|
+
// Dividers between adjacent instance zones: N zones, N−1 lines, on the
|
|
235
|
+
// INTERNAL boundaries only — the outer edges belong to the plot, and a line
|
|
236
|
+
// there would double the frame that is already drawn round it.
|
|
237
|
+
//
|
|
238
|
+
// Painted here, at the end of stage 3, rather than with the axis lines: a
|
|
239
|
+
// divider is part of what the zones ARE, so it belongs with the zones, and
|
|
240
|
+
// it must lie UNDER the graduations and the axes, which describe the frame
|
|
241
|
+
// of reference the user cannot move. After the tints, for the ordinary
|
|
242
|
+
// reason a fill goes under a line.
|
|
243
|
+
const zoneDivider = instanceZonesDef?.divider;
|
|
244
|
+
if (zoneDivider && instanceZones.length > 1) {
|
|
245
|
+
ctx.strokeStyle = color(zoneDivider.color);
|
|
246
|
+
ctx.lineWidth = zoneDivider.width;
|
|
247
|
+
if (zoneDivider.dash?.length)
|
|
248
|
+
ctx.setLineDash([...zoneDivider.dash]);
|
|
249
|
+
// Every zone but the first opens on a boundary with the one before it.
|
|
250
|
+
for (let i = 1; i < instanceZones.length; i++) {
|
|
251
|
+
const { x, y } = instanceZones[i].rect;
|
|
252
|
+
if (instanceZonesDef?.stack === 'y') {
|
|
253
|
+
const ty = y0 + y * ph;
|
|
254
|
+
line(x0, ty, x1, ty);
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
const tx = x0 + x * pw;
|
|
258
|
+
line(tx, y0, tx, y1);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (zoneDivider.dash?.length)
|
|
262
|
+
ctx.setLineDash([]);
|
|
263
|
+
}
|
|
264
|
+
// ── 4. Graduations ──────────────────────────────────────────────────
|
|
265
|
+
for (const axis of def.axes ?? []) {
|
|
266
|
+
const graduations = axis.ticks;
|
|
267
|
+
if (!graduations || !visible(graduations.visibleProp))
|
|
268
|
+
continue;
|
|
269
|
+
ctx.strokeStyle = color(graduations.stroke.color);
|
|
270
|
+
ctx.lineWidth = graduations.stroke.width;
|
|
271
|
+
ctx.setLineDash(graduations.stroke.dash ? [...graduations.stroke.dash] : []);
|
|
272
|
+
for (const tick of graduations.ticks) {
|
|
273
|
+
if (axis.orientation === 'horizontal') {
|
|
274
|
+
const tx = x0 + tick.at * pw;
|
|
275
|
+
line(tx, y0, tx, y1);
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
// A vertical axis is graduated from the BOTTOM up: `at: 0` is the
|
|
279
|
+
// origin of the value it measures, not the top of the screen.
|
|
280
|
+
const ty = y1 - tick.at * ph;
|
|
281
|
+
line(x0, ty, x1, ty);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
ctx.setLineDash([]);
|
|
285
|
+
}
|
|
286
|
+
// ── 5. Axis lines and arrowheads ────────────────────────────────────
|
|
287
|
+
for (const axis of def.axes ?? []) {
|
|
288
|
+
if (!visible(axis.visibleProp))
|
|
289
|
+
continue;
|
|
290
|
+
drawAxis(ctx, axis, plot, color, line);
|
|
291
|
+
}
|
|
292
|
+
// ── 6. Every text, in declaration order ─────────────────────────────
|
|
293
|
+
for (const text of texts) {
|
|
294
|
+
if (!inVariant(text.variants))
|
|
295
|
+
continue;
|
|
296
|
+
if (!visible(text.visibleProp))
|
|
297
|
+
continue;
|
|
298
|
+
const [tx, ty] = backgroundPoint(text.anchor, plot);
|
|
299
|
+
drawText(backgroundLabelText(text, props, translation), tx, ty, text.style, text.align, text.vertical === true);
|
|
300
|
+
}
|
|
301
|
+
// The instance's own zone names, after the declared texts — the same order
|
|
302
|
+
// the audit reports them in, and the same reason: what the framework says
|
|
303
|
+
// comes first, what this element adds comes after.
|
|
304
|
+
//
|
|
305
|
+
// Deliberately NOT routed through `backgroundTexts` (see `labels.ts`): that
|
|
306
|
+
// walk is a function of the DECLARATION alone, and these names are a
|
|
307
|
+
// function of the MODEL. A zone name is therefore not in the declaration's
|
|
308
|
+
// hit-test walk, and the two cannot disagree. Under the BAND placement the
|
|
309
|
+
// framework's own view hit-tests `backgroundInstanceZoneBand` instead —
|
|
310
|
+
// the very rectangle painted below — so the words a user aims at and the
|
|
311
|
+
// words they get are one shape rather than two constants that must agree.
|
|
312
|
+
const zoneLabel = instanceZonesDef?.label;
|
|
313
|
+
if (zoneLabel) {
|
|
314
|
+
const labelBand = zoneLabel.band;
|
|
315
|
+
const dx = zoneLabel.dx ?? DEFAULT_INSTANCE_ZONE_LABEL_DX;
|
|
316
|
+
const dy = zoneLabel.dy ?? DEFAULT_INSTANCE_ZONE_LABEL_DY;
|
|
317
|
+
const stackY = instanceZonesDef?.stack === 'y';
|
|
318
|
+
for (const zone of instanceZones) {
|
|
319
|
+
// The strip is drawn for EVERY zone, named or not: it is the lane's
|
|
320
|
+
// title band, and a lane whose name has been cleared still has one —
|
|
321
|
+
// an empty band that reads as a lane waiting to be named, rather than
|
|
322
|
+
// a lane that silently loses its structure. The NAME is what is
|
|
323
|
+
// conditional, exactly as under the corner placement.
|
|
324
|
+
const strip = labelBand
|
|
325
|
+
? backgroundInstanceZoneBand(def, zone, plot)
|
|
326
|
+
: null;
|
|
327
|
+
if (strip && labelBand?.divider) {
|
|
328
|
+
const divider = labelBand.divider;
|
|
329
|
+
ctx.strokeStyle = color(divider.color);
|
|
330
|
+
ctx.lineWidth = divider.width;
|
|
331
|
+
if (divider.dash?.length)
|
|
332
|
+
ctx.setLineDash([...divider.dash]);
|
|
333
|
+
// The far edge of the strip, along the zone: the near edge is the
|
|
334
|
+
// plot boundary, already drawn by the frame or by the side band.
|
|
335
|
+
if (stackY) {
|
|
336
|
+
line(strip.x + strip.w, strip.y, strip.x + strip.w, strip.y + strip.h);
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
line(strip.x, strip.y + strip.h, strip.x + strip.w, strip.y + strip.h);
|
|
340
|
+
}
|
|
341
|
+
if (divider.dash?.length)
|
|
342
|
+
ctx.setLineDash([]);
|
|
343
|
+
}
|
|
344
|
+
// An unnamed zone is a band and nothing else; it is not an empty label.
|
|
345
|
+
if (zone.name === undefined || zone.name === '')
|
|
346
|
+
continue;
|
|
347
|
+
if (strip) {
|
|
348
|
+
// Centred ACROSS the strip and ALONG it, the way the participant name
|
|
349
|
+
// is centred in its own band one level up. `middle` regardless of
|
|
350
|
+
// what the style says: the room the text is given is the width of the
|
|
351
|
+
// strip, and a baseline anchor there would push the words against the
|
|
352
|
+
// divider.
|
|
353
|
+
const style = { ...zoneLabel.style, baseline: 'middle' };
|
|
354
|
+
drawText(zone.name, strip.x + strip.w / 2, strip.y + strip.h / 2, style, 'center', stackY);
|
|
355
|
+
continue;
|
|
356
|
+
}
|
|
357
|
+
drawText(zone.name, x0 + zone.rect.x * pw + dx, y0 + zone.rect.y * ph + dy, zoneLabel.style, 'left', false);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* One axis: its line, stopping one unit inside the base of each arrowhead so
|
|
364
|
+
* the stroke never pokes past the tip at any zoom, then the filled triangles.
|
|
365
|
+
*/
|
|
366
|
+
function drawAxis(ctx, axis, plot, color, line) {
|
|
367
|
+
const { x0, y0, x1, y1 } = plot;
|
|
368
|
+
const arrow = axis.arrow ?? 'none';
|
|
369
|
+
const a = axis.arrowSize ?? 10;
|
|
370
|
+
const forward = arrow === 'forward' || arrow === 'both';
|
|
371
|
+
const backward = arrow === 'backward' || arrow === 'both';
|
|
372
|
+
ctx.strokeStyle = color(axis.stroke.color);
|
|
373
|
+
ctx.lineWidth = axis.stroke.width;
|
|
374
|
+
ctx.fillStyle = color(axis.stroke.color);
|
|
375
|
+
const triangle = (tipX, tipY, baseX, baseY, spreadX, spreadY) => {
|
|
376
|
+
ctx.beginPath();
|
|
377
|
+
ctx.moveTo(tipX, tipY);
|
|
378
|
+
ctx.lineTo(baseX - spreadX, baseY - spreadY);
|
|
379
|
+
ctx.lineTo(baseX + spreadX, baseY + spreadY);
|
|
380
|
+
ctx.closePath();
|
|
381
|
+
ctx.fill();
|
|
382
|
+
};
|
|
383
|
+
if (axis.orientation === 'horizontal') {
|
|
384
|
+
const y = y0 + axis.at * plot.height;
|
|
385
|
+
line(backward ? x0 + a - 1 : x0, y, forward ? x1 - a + 1 : x1, y);
|
|
386
|
+
if (forward)
|
|
387
|
+
triangle(x1, y, x1 - a, y, 0, a / 2);
|
|
388
|
+
if (backward)
|
|
389
|
+
triangle(x0, y, x0 + a, y, 0, a / 2);
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
// Vertical: `forward` points UP — where a reader expects "more" to be.
|
|
393
|
+
const x = x0 + axis.at * plot.width;
|
|
394
|
+
line(x, backward ? y1 - a + 1 : y1, x, forward ? y0 + a - 1 : y0);
|
|
395
|
+
if (forward)
|
|
396
|
+
triangle(x, y0, x, y0 + a, a / 2, 0);
|
|
397
|
+
if (backward)
|
|
398
|
+
triangle(x, y1, x, y1 - a, a / 2, 0);
|
|
399
|
+
}
|
|
@@ -11,6 +11,7 @@ export { ToolOverlay } from './renderer/tool-overlay.js';
|
|
|
11
11
|
import { getFontFacesByFontFamily, wrapFontFamily } from './utils/font.js';
|
|
12
12
|
export * from './adapters/index.js';
|
|
13
13
|
export * from './extensions/index.js';
|
|
14
|
+
export * from './framework-background/index.js';
|
|
14
15
|
export type { SurfaceContext } from './surface-block.js';
|
|
15
16
|
export { SurfaceBlockComponent } from './surface-block.js';
|
|
16
17
|
export { SurfaceBlockModel, SurfaceBlockSchema, SurfaceBlockSchemaExtension, } from './surface-model.js';
|
|
@@ -12,6 +12,7 @@ export { ToolOverlay } from './renderer/tool-overlay.js';
|
|
|
12
12
|
import { getFontFaces, getFontFacesByFontFamily, isSameFontFamily, wrapFontFamily, } from './utils/font.js';
|
|
13
13
|
export * from './adapters/index.js';
|
|
14
14
|
export * from './extensions/index.js';
|
|
15
|
+
export * from './framework-background/index.js';
|
|
15
16
|
export { SurfaceBlockComponent } from './surface-block.js';
|
|
16
17
|
export { SurfaceBlockModel, SurfaceBlockSchema, SurfaceBlockSchemaExtension, } from './surface-model.js';
|
|
17
18
|
export { SurfaceBlockTransformer } from './surface-transformer.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Color, ColorScheme } from '../../affine-model/index.js';
|
|
2
|
-
import type
|
|
2
|
+
import { type IBound } from '../../global/gfx/index.js';
|
|
3
3
|
import type { BlockStdScope } from '../../std/index.js';
|
|
4
|
-
import type { GridManager, LayerManager, SurfaceBlockModel, Viewport } from '../../std/gfx/index.js';
|
|
4
|
+
import type { GfxLocalElementModel, GridManager, LayerManager, SurfaceBlockModel, Viewport } from '../../std/gfx/index.js';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
6
6
|
import type { SurfaceElementModel } from '../element-model/base.js';
|
|
7
7
|
import type { Overlay } from './overlay.js';
|
|
@@ -22,13 +22,66 @@ type RendererOptions = {
|
|
|
22
22
|
gridManager: GridManager;
|
|
23
23
|
surfaceModel: SurfaceBlockModel;
|
|
24
24
|
};
|
|
25
|
+
export type CanvasRenderPassMetrics = {
|
|
26
|
+
overlayCount: number;
|
|
27
|
+
placeholderElementCount: number;
|
|
28
|
+
renderByBoundCallCount: number;
|
|
29
|
+
renderedElementCount: number;
|
|
30
|
+
visibleElementCount: number;
|
|
31
|
+
};
|
|
32
|
+
export type CanvasMemorySnapshot = {
|
|
33
|
+
bytes: number;
|
|
34
|
+
datasetLayerId: string | null;
|
|
35
|
+
height: number;
|
|
36
|
+
kind: 'main' | 'stacking';
|
|
37
|
+
width: number;
|
|
38
|
+
zIndex: string;
|
|
39
|
+
};
|
|
40
|
+
export type CanvasRendererDebugMetrics = {
|
|
41
|
+
canvasLayerCount: number;
|
|
42
|
+
canvasMemoryBytes: number;
|
|
43
|
+
canvasMemorySnapshots: CanvasMemorySnapshot[];
|
|
44
|
+
canvasMemoryMegabytes: number;
|
|
45
|
+
canvasPixelCount: number;
|
|
46
|
+
coalescedRefreshCount: number;
|
|
47
|
+
dirtyLayerRenderCount: number;
|
|
48
|
+
fallbackElementCount: number;
|
|
49
|
+
lastRenderDurationMs: number;
|
|
50
|
+
lastRenderMetrics: CanvasRenderPassMetrics;
|
|
51
|
+
maxRenderDurationMs: number;
|
|
52
|
+
pooledStackingCanvasCount: number;
|
|
53
|
+
refreshCount: number;
|
|
54
|
+
renderCount: number;
|
|
55
|
+
stackingCanvasCount: number;
|
|
56
|
+
totalLayerCount: number;
|
|
57
|
+
totalRenderDurationMs: number;
|
|
58
|
+
visibleStackingCanvasCount: number;
|
|
59
|
+
};
|
|
60
|
+
type RefreshTarget = {
|
|
61
|
+
type: 'all';
|
|
62
|
+
} | {
|
|
63
|
+
type: 'main';
|
|
64
|
+
} | {
|
|
65
|
+
type: 'element';
|
|
66
|
+
element: SurfaceElementModel | GfxLocalElementModel;
|
|
67
|
+
} | {
|
|
68
|
+
type: 'elements';
|
|
69
|
+
elements: Array<SurfaceElementModel | GfxLocalElementModel>;
|
|
70
|
+
};
|
|
25
71
|
export declare class CanvasRenderer {
|
|
26
72
|
private _container;
|
|
27
73
|
private readonly _disposables;
|
|
74
|
+
private readonly _gfx;
|
|
28
75
|
private readonly _turboEnabled;
|
|
29
76
|
private readonly _overlays;
|
|
30
77
|
private _refreshRafId;
|
|
31
78
|
private _stackingCanvas;
|
|
79
|
+
private readonly _stackingCanvasPool;
|
|
80
|
+
private readonly _stackingCanvasState;
|
|
81
|
+
private readonly _dirtyStackingCanvasIndexes;
|
|
82
|
+
private _mainCanvasDirty;
|
|
83
|
+
private _needsFullRender;
|
|
84
|
+
private _debugMetrics;
|
|
32
85
|
canvas: HTMLCanvasElement;
|
|
33
86
|
ctx: CanvasRenderingContext2D;
|
|
34
87
|
std: BlockStdScope;
|
|
@@ -52,9 +105,20 @@ export declare class CanvasRenderer {
|
|
|
52
105
|
* It is not recommended to set width and height to 100%.
|
|
53
106
|
*/
|
|
54
107
|
private _canvasSizeUpdater;
|
|
108
|
+
private _applyStackingCanvasLayout;
|
|
109
|
+
private _clampBoundToViewport;
|
|
110
|
+
private _createCanvasForLayer;
|
|
111
|
+
private _findLayerIndexByElement;
|
|
112
|
+
private _getLayerRenderBound;
|
|
113
|
+
private _getResolvedStackingCanvasBound;
|
|
114
|
+
private _invalidate;
|
|
115
|
+
private _resetPooledCanvas;
|
|
55
116
|
private _initStackingCanvas;
|
|
56
117
|
private _initViewport;
|
|
118
|
+
private _createRenderPassStats;
|
|
119
|
+
private _getCanvasMemorySnapshots;
|
|
57
120
|
private _render;
|
|
121
|
+
private _lastDebugSnapshot;
|
|
58
122
|
private _renderByBound;
|
|
59
123
|
private _resetSize;
|
|
60
124
|
private _watchSurface;
|
|
@@ -70,7 +134,9 @@ export declare class CanvasRenderer {
|
|
|
70
134
|
getColorScheme(): ColorScheme;
|
|
71
135
|
getColorValue(color: Color, fallback?: Color, real?: boolean): string;
|
|
72
136
|
getPropertyValue(property: string): string;
|
|
73
|
-
|
|
137
|
+
getDebugMetrics(): CanvasRendererDebugMetrics;
|
|
138
|
+
resetDebugMetrics(): void;
|
|
139
|
+
refresh(target?: RefreshTarget): void;
|
|
74
140
|
removeOverlay(overlay: Overlay): void;
|
|
75
141
|
}
|
|
76
142
|
export {};
|