@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
package/dist/extensions/view.js
CHANGED
|
@@ -15,7 +15,7 @@ import { ListViewExtension } from '../_pkgs/affine-block-list/view.js';
|
|
|
15
15
|
import { NoteViewExtension } from '../_pkgs/affine-block-note/view.js';
|
|
16
16
|
import { ParagraphViewExtension } from '../_pkgs/affine-block-paragraph/view.js';
|
|
17
17
|
import { RootViewExtension } from '../_pkgs/affine-block-root/view.js';
|
|
18
|
-
import { SurfaceViewExtension } from '../_pkgs/affine-block-surface/view.js';
|
|
18
|
+
import { AuditViewExtension, SurfaceViewExtension, } from '../_pkgs/affine-block-surface/view.js';
|
|
19
19
|
import { SurfaceRefViewExtension } from '../_pkgs/affine-block-surface-ref/view.js';
|
|
20
20
|
import { TableViewExtension } from '../_pkgs/affine-block-table/view.js';
|
|
21
21
|
import { FoundationViewExtension } from '../_pkgs/affine-foundation/view.js';
|
|
@@ -23,7 +23,7 @@ import { AdapterPanelViewExtension } from '../_pkgs/affine-fragment-adapter-pane
|
|
|
23
23
|
import { DocTitleViewExtension } from '../_pkgs/affine-fragment-doc-title/view.js';
|
|
24
24
|
import { FramePanelViewExtension } from '../_pkgs/affine-fragment-frame-panel/view.js';
|
|
25
25
|
import { OutlineViewExtension } from '../_pkgs/affine-fragment-outline/view.js';
|
|
26
|
-
import { BrushViewExtension } from '../_pkgs/affine-gfx-brush/view.js';
|
|
26
|
+
import { BrushRenderViewExtension, BrushViewExtension, } from '../_pkgs/affine-gfx-brush/view.js';
|
|
27
27
|
import { ConnectorViewExtension } from '../_pkgs/affine-gfx-connector/view.js';
|
|
28
28
|
import { GroupViewExtension } from '../_pkgs/affine-gfx-group/view.js';
|
|
29
29
|
import { LinkViewExtension as GfxLinkViewExtension } from '../_pkgs/affine-gfx-link/view.js';
|
|
@@ -56,25 +56,36 @@ import { ScrollAnchoringViewExtension } from '../_pkgs/affine-widget-scroll-anch
|
|
|
56
56
|
import { SlashMenuViewExtension } from '../_pkgs/affine-widget-slash-menu/view.js';
|
|
57
57
|
import { ToolbarViewExtension } from '../_pkgs/affine-widget-toolbar/view.js';
|
|
58
58
|
import { ViewportOverlayViewExtension } from '../_pkgs/affine-widget-viewport-overlay/view.js';
|
|
59
|
-
import { isBlockEnabled, } from '../flags.js';
|
|
59
|
+
import { isBlockEnabled, isCapabilityEnabled, } from '../flags.js';
|
|
60
|
+
import { CommandTelemetryViewExtension } from './command-telemetry.js';
|
|
60
61
|
/**
|
|
61
|
-
* View extensions
|
|
62
|
-
*
|
|
62
|
+
* View extensions.
|
|
63
|
+
*
|
|
64
|
+
* Rendering is registered UNCONDITIONALLY; a flag removes only the matching
|
|
65
|
+
* TOOLING extension (senior button, its submenus and its creation shortcuts),
|
|
66
|
+
* so a framework switched off disappears from the toolbar without any element
|
|
67
|
+
* already drawn disappearing from the canvas. Omitted flags default to
|
|
68
|
+
* enabled. See {@link BlockFlags} and `docs/adr/0009`.
|
|
63
69
|
*/
|
|
64
70
|
export function getInternalViewExtensions(flags) {
|
|
65
71
|
const on = (block) => isBlockEnabled(flags, block);
|
|
66
72
|
return [
|
|
67
73
|
FoundationViewExtension,
|
|
68
|
-
//
|
|
74
|
+
// The single command-telemetry emitter. Unconditional: a disabled
|
|
75
|
+
// framework simply never invokes a command (docs/adr/0008).
|
|
76
|
+
CommandTelemetryViewExtension,
|
|
77
|
+
// Gfx — each framework contributes an always-on `…Render…` extension
|
|
78
|
+
// (element view + renderer + interaction + contextual toolbar) and a
|
|
79
|
+
// flag-gated tooling extension (senior button + creation shortcuts).
|
|
69
80
|
PointerViewExtension,
|
|
70
81
|
GfxNoteViewExtension,
|
|
82
|
+
BrushRenderViewExtension,
|
|
71
83
|
...(on('brush') ? [BrushViewExtension] : []),
|
|
72
84
|
// Standalone text / add-file senior buttons, placed right after pen/eraser
|
|
73
85
|
// (registration order = senior-row order for the default order group).
|
|
74
86
|
...(on('edgeless-text') ? [TextToolViewExtension] : []),
|
|
75
87
|
...(on('edgeless-media') ? [MediaToolViewExtension] : []),
|
|
76
88
|
ShapeViewExtension,
|
|
77
|
-
// Mindmap rendering is always on; the flags gate only the senior buttons.
|
|
78
89
|
MindmapRenderViewExtension,
|
|
79
90
|
...(on('mindmap') ? [MindmapToolViewExtension] : []),
|
|
80
91
|
ConnectorViewExtension,
|
|
@@ -82,7 +93,6 @@ export function getInternalViewExtensions(flags) {
|
|
|
82
93
|
TextViewExtension,
|
|
83
94
|
...(on('template') ? [TemplateViewExtension] : []),
|
|
84
95
|
...(on('link') ? [GfxLinkViewExtension] : []),
|
|
85
|
-
// Core Domain rendering is always on; the flag gates only the senior button.
|
|
86
96
|
// Block
|
|
87
97
|
...(on('attachment') ? [AttachmentViewExtension] : []),
|
|
88
98
|
...(on('bookmark') ? [BookmarkViewExtension] : []),
|
|
@@ -103,6 +113,11 @@ export function getInternalViewExtensions(flags) {
|
|
|
103
113
|
...(on('surface-ref') ? [SurfaceRefViewExtension] : []),
|
|
104
114
|
...(on('table') ? [TableViewExtension] : []),
|
|
105
115
|
SurfaceViewExtension,
|
|
116
|
+
// The AI audit seam (PF14.1). A CAPABILITY, not a block: `ai-audit` gates
|
|
117
|
+
// the `map.audit` command and nothing else, and nothing it touches is
|
|
118
|
+
// persisted, so switching it off cannot lose anything. See
|
|
119
|
+
// `OPTIONAL_CAPABILITIES` for why it is not an `OPTIONAL_BLOCKS` entry.
|
|
120
|
+
...(isCapabilityEnabled(flags, 'ai-audit') ? [AuditViewExtension] : []),
|
|
106
121
|
RootViewExtension,
|
|
107
122
|
// Inline
|
|
108
123
|
InlineCommentViewExtension,
|
package/dist/flags.d.ts
CHANGED
|
@@ -1,30 +1,107 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Feature flags for
|
|
2
|
+
* Feature flags for editor TOOLING.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* assembly time, through `getAffineSchemas`, `getInternalStoreExtensions` and
|
|
6
|
-
* `getInternalViewExtensions`. Blocks absent from this list form the
|
|
7
|
-
* structural core of the editor (root, surface, note, paragraph, base gfx
|
|
8
|
-
* tools, inline presets, widgets) and are always registered.
|
|
4
|
+
* ## Contract (reversed in PF4 — see `docs/adr/0009`)
|
|
9
5
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
6
|
+
* A flag NEVER decides whether a document can be read. Block schemas
|
|
7
|
+
* (`getAffineSchemas`) and store extensions (`getInternalStoreExtensions`) are
|
|
8
|
+
* registered unconditionally, so **every document opens, round-trips and saves
|
|
9
|
+
* identically whatever the flags say**. Turning a flag off never deletes,
|
|
10
|
+
* strips or downgrades stored content, and never fails schema validation on
|
|
11
|
+
* load; turning it back on restores the tooling with the content untouched.
|
|
12
|
+
*
|
|
13
|
+
* What a flag gates is the **tooling** that lets a user CREATE and reach that
|
|
14
|
+
* content:
|
|
15
|
+
* - the senior toolbar button (edgeless) and its submenus,
|
|
16
|
+
* - the keyboard shortcuts it owns (see `getShortcutManifest`, which filters on
|
|
17
|
+
* {@link ShortcutDescriptor.owner}),
|
|
18
|
+
* - future side-panel / command-palette entries and validation rules.
|
|
19
|
+
*
|
|
20
|
+
* Business framework modules (wardley, edgy, bpmn, cynefin-estuarine, brush,
|
|
21
|
+
* mindmap, ddd-*) therefore ship their view layer as TWO extensions: an
|
|
22
|
+
* always-registered `…RenderViewExtension` (element view, renderer,
|
|
23
|
+
* interaction, contextual toolbar of an already-placed element) and a
|
|
24
|
+
* flag-gated `…ViewExtension` (senior button + creation shortcuts). Elements
|
|
25
|
+
* already drawn on a canvas keep painting, stay selectable and stay editable
|
|
26
|
+
* when their framework is switched off — only the way to add new ones goes
|
|
27
|
+
* away. The consequence is accepted: the bundle always carries every
|
|
28
|
+
* framework's renderer, so a framework can no longer ship fully "dark".
|
|
29
|
+
*
|
|
30
|
+
* Flags default to enabled: `{ mindmap: false }` hides the Mind Map tooling, an
|
|
31
|
+
* empty object (or no flags at all) enables everything.
|
|
32
|
+
*
|
|
33
|
+
* Note for hosts consuming the PUBLISHED bundles: `scripts/build-bundles.mjs`
|
|
34
|
+
* strips the four business-framework flags (`wardley`, `edgy`, `bpmn`,
|
|
35
|
+
* `cynefin-estuarine`) from `@formicoidea/labre-core`'s copy of this file —
|
|
36
|
+
* they exist only when the matching `@formicoidea/labre-framework-*` bundle is
|
|
37
|
+
* installed, and the host applies them through that bundle's descriptor. The
|
|
38
|
+
* examples here therefore use a flag that always ships with core.
|
|
14
39
|
*
|
|
15
40
|
* Caveats:
|
|
16
|
-
* -
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
41
|
+
* - The reversal covers **surface elements** (everything living in the surface
|
|
42
|
+
* `elements` map: brush, mindmap, wardley, edgy, cynefin, estuarine, bpmn,
|
|
43
|
+
* coreDomain). BLOCKS (database, code, image, latex, frame, edgeless-text, …)
|
|
44
|
+
* still have their whole view extension gated, because their renderer and
|
|
45
|
+
* their tooling live in the same extension. Their data is safe — schema and
|
|
46
|
+
* store side are unconditional, so the document loads, round-trips and
|
|
47
|
+
* re-renders untouched once the flag is back on — but a disabled block
|
|
48
|
+
* currently renders as nothing until its view extension is split the way the
|
|
49
|
+
* frameworks' were. See the "Consequences" section of `docs/adr/0009`.
|
|
50
|
+
* - `latex` covers both the latex block and inline latex.
|
|
51
|
+
* - `frame` also covers the frame panel fragment.
|
|
52
|
+
* - `ddd-templates` covers all four DDD Templates-panel categories, so the
|
|
53
|
+
* catalogue survives disabling individual DDD senior buttons.
|
|
25
54
|
*/
|
|
26
|
-
export declare const OPTIONAL_BLOCKS: readonly ["attachment", "bookmark", "callout", "code", "data-view", "database", "divider", "edgeless-text", "embed", "embed-doc", "frame", "image", "latex", "list", "surface-ref", "table", "brush", "mindmap", "edgeless-
|
|
55
|
+
export declare const OPTIONAL_BLOCKS: readonly ["attachment", "bookmark", "callout", "code", "data-view", "database", "divider", "edgeless-text", "embed", "embed-doc", "frame", "image", "latex", "list", "surface-ref", "table", "brush", "mindmap", "edgeless-media", "template", "link"];
|
|
27
56
|
export type OptionalBlock = (typeof OPTIONAL_BLOCKS)[number];
|
|
28
|
-
/** Map of optional block -> enabled. Missing keys default to enabled. */
|
|
57
|
+
/** Map of optional block -> tooling enabled. Missing keys default to enabled. */
|
|
29
58
|
export type BlockFlags = Partial<Record<OptionalBlock, boolean>>;
|
|
59
|
+
/**
|
|
60
|
+
* Whether the tooling of `block` is enabled. Never consult this to decide
|
|
61
|
+
* whether content can be read or rendered — see the contract above.
|
|
62
|
+
*/
|
|
30
63
|
export declare function isBlockEnabled(flags: BlockFlags | undefined, block: OptionalBlock): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Editor CAPABILITIES — a second switch axis, deliberately not a member of
|
|
66
|
+
* {@link OPTIONAL_BLOCKS}.
|
|
67
|
+
*
|
|
68
|
+
* ## Why a separate list (PF14.1 decision)
|
|
69
|
+
*
|
|
70
|
+
* `OPTIONAL_BLOCKS` answers one question: "does this BLOCK or FRAMEWORK exist
|
|
71
|
+
* for this user". Every entry names a thing a document can contain, which is
|
|
72
|
+
* what makes the contract above meaningful — "the schema is registered
|
|
73
|
+
* unconditionally, so the content is safe" is a sentence about content.
|
|
74
|
+
*
|
|
75
|
+
* `ai-audit` names no block, no element and no schema. It is a capability of
|
|
76
|
+
* the editor: whether this build can ask an assistant for an opinion. Filing it
|
|
77
|
+
* under `OPTIONAL_BLOCKS` would have cost nothing at the keyboard and a lot
|
|
78
|
+
* afterwards — `FrameworkId` is asserted `satisfies readonly OptionalBlock[]`,
|
|
79
|
+
* `scripts/build-bundles.mjs` reads the list as the set of things a bundle can
|
|
80
|
+
* carry, and the flags README would have had to explain why one of its entries
|
|
81
|
+
* has no schema to protect. A list whose members do not answer the same
|
|
82
|
+
* question is a list that has to be filtered at every use.
|
|
83
|
+
*
|
|
84
|
+
* ## Same contract, in full
|
|
85
|
+
*
|
|
86
|
+
* Everything the flag contract promises holds here, and holds trivially:
|
|
87
|
+
* missing key = enabled; switching it off removes TOOLING only; and there is no
|
|
88
|
+
* data to lose, because the audit seam persists nothing at all — criteria are
|
|
89
|
+
* code, findings are session state in `ValidationManager.auditFindings$`, and
|
|
90
|
+
* neither ever reaches a `Y.Doc`. Off, the command is not registered: it
|
|
91
|
+
* disappears from the registry, both manifests and the keymap together. Back
|
|
92
|
+
* on, it is there again, with the document untouched in between.
|
|
93
|
+
*
|
|
94
|
+
* Hosts pass ONE object ({@link LabreFlags}): the two key spaces are disjoint,
|
|
95
|
+
* so nothing about the wiring changes.
|
|
96
|
+
*/
|
|
97
|
+
export declare const OPTIONAL_CAPABILITIES: readonly ["ai-audit"];
|
|
98
|
+
export type OptionalCapability = (typeof OPTIONAL_CAPABILITIES)[number];
|
|
99
|
+
/** Map of capability -> enabled. Missing keys default to enabled. */
|
|
100
|
+
export type CapabilityFlags = Partial<Record<OptionalCapability, boolean>>;
|
|
101
|
+
/**
|
|
102
|
+
* The one object a host passes. Two disjoint key spaces, one bag — a host that
|
|
103
|
+
* only ever spoke `BlockFlags` keeps compiling and keeps behaving identically.
|
|
104
|
+
*/
|
|
105
|
+
export type LabreFlags = BlockFlags & CapabilityFlags;
|
|
106
|
+
/** Whether `capability` is enabled. Same defaulting rule as a block flag. */
|
|
107
|
+
export declare function isCapabilityEnabled(flags: CapabilityFlags | undefined, capability: OptionalCapability): boolean;
|
package/dist/flags.js
CHANGED
|
@@ -1,27 +1,56 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Feature flags for
|
|
2
|
+
* Feature flags for editor TOOLING.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* assembly time, through `getAffineSchemas`, `getInternalStoreExtensions` and
|
|
6
|
-
* `getInternalViewExtensions`. Blocks absent from this list form the
|
|
7
|
-
* structural core of the editor (root, surface, note, paragraph, base gfx
|
|
8
|
-
* tools, inline presets, widgets) and are always registered.
|
|
4
|
+
* ## Contract (reversed in PF4 — see `docs/adr/0009`)
|
|
9
5
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
6
|
+
* A flag NEVER decides whether a document can be read. Block schemas
|
|
7
|
+
* (`getAffineSchemas`) and store extensions (`getInternalStoreExtensions`) are
|
|
8
|
+
* registered unconditionally, so **every document opens, round-trips and saves
|
|
9
|
+
* identically whatever the flags say**. Turning a flag off never deletes,
|
|
10
|
+
* strips or downgrades stored content, and never fails schema validation on
|
|
11
|
+
* load; turning it back on restores the tooling with the content untouched.
|
|
12
|
+
*
|
|
13
|
+
* What a flag gates is the **tooling** that lets a user CREATE and reach that
|
|
14
|
+
* content:
|
|
15
|
+
* - the senior toolbar button (edgeless) and its submenus,
|
|
16
|
+
* - the keyboard shortcuts it owns (see `getShortcutManifest`, which filters on
|
|
17
|
+
* {@link ShortcutDescriptor.owner}),
|
|
18
|
+
* - future side-panel / command-palette entries and validation rules.
|
|
19
|
+
*
|
|
20
|
+
* Business framework modules (wardley, edgy, bpmn, cynefin-estuarine, brush,
|
|
21
|
+
* mindmap, ddd-*) therefore ship their view layer as TWO extensions: an
|
|
22
|
+
* always-registered `…RenderViewExtension` (element view, renderer,
|
|
23
|
+
* interaction, contextual toolbar of an already-placed element) and a
|
|
24
|
+
* flag-gated `…ViewExtension` (senior button + creation shortcuts). Elements
|
|
25
|
+
* already drawn on a canvas keep painting, stay selectable and stay editable
|
|
26
|
+
* when their framework is switched off — only the way to add new ones goes
|
|
27
|
+
* away. The consequence is accepted: the bundle always carries every
|
|
28
|
+
* framework's renderer, so a framework can no longer ship fully "dark".
|
|
29
|
+
*
|
|
30
|
+
* Flags default to enabled: `{ mindmap: false }` hides the Mind Map tooling, an
|
|
31
|
+
* empty object (or no flags at all) enables everything.
|
|
32
|
+
*
|
|
33
|
+
* Note for hosts consuming the PUBLISHED bundles: `scripts/build-bundles.mjs`
|
|
34
|
+
* strips the four business-framework flags (`wardley`, `edgy`, `bpmn`,
|
|
35
|
+
* `cynefin-estuarine`) from `@formicoidea/labre-core`'s copy of this file —
|
|
36
|
+
* they exist only when the matching `@formicoidea/labre-framework-*` bundle is
|
|
37
|
+
* installed, and the host applies them through that bundle's descriptor. The
|
|
38
|
+
* examples here therefore use a flag that always ships with core.
|
|
14
39
|
*
|
|
15
40
|
* Caveats:
|
|
16
|
-
* -
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
41
|
+
* - The reversal covers **surface elements** (everything living in the surface
|
|
42
|
+
* `elements` map: brush, mindmap, wardley, edgy, cynefin, estuarine, bpmn,
|
|
43
|
+
* coreDomain). BLOCKS (database, code, image, latex, frame, edgeless-text, …)
|
|
44
|
+
* still have their whole view extension gated, because their renderer and
|
|
45
|
+
* their tooling live in the same extension. Their data is safe — schema and
|
|
46
|
+
* store side are unconditional, so the document loads, round-trips and
|
|
47
|
+
* re-renders untouched once the flag is back on — but a disabled block
|
|
48
|
+
* currently renders as nothing until its view extension is split the way the
|
|
49
|
+
* frameworks' were. See the "Consequences" section of `docs/adr/0009`.
|
|
50
|
+
* - `latex` covers both the latex block and inline latex.
|
|
51
|
+
* - `frame` also covers the frame panel fragment.
|
|
52
|
+
* - `ddd-templates` covers all four DDD Templates-panel categories, so the
|
|
53
|
+
* catalogue survives disabling individual DDD senior buttons.
|
|
25
54
|
*/
|
|
26
55
|
export const OPTIONAL_BLOCKS = [
|
|
27
56
|
'attachment',
|
|
@@ -43,13 +72,65 @@ export const OPTIONAL_BLOCKS = [
|
|
|
43
72
|
// gfx modules
|
|
44
73
|
'brush',
|
|
45
74
|
'mindmap',
|
|
46
|
-
//
|
|
47
|
-
// senior submenu (each individually toggleable).
|
|
48
|
-
'edgeless-text'
|
|
75
|
+
// Media / template / link tools, promoted out of the former "Others"
|
|
76
|
+
// senior submenu (each individually toggleable). The edgeless-text tool is
|
|
77
|
+
// gated by the 'edgeless-text' block flag above.
|
|
49
78
|
'edgeless-media',
|
|
50
79
|
'template',
|
|
51
80
|
'link',
|
|
52
81
|
];
|
|
82
|
+
/**
|
|
83
|
+
* Whether the tooling of `block` is enabled. Never consult this to decide
|
|
84
|
+
* whether content can be read or rendered — see the contract above.
|
|
85
|
+
*/
|
|
53
86
|
export function isBlockEnabled(flags, block) {
|
|
54
87
|
return flags?.[block] !== false;
|
|
55
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Editor CAPABILITIES — a second switch axis, deliberately not a member of
|
|
91
|
+
* {@link OPTIONAL_BLOCKS}.
|
|
92
|
+
*
|
|
93
|
+
* ## Why a separate list (PF14.1 decision)
|
|
94
|
+
*
|
|
95
|
+
* `OPTIONAL_BLOCKS` answers one question: "does this BLOCK or FRAMEWORK exist
|
|
96
|
+
* for this user". Every entry names a thing a document can contain, which is
|
|
97
|
+
* what makes the contract above meaningful — "the schema is registered
|
|
98
|
+
* unconditionally, so the content is safe" is a sentence about content.
|
|
99
|
+
*
|
|
100
|
+
* `ai-audit` names no block, no element and no schema. It is a capability of
|
|
101
|
+
* the editor: whether this build can ask an assistant for an opinion. Filing it
|
|
102
|
+
* under `OPTIONAL_BLOCKS` would have cost nothing at the keyboard and a lot
|
|
103
|
+
* afterwards — `FrameworkId` is asserted `satisfies readonly OptionalBlock[]`,
|
|
104
|
+
* `scripts/build-bundles.mjs` reads the list as the set of things a bundle can
|
|
105
|
+
* carry, and the flags README would have had to explain why one of its entries
|
|
106
|
+
* has no schema to protect. A list whose members do not answer the same
|
|
107
|
+
* question is a list that has to be filtered at every use.
|
|
108
|
+
*
|
|
109
|
+
* ## Same contract, in full
|
|
110
|
+
*
|
|
111
|
+
* Everything the flag contract promises holds here, and holds trivially:
|
|
112
|
+
* missing key = enabled; switching it off removes TOOLING only; and there is no
|
|
113
|
+
* data to lose, because the audit seam persists nothing at all — criteria are
|
|
114
|
+
* code, findings are session state in `ValidationManager.auditFindings$`, and
|
|
115
|
+
* neither ever reaches a `Y.Doc`. Off, the command is not registered: it
|
|
116
|
+
* disappears from the registry, both manifests and the keymap together. Back
|
|
117
|
+
* on, it is there again, with the document untouched in between.
|
|
118
|
+
*
|
|
119
|
+
* Hosts pass ONE object ({@link LabreFlags}): the two key spaces are disjoint,
|
|
120
|
+
* so nothing about the wiring changes.
|
|
121
|
+
*/
|
|
122
|
+
export const OPTIONAL_CAPABILITIES = [
|
|
123
|
+
/**
|
|
124
|
+
* The AI audit seam (PF14.1): the `map.audit` command on the `'agent'`
|
|
125
|
+
* surface. Independent of whether an `AuditProvider` is actually registered —
|
|
126
|
+
* this says whether the editor OFFERS the capability, the provider says
|
|
127
|
+
* whether anything can answer. Both are needed for an audit to run, and the
|
|
128
|
+
* degraded paths differ: switched off, the command does not exist; wired off,
|
|
129
|
+
* it exists and refuses cleanly.
|
|
130
|
+
*/
|
|
131
|
+
'ai-audit',
|
|
132
|
+
];
|
|
133
|
+
/** Whether `capability` is enabled. Same defaulting rule as a block flag. */
|
|
134
|
+
export function isCapabilityEnabled(flags, capability) {
|
|
135
|
+
return flags?.[capability] !== false;
|
|
136
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { FrameworkDescriptor, FrameworkId } from './_pkgs/std/index.js';
|
|
2
|
+
import type { OptionalBlock } from './flags.js';
|
|
3
|
+
/**
|
|
4
|
+
* THE per-framework identity — the thing that was spelled five times across
|
|
5
|
+
* the repo (flag key, senior-tool id, `ShortcutDescriptor.owner`, telemetry
|
|
6
|
+
* union member, `scripts/build-bundles.mjs`) and had already drifted.
|
|
7
|
+
*
|
|
8
|
+
* This module is DATA ONLY: plain object literals and type-only imports, no
|
|
9
|
+
* lit, no runtime dependency. That is what lets `scripts/build-bundles.mjs`
|
|
10
|
+
* read it (through a type-strip transform) instead of hand-maintaining its own
|
|
11
|
+
* `FRAMEWORKS` array. Keep it that way. See `docs/adr/0008` § Packaging.
|
|
12
|
+
*
|
|
13
|
+
* `telemetryKey` and `telemetrySegment` hold the HISTORICAL PostHog values.
|
|
14
|
+
* They are the reason the identity unification is code-side only and existing
|
|
15
|
+
* dashboards keep working untouched — never "tidy" them.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Every `FrameworkId` is a real tooling flag key — the ADR's
|
|
19
|
+
* `satisfies readonly OptionalBlock[]`, expressed at the type level so this
|
|
20
|
+
* module keeps NO runtime import (`FRAMEWORK_IDS` lives in `@labre/std`, where
|
|
21
|
+
* `CommandDescriptor.owner` needs it and `OptionalBlock` cannot reach).
|
|
22
|
+
*/
|
|
23
|
+
type AssertFlagKey<_T extends OptionalBlock> = true;
|
|
24
|
+
export type FrameworkIdsAreFlags = AssertFlagKey<FrameworkId>;
|
|
25
|
+
export declare const FRAMEWORK_DESCRIPTORS: FrameworkDescriptor[];
|
|
26
|
+
/**
|
|
27
|
+
* Bundles that are NOT frameworks: no senior button, no commands, no identity
|
|
28
|
+
* to unify — just packaging. `ddd-aggregate` ships the four DDD Templates-panel
|
|
29
|
+
* categories, which is why its flag (`ddd-templates`) is not a `FrameworkId`.
|
|
30
|
+
* Kept separate on purpose: folding it into {@link FRAMEWORK_DESCRIPTORS} would
|
|
31
|
+
* mean inventing a framework identity for something that has none.
|
|
32
|
+
*/
|
|
33
|
+
export declare const AUXILIARY_BUNDLES: {
|
|
34
|
+
bundle: string;
|
|
35
|
+
label: string;
|
|
36
|
+
info: string;
|
|
37
|
+
pkg: string;
|
|
38
|
+
dir: string;
|
|
39
|
+
extensions: {
|
|
40
|
+
flag: string;
|
|
41
|
+
viewExtension: string;
|
|
42
|
+
}[];
|
|
43
|
+
}[];
|
|
44
|
+
export declare const frameworkDescriptor: (id: FrameworkId) => FrameworkDescriptor | undefined;
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
export const FRAMEWORK_DESCRIPTORS = [
|
|
2
|
+
{
|
|
3
|
+
id: 'wardley',
|
|
4
|
+
labelKey: 'com.labre.framework.wardley',
|
|
5
|
+
iconKey: 'wardley.toolbar',
|
|
6
|
+
// The only allocated chord prefix: `w` was free against
|
|
7
|
+
// RESERVED_EDGELESS_KEYS. The other six frameworks ship no chord, so they
|
|
8
|
+
// allocate no letter — a prefix with no chord behind it is dead data, and
|
|
9
|
+
// the uniqueness test guards the day one of them earns its first.
|
|
10
|
+
chordPrefix: 'w',
|
|
11
|
+
telemetryKey: 'wardley',
|
|
12
|
+
telemetrySegment: 'wardley toolbox',
|
|
13
|
+
bundle: 'framework-wardley',
|
|
14
|
+
info: 'wardleyFramework',
|
|
15
|
+
pkg: '@labre/affine-gfx-wardley',
|
|
16
|
+
dir: 'affine/gfx/wardley',
|
|
17
|
+
extensions: [
|
|
18
|
+
// always-on: placed Wardley maps must paint even with the button off
|
|
19
|
+
{ viewExtension: 'WardleyRenderViewExtension' },
|
|
20
|
+
{ flag: 'wardley', viewExtension: 'WardleyViewExtension' },
|
|
21
|
+
],
|
|
22
|
+
// The framework contributes command/shortcut-manifest entries: stripped
|
|
23
|
+
// from core's shortcuts.ts; the host composes with the bundle's export.
|
|
24
|
+
shortcuts: true,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: 'edgy',
|
|
28
|
+
labelKey: 'com.labre.framework.edgy',
|
|
29
|
+
iconKey: 'edgy.toolbar',
|
|
30
|
+
telemetryKey: 'edgy',
|
|
31
|
+
telemetrySegment: 'edgy toolbox',
|
|
32
|
+
bundle: 'framework-edgy',
|
|
33
|
+
info: 'edgyFramework',
|
|
34
|
+
pkg: '@labre/affine-gfx-edgy',
|
|
35
|
+
dir: 'affine/gfx/edgy',
|
|
36
|
+
extensions: [
|
|
37
|
+
// always-on: placed EDGY boards must paint even with the button off
|
|
38
|
+
{ viewExtension: 'EdgyRenderViewExtension' },
|
|
39
|
+
{ flag: 'edgy', viewExtension: 'EdgyViewExtension' },
|
|
40
|
+
],
|
|
41
|
+
shortcuts: true,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: 'cynefin-estuarine',
|
|
45
|
+
labelKey: 'com.labre.framework.cynefin-estuarine',
|
|
46
|
+
iconKey: 'cynefin.toolbar',
|
|
47
|
+
// Historical PostHog value; the flag and the owner say
|
|
48
|
+
// `cynefin-estuarine`, the wire says `cynefin`.
|
|
49
|
+
telemetryKey: 'cynefin',
|
|
50
|
+
telemetrySegment: 'cynefin toolbox',
|
|
51
|
+
bundle: 'framework-cynefin',
|
|
52
|
+
info: 'cynefinFramework',
|
|
53
|
+
pkg: '@labre/affine-gfx-cynefin-estuarine',
|
|
54
|
+
dir: 'affine/gfx/cynefin-estuarine',
|
|
55
|
+
extensions: [
|
|
56
|
+
// always-on: placed Cynefin / Estuarine frames must paint even with the
|
|
57
|
+
// button off
|
|
58
|
+
{ viewExtension: 'CynefinEstuarineRenderViewExtension' },
|
|
59
|
+
{
|
|
60
|
+
flag: 'cynefin-estuarine',
|
|
61
|
+
viewExtension: 'CynefinEstuarineViewExtension',
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
shortcuts: true,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
id: 'bpmn',
|
|
68
|
+
labelKey: 'com.labre.framework.bpmn',
|
|
69
|
+
iconKey: 'bpmn.toolbar',
|
|
70
|
+
telemetryKey: 'bpmn',
|
|
71
|
+
telemetrySegment: 'bpmn toolbox',
|
|
72
|
+
bundle: 'framework-bpmn',
|
|
73
|
+
info: 'bpmnFramework',
|
|
74
|
+
pkg: '@labre/affine-gfx-bpmn',
|
|
75
|
+
dir: 'affine/gfx/bpmn',
|
|
76
|
+
extensions: [
|
|
77
|
+
// always-on: placed BPMN pools must paint even with the button off
|
|
78
|
+
{ viewExtension: 'BpmnRenderViewExtension' },
|
|
79
|
+
{ flag: 'bpmn', viewExtension: 'BpmnViewExtension' },
|
|
80
|
+
],
|
|
81
|
+
shortcuts: true,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
id: 'ddd-event-storming',
|
|
85
|
+
labelKey: 'com.labre.framework.ddd-event-storming',
|
|
86
|
+
iconKey: 'ddd-event-storming.toolbar',
|
|
87
|
+
telemetryKey: 'event-storming',
|
|
88
|
+
telemetrySegment: 'ddd toolbox',
|
|
89
|
+
bundle: 'framework-ddd-event-storming',
|
|
90
|
+
info: 'dddEventStormingFramework',
|
|
91
|
+
pkg: '@labre/affine-gfx-ddd-event-storming',
|
|
92
|
+
dir: 'affine/gfx/ddd-event-storming',
|
|
93
|
+
extensions: [
|
|
94
|
+
{
|
|
95
|
+
flag: 'ddd-event-storming',
|
|
96
|
+
viewExtension: 'DddEventStormingViewExtension',
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
shortcuts: true,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: 'ddd-core-domain',
|
|
103
|
+
labelKey: 'com.labre.framework.ddd-core-domain',
|
|
104
|
+
iconKey: 'ddd-core-domain.toolbar',
|
|
105
|
+
telemetryKey: 'core-domain',
|
|
106
|
+
telemetrySegment: 'ddd toolbox',
|
|
107
|
+
bundle: 'framework-ddd-core-domain',
|
|
108
|
+
info: 'dddCoreDomainFramework',
|
|
109
|
+
pkg: '@labre/affine-gfx-ddd-core-domain',
|
|
110
|
+
dir: 'affine/gfx/ddd-core-domain',
|
|
111
|
+
extensions: [
|
|
112
|
+
// always-on: placed Core Domain charts must paint even with the button off
|
|
113
|
+
{ viewExtension: 'DddCoreDomainRenderViewExtension' },
|
|
114
|
+
{ flag: 'ddd-core-domain', viewExtension: 'DddCoreDomainViewExtension' },
|
|
115
|
+
],
|
|
116
|
+
shortcuts: true,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
id: 'ddd-context-map',
|
|
120
|
+
labelKey: 'com.labre.framework.ddd-context-map',
|
|
121
|
+
iconKey: 'ddd-context-map.toolbar',
|
|
122
|
+
telemetryKey: 'context-map',
|
|
123
|
+
telemetrySegment: 'ddd toolbox',
|
|
124
|
+
bundle: 'framework-ddd-context-map',
|
|
125
|
+
info: 'dddContextMapFramework',
|
|
126
|
+
pkg: '@labre/affine-gfx-ddd-context-map',
|
|
127
|
+
dir: 'affine/gfx/ddd-context-map',
|
|
128
|
+
extensions: [
|
|
129
|
+
{ flag: 'ddd-context-map', viewExtension: 'DddContextMapViewExtension' },
|
|
130
|
+
],
|
|
131
|
+
shortcuts: true,
|
|
132
|
+
},
|
|
133
|
+
];
|
|
134
|
+
/**
|
|
135
|
+
* Bundles that are NOT frameworks: no senior button, no commands, no identity
|
|
136
|
+
* to unify — just packaging. `ddd-aggregate` ships the four DDD Templates-panel
|
|
137
|
+
* categories, which is why its flag (`ddd-templates`) is not a `FrameworkId`.
|
|
138
|
+
* Kept separate on purpose: folding it into {@link FRAMEWORK_DESCRIPTORS} would
|
|
139
|
+
* mean inventing a framework identity for something that has none.
|
|
140
|
+
*/
|
|
141
|
+
export const AUXILIARY_BUNDLES = [
|
|
142
|
+
{
|
|
143
|
+
bundle: 'framework-ddd-aggregate',
|
|
144
|
+
label: 'ddd-aggregate',
|
|
145
|
+
info: 'dddAggregateFramework',
|
|
146
|
+
pkg: '@labre/affine-gfx-ddd-aggregate',
|
|
147
|
+
dir: 'affine/gfx/ddd-aggregate',
|
|
148
|
+
extensions: [
|
|
149
|
+
{ flag: 'ddd-templates', viewExtension: 'DddTemplatesViewExtension' },
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
];
|
|
153
|
+
const BY_ID = new Map(FRAMEWORK_DESCRIPTORS.map(d => [d.id, d]));
|
|
154
|
+
export const frameworkDescriptor = (id) => BY_ID.get(id);
|
package/dist/schemas.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import type { BlockSchema } from './_pkgs/store/index.js';
|
|
2
2
|
import type { z } from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import type { LabreFlags } from './flags.js';
|
|
4
4
|
type AffineBlockSchema = z.infer<typeof BlockSchema>;
|
|
5
5
|
/**
|
|
6
|
-
* First party block models built for affine
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* First party block models built for affine.
|
|
7
|
+
*
|
|
8
|
+
* Schemas are registered UNCONDITIONALLY: a flag gates tooling, never the
|
|
9
|
+
* ability to read a document (see {@link LabreFlags} and `docs/adr/0009`). The
|
|
10
|
+
* `flags` parameter is kept for source compatibility with callers written
|
|
11
|
+
* against the previous contract, and is deliberately ignored.
|
|
9
12
|
*/
|
|
10
|
-
export declare function getAffineSchemas(
|
|
13
|
+
export declare function getAffineSchemas(_flags?: LabreFlags): AffineBlockSchema[];
|
|
11
14
|
/** Built-in first party block models built for affine */
|
|
12
15
|
export declare const AffineSchemas: AffineBlockSchema[];
|
|
13
16
|
export {};
|