@formicoidea/labre-core 0.41.0 → 0.43.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +384 -0
- package/dist/_pkgs/affine-block-bookmark/bookmark-block.js +2 -2
- package/dist/_pkgs/affine-block-data-view/configs/tooltips.js +1 -1
- package/dist/_pkgs/affine-block-database/configs/tooltips.js +1 -1
- package/dist/_pkgs/affine-block-edgeless-text/edgeless-text-block.js +4 -2
- package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.js +7 -1
- package/dist/_pkgs/affine-block-embed/common/iframe-sandbox.d.ts +39 -0
- package/dist/_pkgs/affine-block-embed/common/iframe-sandbox.js +39 -0
- package/dist/_pkgs/affine-block-embed/embed-figma-block/embed-figma-block.js +4 -1
- package/dist/_pkgs/affine-block-embed/embed-github-block/embed-github-block.js +2 -1
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-error-card.d.ts +14 -1
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-error-card.js +21 -2
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/consts.js +2 -0
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/embed-iframe-block.d.ts +2 -1
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/embed-iframe-block.js +41 -11
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/types.d.ts +16 -0
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/types.js +17 -1
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/utils.d.ts +8 -0
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/utils.js +19 -0
- package/dist/_pkgs/affine-block-embed/embed-loom-block/embed-loom-block.js +4 -1
- package/dist/_pkgs/affine-block-embed/embed-youtube-block/embed-youtube-block.js +4 -1
- package/dist/_pkgs/affine-block-embed/index.d.ts +1 -0
- package/dist/_pkgs/affine-block-embed/index.js +1 -0
- package/dist/_pkgs/affine-block-embed/translations.d.ts +8 -0
- package/dist/_pkgs/affine-block-embed/translations.js +28 -0
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/embed-linked-doc-block.js +4 -2
- package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.js +2 -2
- package/dist/_pkgs/affine-block-frame/frame-manager.js +6 -3
- package/dist/_pkgs/affine-block-frame/frame-tool.js +1 -1
- package/dist/_pkgs/affine-block-frame/frame-toolbar.js +6 -1
- package/dist/_pkgs/affine-block-list/list-keymap.js +7 -0
- package/dist/_pkgs/affine-block-list/utils/get-list-icon.js +3 -1
- package/dist/_pkgs/affine-block-note/configs/tooltips.js +1 -1
- package/dist/_pkgs/affine-block-note/note-keymap.js +7 -1
- package/dist/_pkgs/affine-block-paragraph/paragraph-keymap.js +7 -1
- package/dist/_pkgs/affine-block-root/adapters/html.js +2 -2
- package/dist/_pkgs/affine-block-root/commands/copy-link-commands.d.ts +2 -0
- package/dist/_pkgs/affine-block-root/commands/copy-link-commands.js +155 -0
- package/dist/_pkgs/affine-block-root/commands/pivot-commands.js +1 -8
- package/dist/_pkgs/affine-block-root/commands/tag-commands.js +1 -8
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.d.ts +9 -0
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.js +51 -0
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.d.ts +22 -0
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.js +46 -0
- package/dist/_pkgs/affine-block-root/edgeless/utils/pinch-zoom.d.ts +21 -0
- package/dist/_pkgs/affine-block-root/edgeless/utils/pinch-zoom.js +24 -0
- package/dist/_pkgs/affine-block-root/edgeless/utils/query.js +8 -0
- package/dist/_pkgs/affine-block-root/index.d.ts +1 -0
- package/dist/_pkgs/affine-block-root/index.js +1 -0
- package/dist/_pkgs/affine-block-root/keyboard/keymap.js +1 -16
- package/dist/_pkgs/affine-block-root/view.js +2 -0
- package/dist/_pkgs/affine-block-surface/element-model/index.d.ts +21 -3
- package/dist/_pkgs/affine-block-surface/element-model/index.js +14 -2
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/command.d.ts +23 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/command.js +89 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/index.d.ts +7 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/index.js +5 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/render.d.ts +41 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/render.js +70 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/svg-context.d.ts +49 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/svg-context.js +257 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/tagged-path.d.ts +16 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/tagged-path.js +24 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/toolbar.d.ts +24 -0
- package/dist/_pkgs/affine-block-surface/extensions/export-svg/toolbar.js +66 -0
- package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +4 -0
- package/dist/_pkgs/affine-block-surface/extensions/index.js +4 -0
- package/dist/_pkgs/affine-block-surface/extensions/interchange-import.d.ts +66 -4
- package/dist/_pkgs/affine-block-surface/extensions/interchange-import.js +253 -11
- package/dist/_pkgs/affine-block-surface/extensions/interchange.d.ts +18 -0
- package/dist/_pkgs/affine-block-surface/extensions/legend-toolbar.d.ts +81 -0
- package/dist/_pkgs/affine-block-surface/extensions/legend-toolbar.js +81 -0
- package/dist/_pkgs/affine-block-surface/extensions/legend.d.ts +144 -0
- package/dist/_pkgs/affine-block-surface/extensions/legend.js +495 -0
- package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.js +4 -0
- package/dist/_pkgs/affine-block-surface/extensions/reading-widget.d.ts +17 -3
- package/dist/_pkgs/affine-block-surface/extensions/reading-widget.js +35 -13
- package/dist/_pkgs/affine-block-surface/extensions/reading.d.ts +61 -1
- package/dist/_pkgs/affine-block-surface/extensions/reading.js +85 -39
- package/dist/_pkgs/affine-block-surface/extensions/record-action.d.ts +66 -0
- package/dist/_pkgs/affine-block-surface/extensions/record-action.js +145 -0
- package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.d.ts +3 -0
- package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.js +23 -0
- package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.d.ts +1 -1
- package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.js +12 -4
- package/dist/_pkgs/affine-block-surface/extensions/validation.d.ts +253 -28
- package/dist/_pkgs/affine-block-surface/extensions/validation.js +489 -41
- package/dist/_pkgs/affine-block-surface/framework-background/background-view.d.ts +115 -0
- package/dist/_pkgs/affine-block-surface/framework-background/background-view.js +185 -0
- package/dist/_pkgs/affine-block-surface/framework-background/fit.d.ts +36 -0
- package/dist/_pkgs/affine-block-surface/framework-background/fit.js +30 -0
- package/dist/_pkgs/affine-block-surface/framework-background/index.d.ts +2 -0
- package/dist/_pkgs/affine-block-surface/framework-background/index.js +2 -0
- package/dist/_pkgs/affine-block-surface/framework-background/labels.d.ts +16 -1
- package/dist/_pkgs/affine-block-surface/framework-background/labels.js +31 -21
- package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +29 -5
- package/dist/_pkgs/affine-block-surface/framework-background/stacking.d.ts +6 -4
- package/dist/_pkgs/affine-block-surface/framework-background/stacking.js +56 -8
- package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.d.ts +12 -0
- package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.js +15 -0
- package/dist/_pkgs/affine-block-surface/renderer/element-highlight-overlay.js +2 -7
- package/dist/_pkgs/affine-block-surface/view.js +8 -1
- package/dist/_pkgs/affine-block-surface-ref/configs/slash-menu.js +1 -1
- package/dist/_pkgs/affine-block-surface-ref/configs/tooltips.js +2 -2
- package/dist/_pkgs/affine-components/color-picker/button.d.ts +56 -1
- package/dist/_pkgs/affine-components/color-picker/button.js +168 -23
- package/dist/_pkgs/affine-components/color-picker/framework-palette.d.ts +106 -0
- package/dist/_pkgs/affine-components/color-picker/framework-palette.js +177 -0
- package/dist/_pkgs/affine-components/color-picker/index.d.ts +2 -0
- package/dist/_pkgs/affine-components/color-picker/index.js +2 -0
- package/dist/_pkgs/affine-components/color-picker/palette-carousel.d.ts +85 -0
- package/dist/_pkgs/affine-components/color-picker/palette-carousel.js +445 -0
- package/dist/_pkgs/affine-components/color-picker/styles.js +1 -1
- package/dist/_pkgs/affine-components/context-menu/button.js +3 -1
- package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.d.ts +31 -1
- package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.js +189 -63
- package/dist/_pkgs/affine-components/icons/ai.js +3 -3
- package/dist/_pkgs/affine-components/icons/list.js +7 -1
- package/dist/_pkgs/affine-components/resource/resource.js +29 -16
- package/dist/_pkgs/affine-components/size-dropdown-menu/dropdown-menu.js +6 -1
- package/dist/_pkgs/affine-components/toolbar/index.d.ts +1 -1
- package/dist/_pkgs/affine-components/toolbar/index.js +1 -1
- package/dist/_pkgs/affine-components/toolbar/menu-button.d.ts +7 -0
- package/dist/_pkgs/affine-components/toolbar/menu-button.js +30 -0
- package/dist/_pkgs/affine-components/toolbar/picker-menu.d.ts +16 -1
- package/dist/_pkgs/affine-components/toolbar/picker-menu.js +2 -2
- package/dist/_pkgs/affine-components/toolbar/toolbar.d.ts +1 -0
- package/dist/_pkgs/affine-components/toolbar/toolbar.js +67 -0
- package/dist/_pkgs/affine-components/translations.d.ts +8 -0
- package/dist/_pkgs/affine-components/translations.js +17 -0
- package/dist/_pkgs/affine-foundation/view.js +2 -1
- package/dist/_pkgs/affine-fragment-frame-panel/card/frame-card-title-editor.js +1 -1
- package/dist/_pkgs/affine-fragment-frame-panel/card/frame-card.js +1 -1
- package/dist/_pkgs/affine-gfx-brush/element-renderer.js +2 -2
- package/dist/_pkgs/affine-gfx-brush/toolbar/components/eraser/icons.js +1 -1
- package/dist/_pkgs/affine-gfx-brush/toolbar/configs/brush.js +6 -1
- package/dist/_pkgs/affine-gfx-brush/toolbar/configs/highlighter.js +6 -1
- package/dist/_pkgs/affine-gfx-connector/connector-manager.d.ts +9 -1
- package/dist/_pkgs/affine-gfx-connector/connector-manager.js +61 -0
- package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.d.ts +11 -2
- package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.js +11 -2
- package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.d.ts +7 -1
- package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.js +87 -17
- package/dist/_pkgs/affine-gfx-connector/element-renderer/index.js +78 -17
- package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.d.ts +24 -2
- package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.js +31 -8
- package/dist/_pkgs/affine-gfx-connector/text/edgeless-connector-label-editor.d.ts +124 -3
- package/dist/_pkgs/affine-gfx-connector/text/edgeless-connector-label-editor.js +219 -56
- package/dist/_pkgs/affine-gfx-connector/text/text.d.ts +13 -4
- package/dist/_pkgs/affine-gfx-connector/text/text.js +13 -44
- package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +56 -0
- package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +94 -10
- package/dist/_pkgs/affine-gfx-connector/toolbar/hollow-endpoint-icons.d.ts +8 -0
- package/dist/_pkgs/affine-gfx-connector/toolbar/hollow-endpoint-icons.js +118 -0
- package/dist/_pkgs/affine-gfx-connector/translations.d.ts +3 -0
- package/dist/_pkgs/affine-gfx-connector/translations.js +23 -0
- package/dist/_pkgs/affine-gfx-connector/view/view.d.ts +37 -1
- package/dist/_pkgs/affine-gfx-connector/view/view.js +97 -8
- package/dist/_pkgs/affine-gfx-group/command/group-api.js +1 -1
- package/dist/_pkgs/affine-gfx-group/store.js +0 -2
- package/dist/_pkgs/affine-gfx-group/translations.d.ts +9 -10
- package/dist/_pkgs/affine-gfx-group/translations.js +9 -13
- package/dist/_pkgs/affine-gfx-mindmap/indicator-overlay/index.js +6 -2
- package/dist/_pkgs/affine-gfx-mindmap/templates/index.js +1 -1
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/basket-elements.js +1 -1
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/config.js +4 -2
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/utils/import-mindmap.js +2 -2
- package/dist/_pkgs/affine-gfx-mindmap/translations.d.ts +7 -1
- package/dist/_pkgs/affine-gfx-mindmap/translations.js +11 -1
- package/dist/_pkgs/affine-gfx-shape/element-renderer/highlighter.js +2 -2
- package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.d.ts +6 -0
- package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.js +30 -1
- package/dist/_pkgs/affine-gfx-shape/polygon-tool.d.ts +20 -1
- package/dist/_pkgs/affine-gfx-shape/polygon-tool.js +9 -1
- package/dist/_pkgs/affine-gfx-shape/toolbar/config.js +10 -3
- package/dist/_pkgs/affine-gfx-shape/toolbar/palette-color-action.js +11 -1
- package/dist/_pkgs/affine-gfx-shape/translations.d.ts +7 -0
- package/dist/_pkgs/affine-gfx-shape/translations.js +11 -0
- package/dist/_pkgs/affine-gfx-template/builtin/other.js +14 -8
- package/dist/_pkgs/affine-gfx-template/snapshot-from-action.js +32 -119
- package/dist/_pkgs/affine-gfx-template/toolbar/template-loading.js +1 -1
- package/dist/_pkgs/affine-gfx-template/toolbar/template-type.d.ts +1 -1
- package/dist/_pkgs/affine-gfx-template/translations.d.ts +5 -0
- package/dist/_pkgs/affine-gfx-template/translations.js +38 -0
- package/dist/_pkgs/affine-gfx-text/dblclick-add-edgeless-text.d.ts +13 -1
- package/dist/_pkgs/affine-gfx-text/dblclick-add-edgeless-text.js +19 -4
- package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.d.ts +41 -0
- package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.js +60 -4
- package/dist/_pkgs/affine-gfx-text/toolbar/actions.d.ts +8 -1
- package/dist/_pkgs/affine-gfx-text/toolbar/actions.js +14 -2
- package/dist/_pkgs/affine-gfx-text/translations.d.ts +9 -0
- package/dist/_pkgs/affine-gfx-text/translations.js +14 -1
- package/dist/_pkgs/affine-inline-latex/latex-node/latex-editor-menu.js +2 -1
- package/dist/_pkgs/affine-inline-preset/markdown.js +5 -1
- package/dist/_pkgs/affine-model/consts/connector.d.ts +28 -2
- package/dist/_pkgs/affine-model/consts/connector.js +26 -0
- package/dist/_pkgs/affine-model/consts/text.d.ts +15 -2
- package/dist/_pkgs/affine-model/consts/text.js +25 -1
- package/dist/_pkgs/affine-model/elements/bpmn/pool.js +1 -1
- package/dist/_pkgs/affine-model/elements/brush/brush.js +1 -1
- package/dist/_pkgs/affine-model/elements/c4/board.js +1 -1
- package/dist/_pkgs/affine-model/elements/c4/boundary.js +1 -1
- package/dist/_pkgs/affine-model/elements/connector/connector.d.ts +135 -0
- package/dist/_pkgs/affine-model/elements/connector/connector.js +246 -5
- package/dist/_pkgs/affine-model/elements/connector/end-label.d.ts +83 -0
- package/dist/_pkgs/affine-model/elements/connector/end-label.js +119 -0
- package/dist/_pkgs/affine-model/elements/connector/index.d.ts +1 -0
- package/dist/_pkgs/affine-model/elements/connector/index.js +1 -0
- package/dist/_pkgs/affine-model/elements/context-map/context-map.js +1 -1
- package/dist/_pkgs/affine-model/elements/core-domain/core-domain.d.ts +28 -0
- package/dist/_pkgs/affine-model/elements/core-domain/core-domain.js +129 -2
- package/dist/_pkgs/affine-model/elements/cynefin/cynefin.d.ts +8 -0
- package/dist/_pkgs/affine-model/elements/cynefin/cynefin.js +45 -2
- package/dist/_pkgs/affine-model/elements/edgy/board.js +1 -1
- package/dist/_pkgs/affine-model/elements/edgy/facets.js +1 -1
- package/dist/_pkgs/affine-model/elements/estuarine/estuarine.d.ts +6 -0
- package/dist/_pkgs/affine-model/elements/estuarine/estuarine.js +36 -2
- package/dist/_pkgs/affine-model/elements/event-storming/event-storming.d.ts +18 -7
- package/dist/_pkgs/affine-model/elements/event-storming/event-storming.js +23 -8
- package/dist/_pkgs/affine-model/elements/framework-background/background.d.ts +16 -0
- package/dist/_pkgs/affine-model/elements/framework-background/background.js +18 -0
- package/dist/_pkgs/affine-model/elements/highlighter/highlighter.js +1 -1
- package/dist/_pkgs/affine-model/elements/index.d.ts +8 -0
- package/dist/_pkgs/affine-model/elements/index.js +1 -0
- package/dist/_pkgs/affine-model/elements/shape/shape.js +1 -1
- package/dist/_pkgs/affine-model/elements/text/text.js +1 -1
- package/dist/_pkgs/affine-model/elements/uml/band.d.ts +39 -0
- package/dist/_pkgs/affine-model/elements/uml/band.js +31 -0
- package/dist/_pkgs/affine-model/elements/uml/diagram.d.ts +158 -0
- package/dist/_pkgs/affine-model/elements/uml/diagram.js +229 -0
- package/dist/_pkgs/affine-model/elements/uml/fragment.d.ts +161 -0
- package/dist/_pkgs/affine-model/elements/uml/fragment.js +205 -0
- package/dist/_pkgs/affine-model/elements/uml/index.d.ts +8 -0
- package/dist/_pkgs/affine-model/elements/uml/index.js +8 -0
- package/dist/_pkgs/affine-model/elements/uml/lifeline.d.ts +77 -0
- package/dist/_pkgs/affine-model/elements/uml/lifeline.js +89 -0
- package/dist/_pkgs/affine-model/elements/uml/node.d.ts +142 -0
- package/dist/_pkgs/affine-model/elements/uml/node.js +190 -0
- package/dist/_pkgs/affine-model/elements/uml/partition.d.ts +106 -0
- package/dist/_pkgs/affine-model/elements/uml/partition.js +172 -0
- package/dist/_pkgs/affine-model/elements/uml/region.d.ts +75 -0
- package/dist/_pkgs/affine-model/elements/uml/region.js +150 -0
- package/dist/_pkgs/affine-model/elements/uml/subject.d.ts +37 -0
- package/dist/_pkgs/affine-model/elements/uml/subject.js +108 -0
- package/dist/_pkgs/affine-model/elements/wardley/wardley.js +1 -1
- package/dist/_pkgs/affine-shared/services/embed-iframe/embed-iframe-config.d.ts +1 -0
- package/dist/_pkgs/affine-shared/services/font-loader/config.d.ts +18 -0
- package/dist/_pkgs/affine-shared/services/font-loader/config.js +82 -50
- package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +1 -9
- package/dist/_pkgs/affine-shared/services/telemetry-service/document-damage-watcher.d.ts +53 -0
- package/dist/_pkgs/affine-shared/services/telemetry-service/document-damage-watcher.js +95 -0
- package/dist/_pkgs/affine-shared/services/telemetry-service/index.d.ts +1 -0
- package/dist/_pkgs/affine-shared/services/telemetry-service/index.js +1 -0
- package/dist/_pkgs/affine-shared/services/telemetry-service/lifecycle.d.ts +26 -1
- package/dist/_pkgs/affine-shared/services/telemetry-service/telemetry-service.d.ts +2 -2
- package/dist/_pkgs/affine-shared/services/theme-service.d.ts +19 -0
- package/dist/_pkgs/affine-shared/services/theme-service.js +24 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/command-action.d.ts +34 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/command-action.js +63 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/index.d.ts +1 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/index.js +1 -0
- package/dist/_pkgs/affine-shared/services/translation-service/chrome.d.ts +97 -7
- package/dist/_pkgs/affine-shared/services/translation-service/chrome.js +178 -7
- package/dist/_pkgs/affine-shared/styles/index.d.ts +1 -0
- package/dist/_pkgs/affine-shared/styles/index.js +1 -0
- package/dist/_pkgs/affine-shared/styles/motion.d.ts +14 -0
- package/dist/_pkgs/affine-shared/styles/motion.js +38 -0
- package/dist/_pkgs/affine-shared/utils/event.d.ts +10 -0
- package/dist/_pkgs/affine-shared/utils/event.js +20 -0
- package/dist/_pkgs/affine-shared/utils/file/filesys.d.ts +16 -0
- package/dist/_pkgs/affine-shared/utils/file/filesys.js +25 -0
- package/dist/_pkgs/affine-shared/utils/index.d.ts +1 -0
- package/dist/_pkgs/affine-shared/utils/index.js +1 -0
- package/dist/_pkgs/affine-shared/utils/link-preview-refresh.d.ts +12 -0
- package/dist/_pkgs/affine-shared/utils/link-preview-refresh.js +13 -0
- package/dist/_pkgs/affine-widget-edgeless-dragging-area/edgeless-dragging-area-rect.js +2 -2
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.js +5 -1
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.d.ts +12 -4
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.js +27 -4
- package/dist/_pkgs/affine-widget-edgeless-toolbar/config/types.d.ts +15 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.d.ts +1 -1
- package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.js +7 -2
- package/dist/_pkgs/affine-widget-edgeless-toolbar/create-popper.js +13 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/index.d.ts +2 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +2 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +80 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +270 -81
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/senior-menu-selection.d.ts +15 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/senior-menu-selection.js +15 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-family-panel.d.ts +18 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-family-panel.js +52 -6
- package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-weight-and-style-panel.js +8 -1
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-ghost-overlay.d.ts +42 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-ghost-overlay.js +100 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-placement-tool.d.ts +100 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-placement-tool.js +274 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/index.d.ts +3 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/index.js +3 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/translate-created.d.ts +25 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/translate-created.js +67 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.d.ts +6 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.js +10 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/view.js +5 -0
- package/dist/_pkgs/affine-widget-frame-title/edgeless-frame-title-editor.js +2 -1
- package/dist/_pkgs/affine-widget-slash-menu/translations.d.ts +16 -0
- package/dist/_pkgs/affine-widget-slash-menu/translations.js +23 -1
- package/dist/_pkgs/affine-widget-toolbar/utils.js +57 -14
- package/dist/_pkgs/data-view/core/detail/field.js +2 -1
- package/dist/_pkgs/data-view/core/filter/literal/define.js +3 -1
- package/dist/_pkgs/data-view/core/group-by/renderer/boolean-group.js +1 -1
- package/dist/_pkgs/data-view/property-presets/checkbox/cell-renderer.js +8 -2
- package/dist/_pkgs/data-view/view-presets/kanban/pc/cell.js +1 -1
- package/dist/_pkgs/data-view/view-presets/kanban/pc/controller/drag.js +2 -1
- package/dist/_pkgs/data-view/view-presets/table/pc/controller/drag.js +2 -1
- package/dist/_pkgs/data-view/view-presets/table/pc/controller/selection.js +1 -1
- package/dist/_pkgs/data-view/view-presets/table/pc/header/vertical-indicator.js +2 -1
- package/dist/_pkgs/data-view/view-presets/table/pc/row/row-select-checkbox.js +3 -1
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/drag.js +2 -1
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/selection.js +1 -1
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/group/top/header/vertical-indicator.js +2 -1
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/row-header.js +3 -1
- package/dist/_pkgs/global/gfx/xywh.js +7 -0
- package/dist/_pkgs/std/extension/command-registry.d.ts +158 -1
- package/dist/_pkgs/std/extension/command-registry.js +22 -0
- package/dist/_pkgs/std/gfx/index.d.ts +1 -1
- package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.d.ts +12 -0
- package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.js +20 -1
- package/dist/_pkgs/std/gfx/interactivity/manager.d.ts +10 -0
- package/dist/_pkgs/std/gfx/interactivity/manager.js +12 -0
- package/dist/_pkgs/std/gfx/model/surface/element-model.js +12 -7
- package/dist/_pkgs/std/gfx/model/surface/role.d.ts +10 -5
- package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +56 -0
- package/dist/_pkgs/std/gfx/model/surface/surface-model.js +84 -3
- package/dist/_pkgs/std/gfx/view/view.d.ts +11 -2
- package/dist/_pkgs/std/gfx/view/view.js +16 -2
- package/dist/commands.d.ts +6 -0
- package/dist/commands.js +10 -2
- package/dist/frameworks.d.ts +9 -0
- package/dist/frameworks.js +19 -0
- package/dist/translations.js +21 -0
- package/package.json +13 -4
- package/dist/_pkgs/affine-gfx-group/group-watcher.d.ts +0 -1
- package/dist/_pkgs/affine-gfx-group/group-watcher.js +0 -20
|
@@ -29,10 +29,48 @@ export const TEMPLATE_SENIOR_TOOL_NAME = [
|
|
|
29
29
|
'com.labre.template.senior-tool.name',
|
|
30
30
|
'Template',
|
|
31
31
|
];
|
|
32
|
+
/* ── The five "Other" tiles' own names (#390) ─────────────────────────────
|
|
33
|
+
*
|
|
34
|
+
* A hand-composed template derives no tile name from a command, so it needs a
|
|
35
|
+
* `nameKey` of its own — the same seam every framework category already uses
|
|
36
|
+
* for its hand-written templates (`gfx/bpmn`, `gfx/edgy`, `gfx/mindmap`…).
|
|
37
|
+
* Only the NAME is chrome here; the captions painted into each scene are
|
|
38
|
+
* seeds, declared further down and resolved through `Template.localize`.
|
|
39
|
+
*
|
|
40
|
+
* `TEMPLATE_NAME_BUSINESS_MODEL_CANVAS` and `BMC_SEED_TITLE` share the same
|
|
41
|
+
* English words on purpose and do NOT collide: the seed is written once into
|
|
42
|
+
* the document, the tile is redrawn every time the panel opens, and the
|
|
43
|
+
* "un mot chrome, une clé" test groups `source: 'chrome'` only.
|
|
44
|
+
*/
|
|
45
|
+
export const TEMPLATE_NAME_SWOT = [
|
|
46
|
+
'com.labre.template.name.swot',
|
|
47
|
+
'SWOT',
|
|
48
|
+
];
|
|
49
|
+
export const TEMPLATE_NAME_KANBAN_BOARD = [
|
|
50
|
+
'com.labre.template.name.kanban-board',
|
|
51
|
+
'Kanban board',
|
|
52
|
+
];
|
|
53
|
+
export const TEMPLATE_NAME_BUSINESS_MODEL_CANVAS = [
|
|
54
|
+
'com.labre.template.name.business-model-canvas',
|
|
55
|
+
'Business model canvas',
|
|
56
|
+
];
|
|
57
|
+
export const TEMPLATE_NAME_FISHBONE = [
|
|
58
|
+
'com.labre.template.name.fishbone',
|
|
59
|
+
'Fishbone (Ishikawa)',
|
|
60
|
+
];
|
|
61
|
+
export const TEMPLATE_NAME_GANTT_CHART = [
|
|
62
|
+
'com.labre.template.name.gantt-chart',
|
|
63
|
+
'Gantt chart',
|
|
64
|
+
];
|
|
32
65
|
export const TEMPLATE_PACKAGE_WORDINGS = [
|
|
33
66
|
TEMPLATE_PANEL_ADD,
|
|
34
67
|
TEMPLATE_PANEL_SEARCH_PLACEHOLDER,
|
|
35
68
|
TEMPLATE_SENIOR_TOOL_NAME,
|
|
69
|
+
TEMPLATE_NAME_SWOT,
|
|
70
|
+
TEMPLATE_NAME_KANBAN_BOARD,
|
|
71
|
+
TEMPLATE_NAME_BUSINESS_MODEL_CANVAS,
|
|
72
|
+
TEMPLATE_NAME_FISHBONE,
|
|
73
|
+
TEMPLATE_NAME_GANTT_CHART,
|
|
36
74
|
];
|
|
37
75
|
/**
|
|
38
76
|
* The generic ("Other") diagrams' own seeds: the captions painted onto the
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import { InteractivityExtension } from '../std/gfx/index.js';
|
|
1
|
+
import { type GfxController, InteractivityExtension } from '../std/gfx/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Whether a double click at this model point lands on nothing at all.
|
|
4
|
+
*
|
|
5
|
+
* Two layers have to agree, because they answer different questions: the model
|
|
6
|
+
* hit test (`getElementByPoint`) answers "may I be selected here?", the view
|
|
7
|
+
* router answers "is this point mine?". Since framework backgrounds became
|
|
8
|
+
* border-only for picking (#194), their axis labels are a place where the two
|
|
9
|
+
* disagree — the model calls the label empty canvas while the view is opening
|
|
10
|
+
* its rename editor there, and dropping a text block on top blurs that editor
|
|
11
|
+
* shut before the user can type.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isEmptyCanvasAt(gfx: GfxController, x: number, y: number): boolean;
|
|
2
14
|
export declare class DblClickAddEdgelessText extends InteractivityExtension {
|
|
3
15
|
static key: string;
|
|
4
16
|
mounted(): void;
|
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
import { FeatureFlagService, TelemetryProvider, } from '../affine-shared/services/index.js';
|
|
2
|
-
import { InteractivityExtension, } from '../std/gfx/index.js';
|
|
2
|
+
import { InteractivityExtension, InteractivityIdentifier, } from '../std/gfx/index.js';
|
|
3
3
|
import { insertEdgelessTextCommand } from './commands/index.js';
|
|
4
4
|
import { addText } from './edgeless-text-editor.js';
|
|
5
|
+
/**
|
|
6
|
+
* Whether a double click at this model point lands on nothing at all.
|
|
7
|
+
*
|
|
8
|
+
* Two layers have to agree, because they answer different questions: the model
|
|
9
|
+
* hit test (`getElementByPoint`) answers "may I be selected here?", the view
|
|
10
|
+
* router answers "is this point mine?". Since framework backgrounds became
|
|
11
|
+
* border-only for picking (#194), their axis labels are a place where the two
|
|
12
|
+
* disagree — the model calls the label empty canvas while the view is opening
|
|
13
|
+
* its rename editor there, and dropping a text block on top blurs that editor
|
|
14
|
+
* shut before the user can type.
|
|
15
|
+
*/
|
|
16
|
+
export function isEmptyCanvasAt(gfx, x, y) {
|
|
17
|
+
if (gfx.getElementByPoint(x, y))
|
|
18
|
+
return false;
|
|
19
|
+
return !gfx.std.getOptional(InteractivityIdentifier)?.hasViewAt(x, y);
|
|
20
|
+
}
|
|
5
21
|
export class DblClickAddEdgelessText extends InteractivityExtension {
|
|
6
22
|
static { this.key = 'dbl-click-add-edgeless-text'; }
|
|
7
23
|
mounted() {
|
|
@@ -10,12 +26,11 @@ export class DblClickAddEdgelessText extends InteractivityExtension {
|
|
|
10
26
|
const textFlag = this.std.store
|
|
11
27
|
.get(FeatureFlagService)
|
|
12
28
|
.getFlag('enable_edgeless_text');
|
|
13
|
-
const
|
|
14
|
-
if (
|
|
29
|
+
const [x, y] = this.gfx.viewport.toModelCoord(e.x, e.y);
|
|
30
|
+
if (!isEmptyCanvasAt(this.gfx, x, y)) {
|
|
15
31
|
return;
|
|
16
32
|
}
|
|
17
33
|
if (textFlag) {
|
|
18
|
-
const [x, y] = this.gfx.viewport.toModelCoord(e.x, e.y);
|
|
19
34
|
this.std.command.exec(insertEdgelessTextCommand, { x, y });
|
|
20
35
|
}
|
|
21
36
|
else {
|
|
@@ -9,6 +9,46 @@ export declare function mountTextElementEditor(textElement: TextElementModel, ed
|
|
|
9
9
|
* Canvas Text has been deprecated
|
|
10
10
|
*/
|
|
11
11
|
export declare function addText(edgeless: BlockComponent, event: PointerEventState): void;
|
|
12
|
+
/**
|
|
13
|
+
* What the editor does with a canvas text the author committed EMPTY: delete it,
|
|
14
|
+
* or leave it standing.
|
|
15
|
+
*
|
|
16
|
+
* ## Why anything survives being emptied
|
|
17
|
+
*
|
|
18
|
+
* A free canvas text emptied of its words IS nothing, and deleting it is what
|
|
19
|
+
* keeps an invisible, selectable box off the board. That was the only rule until
|
|
20
|
+
* the PO's recette of 14/09/2026 found what it costs a COMPARTMENT: emptying a
|
|
21
|
+
* classifier's title deleted the `uml:name` tier out of its group, and the next
|
|
22
|
+
* double-click on the body fell through to the SHAPE's own inner text
|
|
23
|
+
* (`UmlNodeView`), which R16 keeps empty and no framework renderer paints —
|
|
24
|
+
* "je n'arrive pas à entrer dans l'édition de texte".
|
|
25
|
+
*
|
|
26
|
+
* ## …and why a `role` alone is not the test
|
|
27
|
+
*
|
|
28
|
+
* A role says the element means something to a framework. It does NOT say the
|
|
29
|
+
* element is a tier of a composite: a Wardley `wardley:label` and a BPMN name
|
|
30
|
+
* are roled texts that float BESIDE their artefact, sized to their own words,
|
|
31
|
+
* and one emptied to nothing leaves exactly the invisible box the deletion rule
|
|
32
|
+
* exists to remove — with no placeholder drawn over it and no layout to put it
|
|
33
|
+
* back.
|
|
34
|
+
*
|
|
35
|
+
* A compartment tier is the one that has both halves: a `role`, and
|
|
36
|
+
* `hasMaxWidth` — a FIXED width, given at creation by every framework that lays
|
|
37
|
+
* tiers out (`uml/presets.ts`, `c4/actions.ts`), because a tier's width is its
|
|
38
|
+
* compartment's and not its content's. That fixed width is also, and not by
|
|
39
|
+
* coincidence, what leaves a full-width hit box for the next double-click to
|
|
40
|
+
* land on when the words are gone.
|
|
41
|
+
*
|
|
42
|
+
* Pure and total, so it can be asked without an editor, an element model or a
|
|
43
|
+
* document.
|
|
44
|
+
*/
|
|
45
|
+
export declare function emptiedTextIsDeleted(element: {
|
|
46
|
+
text: {
|
|
47
|
+
length: number;
|
|
48
|
+
};
|
|
49
|
+
role?: string;
|
|
50
|
+
hasMaxWidth?: boolean;
|
|
51
|
+
}): boolean;
|
|
12
52
|
declare const EdgelessTextEditor_base: typeof ShadowlessElement & import("../global/utils/types.js").Constructor<import("../global/lit/with-disposable.js").DisposableClass>;
|
|
13
53
|
export declare class EdgelessTextEditor extends EdgelessTextEditor_base {
|
|
14
54
|
get crud(): import("../affine-block-surface/index.js").EdgelessCRUDExtension;
|
|
@@ -20,6 +60,7 @@ export declare class EdgelessTextEditor extends EdgelessTextEditor_base {
|
|
|
20
60
|
static styles: import("lit").CSSResult;
|
|
21
61
|
private _isComposition;
|
|
22
62
|
private _keeping;
|
|
63
|
+
private _removing;
|
|
23
64
|
private readonly _updateRect;
|
|
24
65
|
get inlineEditor(): import("../affine-shared/types/index.js").AffineInlineEditor | null;
|
|
25
66
|
get inlineEditorContainer(): import("../std/inline/inline-editor.js").InlineRootElement<import("../affine-shared/types/index.js").AffineTextAttributes> | null | undefined;
|
|
@@ -97,6 +97,44 @@ export function addText(edgeless, event) {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* What the editor does with a canvas text the author committed EMPTY: delete it,
|
|
102
|
+
* or leave it standing.
|
|
103
|
+
*
|
|
104
|
+
* ## Why anything survives being emptied
|
|
105
|
+
*
|
|
106
|
+
* A free canvas text emptied of its words IS nothing, and deleting it is what
|
|
107
|
+
* keeps an invisible, selectable box off the board. That was the only rule until
|
|
108
|
+
* the PO's recette of 14/09/2026 found what it costs a COMPARTMENT: emptying a
|
|
109
|
+
* classifier's title deleted the `uml:name` tier out of its group, and the next
|
|
110
|
+
* double-click on the body fell through to the SHAPE's own inner text
|
|
111
|
+
* (`UmlNodeView`), which R16 keeps empty and no framework renderer paints —
|
|
112
|
+
* "je n'arrive pas à entrer dans l'édition de texte".
|
|
113
|
+
*
|
|
114
|
+
* ## …and why a `role` alone is not the test
|
|
115
|
+
*
|
|
116
|
+
* A role says the element means something to a framework. It does NOT say the
|
|
117
|
+
* element is a tier of a composite: a Wardley `wardley:label` and a BPMN name
|
|
118
|
+
* are roled texts that float BESIDE their artefact, sized to their own words,
|
|
119
|
+
* and one emptied to nothing leaves exactly the invisible box the deletion rule
|
|
120
|
+
* exists to remove — with no placeholder drawn over it and no layout to put it
|
|
121
|
+
* back.
|
|
122
|
+
*
|
|
123
|
+
* A compartment tier is the one that has both halves: a `role`, and
|
|
124
|
+
* `hasMaxWidth` — a FIXED width, given at creation by every framework that lays
|
|
125
|
+
* tiers out (`uml/presets.ts`, `c4/actions.ts`), because a tier's width is its
|
|
126
|
+
* compartment's and not its content's. That fixed width is also, and not by
|
|
127
|
+
* coincidence, what leaves a full-width hit box for the next double-click to
|
|
128
|
+
* land on when the words are gone.
|
|
129
|
+
*
|
|
130
|
+
* Pure and total, so it can be asked without an editor, an element model or a
|
|
131
|
+
* document.
|
|
132
|
+
*/
|
|
133
|
+
export function emptiedTextIsDeleted(element) {
|
|
134
|
+
if (element.text.length !== 0)
|
|
135
|
+
return false;
|
|
136
|
+
return !(element.role !== undefined && element.hasMaxWidth === true);
|
|
137
|
+
}
|
|
100
138
|
let EdgelessTextEditor = (() => {
|
|
101
139
|
let _classSuper = WithDisposable(ShadowlessElement);
|
|
102
140
|
let _std_decorators;
|
|
@@ -138,9 +176,10 @@ let EdgelessTextEditor = (() => {
|
|
|
138
176
|
transform-origin: left top;
|
|
139
177
|
font-kerning: none;
|
|
140
178
|
border: ${EdgelessTextEditor.BORDER_WIDTH}px solid
|
|
141
|
-
var(--affine-primary-color
|
|
179
|
+
var(--affine-primary-color);
|
|
142
180
|
border-radius: 4px;
|
|
143
|
-
box-shadow: 0px 0px 0px 2px
|
|
181
|
+
box-shadow: 0px 0px 0px 2px
|
|
182
|
+
color-mix(in srgb, var(--affine-primary-color) 30%, transparent);
|
|
144
183
|
padding: ${EdgelessTextEditor.PADDING_VERTICAL}px
|
|
145
184
|
${EdgelessTextEditor.PADDING_HORIZONTAL}px;
|
|
146
185
|
overflow: visible;
|
|
@@ -203,7 +242,12 @@ let EdgelessTextEditor = (() => {
|
|
|
203
242
|
this.disposables.add(dispatcher.add('doubleClick', () => true));
|
|
204
243
|
this.disposables.add(() => {
|
|
205
244
|
element.display = true;
|
|
206
|
-
|
|
245
|
+
// An emptied COMPARTMENT TIER stays, at its compartment's box,
|
|
246
|
+
// showing the placeholder its framework draws and answering the next
|
|
247
|
+
// double-click; anything else emptied goes. The whole rule, and why it
|
|
248
|
+
// is those two properties and not one, is on
|
|
249
|
+
// {@link emptiedTextIsDeleted}.
|
|
250
|
+
if (emptiedTextIsDeleted(element)) {
|
|
207
251
|
this.crud.deleteElements([element]);
|
|
208
252
|
}
|
|
209
253
|
this.gfx.selection.set({
|
|
@@ -213,7 +257,18 @@ let EdgelessTextEditor = (() => {
|
|
|
213
257
|
});
|
|
214
258
|
if (!this.inlineEditorContainer)
|
|
215
259
|
return;
|
|
216
|
-
this.disposables.addFromEvent(this.inlineEditorContainer, 'blur', () =>
|
|
260
|
+
this.disposables.addFromEvent(this.inlineEditorContainer, 'blur', () => {
|
|
261
|
+
// Re-entrant, and the connector label editor already says why:
|
|
262
|
+
// Chrome fires the focused child's blur SYNCHRONOUSLY inside
|
|
263
|
+
// `remove()`, before the node is detached, and the commit in
|
|
264
|
+
// `disconnectedCallback` moves the focus again. Without the flag the
|
|
265
|
+
// handler removes a node whose removal is in progress — a
|
|
266
|
+
// `NotFoundError` out of a listener nobody is awaiting.
|
|
267
|
+
if (this._keeping || this._removing)
|
|
268
|
+
return;
|
|
269
|
+
this._removing = true;
|
|
270
|
+
this.remove();
|
|
271
|
+
});
|
|
217
272
|
this.disposables.addFromEvent(this.inlineEditorContainer, 'compositionstart', () => {
|
|
218
273
|
this._isComposition = true;
|
|
219
274
|
this.requestUpdate();
|
|
@@ -353,6 +408,7 @@ let EdgelessTextEditor = (() => {
|
|
|
353
408
|
super(...arguments);
|
|
354
409
|
this._isComposition = false;
|
|
355
410
|
this._keeping = false;
|
|
411
|
+
this._removing = false;
|
|
356
412
|
this._updateRect = () => {
|
|
357
413
|
const element = this.element;
|
|
358
414
|
if (!element || !this.inlineEditorContainer)
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { type SurfaceTextModelMap, type TextStyleProps } from '../../affine-model/index.js';
|
|
2
2
|
import { type ToolbarContext } from '../../affine-shared/services/index.js';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* What the dropdowns read off a selected model. `fontSize` is optional because
|
|
5
|
+
* `affine:edgeless-text` has no such prop — it scales instead, which is why the
|
|
6
|
+
* `d.font-size` action skips that type.
|
|
7
|
+
*/
|
|
8
|
+
type ReadableTextStyleProps = Omit<TextStyleProps, 'fontSize'> & Partial<Pick<TextStyleProps, 'fontSize'>>;
|
|
9
|
+
export declare function createTextActions<K extends abstract new (...args: any) => any, T extends keyof SurfaceTextModelMap>(klass: K, type: T, update?: (ctx: ToolbarContext, model: InstanceType<K>, props: Partial<TextStyleProps>) => void, mapInto?: (model: InstanceType<K>) => ReadableTextStyleProps, stash?: <P extends keyof TextStyleProps>(model: InstanceType<K>, type: 'stash' | 'pop', field: P) => void): [{
|
|
4
10
|
readonly id: "a.font";
|
|
5
11
|
readonly content: (ctx: ToolbarContext) => import("lit-html").TemplateResult<1> | null;
|
|
6
12
|
}, {
|
|
@@ -17,3 +23,4 @@ export declare function createTextActions<K extends abstract new (...args: any)
|
|
|
17
23
|
readonly id: "e.alignment";
|
|
18
24
|
readonly content: (ctx: ToolbarContext) => import("lit-html").TemplateResult<1> | null;
|
|
19
25
|
}];
|
|
26
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EdgelessCRUDIdentifier, TextUtils } from '../../affine-block-surface/index.js';
|
|
2
|
-
import { packColor, } from '../../affine-components/color-picker/index.js';
|
|
2
|
+
import { frameworkPaletteGroups, packColor, } from '../../affine-components/color-picker/index.js';
|
|
3
3
|
import { EditorChevronDown } from '../../affine-components/toolbar/index.js';
|
|
4
4
|
import { DefaultTheme, FontFamily, FontStyle, FontWeight, resolveColor, TextAlign, } from '../../affine-model/index.js';
|
|
5
5
|
import { translateKey, } from '../../affine-shared/services/index.js';
|
|
@@ -10,7 +10,7 @@ import { signal } from '@preact/signals-core';
|
|
|
10
10
|
import { html } from 'lit';
|
|
11
11
|
import { styleMap } from 'lit/directives/style-map.js';
|
|
12
12
|
import { isFontStyleSupported, isFontWeightSupported, } from '../element-renderer/utils.js';
|
|
13
|
-
import { TEXT_ALIGN_CENTER, TEXT_ALIGN_LEFT, TEXT_ALIGN_RIGHT, TEXT_TOOLBAR_ALIGNMENT, TEXT_TOOLBAR_FONT, TEXT_TOOLBAR_FONT_STYLE, TEXT_TOOLBAR_FONT_STYLE_ITALIC, TEXT_TOOLBAR_FONT_WEIGHT_LIGHT, TEXT_TOOLBAR_FONT_WEIGHT_REGULAR, TEXT_TOOLBAR_FONT_WEIGHT_SEMIBOLD, TEXT_TOOLBAR_FONT_SIZE, TEXT_TOOLBAR_TEXT_COLOR, } from '../translations.js';
|
|
13
|
+
import { TEXT_ALIGN_CENTER, TEXT_ALIGN_LEFT, TEXT_ALIGN_RIGHT, TEXT_TOOLBAR_ALIGNMENT, TEXT_TOOLBAR_ALIGNMENT_MENU_ARIA, TEXT_TOOLBAR_FONT, TEXT_TOOLBAR_FONT_STYLE, TEXT_TOOLBAR_FONT_STYLE_ITALIC, TEXT_TOOLBAR_FONT_WEIGHT_BOLD, TEXT_TOOLBAR_FONT_WEIGHT_LIGHT, TEXT_TOOLBAR_FONT_WEIGHT_REGULAR, TEXT_TOOLBAR_FONT_WEIGHT_SEMIBOLD, TEXT_TOOLBAR_FONT_SIZE, TEXT_TOOLBAR_TEXT_COLOR, } from '../translations.js';
|
|
14
14
|
const FONT_WEIGHT_LIST = [
|
|
15
15
|
{
|
|
16
16
|
key: 'Light',
|
|
@@ -27,6 +27,11 @@ const FONT_WEIGHT_LIST = [
|
|
|
27
27
|
keyWording: TEXT_TOOLBAR_FONT_WEIGHT_SEMIBOLD,
|
|
28
28
|
value: FontWeight.SemiBold,
|
|
29
29
|
},
|
|
30
|
+
{
|
|
31
|
+
key: 'Bold',
|
|
32
|
+
keyWording: TEXT_TOOLBAR_FONT_WEIGHT_BOLD,
|
|
33
|
+
value: FontWeight.Bold,
|
|
34
|
+
},
|
|
30
35
|
];
|
|
31
36
|
const FONT_STYLE_LIST = [
|
|
32
37
|
{
|
|
@@ -114,6 +119,7 @@ export function createTextActions(klass, type, update = (ctx, model, props) => c
|
|
|
114
119
|
<edgeless-font-family-panel
|
|
115
120
|
.value=${fontFamily}
|
|
116
121
|
.onSelect=${onPick}
|
|
122
|
+
.std=${ctx.std}
|
|
117
123
|
></edgeless-font-family-panel>
|
|
118
124
|
</editor-menu-button>
|
|
119
125
|
`;
|
|
@@ -167,6 +173,9 @@ export function createTextActions(klass, type, update = (ctx, model, props) => c
|
|
|
167
173
|
break;
|
|
168
174
|
}
|
|
169
175
|
};
|
|
176
|
+
// A label on a framework board opens on that framework's hues; the
|
|
177
|
+
// text palette of the editor stays page one (`docs/adr/0027`).
|
|
178
|
+
const carousel = frameworkPaletteGroups(ctx.std, models, palettes);
|
|
170
179
|
return html `
|
|
171
180
|
<edgeless-color-picker-button
|
|
172
181
|
class="text-color"
|
|
@@ -179,6 +188,8 @@ export function createTextActions(klass, type, update = (ctx, model, props) => c
|
|
|
179
188
|
.hollowCircle=${true}
|
|
180
189
|
.originalColor=${originalColor}
|
|
181
190
|
.palettes=${palettes}
|
|
191
|
+
.paletteGroups=${carousel.groups}
|
|
192
|
+
.activeGroupKey=${carousel.activeKey}
|
|
182
193
|
.enableCustomColor=${enableCustomColor}
|
|
183
194
|
>
|
|
184
195
|
</edgeless-color-picker-button>
|
|
@@ -285,6 +296,7 @@ export function createTextActions(klass, type, update = (ctx, model, props) => c
|
|
|
285
296
|
return renderMenu({
|
|
286
297
|
label: 'Alignment',
|
|
287
298
|
labelWording: TEXT_TOOLBAR_ALIGNMENT,
|
|
299
|
+
menuAriaWording: TEXT_TOOLBAR_ALIGNMENT_MENU_ARIA,
|
|
288
300
|
items: TEXT_ALIGN_LIST,
|
|
289
301
|
currentValue: textAlign,
|
|
290
302
|
onPick,
|
|
@@ -11,11 +11,20 @@ export declare const TEXT_TOOLBAR_FONT_SIZE: ChromeWording;
|
|
|
11
11
|
export declare const TEXT_TOOLBAR_FONT_WEIGHT_LIGHT: ChromeWording;
|
|
12
12
|
export declare const TEXT_TOOLBAR_FONT_WEIGHT_REGULAR: ChromeWording;
|
|
13
13
|
export declare const TEXT_TOOLBAR_FONT_WEIGHT_SEMIBOLD: ChromeWording;
|
|
14
|
+
export declare const TEXT_TOOLBAR_FONT_WEIGHT_BOLD: ChromeWording;
|
|
14
15
|
export declare const TEXT_TOOLBAR_FONT_STYLE_ITALIC: ChromeWording;
|
|
15
16
|
export declare const TEXT_TOOLBAR_FONT: ChromeWording;
|
|
16
17
|
export declare const TEXT_TOOLBAR_TEXT_COLOR: ChromeWording;
|
|
17
18
|
export declare const TEXT_TOOLBAR_FONT_STYLE: ChromeWording;
|
|
18
19
|
export declare const TEXT_TOOLBAR_ALIGNMENT: ChromeWording;
|
|
20
|
+
/**
|
|
21
|
+
* The accessible name of the alignment menu SHELL (#390) — its own wording,
|
|
22
|
+
* not `` `${TEXT_TOOLBAR_ALIGNMENT}-menu` ``, which read "alignement-menu" in
|
|
23
|
+
* French. Distinct from `ROOT_ALIGNMENT_MENU_ARIA`: that one names the
|
|
24
|
+
* edgeless menu that aligns ELEMENTS on the board, this one the menu that
|
|
25
|
+
* aligns TEXT inside an element. Two menus, two names.
|
|
26
|
+
*/
|
|
27
|
+
export declare const TEXT_TOOLBAR_ALIGNMENT_MENU_ARIA: ChromeWording;
|
|
19
28
|
/**
|
|
20
29
|
* The three alignment values — a different concept from a mindmap's own
|
|
21
30
|
* "Left" / "Right" layout direction (`gfx/mindmap`'s
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FONT_SIZE_LABEL, FONT_STYLE_ITALIC, FONT_WEIGHT_LIGHT, FONT_WEIGHT_REGULAR, FONT_WEIGHT_SEMIBOLD, } from '../affine-shared/services/index.js';
|
|
1
|
+
import { FONT_SIZE_LABEL, FONT_STYLE_ITALIC, FONT_WEIGHT_BOLD, FONT_WEIGHT_LIGHT, FONT_WEIGHT_REGULAR, FONT_WEIGHT_SEMIBOLD, } from '../affine-shared/services/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* The shared text toolbar's own wordings (`createTextActions`, rendered by
|
|
4
4
|
* every framework that draws real text — shape, mindmap, connector,
|
|
@@ -11,6 +11,7 @@ export const TEXT_TOOLBAR_FONT_SIZE = FONT_SIZE_LABEL;
|
|
|
11
11
|
export const TEXT_TOOLBAR_FONT_WEIGHT_LIGHT = FONT_WEIGHT_LIGHT;
|
|
12
12
|
export const TEXT_TOOLBAR_FONT_WEIGHT_REGULAR = FONT_WEIGHT_REGULAR;
|
|
13
13
|
export const TEXT_TOOLBAR_FONT_WEIGHT_SEMIBOLD = FONT_WEIGHT_SEMIBOLD;
|
|
14
|
+
export const TEXT_TOOLBAR_FONT_WEIGHT_BOLD = FONT_WEIGHT_BOLD;
|
|
14
15
|
export const TEXT_TOOLBAR_FONT_STYLE_ITALIC = FONT_STYLE_ITALIC;
|
|
15
16
|
export const TEXT_TOOLBAR_FONT = [
|
|
16
17
|
'com.labre.text-toolbar.font',
|
|
@@ -28,6 +29,17 @@ export const TEXT_TOOLBAR_ALIGNMENT = [
|
|
|
28
29
|
'com.labre.text-toolbar.alignment',
|
|
29
30
|
'Alignment',
|
|
30
31
|
];
|
|
32
|
+
/**
|
|
33
|
+
* The accessible name of the alignment menu SHELL (#390) — its own wording,
|
|
34
|
+
* not `` `${TEXT_TOOLBAR_ALIGNMENT}-menu` ``, which read "alignement-menu" in
|
|
35
|
+
* French. Distinct from `ROOT_ALIGNMENT_MENU_ARIA`: that one names the
|
|
36
|
+
* edgeless menu that aligns ELEMENTS on the board, this one the menu that
|
|
37
|
+
* aligns TEXT inside an element. Two menus, two names.
|
|
38
|
+
*/
|
|
39
|
+
export const TEXT_TOOLBAR_ALIGNMENT_MENU_ARIA = [
|
|
40
|
+
'com.labre.text-toolbar.alignment-menu',
|
|
41
|
+
'text alignment-menu',
|
|
42
|
+
];
|
|
31
43
|
/**
|
|
32
44
|
* The three alignment values — a different concept from a mindmap's own
|
|
33
45
|
* "Left" / "Right" layout direction (`gfx/mindmap`'s
|
|
@@ -57,6 +69,7 @@ export const TEXT_WORDINGS = [
|
|
|
57
69
|
TEXT_TOOLBAR_TEXT_COLOR,
|
|
58
70
|
TEXT_TOOLBAR_FONT_STYLE,
|
|
59
71
|
TEXT_TOOLBAR_ALIGNMENT,
|
|
72
|
+
TEXT_TOOLBAR_ALIGNMENT_MENU_ARIA,
|
|
60
73
|
TEXT_ALIGN_LEFT,
|
|
61
74
|
TEXT_ALIGN_CENTER,
|
|
62
75
|
TEXT_ALIGN_RIGHT,
|
|
@@ -101,7 +101,8 @@ let LatexEditorMenu = (() => {
|
|
|
101
101
|
background: ${unsafeCSSVar('white10')};
|
|
102
102
|
|
|
103
103
|
/* light/activeShadow */
|
|
104
|
-
box-shadow: 0px 0px 0px 2px
|
|
104
|
+
box-shadow: 0px 0px 0px 2px
|
|
105
|
+
color-mix(in srgb, var(--affine-primary-color) 30%, transparent);
|
|
105
106
|
|
|
106
107
|
font-family: ${unsafeCSSVar('fontCodeFamily')};
|
|
107
108
|
border: 1px solid transparent;
|
|
@@ -195,14 +195,18 @@ export const CodeExtension = InlineMarkdownExtension({
|
|
|
195
195
|
});
|
|
196
196
|
// typographic replacement: word -- + space => word — + space
|
|
197
197
|
// not convert: --- + space (divider shortcut), --flag + space, inside inline code
|
|
198
|
+
// an odd number of backticks before the dashes means a code span is still open:
|
|
199
|
+
// the closing backtick has not run yet, so the dashes are code in the making
|
|
198
200
|
export const EmDashExtension = InlineMarkdownExtension({
|
|
199
201
|
name: 'em-dash',
|
|
200
202
|
pattern: /(?:^|[^-])--\s$/,
|
|
201
|
-
action: ({ inlineEditor, inlineRange, undoManager }) => {
|
|
203
|
+
action: ({ inlineEditor, inlineRange, prefixText, undoManager }) => {
|
|
202
204
|
const dashes = { index: inlineRange.index - 3, length: 2 };
|
|
203
205
|
const format = inlineEditor.getFormat(dashes);
|
|
204
206
|
if (format.code)
|
|
205
207
|
return;
|
|
208
|
+
if ((prefixText.match(/`/g) ?? []).length % 2 === 1)
|
|
209
|
+
return;
|
|
206
210
|
undoManager.stopCapturing();
|
|
207
211
|
inlineEditor.insertText(dashes, '—', format);
|
|
208
212
|
inlineEditor.setInlineRange({
|
|
@@ -2,14 +2,40 @@ export declare enum ConnectorEndpoint {
|
|
|
2
2
|
Front = "Front",
|
|
3
3
|
Rear = "Rear"
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* The endpoint head painted at each end of a connector.
|
|
7
|
+
*
|
|
8
|
+
* **These string values are PERSISTED.** Every connector stores two of them
|
|
9
|
+
* (`frontEndpointStyle` / `rearEndpointStyle`, see
|
|
10
|
+
* `../elements/connector/connector.ts`), so the enum is **append-only**: a
|
|
11
|
+
* member may be added, never renamed, never removed, and never given a
|
|
12
|
+
* different string value. Renaming one would silently turn every stored
|
|
13
|
+
* connector that carries it into an unknown style.
|
|
14
|
+
*
|
|
15
|
+
* **Adding a member is safe in both directions.** The canvas `renderEndpoint`
|
|
16
|
+
* switch (`@labre/affine-gfx-connector`) and the DOM renderer's
|
|
17
|
+
* `createArrowMarker` both have **no `default` branch** on purpose: a client
|
|
18
|
+
* built before a member was added simply paints no head for it. The connector
|
|
19
|
+
* itself, its geometry, its label and its bindings all still load and still
|
|
20
|
+
* round-trip — degraded, never broken. The reverse is free: an older document
|
|
21
|
+
* only ever carries members that already existed.
|
|
22
|
+
*
|
|
23
|
+
* `TriangleHollow` and `DiamondHollow` are the UML 2.5.1 heads — a hollow
|
|
24
|
+
* closed triangle for generalization and realization, a hollow diamond for
|
|
25
|
+
* shared aggregation. They are the same geometry as `Triangle` / `Diamond`,
|
|
26
|
+
* filled with the notation card fill instead of the stroke colour; see
|
|
27
|
+
* `docs/adr/0016-hollow-endpoint-styles.md`.
|
|
28
|
+
*/
|
|
5
29
|
export declare enum PointStyle {
|
|
6
30
|
Arrow = "Arrow",
|
|
7
31
|
Circle = "Circle",
|
|
8
32
|
Diamond = "Diamond",
|
|
9
33
|
None = "None",
|
|
10
|
-
Triangle = "Triangle"
|
|
34
|
+
Triangle = "Triangle",
|
|
35
|
+
TriangleHollow = "TriangleHollow",
|
|
36
|
+
DiamondHollow = "DiamondHollow"
|
|
11
37
|
}
|
|
12
|
-
export declare const PointStyleMap: Record<PointStyle, "Arrow" | "Circle" | "Diamond" | "None" | "Triangle">;
|
|
38
|
+
export declare const PointStyleMap: Record<PointStyle, "Arrow" | "Circle" | "Diamond" | "None" | "Triangle" | "TriangleHollow" | "DiamondHollow">;
|
|
13
39
|
export declare const DEFAULT_FRONT_ENDPOINT_STYLE = PointStyle.None;
|
|
14
40
|
export declare const DEFAULT_REAR_ENDPOINT_STYLE = PointStyle.Arrow;
|
|
15
41
|
export declare const CONNECTOR_LABEL_MAX_WIDTH = 280;
|
|
@@ -4,6 +4,30 @@ export var ConnectorEndpoint;
|
|
|
4
4
|
ConnectorEndpoint["Front"] = "Front";
|
|
5
5
|
ConnectorEndpoint["Rear"] = "Rear";
|
|
6
6
|
})(ConnectorEndpoint || (ConnectorEndpoint = {}));
|
|
7
|
+
/**
|
|
8
|
+
* The endpoint head painted at each end of a connector.
|
|
9
|
+
*
|
|
10
|
+
* **These string values are PERSISTED.** Every connector stores two of them
|
|
11
|
+
* (`frontEndpointStyle` / `rearEndpointStyle`, see
|
|
12
|
+
* `../elements/connector/connector.ts`), so the enum is **append-only**: a
|
|
13
|
+
* member may be added, never renamed, never removed, and never given a
|
|
14
|
+
* different string value. Renaming one would silently turn every stored
|
|
15
|
+
* connector that carries it into an unknown style.
|
|
16
|
+
*
|
|
17
|
+
* **Adding a member is safe in both directions.** The canvas `renderEndpoint`
|
|
18
|
+
* switch (`@labre/affine-gfx-connector`) and the DOM renderer's
|
|
19
|
+
* `createArrowMarker` both have **no `default` branch** on purpose: a client
|
|
20
|
+
* built before a member was added simply paints no head for it. The connector
|
|
21
|
+
* itself, its geometry, its label and its bindings all still load and still
|
|
22
|
+
* round-trip — degraded, never broken. The reverse is free: an older document
|
|
23
|
+
* only ever carries members that already existed.
|
|
24
|
+
*
|
|
25
|
+
* `TriangleHollow` and `DiamondHollow` are the UML 2.5.1 heads — a hollow
|
|
26
|
+
* closed triangle for generalization and realization, a hollow diamond for
|
|
27
|
+
* shared aggregation. They are the same geometry as `Triangle` / `Diamond`,
|
|
28
|
+
* filled with the notation card fill instead of the stroke colour; see
|
|
29
|
+
* `docs/adr/0016-hollow-endpoint-styles.md`.
|
|
30
|
+
*/
|
|
7
31
|
export var PointStyle;
|
|
8
32
|
(function (PointStyle) {
|
|
9
33
|
PointStyle["Arrow"] = "Arrow";
|
|
@@ -11,6 +35,8 @@ export var PointStyle;
|
|
|
11
35
|
PointStyle["Diamond"] = "Diamond";
|
|
12
36
|
PointStyle["None"] = "None";
|
|
13
37
|
PointStyle["Triangle"] = "Triangle";
|
|
38
|
+
PointStyle["TriangleHollow"] = "TriangleHollow";
|
|
39
|
+
PointStyle["DiamondHollow"] = "DiamondHollow";
|
|
14
40
|
})(PointStyle || (PointStyle = {}));
|
|
15
41
|
export const PointStyleMap = createEnumMap(PointStyle);
|
|
16
42
|
export const DEFAULT_FRONT_ENDPOINT_STYLE = PointStyle.None;
|
|
@@ -31,17 +31,30 @@ export declare enum FontStyle {
|
|
|
31
31
|
Italic = "italic",
|
|
32
32
|
Normal = "normal"
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* A stored value: every member stays forever, whether or not a host still
|
|
36
|
+
* ships its files. `Satoshi` is in no default font list since #396 (its
|
|
37
|
+
* licence forbids offering it as a selectable font in a SaaS or design tool),
|
|
38
|
+
* but an element that carries it keeps loading and painting with the
|
|
39
|
+
* `sans-serif` fallback. `PlusJakartaSans` (SIL OFL 1.1) is its replacement.
|
|
40
|
+
*/
|
|
34
41
|
export declare enum FontFamily {
|
|
35
42
|
BebasNeue = "blocksuite:surface:BebasNeue",
|
|
36
43
|
Inter = "blocksuite:surface:Inter",
|
|
37
44
|
Kalam = "blocksuite:surface:Kalam",
|
|
38
45
|
Lora = "blocksuite:surface:Lora",
|
|
39
46
|
OrelegaOne = "blocksuite:surface:OrelegaOne",
|
|
47
|
+
PlusJakartaSans = "blocksuite:surface:PlusJakartaSans",
|
|
40
48
|
Poppins = "blocksuite:surface:Poppins",
|
|
41
49
|
Satoshi = "blocksuite:surface:Satoshi"
|
|
42
50
|
}
|
|
43
|
-
export declare const FontFamilyMap: Record<FontFamily, "BebasNeue" | "Inter" | "Kalam" | "Lora" | "OrelegaOne" | "Poppins" | "Satoshi">;
|
|
44
|
-
|
|
51
|
+
export declare const FontFamilyMap: Record<FontFamily, "BebasNeue" | "Inter" | "Kalam" | "Lora" | "OrelegaOne" | "PlusJakartaSans" | "Poppins" | "Satoshi">;
|
|
52
|
+
/**
|
|
53
|
+
* Every family with the name the picker shows, in declaration order. What a
|
|
54
|
+
* picker OFFERS is this list narrowed to the families the host configured
|
|
55
|
+
* (`FontConfig`, #396); this is the order and the names it keeps.
|
|
56
|
+
*/
|
|
57
|
+
export declare const FontFamilyList: [FontFamily, string][];
|
|
45
58
|
export declare enum TextResizing {
|
|
46
59
|
AUTO_WIDTH_AND_HEIGHT = 0,
|
|
47
60
|
AUTO_HEIGHT = 1
|
|
@@ -27,6 +27,13 @@ export var FontStyle;
|
|
|
27
27
|
FontStyle["Italic"] = "italic";
|
|
28
28
|
FontStyle["Normal"] = "normal";
|
|
29
29
|
})(FontStyle || (FontStyle = {}));
|
|
30
|
+
/**
|
|
31
|
+
* A stored value: every member stays forever, whether or not a host still
|
|
32
|
+
* ships its files. `Satoshi` is in no default font list since #396 (its
|
|
33
|
+
* licence forbids offering it as a selectable font in a SaaS or design tool),
|
|
34
|
+
* but an element that carries it keeps loading and painting with the
|
|
35
|
+
* `sans-serif` fallback. `PlusJakartaSans` (SIL OFL 1.1) is its replacement.
|
|
36
|
+
*/
|
|
30
37
|
export var FontFamily;
|
|
31
38
|
(function (FontFamily) {
|
|
32
39
|
FontFamily["BebasNeue"] = "blocksuite:surface:BebasNeue";
|
|
@@ -34,11 +41,28 @@ export var FontFamily;
|
|
|
34
41
|
FontFamily["Kalam"] = "blocksuite:surface:Kalam";
|
|
35
42
|
FontFamily["Lora"] = "blocksuite:surface:Lora";
|
|
36
43
|
FontFamily["OrelegaOne"] = "blocksuite:surface:OrelegaOne";
|
|
44
|
+
FontFamily["PlusJakartaSans"] = "blocksuite:surface:PlusJakartaSans";
|
|
37
45
|
FontFamily["Poppins"] = "blocksuite:surface:Poppins";
|
|
38
46
|
FontFamily["Satoshi"] = "blocksuite:surface:Satoshi";
|
|
39
47
|
})(FontFamily || (FontFamily = {}));
|
|
40
48
|
export const FontFamilyMap = createEnumMap(FontFamily);
|
|
41
|
-
|
|
49
|
+
/**
|
|
50
|
+
* The name a family goes by where its enum key cannot spell it: a proper name
|
|
51
|
+
* with spaces. Proper names carry no i18n key, like the other family names
|
|
52
|
+
* (ADR 0023).
|
|
53
|
+
*/
|
|
54
|
+
const SPACED_FONT_FAMILY_NAMES = {
|
|
55
|
+
[FontFamily.PlusJakartaSans]: 'Plus Jakarta Sans',
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Every family with the name the picker shows, in declaration order. What a
|
|
59
|
+
* picker OFFERS is this list narrowed to the families the host configured
|
|
60
|
+
* (`FontConfig`, #396); this is the order and the names it keeps.
|
|
61
|
+
*/
|
|
62
|
+
export const FontFamilyList = Object.entries(FontFamilyMap).map(([family, key]) => [
|
|
63
|
+
family,
|
|
64
|
+
SPACED_FONT_FAMILY_NAMES[family] ?? key,
|
|
65
|
+
]);
|
|
42
66
|
export var TextResizing;
|
|
43
67
|
(function (TextResizing) {
|
|
44
68
|
TextResizing[TextResizing["AUTO_WIDTH_AND_HEIGHT"] = 0] = "AUTO_WIDTH_AND_HEIGHT";
|
|
@@ -98,7 +98,7 @@ let BpmnPoolElementModel = (() => {
|
|
|
98
98
|
_name_decorators = [field('Pool')];
|
|
99
99
|
_resizeEnabled_decorators = [field(true)];
|
|
100
100
|
_rotate_decorators = [field(0)];
|
|
101
|
-
_xywh_decorators = [field()];
|
|
101
|
+
_xywh_decorators = [field('[0,0,0,0]')];
|
|
102
102
|
_lanes_decorators = [field()];
|
|
103
103
|
__esDecorate(this, null, _name_decorators, { kind: "accessor", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
|
|
104
104
|
__esDecorate(this, null, _resizeEnabled_decorators, { kind: "accessor", name: "resizeEnabled", static: false, private: false, access: { has: obj => "resizeEnabled" in obj, get: obj => obj.resizeEnabled, set: (obj, value) => { obj.resizeEnabled = value; } }, metadata: _metadata }, _resizeEnabled_initializers, _resizeEnabled_extraInitializers);
|
|
@@ -109,7 +109,7 @@ let BrushElementModel = (() => {
|
|
|
109
109
|
...(instance.points[i][2] !== undefined ? [instance.points[i][2]] : []),
|
|
110
110
|
]),
|
|
111
111
|
};
|
|
112
|
-
}), field()];
|
|
112
|
+
}), field('[0,0,0,0]')];
|
|
113
113
|
__esDecorate(this, null, _color_decorators, { kind: "accessor", name: "color", static: false, private: false, access: { has: obj => "color" in obj, get: obj => obj.color, set: (obj, value) => { obj.color = value; } }, metadata: _metadata }, _color_initializers, _color_extraInitializers);
|
|
114
114
|
__esDecorate(this, null, _lineWidth_decorators, { kind: "accessor", name: "lineWidth", static: false, private: false, access: { has: obj => "lineWidth" in obj, get: obj => obj.lineWidth, set: (obj, value) => { obj.lineWidth = value; } }, metadata: _metadata }, _lineWidth_initializers, _lineWidth_extraInitializers);
|
|
115
115
|
__esDecorate(this, null, _points_decorators, { kind: "accessor", name: "points", static: false, private: false, access: { has: obj => "points" in obj, get: obj => obj.points, set: (obj, value) => { obj.points = value; } }, metadata: _metadata }, _points_initializers, _points_extraInitializers);
|
|
@@ -93,7 +93,7 @@ let C4BoardElementModel = (() => {
|
|
|
93
93
|
_name_decorators = [field('C4 diagram')];
|
|
94
94
|
_resizeEnabled_decorators = [field(true)];
|
|
95
95
|
_rotate_decorators = [field(0)];
|
|
96
|
-
_xywh_decorators = [field()];
|
|
96
|
+
_xywh_decorators = [field('[0,0,0,0]')];
|
|
97
97
|
_level_decorators = [field()];
|
|
98
98
|
__esDecorate(this, null, _name_decorators, { kind: "accessor", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
|
|
99
99
|
__esDecorate(this, null, _resizeEnabled_decorators, { kind: "accessor", name: "resizeEnabled", static: false, private: false, access: { has: obj => "resizeEnabled" in obj, get: obj => obj.resizeEnabled, set: (obj, value) => { obj.resizeEnabled = value; } }, metadata: _metadata }, _resizeEnabled_initializers, _resizeEnabled_extraInitializers);
|
|
@@ -67,7 +67,7 @@ let C4BoundaryElementModel = (() => {
|
|
|
67
67
|
_name_decorators = [field('Boundary')];
|
|
68
68
|
_resizeEnabled_decorators = [field(true)];
|
|
69
69
|
_rotate_decorators = [field(0)];
|
|
70
|
-
_xywh_decorators = [field()];
|
|
70
|
+
_xywh_decorators = [field('[0,0,0,0]')];
|
|
71
71
|
_variant_decorators = [field()];
|
|
72
72
|
__esDecorate(this, null, _name_decorators, { kind: "accessor", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
|
|
73
73
|
__esDecorate(this, null, _resizeEnabled_decorators, { kind: "accessor", name: "resizeEnabled", static: false, private: false, access: { has: obj => "resizeEnabled" in obj, get: obj => obj.resizeEnabled, set: (obj, value) => { obj.resizeEnabled = value; } }, metadata: _metadata }, _resizeEnabled_initializers, _resizeEnabled_extraInitializers);
|