@formicoidea/labre-core 0.40.0 → 0.42.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/LICENSE +384 -0
- package/dist/_pkgs/affine-block-attachment/attachment-block.js +7 -2
- package/dist/_pkgs/affine-block-attachment/components/rename-model.js +3 -2
- package/dist/_pkgs/affine-block-attachment/configs/slash-menu.js +7 -0
- package/dist/_pkgs/affine-block-attachment/configs/toolbar.js +11 -3
- package/dist/_pkgs/affine-block-attachment/configs/tooltips.js +4 -4
- package/dist/_pkgs/affine-block-attachment/translations.d.ts +49 -0
- package/dist/_pkgs/affine-block-attachment/translations.js +98 -0
- package/dist/_pkgs/affine-block-attachment/utils.js +9 -6
- package/dist/_pkgs/affine-block-bookmark/bookmark-block.js +2 -2
- package/dist/_pkgs/affine-block-bookmark/components/bookmark-card.js +13 -6
- package/dist/_pkgs/affine-block-bookmark/configs/slash-menu.js +6 -1
- package/dist/_pkgs/affine-block-bookmark/configs/toolbar.js +9 -1
- package/dist/_pkgs/affine-block-bookmark/configs/tooltips.js +2 -2
- package/dist/_pkgs/affine-block-bookmark/translations.d.ts +26 -0
- package/dist/_pkgs/affine-block-bookmark/translations.js +55 -0
- package/dist/_pkgs/affine-block-callout/configs/slash-menu.js +4 -0
- package/dist/_pkgs/affine-block-callout/configs/tooltips.js +2 -2
- package/dist/_pkgs/affine-block-callout/translations.d.ts +16 -0
- package/dist/_pkgs/affine-block-callout/translations.js +24 -0
- package/dist/_pkgs/affine-block-code/code-block.js +6 -3
- package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.js +4 -2
- package/dist/_pkgs/affine-block-code/code-toolbar/components/lang-button.js +3 -2
- package/dist/_pkgs/affine-block-code/code-toolbar/components/preview-button.js +4 -3
- package/dist/_pkgs/affine-block-code/code-toolbar/config.js +116 -72
- package/dist/_pkgs/affine-block-code/translations.d.ts +30 -0
- package/dist/_pkgs/affine-block-code/translations.js +84 -0
- package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.js +9 -3
- package/dist/_pkgs/affine-block-embed/common/render-linked-doc.js +7 -6
- package/dist/_pkgs/affine-block-embed/configs/toolbar.js +11 -2
- package/dist/_pkgs/affine-block-embed/embed-figma-block/embed-figma-block.js +2 -1
- package/dist/_pkgs/affine-block-embed/embed-github-block/embed-github-block.js +2 -1
- package/dist/_pkgs/affine-block-embed/embed-html-block/components/fullscreen-toolbar.js +4 -3
- package/dist/_pkgs/affine-block-embed/embed-html-block/configs/toolbar.js +5 -1
- package/dist/_pkgs/affine-block-embed/embed-html-block/configs/tooltips.js +14 -14
- package/dist/_pkgs/affine-block-embed/embed-html-block/embed-html-block.js +7 -1
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-error-card.js +11 -4
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-idle-card.d.ts +2 -0
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-idle-card.js +13 -3
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-edit-popup.js +4 -2
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-input-base.js +8 -5
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-link-input-popup.js +21 -5
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-loading-card.js +4 -1
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/slash-menu/slash-menu.js +4 -0
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.d.ts +2 -0
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.js +6 -1
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/consts.d.ts +2 -0
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/consts.js +5 -0
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/embed-iframe-block.d.ts +1 -0
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/embed-iframe-block.js +33 -9
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/utils.d.ts +8 -0
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/utils.js +19 -0
- package/dist/_pkgs/affine-block-embed/embed-loom-block/embed-loom-block.js +2 -1
- package/dist/_pkgs/affine-block-embed/embed-youtube-block/embed-youtube-block.js +2 -1
- package/dist/_pkgs/affine-block-embed/translations.d.ts +46 -0
- package/dist/_pkgs/affine-block-embed/translations.js +114 -0
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/slash-menu.js +7 -0
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/toolbar.js +29 -12
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/tooltips.js +4 -4
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/embed-linked-doc-block.js +10 -4
- package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/components/embed-synced-doc-card.js +8 -4
- package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/configs/toolbar.js +28 -13
- package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-edgeless-synced-doc-block.js +3 -2
- package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.js +3 -2
- package/dist/_pkgs/affine-block-embed-doc/translations.d.ts +40 -0
- package/dist/_pkgs/affine-block-embed-doc/translations.js +85 -0
- package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-dense-menu.js +29 -22
- package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-menu.js +5 -1
- package/dist/_pkgs/affine-block-frame/edgeless-toolbar/frame-tool-button.js +2 -1
- package/dist/_pkgs/affine-block-frame/edgeless-toolbar/presentation-toolbar.js +12 -9
- package/dist/_pkgs/affine-block-frame/frame-manager.js +8 -2
- package/dist/_pkgs/affine-block-frame/frame-tool.js +7 -2
- package/dist/_pkgs/affine-block-frame/frame-toolbar.js +18 -7
- package/dist/_pkgs/affine-block-frame/index.d.ts +1 -0
- package/dist/_pkgs/affine-block-frame/index.js +1 -0
- package/dist/_pkgs/affine-block-frame/present/frame-order-button.js +5 -1
- package/dist/_pkgs/affine-block-frame/present/navigator-setting-button.js +16 -6
- package/dist/_pkgs/affine-block-frame/present/present-button.js +3 -1
- package/dist/_pkgs/affine-block-frame/translations.d.ts +64 -0
- package/dist/_pkgs/affine-block-frame/translations.js +131 -0
- package/dist/_pkgs/affine-block-image/components/page-image-block.js +5 -2
- package/dist/_pkgs/affine-block-image/configs/slash-menu.js +4 -0
- package/dist/_pkgs/affine-block-image/configs/toolbar.js +7 -1
- package/dist/_pkgs/affine-block-image/configs/tooltips.js +1 -1
- package/dist/_pkgs/affine-block-image/image-block.js +3 -2
- package/dist/_pkgs/affine-block-image/image-edgeless-block.js +6 -3
- package/dist/_pkgs/affine-block-image/preview-image/page.js +5 -1
- package/dist/_pkgs/affine-block-image/translations.d.ts +35 -0
- package/dist/_pkgs/affine-block-image/translations.js +68 -0
- package/dist/_pkgs/affine-block-image/utils.js +9 -8
- package/dist/_pkgs/affine-block-latex/configs/slash-menu.d.ts +8 -0
- package/dist/_pkgs/affine-block-latex/configs/slash-menu.js +19 -3
- package/dist/_pkgs/affine-block-latex/latex-block.js +6 -2
- package/dist/_pkgs/affine-block-latex/translations.d.ts +35 -0
- package/dist/_pkgs/affine-block-latex/translations.js +60 -0
- package/dist/_pkgs/affine-block-list/list-keymap.js +7 -0
- package/dist/_pkgs/affine-block-note/components/edgeless-note-border-dropdown-menu.d.ts +9 -0
- package/dist/_pkgs/affine-block-note/components/edgeless-note-border-dropdown-menu.js +23 -6
- package/dist/_pkgs/affine-block-note/components/edgeless-note-display-mode-dropdown-menu.d.ts +4 -1
- package/dist/_pkgs/affine-block-note/components/edgeless-note-display-mode-dropdown-menu.js +26 -6
- package/dist/_pkgs/affine-block-note/components/edgeless-note-shadow-menu.d.ts +3 -0
- package/dist/_pkgs/affine-block-note/components/edgeless-note-shadow-menu.js +21 -10
- package/dist/_pkgs/affine-block-note/components/edgeless-note-style-panel.js +22 -8
- package/dist/_pkgs/affine-block-note/configs/slash-menu.js +13 -0
- package/dist/_pkgs/affine-block-note/configs/toolbar.js +26 -19
- package/dist/_pkgs/affine-block-note/configs/tooltips.js +57 -30
- package/dist/_pkgs/affine-block-note/move-block.js +8 -2
- package/dist/_pkgs/affine-block-note/note-keymap.js +7 -1
- package/dist/_pkgs/affine-block-note/translations.d.ts +91 -0
- package/dist/_pkgs/affine-block-note/translations.js +253 -0
- package/dist/_pkgs/affine-block-paragraph/paragraph-block.js +7 -2
- package/dist/_pkgs/affine-block-paragraph/paragraph-keymap.js +7 -1
- package/dist/_pkgs/affine-block-paragraph/translations.d.ts +31 -0
- package/dist/_pkgs/affine-block-paragraph/translations.js +44 -0
- package/dist/_pkgs/affine-block-paragraph/view.js +6 -1
- package/dist/_pkgs/affine-block-root/commands/pivot-commands.js +1 -8
- package/dist/_pkgs/affine-block-root/commands/tag-commands.js +1 -8
- package/dist/_pkgs/affine-block-root/configs/toolbar.d.ts +3 -1
- package/dist/_pkgs/affine-block-root/configs/toolbar.js +6 -3
- package/dist/_pkgs/affine-block-root/edgeless/clipboard/utils.js +1 -1
- package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/alignment.js +26 -4
- package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/misc.d.ts +14 -0
- package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/misc.js +10 -3
- package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.d.ts +8 -0
- package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.js +9 -0
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.d.ts +9 -0
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.js +66 -6
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.d.ts +22 -0
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.js +46 -0
- package/dist/_pkgs/affine-block-root/edgeless/utils/consts.d.ts +0 -1
- package/dist/_pkgs/affine-block-root/edgeless/utils/consts.js +0 -1
- package/dist/_pkgs/affine-block-root/edgeless/utils/pinch-zoom.d.ts +21 -0
- package/dist/_pkgs/affine-block-root/edgeless/utils/pinch-zoom.js +24 -0
- package/dist/_pkgs/affine-block-root/edgeless/utils/query.js +8 -0
- package/dist/_pkgs/affine-block-root/keyboard/keymap.js +1 -16
- package/dist/_pkgs/affine-block-root/translations.d.ts +61 -0
- package/dist/_pkgs/affine-block-root/translations.js +172 -0
- package/dist/_pkgs/affine-block-surface/element-model/index.d.ts +21 -3
- package/dist/_pkgs/affine-block-surface/element-model/index.js +14 -2
- package/dist/_pkgs/affine-block-surface/extensions/export-manager/export-manager.js +3 -1
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/command.d.ts +23 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/command.js +89 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/index.d.ts +7 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/index.js +5 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/render.d.ts +41 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/render.js +70 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/svg-context.d.ts +49 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/svg-context.js +257 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/tagged-path.d.ts +16 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/tagged-path.js +24 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/toolbar.d.ts +24 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/toolbar.js +66 -0
- package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +5 -0
- package/dist/_pkgs/affine-block-surface/extensions/index.js +5 -0
- package/dist/_pkgs/affine-block-surface/extensions/interchange-import.d.ts +66 -4
- package/dist/_pkgs/affine-block-surface/extensions/interchange-import.js +272 -23
- package/dist/_pkgs/affine-block-surface/extensions/interchange.d.ts +58 -8
- package/dist/_pkgs/affine-block-surface/extensions/interchange.js +27 -0
- package/dist/_pkgs/affine-block-surface/extensions/legend-toolbar.d.ts +81 -0
- package/dist/_pkgs/affine-block-surface/extensions/legend-toolbar.js +81 -0
- package/dist/_pkgs/affine-block-surface/extensions/legend.d.ts +136 -0
- package/dist/_pkgs/affine-block-surface/extensions/legend.js +439 -0
- package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.d.ts +2 -2
- package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.js +5 -2
- package/dist/_pkgs/affine-block-surface/extensions/reading-widget.d.ts +17 -3
- package/dist/_pkgs/affine-block-surface/extensions/reading-widget.js +38 -15
- package/dist/_pkgs/affine-block-surface/extensions/reading.d.ts +61 -1
- package/dist/_pkgs/affine-block-surface/extensions/reading.js +85 -39
- package/dist/_pkgs/affine-block-surface/extensions/record-action.d.ts +66 -0
- package/dist/_pkgs/affine-block-surface/extensions/record-action.js +145 -0
- package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.d.ts +48 -0
- package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.js +120 -0
- package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.js +36 -23
- package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.js +5 -5
- package/dist/_pkgs/affine-block-surface/extensions/validation.d.ts +253 -28
- package/dist/_pkgs/affine-block-surface/extensions/validation.js +489 -41
- package/dist/_pkgs/affine-block-surface/framework-background/background-view.d.ts +115 -0
- package/dist/_pkgs/affine-block-surface/framework-background/background-view.js +185 -0
- package/dist/_pkgs/affine-block-surface/framework-background/index.d.ts +1 -0
- package/dist/_pkgs/affine-block-surface/framework-background/index.js +1 -0
- package/dist/_pkgs/affine-block-surface/framework-background/labels.d.ts +16 -1
- package/dist/_pkgs/affine-block-surface/framework-background/labels.js +31 -21
- package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +29 -5
- package/dist/_pkgs/affine-block-surface/framework-background/stacking.d.ts +6 -4
- package/dist/_pkgs/affine-block-surface/framework-background/stacking.js +56 -8
- package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.d.ts +12 -0
- package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.js +15 -0
- package/dist/_pkgs/affine-block-surface/view.js +8 -1
- package/dist/_pkgs/affine-block-surface-ref/components/placeholder.d.ts +2 -1
- package/dist/_pkgs/affine-block-surface-ref/components/placeholder.js +21 -6
- package/dist/_pkgs/affine-block-surface-ref/configs/slash-menu.js +24 -7
- package/dist/_pkgs/affine-block-surface-ref/configs/tooltips.js +2 -2
- package/dist/_pkgs/affine-block-surface-ref/index.d.ts +1 -0
- package/dist/_pkgs/affine-block-surface-ref/index.js +1 -0
- package/dist/_pkgs/affine-block-surface-ref/surface-ref-block-edgeless.js +1 -0
- package/dist/_pkgs/affine-block-surface-ref/surface-ref-block.js +1 -0
- package/dist/_pkgs/affine-block-surface-ref/translations.d.ts +83 -0
- package/dist/_pkgs/affine-block-surface-ref/translations.js +175 -0
- package/dist/_pkgs/affine-block-surface-ref/utils.d.ts +8 -1
- package/dist/_pkgs/affine-block-surface-ref/utils.js +12 -4
- package/dist/_pkgs/affine-components/caption/block-caption.js +3 -1
- package/dist/_pkgs/affine-components/card-style-dropdown-menu/dropdown-menu.js +4 -3
- package/dist/_pkgs/affine-components/citation/citation.d.ts +2 -0
- package/dist/_pkgs/affine-components/citation/citation.js +19 -3
- package/dist/_pkgs/affine-components/color-picker/button.d.ts +62 -1
- package/dist/_pkgs/affine-components/color-picker/button.js +182 -23
- package/dist/_pkgs/affine-components/color-picker/color-panel.d.ts +8 -0
- package/dist/_pkgs/affine-components/color-picker/color-panel.js +17 -2
- package/dist/_pkgs/affine-components/color-picker/color-picker.d.ts +4 -0
- package/dist/_pkgs/affine-components/color-picker/color-picker.js +27 -3
- package/dist/_pkgs/affine-components/color-picker/framework-palette.d.ts +106 -0
- package/dist/_pkgs/affine-components/color-picker/framework-palette.js +177 -0
- package/dist/_pkgs/affine-components/color-picker/index.d.ts +2 -0
- package/dist/_pkgs/affine-components/color-picker/index.js +2 -0
- package/dist/_pkgs/affine-components/color-picker/palette-carousel.d.ts +85 -0
- package/dist/_pkgs/affine-components/color-picker/palette-carousel.js +440 -0
- package/dist/_pkgs/affine-components/color-picker/types.d.ts +21 -0
- package/dist/_pkgs/affine-components/color-picker/utils.d.ts +28 -2
- package/dist/_pkgs/affine-components/color-picker/utils.js +32 -0
- package/dist/_pkgs/affine-components/context-menu/menu-renderer.d.ts +3 -0
- package/dist/_pkgs/affine-components/context-menu/menu-renderer.js +34 -7
- package/dist/_pkgs/affine-components/edgeless-line-styles-panel/line-styles-panel.d.ts +2 -0
- package/dist/_pkgs/affine-components/edgeless-line-styles-panel/line-styles-panel.js +21 -2
- package/dist/_pkgs/affine-components/edgeless-line-width-panel/line-width-panel.d.ts +2 -0
- package/dist/_pkgs/affine-components/edgeless-line-width-panel/line-width-panel.js +18 -2
- package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.d.ts +33 -1
- package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.js +211 -56
- package/dist/_pkgs/affine-components/embed-card-modal/embed-card-create-modal.js +5 -4
- package/dist/_pkgs/affine-components/embed-card-modal/embed-card-edit-modal.js +11 -9
- package/dist/_pkgs/affine-components/filterable-list/index.d.ts +2 -0
- package/dist/_pkgs/affine-components/filterable-list/index.js +17 -2
- package/dist/_pkgs/affine-components/highlight-dropdown-menu/dropdown-menu.d.ts +3 -0
- package/dist/_pkgs/affine-components/highlight-dropdown-menu/dropdown-menu.js +40 -7
- package/dist/_pkgs/affine-components/icon-button/index.d.ts +1 -1
- package/dist/_pkgs/affine-components/icon-button/index.js +1 -1
- package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.d.ts +6 -0
- package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.js +42 -7
- package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.d.ts +4 -0
- package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.js +35 -5
- package/dist/_pkgs/affine-components/icon-picker/icon-picker.d.ts +2 -0
- package/dist/_pkgs/affine-components/icon-picker/icon-picker.js +22 -5
- package/dist/_pkgs/affine-components/linked-doc-title/doc-title.d.ts +2 -0
- package/dist/_pkgs/affine-components/linked-doc-title/doc-title.js +16 -3
- package/dist/_pkgs/affine-components/notification/linked-doc.js +5 -4
- package/dist/_pkgs/affine-components/open-doc-dropdown-menu/dropdown-menu.js +7 -4
- package/dist/_pkgs/affine-components/resource/resource.d.ts +16 -1
- package/dist/_pkgs/affine-components/resource/resource.js +48 -20
- package/dist/_pkgs/affine-components/resource/status.d.ts +2 -0
- package/dist/_pkgs/affine-components/resource/status.js +27 -12
- package/dist/_pkgs/affine-components/size-dropdown-menu/dropdown-menu.d.ts +4 -1
- package/dist/_pkgs/affine-components/size-dropdown-menu/dropdown-menu.js +23 -4
- package/dist/_pkgs/affine-components/toast/toast.d.ts +1 -1
- package/dist/_pkgs/affine-components/toast/toast.js +1 -1
- package/dist/_pkgs/affine-components/toggle-button/toggle-button.d.ts +3 -0
- package/dist/_pkgs/affine-components/toggle-button/toggle-button.js +18 -3
- package/dist/_pkgs/affine-components/toolbar/icon-button.d.ts +2 -0
- package/dist/_pkgs/affine-components/toolbar/icon-button.js +18 -2
- package/dist/_pkgs/affine-components/toolbar/tooltip.d.ts +3 -3
- package/dist/_pkgs/affine-components/toolbar/tooltip.js +3 -3
- package/dist/_pkgs/affine-components/translations.d.ts +149 -0
- package/dist/_pkgs/affine-components/translations.js +495 -0
- package/dist/_pkgs/affine-foundation/view.js +2 -1
- package/dist/_pkgs/affine-fragment-adapter-panel/adapter-panel.d.ts +3 -0
- package/dist/_pkgs/affine-fragment-adapter-panel/adapter-panel.js +12 -1
- package/dist/_pkgs/affine-fragment-adapter-panel/body/adapter-panel-body.js +4 -3
- package/dist/_pkgs/affine-fragment-adapter-panel/config.d.ts +13 -0
- package/dist/_pkgs/affine-fragment-adapter-panel/config.js +18 -4
- package/dist/_pkgs/affine-fragment-adapter-panel/header/adapter-menu.js +2 -2
- package/dist/_pkgs/affine-fragment-adapter-panel/header/adapter-panel-header.js +2 -2
- package/dist/_pkgs/affine-fragment-adapter-panel/translations.d.ts +24 -0
- package/dist/_pkgs/affine-fragment-adapter-panel/translations.js +37 -0
- package/dist/_pkgs/affine-fragment-doc-title/doc-title.d.ts +1 -0
- package/dist/_pkgs/affine-fragment-doc-title/doc-title.js +9 -1
- package/dist/_pkgs/affine-fragment-doc-title/translations.d.ts +13 -0
- package/dist/_pkgs/affine-fragment-doc-title/translations.js +17 -0
- package/dist/_pkgs/affine-fragment-frame-panel/body/frame-panel-body.js +3 -2
- package/dist/_pkgs/affine-fragment-frame-panel/header/frame-panel-header.js +10 -4
- package/dist/_pkgs/affine-fragment-frame-panel/header/frames-setting-menu.js +18 -6
- package/dist/_pkgs/affine-fragment-frame-panel/translations.d.ts +16 -0
- package/dist/_pkgs/affine-fragment-frame-panel/translations.js +44 -0
- package/dist/_pkgs/affine-fragment-outline/body/outline-notice.js +10 -4
- package/dist/_pkgs/affine-fragment-outline/body/outline-panel-body.js +6 -3
- package/dist/_pkgs/affine-fragment-outline/card/outline-card.js +13 -6
- package/dist/_pkgs/affine-fragment-outline/card/outline-preview.d.ts +1 -0
- package/dist/_pkgs/affine-fragment-outline/card/outline-preview.js +16 -9
- package/dist/_pkgs/affine-fragment-outline/config.d.ts +1 -20
- package/dist/_pkgs/affine-fragment-outline/config.js +8 -23
- package/dist/_pkgs/affine-fragment-outline/header/outline-panel-header.js +10 -3
- package/dist/_pkgs/affine-fragment-outline/header/outline-setting-menu.js +9 -2
- package/dist/_pkgs/affine-fragment-outline/outline-viewer.js +6 -3
- package/dist/_pkgs/affine-fragment-outline/translations.d.ts +54 -0
- package/dist/_pkgs/affine-fragment-outline/translations.js +110 -0
- package/dist/_pkgs/affine-gfx-brush/element-renderer.js +2 -2
- package/dist/_pkgs/affine-gfx-brush/toolbar/components/eraser/eraser-tool-button.js +3 -2
- package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/consts.d.ts +3 -0
- package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/consts.js +3 -0
- package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-menu.js +5 -4
- package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-tool-button.js +3 -2
- package/dist/_pkgs/affine-gfx-brush/toolbar/configs/brush.js +10 -3
- package/dist/_pkgs/affine-gfx-brush/toolbar/configs/highlighter.js +10 -3
- package/dist/_pkgs/affine-gfx-brush/translations.d.ts +17 -0
- package/dist/_pkgs/affine-gfx-brush/translations.js +30 -0
- package/dist/_pkgs/affine-gfx-connector/connector-manager.d.ts +9 -1
- package/dist/_pkgs/affine-gfx-connector/connector-manager.js +61 -0
- package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.d.ts +8 -1
- package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.js +7 -1
- package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.d.ts +7 -1
- package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.js +87 -17
- package/dist/_pkgs/affine-gfx-connector/element-renderer/index.js +78 -17
- package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.d.ts +24 -2
- package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.js +31 -8
- package/dist/_pkgs/affine-gfx-connector/text/edgeless-connector-label-editor.d.ts +124 -3
- package/dist/_pkgs/affine-gfx-connector/text/edgeless-connector-label-editor.js +219 -56
- package/dist/_pkgs/affine-gfx-connector/text/text.d.ts +13 -4
- package/dist/_pkgs/affine-gfx-connector/text/text.js +13 -44
- package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +60 -1
- package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +95 -13
- package/dist/_pkgs/affine-gfx-connector/toolbar/connector-dense-menu.js +7 -5
- package/dist/_pkgs/affine-gfx-connector/toolbar/connector-menu.js +8 -6
- package/dist/_pkgs/affine-gfx-connector/toolbar/connector-tool-button.js +4 -3
- package/dist/_pkgs/affine-gfx-connector/toolbar/hollow-endpoint-icons.d.ts +8 -0
- package/dist/_pkgs/affine-gfx-connector/toolbar/hollow-endpoint-icons.js +118 -0
- package/dist/_pkgs/affine-gfx-connector/translations.d.ts +32 -0
- package/dist/_pkgs/affine-gfx-connector/translations.js +79 -0
- package/dist/_pkgs/affine-gfx-connector/view/view.d.ts +37 -1
- package/dist/_pkgs/affine-gfx-connector/view/view.js +97 -8
- package/dist/_pkgs/affine-gfx-group/command/group-api.js +6 -1
- package/dist/_pkgs/affine-gfx-group/index.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-group/index.js +1 -0
- package/dist/_pkgs/affine-gfx-group/store.js +0 -2
- package/dist/_pkgs/affine-gfx-group/toolbar/config.d.ts +6 -2
- package/dist/_pkgs/affine-gfx-group/toolbar/config.js +9 -4
- package/dist/_pkgs/affine-gfx-group/translations.d.ts +23 -0
- package/dist/_pkgs/affine-gfx-group/translations.js +29 -0
- package/dist/_pkgs/affine-gfx-link/toolbar/undo-dense-menu.js +2 -1
- package/dist/_pkgs/affine-gfx-link/toolbar/undo-tool-button.js +2 -1
- package/dist/_pkgs/affine-gfx-mindmap/index.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-mindmap/index.js +1 -0
- package/dist/_pkgs/affine-gfx-mindmap/templates/index.js +628 -577
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/basket-elements.js +7 -3
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/config.js +9 -1
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-importing-placeholder.d.ts +4 -0
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-importing-placeholder.js +70 -7
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-menu.js +8 -5
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-tool-button.js +4 -2
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/senior-tool.js +7 -2
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/utils/import-mindmap.d.ts +2 -1
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/utils/import-mindmap.js +16 -8
- package/dist/_pkgs/affine-gfx-mindmap/translations.d.ts +84 -0
- package/dist/_pkgs/affine-gfx-mindmap/translations.js +171 -0
- package/dist/_pkgs/affine-gfx-note/components/note-display-mode-panel.d.ts +8 -0
- package/dist/_pkgs/affine-gfx-note/components/note-display-mode-panel.js +24 -9
- package/dist/_pkgs/affine-gfx-note/components/note-shadow-panel.d.ts +9 -0
- package/dist/_pkgs/affine-gfx-note/components/note-shadow-panel.js +28 -8
- package/dist/_pkgs/affine-gfx-note/toolbar/note-menu-config.d.ts +2 -1
- package/dist/_pkgs/affine-gfx-note/toolbar/note-menu-config.js +42 -73
- package/dist/_pkgs/affine-gfx-note/toolbar/note-menu.js +21 -17
- package/dist/_pkgs/affine-gfx-note/toolbar/note-senior-button.js +3 -2
- package/dist/_pkgs/affine-gfx-note/toolbar/note-tool-button.js +3 -1
- package/dist/_pkgs/affine-gfx-note/toolbar/senior-tool.js +3 -1
- package/dist/_pkgs/affine-gfx-note/translations.d.ts +27 -0
- package/dist/_pkgs/affine-gfx-note/translations.js +59 -0
- package/dist/_pkgs/affine-gfx-pointer/quick-tool/default-tool-button.js +10 -2
- package/dist/_pkgs/affine-gfx-pointer/translations.d.ts +9 -0
- package/dist/_pkgs/affine-gfx-pointer/translations.js +17 -0
- package/dist/_pkgs/affine-gfx-shape/components/shape-panel.d.ts +4 -0
- package/dist/_pkgs/affine-gfx-shape/components/shape-panel.js +17 -3
- package/dist/_pkgs/affine-gfx-shape/components/shape-style-panel.d.ts +4 -0
- package/dist/_pkgs/affine-gfx-shape/components/shape-style-panel.js +23 -5
- package/dist/_pkgs/affine-gfx-shape/draggable/shape-menu.d.ts +0 -1
- package/dist/_pkgs/affine-gfx-shape/draggable/shape-menu.js +6 -46
- package/dist/_pkgs/affine-gfx-shape/draggable/shape-tool-button.js +3 -1
- package/dist/_pkgs/affine-gfx-shape/element-renderer/highlighter.js +2 -2
- package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.d.ts +6 -0
- package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.js +30 -1
- package/dist/_pkgs/affine-gfx-shape/polygon-tool.d.ts +20 -1
- package/dist/_pkgs/affine-gfx-shape/polygon-tool.js +9 -1
- package/dist/_pkgs/affine-gfx-shape/toolbar/config.d.ts +2 -0
- package/dist/_pkgs/affine-gfx-shape/toolbar/config.js +35 -9
- package/dist/_pkgs/affine-gfx-shape/toolbar/palette-color-action.js +11 -1
- package/dist/_pkgs/affine-gfx-shape/toolbar/senior-tool.js +2 -0
- package/dist/_pkgs/affine-gfx-shape/toolbar/shape-menu-config.d.ts +3 -0
- package/dist/_pkgs/affine-gfx-shape/toolbar/shape-menu-config.js +7 -0
- package/dist/_pkgs/affine-gfx-shape/translations.d.ts +37 -0
- package/dist/_pkgs/affine-gfx-shape/translations.js +93 -0
- package/dist/_pkgs/affine-gfx-template/builtin/other.js +70 -42
- package/dist/_pkgs/affine-gfx-template/contribute.js +8 -1
- package/dist/_pkgs/affine-gfx-template/index.d.ts +2 -0
- package/dist/_pkgs/affine-gfx-template/index.js +2 -0
- package/dist/_pkgs/affine-gfx-template/snapshot-from-action.d.ts +6 -1
- package/dist/_pkgs/affine-gfx-template/snapshot-from-action.js +43 -120
- package/dist/_pkgs/affine-gfx-template/toolbar/builtin-templates.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-template/toolbar/builtin-templates.js +12 -0
- package/dist/_pkgs/affine-gfx-template/toolbar/resolve-name.d.ts +25 -0
- package/dist/_pkgs/affine-gfx-template/toolbar/resolve-name.js +36 -0
- package/dist/_pkgs/affine-gfx-template/toolbar/senior-tool.js +3 -1
- package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.js +30 -8
- package/dist/_pkgs/affine-gfx-template/toolbar/template-type.d.ts +41 -0
- package/dist/_pkgs/affine-gfx-template/translations.d.ts +71 -0
- package/dist/_pkgs/affine-gfx-template/translations.js +209 -0
- package/dist/_pkgs/affine-gfx-text/dblclick-add-edgeless-text.d.ts +13 -1
- package/dist/_pkgs/affine-gfx-text/dblclick-add-edgeless-text.js +19 -4
- package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.d.ts +41 -0
- package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.js +60 -4
- package/dist/_pkgs/affine-gfx-text/toolbar/actions.d.ts +9 -2
- package/dist/_pkgs/affine-gfx-text/toolbar/actions.js +33 -10
- package/dist/_pkgs/affine-gfx-text/toolbar/text-menu.js +1 -0
- package/dist/_pkgs/affine-gfx-text/translations.d.ts +32 -0
- package/dist/_pkgs/affine-gfx-text/translations.js +65 -0
- package/dist/_pkgs/affine-inline-footnote/footnote-node/footnote-popup.js +8 -2
- package/dist/_pkgs/affine-inline-latex/latex-node/latex-editor-menu.js +5 -2
- package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.js +7 -2
- package/dist/_pkgs/affine-inline-latex/translations.d.ts +13 -0
- package/dist/_pkgs/affine-inline-latex/translations.js +16 -0
- package/dist/_pkgs/affine-inline-link/link-node/configs/toolbar.d.ts +3 -3
- package/dist/_pkgs/affine-inline-link/link-node/configs/toolbar.js +6 -5
- package/dist/_pkgs/affine-inline-link/link-node/link-popup/link-popup.js +11 -5
- package/dist/_pkgs/affine-inline-link/translations.d.ts +23 -0
- package/dist/_pkgs/affine-inline-link/translations.js +44 -0
- package/dist/_pkgs/affine-inline-mention/affine-mention.js +11 -5
- package/dist/_pkgs/affine-inline-mention/translations.d.ts +16 -0
- package/dist/_pkgs/affine-inline-mention/translations.js +29 -0
- package/dist/_pkgs/affine-inline-preset/command/config.d.ts +3 -0
- package/dist/_pkgs/affine-inline-preset/command/config.js +8 -0
- package/dist/_pkgs/affine-inline-preset/markdown.js +5 -1
- package/dist/_pkgs/affine-inline-preset/translations.d.ts +25 -0
- package/dist/_pkgs/affine-inline-preset/translations.js +28 -0
- package/dist/_pkgs/affine-inline-reference/reference-node/configs/toolbar.js +2 -2
- package/dist/_pkgs/affine-inline-reference/reference-node/reference-node.js +3 -3
- package/dist/_pkgs/affine-inline-reference/reference-node/reference-popup/reference-popup.js +8 -6
- package/dist/_pkgs/affine-inline-reference/translations.d.ts +8 -0
- package/dist/_pkgs/affine-inline-reference/translations.js +13 -0
- package/dist/_pkgs/affine-model/consts/connector.d.ts +28 -2
- package/dist/_pkgs/affine-model/consts/connector.js +26 -0
- package/dist/_pkgs/affine-model/elements/bpmn/pool.js +1 -1
- package/dist/_pkgs/affine-model/elements/brush/brush.js +1 -1
- package/dist/_pkgs/affine-model/elements/c4/board.js +1 -1
- package/dist/_pkgs/affine-model/elements/c4/boundary.js +1 -1
- package/dist/_pkgs/affine-model/elements/connector/connector.d.ts +135 -0
- package/dist/_pkgs/affine-model/elements/connector/connector.js +246 -5
- package/dist/_pkgs/affine-model/elements/connector/end-label.d.ts +83 -0
- package/dist/_pkgs/affine-model/elements/connector/end-label.js +119 -0
- package/dist/_pkgs/affine-model/elements/connector/index.d.ts +1 -0
- package/dist/_pkgs/affine-model/elements/connector/index.js +1 -0
- package/dist/_pkgs/affine-model/elements/context-map/context-map.js +1 -1
- package/dist/_pkgs/affine-model/elements/core-domain/core-domain.d.ts +28 -0
- package/dist/_pkgs/affine-model/elements/core-domain/core-domain.js +129 -2
- package/dist/_pkgs/affine-model/elements/cynefin/cynefin.d.ts +8 -0
- package/dist/_pkgs/affine-model/elements/cynefin/cynefin.js +45 -2
- package/dist/_pkgs/affine-model/elements/edgy/board.js +1 -1
- package/dist/_pkgs/affine-model/elements/edgy/facets.js +1 -1
- package/dist/_pkgs/affine-model/elements/estuarine/estuarine.d.ts +6 -0
- package/dist/_pkgs/affine-model/elements/estuarine/estuarine.js +36 -2
- package/dist/_pkgs/affine-model/elements/event-storming/event-storming.d.ts +18 -7
- package/dist/_pkgs/affine-model/elements/event-storming/event-storming.js +23 -8
- package/dist/_pkgs/affine-model/elements/framework-background/background.d.ts +16 -0
- package/dist/_pkgs/affine-model/elements/framework-background/background.js +18 -0
- package/dist/_pkgs/affine-model/elements/highlighter/highlighter.js +1 -1
- package/dist/_pkgs/affine-model/elements/index.d.ts +8 -0
- package/dist/_pkgs/affine-model/elements/index.js +1 -0
- package/dist/_pkgs/affine-model/elements/shape/shape.js +1 -1
- package/dist/_pkgs/affine-model/elements/text/text.js +1 -1
- package/dist/_pkgs/affine-model/elements/uml/band.d.ts +39 -0
- package/dist/_pkgs/affine-model/elements/uml/band.js +31 -0
- package/dist/_pkgs/affine-model/elements/uml/diagram.d.ts +158 -0
- package/dist/_pkgs/affine-model/elements/uml/diagram.js +229 -0
- package/dist/_pkgs/affine-model/elements/uml/fragment.d.ts +161 -0
- package/dist/_pkgs/affine-model/elements/uml/fragment.js +205 -0
- package/dist/_pkgs/affine-model/elements/uml/index.d.ts +8 -0
- package/dist/_pkgs/affine-model/elements/uml/index.js +8 -0
- package/dist/_pkgs/affine-model/elements/uml/lifeline.d.ts +77 -0
- package/dist/_pkgs/affine-model/elements/uml/lifeline.js +89 -0
- package/dist/_pkgs/affine-model/elements/uml/node.d.ts +142 -0
- package/dist/_pkgs/affine-model/elements/uml/node.js +190 -0
- package/dist/_pkgs/affine-model/elements/uml/partition.d.ts +106 -0
- package/dist/_pkgs/affine-model/elements/uml/partition.js +172 -0
- package/dist/_pkgs/affine-model/elements/uml/region.d.ts +75 -0
- package/dist/_pkgs/affine-model/elements/uml/region.js +150 -0
- package/dist/_pkgs/affine-model/elements/uml/subject.d.ts +37 -0
- package/dist/_pkgs/affine-model/elements/uml/subject.js +108 -0
- package/dist/_pkgs/affine-model/elements/wardley/wardley.js +1 -1
- package/dist/_pkgs/affine-rich-text/conversion.d.ts +13 -0
- package/dist/_pkgs/affine-rich-text/conversion.js +27 -0
- package/dist/_pkgs/affine-shared/adapters/clipboard/clipboard.js +1 -1
- package/dist/_pkgs/affine-shared/adapters/clipboard/utils.d.ts +2 -1
- package/dist/_pkgs/affine-shared/adapters/clipboard/utils.js +6 -3
- package/dist/_pkgs/affine-shared/adapters/markdown/markdown.js +5 -2
- package/dist/_pkgs/affine-shared/adapters/mix-text.js +5 -2
- package/dist/_pkgs/affine-shared/adapters/plain-text/plain-text.js +5 -2
- 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/adapters/utils/wording.d.ts +9 -0
- package/dist/_pkgs/affine-shared/adapters/utils/wording.js +12 -0
- package/dist/_pkgs/affine-shared/services/comment-service/utils.js +2 -0
- package/dist/_pkgs/affine-shared/services/doc-display-meta-service.js +6 -3
- package/dist/_pkgs/affine-shared/services/embed-iframe/embed-iframe-config.d.ts +1 -0
- package/dist/_pkgs/affine-shared/services/font-loader/config.d.ts +7 -0
- package/dist/_pkgs/affine-shared/services/font-loader/config.js +43 -0
- package/dist/_pkgs/affine-shared/services/notification-service.js +18 -1
- package/dist/_pkgs/affine-shared/services/open-doc-config.d.ts +0 -1
- package/dist/_pkgs/affine-shared/services/open-doc-config.js +0 -2
- package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +1 -9
- package/dist/_pkgs/affine-shared/services/telemetry-service/document-damage-watcher.d.ts +53 -0
- package/dist/_pkgs/affine-shared/services/telemetry-service/document-damage-watcher.js +95 -0
- package/dist/_pkgs/affine-shared/services/telemetry-service/index.d.ts +1 -0
- package/dist/_pkgs/affine-shared/services/telemetry-service/index.js +1 -0
- package/dist/_pkgs/affine-shared/services/telemetry-service/lifecycle.d.ts +26 -1
- package/dist/_pkgs/affine-shared/services/telemetry-service/telemetry-service.d.ts +2 -2
- package/dist/_pkgs/affine-shared/services/toolbar-service/command-action.d.ts +34 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/command-action.js +63 -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/translation-service/chrome.d.ts +432 -0
- package/dist/_pkgs/affine-shared/services/translation-service/chrome.js +1045 -3
- package/dist/_pkgs/affine-shared/services/translation-service/index.d.ts +40 -2
- package/dist/_pkgs/affine-shared/services/translation-service/index.js +44 -3
- package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.d.ts +83 -2
- package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.js +92 -0
- package/dist/_pkgs/affine-shared/styles/index.d.ts +1 -0
- package/dist/_pkgs/affine-shared/styles/index.js +1 -0
- package/dist/_pkgs/affine-shared/styles/motion.d.ts +14 -0
- package/dist/_pkgs/affine-shared/styles/motion.js +38 -0
- package/dist/_pkgs/affine-shared/utils/event.d.ts +10 -0
- package/dist/_pkgs/affine-shared/utils/event.js +20 -0
- package/dist/_pkgs/affine-shared/utils/file/filesys.d.ts +16 -0
- package/dist/_pkgs/affine-shared/utils/file/filesys.js +25 -0
- package/dist/_pkgs/affine-shared/utils/index.d.ts +1 -0
- package/dist/_pkgs/affine-shared/utils/index.js +1 -0
- package/dist/_pkgs/affine-shared/utils/link-preview-refresh.d.ts +12 -0
- package/dist/_pkgs/affine-shared/utils/link-preview-refresh.js +13 -0
- package/dist/_pkgs/affine-widget-drag-handle/components/edgeless-preview/preview.d.ts +4 -0
- package/dist/_pkgs/affine-widget-drag-handle/components/edgeless-preview/preview.js +21 -8
- package/dist/_pkgs/affine-widget-drag-handle/helpers/preview-helper.js +1 -0
- package/dist/_pkgs/affine-widget-drag-handle/translations.d.ts +14 -0
- package/dist/_pkgs/affine-widget-drag-handle/translations.js +35 -0
- package/dist/_pkgs/affine-widget-edgeless-auto-connect/index.js +4 -3
- package/dist/_pkgs/affine-widget-edgeless-auto-connect/translations.d.ts +6 -0
- package/dist/_pkgs/affine-widget-edgeless-auto-connect/translations.js +14 -0
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/auto-complete-panel.js +8 -5
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.js +3 -2
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-element-link.js +3 -1
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/translations.d.ts +17 -0
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/translations.js +30 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/button/tool-icon-button.d.ts +4 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/button/tool-icon-button.js +18 -2
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.d.ts +12 -4
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.js +29 -6
- package/dist/_pkgs/affine-widget-edgeless-toolbar/config/consts.d.ts +2 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/config/consts.js +3 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/config/types.d.ts +18 -1
- package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.d.ts +8 -3
- package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.js +38 -18
- package/dist/_pkgs/affine-widget-edgeless-toolbar/create-popper.js +13 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/edgeless-toolbar.js +2 -1
- package/dist/_pkgs/affine-widget-edgeless-toolbar/index.d.ts +2 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +2 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +80 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +270 -81
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/senior-menu-selection.d.ts +15 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/senior-menu-selection.js +15 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-weight-and-style-panel.d.ts +8 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-weight-and-style-panel.js +38 -8
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-ghost-overlay.d.ts +42 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-ghost-overlay.js +100 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-placement-tool.d.ts +100 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-placement-tool.js +274 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/index.d.ts +3 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/index.js +3 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/translate-created.d.ts +25 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/translate-created.js +67 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.d.ts +15 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.js +20 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/view.js +5 -0
- package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/translations.d.ts +7 -0
- package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/translations.js +23 -0
- package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/zoom-bar-toggle-button.js +3 -1
- package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/zoom-toolbar.js +5 -3
- package/dist/_pkgs/affine-widget-linked-doc/config.js +15 -10
- package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.d.ts +12 -1
- package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.js +27 -18
- package/dist/_pkgs/affine-widget-linked-doc/import-doc/index.d.ts +4 -1
- package/dist/_pkgs/affine-widget-linked-doc/import-doc/index.js +2 -2
- package/dist/_pkgs/affine-widget-linked-doc/linked-doc-popover.js +4 -1
- package/dist/_pkgs/affine-widget-linked-doc/mobile-linked-doc-menu.js +6 -2
- package/dist/_pkgs/affine-widget-linked-doc/transformers/html.js +3 -2
- package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.js +3 -2
- package/dist/_pkgs/affine-widget-linked-doc/translations.d.ts +53 -0
- package/dist/_pkgs/affine-widget-linked-doc/translations.js +104 -0
- package/dist/_pkgs/affine-widget-remote-selection/edgeless/index.js +4 -1
- package/dist/_pkgs/affine-widget-remote-selection/translations.d.ts +12 -0
- package/dist/_pkgs/affine-widget-remote-selection/translations.js +12 -0
- package/dist/_pkgs/affine-widget-slash-menu/config.js +15 -0
- package/dist/_pkgs/affine-widget-slash-menu/index.d.ts +1 -0
- package/dist/_pkgs/affine-widget-slash-menu/index.js +1 -0
- package/dist/_pkgs/affine-widget-slash-menu/slash-menu-popover.js +30 -15
- package/dist/_pkgs/affine-widget-slash-menu/tooltips/copy.js +1 -1
- package/dist/_pkgs/affine-widget-slash-menu/tooltips/delete.js +2 -2
- package/dist/_pkgs/affine-widget-slash-menu/tooltips/index.js +9 -0
- package/dist/_pkgs/affine-widget-slash-menu/tooltips/move-down.js +2 -2
- package/dist/_pkgs/affine-widget-slash-menu/tooltips/move-up.js +2 -2
- package/dist/_pkgs/affine-widget-slash-menu/tooltips/now.js +3 -3
- package/dist/_pkgs/affine-widget-slash-menu/tooltips/today.js +2 -2
- package/dist/_pkgs/affine-widget-slash-menu/tooltips/tomorrow.js +3 -3
- package/dist/_pkgs/affine-widget-slash-menu/tooltips/yesterday.js +3 -3
- package/dist/_pkgs/affine-widget-slash-menu/translations.d.ts +91 -0
- package/dist/_pkgs/affine-widget-slash-menu/translations.js +175 -0
- package/dist/_pkgs/affine-widget-slash-menu/types.d.ts +18 -0
- package/dist/_pkgs/affine-widget-slash-menu/utils.d.ts +20 -1
- package/dist/_pkgs/affine-widget-slash-menu/utils.js +37 -0
- package/dist/_pkgs/affine-widget-toolbar/translations.d.ts +9 -0
- package/dist/_pkgs/affine-widget-toolbar/translations.js +13 -0
- package/dist/_pkgs/affine-widget-toolbar/utils.js +2 -1
- package/dist/_pkgs/global/gfx/xywh.js +7 -0
- package/dist/_pkgs/std/extension/command-registry.d.ts +158 -1
- package/dist/_pkgs/std/extension/command-registry.js +22 -0
- package/dist/_pkgs/std/extension/translation-manifest.d.ts +7 -0
- package/dist/_pkgs/std/gfx/index.d.ts +1 -1
- package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.d.ts +12 -0
- package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.js +20 -1
- package/dist/_pkgs/std/gfx/interactivity/manager.d.ts +10 -0
- package/dist/_pkgs/std/gfx/interactivity/manager.js +12 -0
- package/dist/_pkgs/std/gfx/model/surface/element-model.js +12 -7
- package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +56 -0
- package/dist/_pkgs/std/gfx/model/surface/surface-model.js +84 -3
- package/dist/_pkgs/std/gfx/view/view.d.ts +11 -2
- package/dist/_pkgs/std/gfx/view/view.js +16 -2
- package/dist/_pkgs/std/translations.d.ts +24 -0
- package/dist/_pkgs/std/translations.js +28 -0
- package/dist/_pkgs/std/view/element/block-component.js +24 -7
- package/dist/commands.d.ts +6 -0
- package/dist/commands.js +8 -1
- package/dist/frameworks.d.ts +9 -0
- package/dist/frameworks.js +19 -0
- package/dist/translations.js +160 -5
- package/package.json +9 -4
- package/dist/_pkgs/affine-gfx-group/group-watcher.d.ts +0 -1
- package/dist/_pkgs/affine-gfx-group/group-watcher.js +0 -20
|
@@ -158,8 +158,11 @@ export function applyMorph(ctx, spec, kind) {
|
|
|
158
158
|
entry.target.clearField(field);
|
|
159
159
|
// Inside the loop and inside the one checkpoint above: whatever the rest of
|
|
160
160
|
// a composite owes this morph — C4's type line — is part of the same single
|
|
161
|
-
// ctrl+z as the kind that made it necessary.
|
|
162
|
-
|
|
161
|
+
// ctrl+z as the kind that made it necessary. `ctx.std` is handed through so
|
|
162
|
+
// a rewrite can tell an untouched TRANSLATED placeholder from real content
|
|
163
|
+
// (`c4MorphedTypeLine`, `wardleyMorphedLabel`) — with no host it behaves
|
|
164
|
+
// exactly as it always has, English only.
|
|
165
|
+
spec.afterMorph?.(entry.selected, entry.kind, kind, ctx.std);
|
|
163
166
|
}
|
|
164
167
|
// The one DIRECT emission in this module, and the arbitrated exception is the
|
|
165
168
|
// same one the C4 legend button makes: there is no command behind this
|
|
@@ -82,12 +82,26 @@ export declare class ReadingProposalWidget extends EditorAnchoredPanel {
|
|
|
82
82
|
*/
|
|
83
83
|
private _renderNature;
|
|
84
84
|
/**
|
|
85
|
-
* The typed edges touching the subject, grouped by
|
|
86
|
-
* FRAMEWORK's own two words
|
|
85
|
+
* The typed edges touching the subject, grouped by TABLE and then by side,
|
|
86
|
+
* and named with the FRAMEWORK's own two words
|
|
87
|
+
* (`ReadingRelationDef.sides`).
|
|
88
|
+
*
|
|
89
|
+
* One line per (table, side) rather than per side, since a profile may
|
|
90
|
+
* declare several tables (`ReadingProfile.alsoRelations`): a UML use case
|
|
91
|
+
* associated with an actor and including another use case has two sentences
|
|
92
|
+
* to say and they are not the same sentence. A framework declaring one table
|
|
93
|
+
* — which is every framework but UML — renders exactly what it did before.
|
|
87
94
|
*
|
|
88
95
|
* The `data-testid` keeps the shape it shipped with — `reading-consumers`,
|
|
89
96
|
* `reading-suppliers` — because it names the SIDE, which is generic, and not
|
|
90
|
-
* the wording, which is
|
|
97
|
+
* the wording, which is the framework's. `data-relation-role` is what tells
|
|
98
|
+
* two lines of the same side apart.
|
|
99
|
+
*
|
|
100
|
+
* The FAR end's label rides with the name, in parentheses: a UML association
|
|
101
|
+
* writes its multiplicity there (ADR 0020) and "Associated with: OrderLine
|
|
102
|
+
* (1..*)" is the sentence an author drew. The subject's OWN end label is read
|
|
103
|
+
* too ({@link ReadingRelation.ownEndLabel}) and deliberately not printed —
|
|
104
|
+
* one line about the other end, not a transcription of the connector.
|
|
91
105
|
*/
|
|
92
106
|
private _renderRelations;
|
|
93
107
|
/**
|
|
@@ -32,7 +32,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
32
32
|
}
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
|
-
import { buildOccurrencePatch, getUniverseRegistry, publishOccurrenceMaterialities, translateKey, } from '../../affine-shared/services/index.js';
|
|
35
|
+
import { buildOccurrencePatch, getUniverseRegistry, publishOccurrenceMaterialities, translateKey, translateTagLabel, } from '../../affine-shared/services/index.js';
|
|
36
36
|
import { getRegisteredCommands, runCommand, WidgetViewExtension, } from '../../std/index.js';
|
|
37
37
|
import { resolvePivotBinding } from '../../std/gfx/index.js';
|
|
38
38
|
import { effect } from '@preact/signals-core';
|
|
@@ -40,7 +40,7 @@ import { css, html, nothing } from 'lit';
|
|
|
40
40
|
import { state } from 'lit/decorators.js';
|
|
41
41
|
import { literal, unsafeStatic } from 'lit/static-html.js';
|
|
42
42
|
import { EditorAnchoredPanel, editorAnchoredPanelStyles, } from './editor-anchored-panel.js';
|
|
43
|
-
import { PivotRecordPickerProvider, ReadingManager, readRecord, readValueFlows, } from './reading.js';
|
|
43
|
+
import { PivotRecordPickerProvider, ReadingManager, readingRelationDefs, readRecord, readValueFlows, } from './reading.js';
|
|
44
44
|
export const READING_PROPOSAL_WIDGET = 'affine-reading-proposal-widget';
|
|
45
45
|
/** The two commands the confirmations drive. Spelled once. */
|
|
46
46
|
const TAG_SET_ID = 'tag.set';
|
|
@@ -330,7 +330,8 @@ let ReadingProposalWidget = (() => {
|
|
|
330
330
|
const def = getUniverseRegistry(this.std).tag(tagId);
|
|
331
331
|
if (!def || def.values === 'open')
|
|
332
332
|
return valueId;
|
|
333
|
-
|
|
333
|
+
const value = def.values.find(value => value.id === valueId);
|
|
334
|
+
return (value && translateTagLabel(this.std, value)) || valueId;
|
|
334
335
|
}
|
|
335
336
|
_field(testid, label, body) {
|
|
336
337
|
return html `<div class="reading-field" data-testid=${testid}>
|
|
@@ -410,37 +411,59 @@ let ReadingProposalWidget = (() => {
|
|
|
410
411
|
: nothing}`);
|
|
411
412
|
}
|
|
412
413
|
/**
|
|
413
|
-
* The typed edges touching the subject, grouped by
|
|
414
|
-
* FRAMEWORK's own two words
|
|
414
|
+
* The typed edges touching the subject, grouped by TABLE and then by side,
|
|
415
|
+
* and named with the FRAMEWORK's own two words
|
|
416
|
+
* (`ReadingRelationDef.sides`).
|
|
417
|
+
*
|
|
418
|
+
* One line per (table, side) rather than per side, since a profile may
|
|
419
|
+
* declare several tables (`ReadingProfile.alsoRelations`): a UML use case
|
|
420
|
+
* associated with an actor and including another use case has two sentences
|
|
421
|
+
* to say and they are not the same sentence. A framework declaring one table
|
|
422
|
+
* — which is every framework but UML — renders exactly what it did before.
|
|
415
423
|
*
|
|
416
424
|
* The `data-testid` keeps the shape it shipped with — `reading-consumers`,
|
|
417
425
|
* `reading-suppliers` — because it names the SIDE, which is generic, and not
|
|
418
|
-
* the wording, which is
|
|
426
|
+
* the wording, which is the framework's. `data-relation-role` is what tells
|
|
427
|
+
* two lines of the same side apart.
|
|
428
|
+
*
|
|
429
|
+
* The FAR end's label rides with the name, in parentheses: a UML association
|
|
430
|
+
* writes its multiplicity there (ADR 0020) and "Associated with: OrderLine
|
|
431
|
+
* (1..*)" is the sentence an author drew. The subject's OWN end label is read
|
|
432
|
+
* too ({@link ReadingRelation.ownEndLabel}) and deliberately not printed —
|
|
433
|
+
* one line about the other end, not a transcription of the connector.
|
|
419
434
|
*/
|
|
420
435
|
_renderRelations(reading, profile) {
|
|
421
|
-
const
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
436
|
+
const named = (relation) => {
|
|
437
|
+
const name = relation.otherName || relation.otherId;
|
|
438
|
+
return relation.otherEndLabel
|
|
439
|
+
? `${name} (${relation.otherEndLabel})`
|
|
440
|
+
: name;
|
|
441
|
+
};
|
|
442
|
+
const line = (edgeRole, side) => {
|
|
443
|
+
const relations = reading.relations.filter(r => r.side === side && r.relationRole === edgeRole);
|
|
444
|
+
const wording = readingRelationDefs(profile).find(def => def.edgeRole === edgeRole)?.sides[side];
|
|
425
445
|
// No wording means the framework declared no relation at all, in which
|
|
426
446
|
// case there is nothing to list either. Silence rather than a heading
|
|
427
447
|
// this library would have had to invent.
|
|
428
448
|
if (!relations.length || !wording)
|
|
429
449
|
return nothing;
|
|
430
|
-
return html `<div
|
|
450
|
+
return html `<div
|
|
451
|
+
class="reading-value"
|
|
452
|
+
data-testid=${`reading-${side}s`}
|
|
453
|
+
data-relation-role=${edgeRole}
|
|
454
|
+
>
|
|
431
455
|
${translateKey(this.std, wording.labelKey, wording.labelFallback)}:
|
|
432
|
-
${relations
|
|
433
|
-
.map(relation => relation.otherName || relation.otherId)
|
|
434
|
-
.join(', ')}
|
|
456
|
+
${relations.map(named).join(', ')}
|
|
435
457
|
</div>`;
|
|
436
458
|
};
|
|
459
|
+
const lines = readingRelationDefs(profile).flatMap(def => RELATION_SIDES.map(side => line(def.edgeRole, side)));
|
|
437
460
|
const contradictions = reading.relations.filter(r => r.contradictsGeometry);
|
|
438
461
|
return this._field('reading-relations', translateKey(this.std, 'com.labre.reading.field.relations', 'Parent-child relations'), html `${reading.relations.length === 0
|
|
439
462
|
? html `<div class="reading-empty">
|
|
440
463
|
${translateKey(this.std, 'com.labre.reading.relations.none', 'No typed link touches this component.')}
|
|
441
464
|
</div>`
|
|
442
465
|
: nothing}
|
|
443
|
-
${
|
|
466
|
+
${lines}
|
|
444
467
|
${contradictions.length
|
|
445
468
|
? html `<div class="reading-note" data-testid="reading-contradiction">
|
|
446
469
|
${translateKey(this.std, 'com.labre.reading.relations.contradiction', 'A link states the opposite of what the positions show')}:
|
|
@@ -155,8 +155,36 @@ export interface ReadingProfile {
|
|
|
155
155
|
tagId: string;
|
|
156
156
|
conventions: readonly ReadingNamingConvention[];
|
|
157
157
|
};
|
|
158
|
-
/**
|
|
158
|
+
/**
|
|
159
|
+
* The typed edge whose two ends the relation reading walks — the one the
|
|
160
|
+
* artefact is read THROUGH, and the one the panel lists first.
|
|
161
|
+
*/
|
|
159
162
|
relation?: ReadingRelationDef;
|
|
163
|
+
/**
|
|
164
|
+
* The OTHER typed edges the same artefact is read through, read after
|
|
165
|
+
* {@link relation} and listed under their own wordings.
|
|
166
|
+
*
|
|
167
|
+
* Absent for every framework whose artefacts carry one kind of line: a
|
|
168
|
+
* Wardley component has a dependency, a BPMN task a sequence flow, and a
|
|
169
|
+
* second table there would be a heading with nothing under it.
|
|
170
|
+
*
|
|
171
|
+
* It exists because UML's artefacts carry a DOZEN kinds of line, and the
|
|
172
|
+
* panel answering with one of them reads as an answer rather than as a
|
|
173
|
+
* selection: the PO's recette of 2026-09-14 (O8) opened the reading on a use
|
|
174
|
+
* case whose only link was an `«include»` and was told "No typed link touches
|
|
175
|
+
* this component", which the drawing plainly contradicted. One relation per
|
|
176
|
+
* profile was a deliberate narrowing (`gfx/uml/src/reading.ts` argued it and
|
|
177
|
+
* named what it left unread); what the recette established is that a reader
|
|
178
|
+
* cannot tell a narrowing from a failure, because the panel says the same
|
|
179
|
+
* thing in both cases.
|
|
180
|
+
*
|
|
181
|
+
* Every table is INDEPENDENT: its own `edgeRole`, its own two wordings, its
|
|
182
|
+
* own `geometry` claim. `roleIsA` still applies to each, so a table declared
|
|
183
|
+
* on a parent role reaches its children and two tables must not overlap — an
|
|
184
|
+
* edge matching both would be listed twice. Order is the order the panel
|
|
185
|
+
* reads them in, so the first is the question the artefact answers first.
|
|
186
|
+
*/
|
|
187
|
+
alsoRelations?: readonly ReadingRelationDef[];
|
|
160
188
|
/** The frame the phase is read from. */
|
|
161
189
|
frame?: {
|
|
162
190
|
backgroundRole: RoleId;
|
|
@@ -181,14 +209,46 @@ export interface ReadingProfile {
|
|
|
181
209
|
}
|
|
182
210
|
/** Where the other end of a typed edge sits, relative to the subject. */
|
|
183
211
|
export type ReadingRelationSide = 'consumer' | 'supplier';
|
|
212
|
+
/**
|
|
213
|
+
* Every relation table a profile declares, in reading order.
|
|
214
|
+
*
|
|
215
|
+
* One function so the engine and the panel cannot disagree about what a profile
|
|
216
|
+
* declares — the bug that shape of duplication always produces is a table read
|
|
217
|
+
* into {@link ElementReading.relations} and never drawn, or a heading drawn
|
|
218
|
+
* over nothing.
|
|
219
|
+
*/
|
|
220
|
+
export declare function readingRelationDefs(profile: ReadingProfile): readonly ReadingRelationDef[];
|
|
184
221
|
/** One typed edge touching the subject, read with the ADR 0010 convention. */
|
|
185
222
|
export interface ReadingRelation {
|
|
186
223
|
/** The edge element. */
|
|
187
224
|
edgeId: string;
|
|
225
|
+
/**
|
|
226
|
+
* The `edgeRole` of the TABLE that matched — the role the profile DECLARED,
|
|
227
|
+
* never the edge's own, which may be a specialisation of it (a UML
|
|
228
|
+
* composition read through `uml:association`, §11.5.4).
|
|
229
|
+
*
|
|
230
|
+
* It is what lets the panel put each relation under the wording it was read
|
|
231
|
+
* with once a profile declares several tables. One reading, one table, and
|
|
232
|
+
* the tables never overlap: {@link readingRelationDefs} documents that as the
|
|
233
|
+
* declaring framework's obligation.
|
|
234
|
+
*/
|
|
235
|
+
relationRole: RoleId;
|
|
188
236
|
/** The element at the other end. */
|
|
189
237
|
otherId: string;
|
|
190
238
|
/** Its name, when it has one — for the panel, which must not print ids. */
|
|
191
239
|
otherName: string;
|
|
240
|
+
/**
|
|
241
|
+
* What the connector writes at the SUBJECT's end, and at the other end —
|
|
242
|
+
* `undefined` when the author wrote nothing there, which is the ordinary
|
|
243
|
+
* case (ADR 0020).
|
|
244
|
+
*
|
|
245
|
+
* Two spellings of the same fact rather than `sourceLabel`/`targetLabel`,
|
|
246
|
+
* because the reading is written from the subject outwards and a panel
|
|
247
|
+
* saying "Associated with: OrderLine (1..*)" must not have to work out which
|
|
248
|
+
* end of the arrow it is standing on.
|
|
249
|
+
*/
|
|
250
|
+
ownEndLabel?: string;
|
|
251
|
+
otherEndLabel?: string;
|
|
192
252
|
/**
|
|
193
253
|
* What the OTHER element is to the subject. ADR 0010 § 2 tier 2: on a
|
|
194
254
|
* `wardley:dependency`, `source` is the consumer and `target` is what it
|
|
@@ -9,6 +9,21 @@ import { effect, signal } from '@preact/signals-core';
|
|
|
9
9
|
// canvas in.
|
|
10
10
|
import { backgroundPlot, } from '../framework-background/def.js';
|
|
11
11
|
import { backgroundTransitionBands, containingFrame, } from '../framework-background/facts.js';
|
|
12
|
+
/**
|
|
13
|
+
* Every relation table a profile declares, in reading order.
|
|
14
|
+
*
|
|
15
|
+
* One function so the engine and the panel cannot disagree about what a profile
|
|
16
|
+
* declares — the bug that shape of duplication always produces is a table read
|
|
17
|
+
* into {@link ElementReading.relations} and never drawn, or a heading drawn
|
|
18
|
+
* over nothing.
|
|
19
|
+
*/
|
|
20
|
+
export function readingRelationDefs(profile) {
|
|
21
|
+
const first = profile.relation;
|
|
22
|
+
const rest = profile.alsoRelations ?? [];
|
|
23
|
+
if (!first)
|
|
24
|
+
return rest;
|
|
25
|
+
return rest.length === 0 ? [first] : [first, ...rest];
|
|
26
|
+
}
|
|
12
27
|
/** Deepest role chain reported by {@link ReadingNodeType.specialises}. */
|
|
13
28
|
const MAX_ROLE_DEPTH = 32;
|
|
14
29
|
/** Numeric slack on the two geometry comparisons. Model units. */
|
|
@@ -218,55 +233,86 @@ function endpointsOf(element) {
|
|
|
218
233
|
return { source: source.id, target: target.id };
|
|
219
234
|
}
|
|
220
235
|
/**
|
|
221
|
-
*
|
|
236
|
+
* What a connector writes at one of its two ends, when it writes anything.
|
|
237
|
+
*
|
|
238
|
+
* A UML multiplicity is the case this exists for (`0..*` on the far end of an
|
|
239
|
+
* association), and the shape is ADR 0020's: two optional `Y.Text` props on the
|
|
240
|
+
* connector, empty when the author never opened the editor. Read defensively —
|
|
241
|
+
* the reading is handed plain element models by unit tests as readily as live
|
|
242
|
+
* ones — and blank-trimmed, because a text the user emptied is not a label.
|
|
243
|
+
*/
|
|
244
|
+
function endLabelOf(edge, end) {
|
|
245
|
+
const raw = edge[end === 'source' ? 'sourceLabel' : 'targetLabel'];
|
|
246
|
+
if (raw === undefined || raw === null)
|
|
247
|
+
return undefined;
|
|
248
|
+
const text = String(raw).trim();
|
|
249
|
+
return text.length > 0 ? text : undefined;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Every typed edge touching the subject, read as a relation — one pass per
|
|
253
|
+
* table the profile declares ({@link readingRelationDefs}).
|
|
254
|
+
*
|
|
255
|
+
* The tables are walked in DECLARATION order rather than the elements being
|
|
256
|
+
* walked once and each edge matched against every table, so the panel's
|
|
257
|
+
* sections come out in the order their framework wrote them and an artefact
|
|
258
|
+
* read through four kinds of line reads its first kind first. The cost is one
|
|
259
|
+
* pass over the surface per table, which is what it already was when a profile
|
|
260
|
+
* could only declare one.
|
|
222
261
|
*
|
|
223
262
|
* An edge with an unbound end is skipped, exactly as ADR 0010 requires of W4:
|
|
224
263
|
* releasing the link tool over empty canvas produces one, and a stroke that
|
|
225
264
|
* links nothing states nothing.
|
|
226
265
|
*/
|
|
227
266
|
function readRelations(element, elements, profile) {
|
|
228
|
-
const
|
|
229
|
-
if (
|
|
267
|
+
const defs = readingRelationDefs(profile);
|
|
268
|
+
if (defs.length === 0)
|
|
230
269
|
return [];
|
|
231
270
|
const byId = new Map(elements.map(el => [el.id, el]));
|
|
232
271
|
const [, subjectY] = centreOf(element.elementBound);
|
|
233
272
|
const relations = [];
|
|
234
|
-
for (const
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
273
|
+
for (const relation of defs) {
|
|
274
|
+
for (const edge of elements) {
|
|
275
|
+
if (edge.role === undefined)
|
|
276
|
+
continue;
|
|
277
|
+
if (!roleIsA(edge.role, relation.edgeRole, profile.roles))
|
|
278
|
+
continue;
|
|
279
|
+
const ends = endpointsOf(edge);
|
|
280
|
+
if (!ends)
|
|
281
|
+
continue;
|
|
282
|
+
const isSource = ends.source === element.id;
|
|
283
|
+
const isTarget = ends.target === element.id;
|
|
284
|
+
// A self-loop states nothing about an order and would report the subject
|
|
285
|
+
// as its own supplier.
|
|
286
|
+
if (isSource === isTarget)
|
|
287
|
+
continue;
|
|
288
|
+
const otherId = isSource ? ends.target : ends.source;
|
|
289
|
+
const other = byId.get(otherId);
|
|
290
|
+
if (!other)
|
|
291
|
+
continue;
|
|
292
|
+
const side = isSource ? 'supplier' : 'consumer';
|
|
293
|
+
const [, otherY] = centreOf(other.elementBound);
|
|
294
|
+
// `y` grows downwards, so "higher on the map" is a SMALLER y. A supplier
|
|
295
|
+
// is expected below the subject, a consumer above it — but only on a
|
|
296
|
+
// board whose framework CLAIMED that axis says something (`geometry`).
|
|
297
|
+
// Two BPMN tasks side by side contradict nothing.
|
|
298
|
+
const contradictsGeometry = relation.geometry !== 'vertical'
|
|
299
|
+
? false
|
|
300
|
+
: side === 'supplier'
|
|
301
|
+
? otherY < subjectY - GEOMETRY_EPSILON
|
|
302
|
+
: otherY > subjectY + GEOMETRY_EPSILON;
|
|
303
|
+
const ownEndLabel = endLabelOf(edge, isSource ? 'source' : 'target');
|
|
304
|
+
const otherEndLabel = endLabelOf(edge, isSource ? 'target' : 'source');
|
|
305
|
+
relations.push({
|
|
306
|
+
edgeId: edge.id,
|
|
307
|
+
relationRole: relation.edgeRole,
|
|
308
|
+
otherId,
|
|
309
|
+
otherName: readName(other, profile),
|
|
310
|
+
side,
|
|
311
|
+
contradictsGeometry,
|
|
312
|
+
...(ownEndLabel !== undefined ? { ownEndLabel } : {}),
|
|
313
|
+
...(otherEndLabel !== undefined ? { otherEndLabel } : {}),
|
|
314
|
+
});
|
|
315
|
+
}
|
|
270
316
|
}
|
|
271
317
|
return relations;
|
|
272
318
|
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Bound } from '../../global/gfx/index.js';
|
|
2
|
+
import type { BlockStdScope } from '../../std/index.js';
|
|
3
|
+
/** What {@link recordAction} saw a creation action ask the surface for. */
|
|
4
|
+
export interface RecordedAction {
|
|
5
|
+
/**
|
|
6
|
+
* One plain record per element the action added, in creation order, holding
|
|
7
|
+
* the props it passed. `id` is the recording's own (`el-0`, `el-1`, …), not
|
|
8
|
+
* an id any document will ever carry.
|
|
9
|
+
*/
|
|
10
|
+
records: Record<string, unknown>[];
|
|
11
|
+
/**
|
|
12
|
+
* The union of the records' `xywh`, relative to the fake viewport's centre —
|
|
13
|
+
* which sits at the ORIGIN, so this is the footprint the same action would
|
|
14
|
+
* draw around whatever centre a real viewport has. `null` when no record
|
|
15
|
+
* carries a box at all.
|
|
16
|
+
*/
|
|
17
|
+
bound: Bound | null;
|
|
18
|
+
/**
|
|
19
|
+
* The name of the tool the action armed, other than the default one it may
|
|
20
|
+
* return to after placing — `connector` for a command that lets the user
|
|
21
|
+
* DRAW a relation. Such a command creates nothing on its own and must be
|
|
22
|
+
* declared `kind: 'tool'`, or the placement tool wraps it and cancels the
|
|
23
|
+
* drawing it armed. `null` when nothing was armed.
|
|
24
|
+
*/
|
|
25
|
+
armedTool: string | null;
|
|
26
|
+
/**
|
|
27
|
+
* The OPTIONS the action armed that tool with — where a typed edge's `role`
|
|
28
|
+
* lives, since a command that arms the connector tool creates nothing and
|
|
29
|
+
* therefore stamps nothing on any record. `null` when nothing was armed.
|
|
30
|
+
*/
|
|
31
|
+
armedToolOptions: Record<string, unknown> | null;
|
|
32
|
+
}
|
|
33
|
+
/** Hook applied to a finished record before it is kept. See {@link recordAction}. */
|
|
34
|
+
export type RecordEncoder = (record: Record<string, unknown>) => void;
|
|
35
|
+
export interface RecordActionOptions {
|
|
36
|
+
/**
|
|
37
|
+
* The editor the recording is being run FOR. Its `TranslationProvider`, and
|
|
38
|
+
* nothing else from it, is handed to the action, so the seeds the action
|
|
39
|
+
* writes come out in the user's language. Without one, the action writes its
|
|
40
|
+
* English fallbacks.
|
|
41
|
+
*/
|
|
42
|
+
host?: BlockStdScope;
|
|
43
|
+
/**
|
|
44
|
+
* Last chance to rewrite a record before it is kept — how a caller that needs
|
|
45
|
+
* a SNAPSHOT converts the `Y.Text` / `Y.Map` props into their serialized
|
|
46
|
+
* form. A caller that only measures the drawing passes nothing.
|
|
47
|
+
*/
|
|
48
|
+
encode?: RecordEncoder;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Run a creation action against a recording fake, and hand back what it asked
|
|
52
|
+
* the surface for — so a framework's artefact can be measured, previewed or
|
|
53
|
+
* serialized without ever touching a document.
|
|
54
|
+
*
|
|
55
|
+
* The `std` handed to `run` answers the members placement actions actually
|
|
56
|
+
* touch and THROWS on anything else, so an unsupported action fails loudly
|
|
57
|
+
* instead of yielding a half-empty drawing. Callers that can carry on without a
|
|
58
|
+
* measure catch it; callers that cannot (a template derived at build time) let
|
|
59
|
+
* it through.
|
|
60
|
+
*
|
|
61
|
+
* Extracted from `snapshotFromAction` (`@labre/affine-gfx-template`), which is
|
|
62
|
+
* still its first caller: the placement tool needs the same recording and lives
|
|
63
|
+
* in the toolbar widget, which the template package depends ON — so the
|
|
64
|
+
* recording had to move down here, where both can reach it.
|
|
65
|
+
*/
|
|
66
|
+
export declare function recordAction(run: (std: BlockStdScope) => void, { host, encode }?: RecordActionOptions): RecordedAction;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { Bound } from '../../global/gfx/index.js';
|
|
2
|
+
import { TranslationProvider } from '../../affine-shared/services/index.js';
|
|
3
|
+
import { generateKeyBetween, GfxControllerIdentifier } from '../../std/gfx/index.js';
|
|
4
|
+
import { EdgelessCRUDIdentifier } from './crud-extension.js';
|
|
5
|
+
/**
|
|
6
|
+
* Run a creation action against a recording fake, and hand back what it asked
|
|
7
|
+
* the surface for — so a framework's artefact can be measured, previewed or
|
|
8
|
+
* serialized without ever touching a document.
|
|
9
|
+
*
|
|
10
|
+
* The `std` handed to `run` answers the members placement actions actually
|
|
11
|
+
* touch and THROWS on anything else, so an unsupported action fails loudly
|
|
12
|
+
* instead of yielding a half-empty drawing. Callers that can carry on without a
|
|
13
|
+
* measure catch it; callers that cannot (a template derived at build time) let
|
|
14
|
+
* it through.
|
|
15
|
+
*
|
|
16
|
+
* Extracted from `snapshotFromAction` (`@labre/affine-gfx-template`), which is
|
|
17
|
+
* still its first caller: the placement tool needs the same recording and lives
|
|
18
|
+
* in the toolbar widget, which the template package depends ON — so the
|
|
19
|
+
* recording had to move down here, where both can reach it.
|
|
20
|
+
*/
|
|
21
|
+
export function recordAction(run, { host, encode } = {}) {
|
|
22
|
+
const elements = new Map();
|
|
23
|
+
let n = 0;
|
|
24
|
+
let lastIndex = null;
|
|
25
|
+
const nextIndex = () => (lastIndex = generateKeyBetween(lastIndex, null));
|
|
26
|
+
const addElement = (props) => {
|
|
27
|
+
const id = `el-${n++}`;
|
|
28
|
+
const record = {};
|
|
29
|
+
for (const [key, value] of Object.entries(props)) {
|
|
30
|
+
if (value !== undefined)
|
|
31
|
+
record[key] = value;
|
|
32
|
+
}
|
|
33
|
+
record['id'] = id;
|
|
34
|
+
encode?.(record);
|
|
35
|
+
if (record['index'] === undefined)
|
|
36
|
+
record['index'] = nextIndex();
|
|
37
|
+
// The model members an action reads back off `getElementById`, kept
|
|
38
|
+
// non-enumerable so they never leak into a snapshot built from the record.
|
|
39
|
+
Object.defineProperties(record, {
|
|
40
|
+
group: { value: null },
|
|
41
|
+
deserializedXYWH: {
|
|
42
|
+
get: () => typeof record['xywh'] === 'string'
|
|
43
|
+
? Bound.deserialize(record['xywh'])
|
|
44
|
+
: null,
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
elements.set(id, record);
|
|
48
|
+
return id;
|
|
49
|
+
};
|
|
50
|
+
const records = () => [...elements.values()];
|
|
51
|
+
let armedTool = null;
|
|
52
|
+
let armedToolOptions = null;
|
|
53
|
+
const setTool = (tool, options) => {
|
|
54
|
+
const name = typeof tool === 'string' ? tool : tool?.toolName;
|
|
55
|
+
if (name && name !== 'default') {
|
|
56
|
+
armedTool = name;
|
|
57
|
+
armedToolOptions = options ?? null;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const surface = {
|
|
61
|
+
addElement,
|
|
62
|
+
getElementById: (id) => elements.get(id) ?? null,
|
|
63
|
+
getElementsByType: (type) => records().filter(el => el['type'] === type),
|
|
64
|
+
get elementModels() {
|
|
65
|
+
return records();
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
const gfx = {
|
|
69
|
+
surface,
|
|
70
|
+
// The centre at the ORIGIN is what makes `bound` a footprint rather than a
|
|
71
|
+
// position: an action that creates "at the viewport centre" records a box
|
|
72
|
+
// around (0, 0), which is exactly the offset to re-apply around a real one.
|
|
73
|
+
viewport: { centerX: 0, centerY: 0, zoom: 1, center: { x: 0, y: 0 } },
|
|
74
|
+
doc: { captureSync: () => { } },
|
|
75
|
+
selection: { set: () => { }, selectedElements: [] },
|
|
76
|
+
tool: { setTool },
|
|
77
|
+
layer: {
|
|
78
|
+
generateIndex: () => nextIndex(),
|
|
79
|
+
getReorderedIndex: (_model, direction) => {
|
|
80
|
+
const sorted = records()
|
|
81
|
+
.map(el => String(el['index']))
|
|
82
|
+
.sort();
|
|
83
|
+
return direction === 'back'
|
|
84
|
+
? generateKeyBetween(null, sorted[0] ?? null)
|
|
85
|
+
: generateKeyBetween(sorted[sorted.length - 1] ?? null, null);
|
|
86
|
+
},
|
|
87
|
+
get canvasElements() {
|
|
88
|
+
return records();
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
std: null,
|
|
92
|
+
};
|
|
93
|
+
const crud = {
|
|
94
|
+
addElement: (type, props) => addElement({ ...props, type }),
|
|
95
|
+
};
|
|
96
|
+
const std = {
|
|
97
|
+
get: (identifier) => {
|
|
98
|
+
if (identifier === GfxControllerIdentifier)
|
|
99
|
+
return gfx;
|
|
100
|
+
if (identifier === EdgelessCRUDIdentifier)
|
|
101
|
+
return crud;
|
|
102
|
+
throw new Error(`recordAction: unsupported service "${identifier?.identifierName ?? String(identifier)}"`);
|
|
103
|
+
},
|
|
104
|
+
getOptional: (identifier) => identifier === TranslationProvider
|
|
105
|
+
? host?.getOptional(TranslationProvider)
|
|
106
|
+
: undefined,
|
|
107
|
+
command: {
|
|
108
|
+
// Really run the command, so a group built by `createGroupCommand` is
|
|
109
|
+
// whatever that command says a group is — no second definition here.
|
|
110
|
+
exec: (cmd, payload) => {
|
|
111
|
+
let out;
|
|
112
|
+
cmd({ std: gfx.std, ...payload }, r => {
|
|
113
|
+
out = r;
|
|
114
|
+
});
|
|
115
|
+
return [{}, out ?? {}];
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
store: {
|
|
119
|
+
readonly: false,
|
|
120
|
+
captureSync: () => { },
|
|
121
|
+
id: 'doc:template',
|
|
122
|
+
workspace: { meta: { getDocMeta: () => undefined } },
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
gfx.std = std;
|
|
126
|
+
run(gfx.std);
|
|
127
|
+
return {
|
|
128
|
+
records: records(),
|
|
129
|
+
bound: uniteBounds(records()),
|
|
130
|
+
armedTool,
|
|
131
|
+
armedToolOptions,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
/** The union of whatever boxes the records carry. */
|
|
135
|
+
function uniteBounds(records) {
|
|
136
|
+
let union = null;
|
|
137
|
+
for (const record of records) {
|
|
138
|
+
const xywh = record['xywh'];
|
|
139
|
+
if (typeof xywh !== 'string')
|
|
140
|
+
continue;
|
|
141
|
+
const bound = Bound.deserialize(xywh);
|
|
142
|
+
union = union ? union.unite(bound) : bound;
|
|
143
|
+
}
|
|
144
|
+
return union;
|
|
145
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ChromeWording } from '../../affine-shared/services/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* The SVG importer's own remarks (`svg-sketch.ts`) — one key per SENTENCE
|
|
4
|
+
* SHAPE, not per exact string: a `{{name}}` hole is filled by
|
|
5
|
+
* `InterchangeNote.messageParams` at report time
|
|
6
|
+
* (`interchange-import.ts`'s `remarkLine`), never split into two keys or
|
|
7
|
+
* baked into the key itself.
|
|
8
|
+
*
|
|
9
|
+
* The reader that raises these is a pure function of text (`docs/adr/0012`,
|
|
10
|
+
* P3): it has no `std`, so each note carries its key and (where it has one)
|
|
11
|
+
* its params, and `reportInterchangeImport` resolves both when it draws the
|
|
12
|
+
* report — see `InterchangeNote.messageKey` / `.messageParams`.
|
|
13
|
+
*
|
|
14
|
+
* NOT included: the three `throw new Error(...)` refusals `parseSvgRoot`
|
|
15
|
+
* raises for a malformed or empty file. Those are caught by
|
|
16
|
+
* `importInterchangeFile`'s single, format-agnostic `catch` — shared by
|
|
17
|
+
* every interchange reader (BPMN, mermaid, OWM, this one) — which shows
|
|
18
|
+
* `error.message` verbatim BY DESIGN ("shown as it is rather than replaced
|
|
19
|
+
* with a wording of our own that knows less"). Keying them would mean
|
|
20
|
+
* teaching that shared catch to resolve a per-reader key, a mechanism this
|
|
21
|
+
* lot does not own the other readers to touch — flagged in this lot's report
|
|
22
|
+
* instead of invented here.
|
|
23
|
+
*/
|
|
24
|
+
export declare const SVG_SKETCH_FONT_UNIT: ChromeWording;
|
|
25
|
+
export declare const SVG_SKETCH_HIDDEN_DISPLAY: ChromeWording;
|
|
26
|
+
export declare const SVG_SKETCH_HIDDEN_VISIBILITY: ChromeWording;
|
|
27
|
+
export declare const SVG_SKETCH_OPACITY: ChromeWording;
|
|
28
|
+
export declare const SVG_SKETCH_PAINT_SERVER: ChromeWording;
|
|
29
|
+
export declare const SVG_SKETCH_CURRENT_COLOR: ChromeWording;
|
|
30
|
+
export declare const SVG_SKETCH_TRANSFORM: ChromeWording;
|
|
31
|
+
export declare const SVG_SKETCH_LONE_POINT: ChromeWording;
|
|
32
|
+
export declare const SVG_SKETCH_CURVE: ChromeWording;
|
|
33
|
+
export declare const SVG_SKETCH_EMPTY_BOX: ChromeWording;
|
|
34
|
+
export declare const SVG_SKETCH_PERCENT_RADIUS: ChromeWording;
|
|
35
|
+
export declare const SVG_SKETCH_FLAT_POLYGON: ChromeWording;
|
|
36
|
+
export declare const SVG_SKETCH_EMPTY_TEXT: ChromeWording;
|
|
37
|
+
export declare const SVG_SKETCH_SWITCH: ChromeWording;
|
|
38
|
+
export declare const SVG_SKETCH_SKIPPED: ChromeWording;
|
|
39
|
+
export declare const SVG_SKETCH_REMOVED: ChromeWording;
|
|
40
|
+
export declare const SVG_SKETCH_REMOVED_ATTRIBUTE: ChromeWording;
|
|
41
|
+
export declare const SVG_SKETCH_EMPTY: ChromeWording;
|
|
42
|
+
/**
|
|
43
|
+
* Every wording declared above, in declaration order — joined into
|
|
44
|
+
* `PACKAGE_WORDINGS` (`packages/affine/all/src/translations.ts`) alongside
|
|
45
|
+
* `PROVENANCE_FALLBACK`/`SEVERITY_FALLBACK`/`EXEMPTION_FALLBACK`, this
|
|
46
|
+
* package's other manifest contributions.
|
|
47
|
+
*/
|
|
48
|
+
export declare const SVG_SKETCH_WORDINGS: readonly ChromeWording[];
|