@ecsplico/editor 0.0.0-stage → 1.0.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/LICENSE +21 -0
- package/README.md +233 -2
- package/dist/code/CodeSurface.d.ts +24 -0
- package/dist/code/CodeSurface.js +57 -0
- package/dist/code/CodeSurface.js.map +1 -0
- package/dist/code/CodeSurface.vue.d.ts +29 -0
- package/dist/code/CodeSurface2.js +75 -0
- package/dist/code/CodeSurface2.js.map +1 -0
- package/dist/code/chrome-theme.js +76 -0
- package/dist/code/chrome-theme.js.map +1 -0
- package/dist/code/compartments.js +19 -0
- package/dist/code/compartments.js.map +1 -0
- package/dist/code/editor-factory.d.ts +41 -0
- package/dist/code/editor-factory.js +126 -0
- package/dist/code/editor-factory.js.map +1 -0
- package/dist/code/format-json.d.ts +27 -0
- package/dist/code/format-json.js +94 -0
- package/dist/code/format-json.js.map +1 -0
- package/dist/code/highlight-style.js +118 -0
- package/dist/code/highlight-style.js.map +1 -0
- package/dist/code/index.d.ts +6 -0
- package/dist/code/index.js +6 -0
- package/dist/code/jsonl-language.d.ts +6 -0
- package/dist/code/jsonl-language.js +33 -0
- package/dist/code/jsonl-language.js.map +1 -0
- package/dist/code/kind.d.ts +15 -0
- package/dist/code/kind.js +142 -0
- package/dist/code/kind.js.map +1 -0
- package/dist/code/lang-registry.d.ts +31 -0
- package/dist/code/lang-registry.js +54 -0
- package/dist/code/lang-registry.js.map +1 -0
- package/dist/code/react.d.ts +2 -0
- package/dist/code/react.js +1 -0
- package/dist/code/vue.d.ts +2 -0
- package/dist/code/vue.js +1 -0
- package/dist/core/abilities.d.ts +32 -0
- package/dist/core/abilities.js +160 -0
- package/dist/core/abilities.js.map +1 -0
- package/dist/core/block-convert.d.ts +59 -0
- package/dist/core/block-convert.js +164 -0
- package/dist/core/block-convert.js.map +1 -0
- package/dist/core/block-drag.d.ts +12 -0
- package/dist/core/block-drag.js +62 -0
- package/dist/core/block-drag.js.map +1 -0
- package/dist/core/block-flash.d.ts +19 -0
- package/dist/core/block-flash.js +66 -0
- package/dist/core/block-flash.js.map +1 -0
- package/dist/core/context.d.ts +63 -0
- package/dist/core/context.js +108 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/convert.d.ts +96 -0
- package/dist/core/convert.js +241 -0
- package/dist/core/convert.js.map +1 -0
- package/dist/core/core-feature.d.ts +17 -0
- package/dist/core/core-feature.js +100 -0
- package/dist/core/core-feature.js.map +1 -0
- package/dist/core/define-editor.d.ts +23 -0
- package/dist/core/define-editor.js +110 -0
- package/dist/core/define-editor.js.map +1 -0
- package/dist/core/doc-anchors.d.ts +67 -0
- package/dist/core/doc-anchors.js +112 -0
- package/dist/core/doc-anchors.js.map +1 -0
- package/dist/core/document-markdown.d.ts +13 -0
- package/dist/core/document-markdown.js +31 -0
- package/dist/core/document-markdown.js.map +1 -0
- package/dist/core/download.d.ts +5 -0
- package/dist/core/download.js +16 -0
- package/dist/core/download.js.map +1 -0
- package/dist/core/editor-ui.d.ts +45 -0
- package/dist/core/editor-ui.js +38 -0
- package/dist/core/editor-ui.js.map +1 -0
- package/dist/core/extension-points.d.ts +64 -0
- package/dist/core/feature-context.d.ts +32 -0
- package/dist/core/feature-context.js +46 -0
- package/dist/core/feature-context.js.map +1 -0
- package/dist/core/feature.d.ts +234 -0
- package/dist/core/feature.js +13 -0
- package/dist/core/feature.js.map +1 -0
- package/dist/core/fences.d.ts +16 -0
- package/dist/core/fences.js +105 -0
- package/dist/core/fences.js.map +1 -0
- package/dist/core/fetch-error.d.ts +5 -0
- package/dist/core/fetch-error.js +11 -0
- package/dist/core/fetch-error.js.map +1 -0
- package/dist/core/index.d.ts +28 -0
- package/dist/core/index.js +27 -0
- package/dist/core/metadata-types.d.ts +27 -0
- package/dist/core/metadata-types.js +10 -0
- package/dist/core/metadata-types.js.map +1 -0
- package/dist/core/metadata.d.ts +39 -0
- package/dist/core/metadata.js +76 -0
- package/dist/core/metadata.js.map +1 -0
- package/dist/core/notify.d.ts +31 -0
- package/dist/core/notify.js +7 -0
- package/dist/core/notify.js.map +1 -0
- package/dist/core/pipeline.d.ts +52 -0
- package/dist/core/pipeline.js +78 -0
- package/dist/core/pipeline.js.map +1 -0
- package/dist/core/schema/abilities.d.ts +55 -0
- package/dist/core/schema/abilities.js +113 -0
- package/dist/core/schema/abilities.js.map +1 -0
- package/dist/core/schema/block-ids.d.ts +29 -0
- package/dist/core/schema/block-ids.js +134 -0
- package/dist/core/schema/block-ids.js.map +1 -0
- package/dist/core/schema/hex-color.d.ts +5 -0
- package/dist/core/schema/hex-color.js +7 -0
- package/dist/core/schema/hex-color.js.map +1 -0
- package/dist/core/schema/index.d.ts +21 -0
- package/dist/core/schema/index.js +33 -0
- package/dist/core/schema/index.js.map +1 -0
- package/dist/core/schema/mark-flags.d.ts +12 -0
- package/dist/core/schema/node-flags.d.ts +23 -0
- package/dist/core/schema/node-flags.js +34 -0
- package/dist/core/schema/node-flags.js.map +1 -0
- package/dist/core/schema/opaque-fence.d.ts +11 -0
- package/dist/core/schema/opaque-fence.js +57 -0
- package/dist/core/schema/opaque-fence.js.map +1 -0
- package/dist/core/schema/strike.d.ts +4 -0
- package/dist/core/schema/strike.js +9 -0
- package/dist/core/schema/strike.js.map +1 -0
- package/dist/core/selection-range.d.ts +13 -0
- package/dist/core/selection-range.js +28 -0
- package/dist/core/selection-range.js.map +1 -0
- package/dist/core/slash.d.ts +24 -0
- package/dist/core/slash.js +60 -0
- package/dist/core/slash.js.map +1 -0
- package/dist/core/store.d.ts +22 -0
- package/dist/core/store.js +61 -0
- package/dist/core/store.js.map +1 -0
- package/dist/core/suggestion-popup.d.ts +63 -0
- package/dist/core/suggestion-popup.js +57 -0
- package/dist/core/suggestion-popup.js.map +1 -0
- package/dist/core/tag-name.js +11 -0
- package/dist/core/tag-name.js.map +1 -0
- package/dist/core/toolbar-items.d.ts +10 -0
- package/dist/core/toolbar-items.js +206 -0
- package/dist/core/toolbar-items.js.map +1 -0
- package/dist/core/toolbar.d.ts +74 -0
- package/dist/core/toolbar.js +45 -0
- package/dist/core/toolbar.js.map +1 -0
- package/dist/document/DocumentSurface.d.ts +38 -0
- package/dist/document/DocumentSurface.js +44 -0
- package/dist/document/DocumentSurface.js.map +1 -0
- package/dist/document/DocumentSurface.vue.d.ts +56 -0
- package/dist/document/DocumentSurface2.js +71 -0
- package/dist/document/DocumentSurface2.js.map +1 -0
- package/dist/document/react.d.ts +2 -0
- package/dist/document/react.js +1 -0
- package/dist/document/vue.d.ts +2 -0
- package/dist/document/vue.js +1 -0
- package/dist/features/ai/agent-op-review.d.ts +69 -0
- package/dist/features/ai/agent-op-review.js +182 -0
- package/dist/features/ai/agent-op-review.js.map +1 -0
- package/dist/features/ai/agent-ops.d.ts +15 -0
- package/dist/features/ai/agent-ops.js +228 -0
- package/dist/features/ai/agent-ops.js.map +1 -0
- package/dist/features/ai/ai-apply.d.ts +76 -0
- package/dist/features/ai/ai-apply.js +193 -0
- package/dist/features/ai/ai-apply.js.map +1 -0
- package/dist/features/ai/ai-menu.d.ts +38 -0
- package/dist/features/ai/ai-menu.js +20 -0
- package/dist/features/ai/ai-menu.js.map +1 -0
- package/dist/features/ai/ai-review.d.ts +136 -0
- package/dist/features/ai/ai-review.js +543 -0
- package/dist/features/ai/ai-review.js.map +1 -0
- package/dist/features/ai/ai-selection-highlight.d.ts +21 -0
- package/dist/features/ai/ai-selection-highlight.js +44 -0
- package/dist/features/ai/ai-selection-highlight.js.map +1 -0
- package/dist/features/ai/ai-sse.d.ts +28 -0
- package/dist/features/ai/ai-sse.js +82 -0
- package/dist/features/ai/ai-sse.js.map +1 -0
- package/dist/features/ai/assistant.d.ts +53 -0
- package/dist/features/ai/assistant.js +82 -0
- package/dist/features/ai/assistant.js.map +1 -0
- package/dist/features/ai/block-actions.d.ts +20 -0
- package/dist/features/ai/block-actions.js +55 -0
- package/dist/features/ai/block-actions.js.map +1 -0
- package/dist/features/ai/components/AiReviewBar.js +145 -0
- package/dist/features/ai/components/AiReviewBar.js.map +1 -0
- package/dist/features/ai/components/AiReviewBar.vue.d.ts +15 -0
- package/dist/features/ai/components/AiSelectionMenu.js +519 -0
- package/dist/features/ai/components/AiSelectionMenu.js.map +1 -0
- package/dist/features/ai/components/AiSelectionMenu.vue.d.ts +17 -0
- package/dist/features/ai/components/AiSidebar.js +378 -0
- package/dist/features/ai/components/AiSidebar.js.map +1 -0
- package/dist/features/ai/components/AiSidebar.vue.d.ts +26 -0
- package/dist/features/ai/components/DocumentChatAnswer.js +67 -0
- package/dist/features/ai/components/DocumentChatAnswer.js.map +1 -0
- package/dist/features/ai/components/DocumentChatAnswer.vue.d.ts +13 -0
- package/dist/features/ai/components/DocumentChatOps.js +113 -0
- package/dist/features/ai/components/DocumentChatOps.js.map +1 -0
- package/dist/features/ai/components/DocumentChatOps.vue.d.ts +27 -0
- package/dist/features/ai/components/ModelQuickSwitch.js +84 -0
- package/dist/features/ai/components/ModelQuickSwitch.js.map +1 -0
- package/dist/features/ai/components/ModelQuickSwitch.vue.d.ts +23 -0
- package/dist/features/ai/components/SettingsAiTab.js +88 -0
- package/dist/features/ai/components/SettingsAiTab.js.map +1 -0
- package/dist/features/ai/components/SettingsAiTab.vue.d.ts +6 -0
- package/dist/features/ai/components/SettingsModelProfiles.js +260 -0
- package/dist/features/ai/components/SettingsModelProfiles.js.map +1 -0
- package/dist/features/ai/components/SettingsModelProfiles.vue.d.ts +6 -0
- package/dist/features/ai/document-chat-model.d.ts +88 -0
- package/dist/features/ai/document-chat-model.js +190 -0
- package/dist/features/ai/document-chat-model.js.map +1 -0
- package/dist/features/ai/document-chat.d.ts +17 -0
- package/dist/features/ai/document-chat.js +112 -0
- package/dist/features/ai/document-chat.js.map +1 -0
- package/dist/features/ai/feature.d.ts +25 -0
- package/dist/features/ai/feature.js +89 -0
- package/dist/features/ai/feature.js.map +1 -0
- package/dist/features/ai/ghost-autocomplete.d.ts +47 -0
- package/dist/features/ai/ghost-autocomplete.js +204 -0
- package/dist/features/ai/ghost-autocomplete.js.map +1 -0
- package/dist/features/ai/index.d.ts +24 -0
- package/dist/features/ai/index.js +23 -0
- package/dist/features/ai/model-profiles.d.ts +36 -0
- package/dist/features/ai/model-profiles.js +111 -0
- package/dist/features/ai/model-profiles.js.map +1 -0
- package/dist/features/ai/preview-extensions.js +14 -0
- package/dist/features/ai/preview-extensions.js.map +1 -0
- package/dist/features/ai/protocol/agent-ops.d.ts +120 -0
- package/dist/features/ai/protocol/agent-ops.js +298 -0
- package/dist/features/ai/protocol/agent-ops.js.map +1 -0
- package/dist/features/ai/protocol/chat.d.ts +57 -0
- package/dist/features/ai/protocol/chat.js +146 -0
- package/dist/features/ai/protocol/chat.js.map +1 -0
- package/dist/features/ai/protocol/complete.d.ts +21 -0
- package/dist/features/ai/protocol/complete.js +81 -0
- package/dist/features/ai/protocol/complete.js.map +1 -0
- package/dist/features/ai/protocol/index.d.ts +7 -0
- package/dist/features/ai/protocol/index.js +7 -0
- package/dist/features/ai/protocol/models.d.ts +48 -0
- package/dist/features/ai/protocol/models.js +41 -0
- package/dist/features/ai/protocol/models.js.map +1 -0
- package/dist/features/ai/protocol/schemas.d.ts +36 -0
- package/dist/features/ai/protocol/schemas.js +40 -0
- package/dist/features/ai/protocol/schemas.js.map +1 -0
- package/dist/features/ai/protocol/tasks.d.ts +107 -0
- package/dist/features/ai/protocol/tasks.js +227 -0
- package/dist/features/ai/protocol/tasks.js.map +1 -0
- package/dist/features/ai/rate-limit.d.ts +9 -0
- package/dist/features/ai/rate-limit.js +20 -0
- package/dist/features/ai/rate-limit.js.map +1 -0
- package/dist/features/ai/react/AiReviewBar.d.ts +12 -0
- package/dist/features/ai/react/AiReviewBar.js +156 -0
- package/dist/features/ai/react/AiReviewBar.js.map +1 -0
- package/dist/features/ai/react/AiSelectionMenu.d.ts +14 -0
- package/dist/features/ai/react/AiSelectionMenu.js +513 -0
- package/dist/features/ai/react/AiSelectionMenu.js.map +1 -0
- package/dist/features/ai/react/AiSidebar.d.ts +19 -0
- package/dist/features/ai/react/AiSidebar.js +339 -0
- package/dist/features/ai/react/AiSidebar.js.map +1 -0
- package/dist/features/ai/react/DocumentChatAnswer.d.ts +10 -0
- package/dist/features/ai/react/DocumentChatAnswer.js +70 -0
- package/dist/features/ai/react/DocumentChatAnswer.js.map +1 -0
- package/dist/features/ai/react/DocumentChatOps.d.ts +19 -0
- package/dist/features/ai/react/DocumentChatOps.js +111 -0
- package/dist/features/ai/react/DocumentChatOps.js.map +1 -0
- package/dist/features/ai/react/ModelQuickSwitch.d.ts +19 -0
- package/dist/features/ai/react/ModelQuickSwitch.js +89 -0
- package/dist/features/ai/react/ModelQuickSwitch.js.map +1 -0
- package/dist/features/ai/react/SettingsAiTab.d.ts +5 -0
- package/dist/features/ai/react/SettingsAiTab.js +103 -0
- package/dist/features/ai/react/SettingsAiTab.js.map +1 -0
- package/dist/features/ai/react/SettingsModelProfiles.d.ts +8 -0
- package/dist/features/ai/react/SettingsModelProfiles.js +318 -0
- package/dist/features/ai/react/SettingsModelProfiles.js.map +1 -0
- package/dist/features/ai/react/use-ai-assistant.d.ts +22 -0
- package/dist/features/ai/react/use-ai-assistant.js +36 -0
- package/dist/features/ai/react/use-ai-assistant.js.map +1 -0
- package/dist/features/ai/react/use-document-chat.d.ts +32 -0
- package/dist/features/ai/react/use-document-chat.js +43 -0
- package/dist/features/ai/react/use-document-chat.js.map +1 -0
- package/dist/features/ai/react/use-model-profiles.d.ts +20 -0
- package/dist/features/ai/react/use-model-profiles.js +33 -0
- package/dist/features/ai/react/use-model-profiles.js.map +1 -0
- package/dist/features/ai/react.d.ts +23 -0
- package/dist/features/ai/react.js +28 -0
- package/dist/features/ai/react.js.map +1 -0
- package/dist/features/ai/sidebar-flow.d.ts +61 -0
- package/dist/features/ai/sidebar-flow.js +125 -0
- package/dist/features/ai/sidebar-flow.js.map +1 -0
- package/dist/features/ai/use-ai-assistant.d.ts +22 -0
- package/dist/features/ai/use-ai-assistant.js +39 -0
- package/dist/features/ai/use-ai-assistant.js.map +1 -0
- package/dist/features/ai/use-document-chat.d.ts +33 -0
- package/dist/features/ai/use-document-chat.js +45 -0
- package/dist/features/ai/use-document-chat.js.map +1 -0
- package/dist/features/ai/use-model-profiles.d.ts +23 -0
- package/dist/features/ai/use-model-profiles.js +50 -0
- package/dist/features/ai/use-model-profiles.js.map +1 -0
- package/dist/features/ai/vue.d.ts +21 -0
- package/dist/features/ai/vue.js +28 -0
- package/dist/features/ai/vue.js.map +1 -0
- package/dist/features/authors/attribution.d.ts +36 -0
- package/dist/features/authors/attribution.js +94 -0
- package/dist/features/authors/attribution.js.map +1 -0
- package/dist/features/authors/author-color-styles.d.ts +12 -0
- package/dist/features/authors/author-color-styles.js +24 -0
- package/dist/features/authors/author-color-styles.js.map +1 -0
- package/dist/features/authors/components/AuthorColorsButton.js +50 -0
- package/dist/features/authors/components/AuthorColorsButton.js.map +1 -0
- package/dist/features/authors/components/AuthorColorsButton.vue.d.ts +11 -0
- package/dist/features/authors/components/AuthorColorsPanel.js +72 -0
- package/dist/features/authors/components/AuthorColorsPanel.js.map +1 -0
- package/dist/features/authors/components/AuthorColorsPanel.vue.d.ts +11 -0
- package/dist/features/authors/components/SettingsAuthorsTab.js +49 -0
- package/dist/features/authors/components/SettingsAuthorsTab.js.map +1 -0
- package/dist/features/authors/components/SettingsAuthorsTab.vue.d.ts +6 -0
- package/dist/features/authors/feature.d.ts +22 -0
- package/dist/features/authors/feature.js +47 -0
- package/dist/features/authors/feature.js.map +1 -0
- package/dist/features/authors/index.d.ts +7 -0
- package/dist/features/authors/index.js +6 -0
- package/dist/features/authors/react/AuthorColorsButton.d.ts +8 -0
- package/dist/features/authors/react/AuthorColorsButton.js +41 -0
- package/dist/features/authors/react/AuthorColorsButton.js.map +1 -0
- package/dist/features/authors/react/AuthorColorsPanel.d.ts +8 -0
- package/dist/features/authors/react/AuthorColorsPanel.js +125 -0
- package/dist/features/authors/react/AuthorColorsPanel.js.map +1 -0
- package/dist/features/authors/react/SettingsAuthorsTab.d.ts +5 -0
- package/dist/features/authors/react/SettingsAuthorsTab.js +92 -0
- package/dist/features/authors/react/SettingsAuthorsTab.js.map +1 -0
- package/dist/features/authors/react.d.ts +11 -0
- package/dist/features/authors/react.js +16 -0
- package/dist/features/authors/react.js.map +1 -0
- package/dist/features/authors/schema.d.ts +22 -0
- package/dist/features/authors/schema.js +70 -0
- package/dist/features/authors/schema.js.map +1 -0
- package/dist/features/authors/vue.d.ts +10 -0
- package/dist/features/authors/vue.js +16 -0
- package/dist/features/authors/vue.js.map +1 -0
- package/dist/features/block-ui/block-actions.d.ts +17 -0
- package/dist/features/block-ui/block-actions.js +37 -0
- package/dist/features/block-ui/block-actions.js.map +1 -0
- package/dist/features/block-ui/components/BlockActionsOverlay.js +142 -0
- package/dist/features/block-ui/components/BlockActionsOverlay.js.map +1 -0
- package/dist/features/block-ui/components/BlockActionsOverlay.vue.d.ts +25 -0
- package/dist/features/block-ui/components/BlockHandles.js +113 -0
- package/dist/features/block-ui/components/BlockHandles.js.map +1 -0
- package/dist/features/block-ui/components/BlockUi.js +181 -0
- package/dist/features/block-ui/components/BlockUi.js.map +1 -0
- package/dist/features/block-ui/components/BlockUi.vue.d.ts +17 -0
- package/dist/features/block-ui/feature.d.ts +21 -0
- package/dist/features/block-ui/feature.js +23 -0
- package/dist/features/block-ui/feature.js.map +1 -0
- package/dist/features/block-ui/handle-geometry.js +52 -0
- package/dist/features/block-ui/handle-geometry.js.map +1 -0
- package/dist/features/block-ui/index.d.ts +3 -0
- package/dist/features/block-ui/index.js +3 -0
- package/dist/features/block-ui/react/BlockActionsOverlay.d.ts +19 -0
- package/dist/features/block-ui/react/BlockActionsOverlay.js +142 -0
- package/dist/features/block-ui/react/BlockActionsOverlay.js.map +1 -0
- package/dist/features/block-ui/react/BlockHandles.d.ts +15 -0
- package/dist/features/block-ui/react/BlockHandles.js +104 -0
- package/dist/features/block-ui/react/BlockHandles.js.map +1 -0
- package/dist/features/block-ui/react/BlockUi.d.ts +14 -0
- package/dist/features/block-ui/react/BlockUi.js +174 -0
- package/dist/features/block-ui/react/BlockUi.js.map +1 -0
- package/dist/features/block-ui/react.d.ts +11 -0
- package/dist/features/block-ui/react.js +13 -0
- package/dist/features/block-ui/react.js.map +1 -0
- package/dist/features/block-ui/vue.d.ts +9 -0
- package/dist/features/block-ui/vue.js +12 -0
- package/dist/features/block-ui/vue.js.map +1 -0
- package/dist/features/collab/anchor-resolver.d.ts +7 -0
- package/dist/features/collab/anchor-resolver.js +92 -0
- package/dist/features/collab/anchor-resolver.js.map +1 -0
- package/dist/features/collab/feature.d.ts +22 -0
- package/dist/features/collab/feature.js +36 -0
- package/dist/features/collab/feature.js.map +1 -0
- package/dist/features/collab/index.d.ts +3 -0
- package/dist/features/collab/index.js +3 -0
- package/dist/features/collab/react.d.ts +7 -0
- package/dist/features/collab/react.js +10 -0
- package/dist/features/collab/react.js.map +1 -0
- package/dist/features/collab/vue.d.ts +6 -0
- package/dist/features/collab/vue.js +37 -0
- package/dist/features/collab/vue.js.map +1 -0
- package/dist/features/comments/comments-plugin.d.ts +71 -0
- package/dist/features/comments/comments-plugin.js +185 -0
- package/dist/features/comments/comments-plugin.js.map +1 -0
- package/dist/features/comments/components/CommentBubble.js +54 -0
- package/dist/features/comments/components/CommentBubble.js.map +1 -0
- package/dist/features/comments/components/CommentBubble.vue.d.ts +14 -0
- package/dist/features/comments/components/CommentComposer.js +87 -0
- package/dist/features/comments/components/CommentComposer.js.map +1 -0
- package/dist/features/comments/components/CommentComposer.vue.d.ts +21 -0
- package/dist/features/comments/components/CommentThreadView.js +255 -0
- package/dist/features/comments/components/CommentThreadView.js.map +1 -0
- package/dist/features/comments/components/CommentThreadView.vue.d.ts +29 -0
- package/dist/features/comments/components/CommentsListMenu.js +134 -0
- package/dist/features/comments/components/CommentsListMenu.js.map +1 -0
- package/dist/features/comments/components/CommentsListMenu.vue.d.ts +10 -0
- package/dist/features/comments/components/CommentsMargin.js +291 -0
- package/dist/features/comments/components/CommentsMargin.js.map +1 -0
- package/dist/features/comments/components/CommentsMargin.vue.d.ts +16 -0
- package/dist/features/comments/components/CommentsOverlay.js +39 -0
- package/dist/features/comments/components/CommentsOverlay.js.map +1 -0
- package/dist/features/comments/components/CommentsPopover.js +124 -0
- package/dist/features/comments/components/CommentsPopover.js.map +1 -0
- package/dist/features/comments/components/CommentsPopover.vue.d.ts +10 -0
- package/dist/features/comments/components/CommentsToolbarButton.js +61 -0
- package/dist/features/comments/components/CommentsToolbarButton.js.map +1 -0
- package/dist/features/comments/components/SettingsCommentsTab.js +46 -0
- package/dist/features/comments/components/SettingsCommentsTab.js.map +1 -0
- package/dist/features/comments/components/SettingsCommentsTab.vue.d.ts +6 -0
- package/dist/features/comments/feature.d.ts +39 -0
- package/dist/features/comments/feature.js +128 -0
- package/dist/features/comments/feature.js.map +1 -0
- package/dist/features/comments/index.d.ts +6 -0
- package/dist/features/comments/index.js +6 -0
- package/dist/features/comments/model.d.ts +87 -0
- package/dist/features/comments/model.js +390 -0
- package/dist/features/comments/model.js.map +1 -0
- package/dist/features/comments/react/CommentAvatar.js +24 -0
- package/dist/features/comments/react/CommentAvatar.js.map +1 -0
- package/dist/features/comments/react/CommentBubble.d.ts +11 -0
- package/dist/features/comments/react/CommentBubble.js +43 -0
- package/dist/features/comments/react/CommentBubble.js.map +1 -0
- package/dist/features/comments/react/CommentComposer.d.ts +15 -0
- package/dist/features/comments/react/CommentComposer.js +69 -0
- package/dist/features/comments/react/CommentComposer.js.map +1 -0
- package/dist/features/comments/react/CommentThreadView.d.ts +24 -0
- package/dist/features/comments/react/CommentThreadView.js +249 -0
- package/dist/features/comments/react/CommentThreadView.js.map +1 -0
- package/dist/features/comments/react/CommentsListMenu.d.ts +8 -0
- package/dist/features/comments/react/CommentsListMenu.js +115 -0
- package/dist/features/comments/react/CommentsListMenu.js.map +1 -0
- package/dist/features/comments/react/CommentsMargin.d.ts +16 -0
- package/dist/features/comments/react/CommentsMargin.js +294 -0
- package/dist/features/comments/react/CommentsMargin.js.map +1 -0
- package/dist/features/comments/react/CommentsOverlay.d.ts +11 -0
- package/dist/features/comments/react/CommentsOverlay.js +52 -0
- package/dist/features/comments/react/CommentsOverlay.js.map +1 -0
- package/dist/features/comments/react/CommentsPopover.d.ts +15 -0
- package/dist/features/comments/react/CommentsPopover.js +107 -0
- package/dist/features/comments/react/CommentsPopover.js.map +1 -0
- package/dist/features/comments/react/CommentsToolbarButton.d.ts +12 -0
- package/dist/features/comments/react/CommentsToolbarButton.js +52 -0
- package/dist/features/comments/react/CommentsToolbarButton.js.map +1 -0
- package/dist/features/comments/react/SettingsCommentsTab.d.ts +5 -0
- package/dist/features/comments/react/SettingsCommentsTab.js +77 -0
- package/dist/features/comments/react/SettingsCommentsTab.js.map +1 -0
- package/dist/features/comments/react/use-comments.d.ts +17 -0
- package/dist/features/comments/react/use-comments.js +37 -0
- package/dist/features/comments/react/use-comments.js.map +1 -0
- package/dist/features/comments/react.d.ts +23 -0
- package/dist/features/comments/react.js +28 -0
- package/dist/features/comments/react.js.map +1 -0
- package/dist/features/comments/schema.d.ts +51 -0
- package/dist/features/comments/schema.js +41 -0
- package/dist/features/comments/schema.js.map +1 -0
- package/dist/features/comments/shortcuts.js +34 -0
- package/dist/features/comments/shortcuts.js.map +1 -0
- package/dist/features/comments/use-comments.d.ts +37 -0
- package/dist/features/comments/use-comments.js +45 -0
- package/dist/features/comments/use-comments.js.map +1 -0
- package/dist/features/comments/vue.d.ts +20 -0
- package/dist/features/comments/vue.js +28 -0
- package/dist/features/comments/vue.js.map +1 -0
- package/dist/features/composites/ai-brief.d.ts +31 -0
- package/dist/features/composites/ai-brief.js +56 -0
- package/dist/features/composites/ai-brief.js.map +1 -0
- package/dist/features/composites/anchors.d.ts +47 -0
- package/dist/features/composites/anchors.js +137 -0
- package/dist/features/composites/anchors.js.map +1 -0
- package/dist/features/composites/components/CompositeChrome.js +243 -0
- package/dist/features/composites/components/CompositeChrome.js.map +1 -0
- package/dist/features/composites/components/CompositeChrome.vue.d.ts +19 -0
- package/dist/features/composites/components/CompositeDetails.js +158 -0
- package/dist/features/composites/components/CompositeDetails.js.map +1 -0
- package/dist/features/composites/components/CompositeDetails.vue.d.ts +19 -0
- package/dist/features/composites/components/CompositeFieldEditor.js +114 -0
- package/dist/features/composites/components/CompositeFieldEditor.js.map +1 -0
- package/dist/features/composites/components/CompositeFieldEditor.vue.d.ts +23 -0
- package/dist/features/composites/components/CompositeInspector.js +439 -0
- package/dist/features/composites/components/CompositeInspector.js.map +1 -0
- package/dist/features/composites/components/CompositeInspector.vue.d.ts +32 -0
- package/dist/features/composites/components/CompositeStatusMenu.js +51 -0
- package/dist/features/composites/components/CompositeStatusMenu.js.map +1 -0
- package/dist/features/composites/components/CompositeStatusMenu.vue.d.ts +28 -0
- package/dist/features/composites/components/CompositeSummaryEditor.js +79 -0
- package/dist/features/composites/components/CompositeSummaryEditor.js.map +1 -0
- package/dist/features/composites/components/CompositeSummaryEditor.vue.d.ts +18 -0
- package/dist/features/composites/components/CompositeTable.js +348 -0
- package/dist/features/composites/components/CompositeTable.js.map +1 -0
- package/dist/features/composites/components/CompositeTable.vue.d.ts +15 -0
- package/dist/features/composites/components/CompositeTagsEditor.js +95 -0
- package/dist/features/composites/components/CompositeTagsEditor.js.map +1 -0
- package/dist/features/composites/components/CompositeTagsEditor.vue.d.ts +13 -0
- package/dist/features/composites/components/CompositeView.js +46 -0
- package/dist/features/composites/components/CompositeView.js.map +1 -0
- package/dist/features/composites/components/CompositeView.vue.d.ts +96 -0
- package/dist/features/composites/components/SettingsEditingTab.js +119 -0
- package/dist/features/composites/components/SettingsEditingTab.js.map +1 -0
- package/dist/features/composites/components/SettingsEditingTab.vue.d.ts +11 -0
- package/dist/features/composites/convert.d.ts +24 -0
- package/dist/features/composites/convert.js +145 -0
- package/dist/features/composites/convert.js.map +1 -0
- package/dist/features/composites/editing-settings-keys.js +47 -0
- package/dist/features/composites/editing-settings-keys.js.map +1 -0
- package/dist/features/composites/feature.d.ts +30 -0
- package/dist/features/composites/feature.js +305 -0
- package/dist/features/composites/feature.js.map +1 -0
- package/dist/features/composites/fences.d.ts +20 -0
- package/dist/features/composites/fences.js +86 -0
- package/dist/features/composites/fences.js.map +1 -0
- package/dist/features/composites/heading-composites.d.ts +36 -0
- package/dist/features/composites/heading-composites.js +140 -0
- package/dist/features/composites/heading-composites.js.map +1 -0
- package/dist/features/composites/index.d.ts +20 -0
- package/dist/features/composites/index.js +20 -0
- package/dist/features/composites/kinds.d.ts +49 -0
- package/dist/features/composites/kinds.js +131 -0
- package/dist/features/composites/kinds.js.map +1 -0
- package/dist/features/composites/legacy.d.ts +8 -0
- package/dist/features/composites/legacy.js +25 -0
- package/dist/features/composites/legacy.js.map +1 -0
- package/dist/features/composites/markdown-export.d.ts +17 -0
- package/dist/features/composites/markdown-export.js +49 -0
- package/dist/features/composites/markdown-export.js.map +1 -0
- package/dist/features/composites/meta-display.js +46 -0
- package/dist/features/composites/meta-display.js.map +1 -0
- package/dist/features/composites/node-views.d.ts +17 -0
- package/dist/features/composites/node-views.js +18 -0
- package/dist/features/composites/node-views.js.map +1 -0
- package/dist/features/composites/nodes.d.ts +56 -0
- package/dist/features/composites/nodes.js +480 -0
- package/dist/features/composites/nodes.js.map +1 -0
- package/dist/features/composites/outline.d.ts +35 -0
- package/dist/features/composites/outline.js +69 -0
- package/dist/features/composites/outline.js.map +1 -0
- package/dist/features/composites/react/CompositeChrome.d.ts +16 -0
- package/dist/features/composites/react/CompositeChrome.js +234 -0
- package/dist/features/composites/react/CompositeChrome.js.map +1 -0
- package/dist/features/composites/react/CompositeDetails.d.ts +16 -0
- package/dist/features/composites/react/CompositeDetails.js +149 -0
- package/dist/features/composites/react/CompositeDetails.js.map +1 -0
- package/dist/features/composites/react/CompositeFieldEditor.d.ts +18 -0
- package/dist/features/composites/react/CompositeFieldEditor.js +131 -0
- package/dist/features/composites/react/CompositeFieldEditor.js.map +1 -0
- package/dist/features/composites/react/CompositeInspector.d.ts +23 -0
- package/dist/features/composites/react/CompositeInspector.js +506 -0
- package/dist/features/composites/react/CompositeInspector.js.map +1 -0
- package/dist/features/composites/react/CompositeStatusMenu.d.ts +15 -0
- package/dist/features/composites/react/CompositeStatusMenu.js +36 -0
- package/dist/features/composites/react/CompositeStatusMenu.js.map +1 -0
- package/dist/features/composites/react/CompositeSummaryEditor.d.ts +15 -0
- package/dist/features/composites/react/CompositeSummaryEditor.js +85 -0
- package/dist/features/composites/react/CompositeSummaryEditor.js.map +1 -0
- package/dist/features/composites/react/CompositeTable.d.ts +11 -0
- package/dist/features/composites/react/CompositeTable.js +342 -0
- package/dist/features/composites/react/CompositeTable.js.map +1 -0
- package/dist/features/composites/react/CompositeTagsEditor.d.ts +10 -0
- package/dist/features/composites/react/CompositeTagsEditor.js +122 -0
- package/dist/features/composites/react/CompositeTagsEditor.js.map +1 -0
- package/dist/features/composites/react/CompositeView.d.ts +6 -0
- package/dist/features/composites/react/CompositeView.js +30 -0
- package/dist/features/composites/react/CompositeView.js.map +1 -0
- package/dist/features/composites/react/SettingsEditingTab.d.ts +8 -0
- package/dist/features/composites/react/SettingsEditingTab.js +153 -0
- package/dist/features/composites/react/SettingsEditingTab.js.map +1 -0
- package/dist/features/composites/react/use-composite-anchors.d.ts +17 -0
- package/dist/features/composites/react/use-composite-anchors.js +46 -0
- package/dist/features/composites/react/use-composite-anchors.js.map +1 -0
- package/dist/features/composites/react/use-composite-rows.d.ts +11 -0
- package/dist/features/composites/react/use-composite-rows.js +26 -0
- package/dist/features/composites/react/use-composite-rows.js.map +1 -0
- package/dist/features/composites/react.d.ts +24 -0
- package/dist/features/composites/react.js +30 -0
- package/dist/features/composites/react.js.map +1 -0
- package/dist/features/composites/rows-model.d.ts +38 -0
- package/dist/features/composites/rows-model.js +92 -0
- package/dist/features/composites/rows-model.js.map +1 -0
- package/dist/features/composites/rows.d.ts +76 -0
- package/dist/features/composites/rows.js +159 -0
- package/dist/features/composites/rows.js.map +1 -0
- package/dist/features/composites/schema.d.ts +21 -0
- package/dist/features/composites/schema.js +26 -0
- package/dist/features/composites/schema.js.map +1 -0
- package/dist/features/composites/structure-mode.d.ts +11 -0
- package/dist/features/composites/structure-mode.js +16 -0
- package/dist/features/composites/structure-mode.js.map +1 -0
- package/dist/features/composites/structure.d.ts +19 -0
- package/dist/features/composites/structure.js +19 -0
- package/dist/features/composites/structure.js.map +1 -0
- package/dist/features/composites/table-model.js +117 -0
- package/dist/features/composites/table-model.js.map +1 -0
- package/dist/features/composites/tree-root.d.ts +11 -0
- package/dist/features/composites/tree-root.js +16 -0
- package/dist/features/composites/tree-root.js.map +1 -0
- package/dist/features/composites/use-composite-anchors.d.ts +18 -0
- package/dist/features/composites/use-composite-anchors.js +42 -0
- package/dist/features/composites/use-composite-anchors.js.map +1 -0
- package/dist/features/composites/use-composite-rows.d.ts +25 -0
- package/dist/features/composites/use-composite-rows.js +28 -0
- package/dist/features/composites/use-composite-rows.js.map +1 -0
- package/dist/features/composites/vue.d.ts +23 -0
- package/dist/features/composites/vue.js +30 -0
- package/dist/features/composites/vue.js.map +1 -0
- package/dist/features/media/assets.d.ts +30 -0
- package/dist/features/media/assets.js +26 -0
- package/dist/features/media/assets.js.map +1 -0
- package/dist/features/media/audio-recorder.d.ts +25 -0
- package/dist/features/media/audio-recorder.js +123 -0
- package/dist/features/media/audio-recorder.js.map +1 -0
- package/dist/features/media/components/AudioRecorderModal.js +152 -0
- package/dist/features/media/components/AudioRecorderModal.js.map +1 -0
- package/dist/features/media/components/AudioRecorderModal.vue.d.ts +15 -0
- package/dist/features/media/components/AudioView.js +46 -0
- package/dist/features/media/components/AudioView.js.map +1 -0
- package/dist/features/media/components/FileView.js +73 -0
- package/dist/features/media/components/FileView.js.map +1 -0
- package/dist/features/media/components/VideoView.js +47 -0
- package/dist/features/media/components/VideoView.js.map +1 -0
- package/dist/features/media/feature.d.ts +22 -0
- package/dist/features/media/feature.js +101 -0
- package/dist/features/media/feature.js.map +1 -0
- package/dist/features/media/file-import.d.ts +21 -0
- package/dist/features/media/file-import.js +76 -0
- package/dist/features/media/file-import.js.map +1 -0
- package/dist/features/media/index.d.ts +7 -0
- package/dist/features/media/index.js +7 -0
- package/dist/features/media/node-views.d.ts +28 -0
- package/dist/features/media/node-views.js +28 -0
- package/dist/features/media/node-views.js.map +1 -0
- package/dist/features/media/react/AudioRecorderModal.d.ts +12 -0
- package/dist/features/media/react/AudioRecorderModal.js +147 -0
- package/dist/features/media/react/AudioRecorderModal.js.map +1 -0
- package/dist/features/media/react/AudioView.js +32 -0
- package/dist/features/media/react/AudioView.js.map +1 -0
- package/dist/features/media/react/FileView.js +61 -0
- package/dist/features/media/react/FileView.js.map +1 -0
- package/dist/features/media/react/TitleField.js +30 -0
- package/dist/features/media/react/TitleField.js.map +1 -0
- package/dist/features/media/react/VideoView.js +33 -0
- package/dist/features/media/react/VideoView.js.map +1 -0
- package/dist/features/media/react/use-audio-recorder.d.ts +11 -0
- package/dist/features/media/react/use-audio-recorder.js +21 -0
- package/dist/features/media/react/use-audio-recorder.js.map +1 -0
- package/dist/features/media/react.d.ts +19 -0
- package/dist/features/media/react.js +37 -0
- package/dist/features/media/react.js.map +1 -0
- package/dist/features/media/schema.d.ts +59 -0
- package/dist/features/media/schema.js +194 -0
- package/dist/features/media/schema.js.map +1 -0
- package/dist/features/media/upload.d.ts +41 -0
- package/dist/features/media/upload.js +106 -0
- package/dist/features/media/upload.js.map +1 -0
- package/dist/features/media/use-audio-recorder.d.ts +12 -0
- package/dist/features/media/use-audio-recorder.js +21 -0
- package/dist/features/media/use-audio-recorder.js.map +1 -0
- package/dist/features/media/vue.d.ts +19 -0
- package/dist/features/media/vue.js +35 -0
- package/dist/features/media/vue.js.map +1 -0
- package/dist/features/mentions/index.d.ts +22 -0
- package/dist/features/mentions/index.js +34 -0
- package/dist/features/mentions/index.js.map +1 -0
- package/dist/features/mentions/mention-suggestion.d.ts +11 -0
- package/dist/features/mentions/mention-suggestion.js +34 -0
- package/dist/features/mentions/mention-suggestion.js.map +1 -0
- package/dist/features/mentions/mention-text.d.ts +18 -0
- package/dist/features/mentions/mention-text.js +75 -0
- package/dist/features/mentions/mention-text.js.map +1 -0
- package/dist/features/mentions/mention.d.ts +20 -0
- package/dist/features/mentions/mention.js +33 -0
- package/dist/features/mentions/mention.js.map +1 -0
- package/dist/features/mentions/metadata-defaults.d.ts +8 -0
- package/dist/features/mentions/metadata-defaults.js +30 -0
- package/dist/features/mentions/metadata-defaults.js.map +1 -0
- package/dist/features/mentions/normalize.d.ts +10 -0
- package/dist/features/mentions/normalize.js +31 -0
- package/dist/features/mentions/normalize.js.map +1 -0
- package/dist/features/mentions/schema.d.ts +10 -0
- package/dist/features/mentions/schema.js +10 -0
- package/dist/features/mentions/schema.js.map +1 -0
- package/dist/features/mentions/tag-suggestion.d.ts +11 -0
- package/dist/features/mentions/tag-suggestion.js +45 -0
- package/dist/features/mentions/tag-suggestion.js.map +1 -0
- package/dist/features/mentions/tag.d.ts +43 -0
- package/dist/features/mentions/tag.js +155 -0
- package/dist/features/mentions/tag.js.map +1 -0
- package/dist/features/tables/feature.d.ts +14 -0
- package/dist/features/tables/feature.js +100 -0
- package/dist/features/tables/feature.js.map +1 -0
- package/dist/features/tables/index.d.ts +3 -0
- package/dist/features/tables/index.js +3 -0
- package/dist/features/tables/schema.d.ts +6 -0
- package/dist/features/tables/schema.js +27 -0
- package/dist/features/tables/schema.js.map +1 -0
- package/dist/features/themes/components/SettingsAppearanceTab.js +227 -0
- package/dist/features/themes/components/SettingsAppearanceTab.js.map +1 -0
- package/dist/features/themes/components/SettingsAppearanceTab.vue.d.ts +6 -0
- package/dist/features/themes/feature.d.ts +24 -0
- package/dist/features/themes/feature.js +25 -0
- package/dist/features/themes/feature.js.map +1 -0
- package/dist/features/themes/index.d.ts +6 -0
- package/dist/features/themes/index.js +6 -0
- package/dist/features/themes/react/SettingsAppearanceTab.d.ts +5 -0
- package/dist/features/themes/react/SettingsAppearanceTab.js +221 -0
- package/dist/features/themes/react/SettingsAppearanceTab.js.map +1 -0
- package/dist/features/themes/react.d.ts +13 -0
- package/dist/features/themes/react.js +15 -0
- package/dist/features/themes/react.js.map +1 -0
- package/dist/features/themes/schema.d.ts +21 -0
- package/dist/features/themes/schema.js +16 -0
- package/dist/features/themes/schema.js.map +1 -0
- package/dist/features/themes/scope-css.d.ts +5 -0
- package/dist/features/themes/scope-css.js +142 -0
- package/dist/features/themes/scope-css.js.map +1 -0
- package/dist/features/themes/theme-runtime.d.ts +14 -0
- package/dist/features/themes/theme-runtime.js +147 -0
- package/dist/features/themes/theme-runtime.js.map +1 -0
- package/dist/features/themes/vue.d.ts +13 -0
- package/dist/features/themes/vue.js +29 -0
- package/dist/features/themes/vue.js.map +1 -0
- package/dist/features/transcript/TranscriptSegmentView.js +169 -0
- package/dist/features/transcript/TranscriptSegmentView.js.map +1 -0
- package/dist/features/transcript/TranscriptSegmentView.vue.d.ts +96 -0
- package/dist/features/transcript/convert.d.ts +11 -0
- package/dist/features/transcript/convert.js +40 -0
- package/dist/features/transcript/convert.js.map +1 -0
- package/dist/features/transcript/feature.d.ts +25 -0
- package/dist/features/transcript/feature.js +59 -0
- package/dist/features/transcript/feature.js.map +1 -0
- package/dist/features/transcript/index.d.ts +7 -0
- package/dist/features/transcript/index.js +7 -0
- package/dist/features/transcript/react/TranscriptSegmentView.d.ts +6 -0
- package/dist/features/transcript/react/TranscriptSegmentView.js +155 -0
- package/dist/features/transcript/react/TranscriptSegmentView.js.map +1 -0
- package/dist/features/transcript/react.d.ts +9 -0
- package/dist/features/transcript/react.js +12 -0
- package/dist/features/transcript/react.js.map +1 -0
- package/dist/features/transcript/schema.d.ts +9 -0
- package/dist/features/transcript/schema.js +9 -0
- package/dist/features/transcript/schema.js.map +1 -0
- package/dist/features/transcript/segment-node.d.ts +21 -0
- package/dist/features/transcript/segment-node.js +113 -0
- package/dist/features/transcript/segment-node.js.map +1 -0
- package/dist/features/transcript/segment.d.ts +10 -0
- package/dist/features/transcript/segment.js +26 -0
- package/dist/features/transcript/segment.js.map +1 -0
- package/dist/features/transcript/speakers.d.ts +8 -0
- package/dist/features/transcript/speakers.js +22 -0
- package/dist/features/transcript/speakers.js.map +1 -0
- package/dist/features/transcript/vue.d.ts +8 -0
- package/dist/features/transcript/vue.js +12 -0
- package/dist/features/transcript/vue.js.map +1 -0
- package/dist/i18n/de/ai.js +168 -0
- package/dist/i18n/de/ai.js.map +1 -0
- package/dist/i18n/de/authors.js +21 -0
- package/dist/i18n/de/authors.js.map +1 -0
- package/dist/i18n/de/block.js +16 -0
- package/dist/i18n/de/block.js.map +1 -0
- package/dist/i18n/de/comments.js +35 -0
- package/dist/i18n/de/comments.js.map +1 -0
- package/dist/i18n/de/common.js +11 -0
- package/dist/i18n/de/common.js.map +1 -0
- package/dist/i18n/de/composites.js +147 -0
- package/dist/i18n/de/composites.js.map +1 -0
- package/dist/i18n/de/integrations.js +42 -0
- package/dist/i18n/de/integrations.js.map +1 -0
- package/dist/i18n/de/markdown.js +16 -0
- package/dist/i18n/de/markdown.js.map +1 -0
- package/dist/i18n/de/media.js +27 -0
- package/dist/i18n/de/media.js.map +1 -0
- package/dist/i18n/de/mentions.js +10 -0
- package/dist/i18n/de/mentions.js.map +1 -0
- package/dist/i18n/de/outline.js +9 -0
- package/dist/i18n/de/outline.js.map +1 -0
- package/dist/i18n/de/settings.js +12 -0
- package/dist/i18n/de/settings.js.map +1 -0
- package/dist/i18n/de/tables.js +15 -0
- package/dist/i18n/de/tables.js.map +1 -0
- package/dist/i18n/de/themes.js +26 -0
- package/dist/i18n/de/themes.js.map +1 -0
- package/dist/i18n/de/toolbar.js +22 -0
- package/dist/i18n/de/toolbar.js.map +1 -0
- package/dist/i18n/de/transcript.js +10 -0
- package/dist/i18n/de/transcript.js.map +1 -0
- package/dist/i18n/de/tree.js +31 -0
- package/dist/i18n/de/tree.js.map +1 -0
- package/dist/i18n/de.d.ts +503 -0
- package/dist/i18n/de.js +42 -0
- package/dist/i18n/de.js.map +1 -0
- package/dist/i18n/en/ai.js +168 -0
- package/dist/i18n/en/ai.js.map +1 -0
- package/dist/i18n/en/authors.js +21 -0
- package/dist/i18n/en/authors.js.map +1 -0
- package/dist/i18n/en/block.js +16 -0
- package/dist/i18n/en/block.js.map +1 -0
- package/dist/i18n/en/comments.js +35 -0
- package/dist/i18n/en/comments.js.map +1 -0
- package/dist/i18n/en/common.js +11 -0
- package/dist/i18n/en/common.js.map +1 -0
- package/dist/i18n/en/composites.js +145 -0
- package/dist/i18n/en/composites.js.map +1 -0
- package/dist/i18n/en/integrations.js +42 -0
- package/dist/i18n/en/integrations.js.map +1 -0
- package/dist/i18n/en/markdown.js +16 -0
- package/dist/i18n/en/markdown.js.map +1 -0
- package/dist/i18n/en/media.js +27 -0
- package/dist/i18n/en/media.js.map +1 -0
- package/dist/i18n/en/mentions.js +10 -0
- package/dist/i18n/en/mentions.js.map +1 -0
- package/dist/i18n/en/outline.js +9 -0
- package/dist/i18n/en/outline.js.map +1 -0
- package/dist/i18n/en/settings.js +12 -0
- package/dist/i18n/en/settings.js.map +1 -0
- package/dist/i18n/en/tables.js +15 -0
- package/dist/i18n/en/tables.js.map +1 -0
- package/dist/i18n/en/themes.js +26 -0
- package/dist/i18n/en/themes.js.map +1 -0
- package/dist/i18n/en/toolbar.js +22 -0
- package/dist/i18n/en/toolbar.js.map +1 -0
- package/dist/i18n/en/transcript.js +10 -0
- package/dist/i18n/en/transcript.js.map +1 -0
- package/dist/i18n/en/tree.js +31 -0
- package/dist/i18n/en/tree.js.map +1 -0
- package/dist/i18n/en.js +42 -0
- package/dist/i18n/en.js.map +1 -0
- package/dist/i18n/index.d.ts +24 -0
- package/dist/i18n/index.js +31 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +0 -0
- package/dist/integrations/composite-ai/composite-fill.d.ts +17 -0
- package/dist/integrations/composite-ai/composite-fill.js +129 -0
- package/dist/integrations/composite-ai/composite-fill.js.map +1 -0
- package/dist/integrations/composite-ai/composite-summary.d.ts +28 -0
- package/dist/integrations/composite-ai/composite-summary.js +143 -0
- package/dist/integrations/composite-ai/composite-summary.js.map +1 -0
- package/dist/integrations/composite-ai/document-transcribe.d.ts +14 -0
- package/dist/integrations/composite-ai/document-transcribe.js +89 -0
- package/dist/integrations/composite-ai/document-transcribe.js.map +1 -0
- package/dist/integrations/composite-ai/index.d.ts +22 -0
- package/dist/integrations/composite-ai/index.js +80 -0
- package/dist/integrations/composite-ai/index.js.map +1 -0
- package/dist/integrations/composite-media/index.d.ts +19 -0
- package/dist/integrations/composite-media/index.js +72 -0
- package/dist/integrations/composite-media/index.js.map +1 -0
- package/dist/integrations/transcript-ai/index.d.ts +16 -0
- package/dist/integrations/transcript-ai/index.js +63 -0
- package/dist/integrations/transcript-ai/index.js.map +1 -0
- package/dist/integrations/transcript-ai/protocol.d.ts +68 -0
- package/dist/integrations/transcript-ai/protocol.js +132 -0
- package/dist/integrations/transcript-ai/protocol.js.map +1 -0
- package/dist/integrations/transcript-ai/transcript-cleanup.d.ts +35 -0
- package/dist/integrations/transcript-ai/transcript-cleanup.js +169 -0
- package/dist/integrations/transcript-ai/transcript-cleanup.js.map +1 -0
- package/dist/markdown/MarkdownSurface.d.ts +25 -0
- package/dist/markdown/MarkdownSurface.js +93 -0
- package/dist/markdown/MarkdownSurface.js.map +1 -0
- package/dist/markdown/MarkdownSurface.vue.d.ts +76 -0
- package/dist/markdown/MarkdownSurface2.js +237 -0
- package/dist/markdown/MarkdownSurface2.js.map +1 -0
- package/dist/markdown/clipboard.d.ts +17 -0
- package/dist/markdown/clipboard.js +125 -0
- package/dist/markdown/clipboard.js.map +1 -0
- package/dist/markdown/document.d.ts +36 -0
- package/dist/markdown/document.js +100 -0
- package/dist/markdown/document.js.map +1 -0
- package/dist/markdown/frontmatter.d.ts +18 -0
- package/dist/markdown/frontmatter.js +32 -0
- package/dist/markdown/frontmatter.js.map +1 -0
- package/dist/markdown/index.d.ts +6 -0
- package/dist/markdown/index.js +6 -0
- package/dist/markdown/policy.d.ts +34 -0
- package/dist/markdown/policy.js +78 -0
- package/dist/markdown/policy.js.map +1 -0
- package/dist/markdown/react.d.ts +2 -0
- package/dist/markdown/react.js +1 -0
- package/dist/markdown/source-mode.d.ts +49 -0
- package/dist/markdown/source-mode.js +86 -0
- package/dist/markdown/source-mode.js.map +1 -0
- package/dist/markdown/vue.d.ts +2 -0
- package/dist/markdown/vue.js +1 -0
- package/dist/nuxt/module.d.ts +68 -0
- package/dist/nuxt/module.js +103 -0
- package/dist/nuxt/module.js.map +1 -0
- package/dist/nuxt/runtime/install-context.d.ts +17 -0
- package/dist/nuxt/runtime/install-context.js +26 -0
- package/dist/nuxt/runtime/install-context.js.map +1 -0
- package/dist/nuxt/runtime/plugins/editor-context-nuxt-ui.client.ts +8 -0
- package/dist/nuxt/runtime/plugins/editor-context-primevue.client.ts +8 -0
- package/dist/nuxt/runtime/server/api/ai/chat.post.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/ai/chat.post.js +8 -0
- package/dist/nuxt/runtime/server/api/ai/chat.post.js.map +1 -0
- package/dist/nuxt/runtime/server/api/ai/complete.post.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/ai/complete.post.js +8 -0
- package/dist/nuxt/runtime/server/api/ai/complete.post.js.map +1 -0
- package/dist/nuxt/runtime/server/api/ai/generate.post.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/ai/generate.post.js +8 -0
- package/dist/nuxt/runtime/server/api/ai/generate.post.js.map +1 -0
- package/dist/nuxt/runtime/server/api/ai/models.get.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/ai/models.get.js +8 -0
- package/dist/nuxt/runtime/server/api/ai/models.get.js.map +1 -0
- package/dist/nuxt/runtime/server/api/ai/transcribe.post.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/ai/transcribe.post.js +8 -0
- package/dist/nuxt/runtime/server/api/ai/transcribe.post.js.map +1 -0
- package/dist/nuxt/runtime/server/api/ai/transcript-cleanup.post.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/ai/transcript-cleanup.post.js +8 -0
- package/dist/nuxt/runtime/server/api/ai/transcript-cleanup.post.js.map +1 -0
- package/dist/nuxt/runtime/server/api/editor/assets/[id]/[name].get.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/editor/assets/[id]/[name].get.js +8 -0
- package/dist/nuxt/runtime/server/api/editor/assets/[id]/[name].get.js.map +1 -0
- package/dist/nuxt/runtime/server/api/editor/assets/[id].post.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/editor/assets/[id].post.js +8 -0
- package/dist/nuxt/runtime/server/api/editor/assets/[id].post.js.map +1 -0
- package/dist/nuxt/runtime/server/api/editor/settings.get.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/editor/settings.get.js +8 -0
- package/dist/nuxt/runtime/server/api/editor/settings.get.js.map +1 -0
- package/dist/nuxt/runtime/server/api/editor/settings.put.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/editor/settings.put.js +8 -0
- package/dist/nuxt/runtime/server/api/editor/settings.put.js.map +1 -0
- package/dist/nuxt/runtime/server/api/editor/tags.get.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/editor/tags.get.js +8 -0
- package/dist/nuxt/runtime/server/api/editor/tags.get.js.map +1 -0
- package/dist/nuxt/runtime/server/api/editor/themes/[id].delete.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/editor/themes/[id].delete.js +8 -0
- package/dist/nuxt/runtime/server/api/editor/themes/[id].delete.js.map +1 -0
- package/dist/nuxt/runtime/server/api/editor/themes/[id].get.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/editor/themes/[id].get.js +8 -0
- package/dist/nuxt/runtime/server/api/editor/themes/[id].get.js.map +1 -0
- package/dist/nuxt/runtime/server/api/editor/themes/index.get.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/editor/themes/index.get.js +8 -0
- package/dist/nuxt/runtime/server/api/editor/themes/index.get.js.map +1 -0
- package/dist/nuxt/runtime/server/api/editor/themes/index.post.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/editor/themes/index.post.js +8 -0
- package/dist/nuxt/runtime/server/api/editor/themes/index.post.js.map +1 -0
- package/dist/nuxt/runtime/server/api/editor/users.get.d.ts +5 -0
- package/dist/nuxt/runtime/server/api/editor/users.get.js +8 -0
- package/dist/nuxt/runtime/server/api/editor/users.get.js.map +1 -0
- package/dist/nuxt/runtime/server/plugins/collab.d.ts +5 -0
- package/dist/nuxt/runtime/server/plugins/collab.js +10 -0
- package/dist/nuxt/runtime/server/plugins/collab.js.map +1 -0
- package/dist/nuxt/runtime/server/plugins/editor-server.d.ts +5 -0
- package/dist/nuxt/runtime/server/plugins/editor-server.js +20 -0
- package/dist/nuxt/runtime/server/plugins/editor-server.js.map +1 -0
- package/dist/nuxt/runtime/server/routes/collab/[id].d.ts +5 -0
- package/dist/nuxt/runtime/server/routes/collab/[id].js +35 -0
- package/dist/nuxt/runtime/server/routes/collab/[id].js.map +1 -0
- package/dist/nuxt/runtime/server/utils/editor-route.d.ts +11 -0
- package/dist/nuxt/runtime/server/utils/editor-route.js +49 -0
- package/dist/nuxt/runtime/server/utils/editor-route.js.map +1 -0
- package/dist/outline/EditorOutline.js +124 -0
- package/dist/outline/EditorOutline.js.map +1 -0
- package/dist/outline/EditorOutline.vue.d.ts +15 -0
- package/dist/outline/heading-outline.d.ts +26 -0
- package/dist/outline/heading-outline.js +46 -0
- package/dist/outline/heading-outline.js.map +1 -0
- package/dist/outline/index.d.ts +2 -0
- package/dist/outline/index.js +1 -0
- package/dist/outline/react/EditorOutline.d.ts +12 -0
- package/dist/outline/react/EditorOutline.js +112 -0
- package/dist/outline/react/EditorOutline.js.map +1 -0
- package/dist/outline/react.d.ts +2 -0
- package/dist/outline/react.js +1 -0
- package/dist/outline/vue.d.ts +2 -0
- package/dist/outline/vue.js +1 -0
- package/dist/presets/advanced.d.ts +33 -0
- package/dist/presets/advanced.js +50 -0
- package/dist/presets/advanced.js.map +1 -0
- package/dist/presets/simple.d.ts +9 -0
- package/dist/presets/simple.js +12 -0
- package/dist/presets/simple.js.map +1 -0
- package/dist/react/AdvancedEditor.d.ts +23 -0
- package/dist/react/AdvancedEditor.js +24 -0
- package/dist/react/AdvancedEditor.js.map +1 -0
- package/dist/react/EditorSettingsModal.d.ts +14 -0
- package/dist/react/EditorSettingsModal.js +40 -0
- package/dist/react/EditorSettingsModal.js.map +1 -0
- package/dist/react/EditorSettingsPanel.d.ts +18 -0
- package/dist/react/EditorSettingsPanel.js +40 -0
- package/dist/react/EditorSettingsPanel.js.map +1 -0
- package/dist/react/EditorSurface.d.ts +61 -0
- package/dist/react/EditorSurface.js +277 -0
- package/dist/react/EditorSurface.js.map +1 -0
- package/dist/react/EditorToolbar.d.ts +15 -0
- package/dist/react/EditorToolbar.js +182 -0
- package/dist/react/EditorToolbar.js.map +1 -0
- package/dist/react/Icon.d.ts +13 -0
- package/dist/react/Icon.js +19 -0
- package/dist/react/Icon.js.map +1 -0
- package/dist/react/SettingsSection.d.ts +10 -0
- package/dist/react/SettingsSection.js +22 -0
- package/dist/react/SettingsSection.js.map +1 -0
- package/dist/react/SimpleEditor.d.ts +27 -0
- package/dist/react/SimpleEditor.js +22 -0
- package/dist/react/SimpleEditor.js.map +1 -0
- package/dist/react/advanced-preset.d.ts +11 -0
- package/dist/react/advanced-preset.js +31 -0
- package/dist/react/advanced-preset.js.map +1 -0
- package/dist/react/advanced.d.ts +4 -0
- package/dist/react/advanced.js +3 -0
- package/dist/react/context.d.ts +12 -0
- package/dist/react/context.js +21 -0
- package/dist/react/context.js.map +1 -0
- package/dist/react/editor-ui.d.ts +14 -0
- package/dist/react/editor-ui.js +20 -0
- package/dist/react/editor-ui.js.map +1 -0
- package/dist/react/index.d.ts +17 -0
- package/dist/react/index.js +17 -0
- package/dist/react/notify.d.ts +6 -0
- package/dist/react/notify.js +25 -0
- package/dist/react/notify.js.map +1 -0
- package/dist/react/settings.d.ts +17 -0
- package/dist/react/settings.js +27 -0
- package/dist/react/settings.js.map +1 -0
- package/dist/react/simple.d.ts +2 -0
- package/dist/react/simple.js +1 -0
- package/dist/react/styles/advanced.css +18 -0
- package/dist/react/styles/themes-bridge.css +26 -0
- package/dist/react/styles/ui-vars.css +20 -0
- package/dist/react/suggestion-renderer.d.ts +12 -0
- package/dist/react/suggestion-renderer.js +90 -0
- package/dist/react/suggestion-renderer.js.map +1 -0
- package/dist/react/ui/alert.js +38 -0
- package/dist/react/ui/alert.js.map +1 -0
- package/dist/react/ui/avatar.js +24 -0
- package/dist/react/ui/avatar.js.map +1 -0
- package/dist/react/ui/badge.js +30 -0
- package/dist/react/ui/badge.js.map +1 -0
- package/dist/react/ui/button.js +50 -0
- package/dist/react/ui/button.js.map +1 -0
- package/dist/react/ui/collapsible.js +19 -0
- package/dist/react/ui/collapsible.js.map +1 -0
- package/dist/react/ui/command.js +47 -0
- package/dist/react/ui/command.js.map +1 -0
- package/dist/react/ui/dialog.js +88 -0
- package/dist/react/ui/dialog.js.map +1 -0
- package/dist/react/ui/dropdown-menu.js +70 -0
- package/dist/react/ui/dropdown-menu.js.map +1 -0
- package/dist/react/ui/input-group.js +57 -0
- package/dist/react/ui/input-group.js.map +1 -0
- package/dist/react/ui/input.js +16 -0
- package/dist/react/ui/input.js.map +1 -0
- package/dist/react/ui/label.js +17 -0
- package/dist/react/ui/label.js.map +1 -0
- package/dist/react/ui/popover.js +36 -0
- package/dist/react/ui/popover.js.map +1 -0
- package/dist/react/ui/radio-group.js +29 -0
- package/dist/react/ui/radio-group.js.map +1 -0
- package/dist/react/ui/select.js +88 -0
- package/dist/react/ui/select.js.map +1 -0
- package/dist/react/ui/separator.js +18 -0
- package/dist/react/ui/separator.js.map +1 -0
- package/dist/react/ui/switch.js +21 -0
- package/dist/react/ui/switch.js.map +1 -0
- package/dist/react/ui/table.js +44 -0
- package/dist/react/ui/table.js.map +1 -0
- package/dist/react/ui/tabs.js +41 -0
- package/dist/react/ui/tabs.js.map +1 -0
- package/dist/react/ui/textarea.js +15 -0
- package/dist/react/ui/textarea.js.map +1 -0
- package/dist/react/ui/tooltip.js +37 -0
- package/dist/react/ui/tooltip.js.map +1 -0
- package/dist/react/ui/utils.d.ts +5 -0
- package/dist/react/ui/utils.js +10 -0
- package/dist/react/ui/utils.js.map +1 -0
- package/dist/react/use-editor-i18n.d.ts +12 -0
- package/dist/react/use-editor-i18n.js +17 -0
- package/dist/react/use-editor-i18n.js.map +1 -0
- package/dist/react/use-notifier.d.ts +11 -0
- package/dist/react/use-notifier.js +25 -0
- package/dist/react/use-notifier.js.map +1 -0
- package/dist/react/use-store.d.ts +6 -0
- package/dist/react/use-store.js +10 -0
- package/dist/react/use-store.js.map +1 -0
- package/dist/schema/advanced.d.ts +14 -0
- package/dist/schema/advanced.js +43 -0
- package/dist/schema/advanced.js.map +1 -0
- package/dist/schema/simple.d.ts +10 -0
- package/dist/schema/simple.js +13 -0
- package/dist/schema/simple.js.map +1 -0
- package/dist/server/adapter.d.ts +101 -0
- package/dist/server/ai.d.ts +101 -0
- package/dist/server/ai.js +105 -0
- package/dist/server/ai.js.map +1 -0
- package/dist/server/collab-state.d.ts +16 -0
- package/dist/server/collab-state.js +43 -0
- package/dist/server/collab-state.js.map +1 -0
- package/dist/server/collab.d.ts +68 -0
- package/dist/server/collab.js +187 -0
- package/dist/server/collab.js.map +1 -0
- package/dist/server/errors.d.ts +17 -0
- package/dist/server/errors.js +26 -0
- package/dist/server/errors.js.map +1 -0
- package/dist/server/handlers/ai.d.ts +223 -0
- package/dist/server/handlers/ai.js +422 -0
- package/dist/server/handlers/ai.js.map +1 -0
- package/dist/server/handlers/context.d.ts +64 -0
- package/dist/server/handlers/context.js +85 -0
- package/dist/server/handlers/context.js.map +1 -0
- package/dist/server/handlers/editor.d.ts +107 -0
- package/dist/server/handlers/editor.js +241 -0
- package/dist/server/handlers/editor.js.map +1 -0
- package/dist/server/handlers/index.d.ts +4 -0
- package/dist/server/handlers/index.js +4 -0
- package/dist/server/host.d.ts +61 -0
- package/dist/server/host.js +105 -0
- package/dist/server/host.js.map +1 -0
- package/dist/server/index.d.ts +8 -0
- package/dist/server/index.js +7 -0
- package/dist/server/node.d.ts +24 -0
- package/dist/server/node.js +54 -0
- package/dist/server/node.js.map +1 -0
- package/dist/server/rate-limit.d.ts +22 -0
- package/dist/server/rate-limit.js +34 -0
- package/dist/server/rate-limit.js.map +1 -0
- package/dist/settings/index.d.ts +110 -0
- package/dist/settings/index.js +114 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/settings/values.d.ts +35 -0
- package/dist/settings/values.js +41 -0
- package/dist/settings/values.js.map +1 -0
- package/dist/styles/ai.css +77 -0
- package/dist/styles/authors.css +18 -0
- package/dist/styles/block-ui.css +16 -0
- package/dist/styles/collab.css +26 -0
- package/dist/styles/comments.css +11 -0
- package/dist/styles/composites.css +56 -0
- package/dist/styles/core.css +99 -0
- package/dist/styles/media.css +8 -0
- package/dist/styles/mentions.css +24 -0
- package/dist/styles/tables.css +25 -0
- package/dist/styles/themes.css +622 -0
- package/dist/styles/tokens.css +29 -0
- package/dist/styles/transcript.css +13 -0
- package/dist/tree/DocumentTree.js +595 -0
- package/dist/tree/DocumentTree.js.map +1 -0
- package/dist/tree/DocumentTree.vue.d.ts +36 -0
- package/dist/tree/folder-paths.js +11 -0
- package/dist/tree/folder-paths.js.map +1 -0
- package/dist/tree/index.d.ts +4 -0
- package/dist/tree/index.js +1 -0
- package/dist/tree/react/DocumentTree.d.ts +24 -0
- package/dist/tree/react/DocumentTree.js +579 -0
- package/dist/tree/react/DocumentTree.js.map +1 -0
- package/dist/tree/react/use-tree-view.d.ts +14 -0
- package/dist/tree/react/use-tree-view.js +21 -0
- package/dist/tree/react/use-tree-view.js.map +1 -0
- package/dist/tree/react.d.ts +3 -0
- package/dist/tree/react.js +3 -0
- package/dist/tree/store.d.ts +45 -0
- package/dist/tree/tree-items.js +221 -0
- package/dist/tree/tree-items.js.map +1 -0
- package/dist/tree/tree-view-model.d.ts +29 -0
- package/dist/tree/tree-view-model.js +71 -0
- package/dist/tree/tree-view-model.js.map +1 -0
- package/dist/tree/tree-view.d.ts +15 -0
- package/dist/tree/tree-view.js +21 -0
- package/dist/tree/tree-view.js.map +1 -0
- package/dist/tree/types.d.ts +23 -0
- package/dist/tree/types.js +0 -0
- package/dist/tree/vue.d.ts +3 -0
- package/dist/tree/vue.js +3 -0
- package/dist/vue/AdvancedEditor.js +100 -0
- package/dist/vue/AdvancedEditor.js.map +1 -0
- package/dist/vue/AdvancedEditor.vue.d.ts +71 -0
- package/dist/vue/SimpleEditor.js +61 -0
- package/dist/vue/SimpleEditor.js.map +1 -0
- package/dist/vue/SimpleEditor.vue.d.ts +36 -0
- package/dist/vue/advanced-preset.d.ts +13 -0
- package/dist/vue/advanced-preset.js +33 -0
- package/dist/vue/advanced-preset.js.map +1 -0
- package/dist/vue/advanced.d.ts +3 -0
- package/dist/vue/advanced.js +3 -0
- package/dist/vue/components/EditorSettingsModal.js +69 -0
- package/dist/vue/components/EditorSettingsModal.js.map +1 -0
- package/dist/vue/components/EditorSettingsModal.vue.d.ts +24 -0
- package/dist/vue/components/EditorSettingsPanel.js +58 -0
- package/dist/vue/components/EditorSettingsPanel.js.map +1 -0
- package/dist/vue/components/EditorSettingsPanel.vue.d.ts +29 -0
- package/dist/vue/components/EditorSurface.js +229 -0
- package/dist/vue/components/EditorSurface.js.map +1 -0
- package/dist/vue/components/EditorSurface.vue.d.ts +68 -0
- package/dist/vue/components/EditorToolbar.js +189 -0
- package/dist/vue/components/EditorToolbar.js.map +1 -0
- package/dist/vue/components/EditorToolbar.vue.d.ts +17 -0
- package/dist/vue/components/SettingsSection.js +26 -0
- package/dist/vue/components/SettingsSection.js.map +1 -0
- package/dist/vue/components/SettingsSection.vue.d.ts +21 -0
- package/dist/vue/components/SuggestionList.js +91 -0
- package/dist/vue/components/SuggestionList.js.map +1 -0
- package/dist/vue/components/SuggestionList.vue.d.ts +19 -0
- package/dist/vue/context.d.ts +24 -0
- package/dist/vue/context.js +41 -0
- package/dist/vue/context.js.map +1 -0
- package/dist/vue/index.d.ts +26 -0
- package/dist/vue/index.js +16 -0
- package/dist/vue/kit/index.d.ts +3 -0
- package/dist/vue/kit/index.js +1 -0
- package/dist/vue/kit/nuxt-ui.css +24 -0
- package/dist/vue/kit/nuxt-ui.d.ts +31 -0
- package/dist/vue/kit/nuxt-ui.js +101 -0
- package/dist/vue/kit/nuxt-ui.js.map +1 -0
- package/dist/vue/kit/primevue/Alert.js +49 -0
- package/dist/vue/kit/primevue/Alert.js.map +1 -0
- package/dist/vue/kit/primevue/Avatar.js +54 -0
- package/dist/vue/kit/primevue/Avatar.js.map +1 -0
- package/dist/vue/kit/primevue/Badge.js +41 -0
- package/dist/vue/kit/primevue/Badge.js.map +1 -0
- package/dist/vue/kit/primevue/Button.js +112 -0
- package/dist/vue/kit/primevue/Button.js.map +1 -0
- package/dist/vue/kit/primevue/Chip.js +38 -0
- package/dist/vue/kit/primevue/Chip.js.map +1 -0
- package/dist/vue/kit/primevue/DropdownMenu.js +98 -0
- package/dist/vue/kit/primevue/DropdownMenu.js.map +1 -0
- package/dist/vue/kit/primevue/FieldGroup.js +22 -0
- package/dist/vue/kit/primevue/FieldGroup.js.map +1 -0
- package/dist/vue/kit/primevue/FormField.js +56 -0
- package/dist/vue/kit/primevue/FormField.js.map +1 -0
- package/dist/vue/kit/primevue/Icon.js +23 -0
- package/dist/vue/kit/primevue/Icon.js.map +1 -0
- package/dist/vue/kit/primevue/Input.js +96 -0
- package/dist/vue/kit/primevue/Input.js.map +1 -0
- package/dist/vue/kit/primevue/InputMenu.js +122 -0
- package/dist/vue/kit/primevue/InputMenu.js.map +1 -0
- package/dist/vue/kit/primevue/Modal.js +59 -0
- package/dist/vue/kit/primevue/Modal.js.map +1 -0
- package/dist/vue/kit/primevue/Popover.js +135 -0
- package/dist/vue/kit/primevue/Popover.js.map +1 -0
- package/dist/vue/kit/primevue/RadioGroup.js +58 -0
- package/dist/vue/kit/primevue/RadioGroup.js.map +1 -0
- package/dist/vue/kit/primevue/Select.js +68 -0
- package/dist/vue/kit/primevue/Select.js.map +1 -0
- package/dist/vue/kit/primevue/SelectMenu.js +94 -0
- package/dist/vue/kit/primevue/SelectMenu.js.map +1 -0
- package/dist/vue/kit/primevue/Separator.js +16 -0
- package/dist/vue/kit/primevue/Separator.js.map +1 -0
- package/dist/vue/kit/primevue/Switch.js +46 -0
- package/dist/vue/kit/primevue/Switch.js.map +1 -0
- package/dist/vue/kit/primevue/Table.js +54 -0
- package/dist/vue/kit/primevue/Table.js.map +1 -0
- package/dist/vue/kit/primevue/Tabs.js +49 -0
- package/dist/vue/kit/primevue/Tabs.js.map +1 -0
- package/dist/vue/kit/primevue/Textarea.js +55 -0
- package/dist/vue/kit/primevue/Textarea.js.map +1 -0
- package/dist/vue/kit/primevue/Tooltip.js +43 -0
- package/dist/vue/kit/primevue/Tooltip.js.map +1 -0
- package/dist/vue/kit/primevue/Tree.js +75 -0
- package/dist/vue/kit/primevue/Tree.js.map +1 -0
- package/dist/vue/kit/primevue/select-options.js +55 -0
- package/dist/vue/kit/primevue/select-options.js.map +1 -0
- package/dist/vue/kit/primevue/shared.js +49 -0
- package/dist/vue/kit/primevue/shared.js.map +1 -0
- package/dist/vue/kit/primevue/trigger.js +25 -0
- package/dist/vue/kit/primevue/trigger.js.map +1 -0
- package/dist/vue/kit/primevue.css +86 -0
- package/dist/vue/kit/primevue.d.ts +33 -0
- package/dist/vue/kit/primevue.js +96 -0
- package/dist/vue/kit/primevue.js.map +1 -0
- package/dist/vue/kit/types.d.ts +370 -0
- package/dist/vue/kit/use-ui-kit.d.ts +12 -0
- package/dist/vue/kit/use-ui-kit.js +17 -0
- package/dist/vue/kit/use-ui-kit.js.map +1 -0
- package/dist/vue/notify.d.ts +12 -0
- package/dist/vue/notify.js +27 -0
- package/dist/vue/notify.js.map +1 -0
- package/dist/vue/settings.d.ts +16 -0
- package/dist/vue/settings.js +64 -0
- package/dist/vue/settings.js.map +1 -0
- package/dist/vue/simple.d.ts +2 -0
- package/dist/vue/simple.js +1 -0
- package/dist/vue/store-ref.d.ts +20 -0
- package/dist/vue/store-ref.js +59 -0
- package/dist/vue/store-ref.js.map +1 -0
- package/dist/vue/suggestion-renderer.d.ts +6 -0
- package/dist/vue/suggestion-renderer.js +20 -0
- package/dist/vue/suggestion-renderer.js.map +1 -0
- package/dist/vue/use-editor-i18n.d.ts +12 -0
- package/dist/vue/use-editor-i18n.js +17 -0
- package/dist/vue/use-editor-i18n.js.map +1 -0
- package/dist/vue/use-editor-ui.d.ts +15 -0
- package/dist/vue/use-editor-ui.js +23 -0
- package/dist/vue/use-editor-ui.js.map +1 -0
- package/dist/vue/use-notifier.d.ts +11 -0
- package/dist/vue/use-notifier.js +19 -0
- package/dist/vue/use-notifier.js.map +1 -0
- package/docs/extending.md +538 -0
- package/docs/integration.md +537 -0
- package/docs/llms.md +375 -0
- package/docs/usage.md +1071 -0
- package/package.json +634 -4
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { useUiKit } from "../../../vue/kit/use-ui-kit.js";
|
|
2
|
+
import { useEditorI18n } from "../../../vue/use-editor-i18n.js";
|
|
3
|
+
import { useComments } from "../use-comments.js";
|
|
4
|
+
import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, ref, renderList, toDisplayString, unref, withCtx, withModifiers } from "vue";
|
|
5
|
+
//#region src/features/comments/components/CommentsListMenu.vue
|
|
6
|
+
const _hoisted_1 = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "p-3 text-sm text-[var(--sk-muted)]"
|
|
9
|
+
};
|
|
10
|
+
const _hoisted_2 = {
|
|
11
|
+
key: 1,
|
|
12
|
+
class: "flex flex-col p-1 text-sm"
|
|
13
|
+
};
|
|
14
|
+
const _hoisted_3 = {
|
|
15
|
+
key: 0,
|
|
16
|
+
class: "p-2 text-[var(--sk-muted)]"
|
|
17
|
+
};
|
|
18
|
+
const _hoisted_4 = {
|
|
19
|
+
key: 0,
|
|
20
|
+
class: "mt-1 border-t border-[var(--sk-border)] px-2 pt-1.5 text-xs font-medium text-[var(--sk-muted)]"
|
|
21
|
+
};
|
|
22
|
+
const _hoisted_5 = ["onClick"];
|
|
23
|
+
const _hoisted_6 = { class: "flex items-center gap-1.5 text-xs" };
|
|
24
|
+
const _hoisted_7 = { class: "truncate font-medium" };
|
|
25
|
+
const _hoisted_8 = {
|
|
26
|
+
key: 0,
|
|
27
|
+
class: "ml-auto shrink-0 text-[var(--sk-muted)]"
|
|
28
|
+
};
|
|
29
|
+
const _hoisted_9 = {
|
|
30
|
+
key: 0,
|
|
31
|
+
class: "text-xs text-[var(--sk-muted)] italic"
|
|
32
|
+
};
|
|
33
|
+
const _hoisted_10 = {
|
|
34
|
+
key: 1,
|
|
35
|
+
class: "truncate border-l-2 border-[var(--sk-border)] pl-2 text-xs text-[var(--sk-muted)]"
|
|
36
|
+
};
|
|
37
|
+
const _hoisted_11 = { class: "line-clamp-2" };
|
|
38
|
+
const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
39
|
+
__name: "CommentsListMenu",
|
|
40
|
+
props: { editor: {} },
|
|
41
|
+
setup(__props) {
|
|
42
|
+
/**
|
|
43
|
+
* Toolbar entry of the inline comments layout: a „Kommentare“ button with the number of open threads and a list of
|
|
44
|
+
* all threads (open ones in document order, then „Erledigt“). A row closes the list and opens the thread in the
|
|
45
|
+
* `CommentsPopover` at its text (selected and scrolled into view). Without collaboration the list explains that
|
|
46
|
+
* comments need a shared document.
|
|
47
|
+
*/
|
|
48
|
+
const props = __props;
|
|
49
|
+
const { Avatar: UAvatar, Button: UButton, Chip: UChip, Popover: UPopover, Tooltip: UTooltip } = useUiKit();
|
|
50
|
+
const { t } = useEditorI18n();
|
|
51
|
+
const comments = useComments(() => props.editor);
|
|
52
|
+
const listOpen = ref(false);
|
|
53
|
+
const initials = (name) => name.slice(0, 2).toUpperCase();
|
|
54
|
+
function show(id) {
|
|
55
|
+
listOpen.value = false;
|
|
56
|
+
comments.activate(id, { reveal: true });
|
|
57
|
+
}
|
|
58
|
+
return (_ctx, _cache) => {
|
|
59
|
+
return openBlock(), createBlock(unref(UPopover), {
|
|
60
|
+
open: listOpen.value,
|
|
61
|
+
"onUpdate:open": _cache[1] || (_cache[1] = ($event) => listOpen.value = $event),
|
|
62
|
+
content: {
|
|
63
|
+
side: "bottom",
|
|
64
|
+
align: "end"
|
|
65
|
+
},
|
|
66
|
+
ui: { content: "w-72 max-h-[70vh] overflow-auto" }
|
|
67
|
+
}, {
|
|
68
|
+
content: withCtx(() => [!unref(comments).available.value ? (openBlock(), createElementBlock("p", _hoisted_1, toDisplayString(unref(t)("comments.unavailable")), 1)) : (openBlock(), createElementBlock("div", _hoisted_2, [!unref(comments).threads.value.length ? (openBlock(), createElementBlock("p", _hoisted_3, toDisplayString(unref(t)("comments.empty")), 1)) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList([{
|
|
69
|
+
label: null,
|
|
70
|
+
list: unref(comments).open.value
|
|
71
|
+
}, {
|
|
72
|
+
label: unref(t)("comments.resolved"),
|
|
73
|
+
list: unref(comments).resolved.value
|
|
74
|
+
}], (section) => {
|
|
75
|
+
return openBlock(), createElementBlock(Fragment, { key: section.label ?? "open" }, [section.label && section.list.length ? (openBlock(), createElementBlock("p", _hoisted_4, toDisplayString(section.label), 1)) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(section.list, (thread) => {
|
|
76
|
+
return openBlock(), createElementBlock("button", {
|
|
77
|
+
key: thread.id,
|
|
78
|
+
type: "button",
|
|
79
|
+
class: normalizeClass(["flex w-full flex-col gap-0.5 rounded-md px-2 py-1.5 text-left hover:bg-[var(--sk-bg-elevated)]", { "opacity-60": thread.resolved }]),
|
|
80
|
+
onClick: ($event) => show(thread.id)
|
|
81
|
+
}, [
|
|
82
|
+
createElementVNode("span", _hoisted_6, [
|
|
83
|
+
createVNode(unref(UAvatar), {
|
|
84
|
+
size: "2xs",
|
|
85
|
+
text: initials(thread.author.name),
|
|
86
|
+
alt: thread.author.name,
|
|
87
|
+
style: normalizeStyle({ backgroundColor: thread.author.color })
|
|
88
|
+
}, null, 8, [
|
|
89
|
+
"text",
|
|
90
|
+
"alt",
|
|
91
|
+
"style"
|
|
92
|
+
]),
|
|
93
|
+
createElementVNode("span", _hoisted_7, toDisplayString(thread.author.name), 1),
|
|
94
|
+
thread.replies.length ? (openBlock(), createElementBlock("span", _hoisted_8, toDisplayString(unref(t)("comments.repliesShort", { n: thread.replies.length })), 1)) : createCommentVNode("v-if", true)
|
|
95
|
+
]),
|
|
96
|
+
unref(comments).isOrphan(thread.id) ? (openBlock(), createElementBlock("span", _hoisted_9, toDisplayString(unref(t)("comments.orphan")), 1)) : (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString(thread.quote), 1)),
|
|
97
|
+
createElementVNode("span", _hoisted_11, toDisplayString(thread.text), 1)
|
|
98
|
+
], 10, _hoisted_5);
|
|
99
|
+
}), 128))], 64);
|
|
100
|
+
}), 128))]))]),
|
|
101
|
+
default: withCtx(() => [createVNode(unref(UTooltip), { text: unref(t)("comments.title") }, {
|
|
102
|
+
default: withCtx(() => [createVNode(unref(UChip), {
|
|
103
|
+
text: unref(comments).open.value.length,
|
|
104
|
+
show: unref(comments).open.value.length > 0,
|
|
105
|
+
size: "3xl"
|
|
106
|
+
}, {
|
|
107
|
+
default: withCtx(() => [createVNode(unref(UButton), {
|
|
108
|
+
color: "neutral",
|
|
109
|
+
variant: "ghost",
|
|
110
|
+
"active-color": "primary",
|
|
111
|
+
"active-variant": "soft",
|
|
112
|
+
icon: "i-lucide-message-square-text",
|
|
113
|
+
"aria-label": unref(t)("comments.title"),
|
|
114
|
+
active: listOpen.value,
|
|
115
|
+
disabled: !props.editor,
|
|
116
|
+
onMousedown: _cache[0] || (_cache[0] = withModifiers(() => {}, ["prevent"]))
|
|
117
|
+
}, null, 8, [
|
|
118
|
+
"aria-label",
|
|
119
|
+
"active",
|
|
120
|
+
"disabled"
|
|
121
|
+
])]),
|
|
122
|
+
_: 1
|
|
123
|
+
}, 8, ["text", "show"])]),
|
|
124
|
+
_: 1
|
|
125
|
+
}, 8, ["text"])]),
|
|
126
|
+
_: 1
|
|
127
|
+
}, 8, ["open"]);
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
//#endregion
|
|
132
|
+
export { _sfc_main as default };
|
|
133
|
+
|
|
134
|
+
//# sourceMappingURL=CommentsListMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommentsListMenu.js","names":["_openBlock","_createBlock","_unref","_withCtx","_createElementBlock","_toDisplayString","_createCommentVNode","_Fragment","_renderList","_normalizeClass","_createElementVNode","_createVNode","_normalizeStyle","_withModifiers"],"sources":["../../../../src/features/comments/components/CommentsListMenu.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Toolbar entry of the inline comments layout: a „Kommentare“ button with the number of open threads and a list of\n * all threads (open ones in document order, then „Erledigt“). A row closes the list and opens the thread in the\n * `CommentsPopover` at its text (selected and scrolled into view). Without collaboration the list explains that\n * comments need a shared document.\n */\nimport { useUiKit } from '../../../vue/kit/use-ui-kit'\nimport type { Editor } from '@tiptap/vue-3'\nimport { ref } from 'vue'\nimport { useEditorI18n } from '../../../vue/use-editor-i18n'\nimport { useComments } from '../use-comments'\n\nconst props = defineProps<{ editor: Editor | undefined }>()\nconst { Avatar: UAvatar, Button: UButton, Chip: UChip, Popover: UPopover, Tooltip: UTooltip } = useUiKit()\nconst { t } = useEditorI18n()\n\nconst comments = useComments(() => props.editor)\nconst listOpen = ref(false)\nconst initials = (name: string) => name.slice(0, 2).toUpperCase()\n\nfunction show(id: string) {\n listOpen.value = false\n comments.activate(id, { reveal: true })\n}\n</script>\n\n<template>\n <UPopover v-model:open=\"listOpen\" :content=\"{ side: 'bottom', align: 'end' }\" :ui=\"{ content: 'w-72 max-h-[70vh] overflow-auto' }\">\n <UTooltip :text=\"t('comments.title')\">\n <UChip :text=\"comments.open.value.length\" :show=\"comments.open.value.length > 0\" size=\"3xl\">\n <UButton\n color=\"neutral\"\n variant=\"ghost\"\n active-color=\"primary\"\n active-variant=\"soft\"\n icon=\"i-lucide-message-square-text\"\n :aria-label=\"t('comments.title')\"\n :active=\"listOpen\"\n :disabled=\"!props.editor\"\n @mousedown.prevent\n />\n </UChip>\n </UTooltip>\n\n <template #content>\n <p v-if=\"!comments.available.value\" class=\"p-3 text-sm text-[var(--sk-muted)]\">\n {{ t('comments.unavailable') }}\n </p>\n <div v-else class=\"flex flex-col p-1 text-sm\">\n <p v-if=\"!comments.threads.value.length\" class=\"p-2 text-[var(--sk-muted)]\">\n {{ t('comments.empty') }}\n </p>\n <template\n v-for=\"section in [{ label: null, list: comments.open.value }, { label: t('comments.resolved'), list: comments.resolved.value }]\"\n :key=\"section.label ?? 'open'\"\n >\n <p v-if=\"section.label && section.list.length\" class=\"mt-1 border-t border-[var(--sk-border)] px-2 pt-1.5 text-xs font-medium text-[var(--sk-muted)]\">\n {{ section.label }}\n </p>\n <button\n v-for=\"thread in section.list\"\n :key=\"thread.id\"\n type=\"button\"\n class=\"flex w-full flex-col gap-0.5 rounded-md px-2 py-1.5 text-left hover:bg-[var(--sk-bg-elevated)]\"\n :class=\"{ 'opacity-60': thread.resolved }\"\n @click=\"show(thread.id)\"\n >\n <span class=\"flex items-center gap-1.5 text-xs\">\n <UAvatar size=\"2xs\" :text=\"initials(thread.author.name)\" :alt=\"thread.author.name\" :style=\"{ backgroundColor: thread.author.color }\" />\n <span class=\"truncate font-medium\">{{ thread.author.name }}</span>\n <span v-if=\"thread.replies.length\" class=\"ml-auto shrink-0 text-[var(--sk-muted)]\">{{ t('comments.repliesShort', { n: thread.replies.length }) }}</span>\n </span>\n <span v-if=\"comments.isOrphan(thread.id)\" class=\"text-xs text-[var(--sk-muted)] italic\">{{ t('comments.orphan') }}</span>\n <span v-else class=\"truncate border-l-2 border-[var(--sk-border)] pl-2 text-xs text-[var(--sk-muted)]\">{{ thread.quote }}</span>\n <span class=\"line-clamp-2\">{{ thread.text }}</span>\n </button>\n </template>\n </div>\n </template>\n </UPopover>\n</template>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Editor } from "@tiptap/vue-3";
|
|
2
|
+
//#region src/features/comments/components/CommentsListMenu.vue.d.ts
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
editor: Editor | undefined;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { _default as default };
|
|
10
|
+
//# sourceMappingURL=CommentsListMenu.vue.d.ts.map
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
import { useUiKit } from "../../../vue/kit/use-ui-kit.js";
|
|
2
|
+
import { useEditorSettings } from "../../../vue/settings.js";
|
|
3
|
+
import { useEditorI18n } from "../../../vue/use-editor-i18n.js";
|
|
4
|
+
import { useComments } from "../use-comments.js";
|
|
5
|
+
import _sfc_main$1 from "./CommentComposer.js";
|
|
6
|
+
import _sfc_main$2 from "./CommentThreadView.js";
|
|
7
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderList, toDisplayString, unref, vShow, watch, withDirectives } from "vue";
|
|
8
|
+
//#region src/features/comments/components/CommentsMargin.vue
|
|
9
|
+
const _hoisted_1 = ["aria-label"];
|
|
10
|
+
const _hoisted_2 = {
|
|
11
|
+
key: 0,
|
|
12
|
+
class: "p-3 text-sm text-[var(--sk-muted)]"
|
|
13
|
+
};
|
|
14
|
+
const _hoisted_3 = ["onClick"];
|
|
15
|
+
const _hoisted_4 = { class: "shrink-0 font-medium" };
|
|
16
|
+
const _hoisted_5 = { class: "min-w-0 flex-1 truncate text-[var(--sk-muted)]" };
|
|
17
|
+
const _hoisted_6 = {
|
|
18
|
+
key: 0,
|
|
19
|
+
class: "shrink-0 text-xs text-[var(--sk-fg-dimmed)]"
|
|
20
|
+
};
|
|
21
|
+
const GAP = 8;
|
|
22
|
+
const DRAFT = "__draft";
|
|
23
|
+
/** Draft and open threads with a text range, in document order. */
|
|
24
|
+
const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
25
|
+
__name: "CommentsMargin",
|
|
26
|
+
props: {
|
|
27
|
+
editor: {},
|
|
28
|
+
container: {},
|
|
29
|
+
open: {
|
|
30
|
+
type: Boolean,
|
|
31
|
+
default: true
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
setup(__props) {
|
|
35
|
+
/**
|
|
36
|
+
* Comments margin („Randspalte“): a 300px column the host places inside its scroll container right of the editor,
|
|
37
|
+
* so it scrolls with the text. Cards sit absolutely at the height of their text (top-down in document order, pushed
|
|
38
|
+
* down so they never overlap); the active thread is expanded, the others collapse to one line. The draft composer
|
|
39
|
+
* takes part in the layout, orphaned threads stack after the positioned cards and resolved threads („Erledigt“)
|
|
40
|
+
* sit at the bottom behind a toggle. Shown only while `open` (the host binds the surface's `commentsOpen` model) and the
|
|
41
|
+
* user's comments layout is `margin`; the layout is recomputed whenever the column becomes visible again.
|
|
42
|
+
*/
|
|
43
|
+
const props = __props;
|
|
44
|
+
const { settings } = useEditorSettings();
|
|
45
|
+
const { t } = useEditorI18n();
|
|
46
|
+
const enabled = computed(() => settings.value.editing.commentsLayout === "margin");
|
|
47
|
+
const comments = useComments(() => enabled.value ? props.editor : void 0);
|
|
48
|
+
const positioned = computed(() => {
|
|
49
|
+
const items = [];
|
|
50
|
+
const draft = comments.draft.value;
|
|
51
|
+
if (draft) items.push({
|
|
52
|
+
key: DRAFT,
|
|
53
|
+
from: draft.from,
|
|
54
|
+
thread: null
|
|
55
|
+
});
|
|
56
|
+
for (const thread of comments.open.value) {
|
|
57
|
+
const range = comments.ranges.value.get(thread.id);
|
|
58
|
+
if (range) items.push({
|
|
59
|
+
key: thread.id,
|
|
60
|
+
from: range.from,
|
|
61
|
+
thread
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return items.sort((a, b) => a.from - b.from);
|
|
65
|
+
});
|
|
66
|
+
const orphans = computed(() => comments.open.value.filter((thread) => comments.isOrphan(thread.id)));
|
|
67
|
+
const column = ref();
|
|
68
|
+
const resolvedSection = ref();
|
|
69
|
+
const showResolved = ref(false);
|
|
70
|
+
const tops = ref({});
|
|
71
|
+
const resolvedTop = ref(0);
|
|
72
|
+
const minHeight = ref(0);
|
|
73
|
+
const cards = /* @__PURE__ */ new Map();
|
|
74
|
+
const observed = /* @__PURE__ */ new WeakSet();
|
|
75
|
+
let frame = 0;
|
|
76
|
+
const resizeObserver = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(() => schedule());
|
|
77
|
+
function observe(el) {
|
|
78
|
+
if (!resizeObserver || observed.has(el)) return;
|
|
79
|
+
observed.add(el);
|
|
80
|
+
resizeObserver.observe(el);
|
|
81
|
+
}
|
|
82
|
+
function unobserve(el) {
|
|
83
|
+
resizeObserver?.unobserve(el);
|
|
84
|
+
observed.delete(el);
|
|
85
|
+
}
|
|
86
|
+
function setCard(key, el) {
|
|
87
|
+
if (!(el instanceof HTMLElement)) return;
|
|
88
|
+
cards.set(key, el);
|
|
89
|
+
observe(el);
|
|
90
|
+
}
|
|
91
|
+
function schedule() {
|
|
92
|
+
if (frame || typeof requestAnimationFrame === "undefined") return;
|
|
93
|
+
frame = requestAnimationFrame(relayout);
|
|
94
|
+
}
|
|
95
|
+
function relayout() {
|
|
96
|
+
frame = 0;
|
|
97
|
+
const editor = props.editor;
|
|
98
|
+
const col = column.value;
|
|
99
|
+
if (!editor || editor.isDestroyed || !col || !col.getClientRects().length) return;
|
|
100
|
+
const live = /* @__PURE__ */ new Set([...positioned.value.map((i) => i.key), ...orphans.value.map((thread) => thread.id)]);
|
|
101
|
+
for (const [key, el] of cards) {
|
|
102
|
+
if (live.has(key)) continue;
|
|
103
|
+
unobserve(el);
|
|
104
|
+
cards.delete(key);
|
|
105
|
+
}
|
|
106
|
+
const base = col.getBoundingClientRect().top;
|
|
107
|
+
const size = editor.state.doc.content.size;
|
|
108
|
+
const next = {};
|
|
109
|
+
let bottom = -8;
|
|
110
|
+
for (const item of positioned.value) {
|
|
111
|
+
let desired = bottom + GAP;
|
|
112
|
+
try {
|
|
113
|
+
desired = editor.view.coordsAtPos(Math.min(item.from, size)).top - base;
|
|
114
|
+
} catch {}
|
|
115
|
+
const top = Math.max(desired, bottom + GAP, 0);
|
|
116
|
+
next[item.key] = top;
|
|
117
|
+
bottom = top + (cards.get(item.key)?.offsetHeight ?? 0);
|
|
118
|
+
}
|
|
119
|
+
for (const thread of orphans.value) {
|
|
120
|
+
const top = bottom + GAP;
|
|
121
|
+
next[thread.id] = top;
|
|
122
|
+
bottom = top + (cards.get(thread.id)?.offsetHeight ?? 0);
|
|
123
|
+
}
|
|
124
|
+
tops.value = next;
|
|
125
|
+
resolvedTop.value = bottom < 0 ? 0 : bottom + 16;
|
|
126
|
+
minHeight.value = resolvedTop.value + (resolvedSection.value?.offsetHeight ?? 0);
|
|
127
|
+
}
|
|
128
|
+
watch(() => props.editor, (editor, _previous, onCleanup) => {
|
|
129
|
+
if (!editor) return;
|
|
130
|
+
editor.on("transaction", schedule);
|
|
131
|
+
schedule();
|
|
132
|
+
onCleanup(() => editor.off("transaction", schedule));
|
|
133
|
+
}, { immediate: true });
|
|
134
|
+
watch(() => props.container, (container, _previous, onCleanup) => {
|
|
135
|
+
if (!container || !resizeObserver) return;
|
|
136
|
+
resizeObserver.observe(container);
|
|
137
|
+
onCleanup(() => resizeObserver.unobserve(container));
|
|
138
|
+
}, { immediate: true });
|
|
139
|
+
watch(column, (el, previous) => {
|
|
140
|
+
if (previous) unobserve(previous);
|
|
141
|
+
if (el) observe(el);
|
|
142
|
+
schedule();
|
|
143
|
+
});
|
|
144
|
+
watch(resolvedSection, (el, previous) => {
|
|
145
|
+
if (previous) unobserve(previous);
|
|
146
|
+
if (el) observe(el);
|
|
147
|
+
schedule();
|
|
148
|
+
});
|
|
149
|
+
watch([
|
|
150
|
+
positioned,
|
|
151
|
+
orphans,
|
|
152
|
+
() => comments.active.value,
|
|
153
|
+
() => comments.resolved.value.length,
|
|
154
|
+
showResolved,
|
|
155
|
+
enabled
|
|
156
|
+
], () => nextTick(schedule));
|
|
157
|
+
onMounted(() => {
|
|
158
|
+
window.addEventListener("resize", schedule);
|
|
159
|
+
schedule();
|
|
160
|
+
});
|
|
161
|
+
onBeforeUnmount(() => {
|
|
162
|
+
window.removeEventListener("resize", schedule);
|
|
163
|
+
resizeObserver?.disconnect();
|
|
164
|
+
if (frame) cancelAnimationFrame(frame);
|
|
165
|
+
});
|
|
166
|
+
const { Avatar: UAvatar, Button: UButton } = useUiKit();
|
|
167
|
+
const initials = (name) => name.slice(0, 2).toUpperCase();
|
|
168
|
+
const excerpt = (text) => text.length > 60 ? `${text.slice(0, 60)}…` : text;
|
|
169
|
+
/** Clicking a card activates (expands) it and reveals its text; clicks inside the already active card do nothing. */
|
|
170
|
+
function select(id) {
|
|
171
|
+
if (comments.active.value !== id) comments.activate(id, { reveal: true });
|
|
172
|
+
}
|
|
173
|
+
const cardStyle = (key) => ({ top: `${tops.value[key] ?? 0}px` });
|
|
174
|
+
return (_ctx, _cache) => {
|
|
175
|
+
return withDirectives((openBlock(), createElementBlock("div", {
|
|
176
|
+
ref_key: "column",
|
|
177
|
+
ref: column,
|
|
178
|
+
class: "relative w-[300px] shrink-0",
|
|
179
|
+
style: normalizeStyle({ minHeight: `${minHeight.value}px` }),
|
|
180
|
+
"aria-label": unref(t)("comments.title")
|
|
181
|
+
}, [!unref(comments).available.value ? (openBlock(), createElementBlock("p", _hoisted_2, toDisplayString(unref(t)("comments.unavailable")), 1)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
182
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(positioned.value, (item) => {
|
|
183
|
+
return openBlock(), createElementBlock("div", {
|
|
184
|
+
key: item.key,
|
|
185
|
+
ref_for: true,
|
|
186
|
+
ref: (el) => setCard(item.key, el),
|
|
187
|
+
class: normalizeClass(["absolute inset-x-0 transition-[top] duration-100", { invisible: tops.value[item.key] === void 0 }]),
|
|
188
|
+
style: normalizeStyle(cardStyle(item.key))
|
|
189
|
+
}, [!item.thread ? (openBlock(), createBlock(_sfc_main$1, {
|
|
190
|
+
key: 0,
|
|
191
|
+
quote: unref(comments).draftQuote.value,
|
|
192
|
+
class: "shadow-md",
|
|
193
|
+
onSubmit: _cache[0] || (_cache[0] = ($event) => unref(comments).add($event)),
|
|
194
|
+
onCancel: _cache[1] || (_cache[1] = ($event) => unref(comments).cancelDraft())
|
|
195
|
+
}, null, 8, ["quote"])) : unref(comments).active.value === item.thread.id ? (openBlock(), createBlock(_sfc_main$2, {
|
|
196
|
+
key: 1,
|
|
197
|
+
thread: item.thread,
|
|
198
|
+
user: unref(comments).user.value,
|
|
199
|
+
active: true,
|
|
200
|
+
orphan: false,
|
|
201
|
+
comments: unref(comments),
|
|
202
|
+
class: "shadow-md",
|
|
203
|
+
onClick: ($event) => select(item.thread.id)
|
|
204
|
+
}, null, 8, [
|
|
205
|
+
"thread",
|
|
206
|
+
"user",
|
|
207
|
+
"comments",
|
|
208
|
+
"onClick"
|
|
209
|
+
])) : (openBlock(), createElementBlock("button", {
|
|
210
|
+
key: 2,
|
|
211
|
+
type: "button",
|
|
212
|
+
class: "flex w-full items-center gap-2 rounded-md border border-[var(--sk-border)] bg-[var(--sk-bg)] px-2 py-1.5 text-left text-sm hover:bg-[var(--sk-bg-elevated)]",
|
|
213
|
+
onClick: ($event) => select(item.thread.id)
|
|
214
|
+
}, [
|
|
215
|
+
createVNode(unref(UAvatar), {
|
|
216
|
+
size: "2xs",
|
|
217
|
+
text: initials(item.thread.author.name),
|
|
218
|
+
alt: item.thread.author.name,
|
|
219
|
+
style: normalizeStyle({ backgroundColor: item.thread.author.color })
|
|
220
|
+
}, null, 8, [
|
|
221
|
+
"text",
|
|
222
|
+
"alt",
|
|
223
|
+
"style"
|
|
224
|
+
]),
|
|
225
|
+
createElementVNode("span", _hoisted_4, toDisplayString(item.thread.author.name), 1),
|
|
226
|
+
createElementVNode("span", _hoisted_5, toDisplayString(excerpt(item.thread.text)), 1),
|
|
227
|
+
item.thread.replies.length ? (openBlock(), createElementBlock("span", _hoisted_6, toDisplayString(item.thread.replies.length), 1)) : createCommentVNode("v-if", true)
|
|
228
|
+
], 8, _hoisted_3))], 6);
|
|
229
|
+
}), 128)),
|
|
230
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(orphans.value, (thread) => {
|
|
231
|
+
return openBlock(), createElementBlock("div", {
|
|
232
|
+
key: thread.id,
|
|
233
|
+
ref_for: true,
|
|
234
|
+
ref: (el) => setCard(thread.id, el),
|
|
235
|
+
class: normalizeClass(["absolute inset-x-0", { invisible: tops.value[thread.id] === void 0 }]),
|
|
236
|
+
style: normalizeStyle(cardStyle(thread.id))
|
|
237
|
+
}, [createVNode(_sfc_main$2, {
|
|
238
|
+
thread,
|
|
239
|
+
user: unref(comments).user.value,
|
|
240
|
+
active: unref(comments).active.value === thread.id,
|
|
241
|
+
orphan: true,
|
|
242
|
+
comments: unref(comments),
|
|
243
|
+
onClick: ($event) => select(thread.id)
|
|
244
|
+
}, null, 8, [
|
|
245
|
+
"thread",
|
|
246
|
+
"user",
|
|
247
|
+
"active",
|
|
248
|
+
"comments",
|
|
249
|
+
"onClick"
|
|
250
|
+
])], 6);
|
|
251
|
+
}), 128)),
|
|
252
|
+
unref(comments).resolved.value.length ? (openBlock(), createElementBlock("div", {
|
|
253
|
+
key: 0,
|
|
254
|
+
ref_key: "resolvedSection",
|
|
255
|
+
ref: resolvedSection,
|
|
256
|
+
class: "absolute inset-x-0 flex flex-col gap-2",
|
|
257
|
+
style: normalizeStyle({ top: `${resolvedTop.value}px` })
|
|
258
|
+
}, [createVNode(unref(UButton), {
|
|
259
|
+
color: "neutral",
|
|
260
|
+
variant: "ghost",
|
|
261
|
+
size: "sm",
|
|
262
|
+
label: unref(t)("comments.resolvedCount", { n: unref(comments).resolved.value.length }),
|
|
263
|
+
"trailing-icon": showResolved.value ? "i-lucide-chevron-up" : "i-lucide-chevron-down",
|
|
264
|
+
class: "self-start",
|
|
265
|
+
onClick: _cache[2] || (_cache[2] = ($event) => showResolved.value = !showResolved.value)
|
|
266
|
+
}, null, 8, ["label", "trailing-icon"]), showResolved.value ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(unref(comments).resolved.value, (thread) => {
|
|
267
|
+
return openBlock(), createBlock(_sfc_main$2, {
|
|
268
|
+
key: thread.id,
|
|
269
|
+
thread,
|
|
270
|
+
user: unref(comments).user.value,
|
|
271
|
+
active: unref(comments).active.value === thread.id,
|
|
272
|
+
orphan: unref(comments).isOrphan(thread.id),
|
|
273
|
+
comments: unref(comments),
|
|
274
|
+
onClick: ($event) => select(thread.id)
|
|
275
|
+
}, null, 8, [
|
|
276
|
+
"thread",
|
|
277
|
+
"user",
|
|
278
|
+
"active",
|
|
279
|
+
"orphan",
|
|
280
|
+
"comments",
|
|
281
|
+
"onClick"
|
|
282
|
+
]);
|
|
283
|
+
}), 128)) : createCommentVNode("v-if", true)], 4)) : createCommentVNode("v-if", true)
|
|
284
|
+
], 64))], 12, _hoisted_1)), [[vShow, __props.open && enabled.value]]);
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
//#endregion
|
|
289
|
+
export { _sfc_main as default };
|
|
290
|
+
|
|
291
|
+
//# sourceMappingURL=CommentsMargin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommentsMargin.js","names":["_withDirectives","_openBlock","_createElementBlock","_normalizeStyle","_unref","_toDisplayString","_Fragment","_renderList","_normalizeClass","_createBlock","CommentComposer","CommentThreadView","_createVNode","_createElementVNode","_createCommentVNode","_vShow"],"sources":["../../../../src/features/comments/components/CommentsMargin.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * Comments margin („Randspalte“): a 300px column the host places inside its scroll container right of the editor,\n * so it scrolls with the text. Cards sit absolutely at the height of their text (top-down in document order, pushed\n * down so they never overlap); the active thread is expanded, the others collapse to one line. The draft composer\n * takes part in the layout, orphaned threads stack after the positioned cards and resolved threads („Erledigt“)\n * sit at the bottom behind a toggle. Shown only while `open` (the host binds the surface's `commentsOpen` model) and the\n * user's comments layout is `margin`; the layout is recomputed whenever the column becomes visible again.\n */\nimport { useUiKit } from '../../../vue/kit/use-ui-kit'\nimport type { Editor } from '@tiptap/vue-3'\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport type { CommentThread as Thread } from '../schema'\nimport { useComments } from '../use-comments'\nimport { useEditorSettings } from '../../../vue/settings'\nimport { useEditorI18n } from '../../../vue/use-editor-i18n'\nimport CommentComposer from './CommentComposer.vue'\nimport CommentThreadView from './CommentThreadView.vue'\n\nconst props = withDefaults(defineProps<{\n editor: Editor | undefined\n /** The editor's scroll container, which the column sits in: its size changes re-run the layout. */\n container: HTMLElement | null\n /** Whether the column is shown (the surface's `commentsOpen` model). */\n open?: boolean\n}>(), { open: true })\n\nconst { settings } = useEditorSettings()\nconst { t } = useEditorI18n()\nconst enabled = computed(() => settings.value.editing.commentsLayout === 'margin')\n// Idle (no Y.Doc observer) while another layout shows the comments.\nconst comments = useComments(() => enabled.value ? props.editor : undefined)\n\nconst GAP = 8\nconst DRAFT = '__draft'\n\ninterface Item { key: string, from: number, thread: Thread | null }\n\n/** Draft and open threads with a text range, in document order. */\nconst positioned = computed<Item[]>(() => {\n const items: Item[] = []\n const draft = comments.draft.value\n if (draft) items.push({ key: DRAFT, from: draft.from, thread: null })\n for (const thread of comments.open.value) {\n const range = comments.ranges.value.get(thread.id)\n if (range) items.push({ key: thread.id, from: range.from, thread })\n }\n return items.sort((a, b) => a.from - b.from)\n})\nconst orphans = computed(() => comments.open.value.filter(thread => comments.isOrphan(thread.id)))\n\nconst column = ref<HTMLElement>()\nconst resolvedSection = ref<HTMLElement>()\nconst showResolved = ref(false)\nconst tops = ref<Record<string, number>>({})\nconst resolvedTop = ref(0)\nconst minHeight = ref(0)\n\nconst cards = new Map<string, HTMLElement>()\nconst observed = new WeakSet<Element>()\nlet frame = 0\n\nconst resizeObserver = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(() => schedule())\n\nfunction observe(el: Element) {\n if (!resizeObserver || observed.has(el)) return\n observed.add(el)\n resizeObserver.observe(el)\n}\n\nfunction unobserve(el: Element) {\n resizeObserver?.unobserve(el)\n observed.delete(el)\n}\n\nfunction setCard(key: string, el: unknown) {\n if (!(el instanceof HTMLElement)) return\n cards.set(key, el)\n observe(el)\n}\n\nfunction schedule() {\n if (frame || typeof requestAnimationFrame === 'undefined') return\n frame = requestAnimationFrame(relayout)\n}\n\nfunction relayout() {\n frame = 0\n const editor = props.editor\n const col = column.value\n // Hidden (`v-show`) columns have no layout box; the column's own ResizeObserver re-runs this once shown.\n if (!editor || editor.isDestroyed || !col || !col.getClientRects().length) return\n const live = new Set([...positioned.value.map(i => i.key), ...orphans.value.map(thread => thread.id)])\n for (const [key, el] of cards) {\n if (live.has(key)) continue\n unobserve(el)\n cards.delete(key)\n }\n\n const base = col.getBoundingClientRect().top\n const size = editor.state.doc.content.size\n const next: Record<string, number> = {}\n let bottom = -GAP\n for (const item of positioned.value) {\n let desired = bottom + GAP\n try {\n desired = editor.view.coordsAtPos(Math.min(item.from, size)).top - base\n }\n catch {\n // Position not rendered (yet): stack it below the previous card.\n }\n const top = Math.max(desired, bottom + GAP, 0)\n next[item.key] = top\n bottom = top + (cards.get(item.key)?.offsetHeight ?? 0)\n }\n for (const thread of orphans.value) {\n const top = bottom + GAP\n next[thread.id] = top\n bottom = top + (cards.get(thread.id)?.offsetHeight ?? 0)\n }\n tops.value = next\n resolvedTop.value = bottom < 0 ? 0 : bottom + 2 * GAP\n minHeight.value = resolvedTop.value + (resolvedSection.value?.offsetHeight ?? 0)\n}\n\nwatch(() => props.editor, (editor, _previous, onCleanup) => {\n if (!editor) return\n editor.on('transaction', schedule)\n schedule()\n onCleanup(() => editor.off('transaction', schedule))\n}, { immediate: true })\n\nwatch(() => props.container, (container, _previous, onCleanup) => {\n if (!container || !resizeObserver) return\n resizeObserver.observe(container)\n onCleanup(() => resizeObserver.unobserve(container))\n}, { immediate: true })\n\n// The column itself: its size flips between zero and real when the host toggles it with `v-show`.\nwatch(column, (el, previous) => {\n if (previous) unobserve(previous)\n if (el) observe(el)\n schedule()\n})\n\nwatch(resolvedSection, (el, previous) => {\n if (previous) unobserve(previous)\n if (el) observe(el)\n schedule()\n})\n\n// Cards appearing/disappearing or expanding: lay out once the DOM has them.\nwatch([positioned, orphans, () => comments.active.value, () => comments.resolved.value.length, showResolved, enabled], () => nextTick(schedule))\n\nonMounted(() => {\n window.addEventListener('resize', schedule)\n schedule()\n})\nonBeforeUnmount(() => {\n window.removeEventListener('resize', schedule)\n resizeObserver?.disconnect()\n if (frame) cancelAnimationFrame(frame)\n})\n\nconst { Avatar: UAvatar, Button: UButton } = useUiKit()\nconst initials = (name: string) => name.slice(0, 2).toUpperCase()\nconst excerpt = (text: string) => text.length > 60 ? `${text.slice(0, 60)}…` : text\n\n/** Clicking a card activates (expands) it and reveals its text; clicks inside the already active card do nothing. */\nfunction select(id: string) {\n if (comments.active.value !== id) comments.activate(id, { reveal: true })\n}\n\nconst cardStyle = (key: string) => ({ top: `${tops.value[key] ?? 0}px` })\n</script>\n\n<template>\n <div\n v-show=\"open && enabled\"\n ref=\"column\"\n class=\"relative w-[300px] shrink-0\"\n :style=\"{ minHeight: `${minHeight}px` }\"\n :aria-label=\"t('comments.title')\"\n >\n <p v-if=\"!comments.available.value\" class=\"p-3 text-sm text-[var(--sk-muted)]\">\n {{ t('comments.unavailable') }}\n </p>\n\n <template v-else>\n <div\n v-for=\"item in positioned\"\n :key=\"item.key\"\n :ref=\"el => setCard(item.key, el)\"\n class=\"absolute inset-x-0 transition-[top] duration-100\"\n :class=\"{ invisible: tops[item.key] === undefined }\"\n :style=\"cardStyle(item.key)\"\n >\n <CommentComposer\n v-if=\"!item.thread\"\n :quote=\"comments.draftQuote.value\"\n class=\"shadow-md\"\n @submit=\"comments.add($event)\"\n @cancel=\"comments.cancelDraft()\"\n />\n <CommentThreadView\n v-else-if=\"comments.active.value === item.thread.id\"\n :thread=\"item.thread\"\n :user=\"comments.user.value\"\n :active=\"true\"\n :orphan=\"false\"\n :comments=\"comments\"\n class=\"shadow-md\"\n @click=\"select(item.thread.id)\"\n />\n <button\n v-else\n type=\"button\"\n class=\"flex w-full items-center gap-2 rounded-md border border-[var(--sk-border)] bg-[var(--sk-bg)] px-2 py-1.5 text-left text-sm hover:bg-[var(--sk-bg-elevated)]\"\n @click=\"select(item.thread.id)\"\n >\n <UAvatar\n size=\"2xs\"\n :text=\"initials(item.thread.author.name)\"\n :alt=\"item.thread.author.name\"\n :style=\"{ backgroundColor: item.thread.author.color }\"\n />\n <span class=\"shrink-0 font-medium\">{{ item.thread.author.name }}</span>\n <span class=\"min-w-0 flex-1 truncate text-[var(--sk-muted)]\">{{ excerpt(item.thread.text) }}</span>\n <span v-if=\"item.thread.replies.length\" class=\"shrink-0 text-xs text-[var(--sk-fg-dimmed)]\">{{ item.thread.replies.length }}</span>\n </button>\n </div>\n\n <div\n v-for=\"thread in orphans\"\n :key=\"thread.id\"\n :ref=\"el => setCard(thread.id, el)\"\n class=\"absolute inset-x-0\"\n :class=\"{ invisible: tops[thread.id] === undefined }\"\n :style=\"cardStyle(thread.id)\"\n >\n <CommentThreadView\n :thread=\"thread\"\n :user=\"comments.user.value\"\n :active=\"comments.active.value === thread.id\"\n :orphan=\"true\"\n :comments=\"comments\"\n @click=\"select(thread.id)\"\n />\n </div>\n\n <div\n v-if=\"comments.resolved.value.length\"\n ref=\"resolvedSection\"\n class=\"absolute inset-x-0 flex flex-col gap-2\"\n :style=\"{ top: `${resolvedTop}px` }\"\n >\n <UButton\n color=\"neutral\"\n variant=\"ghost\"\n size=\"sm\"\n :label=\"t('comments.resolvedCount', { n: comments.resolved.value.length })\"\n :trailing-icon=\"showResolved ? 'i-lucide-chevron-up' : 'i-lucide-chevron-down'\"\n class=\"self-start\"\n @click=\"showResolved = !showResolved\"\n />\n <template v-if=\"showResolved\">\n <CommentThreadView\n v-for=\"thread in comments.resolved.value\"\n :key=\"thread.id\"\n :thread=\"thread\"\n :user=\"comments.user.value\"\n :active=\"comments.active.value === thread.id\"\n :orphan=\"comments.isOrphan(thread.id)\"\n :comments=\"comments\"\n @click=\"select(thread.id)\"\n />\n </template>\n </div>\n </template>\n </div>\n</template>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Editor } from "@tiptap/vue-3";
|
|
2
|
+
//#region src/features/comments/components/CommentsMargin.vue.d.ts
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
editor: Editor | undefined;
|
|
5
|
+
/** The editor's scroll container, which the column sits in: its size changes re-run the layout. */
|
|
6
|
+
container: HTMLElement | null;
|
|
7
|
+
/** Whether the column is shown (the surface's `commentsOpen` model). */
|
|
8
|
+
open?: boolean;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
11
|
+
open: boolean;
|
|
12
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
declare const _default: typeof __VLS_export;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { _default as default };
|
|
16
|
+
//# sourceMappingURL=CommentsMargin.vue.d.ts.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { useEditorSettings } from "../../../vue/settings.js";
|
|
2
|
+
import { useEditorUi } from "../../../vue/use-editor-ui.js";
|
|
3
|
+
import { cancelCommentDraft, commentsKey, setActiveComment } from "../comments-plugin.js";
|
|
4
|
+
import _sfc_main$1 from "./CommentBubble.js";
|
|
5
|
+
import _sfc_main$2 from "./CommentsPopover.js";
|
|
6
|
+
import { Fragment, createElementBlock, createVNode, defineComponent, openBlock, watch } from "vue";
|
|
7
|
+
//#region src/features/comments/components/CommentsOverlay.vue
|
|
8
|
+
/**
|
|
9
|
+
* What the comments feature mounts beside the editor content: the selection bubble, the popover of the inline layout,
|
|
10
|
+
* and the layout glue below. The margin column itself (`CommentsMargin`) is placed by the host.
|
|
11
|
+
*/
|
|
12
|
+
const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
13
|
+
__name: "CommentsOverlay",
|
|
14
|
+
props: { editor: {} },
|
|
15
|
+
setup(__props) {
|
|
16
|
+
const props = __props;
|
|
17
|
+
const { settings } = useEditorSettings();
|
|
18
|
+
const ui = useEditorUi();
|
|
19
|
+
watch(() => {
|
|
20
|
+
const { editor } = props;
|
|
21
|
+
return !editor.isDestroyed ? commentsKey.getState(editor.state)?.draft ?? null : null;
|
|
22
|
+
}, (draft) => {
|
|
23
|
+
if (draft && settings.value.editing.commentsLayout === "margin" && !ui.value?.commentsOpen) ui.value?.toggleComments();
|
|
24
|
+
});
|
|
25
|
+
watch(() => settings.value.editing.commentsLayout, () => {
|
|
26
|
+
const { editor } = props;
|
|
27
|
+
if (editor.isDestroyed) return;
|
|
28
|
+
cancelCommentDraft(editor);
|
|
29
|
+
setActiveComment(editor, null);
|
|
30
|
+
});
|
|
31
|
+
return (_ctx, _cache) => {
|
|
32
|
+
return openBlock(), createElementBlock(Fragment, null, [createVNode(_sfc_main$1, { editor: __props.editor }, null, 8, ["editor"]), createVNode(_sfc_main$2, { editor: __props.editor }, null, 8, ["editor"])], 64);
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
//#endregion
|
|
37
|
+
export { _sfc_main as default };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=CommentsOverlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommentsOverlay.js","names":["_openBlock","_createElementBlock","_Fragment","_createVNode","CommentBubble","CommentsPopover"],"sources":["../../../../src/features/comments/components/CommentsOverlay.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Editor } from '@tiptap/vue-3'\nimport { watch } from 'vue'\nimport { useEditorSettings } from '../../../vue/settings'\nimport { useEditorUi } from '../../../vue/use-editor-ui'\nimport { cancelCommentDraft, commentsKey, setActiveComment } from '../comments-plugin'\nimport CommentBubble from './CommentBubble.vue'\nimport CommentsPopover from './CommentsPopover.vue'\n\n/**\n * What the comments feature mounts beside the editor content: the selection bubble, the popover of the inline layout,\n * and the layout glue below. The margin column itself (`CommentsMargin`) is placed by the host.\n */\nconst props = defineProps<{ editor: Editor }>()\n\nconst { settings } = useEditorSettings()\nconst ui = useEditorUi()\n\n// Starting a comment (the plugin's draft appears) opens the margin in the margin layout, so the composer is visible.\nwatch(() => {\n const { editor } = props\n return !editor.isDestroyed ? commentsKey.getState(editor.state)?.draft ?? null : null\n}, (draft) => {\n if (draft && settings.value.editing.commentsLayout === 'margin' && !ui.value?.commentsOpen) ui.value?.toggleComments()\n})\n\n// A layout switch starts closed: otherwise the thread active in the margin opens the inline popover at once (over the\n// settings dialog the switch was made in), and vice versa.\nwatch(() => settings.value.editing.commentsLayout, () => {\n const { editor } = props\n if (editor.isDestroyed) return\n cancelCommentDraft(editor)\n setActiveComment(editor, null)\n})\n</script>\n\n<template>\n <CommentBubble :editor=\"editor\" />\n <CommentsPopover :editor=\"editor\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAaA,MAAM,QAAQ;EAEd,MAAM,EAAE,aAAa,kBAAkB;EACvC,MAAM,KAAK,YAAY;EAGvB,YAAY;GACV,MAAM,EAAE,WAAW;GACnB,OAAO,CAAC,OAAO,cAAc,YAAY,SAAS,OAAO,KAAK,CAAC,EAAE,SAAS,OAAO;EACnF,IAAI,UAAU;GACZ,IAAI,SAAS,SAAS,MAAM,QAAQ,mBAAmB,YAAY,CAAC,GAAG,OAAO,cAAc,GAAG,OAAO,eAAe;EACvH,CAAC;EAID,YAAY,SAAS,MAAM,QAAQ,sBAAsB;GACvD,MAAM,EAAE,WAAW;GACnB,IAAI,OAAO,aAAa;GACxB,mBAAmB,MAAM;GACzB,iBAAiB,QAAQ,IAAI;EAC/B,CAAC;;GAIC,OAAA,UAAA,GAAA,mBAAA,UAAA,MAAA,CAAAG,YAAkCC,aAAA,EAAlB,QAAQ,QAAA,OAAM,GAAA,MAAA,GAAA,CAAA,QAAA,CAAA,GAC9BD,YAAoCE,aAAA,EAAlB,QAAQ,QAAA,OAAM,GAAA,MAAA,GAAA,CAAA,QAAA,CAAA,CAAA,GAAA,EAAA"}
|