@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
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { InsertToPosition } from '../../../affine-shared/utils/index.js';
|
|
2
|
+
import { type ReadonlySignal } from '@preact/signals-core';
|
|
3
|
+
import { FilterTrait } from '../../core/filter/trait.js';
|
|
4
|
+
import { PropertyBase } from '../../core/view-manager/property.js';
|
|
5
|
+
import { type Row, RowBase } from '../../core/view-manager/row.js';
|
|
6
|
+
import { SingleViewBase } from '../../core/view-manager/single-view.js';
|
|
7
|
+
import type { ViewManager } from '../../core/view-manager/view-manager.js';
|
|
8
|
+
import type { CalendarEntry, CalendarEntryRange, CalendarExternalEntry, CalendarExternalSource, CalendarRowEntry, CalendarStoredViewData } from './types.js';
|
|
9
|
+
export type CalendarDateMapping = {
|
|
10
|
+
status: 'ready';
|
|
11
|
+
propertyId: string;
|
|
12
|
+
} | {
|
|
13
|
+
status: 'setup';
|
|
14
|
+
propertyId?: string;
|
|
15
|
+
};
|
|
16
|
+
export declare class CalendarSingleView extends SingleViewBase<CalendarStoredViewData> {
|
|
17
|
+
private readonly externalEntries$;
|
|
18
|
+
private externalEntriesRequestId;
|
|
19
|
+
propertiesRaw$: ReadonlySignal<CalendarProperty[]>;
|
|
20
|
+
properties$: ReadonlySignal<CalendarProperty[]>;
|
|
21
|
+
detailProperties$: ReadonlySignal<CalendarProperty[]>;
|
|
22
|
+
private readonly filter$;
|
|
23
|
+
private readonly sortList$;
|
|
24
|
+
emptyMonthHintDismissed$: ReadonlySignal<boolean>;
|
|
25
|
+
private readonly sortManager;
|
|
26
|
+
filterTrait: FilterTrait;
|
|
27
|
+
mainProperties$: ReadonlySignal<{
|
|
28
|
+
titleColumn: string | undefined;
|
|
29
|
+
}>;
|
|
30
|
+
readonly$: ReadonlySignal<boolean>;
|
|
31
|
+
dateProperties$: ReadonlySignal<CalendarProperty[]>;
|
|
32
|
+
dateMapping$: ReadonlySignal<CalendarDateMapping>;
|
|
33
|
+
startDateMapping$: ReadonlySignal<CalendarDateMapping>;
|
|
34
|
+
endDateMapping$: ReadonlySignal<CalendarDateMapping>;
|
|
35
|
+
private readonly visibleCardProperties$;
|
|
36
|
+
rowEntries$: ReadonlySignal<CalendarRowEntry[]>;
|
|
37
|
+
entries$: ReadonlySignal<CalendarEntry[]>;
|
|
38
|
+
externalSources$: ReadonlySignal<CalendarExternalSource[]>;
|
|
39
|
+
get type(): string;
|
|
40
|
+
constructor(viewManager: ViewManager, viewId: string);
|
|
41
|
+
isShow(rowId: string): boolean;
|
|
42
|
+
rowsMapping(rows: Row[]): Row[];
|
|
43
|
+
propertyGetOrCreate(propertyId: string): CalendarProperty;
|
|
44
|
+
rowGetOrCreate(rowId: string): CalendarRow;
|
|
45
|
+
setStartDateColumn(propertyId: string): void;
|
|
46
|
+
setDateColumn(propertyId: string): void;
|
|
47
|
+
setEndDateColumn(propertyId: string | undefined): void;
|
|
48
|
+
setWorkspaceCalendarEnabled(enabled: boolean): void;
|
|
49
|
+
setWorkspaceCalendarSubscriptionIds(subscriptionIds?: string[]): void;
|
|
50
|
+
dismissEmptyMonthHint(): void;
|
|
51
|
+
getDocDisplayTitle(docId: string): string;
|
|
52
|
+
createStartDateColumn(): string | undefined;
|
|
53
|
+
createDateColumn(): string | undefined;
|
|
54
|
+
createEndDateColumn(): string | undefined;
|
|
55
|
+
createRowOnDate(date: number | Date): string | undefined;
|
|
56
|
+
createLinkedDocRowOnDate(date: number | Date, docId: string): string | undefined;
|
|
57
|
+
moveRowToDate(rowId: string, date: number | Date): void;
|
|
58
|
+
resizeRowRange(rowId: string, edge: 'start' | 'end', date: number | Date): void;
|
|
59
|
+
loadExternalEntries(range: CalendarEntryRange): Promise<CalendarExternalEntry[]>;
|
|
60
|
+
}
|
|
61
|
+
export declare class CalendarProperty extends PropertyBase {
|
|
62
|
+
hide$: ReadonlySignal<boolean>;
|
|
63
|
+
constructor(view: CalendarSingleView, propertyId: string);
|
|
64
|
+
hideSet(_hide: boolean): void;
|
|
65
|
+
move(_position: InsertToPosition): void;
|
|
66
|
+
}
|
|
67
|
+
export declare class CalendarRow extends RowBase {
|
|
68
|
+
readonly calendarView: CalendarSingleView;
|
|
69
|
+
constructor(calendarView: CalendarSingleView, rowId: string);
|
|
70
|
+
}
|
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
import { DocDisplayMetaProvider } from '../../../affine-shared/services/index.js';
|
|
2
|
+
import { Text } from '../../../store/index.js';
|
|
3
|
+
import { computed, signal } from '@preact/signals-core';
|
|
4
|
+
import { Doc } from 'yjs';
|
|
5
|
+
import { evalFilter } from '../../core/filter/eval.js';
|
|
6
|
+
import { generateDefaultValues } from '../../core/filter/generate-default-values.js';
|
|
7
|
+
import { FilterTrait, filterTraitKey } from '../../core/filter/trait.js';
|
|
8
|
+
import { emptyFilterGroup } from '../../core/filter/utils.js';
|
|
9
|
+
import { fromJson } from '../../core/property/utils.js';
|
|
10
|
+
import { SortManager, sortTraitKey } from '../../core/sort/manager.js';
|
|
11
|
+
import { PropertyBase } from '../../core/view-manager/property.js';
|
|
12
|
+
import { RowBase } from '../../core/view-manager/row.js';
|
|
13
|
+
import { SingleViewBase, } from '../../core/view-manager/single-view.js';
|
|
14
|
+
import { getCalendarExternalSources } from './source.js';
|
|
15
|
+
const getStartColumnId = (data) => data?.date?.startColumnId;
|
|
16
|
+
const getEndColumnId = (data) => {
|
|
17
|
+
return data?.date?.endColumnId;
|
|
18
|
+
};
|
|
19
|
+
const getDateData = (data) => ({
|
|
20
|
+
...data.date,
|
|
21
|
+
startColumnId: getStartColumnId(data),
|
|
22
|
+
});
|
|
23
|
+
const getCardData = (data) => {
|
|
24
|
+
if (data) {
|
|
25
|
+
return data.card;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
visiblePropertyIds: [],
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
const toTimestamp = (date) => date instanceof Date ? date.getTime() : date;
|
|
32
|
+
const isValidTimestamp = (value) => typeof value === 'number' && Number.isFinite(value);
|
|
33
|
+
const createLinkedDocTitle = (docId) => {
|
|
34
|
+
const text = new Text();
|
|
35
|
+
new Doc().getMap('root').set('text', text.yText);
|
|
36
|
+
text.applyDelta([
|
|
37
|
+
{
|
|
38
|
+
insert: ' ',
|
|
39
|
+
attributes: { reference: { type: 'LinkedPage', pageId: docId } },
|
|
40
|
+
},
|
|
41
|
+
]);
|
|
42
|
+
return text;
|
|
43
|
+
};
|
|
44
|
+
const getTitleDeltas = (value) => typeof value === 'object' && value != null && 'deltas$' in value
|
|
45
|
+
? value.deltas$?.value
|
|
46
|
+
: undefined;
|
|
47
|
+
const getTitleSegments = (value, title, getLinkedDocTitle) => {
|
|
48
|
+
const deltas = getTitleDeltas(value);
|
|
49
|
+
if (!Array.isArray(deltas)) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const segments = deltas.flatMap(delta => {
|
|
53
|
+
const item = delta;
|
|
54
|
+
const linkedDoc = item.attributes?.reference?.type === 'LinkedPage' &&
|
|
55
|
+
typeof item.attributes.reference.pageId === 'string';
|
|
56
|
+
const referenceTitle = item.attributes?.reference?.title;
|
|
57
|
+
const resolvedLinkedDocTitle = linkedDoc && typeof item.attributes?.reference?.pageId === 'string'
|
|
58
|
+
? getLinkedDocTitle?.(item.attributes.reference.pageId, typeof referenceTitle === 'string' ? referenceTitle : undefined)
|
|
59
|
+
: undefined;
|
|
60
|
+
const text = resolvedLinkedDocTitle ||
|
|
61
|
+
(linkedDoc && typeof referenceTitle === 'string' && referenceTitle
|
|
62
|
+
? referenceTitle
|
|
63
|
+
: typeof item.insert === 'string'
|
|
64
|
+
? item.insert.trim()
|
|
65
|
+
: '');
|
|
66
|
+
if (linkedDoc) {
|
|
67
|
+
return {
|
|
68
|
+
text,
|
|
69
|
+
linkedDoc,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
if (!text) {
|
|
73
|
+
return [];
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
text,
|
|
77
|
+
};
|
|
78
|
+
});
|
|
79
|
+
const normalizedSegments = segments.reduce((result, segment) => {
|
|
80
|
+
const previous = result.at(-1);
|
|
81
|
+
if (previous?.linkedDoc &&
|
|
82
|
+
!previous.text &&
|
|
83
|
+
!segment.linkedDoc &&
|
|
84
|
+
segment.text) {
|
|
85
|
+
previous.text = segment.text;
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
88
|
+
result.push(segment);
|
|
89
|
+
return result;
|
|
90
|
+
}, []);
|
|
91
|
+
if (!normalizedSegments.some(segment => segment.linkedDoc)) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (!normalizedSegments.some(segment => segment.text)) {
|
|
95
|
+
return title
|
|
96
|
+
? [...normalizedSegments, { text: title }]
|
|
97
|
+
: normalizedSegments;
|
|
98
|
+
}
|
|
99
|
+
return normalizedSegments;
|
|
100
|
+
};
|
|
101
|
+
export class CalendarSingleView extends SingleViewBase {
|
|
102
|
+
get type() {
|
|
103
|
+
return this.data$.value?.mode ?? 'calendar';
|
|
104
|
+
}
|
|
105
|
+
constructor(viewManager, viewId) {
|
|
106
|
+
super(viewManager, viewId);
|
|
107
|
+
this.externalEntries$ = signal([]);
|
|
108
|
+
this.externalEntriesRequestId = 0;
|
|
109
|
+
this.propertiesRaw$ = computed(() => {
|
|
110
|
+
return this.dataSource.properties$.value.map(id => this.propertyGetOrCreate(id));
|
|
111
|
+
});
|
|
112
|
+
this.properties$ = this.propertiesRaw$;
|
|
113
|
+
this.detailProperties$ = computed(() => {
|
|
114
|
+
return this.propertiesRaw$.value.filter(property => property.type$.value !== 'title');
|
|
115
|
+
});
|
|
116
|
+
this.filter$ = computed(() => {
|
|
117
|
+
return this.data$.value?.filter ?? emptyFilterGroup;
|
|
118
|
+
});
|
|
119
|
+
this.sortList$ = computed(() => {
|
|
120
|
+
return this.data$.value?.sort;
|
|
121
|
+
});
|
|
122
|
+
this.emptyMonthHintDismissed$ = computed(() => {
|
|
123
|
+
return this.data$.value?.ui?.emptyMonthHintDismissed ?? false;
|
|
124
|
+
});
|
|
125
|
+
this.sortManager = this.traitSet(sortTraitKey, new SortManager(this.sortList$, this, {
|
|
126
|
+
setSortList: sortList => {
|
|
127
|
+
this.dataUpdate(data => ({
|
|
128
|
+
sort: {
|
|
129
|
+
...data.sort,
|
|
130
|
+
...sortList,
|
|
131
|
+
},
|
|
132
|
+
}));
|
|
133
|
+
},
|
|
134
|
+
}));
|
|
135
|
+
this.filterTrait = this.traitSet(filterTraitKey, new FilterTrait(this.filter$, this, {
|
|
136
|
+
filterSet: (filter) => {
|
|
137
|
+
this.dataUpdate(() => ({ filter }));
|
|
138
|
+
},
|
|
139
|
+
}));
|
|
140
|
+
this.mainProperties$ = computed(() => {
|
|
141
|
+
const card = getCardData(this.data$.value);
|
|
142
|
+
return {
|
|
143
|
+
titleColumn: card.titleColumnId ??
|
|
144
|
+
this.propertiesRaw$.value.find(property => property.type$.value === 'title')?.id,
|
|
145
|
+
};
|
|
146
|
+
});
|
|
147
|
+
this.readonly$ = computed(() => {
|
|
148
|
+
return this.manager.readonly$.value;
|
|
149
|
+
});
|
|
150
|
+
this.dateProperties$ = computed(() => {
|
|
151
|
+
return this.propertiesRaw$.value.filter(property => property.type$.value === 'date');
|
|
152
|
+
});
|
|
153
|
+
this.dateMapping$ = computed(() => {
|
|
154
|
+
const propertyId = getStartColumnId(this.data$.value);
|
|
155
|
+
if (propertyId &&
|
|
156
|
+
this.dataSource.properties$.value.includes(propertyId) &&
|
|
157
|
+
this.dataSource.propertyTypeGet(propertyId) === 'date') {
|
|
158
|
+
return {
|
|
159
|
+
status: 'ready',
|
|
160
|
+
propertyId,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
return {
|
|
164
|
+
status: 'setup',
|
|
165
|
+
propertyId,
|
|
166
|
+
};
|
|
167
|
+
});
|
|
168
|
+
this.startDateMapping$ = this.dateMapping$;
|
|
169
|
+
this.endDateMapping$ = computed(() => {
|
|
170
|
+
const propertyId = getEndColumnId(this.data$.value);
|
|
171
|
+
if (propertyId &&
|
|
172
|
+
this.dataSource.properties$.value.includes(propertyId) &&
|
|
173
|
+
this.dataSource.propertyTypeGet(propertyId) === 'date') {
|
|
174
|
+
return {
|
|
175
|
+
status: 'ready',
|
|
176
|
+
propertyId,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
status: 'setup',
|
|
181
|
+
propertyId,
|
|
182
|
+
};
|
|
183
|
+
});
|
|
184
|
+
this.visibleCardProperties$ = computed(() => {
|
|
185
|
+
const card = getCardData(this.data$.value);
|
|
186
|
+
const visiblePropertyIds = card.visiblePropertyIds ?? [];
|
|
187
|
+
const titleColumn = card.titleColumnId;
|
|
188
|
+
return visiblePropertyIds
|
|
189
|
+
.filter(propertyId => propertyId !== titleColumn)
|
|
190
|
+
.map(propertyId => this.propertyGetOrCreate(propertyId));
|
|
191
|
+
});
|
|
192
|
+
this.rowEntries$ = computed(() => {
|
|
193
|
+
const mapping = this.dateMapping$.value;
|
|
194
|
+
if (mapping.status !== 'ready') {
|
|
195
|
+
return [];
|
|
196
|
+
}
|
|
197
|
+
const endMapping = this.endDateMapping$.value;
|
|
198
|
+
return this.rows$.value.flatMap(row => {
|
|
199
|
+
const startAt = this.cellGetOrCreate(row.rowId, mapping.propertyId)
|
|
200
|
+
.jsonValue$.value;
|
|
201
|
+
if (!isValidTimestamp(startAt)) {
|
|
202
|
+
return [];
|
|
203
|
+
}
|
|
204
|
+
const endAt = endMapping.status === 'ready'
|
|
205
|
+
? this.cellGetOrCreate(row.rowId, endMapping.propertyId).jsonValue$
|
|
206
|
+
.value
|
|
207
|
+
: undefined;
|
|
208
|
+
const titleColumn = this.mainProperties$.value.titleColumn ?? 'title';
|
|
209
|
+
const titleCell = this.cellGetOrCreate(row.rowId, titleColumn);
|
|
210
|
+
const jsonTitle = titleCell.jsonValue$.value;
|
|
211
|
+
const title = (typeof jsonTitle === 'string'
|
|
212
|
+
? jsonTitle
|
|
213
|
+
: titleCell.stringValue$.value) ?? '';
|
|
214
|
+
const docDisplayMeta = this.manager.dataSource.serviceGet(DocDisplayMetaProvider);
|
|
215
|
+
const resolveLinkedDocTitle = (pageId, title) => docDisplayMeta?.title(pageId, { title }).value;
|
|
216
|
+
const titleSegments = getTitleSegments(titleCell.value$.value, title, resolveLinkedDocTitle);
|
|
217
|
+
const cardProperties = this.visibleCardProperties$.value.flatMap(property => {
|
|
218
|
+
const cell = this.cellGetOrCreate(row.rowId, property.id);
|
|
219
|
+
const value = cell.stringValue$.value;
|
|
220
|
+
if (!value) {
|
|
221
|
+
return [];
|
|
222
|
+
}
|
|
223
|
+
return {
|
|
224
|
+
propertyId: property.id,
|
|
225
|
+
value,
|
|
226
|
+
};
|
|
227
|
+
});
|
|
228
|
+
return {
|
|
229
|
+
kind: 'row',
|
|
230
|
+
id: `database:${row.rowId}`,
|
|
231
|
+
sourceId: 'database',
|
|
232
|
+
rowId: row.rowId,
|
|
233
|
+
title,
|
|
234
|
+
startAt,
|
|
235
|
+
endAt: isValidTimestamp(endAt) && endAt >= startAt ? endAt : undefined,
|
|
236
|
+
titleSegments,
|
|
237
|
+
cardProperties,
|
|
238
|
+
canResizeRange: endMapping.status === 'ready' && !this.readonly$.value,
|
|
239
|
+
};
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
this.entries$ = computed(() => {
|
|
243
|
+
return [...this.rowEntries$.value, ...this.externalEntries$.value];
|
|
244
|
+
});
|
|
245
|
+
this.externalSources$ = computed(() => {
|
|
246
|
+
const viewData = this.data$.value;
|
|
247
|
+
if (!viewData) {
|
|
248
|
+
return [];
|
|
249
|
+
}
|
|
250
|
+
return getCalendarExternalSources(this.dataSource, viewData);
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
isShow(rowId) {
|
|
254
|
+
if (this.filter$.value.conditions.length) {
|
|
255
|
+
const rowMap = Object.fromEntries(this.propertiesRaw$.value.map(column => [
|
|
256
|
+
column.id,
|
|
257
|
+
column.cellGetOrCreate(rowId).jsonValue$.value,
|
|
258
|
+
]));
|
|
259
|
+
return evalFilter(this.filter$.value, rowMap);
|
|
260
|
+
}
|
|
261
|
+
return true;
|
|
262
|
+
}
|
|
263
|
+
rowsMapping(rows) {
|
|
264
|
+
return this.sortManager.sort(super.rowsMapping(rows));
|
|
265
|
+
}
|
|
266
|
+
propertyGetOrCreate(propertyId) {
|
|
267
|
+
return new CalendarProperty(this, propertyId);
|
|
268
|
+
}
|
|
269
|
+
rowGetOrCreate(rowId) {
|
|
270
|
+
return new CalendarRow(this, rowId);
|
|
271
|
+
}
|
|
272
|
+
setStartDateColumn(propertyId) {
|
|
273
|
+
this.dataUpdate(data => ({
|
|
274
|
+
date: {
|
|
275
|
+
...getDateData(data),
|
|
276
|
+
startColumnId: propertyId,
|
|
277
|
+
},
|
|
278
|
+
}));
|
|
279
|
+
}
|
|
280
|
+
setDateColumn(propertyId) {
|
|
281
|
+
this.setStartDateColumn(propertyId);
|
|
282
|
+
}
|
|
283
|
+
setEndDateColumn(propertyId) {
|
|
284
|
+
this.dataUpdate(data => ({
|
|
285
|
+
date: {
|
|
286
|
+
...getDateData(data),
|
|
287
|
+
endColumnId: propertyId,
|
|
288
|
+
},
|
|
289
|
+
}));
|
|
290
|
+
}
|
|
291
|
+
setWorkspaceCalendarEnabled(enabled) {
|
|
292
|
+
this.dataUpdate(data => ({
|
|
293
|
+
sources: {
|
|
294
|
+
...data.sources,
|
|
295
|
+
workspaceCalendar: {
|
|
296
|
+
...(data.sources?.workspaceCalendar ?? { enabled: true }),
|
|
297
|
+
enabled,
|
|
298
|
+
},
|
|
299
|
+
},
|
|
300
|
+
}));
|
|
301
|
+
}
|
|
302
|
+
setWorkspaceCalendarSubscriptionIds(subscriptionIds) {
|
|
303
|
+
this.dataUpdate(data => ({
|
|
304
|
+
sources: {
|
|
305
|
+
...data.sources,
|
|
306
|
+
workspaceCalendar: {
|
|
307
|
+
...(data.sources?.workspaceCalendar ?? { enabled: true }),
|
|
308
|
+
subscriptionIds,
|
|
309
|
+
},
|
|
310
|
+
},
|
|
311
|
+
}));
|
|
312
|
+
}
|
|
313
|
+
dismissEmptyMonthHint() {
|
|
314
|
+
this.dataUpdate(data => ({
|
|
315
|
+
ui: {
|
|
316
|
+
...data.ui,
|
|
317
|
+
emptyMonthHintDismissed: true,
|
|
318
|
+
},
|
|
319
|
+
}));
|
|
320
|
+
}
|
|
321
|
+
getDocDisplayTitle(docId) {
|
|
322
|
+
return (this.manager.dataSource.serviceGet(DocDisplayMetaProvider)?.title(docId)
|
|
323
|
+
.value ?? 'Untitled');
|
|
324
|
+
}
|
|
325
|
+
createStartDateColumn() {
|
|
326
|
+
const id = this.propertyAdd('end', {
|
|
327
|
+
type: 'date',
|
|
328
|
+
name: 'Date',
|
|
329
|
+
});
|
|
330
|
+
if (id) {
|
|
331
|
+
this.setStartDateColumn(id);
|
|
332
|
+
}
|
|
333
|
+
return id;
|
|
334
|
+
}
|
|
335
|
+
createDateColumn() {
|
|
336
|
+
return this.createStartDateColumn();
|
|
337
|
+
}
|
|
338
|
+
createEndDateColumn() {
|
|
339
|
+
const id = this.propertyAdd('end', {
|
|
340
|
+
type: 'date',
|
|
341
|
+
name: 'End Date',
|
|
342
|
+
});
|
|
343
|
+
if (id) {
|
|
344
|
+
this.setEndDateColumn(id);
|
|
345
|
+
}
|
|
346
|
+
return id;
|
|
347
|
+
}
|
|
348
|
+
createRowOnDate(date) {
|
|
349
|
+
const mapping = this.startDateMapping$.value;
|
|
350
|
+
if (mapping.status !== 'ready') {
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
const rowId = this.rowAdd('end');
|
|
354
|
+
const filter = this.filter$.value;
|
|
355
|
+
if (filter.conditions.length > 0) {
|
|
356
|
+
const defaultValues = generateDefaultValues(filter, this.vars$.value);
|
|
357
|
+
Object.entries(defaultValues).forEach(([propertyId, jsonValue]) => {
|
|
358
|
+
const property = this.propertyGetOrCreate(propertyId);
|
|
359
|
+
const propertyMeta = property.meta$.value;
|
|
360
|
+
if (propertyMeta) {
|
|
361
|
+
const value = fromJson(propertyMeta.config, {
|
|
362
|
+
value: jsonValue,
|
|
363
|
+
data: property.data$.value,
|
|
364
|
+
dataSource: this.dataSource,
|
|
365
|
+
});
|
|
366
|
+
this.cellGetOrCreate(rowId, propertyId).valueSet(value);
|
|
367
|
+
}
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
this.cellGetOrCreate(rowId, mapping.propertyId).jsonValueSet(toTimestamp(date));
|
|
371
|
+
this.dismissEmptyMonthHint();
|
|
372
|
+
return rowId;
|
|
373
|
+
}
|
|
374
|
+
createLinkedDocRowOnDate(date, docId) {
|
|
375
|
+
const rowId = this.createRowOnDate(date);
|
|
376
|
+
if (!rowId)
|
|
377
|
+
return;
|
|
378
|
+
const titleColumn = this.mainProperties$.value.titleColumn ?? 'title';
|
|
379
|
+
this.cellGetOrCreate(rowId, titleColumn).valueSet(createLinkedDocTitle(docId));
|
|
380
|
+
return rowId;
|
|
381
|
+
}
|
|
382
|
+
moveRowToDate(rowId, date) {
|
|
383
|
+
const mapping = this.startDateMapping$.value;
|
|
384
|
+
if (mapping.status !== 'ready') {
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
387
|
+
const value = toTimestamp(date);
|
|
388
|
+
const oldStartAt = this.cellGetOrCreate(rowId, mapping.propertyId)
|
|
389
|
+
.jsonValue$.value;
|
|
390
|
+
const endMapping = this.endDateMapping$.value;
|
|
391
|
+
if (endMapping.status === 'ready' && isValidTimestamp(oldStartAt)) {
|
|
392
|
+
const oldEndAt = this.cellGetOrCreate(rowId, endMapping.propertyId)
|
|
393
|
+
.jsonValue$.value;
|
|
394
|
+
if (isValidTimestamp(oldEndAt) && oldEndAt >= oldStartAt) {
|
|
395
|
+
this.cellGetOrCreate(rowId, endMapping.propertyId).jsonValueSet(value + (oldEndAt - oldStartAt));
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
this.cellGetOrCreate(rowId, mapping.propertyId).jsonValueSet(value);
|
|
399
|
+
}
|
|
400
|
+
resizeRowRange(rowId, edge, date) {
|
|
401
|
+
const startMapping = this.startDateMapping$.value;
|
|
402
|
+
const endMapping = this.endDateMapping$.value;
|
|
403
|
+
if (startMapping.status !== 'ready' || endMapping.status !== 'ready') {
|
|
404
|
+
return;
|
|
405
|
+
}
|
|
406
|
+
const startCell = this.cellGetOrCreate(rowId, startMapping.propertyId);
|
|
407
|
+
const endCell = this.cellGetOrCreate(rowId, endMapping.propertyId);
|
|
408
|
+
const startAt = startCell.jsonValue$.value;
|
|
409
|
+
const endAt = endCell.jsonValue$.value;
|
|
410
|
+
if (!isValidTimestamp(startAt) || !isValidTimestamp(endAt)) {
|
|
411
|
+
return;
|
|
412
|
+
}
|
|
413
|
+
const value = toTimestamp(date);
|
|
414
|
+
if (edge === 'start') {
|
|
415
|
+
startCell.jsonValueSet(Math.min(value, endAt));
|
|
416
|
+
}
|
|
417
|
+
else {
|
|
418
|
+
endCell.jsonValueSet(Math.max(value, startAt));
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
async loadExternalEntries(range) {
|
|
422
|
+
const requestId = ++this.externalEntriesRequestId;
|
|
423
|
+
const viewData = this.data$.value;
|
|
424
|
+
if (!viewData) {
|
|
425
|
+
this.externalEntries$.value = [];
|
|
426
|
+
return [];
|
|
427
|
+
}
|
|
428
|
+
const results = await Promise.allSettled(this.externalSources$.value.map(source => Promise.resolve(source.getEntries(range))));
|
|
429
|
+
const entries = results.flatMap(result => result.status === 'fulfilled' ? result.value : []);
|
|
430
|
+
if (requestId === this.externalEntriesRequestId) {
|
|
431
|
+
this.externalEntries$.value = entries;
|
|
432
|
+
}
|
|
433
|
+
return entries;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
export class CalendarProperty extends PropertyBase {
|
|
437
|
+
constructor(view, propertyId) {
|
|
438
|
+
super(view, propertyId);
|
|
439
|
+
this.hide$ = computed(() => false);
|
|
440
|
+
}
|
|
441
|
+
hideSet(_hide) { }
|
|
442
|
+
move(_position) { }
|
|
443
|
+
}
|
|
444
|
+
export class CalendarRow extends RowBase {
|
|
445
|
+
constructor(calendarView, rowId) {
|
|
446
|
+
super(calendarView, rowId);
|
|
447
|
+
this.calendarView = calendarView;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CalendarViewData } from './types.js';
|
|
2
|
+
export declare const calendarViewType: {
|
|
3
|
+
type: "calendar";
|
|
4
|
+
createModel: <Data extends import("../../index.js").DataViewDataType>(model: import("../../index.js").DataViewModelConfig<Data>) => import("../../index.js").DataViewModel<"calendar", Data> & {
|
|
5
|
+
createMeta: (renderer: import("../../index.js").DataViewRendererConfig) => import("../../index.js").ViewMeta<"calendar", Data>;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export declare const calendarViewModel: import("../../index.js").DataViewModel<"calendar", CalendarViewData> & {
|
|
9
|
+
createMeta: (renderer: import("../../index.js").DataViewRendererConfig) => import("../../index.js").ViewMeta<"calendar", CalendarViewData>;
|
|
10
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { viewType } from '../../core/view/data-view.js';
|
|
2
|
+
import { CalendarSingleView } from './calendar-view-manager.js';
|
|
3
|
+
export const calendarViewType = viewType('calendar');
|
|
4
|
+
export const calendarViewModel = calendarViewType.createModel({
|
|
5
|
+
defaultName: 'Calendar View',
|
|
6
|
+
dataViewManager: CalendarSingleView,
|
|
7
|
+
defaultData: viewManager => {
|
|
8
|
+
return {
|
|
9
|
+
filter: {
|
|
10
|
+
type: 'group',
|
|
11
|
+
op: 'and',
|
|
12
|
+
conditions: [],
|
|
13
|
+
},
|
|
14
|
+
date: {},
|
|
15
|
+
card: {
|
|
16
|
+
titleColumnId: viewManager.dataSource.properties$.value.find(id => viewManager.dataSource.propertyTypeGet(id) === 'title'),
|
|
17
|
+
visiblePropertyIds: [],
|
|
18
|
+
},
|
|
19
|
+
sources: {
|
|
20
|
+
workspaceCalendar: {
|
|
21
|
+
enabled: true,
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
ui: {},
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function calendarEffects(): void;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { CalendarEntry } from './types.js';
|
|
2
|
+
export type CalendarDayLayout = {
|
|
3
|
+
date: number;
|
|
4
|
+
inMonth: boolean;
|
|
5
|
+
entries: CalendarEntry[];
|
|
6
|
+
segments: CalendarRangeSegment[];
|
|
7
|
+
};
|
|
8
|
+
export type CalendarRangeSegment = {
|
|
9
|
+
entry: CalendarEntry;
|
|
10
|
+
weekIndex: number;
|
|
11
|
+
startIndex: number;
|
|
12
|
+
span: number;
|
|
13
|
+
slot: number;
|
|
14
|
+
startsBeforeWeek: boolean;
|
|
15
|
+
endsAfterWeek: boolean;
|
|
16
|
+
};
|
|
17
|
+
export type CalendarMonthLayout = {
|
|
18
|
+
from: number;
|
|
19
|
+
to: number;
|
|
20
|
+
weeks: CalendarDayLayout[][];
|
|
21
|
+
days: CalendarDayLayout[];
|
|
22
|
+
segments: CalendarRangeSegment[];
|
|
23
|
+
};
|
|
24
|
+
export type CalendarMonthLayoutOptions = {
|
|
25
|
+
month: number | Date;
|
|
26
|
+
entries: CalendarEntry[];
|
|
27
|
+
weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
28
|
+
};
|
|
29
|
+
export declare const getCalendarVisibleMonthRange: (month: number | Date, weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6) => {
|
|
30
|
+
from: number;
|
|
31
|
+
to: number;
|
|
32
|
+
monthStart: number;
|
|
33
|
+
monthEnd: number;
|
|
34
|
+
};
|
|
35
|
+
export declare const getCalendarDaySegmentSlots: (day: CalendarDayLayout, ignoredEntryId?: string) => number;
|
|
36
|
+
export declare const getCalendarDayContentSlots: (day: CalendarDayLayout, ignoredEntryId?: string) => number;
|
|
37
|
+
export declare const createCalendarMonthLayout: ({ month, entries, weekStartsOn, }: CalendarMonthLayoutOptions) => CalendarMonthLayout;
|