@formicoidea/labre-core 0.39.3 → 0.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_pkgs/affine-block-attachment/attachment-block.js +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/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/emoji-margin.js +19 -11
- 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 +2 -2
- 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-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/embed-iframe-block.js +3 -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 +12 -6
- 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-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.d.ts +16 -0
- package/dist/_pkgs/affine-block-note/configs/tooltips.js +150 -90
- package/dist/_pkgs/affine-block-note/move-block.js +8 -2
- 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/styles.js +30 -83
- 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/turbo/paragraph-layout-handler.js +1 -0
- package/dist/_pkgs/affine-block-paragraph/turbo/paragraph-painter.worker.d.ts +2 -0
- package/dist/_pkgs/affine-block-paragraph/turbo/paragraph-painter.worker.js +6 -1
- package/dist/_pkgs/affine-block-paragraph/view.js +6 -1
- 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.js +15 -6
- 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/translations.d.ts +61 -0
- package/dist/_pkgs/affine-block-root/translations.js +172 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-manager/export-manager.js +3 -1
- package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +1 -0
- package/dist/_pkgs/affine-block-surface/extensions/index.js +1 -0
- package/dist/_pkgs/affine-block-surface/extensions/interchange-import.js +31 -12
- package/dist/_pkgs/affine-block-surface/extensions/interchange.d.ts +40 -8
- package/dist/_pkgs/affine-block-surface/extensions/interchange.js +27 -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.js +3 -2
- 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/framework-background/def.d.ts +4 -1
- package/dist/_pkgs/affine-block-surface/framework-background/def.js +6 -2
- 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 +6 -0
- package/dist/_pkgs/affine-components/color-picker/button.js +15 -1
- 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/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 +2 -0
- package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.js +34 -5
- 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 +19 -4
- 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 +141 -0
- package/dist/_pkgs/affine-components/translations.js +478 -0
- 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/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 +4 -2
- package/dist/_pkgs/affine-gfx-brush/toolbar/configs/highlighter.js +4 -2
- 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/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/text/edgeless-connector-label-editor.js +3 -2
- package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +4 -1
- package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +24 -10
- 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/translations.d.ts +32 -0
- package/dist/_pkgs/affine-gfx-connector/translations.js +79 -0
- 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/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 +24 -0
- package/dist/_pkgs/affine-gfx-group/translations.js +33 -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/toolbar/config.d.ts +2 -0
- package/dist/_pkgs/affine-gfx-shape/toolbar/config.js +29 -8
- 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 +101 -56
- 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 +15 -5
- 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/edgeless-text-editor.js +3 -2
- package/dist/_pkgs/affine-gfx-text/toolbar/actions.d.ts +1 -1
- package/dist/_pkgs/affine-gfx-text/toolbar/actions.js +22 -9
- package/dist/_pkgs/affine-gfx-text/toolbar/text-menu.js +1 -0
- package/dist/_pkgs/affine-gfx-text/translations.d.ts +31 -0
- package/dist/_pkgs/affine-gfx-text/translations.js +64 -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.d.ts +3 -0
- package/dist/_pkgs/affine-inline-preset/markdown.js +19 -0
- 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-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/consts/heading.d.ts +29 -0
- package/dist/_pkgs/affine-shared/consts/heading.js +70 -0
- package/dist/_pkgs/affine-shared/consts/index.d.ts +2 -0
- package/dist/_pkgs/affine-shared/consts/index.js +2 -0
- package/dist/_pkgs/affine-shared/consts/notation.d.ts +67 -0
- package/dist/_pkgs/affine-shared/consts/notation.js +65 -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/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/translation-service/chrome.d.ts +362 -0
- package/dist/_pkgs/affine-shared/services/translation-service/chrome.js +955 -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-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.js +2 -2
- 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/edgeless-toolbar.js +2 -1
- 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 +31 -8
- 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-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/std/extension/translation-manifest.d.ts +7 -0
- 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/translations.js +144 -5
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ShapeStyle, ShapeType, StrokeStyle, TextAlign, } from '../../affine-model/index.js';
|
|
2
2
|
import DOMPurify from 'dompurify';
|
|
3
|
+
import { SVG_SKETCH_CURRENT_COLOR, SVG_SKETCH_CURVE, SVG_SKETCH_EMPTY, SVG_SKETCH_EMPTY_BOX, SVG_SKETCH_EMPTY_TEXT, SVG_SKETCH_FLAT_POLYGON, SVG_SKETCH_FONT_UNIT, SVG_SKETCH_HIDDEN_DISPLAY, SVG_SKETCH_HIDDEN_VISIBILITY, SVG_SKETCH_LONE_POINT, SVG_SKETCH_OPACITY, SVG_SKETCH_PAINT_SERVER, SVG_SKETCH_PERCENT_RADIUS, SVG_SKETCH_REMOVED, SVG_SKETCH_REMOVED_ATTRIBUTE, SVG_SKETCH_SKIPPED, SVG_SKETCH_SWITCH, SVG_SKETCH_TRANSFORM, } from './svg-sketch-translations.js';
|
|
3
4
|
/**
|
|
4
5
|
* **SVG → a canvas sketch.** The platform's VISUAL-tier importer, shared by
|
|
5
6
|
* every framework that declares it (`docs/adr/0012`, P2).
|
|
@@ -169,13 +170,25 @@ class Notebook {
|
|
|
169
170
|
this.seen = new Set();
|
|
170
171
|
this.notes = [];
|
|
171
172
|
}
|
|
172
|
-
|
|
173
|
-
|
|
173
|
+
/**
|
|
174
|
+
* @param dedupKey De-duplication identity — a note fires once per distinct
|
|
175
|
+
* value (`font-unit:px`, `font-unit:pt`…), independent of the i18n key
|
|
176
|
+
* below, which stays the same across all of them.
|
|
177
|
+
* @param message The English sentence, already filled in with the file's
|
|
178
|
+
* own words — shown as is with no host catalogue registered.
|
|
179
|
+
* @param wording The key/fallback pair for this sentence's SHAPE
|
|
180
|
+
* (`svg-sketch-translations.ts`), and the params that fill its
|
|
181
|
+
* `{{name}}` holes when it has any.
|
|
182
|
+
*/
|
|
183
|
+
once(dedupKey, message, wording, params, element) {
|
|
184
|
+
if (this.seen.has(dedupKey))
|
|
174
185
|
return;
|
|
175
|
-
this.seen.add(
|
|
186
|
+
this.seen.add(dedupKey);
|
|
176
187
|
this.notes.push({
|
|
177
188
|
kind: 'warning',
|
|
178
189
|
message,
|
|
190
|
+
messageKey: wording[0],
|
|
191
|
+
...(params ? { messageParams: params } : {}),
|
|
179
192
|
...(element ? { element } : {}),
|
|
180
193
|
});
|
|
181
194
|
}
|
|
@@ -226,7 +239,7 @@ function fontSizeOf(raw, inherited, notes) {
|
|
|
226
239
|
return (value * 4) / 3;
|
|
227
240
|
if (unit === 'em')
|
|
228
241
|
return value * inherited;
|
|
229
|
-
notes.once(`font-unit:${unit}`, `Font sizes in \`${unit}\` cannot be resolved without a page to measure against; those labels use the inherited size
|
|
242
|
+
notes.once(`font-unit:${unit}`, `Font sizes in \`${unit}\` cannot be resolved without a page to measure against; those labels use the inherited size.`, SVG_SKETCH_FONT_UNIT, { unit });
|
|
230
243
|
return undefined;
|
|
231
244
|
}
|
|
232
245
|
/**
|
|
@@ -279,13 +292,13 @@ function isHidden(element, notes) {
|
|
|
279
292
|
const style = styleMap(element);
|
|
280
293
|
const display = style.get('display') ?? element.getAttribute('display');
|
|
281
294
|
if (display?.trim() === 'none') {
|
|
282
|
-
notes.once('hidden:display', 'Parts of the file marked `display:none` were not imported — they draw nothing where the file came from either.');
|
|
295
|
+
notes.once('hidden:display', 'Parts of the file marked `display:none` were not imported — they draw nothing where the file came from either.', SVG_SKETCH_HIDDEN_DISPLAY);
|
|
283
296
|
return true;
|
|
284
297
|
}
|
|
285
298
|
const visibility = style.get('visibility') ?? element.getAttribute('visibility');
|
|
286
299
|
const hidden = visibility?.trim();
|
|
287
300
|
if (hidden === 'hidden' || hidden === 'collapse') {
|
|
288
|
-
notes.once('hidden:visibility', 'Parts of the file marked `visibility:hidden` were not imported — they draw nothing where the file came from either.');
|
|
301
|
+
notes.once('hidden:visibility', 'Parts of the file marked `visibility:hidden` were not imported — they draw nothing where the file came from either.', SVG_SKETCH_HIDDEN_VISIBILITY);
|
|
289
302
|
return true;
|
|
290
303
|
}
|
|
291
304
|
return false;
|
|
@@ -306,7 +319,7 @@ function noteOpacity(element, notes) {
|
|
|
306
319
|
continue;
|
|
307
320
|
const value = Number.parseFloat(raw);
|
|
308
321
|
if (Number.isFinite(value) && value < 1) {
|
|
309
|
-
notes.once('opacity', 'Transparency is not carried: partly transparent shapes arrive at full strength.');
|
|
322
|
+
notes.once('opacity', 'Transparency is not carried: partly transparent shapes arrive at full strength.', SVG_SKETCH_OPACITY);
|
|
310
323
|
return;
|
|
311
324
|
}
|
|
312
325
|
}
|
|
@@ -340,11 +353,11 @@ function colorOf(raw, fallback, notes) {
|
|
|
340
353
|
if (!value || value === 'none' || value === 'transparent')
|
|
341
354
|
return undefined;
|
|
342
355
|
if (value.startsWith('url(')) {
|
|
343
|
-
notes.once('paint-server', 'Gradients and patterns are not read; the shapes that used one are a flat neutral.');
|
|
356
|
+
notes.once('paint-server', 'Gradients and patterns are not read; the shapes that used one are a flat neutral.', SVG_SKETCH_PAINT_SERVER);
|
|
344
357
|
return fallback;
|
|
345
358
|
}
|
|
346
359
|
if (value === 'currentColor') {
|
|
347
|
-
notes.once('current-color', '`currentColor` has no page to inherit from here; the shapes that used it are a flat neutral.');
|
|
360
|
+
notes.once('current-color', '`currentColor` has no page to inherit from here; the shapes that used it are a flat neutral.', SVG_SKETCH_CURRENT_COLOR);
|
|
348
361
|
return fallback;
|
|
349
362
|
}
|
|
350
363
|
return value;
|
|
@@ -412,7 +425,7 @@ function translated(element, frame, notes) {
|
|
|
412
425
|
ty += values[1] ?? 0;
|
|
413
426
|
continue;
|
|
414
427
|
}
|
|
415
|
-
notes.once(`transform:${kind}`, `\`${kind}\` transforms are ignored (best effort): what carried one is placed as if it did not
|
|
428
|
+
notes.once(`transform:${kind}`, `\`${kind}\` transforms are ignored (best effort): what carried one is placed as if it did not.`, SVG_SKETCH_TRANSFORM, { kind });
|
|
416
429
|
}
|
|
417
430
|
// A translate is expressed in the PARENT's user units, so it is scaled by the
|
|
418
431
|
// frame it was written in and never by the one it creates.
|
|
@@ -463,7 +476,7 @@ function samplePath(d, notes) {
|
|
|
463
476
|
if (current.length >= 2)
|
|
464
477
|
subpaths.push(current);
|
|
465
478
|
else if (current.length === 1) {
|
|
466
|
-
notes.once('lone-point', 'A path that never moved anywhere draws nothing and was skipped.');
|
|
479
|
+
notes.once('lone-point', 'A path that never moved anywhere draws nothing and was skipped.', SVG_SKETCH_LONE_POINT);
|
|
467
480
|
}
|
|
468
481
|
current = [];
|
|
469
482
|
};
|
|
@@ -480,7 +493,7 @@ function samplePath(d, notes) {
|
|
|
480
493
|
continue;
|
|
481
494
|
}
|
|
482
495
|
if (CURVE_COMMANDS.has(kind)) {
|
|
483
|
-
notes.once('curve', 'Curves are approximated by their endpoints (best effort), so a curved path arrives as straight segments.');
|
|
496
|
+
notes.once('curve', 'Curves are approximated by their endpoints (best effort), so a curved path arrives as straight segments.', SVG_SKETCH_CURVE);
|
|
484
497
|
}
|
|
485
498
|
// One command letter may carry SEVERAL argument groups (`L 1 2 3 4`), and
|
|
486
499
|
// a repeated `M` group is an implicit lineto — the spec's own rule, and the
|
|
@@ -532,7 +545,7 @@ function readRect(element, frame, paint, sketch) {
|
|
|
532
545
|
const w = num(element, 'width');
|
|
533
546
|
const h = num(element, 'height');
|
|
534
547
|
if (w <= 0 || h <= 0) {
|
|
535
|
-
sketch.notes.once('empty-box', EMPTY_BOX_NOTE);
|
|
548
|
+
sketch.notes.once('empty-box', EMPTY_BOX_NOTE, SVG_SKETCH_EMPTY_BOX);
|
|
536
549
|
return;
|
|
537
550
|
}
|
|
538
551
|
// `rx` is an absolute corner radius in user units, and the shape model reads
|
|
@@ -545,7 +558,7 @@ function readRect(element, frame, paint, sketch) {
|
|
|
545
558
|
const rawRadius = element.getAttribute('rx') ?? element.getAttribute('ry');
|
|
546
559
|
let radius = 0;
|
|
547
560
|
if (rawRadius?.includes('%')) {
|
|
548
|
-
sketch.notes.once('percent-radius', 'Corner radii given as a percentage were not read; those corners arrive square.');
|
|
561
|
+
sketch.notes.once('percent-radius', 'Corner radii given as a percentage were not read; those corners arrive square.', SVG_SKETCH_PERCENT_RADIUS);
|
|
549
562
|
}
|
|
550
563
|
else {
|
|
551
564
|
const scaled = len(frame, num(element, 'rx', num(element, 'ry')));
|
|
@@ -564,7 +577,7 @@ function readEllipse(element, frame, paint, sketch) {
|
|
|
564
577
|
const rx = circle ? r : num(element, 'rx');
|
|
565
578
|
const ry = circle ? r : num(element, 'ry');
|
|
566
579
|
if (rx <= 0 || ry <= 0) {
|
|
567
|
-
sketch.notes.once('empty-box', EMPTY_BOX_NOTE);
|
|
580
|
+
sketch.notes.once('empty-box', EMPTY_BOX_NOTE, SVG_SKETCH_EMPTY_BOX);
|
|
568
581
|
return;
|
|
569
582
|
}
|
|
570
583
|
const cx = num(element, 'cx');
|
|
@@ -600,10 +613,10 @@ function readPolygon(element, frame, paint, sketch) {
|
|
|
600
613
|
const h = Math.max(...ys) - minY;
|
|
601
614
|
if (points.length < 3 || w <= 0 || h <= 0) {
|
|
602
615
|
if (points.length === 0 || w < 0 || h < 0) {
|
|
603
|
-
sketch.notes.once('empty-box', EMPTY_BOX_NOTE);
|
|
616
|
+
sketch.notes.once('empty-box', EMPTY_BOX_NOTE, SVG_SKETCH_EMPTY_BOX);
|
|
604
617
|
return;
|
|
605
618
|
}
|
|
606
|
-
sketch.notes.once('flat-polygon', 'A polygon with fewer than three corners, or flat on one axis, arrives as its bounding rectangle.');
|
|
619
|
+
sketch.notes.once('flat-polygon', 'A polygon with fewer than three corners, or flat on one axis, arrives as its bounding rectangle.', SVG_SKETCH_FLAT_POLYGON);
|
|
607
620
|
sketch.elements.push({
|
|
608
621
|
...shapeProps(paint, frame, sketch),
|
|
609
622
|
shapeType: ShapeType.Rect,
|
|
@@ -710,7 +723,7 @@ function readText(element, frame, paint, sketch) {
|
|
|
710
723
|
}
|
|
711
724
|
}
|
|
712
725
|
if (lines.length === 0) {
|
|
713
|
-
sketch.notes.once('empty-text', 'Empty text elements were skipped.');
|
|
726
|
+
sketch.notes.once('empty-text', 'Empty text elements were skipped.', SVG_SKETCH_EMPTY_TEXT);
|
|
714
727
|
return;
|
|
715
728
|
}
|
|
716
729
|
const fontSize = len(frame, paint.fontSize ?? DEFAULT_FONT_SIZE);
|
|
@@ -780,7 +793,7 @@ function visit(element, frame, inherited, sketch) {
|
|
|
780
793
|
// of a label on top of itself.
|
|
781
794
|
const [first, ...rest] = childElements(element).filter(child => !NON_RENDERING.has(nameOf(child)));
|
|
782
795
|
if (rest.length > 0) {
|
|
783
|
-
sketch.notes.once('switch', 'A `<switch>` offers alternative renderings; the first was imported and the others were not.');
|
|
796
|
+
sketch.notes.once('switch', 'A `<switch>` offers alternative renderings; the first was imported and the others were not.', SVG_SKETCH_SWITCH);
|
|
784
797
|
}
|
|
785
798
|
if (first)
|
|
786
799
|
visit(first, here, paint, sketch);
|
|
@@ -834,7 +847,7 @@ function emit(element, name, frame, paint, sketch) {
|
|
|
834
847
|
// and whatever SVG grows next. A drawing built out of symbol instances
|
|
835
848
|
// arrives nearly empty, and this is the line that tells its author why
|
|
836
849
|
// instead of leaving them to guess.
|
|
837
|
-
sketch.notes.once(`skipped:${name}`, `\`<${name}>\` is not recognised and was skipped.`, name);
|
|
850
|
+
sketch.notes.once(`skipped:${name}`, `\`<${name}>\` is not recognised and was skipped.`, SVG_SKETCH_SKIPPED, { name }, name);
|
|
838
851
|
}
|
|
839
852
|
}
|
|
840
853
|
/* ── The capability's function ────────────────────────────────────────── */
|
|
@@ -896,14 +909,14 @@ function parseSvgRoot(source, notes) {
|
|
|
896
909
|
// plumbing.
|
|
897
910
|
if (PARSER_SCAFFOLDING.has(name.toLowerCase()))
|
|
898
911
|
continue;
|
|
899
|
-
notes.once(`removed:${name.toLowerCase()}`, `\`<${name}>\` was removed while sanitizing the file — it is one of the constructs an SVG can carry code in — so nothing it drew was imported.`, name);
|
|
912
|
+
notes.once(`removed:${name.toLowerCase()}`, `\`<${name}>\` was removed while sanitizing the file — it is one of the constructs an SVG can carry code in — so nothing it drew was imported.`, SVG_SKETCH_REMOVED, { name }, name);
|
|
900
913
|
}
|
|
901
914
|
else if (removed.attribute) {
|
|
902
915
|
// Worded for what this actually is, which is broader than "unsafe": the
|
|
903
916
|
// sanitizer's allow-list drops an event handler AND a `requiredFeatures`,
|
|
904
917
|
// and calling the second one dangerous would be this reader accusing a
|
|
905
918
|
// perfectly ordinary file of something.
|
|
906
|
-
notes.once('removed-attribute', 'Attributes outside the safe SVG drawing vocabulary — event handlers, script URLs, and anything else the sanitizer does not know — were removed before the file was read.');
|
|
919
|
+
notes.once('removed-attribute', 'Attributes outside the safe SVG drawing vocabulary — event handlers, script URLs, and anything else the sanitizer does not know — were removed before the file was read.', SVG_SKETCH_REMOVED_ATTRIBUTE);
|
|
907
920
|
}
|
|
908
921
|
}
|
|
909
922
|
// No cast: `RETURN_DOM: true` in the literal selects DOMPurify's typed
|
|
@@ -937,7 +950,7 @@ export function parseSvgSketch(source, context = {}) {
|
|
|
937
950
|
// every shape under it inherits — and it establishes the outermost viewport.
|
|
938
951
|
walk(root, viewportFrame(root, IDENTITY), paintOf(root, INITIAL_PAINT, sketch.notes), sketch);
|
|
939
952
|
if (sketch.elements.length === 0) {
|
|
940
|
-
sketch.notes.once('empty', 'No shape or text was recognised in this SVG, so nothing was drawn.');
|
|
953
|
+
sketch.notes.once('empty', 'No shape or text was recognised in this SVG, so nothing was drawn.', SVG_SKETCH_EMPTY);
|
|
941
954
|
}
|
|
942
955
|
return {
|
|
943
956
|
elements: sketch.elements,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EditorChevronDown } from '../../affine-components/toolbar/index.js';
|
|
2
|
-
import { getUniverseRegistry, translateKey, } from '../../affine-shared/services/index.js';
|
|
2
|
+
import { getUniverseRegistry, translateKey, translateTagLabel, } from '../../affine-shared/services/index.js';
|
|
3
3
|
import { getRegisteredCommands, runCommand } from '../../std/index.js';
|
|
4
4
|
import { elementTagValues, GfxGroupLikeElementModel, GfxPrimitiveElementModel, } from '../../std/gfx/index.js';
|
|
5
5
|
import { html, nothing } from 'lit';
|
|
@@ -190,10 +190,10 @@ function runTagSet(ctx, target, tag, values) {
|
|
|
190
190
|
/** One titled block of the dropdown — one tag. */
|
|
191
191
|
function renderSection(ctx, target, def) {
|
|
192
192
|
const selected = elementTagValues(target.element, def.id);
|
|
193
|
-
const label =
|
|
193
|
+
const label = translateTagLabel(ctx.std, def) || def.id;
|
|
194
194
|
const options = offeredValues(def, selected).map(value => {
|
|
195
195
|
const on = selected.includes(value.id);
|
|
196
|
-
const valueLabel =
|
|
196
|
+
const valueLabel = translateTagLabel(ctx.std, value) || value.id;
|
|
197
197
|
// `data-toggle` beside `data-option`: the row draws like a native option,
|
|
198
198
|
// but clicking the value in FORCE is how it is un-picked (`toggleValue`),
|
|
199
199
|
// whatever the tag's cardinality. Without it the selected row inherits
|
|
@@ -240,14 +240,14 @@ function triggerLabel(ctx, target) {
|
|
|
240
240
|
const selected = elementTagValues(target.element, def.id);
|
|
241
241
|
return offeredValues(def, selected)
|
|
242
242
|
.filter(value => selected.includes(value.id))
|
|
243
|
-
.map(value =>
|
|
243
|
+
.map(value => translateTagLabel(ctx.std, value) || value.id);
|
|
244
244
|
});
|
|
245
245
|
return chosen.length
|
|
246
246
|
? chosen.join(', ')
|
|
247
247
|
: // One applicable tag names itself ("Nature"); several fall back to the
|
|
248
248
|
// neutral word, since no single tag name is the truth about the element.
|
|
249
249
|
target.tags.length === 1
|
|
250
|
-
? target.tags[0]
|
|
250
|
+
? translateTagLabel(ctx.std, target.tags[0]) || target.tags[0].id
|
|
251
251
|
: translateKey(ctx.std, 'com.labre.tags.toolbar.label', 'Qualify');
|
|
252
252
|
}
|
|
253
253
|
/**
|
|
@@ -494,7 +494,10 @@ export interface FrameworkBackgroundDef {
|
|
|
494
494
|
transitionBandWidth?: Ratio;
|
|
495
495
|
chrome?: BackgroundChromeDef;
|
|
496
496
|
}
|
|
497
|
-
/**
|
|
497
|
+
/**
|
|
498
|
+
* The default card: a plain rectangle in the shared notation scale's card
|
|
499
|
+
* fill, no border, no radius.
|
|
500
|
+
*/
|
|
498
501
|
export declare const DEFAULT_BACKGROUND_SURFACE: BackgroundSurfaceDef;
|
|
499
502
|
/** The plot rectangle of a background of size `w × h`, in element-local units. */
|
|
500
503
|
export declare function backgroundPlot(def: FrameworkBackgroundDef, w: number, h: number): {
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import { NOTATION_NEUTRALS } from '../../affine-shared/consts/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* The default card: a plain rectangle in the shared notation scale's card
|
|
4
|
+
* fill, no border, no radius.
|
|
5
|
+
*/
|
|
2
6
|
export const DEFAULT_BACKGROUND_SURFACE = {
|
|
3
|
-
fill:
|
|
7
|
+
fill: NOTATION_NEUTRALS.cardFill,
|
|
4
8
|
};
|
|
5
9
|
/** The plot rectangle of a background of size `w × h`, in element-local units. */
|
|
6
10
|
export function backgroundPlot(def, w, h) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ColorScheme } from '../../affine-model/index.js';
|
|
2
|
-
import { ShadowlessElement } from '../../std/index.js';
|
|
2
|
+
import { type BlockStdScope, ShadowlessElement } from '../../std/index.js';
|
|
3
3
|
import { type GfxModel } from '../../std/gfx/index.js';
|
|
4
4
|
import { nothing } from 'lit';
|
|
5
5
|
declare const SurfaceRefPlaceHolder_base: typeof ShadowlessElement & import("../../global/utils/types.js").Constructor<import("../../global/lit/with-disposable.js").DisposableClass>;
|
|
@@ -9,6 +9,7 @@ export declare class SurfaceRefPlaceHolder extends SurfaceRefPlaceHolder_base {
|
|
|
9
9
|
accessor refFlavour: string;
|
|
10
10
|
accessor inEdgeless: boolean;
|
|
11
11
|
accessor theme: ColorScheme;
|
|
12
|
+
accessor std: BlockStdScope;
|
|
12
13
|
render(): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
13
14
|
}
|
|
14
15
|
declare global {
|
|
@@ -33,6 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
35
|
import { ColorScheme } from '../../affine-model/index.js';
|
|
36
|
+
import { translateKey } from '../../affine-shared/services/index.js';
|
|
36
37
|
import { unsafeCSSVarV2 } from '../../affine-shared/theme/index.js';
|
|
37
38
|
import { SignalWatcher, WithDisposable } from '../../global/lit/index.js';
|
|
38
39
|
import { DeleteIcon } from '@blocksuite/icons/lit';
|
|
@@ -42,6 +43,7 @@ import { css, html, nothing } from 'lit';
|
|
|
42
43
|
import { property } from 'lit/decorators.js';
|
|
43
44
|
import { classMap } from 'lit/directives/class-map.js';
|
|
44
45
|
import { DarkDeletedSmallBanner, LightDeletedSmallBanner } from '../icons.js';
|
|
46
|
+
import { SURFACE_REF_PLACEHOLDER_NOT_AVAILABLE, SURFACE_REF_TYPE_SENTENCE_WORDINGS, } from '../translations.js';
|
|
45
47
|
import { getReferenceModelTitle, TYPE_ICON_MAP } from '../utils.js';
|
|
46
48
|
let SurfaceRefPlaceHolder = (() => {
|
|
47
49
|
let _classSuper = SignalWatcher(WithDisposable(ShadowlessElement));
|
|
@@ -57,6 +59,9 @@ let SurfaceRefPlaceHolder = (() => {
|
|
|
57
59
|
let _theme_decorators;
|
|
58
60
|
let _theme_initializers = [];
|
|
59
61
|
let _theme_extraInitializers = [];
|
|
62
|
+
let _std_decorators;
|
|
63
|
+
let _std_initializers = [];
|
|
64
|
+
let _std_extraInitializers = [];
|
|
60
65
|
return class SurfaceRefPlaceHolder extends _classSuper {
|
|
61
66
|
static {
|
|
62
67
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
@@ -64,10 +69,12 @@ let SurfaceRefPlaceHolder = (() => {
|
|
|
64
69
|
_refFlavour_decorators = [property({ attribute: false })];
|
|
65
70
|
_inEdgeless_decorators = [property({ attribute: false })];
|
|
66
71
|
_theme_decorators = [property({ attribute: false })];
|
|
72
|
+
_std_decorators = [property({ attribute: false })];
|
|
67
73
|
__esDecorate(this, null, _referenceModel_decorators, { kind: "accessor", name: "referenceModel", static: false, private: false, access: { has: obj => "referenceModel" in obj, get: obj => obj.referenceModel, set: (obj, value) => { obj.referenceModel = value; } }, metadata: _metadata }, _referenceModel_initializers, _referenceModel_extraInitializers);
|
|
68
74
|
__esDecorate(this, null, _refFlavour_decorators, { kind: "accessor", name: "refFlavour", static: false, private: false, access: { has: obj => "refFlavour" in obj, get: obj => obj.refFlavour, set: (obj, value) => { obj.refFlavour = value; } }, metadata: _metadata }, _refFlavour_initializers, _refFlavour_extraInitializers);
|
|
69
75
|
__esDecorate(this, null, _inEdgeless_decorators, { kind: "accessor", name: "inEdgeless", static: false, private: false, access: { has: obj => "inEdgeless" in obj, get: obj => obj.inEdgeless, set: (obj, value) => { obj.inEdgeless = value; } }, metadata: _metadata }, _inEdgeless_initializers, _inEdgeless_extraInitializers);
|
|
70
76
|
__esDecorate(this, null, _theme_decorators, { kind: "accessor", name: "theme", static: false, private: false, access: { has: obj => "theme" in obj, get: obj => obj.theme, set: (obj, value) => { obj.theme = value; } }, metadata: _metadata }, _theme_initializers, _theme_extraInitializers);
|
|
77
|
+
__esDecorate(this, null, _std_decorators, { kind: "accessor", name: "std", static: false, private: false, access: { has: obj => "std" in obj, get: obj => obj.std, set: (obj, value) => { obj.std = value; } }, metadata: _metadata }, _std_initializers, _std_extraInitializers);
|
|
71
78
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
72
79
|
}
|
|
73
80
|
static { this.styles = css `
|
|
@@ -129,15 +136,21 @@ let SurfaceRefPlaceHolder = (() => {
|
|
|
129
136
|
#theme_accessor_storage = (__runInitializers(this, _inEdgeless_extraInitializers), __runInitializers(this, _theme_initializers, ColorScheme.Light));
|
|
130
137
|
get theme() { return this.#theme_accessor_storage; }
|
|
131
138
|
set theme(value) { this.#theme_accessor_storage = value; }
|
|
139
|
+
#std_accessor_storage = (__runInitializers(this, _theme_extraInitializers), __runInitializers(this, _std_initializers, void 0));
|
|
140
|
+
get std() { return this.#std_accessor_storage; }
|
|
141
|
+
set std(value) { this.#std_accessor_storage = value; }
|
|
132
142
|
render() {
|
|
133
|
-
const { referenceModel, refFlavour, inEdgeless } = this;
|
|
143
|
+
const { referenceModel, refFlavour, inEdgeless, std } = this;
|
|
134
144
|
// When surface ref is in page mode and reference exists, don't render placeholder
|
|
135
145
|
if (referenceModel && !inEdgeless)
|
|
136
146
|
return nothing;
|
|
137
147
|
const modelNotFound = !referenceModel;
|
|
138
148
|
const matchedType = TYPE_ICON_MAP[refFlavour] ?? TYPE_ICON_MAP['edgeless'];
|
|
149
|
+
const matchedTypeName = translateKey(std, ...matchedType.wording);
|
|
150
|
+
const sentences = SURFACE_REF_TYPE_SENTENCE_WORDINGS[refFlavour] ??
|
|
151
|
+
SURFACE_REF_TYPE_SENTENCE_WORDINGS['edgeless'];
|
|
139
152
|
const title = (referenceModel && getReferenceModelTitle(referenceModel)) ??
|
|
140
|
-
|
|
153
|
+
matchedTypeName;
|
|
141
154
|
const notFoundBackground = this.theme === ColorScheme.Light
|
|
142
155
|
? LightDeletedSmallBanner
|
|
143
156
|
: DarkDeletedSmallBanner;
|
|
@@ -157,15 +170,17 @@ let SurfaceRefPlaceHolder = (() => {
|
|
|
157
170
|
${modelNotFound ? DeleteIcon() : matchedType.icon}
|
|
158
171
|
<span class="surface-ref-title">
|
|
159
172
|
${modelNotFound
|
|
160
|
-
?
|
|
173
|
+
? translateKey(std, ...SURFACE_REF_PLACEHOLDER_NOT_AVAILABLE, {
|
|
174
|
+
type: matchedTypeName,
|
|
175
|
+
})
|
|
161
176
|
: `${title}`}
|
|
162
177
|
</span>
|
|
163
178
|
</div>
|
|
164
179
|
<div class="surface-ref-placeholder-body">
|
|
165
180
|
<span class="surface-ref-text">
|
|
166
181
|
${modelNotFound
|
|
167
|
-
?
|
|
168
|
-
:
|
|
182
|
+
? translateKey(std, ...sentences.deleted)
|
|
183
|
+
: translateKey(std, ...sentences.cannotDisplay)}
|
|
169
184
|
</span>
|
|
170
185
|
</div>
|
|
171
186
|
</div>
|
|
@@ -173,7 +188,7 @@ let SurfaceRefPlaceHolder = (() => {
|
|
|
173
188
|
}
|
|
174
189
|
constructor() {
|
|
175
190
|
super(...arguments);
|
|
176
|
-
__runInitializers(this,
|
|
191
|
+
__runInitializers(this, _std_extraInitializers);
|
|
177
192
|
}
|
|
178
193
|
};
|
|
179
194
|
})();
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { EdgelessFrameManagerIdentifier } from '../../affine-block-frame/index.js';
|
|
2
2
|
import { EdgelessCRUDExtension } from '../../affine-block-surface/index.js';
|
|
3
3
|
import { MindmapStyle, SurfaceRefBlockSchema } from '../../affine-model/index.js';
|
|
4
|
+
import { TOOLBAR_FRAME, translateKey } from '../../affine-shared/services/index.js';
|
|
4
5
|
import { SlashMenuConfigExtension, } from '../../affine-widget-slash-menu/index.js';
|
|
5
6
|
import { Bound } from '../../global/gfx/index.js';
|
|
6
7
|
import { FrameIcon, GroupingIcon, MindmapIcon } from '@blocksuite/icons/lit';
|
|
7
8
|
import { BlockSelection } from '../../std/index.js';
|
|
8
9
|
import { GfxControllerIdentifier } from '../../std/gfx/index.js';
|
|
9
10
|
import { insertSurfaceRefBlockCommand } from '../commands.js';
|
|
11
|
+
import { SURFACE_REF_SEED_MINDMAP_NODE, SURFACE_REF_SEED_MINDMAP_ROOT, SURFACE_REF_SLASH_FRAME_DESCRIPTION, SURFACE_REF_SLASH_FRAME_ITEM_NAME, SURFACE_REF_SLASH_GROUP_ITEM_NAME, SURFACE_REF_SLASH_MINDMAP_DESCRIPTION, SURFACE_REF_SLASH_MINDMAP_NAME, SURFACE_REF_SLASH_TOOLTIP_EDGELESS, } from '../translations.js';
|
|
10
12
|
import { EdgelessTooltip, FrameTooltip, MindMapTooltip } from './tooltips.js';
|
|
11
13
|
const surfaceRefSlashMenuConfig = {
|
|
12
14
|
items: ({ std, model }) => {
|
|
@@ -42,11 +44,14 @@ const surfaceRefSlashMenuConfig = {
|
|
|
42
44
|
let index = 0;
|
|
43
45
|
const insertBlankFrameItem = {
|
|
44
46
|
name: 'Frame',
|
|
47
|
+
nameWording: TOOLBAR_FRAME,
|
|
45
48
|
description: 'Insert a blank frame',
|
|
49
|
+
descriptionWording: SURFACE_REF_SLASH_FRAME_DESCRIPTION,
|
|
46
50
|
icon: FrameIcon(),
|
|
47
51
|
tooltip: {
|
|
48
52
|
figure: FrameTooltip,
|
|
49
53
|
caption: 'Frame',
|
|
54
|
+
captionWording: TOOLBAR_FRAME,
|
|
50
55
|
},
|
|
51
56
|
group: `5_Edgeless Element@${index++}`,
|
|
52
57
|
action: () => {
|
|
@@ -57,11 +62,14 @@ const surfaceRefSlashMenuConfig = {
|
|
|
57
62
|
};
|
|
58
63
|
const insertMindMapItem = {
|
|
59
64
|
name: 'Mind Map',
|
|
65
|
+
nameWording: SURFACE_REF_SLASH_MINDMAP_NAME,
|
|
60
66
|
description: 'Insert a mind map',
|
|
67
|
+
descriptionWording: SURFACE_REF_SLASH_MINDMAP_DESCRIPTION,
|
|
61
68
|
icon: MindmapIcon(),
|
|
62
69
|
tooltip: {
|
|
63
70
|
figure: MindMapTooltip,
|
|
64
|
-
caption: '
|
|
71
|
+
caption: 'Canvas',
|
|
72
|
+
captionWording: SURFACE_REF_SLASH_TOOLTIP_EDGELESS,
|
|
65
73
|
},
|
|
66
74
|
group: `5_Edgeless Element@${index++}`,
|
|
67
75
|
action: () => {
|
|
@@ -74,9 +82,12 @@ const surfaceRefSlashMenuConfig = {
|
|
|
74
82
|
const centerVertical = y + h / 2;
|
|
75
83
|
const rootX = x;
|
|
76
84
|
const rootY = centerVertical - rootH / 2;
|
|
85
|
+
// Translated HERE and once: the captions are document content the
|
|
86
|
+
// moment they land (ADR 0016), so the host's catalogue is asked at
|
|
87
|
+
// placement and never again.
|
|
77
88
|
const root = {
|
|
78
89
|
children: [],
|
|
79
|
-
text:
|
|
90
|
+
text: translateKey(std, ...SURFACE_REF_SEED_MINDMAP_ROOT),
|
|
80
91
|
xywh: `[${rootX},${rootY},${rootW},${rootH}]`,
|
|
81
92
|
};
|
|
82
93
|
for (let i = 0; i < 3; i++) {
|
|
@@ -84,7 +95,7 @@ const surfaceRefSlashMenuConfig = {
|
|
|
84
95
|
const nodeY = centerVertical - nodeH / 2 + (i - 1) * 50;
|
|
85
96
|
root.children.push({
|
|
86
97
|
children: [],
|
|
87
|
-
text:
|
|
98
|
+
text: translateKey(std, ...SURFACE_REF_SEED_MINDMAP_NODE),
|
|
88
99
|
xywh: `[${nodeX},${nodeY},${nodeW},${nodeH}]`,
|
|
89
100
|
});
|
|
90
101
|
}
|
|
@@ -98,12 +109,15 @@ const surfaceRefSlashMenuConfig = {
|
|
|
98
109
|
},
|
|
99
110
|
};
|
|
100
111
|
const frameItems = frameMgr.frames.map(frameModel => ({
|
|
101
|
-
name:
|
|
112
|
+
name: translateKey(std, ...SURFACE_REF_SLASH_FRAME_ITEM_NAME, {
|
|
113
|
+
title: frameModel.props.title.toString(),
|
|
114
|
+
}),
|
|
102
115
|
icon: FrameIcon(),
|
|
103
116
|
group: `5_Edgeless Element@${index++}`,
|
|
104
117
|
tooltip: {
|
|
105
118
|
figure: EdgelessTooltip,
|
|
106
|
-
caption: '
|
|
119
|
+
caption: 'Canvas',
|
|
120
|
+
captionWording: SURFACE_REF_SLASH_TOOLTIP_EDGELESS,
|
|
107
121
|
},
|
|
108
122
|
action: () => {
|
|
109
123
|
insertSurfaceRefAndSelect(frameModel.id);
|
|
@@ -111,12 +125,15 @@ const surfaceRefSlashMenuConfig = {
|
|
|
111
125
|
}));
|
|
112
126
|
const groupElements = crud.getElementsByType('group');
|
|
113
127
|
const groupItems = groupElements.map(group => ({
|
|
114
|
-
name:
|
|
128
|
+
name: translateKey(std, ...SURFACE_REF_SLASH_GROUP_ITEM_NAME, {
|
|
129
|
+
title: group.title.toString(),
|
|
130
|
+
}),
|
|
115
131
|
icon: GroupingIcon(),
|
|
116
132
|
group: `5_Edgeless Element@${index++}`,
|
|
117
133
|
tooltip: {
|
|
118
134
|
figure: EdgelessTooltip,
|
|
119
|
-
caption: '
|
|
135
|
+
caption: 'Canvas',
|
|
136
|
+
captionWording: SURFACE_REF_SLASH_TOOLTIP_EDGELESS,
|
|
120
137
|
},
|
|
121
138
|
action: () => {
|
|
122
139
|
insertSurfaceRefAndSelect(group.id);
|
|
@@ -30,7 +30,7 @@ export const EdgelessTooltip = html `<svg width="170" height="106" viewBox="0 0
|
|
|
30
30
|
export const FrameTooltip = html `<svg width="170" height="89" viewBox="0 0 170 89" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
31
31
|
<g clip-path="url(#clip0_5269_147682)">
|
|
32
32
|
<rect width="170" height="89" fill="white"/>
|
|
33
|
-
<text fill="#8E8D91" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="10" letter-spacing="0px"><tspan x="8" y="16.6364">Create a blank frame in
|
|
33
|
+
<text fill="#8E8D91" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="10" letter-spacing="0px"><tspan x="8" y="16.6364">Create a blank frame in Canvas</tspan></text>
|
|
34
34
|
<rect x="16" y="45" width="164" height="59" rx="3" stroke="black" stroke-opacity="0.52" stroke-width="2"/>
|
|
35
35
|
<rect x="15" y="27" width="32" height="13" rx="3" fill="black" fill-opacity="0.95"/>
|
|
36
36
|
<text fill="white" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="8" font-weight="500" letter-spacing="0px"><tspan x="19" y="35.8182">Frame</tspan></text>
|
|
@@ -46,7 +46,7 @@ export const FrameTooltip = html `<svg width="170" height="89" viewBox="0 0 170
|
|
|
46
46
|
export const MindMapTooltip = html `<svg width="170" height="106" viewBox="0 0 170 106" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
47
47
|
<g clip-path="url(#clip0_5150_67028)">
|
|
48
48
|
<rect width="170" height="106" fill="white"/>
|
|
49
|
-
<text fill="#8E8D91" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="10" letter-spacing="0px"><tspan x="8" y="16.6364">Create a mind map in
|
|
49
|
+
<text fill="#8E8D91" xml:space="preserve" style="white-space: pre" font-family="Inter" font-size="10" letter-spacing="0px"><tspan x="8" y="16.6364">Create a mind map in Canvas</tspan></text>
|
|
50
50
|
<g filter="url(#filter0_d_5150_67028)">
|
|
51
51
|
<rect x="21" y="53" width="59" height="19" rx="5" stroke="#29A3FA" stroke-width="2"/>
|
|
52
52
|
<text fill="black" xml:space="preserve" style="white-space: pre" font-family="Poppins" font-size="8" font-weight="500" letter-spacing="0px"><tspan x="30.5" y="65.076">Mind Map</tspan></text>
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { type ChromeWording } from '../affine-shared/services/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* The "/ Mind Map" slash-menu entry's seeds: the root and child node captions
|
|
4
|
+
* a freshly inserted mindmap is written with (`configs/slash-menu.ts`).
|
|
5
|
+
* Resolved at PLACEMENT and never again — a node renamed by its author keeps
|
|
6
|
+
* its name, and a mindmap inserted before these keys existed keeps the plain
|
|
7
|
+
* text it was given.
|
|
8
|
+
*/
|
|
9
|
+
export declare const SURFACE_REF_SEED_MINDMAP_ROOT: ChromeWording;
|
|
10
|
+
export declare const SURFACE_REF_SEED_MINDMAP_NODE: ChromeWording;
|
|
11
|
+
/**
|
|
12
|
+
* This package's contribution to the translation-key manifest, listed in
|
|
13
|
+
* `PACKAGE_SEED_WORDINGS` under source `seed`
|
|
14
|
+
* (`packages/affine/all/src/translations.ts`).
|
|
15
|
+
*/
|
|
16
|
+
export declare const SURFACE_REF_WORDINGS: readonly ChromeWording[];
|
|
17
|
+
/**
|
|
18
|
+
* The "Mind Map" slash-menu item's own name — the item shown in the menu,
|
|
19
|
+
* NOT the root node's seed text (`SURFACE_REF_SEED_MINDMAP_ROOT`), which
|
|
20
|
+
* happens to read the same but is a different concern (see the module doc
|
|
21
|
+
* above).
|
|
22
|
+
*/
|
|
23
|
+
export declare const SURFACE_REF_SLASH_MINDMAP_NAME: ChromeWording;
|
|
24
|
+
export declare const SURFACE_REF_SLASH_MINDMAP_DESCRIPTION: ChromeWording;
|
|
25
|
+
export declare const SURFACE_REF_SLASH_FRAME_DESCRIPTION: ChromeWording;
|
|
26
|
+
/** The tooltip caption shared by the mindmap, frame and group list items. */
|
|
27
|
+
export declare const SURFACE_REF_SLASH_TOOLTIP_EDGELESS: ChromeWording;
|
|
28
|
+
/**
|
|
29
|
+
* The "Frame: {{title}}" / "Group: {{title}}" list items — a placed frame's
|
|
30
|
+
* or group's own entry in the slash menu, named after its live title. Was a
|
|
31
|
+
* string CONCATENATION (`'Frame: ' + frameModel.props.title`) the literal
|
|
32
|
+
* guard could only half-detect (see `literals.unit.spec.ts`'s ponytail
|
|
33
|
+
* note); resolving it through the seam removes the literal outright.
|
|
34
|
+
*/
|
|
35
|
+
export declare const SURFACE_REF_SLASH_FRAME_ITEM_NAME: ChromeWording;
|
|
36
|
+
export declare const SURFACE_REF_SLASH_GROUP_ITEM_NAME: ChromeWording;
|
|
37
|
+
/**
|
|
38
|
+
* The reference kinds' own display names. `frame` reuses the shared
|
|
39
|
+
* `TOOLBAR_FRAME` chrome wording (the frame primitive's name, also used by
|
|
40
|
+
* the `frame` package's own tool and dense-menu entry) rather than a second
|
|
41
|
+
* key for the same word.
|
|
42
|
+
*/
|
|
43
|
+
export declare const SURFACE_REF_TYPE_GROUP: ChromeWording;
|
|
44
|
+
export declare const SURFACE_REF_TYPE_MINDMAP: ChromeWording;
|
|
45
|
+
export declare const SURFACE_REF_TYPE_EDGELESS: ChromeWording;
|
|
46
|
+
/** The title shown when the referenced element is missing entirely. */
|
|
47
|
+
export declare const SURFACE_REF_PLACEHOLDER_NOT_AVAILABLE: ChromeWording;
|
|
48
|
+
/**
|
|
49
|
+
* The body sentence for each kind, once found to be deleted — one full
|
|
50
|
+
* sentence per kind rather than one interpolated onto a lowercased name: the
|
|
51
|
+
* lower-casing is a purely English inflection the fallback needs to
|
|
52
|
+
* reproduce exactly, and a translated host may not have a stable "lowercase"
|
|
53
|
+
* of a translated noun at all (mirrors `BOARD_LEGEND_NOTATION` /
|
|
54
|
+
* `BOARD_LEGEND_COMPONENTS` in `chrome.ts`: a full sentence per case rather
|
|
55
|
+
* than a shared template).
|
|
56
|
+
*/
|
|
57
|
+
export declare const SURFACE_REF_PLACEHOLDER_DELETED_FRAME: ChromeWording;
|
|
58
|
+
export declare const SURFACE_REF_PLACEHOLDER_DELETED_GROUP: ChromeWording;
|
|
59
|
+
export declare const SURFACE_REF_PLACEHOLDER_DELETED_MINDMAP: ChromeWording;
|
|
60
|
+
export declare const SURFACE_REF_PLACEHOLDER_DELETED_EDGELESS: ChromeWording;
|
|
61
|
+
export declare const SURFACE_REF_PLACEHOLDER_CANNOT_DISPLAY_FRAME: ChromeWording;
|
|
62
|
+
export declare const SURFACE_REF_PLACEHOLDER_CANNOT_DISPLAY_GROUP: ChromeWording;
|
|
63
|
+
export declare const SURFACE_REF_PLACEHOLDER_CANNOT_DISPLAY_MINDMAP: ChromeWording;
|
|
64
|
+
export declare const SURFACE_REF_PLACEHOLDER_CANNOT_DISPLAY_EDGELESS: ChromeWording;
|
|
65
|
+
/**
|
|
66
|
+
* Per-kind table joining the two placeholder sentences above to the
|
|
67
|
+
* `refFlavour` / `TYPE_ICON_MAP` key they answer for
|
|
68
|
+
* (`components/placeholder.ts`). The kind's NAME itself is
|
|
69
|
+
* `TYPE_ICON_MAP[key].wording` (`utils.ts`) — not repeated here.
|
|
70
|
+
*/
|
|
71
|
+
export declare const SURFACE_REF_TYPE_SENTENCE_WORDINGS: Readonly<Record<string, {
|
|
72
|
+
deleted: ChromeWording;
|
|
73
|
+
cannotDisplay: ChromeWording;
|
|
74
|
+
}>>;
|
|
75
|
+
/**
|
|
76
|
+
* This package's CHROME contribution to the translation-key manifest,
|
|
77
|
+
* listed in `PACKAGE_WORDINGS` under source `chrome`
|
|
78
|
+
* (`packages/affine/all/src/translations.ts`) — separate from
|
|
79
|
+
* {@link SURFACE_REF_WORDINGS} above, which stays under `PACKAGE_SEED_WORDINGS`
|
|
80
|
+
* (source `seed`). `TOOLBAR_FRAME` travels with
|
|
81
|
+
* `@labre/affine-shared/services` instead, so it is not restated here.
|
|
82
|
+
*/
|
|
83
|
+
export declare const SURFACE_REF_CHROME_WORDINGS: readonly ChromeWording[];
|