@formicoidea/labre-core 0.31.0 → 0.32.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-callout/callout-block.d.ts +6 -0
- package/dist/_pkgs/affine-block-callout/callout-block.js +25 -3
- 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.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 +52 -5
- 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/database-block.js +13 -0
- 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 +10 -0
- 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-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/embed-linked-doc-block.js +8 -4
- 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 +22 -3
- package/dist/_pkgs/affine-block-frame/frame-manager.d.ts +13 -0
- package/dist/_pkgs/affine-block-frame/frame-manager.js +32 -2
- package/dist/_pkgs/affine-block-latex/styles.js +6 -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-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 +9 -2
- 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 +26 -1
- 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/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/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 +5 -2
- package/dist/_pkgs/affine-block-surface/element-model/index.js +4 -2
- package/dist/_pkgs/affine-block-surface/extensions/audit.d.ts +107 -0
- package/dist/_pkgs/affine-block-surface/extensions/audit.js +472 -0
- package/dist/_pkgs/affine-block-surface/extensions/crud-extension.d.ts +14 -0
- package/dist/_pkgs/affine-block-surface/extensions/crud-extension.js +27 -0
- 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 +326 -0
- package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +13 -0
- package/dist/_pkgs/affine-block-surface/extensions/index.js +13 -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/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 +590 -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/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 +1340 -0
- package/dist/_pkgs/affine-block-surface/extensions/validation.js +3009 -0
- package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.d.ts +286 -0
- package/dist/_pkgs/affine-block-surface/extensions/violation-detail-widget.js +907 -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 +321 -0
- package/dist/_pkgs/affine-block-surface/framework-background/def.js +81 -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 +59 -0
- package/dist/_pkgs/affine-block-surface/framework-background/labels.js +117 -0
- package/dist/_pkgs/affine-block-surface/framework-background/renderer.d.ts +8 -0
- package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +238 -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/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-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/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/portal/portal.d.ts +1 -1
- package/dist/_pkgs/affine-components/toolbar/menu-button.js +1 -0
- package/dist/_pkgs/affine-components/toolbar/toolbar.js +11 -10
- package/dist/_pkgs/affine-foundation/view.js +11 -2
- 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/view.d.ts +14 -0
- package/dist/_pkgs/affine-gfx-brush/view.js +29 -3
- package/dist/_pkgs/affine-gfx-connector/connector-manager.js +32 -6
- package/dist/_pkgs/affine-gfx-connector/connector-tool.d.ts +7 -0
- package/dist/_pkgs/affine-gfx-connector/connector-tool.js +2 -1
- package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.d.ts +123 -0
- package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.js +281 -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 +187 -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/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 +67 -1
- 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-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/element-renderer/shape-dom/index.js +48 -19
- 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/text/edgeless-shape-text-editor.d.ts +26 -0
- package/dist/_pkgs/affine-gfx-shape/text/edgeless-shape-text-editor.js +124 -13
- package/dist/_pkgs/affine-gfx-shape/view.js +3 -3
- 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-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/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-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/connector/connector.js +24 -0
- 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/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 +3 -1
- package/dist/_pkgs/affine-model/elements/index.js +1 -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/wardley/wardley.d.ts +21 -29
- package/dist/_pkgs/affine-model/elements/wardley/wardley.js +41 -48
- package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.d.ts +6 -1
- package/dist/_pkgs/affine-shared/adapters/markdown/delta-converter.js +160 -2
- package/dist/_pkgs/affine-shared/adapters/markdown/markdown.js +5 -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 +280 -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/services/audit-service.d.ts +300 -0
- package/dist/_pkgs/affine-shared/services/audit-service.js +228 -0
- 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/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 +5 -0
- package/dist/_pkgs/affine-shared/services/index.js +5 -0
- package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.d.ts +129 -0
- package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +311 -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 +182 -0
- 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/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 +254 -0
- 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/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 +27 -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-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/index.d.ts +1 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +1 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +38 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +99 -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-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-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 +34 -6
- package/dist/_pkgs/affine-widget-toolbar/utils.d.ts +146 -3
- package/dist/_pkgs/affine-widget-toolbar/utils.js +738 -56
- 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 +68 -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 +837 -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 +87 -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 +84 -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 +7 -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 +321 -0
- package/dist/_pkgs/std/extension/command-registry.js +233 -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/translation-manifest.d.ts +49 -0
- package/dist/_pkgs/std/extension/translation-manifest.js +71 -0
- 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 +282 -0
- package/dist/_pkgs/std/gfx/model/surface/element-model.js +436 -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 +115 -0
- package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +70 -0
- package/dist/_pkgs/std/gfx/model/surface/surface-model.js +304 -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/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 +19 -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 +7 -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/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 +23 -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 +154 -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 +112 -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
|
@@ -39,9 +39,9 @@ import { WithDisposable } from '../../../global/lit/index.js';
|
|
|
39
39
|
import { noop } from '../../../global/utils/index.js';
|
|
40
40
|
import { MoreVerticalIcon } from '@blocksuite/icons/lit';
|
|
41
41
|
import { flip, offset } from '@floating-ui/dom';
|
|
42
|
+
import { effect } from '@preact/signals-core';
|
|
42
43
|
import { css, html, LitElement } from 'lit';
|
|
43
44
|
import { property, query, state } from 'lit/decorators.js';
|
|
44
|
-
import { styleMap } from 'lit/directives/style-map.js';
|
|
45
45
|
let AffineCodeToolbar = (() => {
|
|
46
46
|
let _classSuper = WithDisposable(LitElement);
|
|
47
47
|
let __moreButton_decorators;
|
|
@@ -50,6 +50,9 @@ let AffineCodeToolbar = (() => {
|
|
|
50
50
|
let __moreMenuOpen_decorators;
|
|
51
51
|
let __moreMenuOpen_initializers = [];
|
|
52
52
|
let __moreMenuOpen_extraInitializers = [];
|
|
53
|
+
let __collapsed_decorators;
|
|
54
|
+
let __collapsed_initializers = [];
|
|
55
|
+
let __collapsed_extraInitializers = [];
|
|
53
56
|
let _context_decorators;
|
|
54
57
|
let _context_initializers = [];
|
|
55
58
|
let _context_extraInitializers = [];
|
|
@@ -67,12 +70,14 @@ let AffineCodeToolbar = (() => {
|
|
|
67
70
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
68
71
|
__moreButton_decorators = [query('.code-toolbar-button.more')];
|
|
69
72
|
__moreMenuOpen_decorators = [state()];
|
|
73
|
+
__collapsed_decorators = [state()];
|
|
70
74
|
_context_decorators = [property({ attribute: false })];
|
|
71
75
|
_moreGroups_decorators = [property({ attribute: false })];
|
|
72
76
|
_onActiveStatusChange_decorators = [property({ attribute: false })];
|
|
73
77
|
_primaryGroups_decorators = [property({ attribute: false })];
|
|
74
78
|
__esDecorate(this, null, __moreButton_decorators, { kind: "accessor", name: "_moreButton", static: false, private: false, access: { has: obj => "_moreButton" in obj, get: obj => obj._moreButton, set: (obj, value) => { obj._moreButton = value; } }, metadata: _metadata }, __moreButton_initializers, __moreButton_extraInitializers);
|
|
75
79
|
__esDecorate(this, null, __moreMenuOpen_decorators, { kind: "accessor", name: "_moreMenuOpen", static: false, private: false, access: { has: obj => "_moreMenuOpen" in obj, get: obj => obj._moreMenuOpen, set: (obj, value) => { obj._moreMenuOpen = value; } }, metadata: _metadata }, __moreMenuOpen_initializers, __moreMenuOpen_extraInitializers);
|
|
80
|
+
__esDecorate(this, null, __collapsed_decorators, { kind: "accessor", name: "_collapsed", static: false, private: false, access: { has: obj => "_collapsed" in obj, get: obj => obj._collapsed, set: (obj, value) => { obj._collapsed = value; } }, metadata: _metadata }, __collapsed_initializers, __collapsed_extraInitializers);
|
|
76
81
|
__esDecorate(this, null, _context_decorators, { kind: "accessor", name: "context", static: false, private: false, access: { has: obj => "context" in obj, get: obj => obj.context, set: (obj, value) => { obj.context = value; } }, metadata: _metadata }, _context_initializers, _context_extraInitializers);
|
|
77
82
|
__esDecorate(this, null, _moreGroups_decorators, { kind: "accessor", name: "moreGroups", static: false, private: false, access: { has: obj => "moreGroups" in obj, get: obj => obj.moreGroups, set: (obj, value) => { obj.moreGroups = value; } }, metadata: _metadata }, _moreGroups_initializers, _moreGroups_extraInitializers);
|
|
78
83
|
__esDecorate(this, null, _onActiveStatusChange_decorators, { kind: "accessor", name: "onActiveStatusChange", static: false, private: false, access: { has: obj => "onActiveStatusChange" in obj, get: obj => obj.onActiveStatusChange, set: (obj, value) => { obj.onActiveStatusChange = value; } }, metadata: _metadata }, _onActiveStatusChange_initializers, _onActiveStatusChange_extraInitializers);
|
|
@@ -125,18 +130,10 @@ let AffineCodeToolbar = (() => {
|
|
|
125
130
|
}
|
|
126
131
|
createLitPortal({
|
|
127
132
|
template: html `
|
|
128
|
-
<
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
'--content-padding': '8px',
|
|
133
|
-
'--packed-height': '4px',
|
|
134
|
-
})}
|
|
135
|
-
>
|
|
136
|
-
<div data-size="large" data-orientation="vertical">
|
|
137
|
-
${renderGroups(this.moreGroups, this.context)}
|
|
138
|
-
</div>
|
|
139
|
-
</editor-menu-content>
|
|
133
|
+
<affine-code-more-menu
|
|
134
|
+
.context=${this.context}
|
|
135
|
+
.moreGroups=${this.moreGroups}
|
|
136
|
+
></affine-code-more-menu>
|
|
140
137
|
`,
|
|
141
138
|
// should be greater than block-selection z-index as selection and popover wil share the same stacking context(editor-host)
|
|
142
139
|
portalStyles: {
|
|
@@ -158,6 +155,14 @@ let AffineCodeToolbar = (() => {
|
|
|
158
155
|
super.disconnectedCallback();
|
|
159
156
|
this.closeCurrentMenu();
|
|
160
157
|
}
|
|
158
|
+
connectedCallback() {
|
|
159
|
+
super.connectedCallback();
|
|
160
|
+
// Mirror the collapsed$ signal from the block component into local @state
|
|
161
|
+
// so this LitElement re-renders when it changes.
|
|
162
|
+
this.disposables.add(effect(() => {
|
|
163
|
+
this._collapsed = this.context.blockComponent.collapsed$.value;
|
|
164
|
+
}));
|
|
165
|
+
}
|
|
161
166
|
render() {
|
|
162
167
|
return html `
|
|
163
168
|
<editor-toolbar class="code-toolbar-container" data-without-bg>
|
|
@@ -185,6 +190,9 @@ let AffineCodeToolbar = (() => {
|
|
|
185
190
|
#_moreMenuOpen_accessor_storage;
|
|
186
191
|
get _moreMenuOpen() { return this.#_moreMenuOpen_accessor_storage; }
|
|
187
192
|
set _moreMenuOpen(value) { this.#_moreMenuOpen_accessor_storage = value; }
|
|
193
|
+
#_collapsed_accessor_storage;
|
|
194
|
+
get _collapsed() { return this.#_collapsed_accessor_storage; }
|
|
195
|
+
set _collapsed(value) { this.#_collapsed_accessor_storage = value; }
|
|
188
196
|
#context_accessor_storage;
|
|
189
197
|
get context() { return this.#context_accessor_storage; }
|
|
190
198
|
set context(value) { this.#context_accessor_storage = value; }
|
|
@@ -209,7 +217,8 @@ let AffineCodeToolbar = (() => {
|
|
|
209
217
|
};
|
|
210
218
|
this.#_moreButton_accessor_storage = __runInitializers(this, __moreButton_initializers, void 0);
|
|
211
219
|
this.#_moreMenuOpen_accessor_storage = (__runInitializers(this, __moreButton_extraInitializers), __runInitializers(this, __moreMenuOpen_initializers, false));
|
|
212
|
-
this.#
|
|
220
|
+
this.#_collapsed_accessor_storage = (__runInitializers(this, __moreMenuOpen_extraInitializers), __runInitializers(this, __collapsed_initializers, false));
|
|
221
|
+
this.#context_accessor_storage = (__runInitializers(this, __collapsed_extraInitializers), __runInitializers(this, _context_initializers, void 0));
|
|
213
222
|
this.#moreGroups_accessor_storage = (__runInitializers(this, _context_extraInitializers), __runInitializers(this, _moreGroups_initializers, void 0));
|
|
214
223
|
this.#onActiveStatusChange_accessor_storage = (__runInitializers(this, _moreGroups_extraInitializers), __runInitializers(this, _onActiveStatusChange_initializers, noop));
|
|
215
224
|
this.#primaryGroups_accessor_storage = (__runInitializers(this, _onActiveStatusChange_extraInitializers), __runInitializers(this, _primaryGroups_initializers, void 0));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { MenuItemGroup } from '../../../affine-components/toolbar/index.js';
|
|
2
|
+
import { ShadowlessElement } from '../../../std/index.js';
|
|
3
|
+
import type { CodeBlockToolbarContext } from '../context.js';
|
|
4
|
+
declare const AffineCodeMoreMenu_base: typeof ShadowlessElement & import("../../../global/utils/types.js").Constructor<import("../../../global/lit/with-disposable.js").DisposableClass>;
|
|
5
|
+
export declare class AffineCodeMoreMenu extends AffineCodeMoreMenu_base {
|
|
6
|
+
firstUpdated(): void;
|
|
7
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
8
|
+
accessor context: CodeBlockToolbarContext;
|
|
9
|
+
accessor moreGroups: MenuItemGroup<CodeBlockToolbarContext>[];
|
|
10
|
+
}
|
|
11
|
+
declare global {
|
|
12
|
+
interface HTMLElementTagNameMap {
|
|
13
|
+
'affine-code-more-menu': AffineCodeMoreMenu;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import { renderGroups } from '../../../affine-components/toolbar/index.js';
|
|
36
|
+
import { SignalWatcher, WithDisposable } from '../../../global/lit/index.js';
|
|
37
|
+
import { ShadowlessElement } from '../../../std/index.js';
|
|
38
|
+
import { html } from 'lit';
|
|
39
|
+
import { property } from 'lit/decorators.js';
|
|
40
|
+
import { styleMap } from 'lit/directives/style-map.js';
|
|
41
|
+
let AffineCodeMoreMenu = (() => {
|
|
42
|
+
let _classSuper = SignalWatcher(WithDisposable(ShadowlessElement));
|
|
43
|
+
let _context_decorators;
|
|
44
|
+
let _context_initializers = [];
|
|
45
|
+
let _context_extraInitializers = [];
|
|
46
|
+
let _moreGroups_decorators;
|
|
47
|
+
let _moreGroups_initializers = [];
|
|
48
|
+
let _moreGroups_extraInitializers = [];
|
|
49
|
+
return class AffineCodeMoreMenu extends _classSuper {
|
|
50
|
+
static {
|
|
51
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
52
|
+
_context_decorators = [property({ attribute: false })];
|
|
53
|
+
_moreGroups_decorators = [property({ attribute: false })];
|
|
54
|
+
__esDecorate(this, null, _context_decorators, { kind: "accessor", name: "context", static: false, private: false, access: { has: obj => "context" in obj, get: obj => obj.context, set: (obj, value) => { obj.context = value; } }, metadata: _metadata }, _context_initializers, _context_extraInitializers);
|
|
55
|
+
__esDecorate(this, null, _moreGroups_decorators, { kind: "accessor", name: "moreGroups", static: false, private: false, access: { has: obj => "moreGroups" in obj, get: obj => obj.moreGroups, set: (obj, value) => { obj.moreGroups = value; } }, metadata: _metadata }, _moreGroups_initializers, _moreGroups_extraInitializers);
|
|
56
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
57
|
+
}
|
|
58
|
+
firstUpdated() {
|
|
59
|
+
this.disposables.add(this.context.blockComponent.model.propsUpdated.subscribe(({ key }) => {
|
|
60
|
+
if (key === 'wrap' || key === 'lineNumber') {
|
|
61
|
+
this.requestUpdate();
|
|
62
|
+
}
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
render() {
|
|
66
|
+
return html `
|
|
67
|
+
<editor-menu-content
|
|
68
|
+
data-show
|
|
69
|
+
class="more-popup-menu"
|
|
70
|
+
style=${styleMap({
|
|
71
|
+
'--content-padding': '8px',
|
|
72
|
+
'--packed-height': '4px',
|
|
73
|
+
})}
|
|
74
|
+
>
|
|
75
|
+
<div data-size="large" data-orientation="vertical">
|
|
76
|
+
${renderGroups(this.moreGroups, this.context)}
|
|
77
|
+
</div>
|
|
78
|
+
</editor-menu-content>
|
|
79
|
+
`;
|
|
80
|
+
}
|
|
81
|
+
#context_accessor_storage = __runInitializers(this, _context_initializers, void 0);
|
|
82
|
+
get context() { return this.#context_accessor_storage; }
|
|
83
|
+
set context(value) { this.#context_accessor_storage = value; }
|
|
84
|
+
#moreGroups_accessor_storage = (__runInitializers(this, _context_extraInitializers), __runInitializers(this, _moreGroups_initializers, void 0));
|
|
85
|
+
get moreGroups() { return this.#moreGroups_accessor_storage; }
|
|
86
|
+
set moreGroups(value) { this.#moreGroups_accessor_storage = value; }
|
|
87
|
+
constructor() {
|
|
88
|
+
super(...arguments);
|
|
89
|
+
__runInitializers(this, _moreGroups_extraInitializers);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
})();
|
|
93
|
+
export { AffineCodeMoreMenu };
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { CancelWrapIcon, CaptionIcon, CopyIcon, DeleteIcon, DuplicateIcon, WrapIcon, } from '../../affine-components/icons/index.js';
|
|
2
|
-
import { CommentProviderIdentifier } from '../../affine-shared/services/index.js';
|
|
2
|
+
import { CommentProviderIdentifier, DocModeProvider, TelemetryProvider, } from '../../affine-shared/services/index.js';
|
|
3
3
|
import { isInsidePageEditor } from '../../affine-shared/utils/index.js';
|
|
4
4
|
import { noop, sleep } from '../../global/utils/index.js';
|
|
5
|
-
import { CommentIcon, NumberedListIcon } from '@blocksuite/icons/lit';
|
|
5
|
+
import { CollapseIcon, CommentIcon, NumberedListIcon, ToggleRightIcon, } from '@blocksuite/icons/lit';
|
|
6
6
|
import { BlockSelection } from '../../std/index.js';
|
|
7
7
|
import { html } from 'lit';
|
|
8
8
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
9
9
|
import { CodeBlockConfigExtension } from '../code-block-config.js';
|
|
10
10
|
import { duplicateCodeBlock } from './utils.js';
|
|
11
|
+
// Upstream keeps these two in `@blocksuite/affine-components/icons`; we build
|
|
12
|
+
// them here so the code block owns its own toolbar glyphs.
|
|
13
|
+
const CollapseCodeIcon = CollapseIcon({ width: '20', height: '20' });
|
|
14
|
+
const ExpandCodeIcon = ToggleRightIcon({ width: '20', height: '20' });
|
|
11
15
|
export const PRIMARY_GROUPS = [
|
|
12
16
|
{
|
|
13
17
|
type: 'primary',
|
|
@@ -74,6 +78,48 @@ export const PRIMARY_GROUPS = [
|
|
|
74
78
|
};
|
|
75
79
|
},
|
|
76
80
|
},
|
|
81
|
+
{
|
|
82
|
+
type: 'collapse',
|
|
83
|
+
when: ({ doc }) => !doc.readonly,
|
|
84
|
+
generate: ({ blockComponent }) => {
|
|
85
|
+
return {
|
|
86
|
+
action: () => {
|
|
87
|
+
const collapsed = !blockComponent.collapsed$.value;
|
|
88
|
+
blockComponent.setCollapsed(collapsed);
|
|
89
|
+
const std = blockComponent.std;
|
|
90
|
+
const mode = std.getOptional(DocModeProvider)?.getEditorMode() ?? 'page';
|
|
91
|
+
std.getOptional(TelemetryProvider)?.track('codeBlockToggleCollapse', {
|
|
92
|
+
page: mode,
|
|
93
|
+
segment: 'code block',
|
|
94
|
+
module: 'code toolbar container',
|
|
95
|
+
control: 'collapse button',
|
|
96
|
+
type: collapsed ? 'collapse' : 'expand',
|
|
97
|
+
});
|
|
98
|
+
},
|
|
99
|
+
render: item => {
|
|
100
|
+
const collapsed = blockComponent.collapsed$.value;
|
|
101
|
+
const icon = collapsed ? ExpandCodeIcon : CollapseCodeIcon;
|
|
102
|
+
const label = collapsed ? 'Expand code' : 'Collapse code';
|
|
103
|
+
return html `
|
|
104
|
+
<editor-icon-button
|
|
105
|
+
class="code-toolbar-button collapse"
|
|
106
|
+
aria-label=${label}
|
|
107
|
+
.tooltip=${label}
|
|
108
|
+
.tooltipOffset=${4}
|
|
109
|
+
.iconSize=${'16px'}
|
|
110
|
+
.iconContainerPadding=${4}
|
|
111
|
+
@click=${(e) => {
|
|
112
|
+
e.stopPropagation();
|
|
113
|
+
item.action();
|
|
114
|
+
}}
|
|
115
|
+
>
|
|
116
|
+
${icon}
|
|
117
|
+
</editor-icon-button>
|
|
118
|
+
`;
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
},
|
|
122
|
+
},
|
|
77
123
|
{
|
|
78
124
|
type: 'caption',
|
|
79
125
|
label: 'Caption',
|
|
@@ -159,7 +205,8 @@ export const toggleGroup = {
|
|
|
159
205
|
return html `
|
|
160
206
|
<editor-menu-action
|
|
161
207
|
@click=${() => {
|
|
162
|
-
blockComponent.
|
|
208
|
+
const currentWrap = blockComponent.model.props.wrap;
|
|
209
|
+
blockComponent.setWrap(!currentWrap);
|
|
163
210
|
}}
|
|
164
211
|
aria-label=${label}
|
|
165
212
|
>
|
|
@@ -183,13 +230,13 @@ export const toggleGroup = {
|
|
|
183
230
|
return {
|
|
184
231
|
action: () => { },
|
|
185
232
|
render: () => {
|
|
186
|
-
const lineNumber = blockComponent.
|
|
233
|
+
const lineNumber = blockComponent.showLineNumbers;
|
|
187
234
|
const label = lineNumber ? 'Cancel line number' : 'Line number';
|
|
188
235
|
return html `
|
|
189
236
|
<editor-menu-action
|
|
190
237
|
@click=${() => {
|
|
191
238
|
blockComponent.store.updateBlock(blockComponent.model, {
|
|
192
|
-
lineNumber: !
|
|
239
|
+
lineNumber: !blockComponent.showLineNumbers,
|
|
193
240
|
});
|
|
194
241
|
}}
|
|
195
242
|
aria-label=${label}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { AFFINE_CODE_TOOLBAR_WIDGET, AffineCodeToolbarWidget } from './code-toolbar/index.js';
|
|
2
2
|
import { AffineCodeToolbar } from './code-toolbar/components/code-toolbar.js';
|
|
3
3
|
import { LanguageListButton } from './code-toolbar/components/lang-button.js';
|
|
4
|
+
import { AffineCodeMoreMenu } from './code-toolbar/components/more-menu.js';
|
|
4
5
|
import { PreviewButton } from './code-toolbar/components/preview-button.js';
|
|
5
6
|
export declare function effects(): void;
|
|
6
7
|
declare global {
|
|
7
8
|
interface HTMLElementTagNameMap {
|
|
8
9
|
'language-list-button': LanguageListButton;
|
|
9
10
|
'affine-code-toolbar': AffineCodeToolbar;
|
|
11
|
+
'affine-code-more-menu': AffineCodeMoreMenu;
|
|
10
12
|
'preview-button': PreviewButton;
|
|
11
13
|
[AFFINE_CODE_TOOLBAR_WIDGET]: AffineCodeToolbarWidget;
|
|
12
14
|
}
|
|
@@ -2,11 +2,13 @@ import { CodeBlockComponent } from './code-block.js';
|
|
|
2
2
|
import { AFFINE_CODE_TOOLBAR_WIDGET, AffineCodeToolbarWidget, } from './code-toolbar/index.js';
|
|
3
3
|
import { AffineCodeToolbar } from './code-toolbar/components/code-toolbar.js';
|
|
4
4
|
import { LanguageListButton } from './code-toolbar/components/lang-button.js';
|
|
5
|
+
import { AffineCodeMoreMenu } from './code-toolbar/components/more-menu.js';
|
|
5
6
|
import { PreviewButton } from './code-toolbar/components/preview-button.js';
|
|
6
7
|
import { AffineCodeUnit } from './highlight/affine-code-unit.js';
|
|
7
8
|
export function effects() {
|
|
8
9
|
customElements.define('language-list-button', LanguageListButton);
|
|
9
10
|
customElements.define('affine-code-toolbar', AffineCodeToolbar);
|
|
11
|
+
customElements.define('affine-code-more-menu', AffineCodeMoreMenu);
|
|
10
12
|
customElements.define(AFFINE_CODE_TOOLBAR_WIDGET, AffineCodeToolbarWidget);
|
|
11
13
|
customElements.define('affine-code-unit', AffineCodeUnit);
|
|
12
14
|
customElements.define('affine-code', CodeBlockComponent);
|
|
@@ -83,8 +83,13 @@ let AffineCodeUnit = (() => {
|
|
|
83
83
|
const tokens = codeBlock.highlightTokens$.value;
|
|
84
84
|
if (tokens.length === 0)
|
|
85
85
|
return plainContent;
|
|
86
|
+
// The highlighter runs asynchronously, so the token table can lag behind
|
|
87
|
+
// the lines being rendered: an out-of-range line has no tokens at all.
|
|
88
|
+
const line = tokens[vElement.lineIndex];
|
|
89
|
+
if (!line)
|
|
90
|
+
return plainContent;
|
|
86
91
|
// copy the tokens to avoid modifying the original tokens
|
|
87
|
-
const lineTokens = structuredClone(
|
|
92
|
+
const lineTokens = structuredClone(line);
|
|
88
93
|
if (lineTokens.length === 0)
|
|
89
94
|
return plainContent;
|
|
90
95
|
const startOffset = vElement.startOffset;
|
|
@@ -6,5 +6,6 @@ export * from './code-block-service.js';
|
|
|
6
6
|
export * from './code-preview-extension.js';
|
|
7
7
|
export * from './code-toolbar/index.js';
|
|
8
8
|
export * from './highlight/const.js';
|
|
9
|
+
export * from './line-numbers.js';
|
|
9
10
|
export * from './turbo/code-layout-handler.js';
|
|
10
11
|
export * from './turbo/code-painter.worker.js';
|
|
@@ -6,5 +6,6 @@ export * from './code-block-service.js';
|
|
|
6
6
|
export * from './code-preview-extension.js';
|
|
7
7
|
export * from './code-toolbar/index.js';
|
|
8
8
|
export * from './highlight/const.js';
|
|
9
|
+
export * from './line-numbers.js';
|
|
9
10
|
export * from './turbo/code-layout-handler.js';
|
|
10
11
|
export * from './turbo/code-painter.worker.js';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where the "show line numbers" answer comes from — upstream #15381.
|
|
3
|
+
*
|
|
4
|
+
* Three voices can speak: the embedder's feature flag (mobile switches line
|
|
5
|
+
* numbers off outright), the host's global preference, and the block's own
|
|
6
|
+
* override set from the code toolbar. The library owns none of the storage:
|
|
7
|
+
* the global preference is read from whatever `EditorSettingProvider` the host
|
|
8
|
+
* injects, the same seam as the telemetry adapter.
|
|
9
|
+
*/
|
|
10
|
+
/** Key the host uses in its editor-setting payload for this preference. */
|
|
11
|
+
export declare const CODE_BLOCK_LINE_NUMBERS_SETTING_KEY = "codeBlockLineNumbers";
|
|
12
|
+
/**
|
|
13
|
+
* The host's global preference, defaulting to "shown" when the host injects no
|
|
14
|
+
* setting service, or injects one that says nothing about code blocks.
|
|
15
|
+
*/
|
|
16
|
+
export declare function readGlobalLineNumbers(setting: unknown): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* The feature flag has the last word; otherwise the block's own override wins
|
|
19
|
+
* over the global default, and an untouched block follows the global default.
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveShowLineNumbers(options: {
|
|
22
|
+
featureEnabled: boolean;
|
|
23
|
+
blockOverride: boolean | undefined;
|
|
24
|
+
globalDefault: boolean;
|
|
25
|
+
}): boolean;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where the "show line numbers" answer comes from — upstream #15381.
|
|
3
|
+
*
|
|
4
|
+
* Three voices can speak: the embedder's feature flag (mobile switches line
|
|
5
|
+
* numbers off outright), the host's global preference, and the block's own
|
|
6
|
+
* override set from the code toolbar. The library owns none of the storage:
|
|
7
|
+
* the global preference is read from whatever `EditorSettingProvider` the host
|
|
8
|
+
* injects, the same seam as the telemetry adapter.
|
|
9
|
+
*/
|
|
10
|
+
/** Key the host uses in its editor-setting payload for this preference. */
|
|
11
|
+
export const CODE_BLOCK_LINE_NUMBERS_SETTING_KEY = 'codeBlockLineNumbers';
|
|
12
|
+
/**
|
|
13
|
+
* The host's global preference, defaulting to "shown" when the host injects no
|
|
14
|
+
* setting service, or injects one that says nothing about code blocks.
|
|
15
|
+
*/
|
|
16
|
+
export function readGlobalLineNumbers(setting) {
|
|
17
|
+
return (setting?.[CODE_BLOCK_LINE_NUMBERS_SETTING_KEY] !== false);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The feature flag has the last word; otherwise the block's own override wins
|
|
21
|
+
* over the global default, and an untouched block follows the global default.
|
|
22
|
+
*/
|
|
23
|
+
export function resolveShowLineNumbers(options) {
|
|
24
|
+
if (!options.featureEnabled)
|
|
25
|
+
return false;
|
|
26
|
+
return options.blockOverride ?? options.globalDefault;
|
|
27
|
+
}
|
|
@@ -69,4 +69,35 @@ export const codeBlockStyles = css `
|
|
|
69
69
|
affine-code .affine-code-block-preview {
|
|
70
70
|
padding: 12px;
|
|
71
71
|
}
|
|
72
|
+
|
|
73
|
+
/* ── Collapsed state ──────────────────────────────────────────────── */
|
|
74
|
+
|
|
75
|
+
/* Clamp the rich-text to the first 8 lines */
|
|
76
|
+
.affine-code-block-container.collapsed rich-text {
|
|
77
|
+
display: block;
|
|
78
|
+
max-height: calc(8 * var(--affine-line-height));
|
|
79
|
+
overflow: hidden;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* Reduce bottom padding so the fade sits flush with the border */
|
|
83
|
+
.affine-code-block-container.collapsed {
|
|
84
|
+
padding-bottom: 0;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/* Gradient overlay that fades to the block background */
|
|
88
|
+
.affine-code-block-container .code-collapsed-fade {
|
|
89
|
+
position: absolute;
|
|
90
|
+
bottom: 0;
|
|
91
|
+
left: 0;
|
|
92
|
+
right: 0;
|
|
93
|
+
height: 80px;
|
|
94
|
+
background: linear-gradient(
|
|
95
|
+
to bottom,
|
|
96
|
+
transparent,
|
|
97
|
+
var(--affine-background-code-block)
|
|
98
|
+
);
|
|
99
|
+
border-radius: 0 0 10px 10px;
|
|
100
|
+
pointer-events: none;
|
|
101
|
+
z-index: 1;
|
|
102
|
+
}
|
|
72
103
|
`;
|
|
@@ -135,6 +135,7 @@ export class DataViewBlockComponent extends CaptionedBlockComponent {
|
|
|
135
135
|
dataSource: this.dataSource,
|
|
136
136
|
headerWidget: this.headerWidget,
|
|
137
137
|
clipboard: this.std.clipboard,
|
|
138
|
+
dnd: this.std.dnd,
|
|
138
139
|
notification: {
|
|
139
140
|
toast: message => {
|
|
140
141
|
const notification = this.std.getOptional(NotificationProvider);
|
|
@@ -177,7 +177,10 @@ let DatabaseTitle = (() => {
|
|
|
177
177
|
get input() { return this.#input_accessor_storage; }
|
|
178
178
|
set input(value) { this.#input_accessor_storage = value; }
|
|
179
179
|
onPressEnterKey() {
|
|
180
|
-
|
|
180
|
+
// Enter commits the title and leaves the field. It used to prepend a row,
|
|
181
|
+
// which silently created an empty record every time the user validated a
|
|
182
|
+
// title they had just typed.
|
|
183
|
+
this.input.blur();
|
|
181
184
|
}
|
|
182
185
|
get readonly$() {
|
|
183
186
|
return this.dataViewLogic.view.readonly$;
|
|
@@ -3,7 +3,7 @@ import { TelemetryProvider } from '../../affine-shared/services/index.js';
|
|
|
3
3
|
import { isInsideBlockByFlavour } from '../../affine-shared/utils/index.js';
|
|
4
4
|
import {} from '../../affine-widget-slash-menu/index.js';
|
|
5
5
|
import { viewPresets } from '../../data-view/view-presets/index.js';
|
|
6
|
-
import { DatabaseKanbanViewIcon, DatabaseTableViewIcon, } from '@blocksuite/icons/lit';
|
|
6
|
+
import { DatabaseKanbanViewIcon, DatabaseTableViewIcon, TodayIcon, } from '@blocksuite/icons/lit';
|
|
7
7
|
import { insertDatabaseBlockCommand } from '../commands.js';
|
|
8
8
|
import { KanbanViewTooltip, TableViewTooltip } from './tooltips.js';
|
|
9
9
|
export const databaseSlashMenuConfig = {
|
|
@@ -40,6 +40,33 @@ export const databaseSlashMenuConfig = {
|
|
|
40
40
|
.run();
|
|
41
41
|
},
|
|
42
42
|
},
|
|
43
|
+
{
|
|
44
|
+
name: 'Calendar View',
|
|
45
|
+
description: 'Display items by date in a calendar.',
|
|
46
|
+
searchAlias: ['database', 'calendar'],
|
|
47
|
+
icon: TodayIcon(),
|
|
48
|
+
group: '7_Database@1',
|
|
49
|
+
when: ({ model }) => !isInsideBlockByFlavour(model.store, model, 'affine:edgeless-text'),
|
|
50
|
+
action: ({ std }) => {
|
|
51
|
+
std.command
|
|
52
|
+
.chain()
|
|
53
|
+
.pipe(getSelectedModelsCommand)
|
|
54
|
+
.pipe(insertDatabaseBlockCommand, {
|
|
55
|
+
viewType: viewPresets.calendarViewMeta.type,
|
|
56
|
+
place: 'after',
|
|
57
|
+
removeEmptyLine: true,
|
|
58
|
+
})
|
|
59
|
+
.pipe(({ insertedDatabaseBlockId }) => {
|
|
60
|
+
if (insertedDatabaseBlockId) {
|
|
61
|
+
const telemetry = std.getOptional(TelemetryProvider);
|
|
62
|
+
telemetry?.track('BlockCreated', {
|
|
63
|
+
blockType: 'affine:database',
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
})
|
|
67
|
+
.run();
|
|
68
|
+
},
|
|
69
|
+
},
|
|
43
70
|
{
|
|
44
71
|
name: 'Kanban View',
|
|
45
72
|
description: 'Visualize data in a dashboard.',
|
|
@@ -7,6 +7,7 @@ import { EDGELESS_TOP_CONTENTEDITABLE_SELECTOR } from '../affine-shared/consts/i
|
|
|
7
7
|
import { BlockCommentManager, CommentProviderIdentifier, DocModeProvider, NotificationProvider, TelemetryProvider, } from '../affine-shared/services/index.js';
|
|
8
8
|
import { getDropResult } from '../affine-widget-drag-handle/index.js';
|
|
9
9
|
import { createRecordDetail, createUniComponentFromWebComponent, DataViewRootUILogic, defineUniComponent, ExternalGroupByConfigProvider, renderUniLit, uniMap, } from '../data-view/index.js';
|
|
10
|
+
import { CalendarExternalSourceProvider } from '../data-view/view-presets/index.js';
|
|
10
11
|
import { widgetPresets } from '../data-view/widget-presets/index.js';
|
|
11
12
|
import { Rect } from '../global/gfx/index.js';
|
|
12
13
|
import { CommentIcon, CopyIcon, DeleteIcon, MoreHorizontalIcon, } from '@blocksuite/icons/lit';
|
|
@@ -194,6 +195,12 @@ export class DatabaseBlockComponent extends CaptionedBlockComponent {
|
|
|
194
195
|
widgetPresets.tools.viewOptions,
|
|
195
196
|
widgetPresets.tools.tableAddRow,
|
|
196
197
|
],
|
|
198
|
+
calendar: [
|
|
199
|
+
widgetPresets.tools.filter,
|
|
200
|
+
widgetPresets.tools.search,
|
|
201
|
+
widgetPresets.tools.viewOptions,
|
|
202
|
+
widgetPresets.tools.tableAddRow,
|
|
203
|
+
],
|
|
197
204
|
});
|
|
198
205
|
this.viewSelection$ = computed(() => {
|
|
199
206
|
const databaseSelection = this.selection.value.find((selection) => {
|
|
@@ -215,6 +222,11 @@ export class DatabaseBlockComponent extends CaptionedBlockComponent {
|
|
|
215
222
|
.forEach(config => {
|
|
216
223
|
dataSource.serviceSet(ExternalGroupByConfigProvider(config.name), config);
|
|
217
224
|
});
|
|
225
|
+
this.std.provider
|
|
226
|
+
.getAll(CalendarExternalSourceProvider)
|
|
227
|
+
.forEach(source => {
|
|
228
|
+
dataSource.serviceSet(CalendarExternalSourceProvider(source.id), source);
|
|
229
|
+
});
|
|
218
230
|
};
|
|
219
231
|
const provider = this.std.getOptional(DatabaseDataSourceProvider);
|
|
220
232
|
const dataSource = provider && this.model.props.externalSourceId
|
|
@@ -327,6 +339,7 @@ export class DatabaseBlockComponent extends CaptionedBlockComponent {
|
|
|
327
339
|
headerWidget: this.headerWidget,
|
|
328
340
|
onDrag: this.onDrag,
|
|
329
341
|
clipboard: this.std.clipboard,
|
|
342
|
+
dnd: this.std.dnd,
|
|
330
343
|
notification: {
|
|
331
344
|
toast: message => {
|
|
332
345
|
const notification = this.std.getOptional(NotificationProvider);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { AffineInlineEditor } from '../../affine-shared/types/index.js';
|
|
2
|
+
import type { InlineRange } from '../../std/inline/index.js';
|
|
3
|
+
type UrlPasteInlineEditor = Pick<AffineInlineEditor, 'insertText' | 'setInlineRange'>;
|
|
4
|
+
export type UrlTextSegment = {
|
|
5
|
+
text: string;
|
|
6
|
+
link?: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Split pasted plain text into mixed segments, where only the URL segments
|
|
10
|
+
* carry link metadata. Text like `see https://example.com, then stop` keeps its
|
|
11
|
+
* prose as prose and linkifies only the address, punctuation excluded.
|
|
12
|
+
*/
|
|
13
|
+
export declare function splitTextByUrl(text: string, baseUrl?: string): UrlTextSegment[];
|
|
14
|
+
/**
|
|
15
|
+
* Describe a paste for the database cells: the segments to insert, plus the
|
|
16
|
+
* single URL the whole paste amounts to (if any), which is the only case where
|
|
17
|
+
* a doc link may be resolved instead.
|
|
18
|
+
*/
|
|
19
|
+
export declare function analyzeTextForUrlPaste(text: string): {
|
|
20
|
+
segments: UrlTextSegment[];
|
|
21
|
+
singleUrl: string | undefined;
|
|
22
|
+
};
|
|
23
|
+
export declare function insertUrlTextSegments(inlineEditor: UrlPasteInlineEditor, inlineRange: InlineRange, segments: UrlTextSegment[]): void;
|
|
24
|
+
export {};
|