@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,133 @@
|
|
|
1
|
+
import type { RootBlockModel } from '../../affine-model/index.js';
|
|
2
|
+
import { WidgetComponent } from '../../std/index.js';
|
|
3
|
+
import { type CSSResultGroup, type TemplateResult } from 'lit';
|
|
4
|
+
/**
|
|
5
|
+
* **Above every toolbar, the contextual one included.**
|
|
6
|
+
*
|
|
7
|
+
* The ceiling inside `.widgets-container` is `--affine-z-index-popover`, which
|
|
8
|
+
* the theme sets to `1000`: `editor-toolbar` — the contextual toolbar the PO
|
|
9
|
+
* found the reading panel hiding behind — takes it verbatim, and so does the
|
|
10
|
+
* zoom bar. The bottom `edgeless-toolbar` is only `z-index: 1`, and its senior
|
|
11
|
+
* sub-menus are appended INSIDE its own subtree, so they are capped at that 1
|
|
12
|
+
* with it. Ten above the variable clears the lot with headroom to spare.
|
|
13
|
+
*
|
|
14
|
+
* The fallback matters as much as the value: it is the host's theme stylesheet
|
|
15
|
+
* that defines the variable, never this library.
|
|
16
|
+
*
|
|
17
|
+
* It is set on the HOST rather than on the panel. Every widget host is a
|
|
18
|
+
* sibling in `.widgets-container`, and `affine-toolbar-widget` declares no
|
|
19
|
+
* stacking context of its own, so `editor-toolbar`'s 1000 competes at that
|
|
20
|
+
* level — which makes it the only level where this contest can be won.
|
|
21
|
+
*
|
|
22
|
+
* What still paints above it, correctly and by design: `popMenu` context menus
|
|
23
|
+
* (1001) and the toolbar drag preview (9999), both mounted on `editor-host`
|
|
24
|
+
* outside the contained widgets layer. A dropdown opened FROM one of these
|
|
25
|
+
* panels would go through `popMenu` and land on top of it, which is what one
|
|
26
|
+
* wants.
|
|
27
|
+
*/
|
|
28
|
+
export declare const EDITOR_ANCHORED_PANEL_Z_INDEX = "calc(var(--affine-z-index-popover, 1000) + 10)";
|
|
29
|
+
/** Where the panel goes, in pixels relative to its own zero-sized host. */
|
|
30
|
+
export type AnchoredPanelBox = {
|
|
31
|
+
left: number;
|
|
32
|
+
width: number;
|
|
33
|
+
bottom: number;
|
|
34
|
+
maxHeight: number;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* The host geometry, the layer and the panel's chrome — the half of the pattern
|
|
38
|
+
* that is CSS.
|
|
39
|
+
*
|
|
40
|
+
* Exported as a stylesheet rather than inherited, because a lit component that
|
|
41
|
+
* declares `static styles` REPLACES its base class's: a subclass composes with
|
|
42
|
+
* `static override styles = [editorAnchoredPanelStyles, css\`…\`]` and adds only
|
|
43
|
+
* what its own content needs.
|
|
44
|
+
*/
|
|
45
|
+
export declare const editorAnchoredPanelStyles: import("lit").CSSResult;
|
|
46
|
+
/**
|
|
47
|
+
* The base every editor-anchored info panel extends.
|
|
48
|
+
*
|
|
49
|
+
* A subclass says WHEN it is open and HOW it closes; everything else — where it
|
|
50
|
+
* sits, what layer it is in, what dismisses it and when it re-measures — comes
|
|
51
|
+
* from here.
|
|
52
|
+
*/
|
|
53
|
+
export declare abstract class EditorAnchoredPanel extends WidgetComponent<RootBlockModel> {
|
|
54
|
+
static styles: CSSResultGroup;
|
|
55
|
+
/** The bar this panel is currently observing, so it can stop observing it. */
|
|
56
|
+
private _observedBar;
|
|
57
|
+
private _anchorObserver;
|
|
58
|
+
get gfx(): import("../../std/gfx/controller.js").GfxController;
|
|
59
|
+
/** Whether a panel is on screen — the subclass's own open state. */
|
|
60
|
+
protected abstract get panelOpen(): boolean;
|
|
61
|
+
/** Put the panel away. The subclass owns what "away" means for its state. */
|
|
62
|
+
protected abstract closePanel(): void;
|
|
63
|
+
/** Keep a click inside the panel from reaching the canvas behind it. */
|
|
64
|
+
protected readonly swallow: (event: Event) => void;
|
|
65
|
+
private readonly _onDocumentPointerDown;
|
|
66
|
+
/**
|
|
67
|
+
* Escape is listened for on the EDITOR HOST, not on `document`, so a host
|
|
68
|
+
* application keeps its own global Escape while the panel handles its own:
|
|
69
|
+
* with a panel open Escape dismisses the panel rather than clearing the
|
|
70
|
+
* canvas selection behind it, and a library has no business making that call
|
|
71
|
+
* for the whole page.
|
|
72
|
+
*/
|
|
73
|
+
private readonly _onHostKeydown;
|
|
74
|
+
/** The visible senior bar, or `null` when there is none to measure. */
|
|
75
|
+
protected anchorBar(): HTMLElement | null;
|
|
76
|
+
/**
|
|
77
|
+
* The panel's box: the bar's own left edge and width, lifted clear of it.
|
|
78
|
+
*
|
|
79
|
+
* Measured, and deliberately NOT clamped to a minimum when the measure
|
|
80
|
+
* succeeded — "same width as the bar" is the decision, and a panel that
|
|
81
|
+
* quietly stopped matching under some width would be the one bug this whole
|
|
82
|
+
* pattern exists to remove. The floors apply to the FALLBACK, which has no
|
|
83
|
+
* bar to agree with.
|
|
84
|
+
*
|
|
85
|
+
* The vertical is read off the same rect: the panel's bottom sits
|
|
86
|
+
* {@link PANEL_BAR_GAP} above the bar's top, which stays true whatever the
|
|
87
|
+
* bar's height and however the host's theme pads it.
|
|
88
|
+
*/
|
|
89
|
+
protected anchorBox(): AnchoredPanelBox;
|
|
90
|
+
/**
|
|
91
|
+
* The panel's frame: the box, the dialog semantics and the pointer
|
|
92
|
+
* swallowing. The subclass passes its own body and nothing else.
|
|
93
|
+
*
|
|
94
|
+
* Deliberately NOT `aria-modal`: it promises everything behind the dialog is
|
|
95
|
+
* inert, and these panels promise the opposite — the canvas stays usable
|
|
96
|
+
* behind them, which is why they follow the editor instead of closing on a
|
|
97
|
+
* pan. Claiming modality without trapping focus is a label that lies to a
|
|
98
|
+
* screen reader, and trapping Tab from a host that is still interactive would
|
|
99
|
+
* be the library taking something that is not its to take.
|
|
100
|
+
*/
|
|
101
|
+
protected renderAnchoredPanel(options: {
|
|
102
|
+
testid: string;
|
|
103
|
+
label: string;
|
|
104
|
+
/** The panel's own class, for the content styles it adds. */
|
|
105
|
+
variant: string;
|
|
106
|
+
/** The element the panel is about, when it is about one. */
|
|
107
|
+
elementId?: string;
|
|
108
|
+
}, body: unknown): TemplateResult;
|
|
109
|
+
/**
|
|
110
|
+
* Click-away, Escape, and the two things that move the bar under the panel.
|
|
111
|
+
*
|
|
112
|
+
* Idempotent by convention: a subclass calls it from both `firstUpdated` and
|
|
113
|
+
* a later `connectedCallback`, because `WithDisposable` throws the group away
|
|
114
|
+
* on disconnect while lit runs `firstUpdated` exactly once.
|
|
115
|
+
*
|
|
116
|
+
* `viewportUpdated` covers a resize and a zoom. The ResizeObserver on the bar
|
|
117
|
+
* covers what a viewport event CANNOT: the bar's own width is `fit-content`
|
|
118
|
+
* over a tool count the toolbar recomputes on a debounce of its own, so the
|
|
119
|
+
* measure taken during the resize is legitimately stale a frame later. The
|
|
120
|
+
* observer is the second look that lands on the settled value.
|
|
121
|
+
*/
|
|
122
|
+
protected wireAnchoredPanel(): void;
|
|
123
|
+
/**
|
|
124
|
+
* Point the observer at whichever bar is on screen NOW.
|
|
125
|
+
*
|
|
126
|
+
* The bar is not a fixed element: a read-only board renders no toolbar at
|
|
127
|
+
* all, and lit's `cache` swaps the presentation toolbar in and out — so the
|
|
128
|
+
* node observed on mount can be gone, and a different one in its place, by
|
|
129
|
+
* the time a panel opens.
|
|
130
|
+
*/
|
|
131
|
+
private _syncAnchorObserver;
|
|
132
|
+
updated(): void;
|
|
133
|
+
}
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { WidgetComponent } from '../../std/index.js';
|
|
2
|
+
import { GfxControllerIdentifier } from '../../std/gfx/index.js';
|
|
3
|
+
import { css, html, unsafeCSS, } from 'lit';
|
|
4
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
5
|
+
import { styleMap } from 'lit/directives/style-map.js';
|
|
6
|
+
/**
|
|
7
|
+
* **The editor-anchored info panel** — ADR 0011.
|
|
8
|
+
*
|
|
9
|
+
* One place where the canvas tells you about itself: a panel pinned to the
|
|
10
|
+
* EDITOR, sitting just above the senior button bar and taking exactly its
|
|
11
|
+
* width. Not a popover beside the element it talks about.
|
|
12
|
+
*
|
|
13
|
+
* The PO's decision of 02/08/2026, in one sentence: *the metadata of the canvas
|
|
14
|
+
* is shown in a panel anchored to the editor, above the senior button bar, at
|
|
15
|
+
* its width*. Two surfaces answer to it today — the reversed reading
|
|
16
|
+
* (`reading-widget.ts`) and Map quality (`map-quality-widget.ts`) — and they
|
|
17
|
+
* answer to it through this class rather than through two copies of the same
|
|
18
|
+
* geometry.
|
|
19
|
+
*
|
|
20
|
+
* ## Why the toolbar is the ruler
|
|
21
|
+
*
|
|
22
|
+
* Because it is the only horizontal measure on the board that a user already
|
|
23
|
+
* reads as "the tool's own furniture". A fixed 480px panel was a second,
|
|
24
|
+
* arbitrary measure that lined up with nothing; the recette capture drew the
|
|
25
|
+
* alignment as two red rules down the toolbar's edges, which is precisely what
|
|
26
|
+
* {@link EditorAnchoredPanel.anchorBox} computes. The bar is measured, never
|
|
27
|
+
* predicted: its width is `fit-content` over a tool count that changes with the
|
|
28
|
+
* editor's width, so any arithmetic here would be a copy of `edgeless-toolbar`'s
|
|
29
|
+
* layout that drifts the first time a tool is added.
|
|
30
|
+
*
|
|
31
|
+
* ## What is shared, and what is not
|
|
32
|
+
*
|
|
33
|
+
* Shared: the host geometry and its layer, the panel's box and chrome, the
|
|
34
|
+
* click-away and Escape contracts, and the re-measure wiring. Not shared: a
|
|
35
|
+
* single line of CONTENT — each panel renders its own body into
|
|
36
|
+
* {@link EditorAnchoredPanel.renderAnchoredPanel}, and neither knows the other
|
|
37
|
+
* exists.
|
|
38
|
+
*/
|
|
39
|
+
/** The bottom toolbar widget — the senior button bar this pattern aligns on. */
|
|
40
|
+
const ANCHOR_WIDGET_TAG = 'edgeless-toolbar-widget';
|
|
41
|
+
/**
|
|
42
|
+
* The visible, rounded bar inside that widget's shadow root.
|
|
43
|
+
*
|
|
44
|
+
* The WIDGET is `width: 100%` up to a 900px cap and mostly empty space; the
|
|
45
|
+
* BAR is the box a user sees and the one the alignment is about.
|
|
46
|
+
*/
|
|
47
|
+
const ANCHOR_BAR_SELECTOR = '.edgeless-toolbar-container';
|
|
48
|
+
/**
|
|
49
|
+
* The measure used when the bar cannot be measured at all — a read-only board
|
|
50
|
+
* renders no toolbar, and a widget can be asked to paint before the toolbar has
|
|
51
|
+
* mounted. Centred, so the fallback looks deliberate rather than broken.
|
|
52
|
+
*/
|
|
53
|
+
const PANEL_FALLBACK_WIDTH = 480;
|
|
54
|
+
/** Never narrower than this, however cramped the editor gets. */
|
|
55
|
+
const PANEL_MIN_WIDTH = 240;
|
|
56
|
+
/** Breathing room at the sides and at the top of a small editor. */
|
|
57
|
+
const PANEL_MARGIN = 16;
|
|
58
|
+
/** Clearance kept between the panel's bottom edge and the bar's top edge. */
|
|
59
|
+
const PANEL_BAR_GAP = 12;
|
|
60
|
+
/**
|
|
61
|
+
* Clearance above the editor's bottom edge when there is no bar to measure.
|
|
62
|
+
*
|
|
63
|
+
* `edgeless-toolbar` is 64px tall over a 16px bottom padding; the remainder is
|
|
64
|
+
* the gap.
|
|
65
|
+
*/
|
|
66
|
+
const PANEL_FALLBACK_BOTTOM = 96;
|
|
67
|
+
const PANEL_MAX_HEIGHT = 420;
|
|
68
|
+
const PANEL_MIN_HEIGHT = 160;
|
|
69
|
+
/**
|
|
70
|
+
* **Above every toolbar, the contextual one included.**
|
|
71
|
+
*
|
|
72
|
+
* The ceiling inside `.widgets-container` is `--affine-z-index-popover`, which
|
|
73
|
+
* the theme sets to `1000`: `editor-toolbar` — the contextual toolbar the PO
|
|
74
|
+
* found the reading panel hiding behind — takes it verbatim, and so does the
|
|
75
|
+
* zoom bar. The bottom `edgeless-toolbar` is only `z-index: 1`, and its senior
|
|
76
|
+
* sub-menus are appended INSIDE its own subtree, so they are capped at that 1
|
|
77
|
+
* with it. Ten above the variable clears the lot with headroom to spare.
|
|
78
|
+
*
|
|
79
|
+
* The fallback matters as much as the value: it is the host's theme stylesheet
|
|
80
|
+
* that defines the variable, never this library.
|
|
81
|
+
*
|
|
82
|
+
* It is set on the HOST rather than on the panel. Every widget host is a
|
|
83
|
+
* sibling in `.widgets-container`, and `affine-toolbar-widget` declares no
|
|
84
|
+
* stacking context of its own, so `editor-toolbar`'s 1000 competes at that
|
|
85
|
+
* level — which makes it the only level where this contest can be won.
|
|
86
|
+
*
|
|
87
|
+
* What still paints above it, correctly and by design: `popMenu` context menus
|
|
88
|
+
* (1001) and the toolbar drag preview (9999), both mounted on `editor-host`
|
|
89
|
+
* outside the contained widgets layer. A dropdown opened FROM one of these
|
|
90
|
+
* panels would go through `popMenu` and land on top of it, which is what one
|
|
91
|
+
* wants.
|
|
92
|
+
*/
|
|
93
|
+
export const EDITOR_ANCHORED_PANEL_Z_INDEX = 'calc(var(--affine-z-index-popover, 1000) + 10)';
|
|
94
|
+
/**
|
|
95
|
+
* The host geometry, the layer and the panel's chrome — the half of the pattern
|
|
96
|
+
* that is CSS.
|
|
97
|
+
*
|
|
98
|
+
* Exported as a stylesheet rather than inherited, because a lit component that
|
|
99
|
+
* declares `static styles` REPLACES its base class's: a subclass composes with
|
|
100
|
+
* `static override styles = [editorAnchoredPanelStyles, css\`…\`]` and adds only
|
|
101
|
+
* what its own content needs.
|
|
102
|
+
*/
|
|
103
|
+
export const editorAnchoredPanelStyles = css `
|
|
104
|
+
/*
|
|
105
|
+
A ZERO-SIZED host, pinned to the bottom-left corner of the editor.
|
|
106
|
+
|
|
107
|
+
Zero-sized is not a style choice, it is the only safe one:
|
|
108
|
+
\`.widgets-container > * { pointer-events: auto }\` is an OUTER-tree rule on
|
|
109
|
+
a shadowless block component, so it beats \`:host { pointer-events: none }\`
|
|
110
|
+
outright. A host with a real box would swallow canvas clicks across the
|
|
111
|
+
whole bottom of the board. The panel below carries the box.
|
|
112
|
+
|
|
113
|
+
\`left: 0\` rather than the \`left: 50%\` a centred panel would want: the
|
|
114
|
+
panel is placed against the MEASURED bar, and a zero-width host at the
|
|
115
|
+
container's own origin is what turns a viewport rect into an offset with no
|
|
116
|
+
arithmetic to get wrong.
|
|
117
|
+
*/
|
|
118
|
+
:host {
|
|
119
|
+
position: absolute;
|
|
120
|
+
left: 0;
|
|
121
|
+
bottom: 0;
|
|
122
|
+
z-index: ${unsafeCSS(EDITOR_ANCHORED_PANEL_Z_INDEX)};
|
|
123
|
+
pointer-events: none;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.editor-anchored-panel {
|
|
127
|
+
position: absolute;
|
|
128
|
+
box-sizing: border-box;
|
|
129
|
+
overflow-y: auto;
|
|
130
|
+
padding: 12px;
|
|
131
|
+
border-radius: 8px;
|
|
132
|
+
border: 1px solid var(--affine-border-color);
|
|
133
|
+
background: var(--affine-background-overlay-panel-color, #fff);
|
|
134
|
+
box-shadow: var(--affine-shadow-2);
|
|
135
|
+
color: var(--affine-text-primary-color);
|
|
136
|
+
font-family: var(--affine-font-family);
|
|
137
|
+
font-size: 14px;
|
|
138
|
+
line-height: 1.4;
|
|
139
|
+
pointer-events: auto;
|
|
140
|
+
}
|
|
141
|
+
`;
|
|
142
|
+
/**
|
|
143
|
+
* The base every editor-anchored info panel extends.
|
|
144
|
+
*
|
|
145
|
+
* A subclass says WHEN it is open and HOW it closes; everything else — where it
|
|
146
|
+
* sits, what layer it is in, what dismisses it and when it re-measures — comes
|
|
147
|
+
* from here.
|
|
148
|
+
*/
|
|
149
|
+
export class EditorAnchoredPanel extends WidgetComponent {
|
|
150
|
+
constructor() {
|
|
151
|
+
super(...arguments);
|
|
152
|
+
/** The bar this panel is currently observing, so it can stop observing it. */
|
|
153
|
+
this._observedBar = null;
|
|
154
|
+
this._anchorObserver = null;
|
|
155
|
+
/** Keep a click inside the panel from reaching the canvas behind it. */
|
|
156
|
+
this.swallow = (event) => {
|
|
157
|
+
event.stopPropagation();
|
|
158
|
+
};
|
|
159
|
+
this._onDocumentPointerDown = (event) => {
|
|
160
|
+
if (!this.panelOpen)
|
|
161
|
+
return;
|
|
162
|
+
// Anything inside this widget keeps it open. The toolbar entry that opened
|
|
163
|
+
// it is in another tree, and its own click already landed.
|
|
164
|
+
if (event.composedPath().includes(this))
|
|
165
|
+
return;
|
|
166
|
+
this.closePanel();
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* Escape is listened for on the EDITOR HOST, not on `document`, so a host
|
|
170
|
+
* application keeps its own global Escape while the panel handles its own:
|
|
171
|
+
* with a panel open Escape dismisses the panel rather than clearing the
|
|
172
|
+
* canvas selection behind it, and a library has no business making that call
|
|
173
|
+
* for the whole page.
|
|
174
|
+
*/
|
|
175
|
+
this._onHostKeydown = (event) => {
|
|
176
|
+
if (!this.panelOpen || event.key !== 'Escape')
|
|
177
|
+
return;
|
|
178
|
+
event.stopPropagation();
|
|
179
|
+
this.closePanel();
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
// Typed as the GROUP, not as the single sheet it defaults to: a subclass
|
|
183
|
+
// composes with `[editorAnchoredPanelStyles, css\`…\`]`, and a narrower
|
|
184
|
+
// declaration here would make that composition a type error.
|
|
185
|
+
static { this.styles = editorAnchoredPanelStyles; }
|
|
186
|
+
get gfx() {
|
|
187
|
+
return this.std.get(GfxControllerIdentifier);
|
|
188
|
+
}
|
|
189
|
+
/** The visible senior bar, or `null` when there is none to measure. */
|
|
190
|
+
anchorBar() {
|
|
191
|
+
const widget = this.std.host.querySelector(ANCHOR_WIDGET_TAG);
|
|
192
|
+
return (widget?.shadowRoot?.querySelector(ANCHOR_BAR_SELECTOR) ??
|
|
193
|
+
null);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* The panel's box: the bar's own left edge and width, lifted clear of it.
|
|
197
|
+
*
|
|
198
|
+
* Measured, and deliberately NOT clamped to a minimum when the measure
|
|
199
|
+
* succeeded — "same width as the bar" is the decision, and a panel that
|
|
200
|
+
* quietly stopped matching under some width would be the one bug this whole
|
|
201
|
+
* pattern exists to remove. The floors apply to the FALLBACK, which has no
|
|
202
|
+
* bar to agree with.
|
|
203
|
+
*
|
|
204
|
+
* The vertical is read off the same rect: the panel's bottom sits
|
|
205
|
+
* {@link PANEL_BAR_GAP} above the bar's top, which stays true whatever the
|
|
206
|
+
* bar's height and however the host's theme pads it.
|
|
207
|
+
*/
|
|
208
|
+
anchorBox() {
|
|
209
|
+
const { width: editorWidth, height: editorHeight } = this.gfx.viewport;
|
|
210
|
+
// A zero-sized host at the container's origin: `top` is the container's
|
|
211
|
+
// bottom edge, `left` its left edge.
|
|
212
|
+
const origin = this.getBoundingClientRect();
|
|
213
|
+
const bar = this.anchorBar()?.getBoundingClientRect() ?? null;
|
|
214
|
+
let left;
|
|
215
|
+
let width;
|
|
216
|
+
let bottom;
|
|
217
|
+
if (bar && bar.width > 0) {
|
|
218
|
+
left = bar.left - origin.left;
|
|
219
|
+
width = bar.width;
|
|
220
|
+
bottom = Math.max(origin.top - bar.top + PANEL_BAR_GAP, PANEL_BAR_GAP);
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
width = Math.max(PANEL_MIN_WIDTH, Math.min(PANEL_FALLBACK_WIDTH, editorWidth - PANEL_MARGIN * 2));
|
|
224
|
+
left = Math.max(PANEL_MARGIN, (editorWidth - width) / 2);
|
|
225
|
+
bottom = PANEL_FALLBACK_BOTTOM;
|
|
226
|
+
}
|
|
227
|
+
return {
|
|
228
|
+
left,
|
|
229
|
+
width,
|
|
230
|
+
bottom,
|
|
231
|
+
maxHeight: Math.max(PANEL_MIN_HEIGHT, Math.min(PANEL_MAX_HEIGHT, editorHeight - bottom - PANEL_MARGIN)),
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* The panel's frame: the box, the dialog semantics and the pointer
|
|
236
|
+
* swallowing. The subclass passes its own body and nothing else.
|
|
237
|
+
*
|
|
238
|
+
* Deliberately NOT `aria-modal`: it promises everything behind the dialog is
|
|
239
|
+
* inert, and these panels promise the opposite — the canvas stays usable
|
|
240
|
+
* behind them, which is why they follow the editor instead of closing on a
|
|
241
|
+
* pan. Claiming modality without trapping focus is a label that lies to a
|
|
242
|
+
* screen reader, and trapping Tab from a host that is still interactive would
|
|
243
|
+
* be the library taking something that is not its to take.
|
|
244
|
+
*/
|
|
245
|
+
renderAnchoredPanel(options, body) {
|
|
246
|
+
const { left, width, bottom, maxHeight } = this.anchorBox();
|
|
247
|
+
return html `<div
|
|
248
|
+
class="editor-anchored-panel ${options.variant}"
|
|
249
|
+
role="dialog"
|
|
250
|
+
tabindex="-1"
|
|
251
|
+
aria-label=${options.label}
|
|
252
|
+
data-testid=${options.testid}
|
|
253
|
+
data-element-id=${ifDefined(options.elementId)}
|
|
254
|
+
style=${styleMap({
|
|
255
|
+
left: `${left}px`,
|
|
256
|
+
width: `${width}px`,
|
|
257
|
+
bottom: `${bottom}px`,
|
|
258
|
+
maxHeight: `${maxHeight}px`,
|
|
259
|
+
})}
|
|
260
|
+
@pointerdown=${this.swallow}
|
|
261
|
+
@pointerup=${this.swallow}
|
|
262
|
+
@click=${this.swallow}
|
|
263
|
+
>
|
|
264
|
+
${body}
|
|
265
|
+
</div>`;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Click-away, Escape, and the two things that move the bar under the panel.
|
|
269
|
+
*
|
|
270
|
+
* Idempotent by convention: a subclass calls it from both `firstUpdated` and
|
|
271
|
+
* a later `connectedCallback`, because `WithDisposable` throws the group away
|
|
272
|
+
* on disconnect while lit runs `firstUpdated` exactly once.
|
|
273
|
+
*
|
|
274
|
+
* `viewportUpdated` covers a resize and a zoom. The ResizeObserver on the bar
|
|
275
|
+
* covers what a viewport event CANNOT: the bar's own width is `fit-content`
|
|
276
|
+
* over a tool count the toolbar recomputes on a debounce of its own, so the
|
|
277
|
+
* measure taken during the resize is legitimately stale a frame later. The
|
|
278
|
+
* observer is the second look that lands on the settled value.
|
|
279
|
+
*/
|
|
280
|
+
wireAnchoredPanel() {
|
|
281
|
+
const { _disposables } = this;
|
|
282
|
+
_disposables.add(this.gfx.viewport.viewportUpdated.subscribe(() => {
|
|
283
|
+
if (this.panelOpen)
|
|
284
|
+
this.requestUpdate();
|
|
285
|
+
}));
|
|
286
|
+
const observer = new ResizeObserver(() => {
|
|
287
|
+
if (this.panelOpen)
|
|
288
|
+
this.requestUpdate();
|
|
289
|
+
});
|
|
290
|
+
this._anchorObserver = observer;
|
|
291
|
+
this._syncAnchorObserver();
|
|
292
|
+
document.addEventListener('pointerdown', this._onDocumentPointerDown, true);
|
|
293
|
+
const host = this.std.host;
|
|
294
|
+
host.addEventListener('keydown', this._onHostKeydown, true);
|
|
295
|
+
_disposables.add(() => {
|
|
296
|
+
document.removeEventListener('pointerdown', this._onDocumentPointerDown, true);
|
|
297
|
+
host.removeEventListener('keydown', this._onHostKeydown, true);
|
|
298
|
+
observer.disconnect();
|
|
299
|
+
this._anchorObserver = null;
|
|
300
|
+
this._observedBar = null;
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Point the observer at whichever bar is on screen NOW.
|
|
305
|
+
*
|
|
306
|
+
* The bar is not a fixed element: a read-only board renders no toolbar at
|
|
307
|
+
* all, and lit's `cache` swaps the presentation toolbar in and out — so the
|
|
308
|
+
* node observed on mount can be gone, and a different one in its place, by
|
|
309
|
+
* the time a panel opens.
|
|
310
|
+
*/
|
|
311
|
+
_syncAnchorObserver() {
|
|
312
|
+
const observer = this._anchorObserver;
|
|
313
|
+
if (!observer)
|
|
314
|
+
return;
|
|
315
|
+
const bar = this.anchorBar();
|
|
316
|
+
if (bar === this._observedBar)
|
|
317
|
+
return;
|
|
318
|
+
if (this._observedBar)
|
|
319
|
+
observer.unobserve(this._observedBar);
|
|
320
|
+
this._observedBar = bar;
|
|
321
|
+
if (bar)
|
|
322
|
+
observer.observe(bar);
|
|
323
|
+
}
|
|
324
|
+
updated() {
|
|
325
|
+
this._syncAnchorObserver();
|
|
326
|
+
}
|
|
327
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createIdentifier
|
|
1
|
+
import { createIdentifier } from '../../global/di/index.js';
|
|
2
2
|
export const ElementRendererIdentifier = createIdentifier('element-renderer');
|
|
3
3
|
export const ElementRendererExtension = (id, renderer) => {
|
|
4
4
|
const identifier = ElementRendererIdentifier(id);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ImageBlockModel } from '../../../affine-model/index.js';
|
|
2
2
|
import { FetchUtils } from '../../../affine-shared/adapters/index.js';
|
|
3
3
|
import { CANVAS_EXPORT_IGNORE_TAGS, DEFAULT_IMAGE_PROXY_ENDPOINT, } from '../../../affine-shared/consts/index.js';
|
|
4
|
-
import { isInsidePageEditor, matchModels
|
|
4
|
+
import { isInsidePageEditor, matchModels } from '../../../affine-shared/utils/index.js';
|
|
5
5
|
import { BlockSuiteError, ErrorCode } from '../../../global/exceptions/index.js';
|
|
6
6
|
import { deserializeXYWH } from '../../../global/gfx/index.js';
|
|
7
7
|
import { StdIdentifier, } from '../../../std/index.js';
|
|
@@ -1,9 +1,26 @@
|
|
|
1
|
+
export * from './audit.js';
|
|
1
2
|
export * from './clipboard-config.js';
|
|
2
3
|
export * from './crud-extension.js';
|
|
3
4
|
export * from './dom-element-renderer.js';
|
|
4
5
|
export * from './edit-props-middleware-builder.js';
|
|
6
|
+
export * from './editor-anchored-panel.js';
|
|
5
7
|
export * from './element-renderer.js';
|
|
6
8
|
export * from './export-manager/index.js';
|
|
9
|
+
export * from './interchange.js';
|
|
10
|
+
export * from './interchange-import.js';
|
|
7
11
|
export * from './legacy-slot-extension.js';
|
|
12
|
+
export * from './map-quality.js';
|
|
13
|
+
export * from './map-quality-widget.js';
|
|
14
|
+
export * from './morph-toolbar.js';
|
|
8
15
|
export * from './query.js';
|
|
16
|
+
export * from './reading.js';
|
|
17
|
+
export * from './reading-toolbar.js';
|
|
18
|
+
export * from './reading-widget.js';
|
|
19
|
+
export * from './spotlight.js';
|
|
9
20
|
export * from './surface-middleware.js';
|
|
21
|
+
export * from './svg-sketch.js';
|
|
22
|
+
export * from './tags-toolbar.js';
|
|
23
|
+
export * from './validation.js';
|
|
24
|
+
export * from './validation-toolbar.js';
|
|
25
|
+
export * from './violation-detail-widget.js';
|
|
26
|
+
export * from './violation-timeline.js';
|
|
@@ -1,9 +1,26 @@
|
|
|
1
|
+
export * from './audit.js';
|
|
1
2
|
export * from './clipboard-config.js';
|
|
2
3
|
export * from './crud-extension.js';
|
|
3
4
|
export * from './dom-element-renderer.js';
|
|
4
5
|
export * from './edit-props-middleware-builder.js';
|
|
6
|
+
export * from './editor-anchored-panel.js';
|
|
5
7
|
export * from './element-renderer.js';
|
|
6
8
|
export * from './export-manager/index.js';
|
|
9
|
+
export * from './interchange.js';
|
|
10
|
+
export * from './interchange-import.js';
|
|
7
11
|
export * from './legacy-slot-extension.js';
|
|
12
|
+
export * from './map-quality.js';
|
|
13
|
+
export * from './map-quality-widget.js';
|
|
14
|
+
export * from './morph-toolbar.js';
|
|
8
15
|
export * from './query.js';
|
|
16
|
+
export * from './reading.js';
|
|
17
|
+
export * from './reading-toolbar.js';
|
|
18
|
+
export * from './reading-widget.js';
|
|
19
|
+
export * from './spotlight.js';
|
|
9
20
|
export * from './surface-middleware.js';
|
|
21
|
+
export * from './svg-sketch.js';
|
|
22
|
+
export * from './tags-toolbar.js';
|
|
23
|
+
export * from './validation.js';
|
|
24
|
+
export * from './validation-toolbar.js';
|
|
25
|
+
export * from './violation-detail-widget.js';
|
|
26
|
+
export * from './violation-timeline.js';
|