@formicoidea/labre-core 0.31.0 → 0.33.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 +1 -1
- package/dist/_pkgs/affine-block-callout/callout-block.d.ts +6 -0
- package/dist/_pkgs/affine-block-callout/callout-block.js +26 -4
- package/dist/_pkgs/affine-block-callout/callout-keymap.js +59 -19
- package/dist/_pkgs/affine-block-callout/commands/callout-to-paragraph.d.ts +20 -0
- package/dist/_pkgs/affine-block-callout/commands/callout-to-paragraph.js +60 -0
- package/dist/_pkgs/affine-block-callout/commands/split-callout.d.ts +17 -0
- package/dist/_pkgs/affine-block-callout/commands/split-callout.js +42 -0
- package/dist/_pkgs/affine-block-callout/configs/slash-menu.js +9 -6
- package/dist/_pkgs/affine-block-callout/emoji-margin.d.ts +9 -0
- package/dist/_pkgs/affine-block-callout/emoji-margin.js +36 -0
- package/dist/_pkgs/affine-block-callout/emoji-menu.d.ts +5 -1
- package/dist/_pkgs/affine-block-callout/emoji-menu.js +5 -0
- package/dist/_pkgs/affine-block-code/code-block-inline.js +1 -1
- package/dist/_pkgs/affine-block-code/code-block.d.ts +14 -0
- package/dist/_pkgs/affine-block-code/code-block.js +44 -6
- package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.d.ts +2 -0
- package/dist/_pkgs/affine-block-code/code-toolbar/components/code-toolbar.js +23 -14
- package/dist/_pkgs/affine-block-code/code-toolbar/components/more-menu.d.ts +16 -0
- package/dist/_pkgs/affine-block-code/code-toolbar/components/more-menu.js +93 -0
- package/dist/_pkgs/affine-block-code/code-toolbar/config.js +54 -5
- package/dist/_pkgs/affine-block-code/code-toolbar/index.js +1 -1
- package/dist/_pkgs/affine-block-code/effects.d.ts +2 -0
- package/dist/_pkgs/affine-block-code/effects.js +2 -0
- package/dist/_pkgs/affine-block-code/highlight/affine-code-unit.js +6 -1
- package/dist/_pkgs/affine-block-code/index.d.ts +1 -0
- package/dist/_pkgs/affine-block-code/index.js +1 -0
- package/dist/_pkgs/affine-block-code/line-numbers.d.ts +25 -0
- package/dist/_pkgs/affine-block-code/line-numbers.js +27 -0
- package/dist/_pkgs/affine-block-code/styles.js +31 -0
- package/dist/_pkgs/affine-block-data-view/data-view-block.js +1 -0
- package/dist/_pkgs/affine-block-database/components/title/index.js +4 -1
- package/dist/_pkgs/affine-block-database/configs/slash-menu.js +28 -1
- package/dist/_pkgs/affine-block-database/data-source.js +1 -2
- package/dist/_pkgs/affine-block-database/database-block.js +13 -0
- package/dist/_pkgs/affine-block-database/external-data-source.js +1 -1
- package/dist/_pkgs/affine-block-database/properties/paste-url.d.ts +24 -0
- package/dist/_pkgs/affine-block-database/properties/paste-url.js +98 -0
- package/dist/_pkgs/affine-block-database/properties/rich-text/cell-renderer.js +9 -19
- package/dist/_pkgs/affine-block-database/properties/title/text.js +20 -25
- package/dist/_pkgs/affine-block-database/views/index.js +1 -0
- package/dist/_pkgs/affine-block-edgeless-text/edgeless-text-block.js +11 -1
- package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.d.ts +3 -0
- package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.js +48 -1
- package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/font-size.d.ts +17 -0
- package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/font-size.js +24 -0
- package/dist/_pkgs/affine-block-embed/embed-figma-block/embed-figma-service.js +1 -1
- package/dist/_pkgs/affine-block-embed/embed-iframe-block/configs/toolbar.js +2 -2
- package/dist/_pkgs/affine-block-embed-doc/common/doc-trashed.d.ts +9 -0
- package/dist/_pkgs/affine-block-embed-doc/common/doc-trashed.js +10 -0
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/configs/toolbar.js +1 -1
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/embed-linked-doc-block.js +8 -4
- package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/utils.js +1 -1
- package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/configs/toolbar.js +1 -1
- package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.d.ts +4 -0
- package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.js +23 -4
- package/dist/_pkgs/affine-block-frame/frame-manager.d.ts +13 -0
- package/dist/_pkgs/affine-block-frame/frame-manager.js +34 -2
- package/dist/_pkgs/affine-block-frame/frame-tool.js +1 -1
- package/dist/_pkgs/affine-block-image/components/page-image-block.js +1 -1
- package/dist/_pkgs/affine-block-image/image-edgeless-block.js +1 -1
- package/dist/_pkgs/affine-block-latex/styles.js +6 -1
- package/dist/_pkgs/affine-block-list/utils/forward-delete.js +1 -1
- package/dist/_pkgs/affine-block-note/commands/select-block.js +1 -1
- package/dist/_pkgs/affine-block-note/commands/select-blocks-between.js +1 -1
- package/dist/_pkgs/affine-block-note/move-block.js +1 -1
- package/dist/_pkgs/affine-block-note/note-edgeless-block.d.ts +9 -0
- package/dist/_pkgs/affine-block-note/note-edgeless-block.js +29 -1
- package/dist/_pkgs/affine-block-paragraph/utils/forward-delete.js +2 -2
- package/dist/_pkgs/affine-block-paragraph/utils/merge-with-prev.js +1 -1
- package/dist/_pkgs/affine-block-root/commands/pivot-commands.d.ts +37 -0
- package/dist/_pkgs/affine-block-root/commands/pivot-commands.js +168 -0
- package/dist/_pkgs/affine-block-root/commands/reading-commands.d.ts +23 -0
- package/dist/_pkgs/affine-block-root/commands/reading-commands.js +107 -0
- package/dist/_pkgs/affine-block-root/commands/tag-commands.d.ts +47 -0
- package/dist/_pkgs/affine-block-root/commands/tag-commands.js +159 -0
- package/dist/_pkgs/affine-block-root/configs/toolbar.d.ts +1 -0
- package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/more.js +10 -3
- package/dist/_pkgs/affine-block-root/edgeless/configs/toolbar/render-linked-doc.js +1 -1
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.js +27 -2
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.js +11 -2
- package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-service.js +14 -0
- package/dist/_pkgs/affine-block-root/edgeless/index.d.ts +1 -0
- package/dist/_pkgs/affine-block-root/edgeless/index.js +1 -0
- package/dist/_pkgs/affine-block-root/edgeless/reserved-keys.d.ts +21 -0
- package/dist/_pkgs/affine-block-root/edgeless/reserved-keys.js +34 -0
- package/dist/_pkgs/affine-block-root/edgeless/utils/clipboard-utils.js +1 -1
- package/dist/_pkgs/affine-block-root/edgeless/utils/clone-utils.d.ts +7 -1
- package/dist/_pkgs/affine-block-root/edgeless/utils/clone-utils.js +11 -2
- package/dist/_pkgs/affine-block-root/index.d.ts +4 -1
- package/dist/_pkgs/affine-block-root/index.js +4 -1
- package/dist/_pkgs/affine-block-root/keyboard/commands.d.ts +2 -0
- package/dist/_pkgs/affine-block-root/keyboard/commands.js +147 -0
- package/dist/_pkgs/affine-block-root/view.js +13 -4
- package/dist/_pkgs/affine-block-surface/adapters/markdown/element-adapter/type.js +1 -1
- package/dist/_pkgs/affine-block-surface/adapters/plain-text/element-adapter/type.js +1 -1
- package/dist/_pkgs/affine-block-surface/commands/reassociate-connectors.js +0 -1
- package/dist/_pkgs/affine-block-surface/effects.js +6 -0
- package/dist/_pkgs/affine-block-surface/element-model/index.d.ts +21 -3
- package/dist/_pkgs/affine-block-surface/element-model/index.js +14 -2
- package/dist/_pkgs/affine-block-surface/extensions/audit.d.ts +107 -0
- package/dist/_pkgs/affine-block-surface/extensions/audit.js +489 -0
- package/dist/_pkgs/affine-block-surface/extensions/crud-extension.d.ts +14 -0
- package/dist/_pkgs/affine-block-surface/extensions/crud-extension.js +37 -5
- package/dist/_pkgs/affine-block-surface/extensions/editor-anchored-panel.d.ts +133 -0
- package/dist/_pkgs/affine-block-surface/extensions/editor-anchored-panel.js +327 -0
- package/dist/_pkgs/affine-block-surface/extensions/element-renderer.js +1 -1
- package/dist/_pkgs/affine-block-surface/extensions/export-manager/export-manager.js +1 -1
- package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +17 -0
- package/dist/_pkgs/affine-block-surface/extensions/index.js +17 -0
- package/dist/_pkgs/affine-block-surface/extensions/interchange-import.d.ts +172 -0
- package/dist/_pkgs/affine-block-surface/extensions/interchange-import.js +393 -0
- package/dist/_pkgs/affine-block-surface/extensions/interchange.d.ts +306 -0
- package/dist/_pkgs/affine-block-surface/extensions/interchange.js +64 -0
- package/dist/_pkgs/affine-block-surface/extensions/map-quality-widget.d.ts +146 -0
- package/dist/_pkgs/affine-block-surface/extensions/map-quality-widget.js +528 -0
- package/dist/_pkgs/affine-block-surface/extensions/map-quality.d.ts +109 -0
- package/dist/_pkgs/affine-block-surface/extensions/map-quality.js +84 -0
- package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.d.ts +248 -0
- package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.js +248 -0
- package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.d.ts +15 -0
- package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.js +158 -0
- package/dist/_pkgs/affine-block-surface/extensions/reading-widget.d.ts +145 -0
- package/dist/_pkgs/affine-block-surface/extensions/reading-widget.js +588 -0
- package/dist/_pkgs/affine-block-surface/extensions/reading.d.ts +494 -0
- package/dist/_pkgs/affine-block-surface/extensions/reading.js +767 -0
- package/dist/_pkgs/affine-block-surface/extensions/spotlight.d.ts +45 -0
- package/dist/_pkgs/affine-block-surface/extensions/spotlight.js +177 -0
- package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.d.ts +107 -0
- package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.js +958 -0
- package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.d.ts +10 -0
- package/dist/_pkgs/affine-block-surface/extensions/tags-toolbar.js +295 -0
- package/dist/_pkgs/affine-block-surface/extensions/validation-toolbar.d.ts +27 -0
- package/dist/_pkgs/affine-block-surface/extensions/validation-toolbar.js +361 -0
- package/dist/_pkgs/affine-block-surface/extensions/validation.d.ts +2129 -0
- package/dist/_pkgs/affine-block-surface/extensions/validation.js +4620 -0
- package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.d.ts +330 -0
- package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.js +1004 -0
- package/dist/_pkgs/affine-block-surface/extensions/violation-timeline.d.ts +80 -0
- package/dist/_pkgs/affine-block-surface/extensions/violation-timeline.js +123 -0
- package/dist/_pkgs/affine-block-surface/framework-background/def.d.ts +610 -0
- package/dist/_pkgs/affine-block-surface/framework-background/def.js +206 -0
- package/dist/_pkgs/affine-block-surface/framework-background/facts.d.ts +188 -0
- package/dist/_pkgs/affine-block-surface/framework-background/facts.js +284 -0
- package/dist/_pkgs/affine-block-surface/framework-background/index.d.ts +5 -0
- package/dist/_pkgs/affine-block-surface/framework-background/index.js +5 -0
- package/dist/_pkgs/affine-block-surface/framework-background/interaction.d.ts +12 -0
- package/dist/_pkgs/affine-block-surface/framework-background/interaction.js +24 -0
- package/dist/_pkgs/affine-block-surface/framework-background/labels.d.ts +99 -0
- package/dist/_pkgs/affine-block-surface/framework-background/labels.js +193 -0
- package/dist/_pkgs/affine-block-surface/framework-background/renderer.d.ts +8 -0
- package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +399 -0
- package/dist/_pkgs/affine-block-surface/index.d.ts +1 -0
- package/dist/_pkgs/affine-block-surface/index.js +1 -0
- package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.d.ts +69 -3
- package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.js +333 -44
- package/dist/_pkgs/affine-block-surface/renderer/dom-renderer.js +18 -2
- package/dist/_pkgs/affine-block-surface/renderer/overlay.js +1 -1
- package/dist/_pkgs/affine-block-surface/tool/default-tool.js +8 -0
- package/dist/_pkgs/affine-block-surface/utils/font.js +9 -3
- package/dist/_pkgs/affine-block-surface/view.d.ts +17 -0
- package/dist/_pkgs/affine-block-surface/view.js +57 -2
- package/dist/_pkgs/affine-block-surface-ref/portal/note.js +2 -2
- package/dist/_pkgs/affine-block-table/commands.js +1 -1
- package/dist/_pkgs/affine-block-table/selection-controller.d.ts +6 -0
- package/dist/_pkgs/affine-block-table/selection-controller.js +24 -1
- package/dist/_pkgs/affine-block-table/table-block.js +8 -2
- package/dist/_pkgs/affine-block-table/table-cell.js +5 -6
- package/dist/_pkgs/affine-block-table/table-keymap.d.ts +18 -0
- package/dist/_pkgs/affine-block-table/table-keymap.js +41 -0
- package/dist/_pkgs/affine-block-table/utils.d.ts +7 -0
- package/dist/_pkgs/affine-block-table/utils.js +12 -0
- package/dist/_pkgs/affine-block-table/view.js +2 -0
- package/dist/_pkgs/affine-components/caption/captioned-block-component.js +2 -1
- package/dist/_pkgs/affine-components/context-menu/button.d.ts +7 -0
- package/dist/_pkgs/affine-components/context-menu/button.js +7 -2
- package/dist/_pkgs/affine-components/context-menu/input.d.ts +4 -0
- package/dist/_pkgs/affine-components/context-menu/input.js +12 -0
- package/dist/_pkgs/affine-components/context-menu/menu-all.d.ts +2 -0
- package/dist/_pkgs/affine-components/context-menu/menu-renderer.js +8 -1
- package/dist/_pkgs/affine-components/context-menu/sub-menu.js +3 -0
- package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.js +1 -1
- package/dist/_pkgs/affine-components/embed-card-modal/embed-card-edit-modal.js +1 -1
- package/dist/_pkgs/affine-components/filterable-list/styles.js +1 -1
- package/dist/_pkgs/affine-components/highlight-dropdown-menu/highlight-duotone-icon.js +8 -8
- package/dist/_pkgs/affine-components/highlight-dropdown-menu/text-duotone-icon.js +11 -11
- package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.d.ts +28 -0
- package/dist/_pkgs/affine-components/icon-picker/affine-icon-picker-panel.js +231 -0
- package/dist/_pkgs/affine-components/icon-picker/emoji-data.d.ts +40 -0
- package/dist/_pkgs/affine-components/icon-picker/emoji-data.js +99 -0
- package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.d.ts +32 -0
- package/dist/_pkgs/affine-components/icon-picker/emoji-picker-panel.js +276 -0
- package/dist/_pkgs/affine-components/icon-picker/icon-data.d.ts +34 -0
- package/dist/_pkgs/affine-components/icon-picker/icon-data.js +83 -0
- package/dist/_pkgs/affine-components/icon-picker/icon-picker.d.ts +39 -0
- package/dist/_pkgs/affine-components/icon-picker/icon-picker.js +233 -0
- package/dist/_pkgs/affine-components/icon-picker/index.d.ts +8 -0
- package/dist/_pkgs/affine-components/icon-picker/index.js +15 -0
- package/dist/_pkgs/affine-components/icon-picker/recent-store.d.ts +8 -0
- package/dist/_pkgs/affine-components/icon-picker/recent-store.js +41 -0
- package/dist/_pkgs/affine-components/icon-picker/styles.d.ts +5 -0
- package/dist/_pkgs/affine-components/icon-picker/styles.js +166 -0
- package/dist/_pkgs/affine-components/icon-picker/types.d.ts +22 -0
- package/dist/_pkgs/affine-components/icon-picker/types.js +10 -0
- package/dist/_pkgs/affine-components/icons/text.js +426 -426
- package/dist/_pkgs/affine-components/open-doc-dropdown-menu/dropdown-menu.d.ts +1 -0
- package/dist/_pkgs/affine-components/peek/peekable.js +1 -1
- package/dist/_pkgs/affine-components/portal/portal.d.ts +1 -1
- package/dist/_pkgs/affine-components/toolbar/index.d.ts +1 -0
- package/dist/_pkgs/affine-components/toolbar/index.js +1 -0
- package/dist/_pkgs/affine-components/toolbar/menu-button.js +2 -1
- package/dist/_pkgs/affine-components/toolbar/picker-menu.d.ts +55 -0
- package/dist/_pkgs/affine-components/toolbar/picker-menu.js +47 -0
- package/dist/_pkgs/affine-components/toolbar/toolbar.js +11 -10
- package/dist/_pkgs/affine-foundation/view.js +11 -2
- package/dist/_pkgs/affine-fragment-frame-panel/body/frame-panel-body.js +2 -2
- package/dist/_pkgs/affine-fragment-frame-panel/header/frame-panel-header.js +2 -2
- package/dist/_pkgs/affine-fragment-frame-panel/header/frames-setting-menu.js +1 -1
- package/dist/_pkgs/affine-fragment-outline/mobile-outline-panel.js +1 -1
- package/dist/_pkgs/affine-gfx-brush/index.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-brush/index.js +1 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/brush.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/brush.js +11 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/highlighter.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/highlighter.js +11 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/index.d.ts +2 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/index.js +2 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/shared.d.ts +14 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/dom/shared.js +54 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/index.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-brush/renderer/index.js +4 -0
- package/dist/_pkgs/affine-gfx-brush/toolbar/components/pen/pen-tool-button.js +1 -1
- package/dist/_pkgs/affine-gfx-brush/view.d.ts +14 -0
- package/dist/_pkgs/affine-gfx-brush/view.js +29 -3
- package/dist/_pkgs/affine-gfx-connector/connector-manager.js +39 -16
- package/dist/_pkgs/affine-gfx-connector/connector-tool.d.ts +26 -1
- package/dist/_pkgs/affine-gfx-connector/connector-tool.js +12 -3
- package/dist/_pkgs/affine-gfx-connector/connector-watcher.js +1 -4
- package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.d.ts +123 -0
- package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.js +282 -0
- package/dist/_pkgs/affine-gfx-connector/direction/direction-widget.d.ts +65 -0
- package/dist/_pkgs/affine-gfx-connector/direction/direction-widget.js +395 -0
- package/dist/_pkgs/affine-gfx-connector/direction/index.d.ts +4 -0
- package/dist/_pkgs/affine-gfx-connector/direction/index.js +4 -0
- package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.d.ts +72 -0
- package/dist/_pkgs/affine-gfx-connector/direction/invert-direction.js +185 -0
- package/dist/_pkgs/affine-gfx-connector/direction/typed-edge.d.ts +69 -0
- package/dist/_pkgs/affine-gfx-connector/direction/typed-edge.js +66 -0
- package/dist/_pkgs/affine-gfx-connector/effects.d.ts +2 -0
- package/dist/_pkgs/affine-gfx-connector/effects.js +2 -0
- package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.js +78 -41
- package/dist/_pkgs/affine-gfx-connector/element-renderer/index.js +1 -1
- package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.js +1 -1
- package/dist/_pkgs/affine-gfx-connector/index.d.ts +1 -0
- package/dist/_pkgs/affine-gfx-connector/index.js +1 -0
- package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +50 -0
- package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +68 -2
- package/dist/_pkgs/affine-gfx-connector/view.js +16 -0
- package/dist/_pkgs/affine-gfx-group/command/group-api.js +150 -62
- package/dist/_pkgs/affine-gfx-group/text/edgeless-group-title-editor.js +4 -1
- package/dist/_pkgs/affine-gfx-mindmap/adapter/markdown/index.js +1 -1
- package/dist/_pkgs/affine-gfx-mindmap/adapter/utils.js +1 -1
- package/dist/_pkgs/affine-gfx-mindmap/templates/index.js +583 -4
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-menu.js +23 -23
- package/dist/_pkgs/affine-gfx-mindmap/toolbar/mindmap-tool-button.js +5 -1
- package/dist/_pkgs/affine-gfx-mindmap/view/utils.js +1 -1
- package/dist/_pkgs/affine-gfx-note/overlay/overlay.js +1 -1
- package/dist/_pkgs/affine-gfx-note/toolbar/note-senior-button.js +1 -1
- package/dist/_pkgs/affine-gfx-pointer/tools/pan-tool.d.ts +16 -0
- package/dist/_pkgs/affine-gfx-pointer/tools/pan-tool.js +102 -32
- package/dist/_pkgs/affine-gfx-shape/commands.d.ts +2 -0
- package/dist/_pkgs/affine-gfx-shape/commands.js +33 -0
- package/dist/_pkgs/affine-gfx-shape/consts.js +1 -1
- package/dist/_pkgs/affine-gfx-shape/draggable/shape-draggable.js +1 -1
- package/dist/_pkgs/affine-gfx-shape/element-renderer/shape/polygon.js +17 -9
- package/dist/_pkgs/affine-gfx-shape/element-renderer/shape/utils.js +8 -3
- package/dist/_pkgs/affine-gfx-shape/element-renderer/shape-dom/index.js +48 -19
- package/dist/_pkgs/affine-gfx-shape/element-view.js +19 -12
- package/dist/_pkgs/affine-gfx-shape/index.d.ts +1 -1
- package/dist/_pkgs/affine-gfx-shape/index.js +1 -1
- package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.js +1 -1
- package/dist/_pkgs/affine-gfx-shape/overlay/polygon-vertex-editing-overlay.js +12 -7
- package/dist/_pkgs/affine-gfx-shape/overlay/shape-overlay.js +1 -1
- package/dist/_pkgs/affine-gfx-shape/polygon-tool.js +4 -2
- package/dist/_pkgs/affine-gfx-shape/shape-tool.js +1 -1
- package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.d.ts +26 -0
- package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.js +124 -15
- package/dist/_pkgs/affine-gfx-shape/view.js +3 -3
- package/dist/_pkgs/affine-gfx-template/builtin/other.js +66 -17
- package/dist/_pkgs/affine-gfx-template/toolbar/overlay-scrollbar.js +1 -1
- package/dist/_pkgs/affine-gfx-template/toolbar/template-panel.js +1 -1
- package/dist/_pkgs/affine-gfx-template/toolbar/template-tool-button.d.ts +2 -0
- package/dist/_pkgs/affine-gfx-template/toolbar/template-tool-button.js +18 -1
- package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.js +9 -5
- package/dist/_pkgs/affine-gfx-text/toolbar/actions.js +1 -1
- package/dist/_pkgs/affine-inline-latex/command.js +46 -26
- package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.d.ts +10 -0
- package/dist/_pkgs/affine-inline-latex/latex-node/latex-node.js +23 -0
- package/dist/_pkgs/affine-inline-link/command.js +1 -1
- package/dist/_pkgs/affine-inline-link/link-node/affine-link.js +4 -1
- package/dist/_pkgs/affine-inline-preset/adapters/html/html-inline.d.ts +3 -0
- package/dist/_pkgs/affine-inline-preset/adapters/html/html-inline.js +29 -1
- package/dist/_pkgs/affine-inline-preset/command/format-block.js +1 -1
- package/dist/_pkgs/affine-inline-preset/command/format-native.js +2 -2
- package/dist/_pkgs/affine-inline-preset/command/format-text.js +1 -1
- package/dist/_pkgs/affine-inline-preset/inline-spec.js +1 -1
- package/dist/_pkgs/affine-inline-reference/reference-node/reference-node.js +1 -1
- package/dist/_pkgs/affine-model/blocks/code/code-model.d.ts +1 -0
- package/dist/_pkgs/affine-model/blocks/code/code-model.js +1 -0
- package/dist/_pkgs/affine-model/elements/bpmn/node.d.ts +40 -7
- package/dist/_pkgs/affine-model/elements/bpmn/node.js +4 -2
- package/dist/_pkgs/affine-model/elements/bpmn/pool.d.ts +74 -17
- package/dist/_pkgs/affine-model/elements/bpmn/pool.js +55 -26
- package/dist/_pkgs/affine-model/elements/c4/board.d.ts +88 -0
- package/dist/_pkgs/affine-model/elements/c4/board.js +128 -0
- package/dist/_pkgs/affine-model/elements/c4/boundary.d.ts +63 -0
- package/dist/_pkgs/affine-model/elements/c4/boundary.js +134 -0
- package/dist/_pkgs/affine-model/elements/c4/index.d.ts +3 -0
- package/dist/_pkgs/affine-model/elements/c4/index.js +3 -0
- package/dist/_pkgs/affine-model/elements/c4/node.d.ts +97 -0
- package/dist/_pkgs/affine-model/elements/c4/node.js +130 -0
- package/dist/_pkgs/affine-model/elements/connector/connector.js +25 -1
- package/dist/_pkgs/affine-model/elements/context-map/context-map.d.ts +27 -0
- package/dist/_pkgs/affine-model/elements/context-map/context-map.js +94 -0
- package/dist/_pkgs/affine-model/elements/context-map/index.d.ts +1 -0
- package/dist/_pkgs/affine-model/elements/context-map/index.js +1 -0
- package/dist/_pkgs/affine-model/elements/core-domain/core-domain.d.ts +34 -17
- package/dist/_pkgs/affine-model/elements/core-domain/core-domain.js +28 -26
- package/dist/_pkgs/affine-model/elements/edgy/board.d.ts +32 -0
- package/dist/_pkgs/affine-model/elements/edgy/board.js +112 -0
- package/dist/_pkgs/affine-model/elements/edgy/facets.d.ts +12 -0
- package/dist/_pkgs/affine-model/elements/edgy/facets.js +25 -1
- package/dist/_pkgs/affine-model/elements/edgy/index.d.ts +1 -0
- package/dist/_pkgs/affine-model/elements/edgy/index.js +1 -0
- package/dist/_pkgs/affine-model/elements/event-storming/event-storming.d.ts +36 -0
- package/dist/_pkgs/affine-model/elements/event-storming/event-storming.js +103 -0
- package/dist/_pkgs/affine-model/elements/event-storming/index.d.ts +1 -0
- package/dist/_pkgs/affine-model/elements/event-storming/index.js +1 -0
- package/dist/_pkgs/affine-model/elements/framework-background/background.d.ts +42 -0
- package/dist/_pkgs/affine-model/elements/framework-background/background.js +42 -0
- package/dist/_pkgs/affine-model/elements/framework-background/index.d.ts +1 -0
- package/dist/_pkgs/affine-model/elements/framework-background/index.js +1 -0
- package/dist/_pkgs/affine-model/elements/index.d.ts +14 -1
- package/dist/_pkgs/affine-model/elements/index.js +4 -0
- package/dist/_pkgs/affine-model/elements/mindmap/mindmap.js +8 -3
- package/dist/_pkgs/affine-model/elements/mindmap/style.d.ts +10 -0
- package/dist/_pkgs/affine-model/elements/mindmap/style.js +8 -0
- package/dist/_pkgs/affine-model/elements/shape/api/polygon.js +2 -8
- package/dist/_pkgs/affine-model/elements/wardley/wardley.d.ts +21 -29
- package/dist/_pkgs/affine-model/elements/wardley/wardley.js +41 -48
- package/dist/_pkgs/affine-shared/adapters/html/block-adapter.js +1 -1
- package/dist/_pkgs/affine-shared/adapters/markdown/block-adapter.js +1 -1
- package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.d.ts +6 -1
- package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.js +161 -3
- package/dist/_pkgs/affine-shared/adapters/markdown/markdown.js +5 -1
- package/dist/_pkgs/affine-shared/adapters/notion-html/block-adapter.js +1 -1
- package/dist/_pkgs/affine-shared/adapters/notion-html/delta-converter.js +1 -1
- package/dist/_pkgs/affine-shared/adapters/plain-text/block-adapter.js +1 -1
- package/dist/_pkgs/affine-shared/adapters/plain-text/delta-converter.js +1 -1
- package/dist/_pkgs/affine-shared/adapters/types/delta-converter.d.ts +1 -0
- package/dist/_pkgs/affine-shared/adapters/utils/color.d.ts +24 -0
- package/dist/_pkgs/affine-shared/adapters/utils/color.js +283 -0
- package/dist/_pkgs/affine-shared/adapters/utils/index.d.ts +1 -0
- package/dist/_pkgs/affine-shared/adapters/utils/index.js +1 -0
- package/dist/_pkgs/affine-shared/commands/block-crud/get-selected-blocks.js +10 -2
- package/dist/_pkgs/affine-shared/commands/model-crud/draft-selected-models.js +1 -1
- package/dist/_pkgs/affine-shared/commands/selection/focus-block-end.js +1 -1
- package/dist/_pkgs/affine-shared/commands/selection/focus-block-start.js +1 -1
- package/dist/_pkgs/affine-shared/consts/index.d.ts +10 -0
- package/dist/_pkgs/affine-shared/consts/index.js +10 -0
- package/dist/_pkgs/affine-shared/services/artefact-catalogue-service.d.ts +55 -0
- package/dist/_pkgs/affine-shared/services/artefact-catalogue-service.js +35 -0
- package/dist/_pkgs/affine-shared/services/audit-service.d.ts +311 -0
- package/dist/_pkgs/affine-shared/services/audit-service.js +228 -0
- package/dist/_pkgs/affine-shared/services/command-usage-service.d.ts +31 -0
- package/dist/_pkgs/affine-shared/services/command-usage-service.js +109 -0
- package/dist/_pkgs/affine-shared/services/comment-service/block-comment-manager.js +1 -1
- package/dist/_pkgs/affine-shared/services/doc-display-meta-service.js +1 -1
- package/dist/_pkgs/affine-shared/services/edit-props-store.d.ts +7 -0
- package/dist/_pkgs/affine-shared/services/edit-props-store.js +11 -0
- package/dist/_pkgs/affine-shared/services/embed-iframe/embed-iframe-config.js +1 -1
- package/dist/_pkgs/affine-shared/services/font-loader/font-loader-service.d.ts +26 -1
- package/dist/_pkgs/affine-shared/services/font-loader/font-loader-service.js +124 -7
- package/dist/_pkgs/affine-shared/services/index.d.ts +7 -0
- package/dist/_pkgs/affine-shared/services/index.js +7 -0
- package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.d.ts +129 -0
- package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +312 -0
- package/dist/_pkgs/affine-shared/services/pivot-properties-service.d.ts +217 -0
- package/dist/_pkgs/affine-shared/services/pivot-properties-service.js +114 -0
- package/dist/_pkgs/affine-shared/services/telemetry-service/code-block.d.ts +1 -1
- package/dist/_pkgs/affine-shared/services/telemetry-service/lifecycle.d.ts +255 -1
- package/dist/_pkgs/affine-shared/services/telemetry-service/telemetry-service.d.ts +2 -2
- package/dist/_pkgs/affine-shared/services/telemetry-service/types.d.ts +6 -1
- package/dist/_pkgs/affine-shared/services/toolbar-service/action.d.ts +10 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/index.d.ts +1 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/index.js +1 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/layout.d.ts +134 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/layout.js +146 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/registry.d.ts +44 -0
- package/dist/_pkgs/affine-shared/services/toolbar-service/registry.js +161 -3
- package/dist/_pkgs/affine-shared/services/translation-service/index.d.ts +68 -0
- package/dist/_pkgs/affine-shared/services/translation-service/index.js +39 -0
- package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.d.ts +155 -0
- package/dist/_pkgs/affine-shared/services/universe-tag-defs-service.js +256 -0
- package/dist/_pkgs/affine-shared/test-utils/affine-template.js +1 -1
- package/dist/_pkgs/affine-shared/utils/dom/point-to-range.d.ts +4 -0
- package/dist/_pkgs/affine-shared/utils/dom/point-to-range.js +58 -2
- package/dist/_pkgs/affine-shared/utils/dom/viewport.d.ts +60 -0
- package/dist/_pkgs/affine-shared/utils/dom/viewport.js +58 -0
- package/dist/_pkgs/affine-shared/utils/edgeless.js +1 -1
- package/dist/_pkgs/affine-shared/utils/file/filesys.d.ts +34 -0
- package/dist/_pkgs/affine-shared/utils/file/filesys.js +48 -7
- package/dist/_pkgs/affine-shared/utils/print-to-pdf.d.ts +21 -0
- package/dist/_pkgs/affine-shared/utils/print-to-pdf.js +166 -32
- package/dist/_pkgs/affine-shared/utils/zod-schema.d.ts +7 -0
- package/dist/_pkgs/affine-shared/utils/zod-schema.js +25 -1
- package/dist/_pkgs/affine-widget-drag-handle/utils.js +1 -1
- package/dist/_pkgs/affine-widget-drag-handle/watchers/edgeless-watcher.d.ts +19 -10
- package/dist/_pkgs/affine-widget-drag-handle/watchers/edgeless-watcher.js +122 -23
- package/dist/_pkgs/affine-widget-drag-handle/watchers/pointer-event-watcher.d.ts +2 -0
- package/dist/_pkgs/affine-widget-drag-handle/watchers/pointer-event-watcher.js +25 -4
- package/dist/_pkgs/affine-widget-edgeless-auto-connect/index.js +1 -1
- package/dist/_pkgs/affine-widget-edgeless-dragging-area/edgeless-dragging-area-rect.js +1 -1
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/auto-complete-panel.js +10 -5
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.d.ts +15 -1
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-auto-complete.js +37 -32
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-element-link.js +5 -4
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/edgeless-selected-rect.js +19 -9
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.d.ts +16 -2
- package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.js +19 -2
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-default.d.ts +14 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-default.js +40 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.d.ts +158 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.js +572 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/catalogue-groups.d.ts +46 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/catalogue-groups.js +66 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/chord-format.d.ts +13 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/chord-format.js +50 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/edgeless-toolbar.d.ts +6 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/edgeless-toolbar.js +15 -5
- package/dist/_pkgs/affine-widget-edgeless-toolbar/effects.d.ts +2 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/effects.js +2 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/extension/index.d.ts +7 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/index.d.ts +5 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +5 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +57 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +140 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/view.js +9 -0
- package/dist/_pkgs/affine-widget-frame-title/edgeless-frame-title-editor.js +4 -1
- package/dist/_pkgs/affine-widget-keyboard-toolbar/icons.js +98 -98
- package/dist/_pkgs/affine-widget-keyboard-toolbar/keyboard-tool-panel.js +1 -1
- package/dist/_pkgs/affine-widget-linked-doc/import-doc/import-doc.js +1 -1
- package/dist/_pkgs/affine-widget-linked-doc/linked-doc-popover.js +2 -15
- package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.d.ts +10 -1
- package/dist/_pkgs/affine-widget-linked-doc/transformers/markdown.js +133 -6
- package/dist/_pkgs/affine-widget-linked-doc/transformers/utils.d.ts +10 -0
- package/dist/_pkgs/affine-widget-linked-doc/transformers/utils.js +120 -3
- package/dist/_pkgs/affine-widget-linked-doc/utils.d.ts +12 -0
- package/dist/_pkgs/affine-widget-linked-doc/utils.js +33 -0
- package/dist/_pkgs/affine-widget-page-dragging-area/index.js +1 -1
- package/dist/_pkgs/affine-widget-remote-selection/doc/doc-remote-selection.js +1 -1
- package/dist/_pkgs/affine-widget-remote-selection/edgeless/index.js +6 -4
- package/dist/_pkgs/affine-widget-slash-menu/slash-menu-popover.js +8 -4
- package/dist/_pkgs/affine-widget-slash-menu/utils.d.ts +9 -0
- package/dist/_pkgs/affine-widget-slash-menu/utils.js +24 -0
- package/dist/_pkgs/affine-widget-toolbar/toolbar.d.ts +6 -0
- package/dist/_pkgs/affine-widget-toolbar/toolbar.js +40 -8
- package/dist/_pkgs/affine-widget-toolbar/utils.d.ts +146 -3
- package/dist/_pkgs/affine-widget-toolbar/utils.js +744 -58
- package/dist/_pkgs/data-view/core/common/property-menu.js +3 -16
- package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.d.ts +4 -0
- package/dist/_pkgs/data-view/core/component/tags/multi-tag-select.js +28 -1
- package/dist/_pkgs/data-view/core/data-view.d.ts +3 -1
- package/dist/_pkgs/data-view/core/data-view.js +25 -3
- package/dist/_pkgs/data-view/core/detail/field.js +2 -2
- package/dist/_pkgs/data-view/core/detail/selection.d.ts +4 -2
- package/dist/_pkgs/data-view/core/detail/selection.js +23 -7
- package/dist/_pkgs/data-view/core/effect.js +2 -0
- package/dist/_pkgs/data-view/core/filter/eval.js +36 -23
- package/dist/_pkgs/data-view/core/filter/filter-fn/matcher.d.ts +7 -0
- package/dist/_pkgs/data-view/core/filter/filter-fn/matcher.js +12 -0
- package/dist/_pkgs/data-view/core/group-by/compare-date-keys.d.ts +11 -0
- package/dist/_pkgs/data-view/core/group-by/compare-date-keys.js +55 -0
- package/dist/_pkgs/data-view/core/group-by/define.d.ts +6 -0
- package/dist/_pkgs/data-view/core/group-by/define.js +114 -0
- package/dist/_pkgs/data-view/core/group-by/matcher.d.ts +7 -0
- package/dist/_pkgs/data-view/core/group-by/matcher.js +13 -0
- package/dist/_pkgs/data-view/core/group-by/renderer/boolean-group.js +11 -11
- package/dist/_pkgs/data-view/core/group-by/renderer/date-group.d.ts +9 -0
- package/dist/_pkgs/data-view/core/group-by/renderer/date-group.js +97 -0
- package/dist/_pkgs/data-view/core/group-by/setting.js +86 -7
- package/dist/_pkgs/data-view/core/group-by/trait.d.ts +34 -0
- package/dist/_pkgs/data-view/core/group-by/trait.js +106 -10
- package/dist/_pkgs/data-view/core/utils/menu-title.js +17 -17
- package/dist/_pkgs/data-view/property-presets/multi-select/cell-renderer.js +3 -1
- package/dist/_pkgs/data-view/property-presets/number/define.js +2 -1
- package/dist/_pkgs/data-view/property-presets/select/cell-renderer.js +3 -1
- package/dist/_pkgs/data-view/view-presets/calendar/calendar-view-manager.d.ts +70 -0
- package/dist/_pkgs/data-view/view-presets/calendar/calendar-view-manager.js +449 -0
- package/dist/_pkgs/data-view/view-presets/calendar/define.d.ts +10 -0
- package/dist/_pkgs/data-view/view-presets/calendar/define.js +27 -0
- package/dist/_pkgs/data-view/view-presets/calendar/effect.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/calendar/effect.js +4 -0
- package/dist/_pkgs/data-view/view-presets/calendar/index.d.ts +6 -0
- package/dist/_pkgs/data-view/view-presets/calendar/index.js +6 -0
- package/dist/_pkgs/data-view/view-presets/calendar/layout.d.ts +37 -0
- package/dist/_pkgs/data-view/view-presets/calendar/layout.js +138 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/actions.d.ts +7 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/actions.js +64 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/dnd.d.ts +32 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/dnd.js +159 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/effect.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/effect.js +7 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/hit-test.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/hit-test.js +28 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/styles.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/styles.js +707 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/view.d.ts +89 -0
- package/dist/_pkgs/data-view/view-presets/calendar/pc/view.js +849 -0
- package/dist/_pkgs/data-view/view-presets/calendar/renderer.d.ts +2 -0
- package/dist/_pkgs/data-view/view-presets/calendar/renderer.js +8 -0
- package/dist/_pkgs/data-view/view-presets/calendar/source.d.ts +8 -0
- package/dist/_pkgs/data-view/view-presets/calendar/source.js +3 -0
- package/dist/_pkgs/data-view/view-presets/calendar/types.d.ts +79 -0
- package/dist/_pkgs/data-view/view-presets/calendar/types.js +1 -0
- package/dist/_pkgs/data-view/view-presets/convert.js +28 -0
- package/dist/_pkgs/data-view/view-presets/effect.js +2 -0
- package/dist/_pkgs/data-view/view-presets/index.d.ts +2 -0
- package/dist/_pkgs/data-view/view-presets/index.js +3 -0
- package/dist/_pkgs/data-view/view-presets/kanban/kanban-view-manager.js +3 -1
- package/dist/_pkgs/data-view/view-presets/kanban/mobile/cell.js +2 -2
- package/dist/_pkgs/data-view/view-presets/table/collapsed-state.d.ts +18 -0
- package/dist/_pkgs/data-view/view-presets/table/collapsed-state.js +36 -0
- package/dist/_pkgs/data-view/view-presets/table/mobile/cell.js +2 -2
- package/dist/_pkgs/data-view/view-presets/table/mobile/group.d.ts +11 -0
- package/dist/_pkgs/data-view/view-presets/table/mobile/group.js +89 -4
- package/dist/_pkgs/data-view/view-presets/table/pc/cell.d.ts +3 -0
- package/dist/_pkgs/data-view/view-presets/table/pc/cell.js +11 -2
- package/dist/_pkgs/data-view/view-presets/table/pc/controller/hotkeys.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/table/pc/controller/hotkeys.js +39 -33
- package/dist/_pkgs/data-view/view-presets/table/pc/group.d.ts +10 -0
- package/dist/_pkgs/data-view/view-presets/table/pc/group.js +86 -5
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/hotkeys.d.ts +1 -0
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/hotkeys.js +39 -33
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/group/top/group-title.js +18 -18
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/cell.d.ts +3 -0
- package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/cell.js +8 -0
- package/dist/_pkgs/data-view/view-presets/table/table-view-manager.js +3 -1
- package/dist/_pkgs/data-view/view-presets/table/utils.d.ts +3 -0
- package/dist/_pkgs/data-view/view-presets/table/utils.js +16 -1
- package/dist/_pkgs/data-view/widget-presets/tools/presets/view-options/view-options.js +3 -1
- package/dist/_pkgs/global/gfx/curve.js +4 -3
- package/dist/_pkgs/std/clipboard/clipboard.js +13 -3
- package/dist/_pkgs/std/clipboard/utils.d.ts +5 -0
- package/dist/_pkgs/std/clipboard/utils.js +10 -0
- package/dist/_pkgs/std/event/dispatcher.js +27 -1
- package/dist/_pkgs/std/event/keymap.js +16 -6
- package/dist/_pkgs/std/extension/command-registry.d.ts +475 -0
- package/dist/_pkgs/std/extension/command-registry.js +431 -0
- package/dist/_pkgs/std/extension/dnd/index.d.ts +1 -1
- package/dist/_pkgs/std/extension/index.d.ts +2 -0
- package/dist/_pkgs/std/extension/index.js +2 -0
- package/dist/_pkgs/std/extension/shortcut.js +2 -1
- package/dist/_pkgs/std/extension/translation-manifest.d.ts +49 -0
- package/dist/_pkgs/std/extension/translation-manifest.js +71 -0
- package/dist/_pkgs/std/gfx/grid.js +1 -1
- package/dist/_pkgs/std/gfx/index.d.ts +7 -3
- package/dist/_pkgs/std/gfx/index.js +6 -2
- package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.js +6 -1
- package/dist/_pkgs/std/gfx/interactivity/manager.d.ts +8 -0
- package/dist/_pkgs/std/gfx/interactivity/manager.js +18 -0
- package/dist/_pkgs/std/gfx/layer.d.ts +1 -1
- package/dist/_pkgs/std/gfx/layer.js +1 -2
- package/dist/_pkgs/std/gfx/model/surface/decorators/field.js +9 -0
- package/dist/_pkgs/std/gfx/model/surface/decorators/index.d.ts +2 -2
- package/dist/_pkgs/std/gfx/model/surface/decorators/index.js +2 -2
- package/dist/_pkgs/std/gfx/model/surface/decorators/local.d.ts +14 -0
- package/dist/_pkgs/std/gfx/model/surface/decorators/local.js +22 -0
- package/dist/_pkgs/std/gfx/model/surface/decorators/observer.d.ts +2 -0
- package/dist/_pkgs/std/gfx/model/surface/decorators/observer.js +40 -1
- package/dist/_pkgs/std/gfx/model/surface/element-model.d.ts +442 -0
- package/dist/_pkgs/std/gfx/model/surface/element-model.js +510 -25
- package/dist/_pkgs/std/gfx/model/surface/pivot.d.ts +48 -0
- package/dist/_pkgs/std/gfx/model/surface/pivot.js +34 -0
- package/dist/_pkgs/std/gfx/model/surface/role.d.ts +153 -0
- package/dist/_pkgs/std/gfx/model/surface/role.js +117 -0
- package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +70 -0
- package/dist/_pkgs/std/gfx/model/surface/surface-model.js +305 -17
- package/dist/_pkgs/std/gfx/model/surface/tags.d.ts +77 -0
- package/dist/_pkgs/std/gfx/model/surface/tags.js +246 -0
- package/dist/_pkgs/std/gfx/perf.d.ts +10 -0
- package/dist/_pkgs/std/gfx/perf.js +30 -0
- package/dist/_pkgs/std/gfx/selection.js +1 -1
- package/dist/_pkgs/std/gfx/tool/tool-controller.d.ts +13 -0
- package/dist/_pkgs/std/gfx/tool/tool-controller.js +26 -0
- package/dist/_pkgs/std/gfx/viewport.d.ts +12 -0
- package/dist/_pkgs/std/gfx/viewport.js +20 -2
- package/dist/_pkgs/std/inline/extensions/inline-manager.js +1 -1
- package/dist/_pkgs/std/inline/extensions/markdown-matcher.js +1 -1
- package/dist/_pkgs/std/inline/services/event.d.ts +2 -0
- package/dist/_pkgs/std/inline/services/event.js +96 -21
- package/dist/_pkgs/std/utils/layer.js +2 -6
- package/dist/_pkgs/std/utils/tree.d.ts +14 -0
- package/dist/_pkgs/std/utils/tree.js +59 -8
- package/dist/_pkgs/std/view/element/gfx-block-component.js +23 -13
- package/dist/_pkgs/store/extension/workspace/workspace-meta.d.ts +10 -0
- package/dist/_pkgs/store/model/block/flat-sync-controller.js +2 -12
- package/dist/_pkgs/store/model/store/crud.js +10 -4
- package/dist/_pkgs/store/reactive/flat-native-y/index.d.ts +1 -1
- package/dist/_pkgs/store/reactive/flat-native-y/index.js +24 -2
- package/dist/commands.d.ts +58 -0
- package/dist/commands.js +66 -0
- package/dist/extensions/command-telemetry.d.ts +21 -0
- package/dist/extensions/command-telemetry.js +89 -0
- package/dist/extensions/command-usage.d.ts +23 -0
- package/dist/extensions/command-usage.js +37 -0
- package/dist/extensions/store.d.ts +9 -4
- package/dist/extensions/store.js +27 -24
- package/dist/extensions/view.d.ts +9 -4
- package/dist/extensions/view.js +35 -8
- package/dist/flags.d.ts +98 -21
- package/dist/flags.js +103 -22
- package/dist/frameworks.d.ts +45 -0
- package/dist/frameworks.js +186 -0
- package/dist/schemas.d.ts +8 -5
- package/dist/schemas.js +28 -32
- package/dist/shortcuts.d.ts +16 -16
- package/dist/shortcuts.js +8 -36
- package/dist/translations.d.ts +56 -0
- package/dist/translations.js +200 -0
- package/package.json +16 -4
- package/dist/_pkgs/affine-block-root/keyboard/shortcuts.d.ts +0 -8
- package/dist/_pkgs/affine-block-root/keyboard/shortcuts.js +0 -48
- package/dist/_pkgs/affine-gfx-shape/shortcuts.d.ts +0 -6
- package/dist/_pkgs/affine-gfx-shape/shortcuts.js +0 -28
- package/dist/_pkgs/data-view/core/utils/cache.d.ts +0 -5
- package/dist/_pkgs/data-view/core/utils/cache.js +0 -28
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { isValidUrl, normalizeUrl } from '../../affine-shared/utils/index.js';
|
|
2
|
+
const URL_SCHEME_IN_TOKEN_REGEXP = /(?:https?:\/\/|ftp:\/\/|sftp:\/\/|mailto:|tel:|www\.)/i;
|
|
3
|
+
const URL_LEADING_DELIMITER_REGEXP = /^[-([{<'"~]+/;
|
|
4
|
+
const URL_TRAILING_DELIMITER_REGEXP = /[)\]}>.,;:!?'"]+$/;
|
|
5
|
+
function appendUrlTextSegment(segments, segment) {
|
|
6
|
+
if (!segment.text)
|
|
7
|
+
return;
|
|
8
|
+
const last = segments[segments.length - 1];
|
|
9
|
+
if (last && !last.link && !segment.link) {
|
|
10
|
+
last.text += segment.text;
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
segments.push(segment);
|
|
14
|
+
}
|
|
15
|
+
function splitTokenByUrl(token, baseUrl) {
|
|
16
|
+
const schemeMatch = token.match(URL_SCHEME_IN_TOKEN_REGEXP);
|
|
17
|
+
const schemeIndex = schemeMatch?.index;
|
|
18
|
+
if (typeof schemeIndex === 'number' && schemeIndex > 0) {
|
|
19
|
+
return [
|
|
20
|
+
{ text: token.slice(0, schemeIndex) },
|
|
21
|
+
...splitTokenByUrl(token.slice(schemeIndex), baseUrl),
|
|
22
|
+
];
|
|
23
|
+
}
|
|
24
|
+
const leading = token.match(URL_LEADING_DELIMITER_REGEXP)?.[0] ?? '';
|
|
25
|
+
const withoutLeading = token.slice(leading.length);
|
|
26
|
+
const trailing = withoutLeading.match(URL_TRAILING_DELIMITER_REGEXP)?.[0] ?? '';
|
|
27
|
+
const core = trailing
|
|
28
|
+
? withoutLeading.slice(0, withoutLeading.length - trailing.length)
|
|
29
|
+
: withoutLeading;
|
|
30
|
+
if (core && isValidUrl(core, baseUrl)) {
|
|
31
|
+
const segments = [];
|
|
32
|
+
appendUrlTextSegment(segments, { text: leading });
|
|
33
|
+
appendUrlTextSegment(segments, { text: core, link: normalizeUrl(core) });
|
|
34
|
+
appendUrlTextSegment(segments, { text: trailing });
|
|
35
|
+
return segments;
|
|
36
|
+
}
|
|
37
|
+
return [{ text: token }];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Split pasted plain text into mixed segments, where only the URL segments
|
|
41
|
+
* carry link metadata. Text like `see https://example.com, then stop` keeps its
|
|
42
|
+
* prose as prose and linkifies only the address, punctuation excluded.
|
|
43
|
+
*/
|
|
44
|
+
export function splitTextByUrl(text, baseUrl = location.origin) {
|
|
45
|
+
const chunks = text.match(/\s+|\S+/g);
|
|
46
|
+
if (!chunks) {
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
const segments = [];
|
|
50
|
+
chunks.forEach(chunk => {
|
|
51
|
+
if (/^\s+$/.test(chunk)) {
|
|
52
|
+
appendUrlTextSegment(segments, { text: chunk });
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
splitTokenByUrl(chunk, baseUrl).forEach(segment => {
|
|
56
|
+
appendUrlTextSegment(segments, segment);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
return segments;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Describe a paste for the database cells: the segments to insert, plus the
|
|
63
|
+
* single URL the whole paste amounts to (if any), which is the only case where
|
|
64
|
+
* a doc link may be resolved instead.
|
|
65
|
+
*/
|
|
66
|
+
export function analyzeTextForUrlPaste(text) {
|
|
67
|
+
const segments = splitTextByUrl(text);
|
|
68
|
+
const firstSegment = segments[0];
|
|
69
|
+
const singleUrl = segments.length === 1 && firstSegment?.link && firstSegment.text === text
|
|
70
|
+
? firstSegment.link
|
|
71
|
+
: undefined;
|
|
72
|
+
return {
|
|
73
|
+
segments,
|
|
74
|
+
singleUrl,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export function insertUrlTextSegments(inlineEditor, inlineRange, segments) {
|
|
78
|
+
let index = inlineRange.index;
|
|
79
|
+
let replacedSelection = false;
|
|
80
|
+
segments.forEach(segment => {
|
|
81
|
+
if (!segment.text)
|
|
82
|
+
return;
|
|
83
|
+
const attributes = segment.link
|
|
84
|
+
? { link: segment.link }
|
|
85
|
+
: undefined;
|
|
86
|
+
inlineEditor.insertText({
|
|
87
|
+
index,
|
|
88
|
+
// Only the first insertion replaces what the user had selected.
|
|
89
|
+
length: replacedSelection ? 0 : inlineRange.length,
|
|
90
|
+
}, segment.text, attributes);
|
|
91
|
+
replacedSelection = true;
|
|
92
|
+
index += segment.text.length;
|
|
93
|
+
});
|
|
94
|
+
inlineEditor.setInlineRange({
|
|
95
|
+
index,
|
|
96
|
+
length: 0,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DefaultInlineManagerExtension } from '../../../affine-inline-preset/index.js';
|
|
2
2
|
import { ParseDocUrlProvider, TelemetryProvider, } from '../../../affine-shared/services/index.js';
|
|
3
|
-
import { getViewportElement
|
|
3
|
+
import { getViewportElement } from '../../../affine-shared/utils/index.js';
|
|
4
4
|
import { BaseCellRenderer, createFromBaseCellRenderer, createIcon, } from '../../../data-view/index.js';
|
|
5
5
|
import { IS_MAC } from '../../../global/env/index.js';
|
|
6
6
|
import { Text } from '../../../store/index.js';
|
|
@@ -8,6 +8,7 @@ import { computed, effect, signal } from '@preact/signals-core';
|
|
|
8
8
|
import { ref } from 'lit/directives/ref.js';
|
|
9
9
|
import { html } from 'lit/static-html.js';
|
|
10
10
|
import { EditorHostKey } from '../../context/host-context.js';
|
|
11
|
+
import { analyzeTextForUrlPaste, insertUrlTextSegments } from '../paste-url.js';
|
|
11
12
|
import { richTextCellStyle, richTextContainerStyle, } from './cell-renderer-css.js';
|
|
12
13
|
import { richTextPropertyModelConfig } from './define.js';
|
|
13
14
|
function toggleStyle(inlineEditor, attrs) {
|
|
@@ -197,9 +198,12 @@ export class RichTextCell extends BaseCellRenderer {
|
|
|
197
198
|
?.replace(/\r?\n|\r/g, '\n');
|
|
198
199
|
if (!text)
|
|
199
200
|
return;
|
|
200
|
-
|
|
201
|
+
const { segments, singleUrl } = analyzeTextForUrlPaste(text);
|
|
202
|
+
if (singleUrl) {
|
|
201
203
|
const std = this.std;
|
|
202
|
-
const result = std
|
|
204
|
+
const result = std
|
|
205
|
+
?.getOptional(ParseDocUrlProvider)
|
|
206
|
+
?.parseDocUrl(singleUrl);
|
|
203
207
|
if (result) {
|
|
204
208
|
const text = ' ';
|
|
205
209
|
inlineEditor.insertText(inlineRange, text, {
|
|
@@ -224,24 +228,10 @@ export class RichTextCell extends BaseCellRenderer {
|
|
|
224
228
|
segment: 'database',
|
|
225
229
|
parentFlavour: 'affine:database',
|
|
226
230
|
});
|
|
231
|
+
return;
|
|
227
232
|
}
|
|
228
|
-
else {
|
|
229
|
-
inlineEditor.insertText(inlineRange, text, {
|
|
230
|
-
link: text,
|
|
231
|
-
});
|
|
232
|
-
inlineEditor.setInlineRange({
|
|
233
|
-
index: inlineRange.index + text.length,
|
|
234
|
-
length: 0,
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
inlineEditor.insertText(inlineRange, text);
|
|
240
|
-
inlineEditor.setInlineRange({
|
|
241
|
-
index: inlineRange.index + text.length,
|
|
242
|
-
length: 0,
|
|
243
|
-
});
|
|
244
233
|
}
|
|
234
|
+
insertUrlTextSegments(inlineEditor, inlineRange, segments);
|
|
245
235
|
};
|
|
246
236
|
this.insertDelta = (delta) => {
|
|
247
237
|
const inlineEditor = this.inlineEditor$.value;
|
|
@@ -34,7 +34,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
34
34
|
};
|
|
35
35
|
import { DefaultInlineManagerExtension } from '../../../affine-inline-preset/index.js';
|
|
36
36
|
import { ParseDocUrlProvider, TelemetryProvider, } from '../../../affine-shared/services/index.js';
|
|
37
|
-
import { getViewportElement
|
|
37
|
+
import { getViewportElement } from '../../../affine-shared/utils/index.js';
|
|
38
38
|
import { BaseCellRenderer } from '../../../data-view/index.js';
|
|
39
39
|
import { IS_MAC } from '../../../global/env/index.js';
|
|
40
40
|
import { LinkedPageIcon } from '@blocksuite/icons/lit';
|
|
@@ -44,6 +44,7 @@ import { createRef, ref } from 'lit/directives/ref.js';
|
|
|
44
44
|
import { html } from 'lit/static-html.js';
|
|
45
45
|
import { EditorHostKey } from '../../context/host-context.js';
|
|
46
46
|
import { getSingleDocIdFromText } from '../../utils/title-doc.js';
|
|
47
|
+
import { analyzeTextForUrlPaste, insertUrlTextSegments } from '../paste-url.js';
|
|
47
48
|
import { headerAreaIconStyle, titleCellStyle, titleRichTextStyle, } from './cell-renderer-css.js';
|
|
48
49
|
let HeaderAreaTextCell = (() => {
|
|
49
50
|
let _classSuper = BaseCellRenderer;
|
|
@@ -106,7 +107,10 @@ let HeaderAreaTextCell = (() => {
|
|
|
106
107
|
if (this.richText.value) {
|
|
107
108
|
this.disposables.addFromEvent(this.richText.value, 'copy', this._onCopy);
|
|
108
109
|
this.disposables.addFromEvent(this.richText.value, 'cut', this._onCut);
|
|
109
|
-
this.disposables.addFromEvent(this.richText.value, 'paste', this._onPaste
|
|
110
|
+
this.disposables.addFromEvent(this.richText.value, 'paste', this._onPaste,
|
|
111
|
+
// Capture: the cell must claim the paste before the rich text's own
|
|
112
|
+
// handler turns it into a document paste.
|
|
113
|
+
true);
|
|
110
114
|
const inlineEditor = this.inlineEditor;
|
|
111
115
|
if (inlineEditor) {
|
|
112
116
|
this.disposables.add(inlineEditor.slots.keydown.subscribe(this._handleKeyDown));
|
|
@@ -194,8 +198,12 @@ let HeaderAreaTextCell = (() => {
|
|
|
194
198
|
this._onPaste = (e) => {
|
|
195
199
|
const inlineEditor = this.inlineEditor;
|
|
196
200
|
const inlineRange = inlineEditor?.getInlineRange();
|
|
197
|
-
if (!inlineRange)
|
|
201
|
+
if (!inlineEditor || !inlineRange)
|
|
198
202
|
return;
|
|
203
|
+
// The cell owns the paste: stop it before the document clipboard sees it,
|
|
204
|
+
// whichever branch below ends up handling the payload.
|
|
205
|
+
e.preventDefault();
|
|
206
|
+
e.stopPropagation();
|
|
199
207
|
if (e.clipboardData) {
|
|
200
208
|
try {
|
|
201
209
|
const getDeltas = (snapshot) => {
|
|
@@ -219,14 +227,15 @@ let HeaderAreaTextCell = (() => {
|
|
|
219
227
|
?.replace(/\r?\n|\r/g, '\n');
|
|
220
228
|
if (!text)
|
|
221
229
|
return;
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
if (isValidUrl(text)) {
|
|
230
|
+
const { segments, singleUrl } = analyzeTextForUrlPaste(text);
|
|
231
|
+
if (singleUrl) {
|
|
225
232
|
const std = this.std;
|
|
226
|
-
const result = std
|
|
233
|
+
const result = std
|
|
234
|
+
?.getOptional(ParseDocUrlProvider)
|
|
235
|
+
?.parseDocUrl(singleUrl);
|
|
227
236
|
if (result) {
|
|
228
237
|
const text = ' ';
|
|
229
|
-
inlineEditor
|
|
238
|
+
inlineEditor.insertText(inlineRange, text, {
|
|
230
239
|
reference: {
|
|
231
240
|
type: 'LinkedPage',
|
|
232
241
|
pageId: result.docId,
|
|
@@ -237,7 +246,7 @@ let HeaderAreaTextCell = (() => {
|
|
|
237
246
|
},
|
|
238
247
|
},
|
|
239
248
|
});
|
|
240
|
-
inlineEditor
|
|
249
|
+
inlineEditor.setInlineRange({
|
|
241
250
|
index: inlineRange.index + text.length,
|
|
242
251
|
length: 0,
|
|
243
252
|
});
|
|
@@ -248,24 +257,10 @@ let HeaderAreaTextCell = (() => {
|
|
|
248
257
|
segment: 'database',
|
|
249
258
|
parentFlavour: 'affine:database',
|
|
250
259
|
});
|
|
260
|
+
return;
|
|
251
261
|
}
|
|
252
|
-
else {
|
|
253
|
-
inlineEditor?.insertText(inlineRange, text, {
|
|
254
|
-
link: text,
|
|
255
|
-
});
|
|
256
|
-
inlineEditor?.setInlineRange({
|
|
257
|
-
index: inlineRange.index + text.length,
|
|
258
|
-
length: 0,
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
inlineEditor?.insertText(inlineRange, text);
|
|
264
|
-
inlineEditor?.setInlineRange({
|
|
265
|
-
index: inlineRange.index + text.length,
|
|
266
|
-
length: 0,
|
|
267
|
-
});
|
|
268
262
|
}
|
|
263
|
+
insertUrlTextSegments(inlineEditor, inlineRange, segments);
|
|
269
264
|
};
|
|
270
265
|
this.insertDelta = (delta) => {
|
|
271
266
|
const inlineEditor = this.inlineEditor;
|
|
@@ -2,6 +2,7 @@ import { viewConverts, viewPresets } from '../../data-view/view-presets/index.js
|
|
|
2
2
|
export const databaseBlockViews = [
|
|
3
3
|
viewPresets.tableViewMeta,
|
|
4
4
|
viewPresets.kanbanViewMeta,
|
|
5
|
+
viewPresets.calendarViewMeta,
|
|
5
6
|
];
|
|
6
7
|
export const databaseBlockViewMap = Object.fromEntries(databaseBlockViews.map(view => [view.type, view]));
|
|
7
8
|
export const databaseBlockViewConverts = [...viewConverts];
|
|
@@ -39,7 +39,7 @@ import { focusTextModel } from '../affine-rich-text/index.js';
|
|
|
39
39
|
import { ThemeProvider } from '../affine-shared/services/index.js';
|
|
40
40
|
import { handleNativeRangeAtPoint, matchModels, } from '../affine-shared/utils/index.js';
|
|
41
41
|
import { Bound, clamp } from '../global/gfx/index.js';
|
|
42
|
-
import { BlockSelection, GfxBlockComponent, TextSelection
|
|
42
|
+
import { BlockSelection, GfxBlockComponent, TextSelection } from '../std/index.js';
|
|
43
43
|
import { GfxViewInteractionExtension } from '../std/gfx/index.js';
|
|
44
44
|
import { computed } from '@preact/signals-core';
|
|
45
45
|
import { css, html } from 'lit';
|
|
@@ -81,6 +81,15 @@ let EdgelessTextBlockComponent = (() => {
|
|
|
81
81
|
font-weight: var(--edgeless-text-font-weight);
|
|
82
82
|
text-align: var(--edgeless-text-text-align);
|
|
83
83
|
}
|
|
84
|
+
|
|
85
|
+
/*
|
|
86
|
+
* Locking a text block is meant to stop accidental edits, not to stop
|
|
87
|
+
* navigation, so links stay reachable inside otherwise inert content.
|
|
88
|
+
*/
|
|
89
|
+
.edgeless-text-block-container .locked-content a[href] {
|
|
90
|
+
pointer-events: auto;
|
|
91
|
+
cursor: pointer;
|
|
92
|
+
}
|
|
84
93
|
`; }
|
|
85
94
|
_updateH() {
|
|
86
95
|
const bound = Bound.deserialize(this.model.xywh);
|
|
@@ -263,6 +272,7 @@ let EdgelessTextBlockComponent = (() => {
|
|
|
263
272
|
style=${styleMap(containerStyle)}
|
|
264
273
|
>
|
|
265
274
|
<div
|
|
275
|
+
class=${!editing && this.model.isLocked() ? 'locked-content' : ''}
|
|
266
276
|
style=${styleMap({
|
|
267
277
|
pointerEvents: editing ? 'auto' : 'none',
|
|
268
278
|
userSelect: editing ? 'auto' : 'none',
|
|
@@ -15,6 +15,9 @@ export declare const edgelessTextToolbarConfig: {
|
|
|
15
15
|
}, {
|
|
16
16
|
readonly id: "e.alignment";
|
|
17
17
|
readonly content: (ctx: import("../../affine-shared/services/index.js").ToolbarContext) => import("lit-html").TemplateResult<1> | null;
|
|
18
|
+
}, {
|
|
19
|
+
readonly id: "d.text-size";
|
|
20
|
+
readonly content: (ctx: import("../../affine-shared/services/index.js").ToolbarContext) => import("lit-html").TemplateResult<1> | null;
|
|
18
21
|
}];
|
|
19
22
|
readonly when: (ctx: import("../../affine-shared/services/index.js").ToolbarContext) => boolean;
|
|
20
23
|
};
|
|
@@ -1,10 +1,57 @@
|
|
|
1
|
+
import { EdgelessCRUDIdentifier } from '../../affine-block-surface/index.js';
|
|
1
2
|
import { createTextActions } from '../../affine-gfx-text/index.js';
|
|
2
3
|
import { EdgelessTextBlockModel } from '../../affine-model/index.js';
|
|
3
4
|
import { ToolbarModuleExtension, } from '../../affine-shared/services/index.js';
|
|
5
|
+
import { getMostCommonValue } from '../../affine-shared/utils/index.js';
|
|
6
|
+
import { Bound } from '../../global/gfx/index.js';
|
|
4
7
|
import { BlockFlavourIdentifier } from '../../std/index.js';
|
|
8
|
+
import { signal } from '@preact/signals-core';
|
|
9
|
+
import { html } from 'lit';
|
|
10
|
+
import { boundForScale, scaleFromSize, sizeFromScale } from './font-size.js';
|
|
11
|
+
const FONT_SIZE_LIST = [
|
|
12
|
+
{ value: 16 },
|
|
13
|
+
{ value: 24 },
|
|
14
|
+
{ value: 32 },
|
|
15
|
+
{ value: 40 },
|
|
16
|
+
{ value: 64 },
|
|
17
|
+
{ value: 128 },
|
|
18
|
+
];
|
|
5
19
|
export const edgelessTextToolbarConfig = {
|
|
6
20
|
// No need to adjust element bounds, which updates itself using ResizeObserver
|
|
7
|
-
actions:
|
|
21
|
+
actions: [
|
|
22
|
+
...createTextActions(EdgelessTextBlockModel, 'edgeless-text'),
|
|
23
|
+
{
|
|
24
|
+
// The shared `d.font-size` action is disabled for edgeless text (the
|
|
25
|
+
// model has no `fontSize` prop); this one drives `scale` instead, the
|
|
26
|
+
// same prop ratio-locked corner resizing writes.
|
|
27
|
+
id: 'd.text-size',
|
|
28
|
+
content(ctx) {
|
|
29
|
+
const models = ctx.getSurfaceModelsByType(EdgelessTextBlockModel);
|
|
30
|
+
if (!models.length)
|
|
31
|
+
return null;
|
|
32
|
+
const size$ = signal(sizeFromScale(getMostCommonValue(models.map(model => model.props), 'scale') ?? 1));
|
|
33
|
+
const onPick = (e) => {
|
|
34
|
+
e.stopPropagation();
|
|
35
|
+
const scale = scaleFromSize(e.detail);
|
|
36
|
+
const crud = ctx.std.get(EdgelessCRUDIdentifier);
|
|
37
|
+
for (const model of models) {
|
|
38
|
+
const bound = boundForScale(Bound.deserialize(model.xywh), model.props.scale, scale);
|
|
39
|
+
crud.updateElement(model.id, {
|
|
40
|
+
scale,
|
|
41
|
+
xywh: bound.serialize(),
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
return html `<affine-size-dropdown-menu
|
|
46
|
+
@select=${onPick}
|
|
47
|
+
.label="${'Font size'}"
|
|
48
|
+
.sizes=${FONT_SIZE_LIST}
|
|
49
|
+
.size$=${size$}
|
|
50
|
+
.minSize=${1}
|
|
51
|
+
></affine-size-dropdown-menu>`;
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
],
|
|
8
55
|
when: ctx => ctx.getSurfaceModelsByType(EdgelessTextBlockModel).length > 0,
|
|
9
56
|
};
|
|
10
57
|
export const edgelessTextToolbarExtension = ToolbarModuleExtension({
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Bound } from '../../global/gfx/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* An edgeless text block has no `fontSize` prop — its visual text size is
|
|
4
|
+
* `scale` applied to the page base font size (`--affine-font-base`, 15px).
|
|
5
|
+
* The toolbar size selector converts between that scale and the pixel size
|
|
6
|
+
* users actually reason about.
|
|
7
|
+
*/
|
|
8
|
+
export declare const EDGELESS_TEXT_BASE_FONT_SIZE = 15;
|
|
9
|
+
export declare function sizeFromScale(scale: number): number;
|
|
10
|
+
export declare function scaleFromSize(size: number): number;
|
|
11
|
+
/**
|
|
12
|
+
* Rescale a block bound the same way corner (ratio-locked) resizing does:
|
|
13
|
+
* top-left anchored, width and height proportional to the scale. This keeps
|
|
14
|
+
* the real layout size (`w / scale`) untouched, so the text wrapping does not
|
|
15
|
+
* change — only the rendered size does.
|
|
16
|
+
*/
|
|
17
|
+
export declare function boundForScale(bound: Bound, oldScale: number, newScale: number): Bound;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Bound } from '../../global/gfx/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* An edgeless text block has no `fontSize` prop — its visual text size is
|
|
4
|
+
* `scale` applied to the page base font size (`--affine-font-base`, 15px).
|
|
5
|
+
* The toolbar size selector converts between that scale and the pixel size
|
|
6
|
+
* users actually reason about.
|
|
7
|
+
*/
|
|
8
|
+
export const EDGELESS_TEXT_BASE_FONT_SIZE = 15;
|
|
9
|
+
export function sizeFromScale(scale) {
|
|
10
|
+
return Math.round(scale * EDGELESS_TEXT_BASE_FONT_SIZE);
|
|
11
|
+
}
|
|
12
|
+
export function scaleFromSize(size) {
|
|
13
|
+
return size / EDGELESS_TEXT_BASE_FONT_SIZE;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Rescale a block bound the same way corner (ratio-locked) resizing does:
|
|
17
|
+
* top-left anchored, width and height proportional to the scale. This keeps
|
|
18
|
+
* the real layout size (`w / scale`) untouched, so the text wrapping does not
|
|
19
|
+
* change — only the rendered size does.
|
|
20
|
+
*/
|
|
21
|
+
export function boundForScale(bound, oldScale, newScale) {
|
|
22
|
+
const ratio = newScale / oldScale;
|
|
23
|
+
return new Bound(bound.x, bound.y, bound.w * ratio, bound.h * ratio);
|
|
24
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EmbedFigmaBlockSchema, EmbedFigmaStyles
|
|
1
|
+
import { EmbedFigmaBlockSchema, EmbedFigmaStyles } from '../../affine-model/index.js';
|
|
2
2
|
import { EmbedOptionConfig } from '../../affine-shared/services/index.js';
|
|
3
3
|
import { figmaUrlRegex } from './embed-figma-model.js';
|
|
4
4
|
export const EmbedFigmaBlockOptionConfig = EmbedOptionConfig({
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { reassociateConnectorsCommand } from '../../../affine-block-surface/index.js';
|
|
2
2
|
import { toast } from '../../../affine-components/toast/index.js';
|
|
3
|
-
import { BookmarkStyles, EmbedIframeBlockModel
|
|
3
|
+
import { BookmarkStyles, EmbedIframeBlockModel } from '../../../affine-model/index.js';
|
|
4
4
|
import { EMBED_CARD_HEIGHT, EMBED_CARD_WIDTH, } from '../../../affine-shared/consts/index.js';
|
|
5
5
|
import { ActionPlacement, ToolbarModuleExtension, } from '../../../affine-shared/services/index.js';
|
|
6
6
|
import { getBlockProps } from '../../../affine-shared/utils/index.js';
|
|
7
7
|
import { Bound } from '../../../global/gfx/index.js';
|
|
8
8
|
import { CaptionIcon, CopyIcon, DeleteIcon, DuplicateIcon, LinkedPageIcon, OpenInNewIcon, ResetIcon, } from '@blocksuite/icons/lit';
|
|
9
9
|
import { BlockFlavourIdentifier, BlockSelection } from '../../../std/index.js';
|
|
10
|
-
import { Slice, Text, toDraftModel
|
|
10
|
+
import { Slice, Text, toDraftModel } from '../../../store/index.js';
|
|
11
11
|
import { computed, signal } from '@preact/signals-core';
|
|
12
12
|
import { html } from 'lit';
|
|
13
13
|
import { keyed } from 'lit/directives/keyed.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Store } from '../../store/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Whether the host has moved this doc to its trash.
|
|
4
|
+
*
|
|
5
|
+
* A trashed doc is still in the workspace and still loads, so a card pointing
|
|
6
|
+
* at it has to ask: cards render a trashed doc as deleted, the same way they
|
|
7
|
+
* render a doc that has left the workspace altogether.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isDocTrashed(doc: Store | null | undefined): boolean;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether the host has moved this doc to its trash.
|
|
3
|
+
*
|
|
4
|
+
* A trashed doc is still in the workspace and still loads, so a card pointing
|
|
5
|
+
* at it has to ask: cards render a trashed doc as deleted, the same way they
|
|
6
|
+
* render a doc that has left the workspace altogether.
|
|
7
|
+
*/
|
|
8
|
+
export function isDocTrashed(doc) {
|
|
9
|
+
return !!doc?.meta?.trash;
|
|
10
|
+
}
|
|
@@ -3,7 +3,7 @@ import { EditorChevronDown } from '../../../affine-components/toolbar/index.js';
|
|
|
3
3
|
import { EmbedLinkedDocModel, EmbedLinkedDocStyles, } from '../../../affine-model/index.js';
|
|
4
4
|
import { EMBED_CARD_HEIGHT, EMBED_CARD_WIDTH, } from '../../../affine-shared/consts/index.js';
|
|
5
5
|
import { ActionPlacement, blockCommentToolbarButton, DocDisplayMetaProvider, EditorSettingProvider, ToolbarModuleExtension, } from '../../../affine-shared/services/index.js';
|
|
6
|
-
import { getBlockProps, referenceToNode
|
|
6
|
+
import { getBlockProps, referenceToNode } from '../../../affine-shared/utils/index.js';
|
|
7
7
|
import { Bound } from '../../../global/gfx/index.js';
|
|
8
8
|
import { CaptionIcon, CopyIcon, DeleteIcon, DuplicateIcon, ExpandFullIcon, OpenInNewIcon, } from '@blocksuite/icons/lit';
|
|
9
9
|
import { BlockFlavourIdentifier, isGfxBlockComponent } from '../../../std/index.js';
|
|
@@ -54,6 +54,7 @@ import { when } from 'lit/directives/when.js';
|
|
|
54
54
|
import throttle from 'lodash-es/throttle.js';
|
|
55
55
|
import { filter } from 'rxjs/operators';
|
|
56
56
|
import * as Y from 'yjs';
|
|
57
|
+
import { isDocTrashed } from '../common/doc-trashed.js';
|
|
57
58
|
import { renderLinkedDocInCard } from '../common/render-linked-doc.js';
|
|
58
59
|
import { SyncedDocErrorIcon } from '../embed-synced-doc-block/styles.js';
|
|
59
60
|
import { styles } from './styles.js';
|
|
@@ -167,9 +168,6 @@ let EmbedLinkedDocBlockComponent = (() => {
|
|
|
167
168
|
});
|
|
168
169
|
}, RENDER_CARD_THROTTLE_MS)));
|
|
169
170
|
this._setDocUpdatedAt();
|
|
170
|
-
this.disposables.add(this.store.workspace.slots.docListUpdated.subscribe(() => {
|
|
171
|
-
this._setDocUpdatedAt();
|
|
172
|
-
}));
|
|
173
171
|
if (this._referenceToNode) {
|
|
174
172
|
this._linkedDocMode = this.model.props.params?.mode ?? 'page';
|
|
175
173
|
}
|
|
@@ -192,6 +190,12 @@ let EmbedLinkedDocBlockComponent = (() => {
|
|
|
192
190
|
});
|
|
193
191
|
}
|
|
194
192
|
}));
|
|
193
|
+
// Subscribed whether or not the doc exists right now: the doc list is also
|
|
194
|
+
// what tells the card that its target was trashed, restored or recreated.
|
|
195
|
+
this.disposables.add(this.store.workspace.slots.docListUpdated.subscribe(() => {
|
|
196
|
+
this._setDocUpdatedAt();
|
|
197
|
+
this.refreshData();
|
|
198
|
+
}));
|
|
195
199
|
this._trackCitationDeleteEvent();
|
|
196
200
|
}
|
|
197
201
|
getInitialState() {
|
|
@@ -437,7 +441,7 @@ let EmbedLinkedDocBlockComponent = (() => {
|
|
|
437
441
|
};
|
|
438
442
|
this._renderEmbedView = () => {
|
|
439
443
|
const linkedDoc = this.linkedDoc;
|
|
440
|
-
const isDeleted = !linkedDoc;
|
|
444
|
+
const isDeleted = !linkedDoc || isDocTrashed(linkedDoc);
|
|
441
445
|
const isLoading = this._loading;
|
|
442
446
|
const isError = this.isError;
|
|
443
447
|
const isEmpty = this._isDocEmpty() && this.isBannerEmpty;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EmbedEdgelessIcon, EmbedPageIcon, } from '../../affine-components/icons/index.js';
|
|
2
|
-
import { ColorScheme
|
|
2
|
+
import { ColorScheme } from '../../affine-model/index.js';
|
|
3
3
|
import { DarkSyncedDocErrorBanner, LightSyncedDocErrorBanner, } from '../embed-synced-doc-block/styles.js';
|
|
4
4
|
import { DarkLinkedEdgelessDeletedLargeBanner, DarkLinkedEdgelessDeletedSmallBanner, DarkLinkedEdgelessEmptyLargeBanner, DarkLinkedEdgelessEmptySmallBanner, DarkLinkedPageDeletedLargeBanner, DarkLinkedPageDeletedSmallBanner, DarkLinkedPageEmptyLargeBanner, DarkLinkedPageEmptySmallBanner, LightLinkedEdgelessDeletedLargeBanner, LightLinkedEdgelessDeletedSmallBanner, LightLinkedEdgelessEmptyLargeBanner, LightLinkedEdgelessEmptySmallBanner, LightLinkedPageDeletedLargeBanner, LightLinkedPageDeletedSmallBanner, LightLinkedPageEmptyLargeBanner, LightLinkedPageEmptySmallBanner, LinkedDocDeletedIcon, } from './styles.js';
|
|
5
5
|
export function getEmbedLinkedDocIcons(theme, editorMode, style) {
|
|
@@ -8,7 +8,7 @@ import { getBlockProps, matchModels } from '../../../affine-shared/utils/index.j
|
|
|
8
8
|
import { Bound } from '../../../global/gfx/index.js';
|
|
9
9
|
import { CaptionIcon, CopyIcon, DeleteIcon, DuplicateIcon, ExpandFullIcon, InsertIntoPageIcon, OpenInNewIcon, } from '@blocksuite/icons/lit';
|
|
10
10
|
import { BlockFlavourIdentifier, isGfxBlockComponent } from '../../../std/index.js';
|
|
11
|
-
import { Slice, Text
|
|
11
|
+
import { Slice, Text } from '../../../store/index.js';
|
|
12
12
|
import { computed, signal } from '@preact/signals-core';
|
|
13
13
|
import { html } from 'lit';
|
|
14
14
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.d.ts
CHANGED
|
@@ -8,6 +8,10 @@ import type { EmbedSyncedDocCard } from './components/embed-synced-doc-card.js';
|
|
|
8
8
|
export declare class EmbedSyncedDocBlockComponent extends EmbedBlockComponent<EmbedSyncedDocModel> {
|
|
9
9
|
static styles: import("lit").CSSResult;
|
|
10
10
|
private _cachedBounds;
|
|
11
|
+
/** Whether the nested editor has been rendered at least once. */
|
|
12
|
+
private _hasRenderedSyncedView;
|
|
13
|
+
/** Whether the fit effect below has already been installed. */
|
|
14
|
+
private _hasInitedFitEffect;
|
|
11
15
|
private readonly _initEdgelessFitEffect;
|
|
12
16
|
private readonly _pageFilter;
|
|
13
17
|
protected _buildPreviewSpec: (name: "preview-page" | "preview-edgeless") => import("../../store/index.js").ExtensionType[];
|
|
@@ -32,7 +32,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
32
32
|
}
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
|
-
import { EmbedBlockComponent, isEmptyDoc
|
|
35
|
+
import { EmbedBlockComponent, isEmptyDoc } from '../../affine-block-embed/index.js';
|
|
36
36
|
import { Peekable } from '../../affine-components/peek/index.js';
|
|
37
37
|
import { ViewExtensionManagerIdentifier } from '../../affine-ext-loader/index.js';
|
|
38
38
|
import { RefNodeSlotsProvider, } from '../../affine-inline-reference/index.js';
|
|
@@ -52,6 +52,7 @@ import { classMap } from 'lit/directives/class-map.js';
|
|
|
52
52
|
import { guard } from 'lit/directives/guard.js';
|
|
53
53
|
import { styleMap } from 'lit/directives/style-map.js';
|
|
54
54
|
import * as Y from 'yjs';
|
|
55
|
+
import { isDocTrashed } from '../common/doc-trashed.js';
|
|
55
56
|
import { blockStyles } from './styles.js';
|
|
56
57
|
let EmbedSyncedDocBlockComponent = (() => {
|
|
57
58
|
let _classDecorators = [Peekable({
|
|
@@ -97,6 +98,10 @@ let EmbedSyncedDocBlockComponent = (() => {
|
|
|
97
98
|
super(...arguments);
|
|
98
99
|
// Caches total bounds, includes all blocks and elements.
|
|
99
100
|
this._cachedBounds = null;
|
|
101
|
+
/** Whether the nested editor has been rendered at least once. */
|
|
102
|
+
this._hasRenderedSyncedView = false;
|
|
103
|
+
/** Whether the fit effect below has already been installed. */
|
|
104
|
+
this._hasInitedFitEffect = false;
|
|
100
105
|
this._initEdgelessFitEffect = () => {
|
|
101
106
|
const fitToContent = () => {
|
|
102
107
|
if (this.isPageMode)
|
|
@@ -336,7 +341,11 @@ let EmbedSyncedDocBlockComponent = (() => {
|
|
|
336
341
|
?.docLinkClicked.next({ ...event, pageId, host: this.host });
|
|
337
342
|
};
|
|
338
343
|
this.refreshData = () => {
|
|
339
|
-
this._load()
|
|
344
|
+
this._load()
|
|
345
|
+
.then(() => {
|
|
346
|
+
this._isEmptySyncedDoc = isEmptyDoc(this.syncedDoc, this.editorMode);
|
|
347
|
+
})
|
|
348
|
+
.catch(e => {
|
|
340
349
|
console.error(e);
|
|
341
350
|
this._error = true;
|
|
342
351
|
});
|
|
@@ -444,7 +453,7 @@ let EmbedSyncedDocBlockComponent = (() => {
|
|
|
444
453
|
this._deleted = false;
|
|
445
454
|
this._cycle = false;
|
|
446
455
|
const syncedDoc = this.syncedDoc;
|
|
447
|
-
if (!syncedDoc) {
|
|
456
|
+
if (!syncedDoc || isDocTrashed(syncedDoc)) {
|
|
448
457
|
this._deleted = true;
|
|
449
458
|
this._loading = false;
|
|
450
459
|
return;
|
|
@@ -506,6 +515,7 @@ let EmbedSyncedDocBlockComponent = (() => {
|
|
|
506
515
|
this._setDocUpdatedAt();
|
|
507
516
|
this.disposables.add(this.store.workspace.slots.docListUpdated.subscribe(() => {
|
|
508
517
|
this._setDocUpdatedAt();
|
|
518
|
+
this.refreshData();
|
|
509
519
|
}));
|
|
510
520
|
if (!this.linkedMode) {
|
|
511
521
|
const docMode = this.std.get(DocModeProvider);
|
|
@@ -529,7 +539,6 @@ let EmbedSyncedDocBlockComponent = (() => {
|
|
|
529
539
|
this._selectBlock();
|
|
530
540
|
}
|
|
531
541
|
});
|
|
532
|
-
this._initEdgelessFitEffect();
|
|
533
542
|
}
|
|
534
543
|
renderBlock() {
|
|
535
544
|
delete this.dataset.nestedEditor;
|
|
@@ -549,11 +558,21 @@ let EmbedSyncedDocBlockComponent = (() => {
|
|
|
549
558
|
></affine-embed-synced-doc-card>
|
|
550
559
|
`);
|
|
551
560
|
}
|
|
561
|
+
this._hasRenderedSyncedView = true;
|
|
552
562
|
return this._renderSyncedView();
|
|
553
563
|
}
|
|
554
564
|
updated(changedProperties) {
|
|
555
565
|
super.updated(changedProperties);
|
|
556
566
|
this.syncedDocCard?.requestUpdate();
|
|
567
|
+
// The fit effect reads the nested viewport's cached bounding rect, which
|
|
568
|
+
// only the viewport's own resize observer invalidates. Installing it here,
|
|
569
|
+
// after the nested editor has rendered and registered that observer, is
|
|
570
|
+
// what keeps the first resize after a zoom change from fitting to a stale
|
|
571
|
+
// size.
|
|
572
|
+
if (!this._hasInitedFitEffect && this._hasRenderedSyncedView) {
|
|
573
|
+
this._hasInitedFitEffect = true;
|
|
574
|
+
this._initEdgelessFitEffect();
|
|
575
|
+
}
|
|
557
576
|
}
|
|
558
577
|
#_cycle_accessor_storage;
|
|
559
578
|
get _cycle() { return this.#_cycle_accessor_storage; }
|
|
@@ -36,6 +36,19 @@ export declare class EdgelessFrameManager extends GfxExtension {
|
|
|
36
36
|
private _addChildrenToLegacyFrame;
|
|
37
37
|
private _addFrameBlock;
|
|
38
38
|
private _watchElementAdded;
|
|
39
|
+
/**
|
|
40
|
+
* Whether `element` fully encloses `frame`.
|
|
41
|
+
*
|
|
42
|
+
* A frame always renders behind everything it owns (`compare` short-circuits
|
|
43
|
+
* on the ancestor relationship, ignoring indexes) and "bring to front" only
|
|
44
|
+
* reorders top-level siblings — a grouped child is no longer one. So if a
|
|
45
|
+
* frame auto-adopted an element that encloses it (a Wardley map background
|
|
46
|
+
* the frame was drawn on top of, matched only because its center happened to
|
|
47
|
+
* fall inside the frame), the frame would be permanently buried behind its
|
|
48
|
+
* own child with no way to raise it. Such a backdrop must never become frame
|
|
49
|
+
* content. Mirrors the existing frame-inside-frame guard for canvas elements.
|
|
50
|
+
*/
|
|
51
|
+
private _enclosesFrame;
|
|
39
52
|
/**
|
|
40
53
|
* Adopt an element that was just created inside the frame's bounds.
|
|
41
54
|
*
|