@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
|
@@ -26,8 +26,14 @@ export interface TranslationService {
|
|
|
26
26
|
/**
|
|
27
27
|
* Resolve an i18n key. Return `undefined` when the catalogue has no entry,
|
|
28
28
|
* so the caller can fall back rather than render an empty bubble.
|
|
29
|
+
*
|
|
30
|
+
* `params` carries the values of a sentence with holes in it ("Failed to
|
|
31
|
+
* upload {{name}}"). The host interpolates them — and pluralises on `count` —
|
|
32
|
+
* with its own i18n stack; the placeholders are i18next's `{{name}}`, so a
|
|
33
|
+
* catalogue seeded from the manifest's fallbacks works as is. A host that
|
|
34
|
+
* ignores `params` still type-checks and simply shows its unfilled wording.
|
|
29
35
|
*/
|
|
30
|
-
t(key: string): string | undefined;
|
|
36
|
+
t(key: string, params?: TranslationParams): string | undefined;
|
|
31
37
|
/**
|
|
32
38
|
* The language the catalogue is currently serving, as a BCP-47 tag
|
|
33
39
|
* (`'fr'`, `'en-GB'`). Optional, and NOT locale negotiation — the library
|
|
@@ -51,6 +57,34 @@ export interface TranslationService {
|
|
|
51
57
|
* framework has a convention that holds in `en-GB` and not in `en-US`.
|
|
52
58
|
*/
|
|
53
59
|
export declare function hostLanguage(std: BlockStdScope): string | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* The host's full language tag (`'fr-CA'`), or `undefined` when no host said —
|
|
62
|
+
* for `Intl` formatting of dates and numbers, where the region matters
|
|
63
|
+
* (`en-GB` and `en-US` write a date differently). `undefined` hands `Intl` the
|
|
64
|
+
* runtime default, which is what the editor did before hosts could say.
|
|
65
|
+
*/
|
|
66
|
+
export declare function hostLocale(std: BlockStdScope): string | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* `hostLocale(std)`, defaulting to `'en-US'` when the host said nothing —
|
|
69
|
+
* the locale every `Intl.*Format` call in the library resolves against.
|
|
70
|
+
*
|
|
71
|
+
* Dates and numbers fall back to English like every string does, so a
|
|
72
|
+
* standalone playground stays deterministic: `Intl`'s own runtime-default
|
|
73
|
+
* fallback would instead read whatever locale the machine happens to have,
|
|
74
|
+
* which is not a fallback a test can assert on.
|
|
75
|
+
*/
|
|
76
|
+
export declare function formatLocale(std: BlockStdScope): string;
|
|
77
|
+
/** The values of a wording's `{{name}}` placeholders. */
|
|
78
|
+
export type TranslationParams = Record<string, string | number>;
|
|
79
|
+
/**
|
|
80
|
+
* Fill `{{name}}` placeholders from `params`; a placeholder with no value is
|
|
81
|
+
* left as written, so a missing argument shows rather than vanishes.
|
|
82
|
+
*
|
|
83
|
+
* The library's side of interpolation only — used on the English fallback when
|
|
84
|
+
* the host has no entry. Pluralisation is the host's: a fallback stays neutral
|
|
85
|
+
* ("{{count}} element(s)").
|
|
86
|
+
*/
|
|
87
|
+
export declare function fillPlaceholders(wording: string, params?: TranslationParams): string;
|
|
54
88
|
export declare const TranslationProvider: import("../../../global/di/types.js").ServiceIdentifier<TranslationService> & (<U extends TranslationService = TranslationService>(variant: import("../../../global/di/types.js").ServiceVariant) => import("../../../global/di/types.js").ServiceIdentifier<U>);
|
|
55
89
|
export declare const TranslationExtension: (service: TranslationService) => ExtensionType;
|
|
56
90
|
/**
|
|
@@ -65,5 +99,9 @@ export declare const TranslationExtension: (service: TranslationService) => Exte
|
|
|
65
99
|
* made up.
|
|
66
100
|
* - **Chrome** (the word "Warning" on a severity chip) passes an English
|
|
67
101
|
* default, so a standalone playground reads correctly without a catalogue.
|
|
102
|
+
*
|
|
103
|
+
* `params` fill the wording's `{{name}}` placeholders: handed to the host,
|
|
104
|
+
* which interpolates its own translation, and filled here into the fallback
|
|
105
|
+
* when the host has none.
|
|
68
106
|
*/
|
|
69
|
-
export declare function translateKey(std: BlockStdScope, key: string, fallback?: string): string;
|
|
107
|
+
export declare function translateKey(std: BlockStdScope, key: string, fallback?: string, params?: TranslationParams): string;
|
|
@@ -13,6 +13,41 @@ export function hostLanguage(std) {
|
|
|
13
13
|
return undefined;
|
|
14
14
|
return tag.split('-')[0].toLowerCase();
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* The host's full language tag (`'fr-CA'`), or `undefined` when no host said —
|
|
18
|
+
* for `Intl` formatting of dates and numbers, where the region matters
|
|
19
|
+
* (`en-GB` and `en-US` write a date differently). `undefined` hands `Intl` the
|
|
20
|
+
* runtime default, which is what the editor did before hosts could say.
|
|
21
|
+
*/
|
|
22
|
+
export function hostLocale(std) {
|
|
23
|
+
const tag = std.getOptional(TranslationProvider)?.language;
|
|
24
|
+
return typeof tag === 'string' && tag.length > 0 ? tag : undefined;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* `hostLocale(std)`, defaulting to `'en-US'` when the host said nothing —
|
|
28
|
+
* the locale every `Intl.*Format` call in the library resolves against.
|
|
29
|
+
*
|
|
30
|
+
* Dates and numbers fall back to English like every string does, so a
|
|
31
|
+
* standalone playground stays deterministic: `Intl`'s own runtime-default
|
|
32
|
+
* fallback would instead read whatever locale the machine happens to have,
|
|
33
|
+
* which is not a fallback a test can assert on.
|
|
34
|
+
*/
|
|
35
|
+
export function formatLocale(std) {
|
|
36
|
+
return hostLocale(std) ?? 'en-US';
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Fill `{{name}}` placeholders from `params`; a placeholder with no value is
|
|
40
|
+
* left as written, so a missing argument shows rather than vanishes.
|
|
41
|
+
*
|
|
42
|
+
* The library's side of interpolation only — used on the English fallback when
|
|
43
|
+
* the host has no entry. Pluralisation is the host's: a fallback stays neutral
|
|
44
|
+
* ("{{count}} element(s)").
|
|
45
|
+
*/
|
|
46
|
+
export function fillPlaceholders(wording, params) {
|
|
47
|
+
if (!params)
|
|
48
|
+
return wording;
|
|
49
|
+
return wording.replace(/\{\{\s*(\w+)\s*\}\}/g, (hole, name) => name in params ? String(params[name]) : hole);
|
|
50
|
+
}
|
|
16
51
|
export const TranslationProvider = createIdentifier('AffineTranslationService');
|
|
17
52
|
export const TranslationExtension = (service) => {
|
|
18
53
|
return {
|
|
@@ -33,8 +68,14 @@ export const TranslationExtension = (service) => {
|
|
|
33
68
|
* made up.
|
|
34
69
|
* - **Chrome** (the word "Warning" on a severity chip) passes an English
|
|
35
70
|
* default, so a standalone playground reads correctly without a catalogue.
|
|
71
|
+
*
|
|
72
|
+
* `params` fill the wording's `{{name}}` placeholders: handed to the host,
|
|
73
|
+
* which interpolates its own translation, and filled here into the fallback
|
|
74
|
+
* when the host has none.
|
|
36
75
|
*/
|
|
37
|
-
export function translateKey(std, key, fallback = key) {
|
|
38
|
-
const resolved = std.getOptional(TranslationProvider)?.t(key);
|
|
39
|
-
return resolved !== undefined && resolved !== ''
|
|
76
|
+
export function translateKey(std, key, fallback = key, params) {
|
|
77
|
+
const resolved = std.getOptional(TranslationProvider)?.t(key, params);
|
|
78
|
+
return resolved !== undefined && resolved !== ''
|
|
79
|
+
? resolved
|
|
80
|
+
: fillPlaceholders(fallback, params);
|
|
40
81
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BlockStdScope, FrameworkId } from '../../std/index.js';
|
|
1
|
+
import type { BlockStdScope, FrameworkId, TranslationKeyManifestEntry } from '../../std/index.js';
|
|
2
2
|
import type { RoleDefs, RoleId } from '../../std/gfx/index.js';
|
|
3
3
|
import type { ExtensionType } from '../../store/index.js';
|
|
4
4
|
/**
|
|
@@ -15,9 +15,31 @@ export type TagValueId = string;
|
|
|
15
15
|
export type TagValueDef = {
|
|
16
16
|
/** `'<tagId>/<local>'`, e.g. `'wardley:nature/data'`. */
|
|
17
17
|
id: TagValueId;
|
|
18
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Display label. For a HOST-seeded pack this is already localized — the app
|
|
20
|
+
* seeds a pack per deployment and `label` is that deployment's own wording,
|
|
21
|
+
* same as ever. For the library's OWN pack (`WARDLEY_TAG_DEFS`, the format's
|
|
22
|
+
* worked example) it is the ENGLISH fallback beside {@link labelKey}, on the
|
|
23
|
+
* same seam every other library string uses (ADR 0007 § 2bis's rule for role
|
|
24
|
+
* labels, extended here to tag values).
|
|
25
|
+
*/
|
|
19
26
|
label: string;
|
|
27
|
+
/**
|
|
28
|
+
* i18n key resolved by the host's catalogue, `label` its fallback — see
|
|
29
|
+
* {@link translateTagLabel}. Optional and additive: a pack seeded before this
|
|
30
|
+
* field existed (or a host pack that never sets it) still shows `label`
|
|
31
|
+
* exactly as it always has.
|
|
32
|
+
*/
|
|
33
|
+
labelKey?: string;
|
|
20
34
|
description?: string;
|
|
35
|
+
/**
|
|
36
|
+
* i18n key resolved by the host's catalogue, `description` its fallback —
|
|
37
|
+
* see {@link translateTagDescription}. Optional and additive, on the same
|
|
38
|
+
* seam as {@link labelKey}: a pack seeded before this field existed (or a
|
|
39
|
+
* host pack that never sets it) still shows `description` exactly as it
|
|
40
|
+
* always has.
|
|
41
|
+
*/
|
|
42
|
+
descriptionKey?: string;
|
|
21
43
|
/** Advisory colour token. The library may ignore it; it never affects layout. */
|
|
22
44
|
color?: string;
|
|
23
45
|
/** Hidden from pickers; still displayed when already present on an element. */
|
|
@@ -26,8 +48,13 @@ export type TagValueDef = {
|
|
|
26
48
|
export type TagDef = {
|
|
27
49
|
/** `'<framework>:<local>'`, e.g. `'wardley:nature'`. */
|
|
28
50
|
id: QualifiedId;
|
|
51
|
+
/** See {@link TagValueDef.label}. */
|
|
29
52
|
label: string;
|
|
53
|
+
/** See {@link TagValueDef.labelKey}. */
|
|
54
|
+
labelKey?: string;
|
|
30
55
|
description?: string;
|
|
56
|
+
/** See {@link TagValueDef.descriptionKey}. */
|
|
57
|
+
descriptionKey?: string;
|
|
31
58
|
/** How many values an element may carry for this tag. */
|
|
32
59
|
cardinality: 'single' | 'multi';
|
|
33
60
|
/** A closed list, or `'open'` for free-text values. */
|
|
@@ -68,8 +95,62 @@ export type UniverseTagDefs = {
|
|
|
68
95
|
packId: string;
|
|
69
96
|
framework: FrameworkId;
|
|
70
97
|
label: string;
|
|
98
|
+
/**
|
|
99
|
+
* i18n key for the PACK's own `label` — see {@link TagValueDef.labelKey}
|
|
100
|
+
* for the seam. Optional and additive: a pack seeded before this field
|
|
101
|
+
* existed (or a host pack that never sets it) still shows `label` exactly
|
|
102
|
+
* as it always has.
|
|
103
|
+
*/
|
|
104
|
+
labelKey?: string;
|
|
71
105
|
tags: TagDef[];
|
|
72
106
|
};
|
|
107
|
+
/**
|
|
108
|
+
* The DISPLAYED wording of a tag def or a tag value def — {@link translateKey}
|
|
109
|
+
* over {@link TagDef.labelKey} / {@link TagValueDef.labelKey} when present,
|
|
110
|
+
* `label` unresolved otherwise (a host pack that never sets `labelKey` shows
|
|
111
|
+
* exactly what it always has).
|
|
112
|
+
*
|
|
113
|
+
* The one function every RENDERER of a tag label goes through — the "Qualify"
|
|
114
|
+
* toolbar's section titles and options (`tags-toolbar.ts`), the reading
|
|
115
|
+
* panel's nature value (`reading-widget.ts`). `resolveRecordNature` in
|
|
116
|
+
* `reading.ts` deliberately does NOT: it matches an external record's words
|
|
117
|
+
* against `label`, which is a comparison and not a display, and the wording it
|
|
118
|
+
* matches against is the one the record itself was written with.
|
|
119
|
+
*
|
|
120
|
+
* The same shape resolves a PACK's own `label` too (`UniverseTagDefs.label` /
|
|
121
|
+
* `.labelKey`): both carry an identical `{ label, labelKey? }` pair, so no
|
|
122
|
+
* second function is needed for it.
|
|
123
|
+
*/
|
|
124
|
+
export declare function translateTagLabel(std: BlockStdScope, def: Pick<TagDef | TagValueDef | UniverseTagDefs, 'label' | 'labelKey'>): string;
|
|
125
|
+
/**
|
|
126
|
+
* The DISPLAYED description of a tag def or a tag value def —
|
|
127
|
+
* {@link translateKey} over {@link TagDef.descriptionKey} /
|
|
128
|
+
* {@link TagValueDef.descriptionKey} when present, `description` unresolved
|
|
129
|
+
* otherwise. The mirror of {@link translateTagLabel} for the `description`
|
|
130
|
+
* field, on the same seam: a def with no `descriptionKey` (a pack seeded
|
|
131
|
+
* before the field existed, or one that never sets it) keeps showing
|
|
132
|
+
* `description` exactly as it always has — including `undefined`, when the
|
|
133
|
+
* def carries no description at all.
|
|
134
|
+
*/
|
|
135
|
+
export declare function translateTagDescription(std: BlockStdScope, def: Pick<TagDef | TagValueDef, 'description' | 'descriptionKey'>): string | undefined;
|
|
136
|
+
/**
|
|
137
|
+
* A pack's contribution to the translation-key manifest — every `labelKey`
|
|
138
|
+
* (the pack's own, a tag's, or a tag value's) and every `descriptionKey` (a
|
|
139
|
+
* tag's or a tag value's) it declares, paired with `label` / `description`
|
|
140
|
+
* as its English fallback.
|
|
141
|
+
*
|
|
142
|
+
* Manual, not `collectTranslationKeys('tag', pack)`: that generic walker pairs
|
|
143
|
+
* a `labelKey` with a sibling `labelFallback` (the roles' / rules' own
|
|
144
|
+
* convention), and this format's fallback field is named `label` — the same
|
|
145
|
+
* field a host-seeded pack's ALREADY-localized wording lives in. Walking it
|
|
146
|
+
* generically would either miss the fallback entirely or, worse, treat a
|
|
147
|
+
* host's own pack as a manifest contribution the library never asked for.
|
|
148
|
+
*
|
|
149
|
+
* For the library's own pack ONLY (`WARDLEY_TAG_DEFS` — see
|
|
150
|
+
* `wardleyTranslationEntries`); a host's app-seeded pack needs no entry here,
|
|
151
|
+
* because it carries no key at all unless the host itself decides to add one.
|
|
152
|
+
*/
|
|
153
|
+
export declare function tagDefsTranslationEntries(pack: UniverseTagDefs): TranslationKeyManifestEntry[];
|
|
73
154
|
/** A seed-time problem, for a host diagnostics panel. Never thrown. */
|
|
74
155
|
export type UniverseDefIssue = {
|
|
75
156
|
severity: 'warning' | 'error';
|
|
@@ -24,11 +24,101 @@
|
|
|
24
24
|
import { createIdentifier } from '../../global/di/index.js';
|
|
25
25
|
import { FRAMEWORK_IDS } from '../../std/index.js';
|
|
26
26
|
import { roleIsA } from '../../std/gfx/index.js';
|
|
27
|
+
import { translateKey } from './translation-service/index.js';
|
|
27
28
|
/**
|
|
28
29
|
* Lower-kebab, case-sensitive, no unicode, no dots. Hyphenated framework ids
|
|
29
30
|
* are legal, so `cynefin-estuarine:domain` is well formed.
|
|
30
31
|
*/
|
|
31
32
|
const ID_PATTERN = /^[a-z0-9][a-z0-9-]*:[a-z0-9][a-z0-9-]*(\/[a-z0-9][a-z0-9-]*)?$/;
|
|
33
|
+
/**
|
|
34
|
+
* The DISPLAYED wording of a tag def or a tag value def — {@link translateKey}
|
|
35
|
+
* over {@link TagDef.labelKey} / {@link TagValueDef.labelKey} when present,
|
|
36
|
+
* `label` unresolved otherwise (a host pack that never sets `labelKey` shows
|
|
37
|
+
* exactly what it always has).
|
|
38
|
+
*
|
|
39
|
+
* The one function every RENDERER of a tag label goes through — the "Qualify"
|
|
40
|
+
* toolbar's section titles and options (`tags-toolbar.ts`), the reading
|
|
41
|
+
* panel's nature value (`reading-widget.ts`). `resolveRecordNature` in
|
|
42
|
+
* `reading.ts` deliberately does NOT: it matches an external record's words
|
|
43
|
+
* against `label`, which is a comparison and not a display, and the wording it
|
|
44
|
+
* matches against is the one the record itself was written with.
|
|
45
|
+
*
|
|
46
|
+
* The same shape resolves a PACK's own `label` too (`UniverseTagDefs.label` /
|
|
47
|
+
* `.labelKey`): both carry an identical `{ label, labelKey? }` pair, so no
|
|
48
|
+
* second function is needed for it.
|
|
49
|
+
*/
|
|
50
|
+
export function translateTagLabel(std, def) {
|
|
51
|
+
return def.labelKey ? translateKey(std, def.labelKey, def.label) : def.label;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The DISPLAYED description of a tag def or a tag value def —
|
|
55
|
+
* {@link translateKey} over {@link TagDef.descriptionKey} /
|
|
56
|
+
* {@link TagValueDef.descriptionKey} when present, `description` unresolved
|
|
57
|
+
* otherwise. The mirror of {@link translateTagLabel} for the `description`
|
|
58
|
+
* field, on the same seam: a def with no `descriptionKey` (a pack seeded
|
|
59
|
+
* before the field existed, or one that never sets it) keeps showing
|
|
60
|
+
* `description` exactly as it always has — including `undefined`, when the
|
|
61
|
+
* def carries no description at all.
|
|
62
|
+
*/
|
|
63
|
+
export function translateTagDescription(std, def) {
|
|
64
|
+
if (!def.descriptionKey)
|
|
65
|
+
return def.description;
|
|
66
|
+
return translateKey(std, def.descriptionKey, def.description ?? '');
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* A pack's contribution to the translation-key manifest — every `labelKey`
|
|
70
|
+
* (the pack's own, a tag's, or a tag value's) and every `descriptionKey` (a
|
|
71
|
+
* tag's or a tag value's) it declares, paired with `label` / `description`
|
|
72
|
+
* as its English fallback.
|
|
73
|
+
*
|
|
74
|
+
* Manual, not `collectTranslationKeys('tag', pack)`: that generic walker pairs
|
|
75
|
+
* a `labelKey` with a sibling `labelFallback` (the roles' / rules' own
|
|
76
|
+
* convention), and this format's fallback field is named `label` — the same
|
|
77
|
+
* field a host-seeded pack's ALREADY-localized wording lives in. Walking it
|
|
78
|
+
* generically would either miss the fallback entirely or, worse, treat a
|
|
79
|
+
* host's own pack as a manifest contribution the library never asked for.
|
|
80
|
+
*
|
|
81
|
+
* For the library's own pack ONLY (`WARDLEY_TAG_DEFS` — see
|
|
82
|
+
* `wardleyTranslationEntries`); a host's app-seeded pack needs no entry here,
|
|
83
|
+
* because it carries no key at all unless the host itself decides to add one.
|
|
84
|
+
*/
|
|
85
|
+
export function tagDefsTranslationEntries(pack) {
|
|
86
|
+
const out = [];
|
|
87
|
+
if (pack.labelKey) {
|
|
88
|
+
out.push({ key: pack.labelKey, fallback: pack.label, source: 'tag' });
|
|
89
|
+
}
|
|
90
|
+
for (const tag of pack.tags) {
|
|
91
|
+
if (tag.labelKey) {
|
|
92
|
+
out.push({ key: tag.labelKey, fallback: tag.label, source: 'tag' });
|
|
93
|
+
}
|
|
94
|
+
if (tag.descriptionKey) {
|
|
95
|
+
out.push({
|
|
96
|
+
key: tag.descriptionKey,
|
|
97
|
+
fallback: tag.description ?? '',
|
|
98
|
+
source: 'tag',
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
if (tag.values !== 'open') {
|
|
102
|
+
for (const value of tag.values) {
|
|
103
|
+
if (value.labelKey) {
|
|
104
|
+
out.push({
|
|
105
|
+
key: value.labelKey,
|
|
106
|
+
fallback: value.label,
|
|
107
|
+
source: 'tag',
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
if (value.descriptionKey) {
|
|
111
|
+
out.push({
|
|
112
|
+
key: value.descriptionKey,
|
|
113
|
+
fallback: value.description ?? '',
|
|
114
|
+
source: 'tag',
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return out;
|
|
121
|
+
}
|
|
32
122
|
/**
|
|
33
123
|
* Variant-parameterized: **one registration per pack, keyed by `packId`** —
|
|
34
124
|
* the same mechanism as `SpotlightHostExtension(elementType)` and
|
|
@@ -158,6 +248,8 @@ function mergeTagDef(drafts, def, pack, issue, rank) {
|
|
|
158
248
|
const draft = existing.def;
|
|
159
249
|
if (def.label !== undefined)
|
|
160
250
|
draft.label = def.label;
|
|
251
|
+
if (def.labelKey !== undefined)
|
|
252
|
+
draft.labelKey = def.labelKey;
|
|
161
253
|
if (def.description !== undefined)
|
|
162
254
|
draft.description = def.description;
|
|
163
255
|
if (def.order !== undefined)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BlockStdScope } from '../../../std/index.js';
|
|
1
2
|
import { LitElement } from 'lit';
|
|
2
3
|
declare global {
|
|
3
4
|
interface HTMLElementTagNameMap {
|
|
@@ -10,6 +11,9 @@ export declare class EdgelessDndPreviewElement extends LitElement {
|
|
|
10
11
|
accessor elementTypes: {
|
|
11
12
|
type: string;
|
|
12
13
|
}[];
|
|
14
|
+
/** Set by the caller that has one (`preview-helper.ts`) — optional so this
|
|
15
|
+
* element still renders (in English) when created with none. */
|
|
16
|
+
accessor std: BlockStdScope | undefined;
|
|
13
17
|
private _getPreviewIcon;
|
|
14
18
|
render(): import("lit-html").TemplateResult<1>;
|
|
15
19
|
}
|
|
@@ -32,32 +32,34 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
32
32
|
}
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
|
+
import { translateKey, } from '../../../affine-shared/services/index.js';
|
|
35
36
|
import { unsafeCSSVarV2 } from '../../../affine-shared/theme/index.js';
|
|
36
37
|
import { EmbedIcon, FrameIcon, ImageIcon, PageIcon, ShapeIcon, } from '@blocksuite/icons/lit';
|
|
37
38
|
import { css, html, LitElement } from 'lit';
|
|
38
39
|
import { property } from 'lit/decorators.js';
|
|
39
40
|
import { repeat } from 'lit/directives/repeat.js';
|
|
40
41
|
import { styleMap } from 'lit/directives/style-map.js';
|
|
42
|
+
import { DRAG_PREVIEW_EMBED, DRAG_PREVIEW_FRAME, DRAG_PREVIEW_GENERIC, DRAG_PREVIEW_IMAGE, DRAG_PREVIEW_NOTE, DRAG_PREVIEW_SHAPE, } from '../../translations.js';
|
|
41
43
|
const BLOCK_PREVIEW_ICON_MAP = {
|
|
42
44
|
shape: {
|
|
43
45
|
icon: ShapeIcon,
|
|
44
|
-
|
|
46
|
+
wording: DRAG_PREVIEW_SHAPE,
|
|
45
47
|
},
|
|
46
48
|
'affine:image': {
|
|
47
49
|
icon: ImageIcon,
|
|
48
|
-
|
|
50
|
+
wording: DRAG_PREVIEW_IMAGE,
|
|
49
51
|
},
|
|
50
52
|
'affine:note': {
|
|
51
53
|
icon: PageIcon,
|
|
52
|
-
|
|
54
|
+
wording: DRAG_PREVIEW_NOTE,
|
|
53
55
|
},
|
|
54
56
|
'affine:frame': {
|
|
55
57
|
icon: FrameIcon,
|
|
56
|
-
|
|
58
|
+
wording: DRAG_PREVIEW_FRAME,
|
|
57
59
|
},
|
|
58
60
|
'affine:embed-': {
|
|
59
61
|
icon: EmbedIcon,
|
|
60
|
-
|
|
62
|
+
wording: DRAG_PREVIEW_EMBED,
|
|
61
63
|
},
|
|
62
64
|
};
|
|
63
65
|
export const EDGELESS_DND_PREVIEW_ELEMENT = 'edgeless-dnd-preview-element';
|
|
@@ -66,11 +68,16 @@ let EdgelessDndPreviewElement = (() => {
|
|
|
66
68
|
let _elementTypes_decorators;
|
|
67
69
|
let _elementTypes_initializers = [];
|
|
68
70
|
let _elementTypes_extraInitializers = [];
|
|
71
|
+
let _std_decorators;
|
|
72
|
+
let _std_initializers = [];
|
|
73
|
+
let _std_extraInitializers = [];
|
|
69
74
|
return class EdgelessDndPreviewElement extends _classSuper {
|
|
70
75
|
static {
|
|
71
76
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
72
77
|
_elementTypes_decorators = [property({ type: Array })];
|
|
78
|
+
_std_decorators = [property({ attribute: false })];
|
|
73
79
|
__esDecorate(this, null, _elementTypes_decorators, { kind: "accessor", name: "elementTypes", static: false, private: false, access: { has: obj => "elementTypes" in obj, get: obj => obj.elementTypes, set: (obj, value) => { obj.elementTypes = value; } }, metadata: _metadata }, _elementTypes_initializers, _elementTypes_extraInitializers);
|
|
80
|
+
__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);
|
|
74
81
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
75
82
|
}
|
|
76
83
|
static { this.styles = css `
|
|
@@ -115,6 +122,11 @@ let EdgelessDndPreviewElement = (() => {
|
|
|
115
122
|
#elementTypes_accessor_storage = __runInitializers(this, _elementTypes_initializers, []);
|
|
116
123
|
get elementTypes() { return this.#elementTypes_accessor_storage; }
|
|
117
124
|
set elementTypes(value) { this.#elementTypes_accessor_storage = value; }
|
|
125
|
+
#std_accessor_storage = (__runInitializers(this, _elementTypes_extraInitializers), __runInitializers(this, _std_initializers, undefined));
|
|
126
|
+
/** Set by the caller that has one (`preview-helper.ts`) — optional so this
|
|
127
|
+
* element still renders (in English) when created with none. */
|
|
128
|
+
get std() { return this.#std_accessor_storage; }
|
|
129
|
+
set std(value) { this.#std_accessor_storage = value; }
|
|
118
130
|
_getPreviewIcon(type) {
|
|
119
131
|
if (BLOCK_PREVIEW_ICON_MAP[type]) {
|
|
120
132
|
return BLOCK_PREVIEW_ICON_MAP[type];
|
|
@@ -124,12 +136,13 @@ let EdgelessDndPreviewElement = (() => {
|
|
|
124
136
|
}
|
|
125
137
|
return {
|
|
126
138
|
icon: ShapeIcon,
|
|
127
|
-
|
|
139
|
+
wording: DRAG_PREVIEW_GENERIC,
|
|
128
140
|
};
|
|
129
141
|
}
|
|
130
142
|
render() {
|
|
131
143
|
const blocks = repeat(this.elementTypes.slice(0, 3), ({ type }, index) => {
|
|
132
|
-
const { icon,
|
|
144
|
+
const { icon, wording } = this._getPreviewIcon(type);
|
|
145
|
+
const name = this.std ? translateKey(this.std, ...wording) : wording[1];
|
|
133
146
|
return html `<div
|
|
134
147
|
class="edgeless-dnd-preview-block"
|
|
135
148
|
style=${styleMap({
|
|
@@ -145,7 +158,7 @@ let EdgelessDndPreviewElement = (() => {
|
|
|
145
158
|
}
|
|
146
159
|
constructor() {
|
|
147
160
|
super(...arguments);
|
|
148
|
-
__runInitializers(this,
|
|
161
|
+
__runInitializers(this, _std_extraInitializers);
|
|
149
162
|
}
|
|
150
163
|
};
|
|
151
164
|
})();
|
|
@@ -126,6 +126,7 @@ export class PreviewHelper {
|
|
|
126
126
|
const blockTypes = this._extractBlockTypes(snapshot);
|
|
127
127
|
const edgelessPreview = new EdgelessDndPreviewElement();
|
|
128
128
|
edgelessPreview.elementTypes = blockTypes;
|
|
129
|
+
edgelessPreview.std = this.widget.std;
|
|
129
130
|
return {
|
|
130
131
|
left: 12,
|
|
131
132
|
top: 12,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ChromeWording } from '../affine-shared/services/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* The drag-and-drop preview's own per-flavour labels, shown on the ghost
|
|
4
|
+
* card that follows the pointer while dragging edgeless content.
|
|
5
|
+
*/
|
|
6
|
+
export declare const DRAG_PREVIEW_SHAPE: ChromeWording;
|
|
7
|
+
export declare const DRAG_PREVIEW_IMAGE: ChromeWording;
|
|
8
|
+
export declare const DRAG_PREVIEW_NOTE: ChromeWording;
|
|
9
|
+
export declare const DRAG_PREVIEW_FRAME: ChromeWording;
|
|
10
|
+
export declare const DRAG_PREVIEW_EMBED: ChromeWording;
|
|
11
|
+
/** An alias (L7 dedupe): the same word as {@link EDGELESS_CONTENT_LABEL}, one key. */
|
|
12
|
+
export declare const DRAG_PREVIEW_GENERIC: ChromeWording;
|
|
13
|
+
/** Every wording this package declares, in the order it renders them. */
|
|
14
|
+
export declare const DRAG_HANDLE_WORDINGS: readonly ChromeWording[];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { EDGELESS_CONTENT_LABEL, } from '../affine-shared/services/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* The drag-and-drop preview's own per-flavour labels, shown on the ghost
|
|
4
|
+
* card that follows the pointer while dragging edgeless content.
|
|
5
|
+
*/
|
|
6
|
+
export const DRAG_PREVIEW_SHAPE = [
|
|
7
|
+
'com.labre.drag-handle.preview.shape',
|
|
8
|
+
'Canvas shape',
|
|
9
|
+
];
|
|
10
|
+
export const DRAG_PREVIEW_IMAGE = [
|
|
11
|
+
'com.labre.drag-handle.preview.image',
|
|
12
|
+
'Image block',
|
|
13
|
+
];
|
|
14
|
+
export const DRAG_PREVIEW_NOTE = [
|
|
15
|
+
'com.labre.drag-handle.preview.note',
|
|
16
|
+
'Note block',
|
|
17
|
+
];
|
|
18
|
+
export const DRAG_PREVIEW_FRAME = [
|
|
19
|
+
'com.labre.drag-handle.preview.frame',
|
|
20
|
+
'Frame block',
|
|
21
|
+
];
|
|
22
|
+
export const DRAG_PREVIEW_EMBED = [
|
|
23
|
+
'com.labre.drag-handle.preview.embed',
|
|
24
|
+
'Embed block',
|
|
25
|
+
];
|
|
26
|
+
/** An alias (L7 dedupe): the same word as {@link EDGELESS_CONTENT_LABEL}, one key. */
|
|
27
|
+
export const DRAG_PREVIEW_GENERIC = EDGELESS_CONTENT_LABEL;
|
|
28
|
+
/** Every wording this package declares, in the order it renders them. */
|
|
29
|
+
export const DRAG_HANDLE_WORDINGS = [
|
|
30
|
+
DRAG_PREVIEW_SHAPE,
|
|
31
|
+
DRAG_PREVIEW_IMAGE,
|
|
32
|
+
DRAG_PREVIEW_NOTE,
|
|
33
|
+
DRAG_PREVIEW_FRAME,
|
|
34
|
+
DRAG_PREVIEW_EMBED,
|
|
35
|
+
];
|
|
@@ -35,7 +35,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
35
35
|
import { EdgelessCRUDIdentifier, EdgelessLegacySlotIdentifier, isNoteBlock, } from '../affine-block-surface/index.js';
|
|
36
36
|
import { SmallDocIcon } from '../affine-components/icons/index.js';
|
|
37
37
|
import { FrameBlockModel, NoteBlockModel, NoteDisplayMode, SurfaceRefBlockModel, } from '../affine-model/index.js';
|
|
38
|
-
import { FeatureFlagService } from '../affine-shared/services/index.js';
|
|
38
|
+
import { FeatureFlagService, translateKey, } from '../affine-shared/services/index.js';
|
|
39
39
|
import { matchModels, stopPropagation } from '../affine-shared/utils/index.js';
|
|
40
40
|
import { Bound } from '../global/gfx/index.js';
|
|
41
41
|
import { ArrowLeftSmallIcon, ArrowRightSmallIcon, InvisibleIcon, } from '@blocksuite/icons/lit';
|
|
@@ -46,6 +46,7 @@ import { state } from 'lit/decorators.js';
|
|
|
46
46
|
import { repeat } from 'lit/directives/repeat.js';
|
|
47
47
|
import { styleMap } from 'lit/directives/style-map.js';
|
|
48
48
|
import { literal, unsafeStatic } from 'lit/static-html.js';
|
|
49
|
+
import { AUTO_CONNECT_HIDDEN_ON_PAGE, AUTO_CONNECT_PAGE_MODE_INDEX, } from './translations.js';
|
|
49
50
|
const PAGE_VISIBLE_INDEX_LABEL_WIDTH = 44;
|
|
50
51
|
const PAGE_VISIBLE_INDEX_LABEL_HEIGHT = 24;
|
|
51
52
|
const EDGELESS_ONLY_INDEX_LABEL_WIDTH = 24;
|
|
@@ -246,7 +247,7 @@ let EdgelessAutoConnectWidget = (() => {
|
|
|
246
247
|
return html `<div style=${style} class="edgeless-only-index-label">
|
|
247
248
|
${InvisibleIcon({ width: '20px', height: '20px' })}
|
|
248
249
|
<affine-tooltip tip-position="bottom">
|
|
249
|
-
${getIndexLabelTooltip(SmallDocIcon,
|
|
250
|
+
${getIndexLabelTooltip(SmallDocIcon, translateKey(this.std, ...AUTO_CONNECT_HIDDEN_ON_PAGE))}
|
|
250
251
|
</affine-tooltip>
|
|
251
252
|
</div>`;
|
|
252
253
|
})}`;
|
|
@@ -424,7 +425,7 @@ let EdgelessAutoConnectWidget = (() => {
|
|
|
424
425
|
>
|
|
425
426
|
${index}
|
|
426
427
|
<affine-tooltip tip-position="bottom">
|
|
427
|
-
${getIndexLabelTooltip(SmallDocIcon,
|
|
428
|
+
${getIndexLabelTooltip(SmallDocIcon, translateKey(this.std, ...AUTO_CONNECT_PAGE_MODE_INDEX))}
|
|
428
429
|
</affine-tooltip>
|
|
429
430
|
</div>
|
|
430
431
|
`);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ChromeWording } from '../affine-shared/services/index.js';
|
|
2
|
+
/** The note-index badge's two tooltips, in page vs. edgeless-only mode. */
|
|
3
|
+
export declare const AUTO_CONNECT_HIDDEN_ON_PAGE: ChromeWording;
|
|
4
|
+
export declare const AUTO_CONNECT_PAGE_MODE_INDEX: ChromeWording;
|
|
5
|
+
/** Every wording this package declares, in the order it renders them. */
|
|
6
|
+
export declare const AUTO_CONNECT_WORDINGS: readonly ChromeWording[];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** The note-index badge's two tooltips, in page vs. edgeless-only mode. */
|
|
2
|
+
export const AUTO_CONNECT_HIDDEN_ON_PAGE = [
|
|
3
|
+
'com.labre.auto-connect.hidden-on-page',
|
|
4
|
+
'Hidden on document',
|
|
5
|
+
];
|
|
6
|
+
export const AUTO_CONNECT_PAGE_MODE_INDEX = [
|
|
7
|
+
'com.labre.auto-connect.page-mode-index',
|
|
8
|
+
'Document mode index',
|
|
9
|
+
];
|
|
10
|
+
/** Every wording this package declares, in the order it renders them. */
|
|
11
|
+
export const AUTO_CONNECT_WORDINGS = [
|
|
12
|
+
AUTO_CONNECT_HIDDEN_ON_PAGE,
|
|
13
|
+
AUTO_CONNECT_PAGE_MODE_INDEX,
|
|
14
|
+
];
|
|
@@ -38,7 +38,7 @@ import { FontFamilyIcon } from '../affine-components/icons/index.js';
|
|
|
38
38
|
import { mountShapeTextEditor, SHAPE_OVERLAY_HEIGHT, SHAPE_OVERLAY_WIDTH, ShapeComponentConfig, } from '../affine-gfx-shape/index.js';
|
|
39
39
|
import { insertEdgelessTextCommand, mountTextElementEditor, } from '../affine-gfx-text/index.js';
|
|
40
40
|
import { DEFAULT_NOTE_WIDTH, DefaultTheme, FontFamily, FontStyle, FontWeight, getShapeName, GroupElementModel, NoteBlockModel, ShapeStyle, TextElementModel, } from '../affine-model/index.js';
|
|
41
|
-
import { EditPropsStore, FeatureFlagService, ThemeProvider, } from '../affine-shared/services/index.js';
|
|
41
|
+
import { EditPropsStore, FeatureFlagService, ThemeProvider, translateKey, } from '../affine-shared/services/index.js';
|
|
42
42
|
import { captureEventTarget, matchModels, overlayScale, overlayViewportSize, toOverlayCoord, } from '../affine-shared/utils/index.js';
|
|
43
43
|
import { Bound, clamp, normalizeDegAngle, serializeXYWH, toDegree, Vec, } from '../global/gfx/index.js';
|
|
44
44
|
import { WithDisposable } from '../global/lit/index.js';
|
|
@@ -53,6 +53,7 @@ import { repeat } from 'lit/directives/repeat.js';
|
|
|
53
53
|
import { styleMap } from 'lit/directives/style-map.js';
|
|
54
54
|
import * as Y from 'yjs';
|
|
55
55
|
import { AutoCompleteFrameOverlay, AutoCompleteNoteOverlay, AutoCompleteShapeOverlay, AutoCompleteTextOverlay, capitalizeFirstLetter, createShapeElement, DEFAULT_NOTE_OVERLAY_HEIGHT, DEFAULT_TEXT_HEIGHT, DEFAULT_TEXT_WIDTH, Direction, isShape, PANEL_HEIGHT, PANEL_WIDTH, } from './utils.js';
|
|
56
|
+
import { AUTO_COMPLETE_ADD_SAME_OBJECT, AUTO_COMPLETE_FRAME, AUTO_COMPLETE_NOTE, AUTO_COMPLETE_TEXT, } from './translations.js';
|
|
56
57
|
let EdgelessAutoCompletePanel = (() => {
|
|
57
58
|
let _classSuper = WithDisposable(LitElement);
|
|
58
59
|
let _connector_decorators;
|
|
@@ -544,7 +545,7 @@ let EdgelessAutoCompletePanel = (() => {
|
|
|
544
545
|
${shapeButtons}
|
|
545
546
|
|
|
546
547
|
<edgeless-tool-icon-button
|
|
547
|
-
.tooltip=${
|
|
548
|
+
.tooltip=${translateKey(this.std, ...AUTO_COMPLETE_TEXT)}
|
|
548
549
|
.iconSize=${'20px'}
|
|
549
550
|
@pointerenter=${() => this._showOverlay('text')}
|
|
550
551
|
@pointerleave=${() => this._removeOverlay()}
|
|
@@ -553,7 +554,7 @@ let EdgelessAutoCompletePanel = (() => {
|
|
|
553
554
|
${FontFamilyIcon}
|
|
554
555
|
</edgeless-tool-icon-button>
|
|
555
556
|
<edgeless-tool-icon-button
|
|
556
|
-
.tooltip=${
|
|
557
|
+
.tooltip=${translateKey(this.std, ...AUTO_COMPLETE_NOTE)}
|
|
557
558
|
.iconSize=${'20px'}
|
|
558
559
|
@pointerenter=${() => this._showOverlay('note')}
|
|
559
560
|
@pointerleave=${() => this._removeOverlay()}
|
|
@@ -562,7 +563,7 @@ let EdgelessAutoCompletePanel = (() => {
|
|
|
562
563
|
${PageIcon()}
|
|
563
564
|
</edgeless-tool-icon-button>
|
|
564
565
|
<edgeless-tool-icon-button
|
|
565
|
-
.tooltip=${
|
|
566
|
+
.tooltip=${translateKey(this.std, ...AUTO_COMPLETE_FRAME)}
|
|
566
567
|
.iconSize=${'20px'}
|
|
567
568
|
@pointerenter=${() => this._showOverlay('frame')}
|
|
568
569
|
@pointerleave=${() => this._removeOverlay()}
|
|
@@ -578,7 +579,9 @@ let EdgelessAutoCompletePanel = (() => {
|
|
|
578
579
|
@pointerleave=${() => this._removeOverlay()}
|
|
579
580
|
@click=${() => this._autoComplete(currentSourceType)}
|
|
580
581
|
>
|
|
581
|
-
<div class="row-button">
|
|
582
|
+
<div class="row-button">
|
|
583
|
+
${translateKey(this.std, ...AUTO_COMPLETE_ADD_SAME_OBJECT)}
|
|
584
|
+
</div>
|
|
582
585
|
</edgeless-tool-icon-button>
|
|
583
586
|
</div>`;
|
|
584
587
|
}
|
|
@@ -34,9 +34,10 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
34
34
|
};
|
|
35
35
|
import { CanvasElementType, EdgelessCRUDIdentifier, getSurfaceBlock, getSurfaceComponent, isNoteBlock, Overlay, OverlayIdentifier, } from '../affine-block-surface/index.js';
|
|
36
36
|
import { ConnectorPathGenerator, } from '../affine-gfx-connector/index.js';
|
|
37
|
+
import { MINDMAP_SEED_NEW_NODE } from '../affine-gfx-mindmap/translations.js';
|
|
37
38
|
import { mountShapeTextEditor } from '../affine-gfx-shape/index.js';
|
|
38
39
|
import { DEFAULT_NOTE_HEIGHT, DefaultTheme, LayoutType, MindmapElementModel, ShapeElementModel, shapeMethods, } from '../affine-model/index.js';
|
|
39
|
-
import { ToolbarRegistryIdentifier } from '../affine-shared/services/index.js';
|
|
40
|
+
import { ToolbarRegistryIdentifier, translateKey, } from '../affine-shared/services/index.js';
|
|
40
41
|
import { handleNativeRangeAtPoint, toClientCoord, } from '../affine-shared/utils/index.js';
|
|
41
42
|
import { DisposableGroup } from '../global/disposable/index.js';
|
|
42
43
|
import { Vec } from '../global/gfx/index.js';
|
|
@@ -228,7 +229,7 @@ let EdgelessAutoComplete = (() => {
|
|
|
228
229
|
const parentNode = mindmap.getNode(parent.id);
|
|
229
230
|
if (!parentNode)
|
|
230
231
|
return;
|
|
231
|
-
const newNode = mindmap.addNode(parentNode.id, target === 'sibling' ? this.current.id : undefined, undefined,
|
|
232
|
+
const newNode = mindmap.addNode(parentNode.id, target === 'sibling' ? this.current.id : undefined, undefined, { text: translateKey(this.std, ...MINDMAP_SEED_NEW_NODE) });
|
|
232
233
|
if (parentNode.detail.collapsed) {
|
|
233
234
|
mindmap.toggleCollapse(parentNode);
|
|
234
235
|
}
|