@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
|
@@ -33,7 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
35
|
import { SignalWatcher, WithDisposable } from '../global/lit/index.js';
|
|
36
|
-
import { PropTypes, requiredProperties, ShadowlessElement
|
|
36
|
+
import { PropTypes, requiredProperties, ShadowlessElement } from '../std/index.js';
|
|
37
37
|
import { html, nothing } from 'lit';
|
|
38
38
|
import { property } from 'lit/decorators.js';
|
|
39
39
|
import { repeat } from 'lit/directives/repeat.js';
|
|
@@ -33,7 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
35
|
import { CloseIcon, ExportToHTMLIcon, ExportToMarkdownIcon, HelpIcon, NewIcon, NotionIcon, } from '../../affine-components/icons/index.js';
|
|
36
|
-
import { openFilesWith, openSingleFileWith
|
|
36
|
+
import { openFilesWith, openSingleFileWith } from '../../affine-shared/utils/index.js';
|
|
37
37
|
import { WithDisposable } from '../../global/lit/index.js';
|
|
38
38
|
import { html, LitElement } from 'lit';
|
|
39
39
|
import { query, state } from 'lit/decorators.js';
|
|
@@ -46,7 +46,7 @@ import { property, query, queryAll, state } from 'lit/decorators.js';
|
|
|
46
46
|
import { styleMap } from 'lit/directives/style-map.js';
|
|
47
47
|
import throttle from 'lodash-es/throttle.js';
|
|
48
48
|
import { linkedDocPopoverStyles } from './styles.js';
|
|
49
|
-
import { resolveSignal } from './utils.js';
|
|
49
|
+
import { createLinkedDocKeydownInterceptor, resolveSignal } from './utils.js';
|
|
50
50
|
let LinkedDocPopover = (() => {
|
|
51
51
|
let _classDecorators = [requiredProperties({
|
|
52
52
|
context: PropTypes.object,
|
|
@@ -162,20 +162,7 @@ let LinkedDocPopover = (() => {
|
|
|
162
162
|
createKeydownObserver({
|
|
163
163
|
target: eventSource,
|
|
164
164
|
signal: keydownObserverAbortController.signal,
|
|
165
|
-
interceptor: (
|
|
166
|
-
if (event.key === 'ArrowRight' || event.key === 'ArrowLeft') {
|
|
167
|
-
event.preventDefault();
|
|
168
|
-
event.stopPropagation();
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
if (event.key === 'Escape') {
|
|
172
|
-
this.context.close();
|
|
173
|
-
event.preventDefault();
|
|
174
|
-
event.stopPropagation();
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
next();
|
|
178
|
-
},
|
|
165
|
+
interceptor: createLinkedDocKeydownInterceptor(() => this.context.close()),
|
|
179
166
|
onInput: isComposition => {
|
|
180
167
|
if (isComposition) {
|
|
181
168
|
this._updateLinkedDocGroup().catch(console.error);
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import type { ExtensionType, Schema, Store, Workspace } from '../../store/index.js';
|
|
1
|
+
import type { DocMeta, ExtensionType, Schema, Store, Workspace } from '../../store/index.js';
|
|
2
|
+
type ParsedFrontmatterMeta = Partial<Pick<DocMeta, 'title' | 'createDate' | 'updatedDate' | 'tags' | 'favorite'>>;
|
|
3
|
+
/**
|
|
4
|
+
* Read the frontmatter off a markdown file and hand back the content without
|
|
5
|
+
* it, so the metadata never lands in the document as a paragraph of its own.
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseFrontmatter(markdown: string): {
|
|
8
|
+
content: string;
|
|
9
|
+
meta: ParsedFrontmatterMeta;
|
|
10
|
+
};
|
|
2
11
|
type ImportMarkdownToBlockOptions = {
|
|
3
12
|
doc: Store;
|
|
4
13
|
markdown: string;
|
|
@@ -3,7 +3,131 @@ import { Container } from '../../global/di/index.js';
|
|
|
3
3
|
import { BlockSuiteError, ErrorCode } from '../../global/exceptions/index.js';
|
|
4
4
|
import { sha } from '../../global/utils/index.js';
|
|
5
5
|
import { extMimeMap, Transformer } from '../../store/index.js';
|
|
6
|
-
import { createAssetsArchive, download, Unzip } from './utils.js';
|
|
6
|
+
import { createAssetsArchive, download, parseMatter, Unzip, } from './utils.js';
|
|
7
|
+
/**
|
|
8
|
+
* The spellings the tools people export markdown from actually use. Anything
|
|
9
|
+
* else in the frontmatter is metadata we have no field for, and is dropped.
|
|
10
|
+
*/
|
|
11
|
+
const FRONTMATTER_KEYS = {
|
|
12
|
+
title: ['title', 'name'],
|
|
13
|
+
created: [
|
|
14
|
+
'created',
|
|
15
|
+
'createdat',
|
|
16
|
+
'created_at',
|
|
17
|
+
'createddate',
|
|
18
|
+
'created_date',
|
|
19
|
+
'creationdate',
|
|
20
|
+
'date',
|
|
21
|
+
'time',
|
|
22
|
+
],
|
|
23
|
+
updated: [
|
|
24
|
+
'updated',
|
|
25
|
+
'updatedat',
|
|
26
|
+
'updated_at',
|
|
27
|
+
'updateddate',
|
|
28
|
+
'updated_date',
|
|
29
|
+
'modified',
|
|
30
|
+
'modifiedat',
|
|
31
|
+
'modified_at',
|
|
32
|
+
'lastmodified',
|
|
33
|
+
'last_modified',
|
|
34
|
+
'lastedited',
|
|
35
|
+
'last_edited',
|
|
36
|
+
'lasteditedtime',
|
|
37
|
+
'last_edited_time',
|
|
38
|
+
],
|
|
39
|
+
tags: ['tags', 'tag', 'categories', 'category', 'labels', 'keywords'],
|
|
40
|
+
favorite: ['favorite', 'favourite', 'star', 'starred', 'pinned'],
|
|
41
|
+
};
|
|
42
|
+
const truthyStrings = new Set(['true', 'yes', 'y', '1', 'on']);
|
|
43
|
+
const falsyStrings = new Set(['false', 'no', 'n', '0', 'off']);
|
|
44
|
+
function parseBoolean(value) {
|
|
45
|
+
if (typeof value !== 'string')
|
|
46
|
+
return undefined;
|
|
47
|
+
const normalized = value.trim().toLowerCase();
|
|
48
|
+
if (truthyStrings.has(normalized))
|
|
49
|
+
return true;
|
|
50
|
+
if (falsyStrings.has(normalized))
|
|
51
|
+
return false;
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
function parseTimestamp(value) {
|
|
55
|
+
if (typeof value !== 'string')
|
|
56
|
+
return undefined;
|
|
57
|
+
const seconds = Number(value);
|
|
58
|
+
if (value.trim() && !Number.isNaN(seconds)) {
|
|
59
|
+
// A bare number is an epoch: in seconds unless it is far too large for one.
|
|
60
|
+
return seconds > 1e10 ? seconds : Math.round(seconds * 1000);
|
|
61
|
+
}
|
|
62
|
+
const parsed = Date.parse(value);
|
|
63
|
+
return Number.isNaN(parsed) ? undefined : parsed;
|
|
64
|
+
}
|
|
65
|
+
function parseTags(value) {
|
|
66
|
+
const tags = (Array.isArray(value) ? value : value.split(/[,;]+/))
|
|
67
|
+
.map(tag => tag.trim())
|
|
68
|
+
.filter(Boolean);
|
|
69
|
+
return tags.length ? [...new Set(tags)] : undefined;
|
|
70
|
+
}
|
|
71
|
+
function buildMetaFromFrontmatter(data) {
|
|
72
|
+
const meta = {};
|
|
73
|
+
for (const [rawKey, value] of Object.entries(data)) {
|
|
74
|
+
const key = rawKey.trim().toLowerCase();
|
|
75
|
+
if (FRONTMATTER_KEYS.title.includes(key) && typeof value === 'string') {
|
|
76
|
+
const title = value.trim();
|
|
77
|
+
if (title)
|
|
78
|
+
meta.title = title;
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
if (FRONTMATTER_KEYS.created.includes(key)) {
|
|
82
|
+
const timestamp = parseTimestamp(value);
|
|
83
|
+
if (timestamp !== undefined)
|
|
84
|
+
meta.createDate = timestamp;
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
if (FRONTMATTER_KEYS.updated.includes(key)) {
|
|
88
|
+
const timestamp = parseTimestamp(value);
|
|
89
|
+
if (timestamp !== undefined)
|
|
90
|
+
meta.updatedDate = timestamp;
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
if (FRONTMATTER_KEYS.tags.includes(key)) {
|
|
94
|
+
const tags = parseTags(value);
|
|
95
|
+
if (tags)
|
|
96
|
+
meta.tags = tags;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
if (FRONTMATTER_KEYS.favorite.includes(key)) {
|
|
100
|
+
const favorite = parseBoolean(value);
|
|
101
|
+
if (favorite !== undefined)
|
|
102
|
+
meta.favorite = favorite;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return meta;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Read the frontmatter off a markdown file and hand back the content without
|
|
109
|
+
* it, so the metadata never lands in the document as a paragraph of its own.
|
|
110
|
+
*/
|
|
111
|
+
export function parseFrontmatter(markdown) {
|
|
112
|
+
try {
|
|
113
|
+
const parsed = parseMatter(markdown);
|
|
114
|
+
if (!parsed) {
|
|
115
|
+
return { content: markdown, meta: {} };
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
content: parsed.body,
|
|
119
|
+
meta: buildMetaFromFrontmatter(parsed.metadata),
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
return { content: markdown, meta: {} };
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function applyMetaPatch(collection, docId, meta) {
|
|
127
|
+
if (Object.keys(meta).length) {
|
|
128
|
+
collection.meta.setDocMeta(docId, meta);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
7
131
|
function getProvider(extensions) {
|
|
8
132
|
const container = new Container();
|
|
9
133
|
extensions.forEach(ext => {
|
|
@@ -90,6 +214,7 @@ async function importMarkdownToBlock({ doc, markdown, blockId, extensions, }) {
|
|
|
90
214
|
* @returns A Promise that resolves to the ID of the newly created doc, or undefined if import fails
|
|
91
215
|
*/
|
|
92
216
|
async function importMarkdownToDoc({ collection, schema, markdown, fileName, extensions, }) {
|
|
217
|
+
const { content, meta } = parseFrontmatter(markdown);
|
|
93
218
|
const provider = getProvider(extensions);
|
|
94
219
|
const job = new Transformer({
|
|
95
220
|
schema,
|
|
@@ -101,18 +226,19 @@ async function importMarkdownToDoc({ collection, schema, markdown, fileName, ext
|
|
|
101
226
|
},
|
|
102
227
|
middlewares: [
|
|
103
228
|
defaultImageProxyMiddleware,
|
|
104
|
-
fileNameMiddleware(fileName),
|
|
229
|
+
fileNameMiddleware(meta.title ?? fileName),
|
|
105
230
|
docLinkBaseURLMiddleware(collection.id),
|
|
106
231
|
],
|
|
107
232
|
});
|
|
108
233
|
const mdAdapter = new MarkdownAdapter(job, provider);
|
|
109
234
|
const page = await mdAdapter.toDoc({
|
|
110
|
-
file:
|
|
235
|
+
file: content,
|
|
111
236
|
assets: job.assetsManager,
|
|
112
237
|
});
|
|
113
238
|
if (!page) {
|
|
114
239
|
return;
|
|
115
240
|
}
|
|
241
|
+
applyMetaPatch(collection, page.id, meta);
|
|
116
242
|
return page.id;
|
|
117
243
|
}
|
|
118
244
|
/**
|
|
@@ -159,6 +285,7 @@ async function importMarkdownZip({ collection, schema, imported, extensions, })
|
|
|
159
285
|
await Promise.all(markdownBlobs.map(async (markdownFile) => {
|
|
160
286
|
const { filename, contentBlob, fullPath } = markdownFile;
|
|
161
287
|
const fileNameWithoutExt = filename.replace(/\.[^/.]+$/, '');
|
|
288
|
+
const { content, meta } = parseFrontmatter(await contentBlob.text());
|
|
162
289
|
const job = new Transformer({
|
|
163
290
|
schema,
|
|
164
291
|
blobCRUD: collection.blobSync,
|
|
@@ -169,7 +296,7 @@ async function importMarkdownZip({ collection, schema, imported, extensions, })
|
|
|
169
296
|
},
|
|
170
297
|
middlewares: [
|
|
171
298
|
defaultImageProxyMiddleware,
|
|
172
|
-
fileNameMiddleware(fileNameWithoutExt),
|
|
299
|
+
fileNameMiddleware(meta.title ?? fileNameWithoutExt),
|
|
173
300
|
docLinkBaseURLMiddleware(collection.id),
|
|
174
301
|
filePathMiddleware(fullPath),
|
|
175
302
|
],
|
|
@@ -188,12 +315,12 @@ async function importMarkdownZip({ collection, schema, imported, extensions, })
|
|
|
188
315
|
}
|
|
189
316
|
}
|
|
190
317
|
const mdAdapter = new MarkdownAdapter(job, provider);
|
|
191
|
-
const markdown = await contentBlob.text();
|
|
192
318
|
const doc = await mdAdapter.toDoc({
|
|
193
|
-
file:
|
|
319
|
+
file: content,
|
|
194
320
|
assets: job.assetsManager,
|
|
195
321
|
});
|
|
196
322
|
if (doc) {
|
|
323
|
+
applyMetaPatch(collection, doc.id, meta);
|
|
197
324
|
docIds.push(doc.id);
|
|
198
325
|
}
|
|
199
326
|
}));
|
|
@@ -21,4 +21,14 @@ export declare class Unzip {
|
|
|
21
21
|
}, void, unknown>;
|
|
22
22
|
}
|
|
23
23
|
export declare function createAssetsArchive(assetsMap: Map<string, Blob>, assetsIds: string[]): Promise<Zip>;
|
|
24
|
+
export type FrontmatterValue = string | string[];
|
|
25
|
+
/**
|
|
26
|
+
* Split a markdown file into its frontmatter metadata and the content below,
|
|
27
|
+
* or `null` when it opens with no frontmatter at all.
|
|
28
|
+
*/
|
|
29
|
+
export declare const parseMatter: (contents: string) => {
|
|
30
|
+
matter: string;
|
|
31
|
+
body: string;
|
|
32
|
+
metadata: Record<string, FrontmatterValue>;
|
|
33
|
+
} | null;
|
|
24
34
|
export declare function download(blob: Blob, name: string): void;
|
|
@@ -52,6 +52,42 @@ export class Zip {
|
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
+
const strictUtf8Decoder = new TextDecoder('utf-8', { fatal: true });
|
|
56
|
+
/**
|
|
57
|
+
* Repair an entry name that was decoded as Latin-1.
|
|
58
|
+
*
|
|
59
|
+
* fflate follows the zip spec: unless an entry sets the UTF-8 flag (general
|
|
60
|
+
* purpose bit 11) its name is decoded as Latin-1. Common archivers — the macOS
|
|
61
|
+
* `zip` tool among them — write UTF-8 bytes without ever setting that flag, so
|
|
62
|
+
* a CJK name comes back as mojibake, one character per raw byte.
|
|
63
|
+
*
|
|
64
|
+
* Such a name only ever holds code points in the 0x00-0xff range, so it can be
|
|
65
|
+
* turned back into the original bytes and decoded again, strictly, as UTF-8.
|
|
66
|
+
* Anything that is not valid UTF-8 — a name that really was Latin-1, or one
|
|
67
|
+
* fflate already decoded correctly — is left untouched.
|
|
68
|
+
*/
|
|
69
|
+
function fixFileNameEncoding(fileName) {
|
|
70
|
+
const bytes = new Uint8Array(fileName.length);
|
|
71
|
+
let hasNonAscii = false;
|
|
72
|
+
for (let i = 0; i < fileName.length; i++) {
|
|
73
|
+
const code = fileName.charCodeAt(i);
|
|
74
|
+
// A code point above 0xff cannot come out of a Latin-1 decode: the name was
|
|
75
|
+
// already decoded from its declared UTF-8 bytes, nothing to repair.
|
|
76
|
+
if (code > 0xff)
|
|
77
|
+
return fileName;
|
|
78
|
+
if (code > 0x7f)
|
|
79
|
+
hasNonAscii = true;
|
|
80
|
+
bytes[i] = code;
|
|
81
|
+
}
|
|
82
|
+
if (!hasNonAscii)
|
|
83
|
+
return fileName;
|
|
84
|
+
try {
|
|
85
|
+
return strictUtf8Decoder.decode(bytes);
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return fileName;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
55
91
|
export class Unzip {
|
|
56
92
|
async load(blob) {
|
|
57
93
|
this.unzipped = fflate.unzipSync(new Uint8Array(await blob.arrayBuffer()));
|
|
@@ -60,15 +96,17 @@ export class Unzip {
|
|
|
60
96
|
const keys = Object.keys(this.unzipped ?? {});
|
|
61
97
|
let index = 0;
|
|
62
98
|
while (keys.length) {
|
|
63
|
-
const
|
|
64
|
-
if (
|
|
99
|
+
const rawPath = keys.shift();
|
|
100
|
+
if (rawPath.includes('__MACOSX') || rawPath.includes('DS_Store')) {
|
|
65
101
|
continue;
|
|
66
102
|
}
|
|
103
|
+
const data = this.unzipped[rawPath];
|
|
104
|
+
const path = fixFileNameEncoding(rawPath);
|
|
67
105
|
const lastSplitIndex = path.lastIndexOf('/');
|
|
68
106
|
const fileName = path.substring(lastSplitIndex + 1);
|
|
69
107
|
const fileExt = fileName.lastIndexOf('.') === -1 ? '' : fileName.split('.').at(-1);
|
|
70
108
|
const mime = extMimeMap.get(fileExt ?? '');
|
|
71
|
-
const content = new File([
|
|
109
|
+
const content = new File([data], fileName, {
|
|
72
110
|
type: mime ?? '',
|
|
73
111
|
});
|
|
74
112
|
yield { path, content, index };
|
|
@@ -86,6 +124,85 @@ export async function createAssetsArchive(assetsMap, assetsIds) {
|
|
|
86
124
|
}
|
|
87
125
|
return zip;
|
|
88
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* A frontmatter block, and only at the very top of the file: a `---` further
|
|
129
|
+
* down is a horizontal rule and the reader expects to see it.
|
|
130
|
+
*/
|
|
131
|
+
const FRONTMATTER = /^---[ \t]*\r?\n([\s\S]*?)\r?\n---[ \t]*(?:\r?\n|$)/;
|
|
132
|
+
const unquote = (value) => {
|
|
133
|
+
const trimmed = value.trim();
|
|
134
|
+
const quote = trimmed[0];
|
|
135
|
+
if (trimmed.length >= 2 &&
|
|
136
|
+
(quote === '"' || quote === "'") &&
|
|
137
|
+
trimmed.endsWith(quote)) {
|
|
138
|
+
return trimmed.slice(1, -1);
|
|
139
|
+
}
|
|
140
|
+
return trimmed;
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* Parse the flat subset of YAML a frontmatter block actually uses: `key: value`
|
|
144
|
+
* pairs, flow sequences (`tags: [a, b]`) and block sequences. Every scalar
|
|
145
|
+
* stays a string — the caller knows which of them is a date, a flag or a list,
|
|
146
|
+
* and a full YAML parser would only add a dependency to guess it for us.
|
|
147
|
+
* Nested mappings are ignored rather than flattened.
|
|
148
|
+
*/
|
|
149
|
+
const parseFrontmatterBody = (source) => {
|
|
150
|
+
const data = {};
|
|
151
|
+
let listKey = null;
|
|
152
|
+
for (const line of source.split(/\r?\n/)) {
|
|
153
|
+
const trimmed = line.trim();
|
|
154
|
+
if (!trimmed || trimmed.startsWith('#'))
|
|
155
|
+
continue;
|
|
156
|
+
const item = trimmed.match(/^-\s+(.*)$/);
|
|
157
|
+
if (item && listKey) {
|
|
158
|
+
const list = data[listKey];
|
|
159
|
+
const value = unquote(item[1]);
|
|
160
|
+
if (Array.isArray(list))
|
|
161
|
+
list.push(value);
|
|
162
|
+
else
|
|
163
|
+
data[listKey] = [value];
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
// Keys are read at the top level only, so an indented mapping under a key
|
|
167
|
+
// does not silently become a sibling of it.
|
|
168
|
+
const entry = line.match(/^([A-Za-z0-9_][A-Za-z0-9_ -]*):(.*)$/);
|
|
169
|
+
if (!entry) {
|
|
170
|
+
listKey = null;
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
const key = entry[1].trim();
|
|
174
|
+
const value = entry[2].trim();
|
|
175
|
+
listKey = null;
|
|
176
|
+
if (!value) {
|
|
177
|
+
// Either a block sequence follows, or a nested mapping we will ignore.
|
|
178
|
+
data[key] = [];
|
|
179
|
+
listKey = key;
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
const flow = value.match(/^\[(.*)\]$/);
|
|
183
|
+
data[key] = flow
|
|
184
|
+
? flow[1].split(',').map(unquote).filter(Boolean)
|
|
185
|
+
: unquote(value);
|
|
186
|
+
}
|
|
187
|
+
return Object.keys(data).length ? data : null;
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* Split a markdown file into its frontmatter metadata and the content below,
|
|
191
|
+
* or `null` when it opens with no frontmatter at all.
|
|
192
|
+
*/
|
|
193
|
+
export const parseMatter = (contents) => {
|
|
194
|
+
const match = contents.match(FRONTMATTER);
|
|
195
|
+
if (!match)
|
|
196
|
+
return null;
|
|
197
|
+
const metadata = parseFrontmatterBody(match[1]);
|
|
198
|
+
if (!metadata)
|
|
199
|
+
return null;
|
|
200
|
+
return {
|
|
201
|
+
matter: match[1],
|
|
202
|
+
body: contents.slice(match[0].length),
|
|
203
|
+
metadata,
|
|
204
|
+
};
|
|
205
|
+
};
|
|
89
206
|
export function download(blob, name) {
|
|
90
207
|
const element = document.createElement('a');
|
|
91
208
|
element.setAttribute('download', name);
|
|
@@ -1,2 +1,14 @@
|
|
|
1
1
|
import { Signal } from '@preact/signals-core';
|
|
2
2
|
export declare function resolveSignal<T>(data: T | Signal<T>): T;
|
|
3
|
+
/**
|
|
4
|
+
* The keydown interceptor of the linked-doc popover.
|
|
5
|
+
*
|
|
6
|
+
* The shared keydown observer treats "a modifier plus any other key" as a
|
|
7
|
+
* reason to abort, so every key the popover wants to survive has to be caught
|
|
8
|
+
* here first — which is why changing the OS keyboard LAYOUT used to close the
|
|
9
|
+
* popover: on Windows and Linux, Alt+Shift arrives as a keydown whose `key` is
|
|
10
|
+
* `GroupNext` or `GroupPrevious`, and that reads as modifier + key.
|
|
11
|
+
*
|
|
12
|
+
* @param close - what `Escape` does; the popover's own `close`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function createLinkedDocKeydownInterceptor(close: () => void): (event: KeyboardEvent, next: () => void) => void;
|
|
@@ -2,3 +2,36 @@ import { Signal } from '@preact/signals-core';
|
|
|
2
2
|
export function resolveSignal(data) {
|
|
3
3
|
return data instanceof Signal ? data.value : data;
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* The keydown interceptor of the linked-doc popover.
|
|
7
|
+
*
|
|
8
|
+
* The shared keydown observer treats "a modifier plus any other key" as a
|
|
9
|
+
* reason to abort, so every key the popover wants to survive has to be caught
|
|
10
|
+
* here first — which is why changing the OS keyboard LAYOUT used to close the
|
|
11
|
+
* popover: on Windows and Linux, Alt+Shift arrives as a keydown whose `key` is
|
|
12
|
+
* `GroupNext` or `GroupPrevious`, and that reads as modifier + key.
|
|
13
|
+
*
|
|
14
|
+
* @param close - what `Escape` does; the popover's own `close`.
|
|
15
|
+
*/
|
|
16
|
+
export function createLinkedDocKeydownInterceptor(close) {
|
|
17
|
+
return (event, next) => {
|
|
18
|
+
if (event.key === 'GroupNext' || event.key === 'GroupPrevious') {
|
|
19
|
+
// The user switched keyboard layout, not documents. Swallow it and leave
|
|
20
|
+
// the query, the selection and the popover exactly as they were.
|
|
21
|
+
event.stopPropagation();
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (event.key === 'ArrowRight' || event.key === 'ArrowLeft') {
|
|
25
|
+
event.preventDefault();
|
|
26
|
+
event.stopPropagation();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (event.key === 'Escape') {
|
|
30
|
+
close();
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
event.stopPropagation();
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
next();
|
|
36
|
+
};
|
|
37
|
+
}
|
|
@@ -33,7 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
35
|
import { ViewportElementProvider } from '../affine-shared/services/index.js';
|
|
36
|
-
import { autoScroll, getScrollContainer
|
|
36
|
+
import { autoScroll, getScrollContainer } from '../affine-shared/utils/index.js';
|
|
37
37
|
import { BlockComponent, BlockSelection, WidgetComponent, WidgetViewExtension, } from '../std/index.js';
|
|
38
38
|
import { html, nothing } from 'lit';
|
|
39
39
|
import { state } from 'lit/decorators.js';
|
|
@@ -36,7 +36,7 @@ import { AttachmentBlockModel, BookmarkBlockModel, CodeBlockModel, DatabaseBlock
|
|
|
36
36
|
import { getSelectionRectsCommand } from '../../affine-shared/commands/index.js';
|
|
37
37
|
import { EMBED_BLOCK_MODEL_LIST } from '../../affine-shared/consts/index.js';
|
|
38
38
|
import { matchModels } from '../../affine-shared/utils/index.js';
|
|
39
|
-
import { BlockSelection, TextSelection, WidgetComponent
|
|
39
|
+
import { BlockSelection, TextSelection, WidgetComponent } from '../../std/index.js';
|
|
40
40
|
import { GfxControllerIdentifier } from '../../std/gfx/index.js';
|
|
41
41
|
import { computed, effect } from '@preact/signals-core';
|
|
42
42
|
import { css, html, nothing } from 'lit';
|
|
@@ -33,7 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
35
|
import { EdgelessCRUDIdentifier } from '../../affine-block-surface/index.js';
|
|
36
|
-
import { getSelectedRect, isTopLevelBlock, requestThrottledConnectedFrame, } from '../../affine-shared/utils/index.js';
|
|
36
|
+
import { getSelectedRect, isTopLevelBlock, overlayScale, requestThrottledConnectedFrame, } from '../../affine-shared/utils/index.js';
|
|
37
37
|
import { MultiCursorDuotoneIcon } from '@blocksuite/icons/lit';
|
|
38
38
|
import { WidgetComponent } from '../../std/index.js';
|
|
39
39
|
import { GfxControllerIdentifier } from '../../std/gfx/index.js';
|
|
@@ -252,9 +252,11 @@ let EdgelessRemoteSelectionWidget = (() => {
|
|
|
252
252
|
this._remoteRects = remoteRects;
|
|
253
253
|
};
|
|
254
254
|
this._updateTransform = requestThrottledConnectedFrame(() => {
|
|
255
|
-
const { translateX, translateY,
|
|
256
|
-
|
|
257
|
-
|
|
255
|
+
const { translateX, translateY, viewScale } = this.gfx.viewport;
|
|
256
|
+
// Stated in the scaled space of the container, like every other overlay
|
|
257
|
+
// and like `GfxBlockComponent.getCSSTransform`.
|
|
258
|
+
this.style.setProperty('--v-zoom', `${overlayScale(this.gfx.viewport)}`);
|
|
259
|
+
this.style.setProperty('transform', `translate(${translateX / viewScale}px, ${translateY / viewScale}px) scale(var(--v-zoom))`);
|
|
258
260
|
}, this);
|
|
259
261
|
this.#_remoteCursors_accessor_storage = __runInitializers(this, __remoteCursors_initializers, new Map());
|
|
260
262
|
this.#_remoteRects_accessor_storage = (__runInitializers(this, __remoteCursors_extraInitializers), __runInitializers(this, __remoteRects_initializers, new Map()));
|
|
@@ -48,7 +48,7 @@ import groupBy from 'lodash-es/groupBy.js';
|
|
|
48
48
|
import throttle from 'lodash-es/throttle.js';
|
|
49
49
|
import { AFFINE_SLASH_MENU_MAX_HEIGHT, AFFINE_SLASH_MENU_TOOLTIP_TIMEOUT, AFFINE_SLASH_MENU_TRIGGER_KEY, } from './consts.js';
|
|
50
50
|
import { slashItemToolTipStyle, styles } from './styles.js';
|
|
51
|
-
import { isActionItem, isSubMenuItem, parseGroup, slashItemClassName, } from './utils.js';
|
|
51
|
+
import { isActionItem, isSubMenuItem, isTextInputKey, parseGroup, slashItemClassName, } from './utils.js';
|
|
52
52
|
let SlashMenu = (() => {
|
|
53
53
|
let _classSuper = WithDisposable(LitElement);
|
|
54
54
|
let __filteredItems_decorators;
|
|
@@ -217,9 +217,13 @@ let SlashMenu = (() => {
|
|
|
217
217
|
// The IME case of above
|
|
218
218
|
return;
|
|
219
219
|
}
|
|
220
|
-
if (key !== 'Backspace' &&
|
|
221
|
-
|
|
222
|
-
|
|
220
|
+
if (key !== 'Backspace' &&
|
|
221
|
+
this._queryState === 'no_result' &&
|
|
222
|
+
!isTextInputKey(event)) {
|
|
223
|
+
// The search found nothing and the user is not typing: whatever this
|
|
224
|
+
// key is, it is not narrowing the query, so the slash menu closes.
|
|
225
|
+
// Typing keeps it alive — the query state is refreshed asynchronously
|
|
226
|
+
// and would otherwise be judged stale.
|
|
223
227
|
this.abortController.abort();
|
|
224
228
|
return;
|
|
225
229
|
}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import type { SlashMenuActionItem, SlashMenuConfig, SlashMenuContext, SlashMenuItem, SlashMenuSubMenu } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Whether a keydown is the user typing one more character into the query.
|
|
4
|
+
*
|
|
5
|
+
* The slash menu closes on the first key that follows an empty result, which is
|
|
6
|
+
* right for a command key and wrong for a letter: the query state is computed
|
|
7
|
+
* asynchronously, so a letter typed just after a deletion is judged against a
|
|
8
|
+
* STALE `no_result` and kills a menu that was about to find matches again.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isTextInputKey(event: KeyboardEvent): boolean;
|
|
2
11
|
export declare function isActionItem(item: SlashMenuItem): item is SlashMenuActionItem;
|
|
3
12
|
export declare function isSubMenuItem(item: SlashMenuItem): item is SlashMenuSubMenu;
|
|
4
13
|
export declare function slashItemClassName({ name }: SlashMenuItem): string;
|
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a keydown is the user typing one more character into the query.
|
|
3
|
+
*
|
|
4
|
+
* The slash menu closes on the first key that follows an empty result, which is
|
|
5
|
+
* right for a command key and wrong for a letter: the query state is computed
|
|
6
|
+
* asynchronously, so a letter typed just after a deletion is judged against a
|
|
7
|
+
* STALE `no_result` and kills a menu that was about to find matches again.
|
|
8
|
+
*/
|
|
9
|
+
export function isTextInputKey(event) {
|
|
10
|
+
// Keys combined with modifiers are not text input.
|
|
11
|
+
if (event.ctrlKey || event.metaKey || event.altKey)
|
|
12
|
+
return false;
|
|
13
|
+
// During IME composition, the query is updated by the input / composition
|
|
14
|
+
// hooks, never by the keydown.
|
|
15
|
+
if (event.isComposing)
|
|
16
|
+
return false;
|
|
17
|
+
// Only single-character keys are text input: `Enter`, `Tab`, `F2`… are not.
|
|
18
|
+
if (event.key.length !== 1)
|
|
19
|
+
return false;
|
|
20
|
+
// Space still closes the slash menu — unchanged behaviour.
|
|
21
|
+
if (event.key === ' ')
|
|
22
|
+
return false;
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
1
25
|
export function isActionItem(item) {
|
|
2
26
|
return 'action' in item;
|
|
3
27
|
}
|
|
@@ -3,6 +3,7 @@ import { ToolbarContext } from '../affine-shared/services/index.js';
|
|
|
3
3
|
import { type BlockComponent, WidgetComponent } from '../std/index.js';
|
|
4
4
|
import { type GfxController, type GfxModel } from '../std/gfx/index.js';
|
|
5
5
|
import type { ReferenceElement, SideObject } from '@floating-ui/dom';
|
|
6
|
+
import { ToolbarFitter } from './utils.js';
|
|
6
7
|
export declare const AFFINE_TOOLBAR_WIDGET = "affine-toolbar-widget";
|
|
7
8
|
export declare class AffineToolbarWidget extends WidgetComponent {
|
|
8
9
|
static styles: import("lit").CSSResult;
|
|
@@ -14,6 +15,11 @@ export declare class AffineToolbarWidget extends WidgetComponent {
|
|
|
14
15
|
setReferenceElementWithElements(gfx: GfxController, elements: GfxModel[]): void;
|
|
15
16
|
updateWithSurface(ctx: ToolbarContext, activated: boolean, elementIds: string[]): void;
|
|
16
17
|
toolbar: EditorToolbar;
|
|
18
|
+
/**
|
|
19
|
+
* Keeps the row on one line: it renders the toolbar, measures it and hands
|
|
20
|
+
* the least important entries to the "⋮" menu when the room runs out.
|
|
21
|
+
*/
|
|
22
|
+
fitter: ToolbarFitter;
|
|
17
23
|
get toolbarRegistry(): import("../affine-shared/services/index.js").ToolbarRegistryExtension;
|
|
18
24
|
connectedCallback(): void;
|
|
19
25
|
}
|