@formicoidea/labre-core 0.31.0 → 0.32.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-callout/callout-block.d.ts +6 -0
- package/dist/_pkgs/affine-block-callout/callout-block.js +25 -3
- 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.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 +52 -5
- 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/database-block.js +13 -0
- 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 +10 -0
- 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-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/embed-linked-doc-block.js +8 -4
- 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 +22 -3
- package/dist/_pkgs/affine-block-frame/frame-manager.d.ts +13 -0
- package/dist/_pkgs/affine-block-frame/frame-manager.js +32 -2
- package/dist/_pkgs/affine-block-latex/styles.js +6 -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-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 +9 -2
- 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 +26 -1
- 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/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/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 +5 -2
- package/dist/_pkgs/affine-block-surface/element-model/index.js +4 -2
- package/dist/_pkgs/affine-block-surface/extensions/audit.d.ts +107 -0
- package/dist/_pkgs/affine-block-surface/extensions/audit.js +472 -0
- package/dist/_pkgs/affine-block-surface/extensions/crud-extension.d.ts +14 -0
- package/dist/_pkgs/affine-block-surface/extensions/crud-extension.js +27 -0
- 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 +326 -0
- package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +13 -0
- package/dist/_pkgs/affine-block-surface/extensions/index.js +13 -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/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 +590 -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/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 +1340 -0
- package/dist/_pkgs/affine-block-surface/extensions/validation.js +3009 -0
- package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.d.ts +286 -0
- package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.js +907 -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 +321 -0
- package/dist/_pkgs/affine-block-surface/framework-background/def.js +81 -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 +59 -0
- package/dist/_pkgs/affine-block-surface/framework-background/labels.js +117 -0
- package/dist/_pkgs/affine-block-surface/framework-background/renderer.d.ts +8 -0
- package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +238 -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/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-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/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/portal/portal.d.ts +1 -1
- package/dist/_pkgs/affine-components/toolbar/menu-button.js +1 -0
- package/dist/_pkgs/affine-components/toolbar/toolbar.js +11 -10
- package/dist/_pkgs/affine-foundation/view.js +11 -2
- 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/view.d.ts +14 -0
- package/dist/_pkgs/affine-gfx-brush/view.js +29 -3
- package/dist/_pkgs/affine-gfx-connector/connector-manager.js +32 -6
- package/dist/_pkgs/affine-gfx-connector/connector-tool.d.ts +7 -0
- package/dist/_pkgs/affine-gfx-connector/connector-tool.js +2 -1
- package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.d.ts +123 -0
- package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.js +281 -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 +187 -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/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 +67 -1
- 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-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/element-renderer/shape-dom/index.js +48 -19
- 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/text/edgeless-shape-text-editor.d.ts +26 -0
- package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.js +124 -13
- package/dist/_pkgs/affine-gfx-shape/view.js +3 -3
- 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-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/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-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/connector/connector.js +24 -0
- 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/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 +3 -1
- package/dist/_pkgs/affine-model/elements/index.js +1 -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/wardley/wardley.d.ts +21 -29
- package/dist/_pkgs/affine-model/elements/wardley/wardley.js +41 -48
- package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.d.ts +6 -1
- package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.js +160 -2
- package/dist/_pkgs/affine-shared/adapters/markdown/markdown.js +5 -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 +280 -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/services/audit-service.d.ts +300 -0
- package/dist/_pkgs/affine-shared/services/audit-service.js +228 -0
- 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/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 +5 -0
- package/dist/_pkgs/affine-shared/services/index.js +5 -0
- package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.d.ts +129 -0
- package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +311 -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 +182 -0
- 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/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 +254 -0
- 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/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 +27 -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-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/index.d.ts +1 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +1 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +38 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +99 -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-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-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 +34 -6
- package/dist/_pkgs/affine-widget-toolbar/utils.d.ts +146 -3
- package/dist/_pkgs/affine-widget-toolbar/utils.js +738 -56
- 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 +68 -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 +837 -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 +87 -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 +84 -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 +7 -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 +321 -0
- package/dist/_pkgs/std/extension/command-registry.js +233 -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/translation-manifest.d.ts +49 -0
- package/dist/_pkgs/std/extension/translation-manifest.js +71 -0
- 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 +282 -0
- package/dist/_pkgs/std/gfx/model/surface/element-model.js +436 -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 +115 -0
- package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +70 -0
- package/dist/_pkgs/std/gfx/model/surface/surface-model.js +304 -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/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 +19 -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 +7 -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/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 +23 -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 +154 -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 +112 -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
|
@@ -18,16 +18,67 @@ import { isGfxGroupCompatibleModel, } from '../gfx/model/base.js';
|
|
|
18
18
|
* The result should be `[G1, G4, E6]`
|
|
19
19
|
*/
|
|
20
20
|
export function getTopElements(elements) {
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
const uniqueElements = [...new Set(elements)];
|
|
22
|
+
const selected = new Set(uniqueElements);
|
|
23
|
+
const topElements = [];
|
|
24
|
+
// Walk each element UP to the root instead of asking every pair whether one
|
|
25
|
+
// contains the other: the pairwise form walked the whole subtree of every
|
|
26
|
+
// group for every other element in the list, which is what made a large
|
|
27
|
+
// selection expensive.
|
|
28
|
+
for (const element of uniqueElements) {
|
|
29
|
+
let ancestor = element.group;
|
|
30
|
+
let hasSelectedAncestor = false;
|
|
31
|
+
while (ancestor) {
|
|
32
|
+
if (selected.has(ancestor)) {
|
|
33
|
+
hasSelectedAncestor = true;
|
|
34
|
+
break;
|
|
27
35
|
}
|
|
28
|
-
|
|
36
|
+
ancestor = ancestor.group;
|
|
37
|
+
}
|
|
38
|
+
if (!hasSelectedAncestor) {
|
|
39
|
+
topElements.push(element);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return topElements;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Add several children to a container in one go.
|
|
46
|
+
*
|
|
47
|
+
* A container that knows how to take a batch (`addChildren`) gets the whole
|
|
48
|
+
* list, so it can write them within a single transaction; anything else falls
|
|
49
|
+
* back to one `addChild` per element, which is exactly what the caller would
|
|
50
|
+
* have written by hand.
|
|
51
|
+
*/
|
|
52
|
+
export function batchAddChildren(container, elements) {
|
|
53
|
+
const uniqueElements = [...new Set(elements)];
|
|
54
|
+
if (uniqueElements.length === 0)
|
|
55
|
+
return;
|
|
56
|
+
const batchContainer = container;
|
|
57
|
+
if (batchContainer.addChildren) {
|
|
58
|
+
batchContainer.addChildren(uniqueElements);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
uniqueElements.forEach(element => {
|
|
62
|
+
container.addChild(element);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Remove several children from a container in one go. See
|
|
67
|
+
* {@link batchAddChildren}.
|
|
68
|
+
*/
|
|
69
|
+
export function batchRemoveChildren(container, elements) {
|
|
70
|
+
const uniqueElements = [...new Set(elements)];
|
|
71
|
+
if (uniqueElements.length === 0)
|
|
72
|
+
return;
|
|
73
|
+
const batchContainer = container;
|
|
74
|
+
if (batchContainer.removeChildren) {
|
|
75
|
+
batchContainer.removeChildren(uniqueElements);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
uniqueElements.forEach(element => {
|
|
79
|
+
// oxlint-disable-next-line unicorn/prefer-dom-node-remove
|
|
80
|
+
container.removeChild(element);
|
|
29
81
|
});
|
|
30
|
-
return [...results];
|
|
31
82
|
}
|
|
32
83
|
function traverse(element, preCallback, postCallBack) {
|
|
33
84
|
// avoid infinite loop caused by circular reference
|
|
@@ -18,6 +18,12 @@ function updateTransform(element) {
|
|
|
18
18
|
element.style.transformOrigin = '0 0';
|
|
19
19
|
element.style.transform = element.getCSSTransform();
|
|
20
20
|
}
|
|
21
|
+
function updateZIndex(element) {
|
|
22
|
+
const zIndex = element.toZIndex();
|
|
23
|
+
if (element.style.zIndex !== zIndex) {
|
|
24
|
+
element.style.zIndex = zIndex;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
21
27
|
function updateBlockVisibility(view) {
|
|
22
28
|
if (view.transformState$.value === 'active') {
|
|
23
29
|
view.style.visibility = 'visible';
|
|
@@ -40,11 +46,18 @@ function handleGfxConnection(instance) {
|
|
|
40
46
|
instance.disposables.add(instance.store.slots.blockUpdated.subscribe(({ type, id }) => {
|
|
41
47
|
if (id === instance.model.id && type === 'update') {
|
|
42
48
|
updateTransform(instance);
|
|
49
|
+
updateZIndex(instance);
|
|
43
50
|
}
|
|
44
51
|
}));
|
|
52
|
+
// A reorder changes no property of this block, only the layer it sits in,
|
|
53
|
+
// so the stacking has to be read back from the layer manager.
|
|
54
|
+
instance.disposables.add(instance.gfx.layer.slots.layerUpdated.subscribe(() => {
|
|
55
|
+
updateZIndex(instance);
|
|
56
|
+
}));
|
|
45
57
|
instance.disposables.add(effect(() => {
|
|
46
58
|
updateBlockVisibility(instance);
|
|
47
59
|
updateTransform(instance);
|
|
60
|
+
updateZIndex(instance);
|
|
48
61
|
}));
|
|
49
62
|
}
|
|
50
63
|
export class GfxBlockComponent extends BlockComponent {
|
|
@@ -73,13 +86,17 @@ export class GfxBlockComponent extends BlockComponent {
|
|
|
73
86
|
onBoxSelected(_) { }
|
|
74
87
|
getCSSTransform() {
|
|
75
88
|
const viewport = this.gfx.viewport;
|
|
76
|
-
const { translateX, translateY, zoom } = viewport;
|
|
89
|
+
const { translateX, translateY, zoom, viewScale } = viewport;
|
|
77
90
|
const bound = Bound.deserialize(this.model.xywh);
|
|
78
|
-
|
|
79
|
-
|
|
91
|
+
// An outer container may scale the whole editor (`viewScale`). The block
|
|
92
|
+
// is placed inside that container, so the placement has to be stated in
|
|
93
|
+
// the container's already scaled space, otherwise the container applies
|
|
94
|
+
// its scale a second time and the block drifts away from the canvas.
|
|
95
|
+
const scaledX = (bound.x * zoom) / viewScale;
|
|
96
|
+
const scaledY = (bound.y * zoom) / viewScale;
|
|
80
97
|
const deltaX = scaledX - bound.x;
|
|
81
98
|
const deltaY = scaledY - bound.y;
|
|
82
|
-
return `translate(${translateX + deltaX}px, ${translateY + deltaY}px) scale(${zoom})`;
|
|
99
|
+
return `translate(${translateX / viewScale + deltaX}px, ${translateY / viewScale + deltaY}px) scale(${zoom / viewScale})`;
|
|
83
100
|
}
|
|
84
101
|
getRenderingRect() {
|
|
85
102
|
const { xywh$ } = this.model;
|
|
@@ -159,16 +176,9 @@ export function toGfxBlockComponent(CustomBlock) {
|
|
|
159
176
|
super.connectedCallback();
|
|
160
177
|
handleGfxConnection(this);
|
|
161
178
|
}
|
|
162
|
-
// eslint-disable-next-line sonarjs/no-identical-functions
|
|
163
179
|
getCSSTransform() {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
const bound = Bound.deserialize(this.model.xywh);
|
|
167
|
-
const scaledX = bound.x * zoom;
|
|
168
|
-
const scaledY = bound.y * zoom;
|
|
169
|
-
const deltaX = scaledX - bound.x;
|
|
170
|
-
const deltaY = scaledY - bound.y;
|
|
171
|
-
return `translate(${translateX + deltaX}px, ${translateY + deltaY}px) scale(${zoom})`;
|
|
180
|
+
// A converted block is placed exactly like a native one.
|
|
181
|
+
return GfxBlockComponent.prototype.getCSSTransform.call(this);
|
|
172
182
|
}
|
|
173
183
|
// eslint-disable-next-line sonarjs/no-identical-functions
|
|
174
184
|
getRenderingRect() {
|
|
@@ -16,6 +16,16 @@ export interface DocMeta {
|
|
|
16
16
|
createDate: number;
|
|
17
17
|
updatedDate?: number;
|
|
18
18
|
favorite?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Set by the host when the doc sits in its trash. The doc is still in the
|
|
21
|
+
* workspace — it loads and round-trips as usual — but references to it
|
|
22
|
+
* (linked-doc and synced-doc cards) render as deleted.
|
|
23
|
+
*
|
|
24
|
+
* Optional and absent from documents written before it existed: the meta map
|
|
25
|
+
* is stored key by key, so an older document simply reads `undefined` here
|
|
26
|
+
* and an older reader ignores the key.
|
|
27
|
+
*/
|
|
28
|
+
trash?: boolean;
|
|
19
29
|
}
|
|
20
30
|
export interface WorkspaceMeta {
|
|
21
31
|
get docMetas(): DocMeta[];
|
|
@@ -22,11 +22,12 @@ export class FlatSyncController {
|
|
|
22
22
|
throw new BlockSuiteError(ErrorCode.ModelCRUDError, `schema for flavour: ${this.flavour} not found`);
|
|
23
23
|
}
|
|
24
24
|
const model = schema.model.toModel?.() ?? new BlockModel();
|
|
25
|
+
const defaultProps = schema.model.props?.(internalPrimitives);
|
|
25
26
|
model.schema = schema;
|
|
26
27
|
model.id = this.id;
|
|
27
28
|
model.keys = Array.from(props);
|
|
28
29
|
model.yBlock = this.yBlock;
|
|
29
|
-
const reactive = new ReactiveFlatYMap(this.yBlock, model.deleted, this.onChange);
|
|
30
|
+
const reactive = new ReactiveFlatYMap(this.yBlock, model.deleted, this.onChange, defaultProps);
|
|
30
31
|
this._reactive = reactive;
|
|
31
32
|
const proxy = reactive.proxy;
|
|
32
33
|
model._props = proxy;
|
|
@@ -35,17 +36,6 @@ export class FlatSyncController {
|
|
|
35
36
|
if (this.doc) {
|
|
36
37
|
model.store = this.doc;
|
|
37
38
|
}
|
|
38
|
-
const defaultProps = schema.model.props?.(internalPrimitives);
|
|
39
|
-
if (defaultProps) {
|
|
40
|
-
Object.entries(defaultProps).forEach(([key, value]) => {
|
|
41
|
-
if (key in proxy) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
if (value === undefined)
|
|
45
|
-
return;
|
|
46
|
-
proxy[key] = value;
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
39
|
return model;
|
|
50
40
|
}
|
|
51
41
|
_parseYBlock() {
|
|
@@ -190,10 +190,13 @@ export class DocCRUD {
|
|
|
190
190
|
return findParent(root);
|
|
191
191
|
}
|
|
192
192
|
getPrev(id) {
|
|
193
|
-
return this._getSiblings(id, (index, parent) =>
|
|
194
|
-
|
|
195
|
-
.
|
|
196
|
-
|
|
193
|
+
return this._getSiblings(id, (index, parent) => {
|
|
194
|
+
// `at(-1)` would wrap around to the last child, so the first child has to
|
|
195
|
+
// be answered before indexing.
|
|
196
|
+
if (index === 0)
|
|
197
|
+
return null;
|
|
198
|
+
return parent.get('sys:children').toArray().at(index - 1) ?? null;
|
|
199
|
+
});
|
|
197
200
|
}
|
|
198
201
|
moveBlocks(blocksToMove, newParent, targetSibling = null, shouldInsertBeforeSibling = true) {
|
|
199
202
|
if (blocksToMove.length > 1 &&
|
|
@@ -17,7 +17,7 @@ export declare class ReactiveFlatYMap extends BaseReactiveYData<UnRecord, YMap<u
|
|
|
17
17
|
private _byPassYjs;
|
|
18
18
|
private readonly _getProxy;
|
|
19
19
|
private readonly _updateWithYjsSkip;
|
|
20
|
-
constructor(_ySource: YMap<unknown>, _onDispose: Subject<void>, _onChange?: OnChange | undefined);
|
|
20
|
+
constructor(_ySource: YMap<unknown>, _onDispose: Subject<void>, _onChange?: OnChange | undefined, defaultProps?: Record<string, unknown>);
|
|
21
21
|
pop: (prop: string) => void;
|
|
22
22
|
stash: (prop: string) => void;
|
|
23
23
|
}
|
|
@@ -8,7 +8,7 @@ import { initializeData } from './initialize.js';
|
|
|
8
8
|
import { createProxy } from './proxy.js';
|
|
9
9
|
import { getYEventHandler } from './y-event-handler.js';
|
|
10
10
|
export class ReactiveFlatYMap extends BaseReactiveYData {
|
|
11
|
-
constructor(_ySource, _onDispose, _onChange) {
|
|
11
|
+
constructor(_ySource, _onDispose, _onChange, defaultProps) {
|
|
12
12
|
super();
|
|
13
13
|
this._ySource = _ySource;
|
|
14
14
|
this._onDispose = _onDispose;
|
|
@@ -87,7 +87,7 @@ export class ReactiveFlatYMap extends BaseReactiveYData {
|
|
|
87
87
|
});
|
|
88
88
|
this._source = source;
|
|
89
89
|
const proxy = this._getProxy(source, source);
|
|
90
|
-
|
|
90
|
+
const initSignals = (key, value) => {
|
|
91
91
|
const signalData = signal(value);
|
|
92
92
|
source[`${key}$`] = signalData;
|
|
93
93
|
const unsubscribe = signalData.subscribe(next => {
|
|
@@ -103,9 +103,31 @@ export class ReactiveFlatYMap extends BaseReactiveYData {
|
|
|
103
103
|
subscription.unsubscribe();
|
|
104
104
|
unsubscribe();
|
|
105
105
|
});
|
|
106
|
+
};
|
|
107
|
+
Object.entries(source).forEach(([key, value]) => {
|
|
108
|
+
initSignals(key, value);
|
|
106
109
|
});
|
|
110
|
+
// Props declared with an `undefined` default are never written to the Y.Map,
|
|
111
|
+
// so they have no counterpart in `source`. Give them a signal anyway, so
|
|
112
|
+
// consumers can read and write `prop$` before the prop ever gets a value.
|
|
113
|
+
if (defaultProps) {
|
|
114
|
+
Object.entries(defaultProps).forEach(([key, value]) => {
|
|
115
|
+
if (!(key in proxy) && value === undefined) {
|
|
116
|
+
initSignals(key, value);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}
|
|
107
120
|
this._proxy = proxy;
|
|
108
121
|
this._ySource.observe(this._observer);
|
|
109
122
|
this._initialized = true;
|
|
123
|
+
// Defined defaults are applied after initialization, so that they are
|
|
124
|
+
// written through to the Y.Map exactly as before.
|
|
125
|
+
if (defaultProps) {
|
|
126
|
+
Object.entries(defaultProps).forEach(([key, value]) => {
|
|
127
|
+
if (key in proxy || value === undefined)
|
|
128
|
+
return;
|
|
129
|
+
proxy[key] = value;
|
|
130
|
+
});
|
|
131
|
+
}
|
|
110
132
|
}
|
|
111
133
|
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type AnyCommandDescriptor, type CommandManifestEntry, type CommandSurface, type FrameworkId } from './_pkgs/std/index.js';
|
|
2
|
+
import { type LabreFlags } from './flags.js';
|
|
3
|
+
/**
|
|
4
|
+
* The command registry, enumerated WITHOUT an editor instance — the property
|
|
5
|
+
* that makes it usable by host-side panels (Settings › Shortcuts, the
|
|
6
|
+
* "more artefacts" sidepanel). See `docs/adr/0008`.
|
|
7
|
+
*
|
|
8
|
+
* Gating has two sides and both are honoured: registration (`CommandExtension`
|
|
9
|
+
* inside each framework's flag-gated view extension) decides what BINDS, and
|
|
10
|
+
* `isBlockEnabled` here decides what a host ENUMERATES. A unit test asserts the
|
|
11
|
+
* two agree — a framework toggled off must vanish from the manifest and bind
|
|
12
|
+
* nothing.
|
|
13
|
+
*
|
|
14
|
+
* Bundled distribution note: the framework groups below are STRIPPED from
|
|
15
|
+
* `@formicoidea/labre-core` by `scripts/build-bundles.mjs` (`shortcuts: true`
|
|
16
|
+
* on the framework's descriptor) — each framework bundle exports its own
|
|
17
|
+
* commands and the host appends them for the frameworks it enables.
|
|
18
|
+
*/
|
|
19
|
+
interface FrameworkCommandGroup {
|
|
20
|
+
owner: FrameworkId;
|
|
21
|
+
commands: AnyCommandDescriptor[];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Pure aggregator (exported for testing): core commands plus the commands of
|
|
25
|
+
* every framework group whose flag is enabled.
|
|
26
|
+
*/
|
|
27
|
+
export declare function buildCommandRegistry(core: AnyCommandDescriptor[], groups: FrameworkCommandGroup[], flags?: LabreFlags): AnyCommandDescriptor[];
|
|
28
|
+
/**
|
|
29
|
+
* Every command a given flag set exposes. Shapes are core canvas, so their
|
|
30
|
+
* commands are always-on like root's — and so are Map quality (PF7.11), which
|
|
31
|
+
* belongs to the SURFACE rather than to any framework (it appears for whichever
|
|
32
|
+
* framework declared a nudge or an on-demand rule, and its own `when` asks the
|
|
33
|
+
* engine that question), and `edge.invert-direction` (`docs/adr/0010` M3),
|
|
34
|
+
* which acts on whatever carries an edge ROLE — document content — so it must
|
|
35
|
+
* stay reachable on a board whose framework tooling is switched off; it is
|
|
36
|
+
* registered from the always-on connector view extension for the same reason.
|
|
37
|
+
*
|
|
38
|
+
* `auditCommands` is `'core'`-owned but NOT always-on: it rides the `ai-audit`
|
|
39
|
+
* capability switch, which is a second axis (see `OPTIONAL_CAPABILITIES`). The
|
|
40
|
+
* read side is filtered here, the registration side by `AuditViewExtension` in
|
|
41
|
+
* `getInternalViewExtensions` — the same two-sided gate a framework flag gets,
|
|
42
|
+
* and the same test asserts the two agree.
|
|
43
|
+
*
|
|
44
|
+
* The two sit side by side deliberately: Map quality is the DETERMINISTIC
|
|
45
|
+
* second moment (levels 1–2 of the validation taxonomy) and the audit is level
|
|
46
|
+
* 3, which is why one is unconditional and the other rides a switch. Neither
|
|
47
|
+
* depends on the other, and the engine depends on neither.
|
|
48
|
+
*/
|
|
49
|
+
export declare function getCommands(flags?: LabreFlags): AnyCommandDescriptor[];
|
|
50
|
+
/**
|
|
51
|
+
* The serializable catalogue manifest — what crosses the host seam for the
|
|
52
|
+
* sidepanel, the palette and the agent. No functions, no templates: an
|
|
53
|
+
* `iconKey` resolved lib-side, and availability as a closed union.
|
|
54
|
+
*/
|
|
55
|
+
export declare function getCommandManifest(flags?: LabreFlags): CommandManifestEntry[];
|
|
56
|
+
/** The manifest entries one surface offers, ordered. */
|
|
57
|
+
export declare function getCommandManifestForSurface(surface: CommandSurface, flags?: LabreFlags): CommandManifestEntry[];
|
|
58
|
+
export {};
|
package/dist/commands.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { coreCommands, pivotCommands, readingCommands, tagCommands, } from './_pkgs/affine-block-root/index.js';
|
|
2
|
+
import { auditCommands, mapQualityCommands, } from './_pkgs/affine-block-surface/index.js';
|
|
3
|
+
import { edgeDirectionCommands } from './_pkgs/affine-gfx-connector/index.js';
|
|
4
|
+
import { shapeCommands } from './_pkgs/affine-gfx-shape/index.js';
|
|
5
|
+
import { toCommandManifestEntry, } from './_pkgs/std/index.js';
|
|
6
|
+
import { isBlockEnabled, isCapabilityEnabled, } from './flags.js';
|
|
7
|
+
const FRAMEWORK_COMMAND_GROUPS = [];
|
|
8
|
+
/**
|
|
9
|
+
* Pure aggregator (exported for testing): core commands plus the commands of
|
|
10
|
+
* every framework group whose flag is enabled.
|
|
11
|
+
*/
|
|
12
|
+
export function buildCommandRegistry(core, groups, flags) {
|
|
13
|
+
const all = [...core];
|
|
14
|
+
for (const { owner, commands } of groups) {
|
|
15
|
+
if (isBlockEnabled(flags, owner))
|
|
16
|
+
all.push(...commands);
|
|
17
|
+
}
|
|
18
|
+
return all;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Every command a given flag set exposes. Shapes are core canvas, so their
|
|
22
|
+
* commands are always-on like root's — and so are Map quality (PF7.11), which
|
|
23
|
+
* belongs to the SURFACE rather than to any framework (it appears for whichever
|
|
24
|
+
* framework declared a nudge or an on-demand rule, and its own `when` asks the
|
|
25
|
+
* engine that question), and `edge.invert-direction` (`docs/adr/0010` M3),
|
|
26
|
+
* which acts on whatever carries an edge ROLE — document content — so it must
|
|
27
|
+
* stay reachable on a board whose framework tooling is switched off; it is
|
|
28
|
+
* registered from the always-on connector view extension for the same reason.
|
|
29
|
+
*
|
|
30
|
+
* `auditCommands` is `'core'`-owned but NOT always-on: it rides the `ai-audit`
|
|
31
|
+
* capability switch, which is a second axis (see `OPTIONAL_CAPABILITIES`). The
|
|
32
|
+
* read side is filtered here, the registration side by `AuditViewExtension` in
|
|
33
|
+
* `getInternalViewExtensions` — the same two-sided gate a framework flag gets,
|
|
34
|
+
* and the same test asserts the two agree.
|
|
35
|
+
*
|
|
36
|
+
* The two sit side by side deliberately: Map quality is the DETERMINISTIC
|
|
37
|
+
* second moment (levels 1–2 of the validation taxonomy) and the audit is level
|
|
38
|
+
* 3, which is why one is unconditional and the other rides a switch. Neither
|
|
39
|
+
* depends on the other, and the engine depends on neither.
|
|
40
|
+
*/
|
|
41
|
+
export function getCommands(flags) {
|
|
42
|
+
return buildCommandRegistry([
|
|
43
|
+
...coreCommands,
|
|
44
|
+
...pivotCommands,
|
|
45
|
+
...tagCommands,
|
|
46
|
+
...readingCommands,
|
|
47
|
+
...shapeCommands,
|
|
48
|
+
...mapQualityCommands,
|
|
49
|
+
...edgeDirectionCommands,
|
|
50
|
+
...(isCapabilityEnabled(flags, 'ai-audit') ? auditCommands : []),
|
|
51
|
+
], FRAMEWORK_COMMAND_GROUPS, flags);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The serializable catalogue manifest — what crosses the host seam for the
|
|
55
|
+
* sidepanel, the palette and the agent. No functions, no templates: an
|
|
56
|
+
* `iconKey` resolved lib-side, and availability as a closed union.
|
|
57
|
+
*/
|
|
58
|
+
export function getCommandManifest(flags) {
|
|
59
|
+
return getCommands(flags).map(toCommandManifestEntry);
|
|
60
|
+
}
|
|
61
|
+
/** The manifest entries one surface offers, ordered. */
|
|
62
|
+
export function getCommandManifestForSurface(surface, flags) {
|
|
63
|
+
return getCommandManifest(flags)
|
|
64
|
+
.filter(entry => entry.surfaces.includes(surface))
|
|
65
|
+
.sort((a, b) => (a.order ?? 0) - (b.order ?? 0));
|
|
66
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ViewExtensionContext, ViewExtensionProvider } from '../_pkgs/affine-ext-loader/index.js';
|
|
2
|
+
import { type CommandDescriptor, type CommandInvocation, type CommandTelemetryReporter } from '../_pkgs/std/index.js';
|
|
3
|
+
import type { ExtensionType } from '../_pkgs/store/index.js';
|
|
4
|
+
export declare function reportCommandTelemetry(track: (event: string, payload: Record<string, unknown>) => void, command: CommandDescriptor, invocation: CommandInvocation): void;
|
|
5
|
+
/**
|
|
6
|
+
* The production reporter. Exported so a test can register it on a stub `std`
|
|
7
|
+
* and drive the WHOLE path — `runCommand` → reporter → `TelemetryProvider` —
|
|
8
|
+
* rather than calling the mapping function directly, which would never notice
|
|
9
|
+
* a second emitter left behind in an action body.
|
|
10
|
+
*/
|
|
11
|
+
export declare const commandTelemetryReporter: CommandTelemetryReporter;
|
|
12
|
+
export declare const CommandTelemetryExtension: ExtensionType;
|
|
13
|
+
/**
|
|
14
|
+
* Registered unconditionally by `getInternalViewExtensions`: the emitter is not
|
|
15
|
+
* a framework's business, and a framework toggled off simply never invokes a
|
|
16
|
+
* command.
|
|
17
|
+
*/
|
|
18
|
+
export declare class CommandTelemetryViewExtension extends ViewExtensionProvider {
|
|
19
|
+
name: string;
|
|
20
|
+
setup(context: ViewExtensionContext): void;
|
|
21
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { ViewExtensionProvider, } from '../_pkgs/affine-ext-loader/index.js';
|
|
2
|
+
import { TelemetryProvider } from '../_pkgs/affine-shared/services/index.js';
|
|
3
|
+
import { CommandTelemetryIdentifier, } from '../_pkgs/std/index.js';
|
|
4
|
+
import { frameworkDescriptor } from '../frameworks.js';
|
|
5
|
+
/**
|
|
6
|
+
* The ONE place a framework command's telemetry is emitted.
|
|
7
|
+
*
|
|
8
|
+
* Before PF3 every surface re-implemented its own `track()` — which is how
|
|
9
|
+
* cynefin-estuarine ended up emitting nothing at all, and how the same artefact
|
|
10
|
+
* could be counted differently depending on which menu created it. The registry
|
|
11
|
+
* now calls this reporter from `runCommand`, and nowhere else.
|
|
12
|
+
*
|
|
13
|
+
* Wire values are HISTORICAL by construction: `framework` and `segment` come
|
|
14
|
+
* from `FrameworkDescriptor.telemetryKey` / `.telemetrySegment`, so unifying
|
|
15
|
+
* the code-side identity breaks no existing PostHog dashboard.
|
|
16
|
+
*/
|
|
17
|
+
/** `CommandKind` → the ADR 0003 event it reports. */
|
|
18
|
+
const EVENT_BY_KIND = {
|
|
19
|
+
artefact: 'FrameworkElementAdded',
|
|
20
|
+
toggle: 'FrameworkElementAdded',
|
|
21
|
+
tool: 'FrameworkToolPicked',
|
|
22
|
+
legend: 'FrameworkLegendCreated',
|
|
23
|
+
action: 'FrameworkElementAdded',
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* `module`, per historical convention: the menu that created the element, or
|
|
27
|
+
* the literal `'keyboard shortcut'` Wardley already emitted.
|
|
28
|
+
*/
|
|
29
|
+
function moduleOf(telemetryKey, invocation) {
|
|
30
|
+
if (invocation.surface === 'shortcut')
|
|
31
|
+
return 'keyboard shortcut';
|
|
32
|
+
if (invocation.surface === 'senior-menu')
|
|
33
|
+
return `${telemetryKey} menu`;
|
|
34
|
+
return `${telemetryKey} ${invocation.surface}`;
|
|
35
|
+
}
|
|
36
|
+
export function reportCommandTelemetry(track, command, invocation) {
|
|
37
|
+
const { telemetry } = command;
|
|
38
|
+
if (!telemetry)
|
|
39
|
+
return;
|
|
40
|
+
const framework = frameworkDescriptor(telemetry.framework);
|
|
41
|
+
if (!framework)
|
|
42
|
+
return;
|
|
43
|
+
track(EVENT_BY_KIND[command.kind], {
|
|
44
|
+
framework: framework.telemetryKey,
|
|
45
|
+
element: telemetry.element,
|
|
46
|
+
page: 'whiteboard editor',
|
|
47
|
+
segment: framework.telemetrySegment,
|
|
48
|
+
module: moduleOf(framework.telemetryKey, invocation),
|
|
49
|
+
// New dimension, no existing value changed: which of the five consumers
|
|
50
|
+
// invoked the command. This is the metric that will arbitrate the 14
|
|
51
|
+
// senior slots against the sidepanel against the palette.
|
|
52
|
+
control: invocation.source,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The production reporter. Exported so a test can register it on a stub `std`
|
|
57
|
+
* and drive the WHOLE path — `runCommand` → reporter → `TelemetryProvider` —
|
|
58
|
+
* rather than calling the mapping function directly, which would never notice
|
|
59
|
+
* a second emitter left behind in an action body.
|
|
60
|
+
*/
|
|
61
|
+
export const commandTelemetryReporter = ({ std, command, invocation, }) => {
|
|
62
|
+
const telemetry = std.getOptional(TelemetryProvider);
|
|
63
|
+
if (!telemetry)
|
|
64
|
+
return;
|
|
65
|
+
reportCommandTelemetry((event, payload) => telemetry.track(event, payload), command, invocation);
|
|
66
|
+
};
|
|
67
|
+
export const CommandTelemetryExtension = {
|
|
68
|
+
// Factory form, not value form: the container calls a function argument as a
|
|
69
|
+
// factory, so registering the reporter directly would resolve it with the
|
|
70
|
+
// service provider instead of the report.
|
|
71
|
+
setup: di => {
|
|
72
|
+
di.addImpl(CommandTelemetryIdentifier, () => commandTelemetryReporter);
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Registered unconditionally by `getInternalViewExtensions`: the emitter is not
|
|
77
|
+
* a framework's business, and a framework toggled off simply never invokes a
|
|
78
|
+
* command.
|
|
79
|
+
*/
|
|
80
|
+
export class CommandTelemetryViewExtension extends ViewExtensionProvider {
|
|
81
|
+
constructor() {
|
|
82
|
+
super(...arguments);
|
|
83
|
+
this.name = 'affine-command-telemetry';
|
|
84
|
+
}
|
|
85
|
+
setup(context) {
|
|
86
|
+
super.setup(context);
|
|
87
|
+
context.register(CommandTelemetryExtension);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { AttachmentStoreExtension } from '../_pkgs/affine-block-attachment/store.js';
|
|
2
2
|
import { NoteStoreExtension } from '../_pkgs/affine-block-note/store.js';
|
|
3
|
-
import {
|
|
3
|
+
import type { LabreFlags } from '../flags.js';
|
|
4
4
|
/**
|
|
5
|
-
* Store extensions
|
|
6
|
-
*
|
|
5
|
+
* Store extensions.
|
|
6
|
+
*
|
|
7
|
+
* Registered UNCONDITIONALLY: the store side (models, adapters, transformers)
|
|
8
|
+
* is what makes a document readable and round-trippable, and a flag must never
|
|
9
|
+
* gate that (see {@link LabreFlags} and `docs/adr/0009`). The `flags` parameter
|
|
10
|
+
* is kept for source compatibility with callers written against the previous
|
|
11
|
+
* contract, and is deliberately ignored.
|
|
7
12
|
*/
|
|
8
|
-
export declare function getInternalStoreExtensions(
|
|
13
|
+
export declare function getInternalStoreExtensions(_flags?: LabreFlags): (typeof AttachmentStoreExtension | typeof NoteStoreExtension)[];
|
package/dist/extensions/store.js
CHANGED
|
@@ -30,43 +30,46 @@ import { LatexStoreExtension as InlineLatexStoreExtension } from '../_pkgs/affin
|
|
|
30
30
|
import { LinkStoreExtension } from '../_pkgs/affine-inline-link/store.js';
|
|
31
31
|
import { InlinePresetStoreExtension } from '../_pkgs/affine-inline-preset/store.js';
|
|
32
32
|
import { ReferenceStoreExtension } from '../_pkgs/affine-inline-reference/store.js';
|
|
33
|
-
import { isBlockEnabled, } from '../flags.js';
|
|
34
33
|
/**
|
|
35
|
-
* Store extensions
|
|
36
|
-
*
|
|
34
|
+
* Store extensions.
|
|
35
|
+
*
|
|
36
|
+
* Registered UNCONDITIONALLY: the store side (models, adapters, transformers)
|
|
37
|
+
* is what makes a document readable and round-trippable, and a flag must never
|
|
38
|
+
* gate that (see {@link LabreFlags} and `docs/adr/0009`). The `flags` parameter
|
|
39
|
+
* is kept for source compatibility with callers written against the previous
|
|
40
|
+
* contract, and is deliberately ignored.
|
|
37
41
|
*/
|
|
38
|
-
export function getInternalStoreExtensions(
|
|
39
|
-
const on = (block) => isBlockEnabled(flags, block);
|
|
42
|
+
export function getInternalStoreExtensions(_flags) {
|
|
40
43
|
return [
|
|
41
44
|
FoundationStoreExtension,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
45
|
+
AttachmentStoreExtension,
|
|
46
|
+
BookmarkStoreExtension,
|
|
47
|
+
CalloutStoreExtension,
|
|
48
|
+
CodeStoreExtension,
|
|
49
|
+
DataViewStoreExtension,
|
|
50
|
+
DatabaseStoreExtension,
|
|
51
|
+
DividerStoreExtension,
|
|
52
|
+
EdgelessTextStoreExtension,
|
|
53
|
+
EmbedStoreExtension,
|
|
54
|
+
EmbedDocStoreExtension,
|
|
55
|
+
FrameStoreExtension,
|
|
56
|
+
ImageStoreExtension,
|
|
57
|
+
LatexStoreExtension,
|
|
58
|
+
ListStoreExtension,
|
|
56
59
|
NoteStoreExtension,
|
|
57
60
|
ParagraphStoreExtension,
|
|
58
|
-
|
|
59
|
-
|
|
61
|
+
SurfaceRefStoreExtension,
|
|
62
|
+
TableStoreExtension,
|
|
60
63
|
SurfaceStoreExtension,
|
|
61
64
|
RootStoreExtension,
|
|
62
65
|
FootnoteStoreExtension,
|
|
63
66
|
LinkStoreExtension,
|
|
64
67
|
ReferenceStoreExtension,
|
|
65
|
-
|
|
68
|
+
InlineLatexStoreExtension,
|
|
66
69
|
InlinePresetStoreExtension,
|
|
67
|
-
|
|
70
|
+
BrushStoreExtension,
|
|
68
71
|
ShapeStoreExtension,
|
|
69
|
-
|
|
72
|
+
MindmapStoreExtension,
|
|
70
73
|
ConnectorStoreExtension,
|
|
71
74
|
GroupStoreExtension,
|
|
72
75
|
TextStoreExtension,
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { AdapterPanelViewExtension } from '../_pkgs/affine-fragment-adapter-panel/view.js';
|
|
2
|
-
import { type
|
|
2
|
+
import { type LabreFlags } from '../flags.js';
|
|
3
3
|
/**
|
|
4
|
-
* View extensions
|
|
5
|
-
*
|
|
4
|
+
* View extensions.
|
|
5
|
+
*
|
|
6
|
+
* Rendering is registered UNCONDITIONALLY; a flag removes only the matching
|
|
7
|
+
* TOOLING extension (senior button, its submenus and its creation shortcuts),
|
|
8
|
+
* so a framework switched off disappears from the toolbar without any element
|
|
9
|
+
* already drawn disappearing from the canvas. Omitted flags default to
|
|
10
|
+
* enabled. See {@link BlockFlags} and `docs/adr/0009`.
|
|
6
11
|
*/
|
|
7
|
-
export declare function getInternalViewExtensions(flags?:
|
|
12
|
+
export declare function getInternalViewExtensions(flags?: LabreFlags): (typeof AdapterPanelViewExtension)[];
|