@ecsplico/editor 0.0.0-stage → 2.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/CHANGELOG.md +19 -0
- package/LICENSE +21 -0
- package/README.md +232 -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 +10 -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 +502 -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 +10 -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 +62 -0
- package/dist/nuxt/module.js +101 -0
- package/dist/nuxt/module.js.map +1 -0
- package/dist/nuxt/runtime/install-context.d.ts +16 -0
- package/dist/nuxt/runtime/install-context.js +25 -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/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 +42 -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/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 +619 -4
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { createServer } from "node:http";
|
|
2
|
+
import nodeAdapter from "crossws/adapters/node";
|
|
3
|
+
//#region src/server/node.ts
|
|
4
|
+
/**
|
|
5
|
+
* Serves `collab` on its own Node HTTP server: every websocket upgrade becomes a collaboration connection, whose user
|
|
6
|
+
* the adapter authenticates from the upgrade request's headers and the client's `token`. For a plain Node script;
|
|
7
|
+
* hosts with a web framework mount `collab.handleConnection` on its websocket support instead.
|
|
8
|
+
*/
|
|
9
|
+
async function listenCollab(collab, { port = 0, host } = {}) {
|
|
10
|
+
const connections = /* @__PURE__ */ new WeakMap();
|
|
11
|
+
const websockets = nodeAdapter({ hooks: {
|
|
12
|
+
open(peer) {
|
|
13
|
+
connections.set(peer, collab.handleConnection(peer.websocket, peer.request));
|
|
14
|
+
},
|
|
15
|
+
message(peer, message) {
|
|
16
|
+
connections.get(peer)?.handleMessage(message.uint8Array());
|
|
17
|
+
},
|
|
18
|
+
close(peer, details) {
|
|
19
|
+
connections.get(peer)?.handleClose({
|
|
20
|
+
code: details.code ?? 1e3,
|
|
21
|
+
reason: details.reason ?? ""
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
error(peer, error) {
|
|
25
|
+
console.error("[collab]", peer.id, error);
|
|
26
|
+
}
|
|
27
|
+
} });
|
|
28
|
+
const http = createServer((_request, response) => {
|
|
29
|
+
response.writeHead(426, { "Content-Type": "text/plain" }).end("Upgrade Required");
|
|
30
|
+
});
|
|
31
|
+
http.on("upgrade", (request, socket, head) => void websockets.handleUpgrade(request, socket, head));
|
|
32
|
+
await new Promise((resolve, reject) => {
|
|
33
|
+
http.once("error", reject);
|
|
34
|
+
http.listen({
|
|
35
|
+
port,
|
|
36
|
+
host
|
|
37
|
+
}, resolve);
|
|
38
|
+
});
|
|
39
|
+
const address = http.address();
|
|
40
|
+
if (!address || typeof address === "string") throw new Error("tiptap-editor: the collab HTTP server has no TCP address");
|
|
41
|
+
return {
|
|
42
|
+
port: address.port,
|
|
43
|
+
url: `ws://${host && host !== "0.0.0.0" ? host : "127.0.0.1"}:${address.port}`,
|
|
44
|
+
async close() {
|
|
45
|
+
http.close();
|
|
46
|
+
await collab.close();
|
|
47
|
+
websockets.closeAll();
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
export { listenCollab };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","names":[],"sources":["../../src/server/node.ts"],"sourcesContent":["import { createServer } from 'node:http'\nimport nodeAdapter from 'crossws/adapters/node'\nimport type { CollabConnection, CollabServer } from './collab'\n\nexport interface CollabListenOptions {\n /** Port to listen on; 0 picks a free one (see `CollabListener.port`). Default 0. */\n port?: number\n /** Address to bind. Default: all interfaces. */\n host?: string\n}\n\nexport interface CollabListener {\n /** The port the server listens on. */\n port: number\n /** `ws://` URL of the server: use it as the `HocuspocusProvider` `url`; the document is the provider's `name`. */\n url: string\n /** Closes the collab server (pending stores are written first), the websocket connections and the listening socket. */\n close(): Promise<void>\n}\n\n/**\n * Serves `collab` on its own Node HTTP server: every websocket upgrade becomes a collaboration connection, whose user\n * the adapter authenticates from the upgrade request's headers and the client's `token`. For a plain Node script;\n * hosts with a web framework mount `collab.handleConnection` on its websocket support instead.\n */\nexport async function listenCollab(collab: CollabServer, { port = 0, host }: CollabListenOptions = {}): Promise<CollabListener> {\n const connections = new WeakMap<object, CollabConnection>()\n const websockets = nodeAdapter({\n hooks: {\n open(peer) {\n connections.set(peer, collab.handleConnection(peer.websocket as Parameters<CollabServer['handleConnection']>[0], peer.request))\n },\n message(peer, message) {\n connections.get(peer)?.handleMessage(message.uint8Array())\n },\n close(peer, details) {\n connections.get(peer)?.handleClose({ code: details.code ?? 1000, reason: details.reason ?? '' } as CloseEvent)\n },\n error(peer, error) {\n console.error('[collab]', peer.id, error)\n },\n },\n })\n const http = createServer((_request, response) => {\n response.writeHead(426, { 'Content-Type': 'text/plain' }).end('Upgrade Required')\n })\n http.on('upgrade', (request, socket, head) => void websockets.handleUpgrade(request, socket, head))\n await new Promise<void>((resolve, reject) => {\n http.once('error', reject)\n http.listen({ port, host }, resolve)\n })\n const address = http.address()\n if (!address || typeof address === 'string') throw new Error('tiptap-editor: the collab HTTP server has no TCP address')\n return {\n port: address.port,\n url: `ws://${host && host !== '0.0.0.0' ? host : '127.0.0.1'}:${address.port}`,\n async close() {\n http.close()\n await collab.close()\n websockets.closeAll()\n },\n }\n}\n"],"mappings":";;;;;;;;AAyBA,eAAsB,aAAa,QAAsB,EAAE,OAAO,GAAG,SAA8B,CAAC,GAA4B;CAC9H,MAAM,8BAAc,IAAI,QAAkC;CAC1D,MAAM,aAAa,YAAY,EAC7B,OAAO;EACL,KAAK,MAAM;GACT,YAAY,IAAI,MAAM,OAAO,iBAAiB,KAAK,WAA8D,KAAK,OAAO,CAAC;EAChI;EACA,QAAQ,MAAM,SAAS;GACrB,YAAY,IAAI,IAAI,CAAC,EAAE,cAAc,QAAQ,WAAW,CAAC;EAC3D;EACA,MAAM,MAAM,SAAS;GACnB,YAAY,IAAI,IAAI,CAAC,EAAE,YAAY;IAAE,MAAM,QAAQ,QAAQ;IAAM,QAAQ,QAAQ,UAAU;GAAG,CAAe;EAC/G;EACA,MAAM,MAAM,OAAO;GACjB,QAAQ,MAAM,YAAY,KAAK,IAAI,KAAK;EAC1C;CACF,EACF,CAAC;CACD,MAAM,OAAO,cAAc,UAAU,aAAa;EAChD,SAAS,UAAU,KAAK,EAAE,gBAAgB,aAAa,CAAC,CAAC,CAAC,IAAI,kBAAkB;CAClF,CAAC;CACD,KAAK,GAAG,YAAY,SAAS,QAAQ,SAAS,KAAK,WAAW,cAAc,SAAS,QAAQ,IAAI,CAAC;CAClG,MAAM,IAAI,SAAe,SAAS,WAAW;EAC3C,KAAK,KAAK,SAAS,MAAM;EACzB,KAAK,OAAO;GAAE;GAAM;EAAK,GAAG,OAAO;CACrC,CAAC;CACD,MAAM,UAAU,KAAK,QAAQ;CAC7B,IAAI,CAAC,WAAW,OAAO,YAAY,UAAU,MAAM,IAAI,MAAM,0DAA0D;CACvH,OAAO;EACL,MAAM,QAAQ;EACd,KAAK,QAAQ,QAAQ,SAAS,YAAY,OAAO,YAAY,GAAG,QAAQ;EACxE,MAAM,QAAQ;GACZ,KAAK,MAAM;GACX,MAAM,OAAO,MAAM;GACnB,WAAW,SAAS;EACtB;CACF;AACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/server/rate-limit.d.ts
|
|
2
|
+
export interface RateLimiterOptions {
|
|
3
|
+
/** Requests allowed per key within `windowMs`. */
|
|
4
|
+
max: number;
|
|
5
|
+
/** Length of the sliding window. */
|
|
6
|
+
windowMs: number;
|
|
7
|
+
/** Clock in milliseconds, for tests. Default `Date.now`. */
|
|
8
|
+
now?: () => number;
|
|
9
|
+
}
|
|
10
|
+
export interface RateLimiter {
|
|
11
|
+
/**
|
|
12
|
+
* Records one request for `key`. Returns 0 when it is allowed, otherwise the milliseconds until the oldest counted
|
|
13
|
+
* request leaves the window. Rejected requests are not counted, so hammering does not extend the wait.
|
|
14
|
+
*/
|
|
15
|
+
hit(key: string): number;
|
|
16
|
+
}
|
|
17
|
+
/** Sliding-log rate limiter keyed by a caller-supplied id, per server process. */
|
|
18
|
+
export declare function createRateLimiter({ max, windowMs, now }: RateLimiterOptions): RateLimiter;
|
|
19
|
+
/** Stable rate-limit key of an adapter user: its `id`, else its `username`, else its serialized form. */
|
|
20
|
+
export declare function userKey(user: object): string;
|
|
21
|
+
//#endregion
|
|
22
|
+
//# sourceMappingURL=rate-limit.d.ts.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region src/server/rate-limit.ts
|
|
2
|
+
/** Sliding-log rate limiter keyed by a caller-supplied id, per server process. */
|
|
3
|
+
function createRateLimiter({ max, windowMs, now = Date.now }) {
|
|
4
|
+
/** Request timestamps per key within the current window. */
|
|
5
|
+
const hits = /* @__PURE__ */ new Map();
|
|
6
|
+
let lastSweep = 0;
|
|
7
|
+
return { hit(key) {
|
|
8
|
+
const at = now();
|
|
9
|
+
const since = at - windowMs;
|
|
10
|
+
if (at - lastSweep > windowMs) {
|
|
11
|
+
lastSweep = at;
|
|
12
|
+
for (const [k, times] of hits) if (times[times.length - 1] <= since) hits.delete(k);
|
|
13
|
+
}
|
|
14
|
+
const times = (hits.get(key) ?? []).filter((t) => t > since);
|
|
15
|
+
if (times.length >= max) {
|
|
16
|
+
hits.set(key, times);
|
|
17
|
+
return times[0] + windowMs - at;
|
|
18
|
+
}
|
|
19
|
+
times.push(at);
|
|
20
|
+
hits.set(key, times);
|
|
21
|
+
return 0;
|
|
22
|
+
} };
|
|
23
|
+
}
|
|
24
|
+
/** Stable rate-limit key of an adapter user: its `id`, else its `username`, else its serialized form. */
|
|
25
|
+
function userKey(user) {
|
|
26
|
+
const { id, username } = user;
|
|
27
|
+
if (typeof id === "string" || typeof id === "number") return `id:${id}`;
|
|
28
|
+
if (typeof username === "string") return `name:${username}`;
|
|
29
|
+
return `json:${JSON.stringify(user)}`;
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { createRateLimiter, userKey };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=rate-limit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-limit.js","names":[],"sources":["../../src/server/rate-limit.ts"],"sourcesContent":["export interface RateLimiterOptions {\n /** Requests allowed per key within `windowMs`. */\n max: number\n /** Length of the sliding window. */\n windowMs: number\n /** Clock in milliseconds, for tests. Default `Date.now`. */\n now?: () => number\n}\n\nexport interface RateLimiter {\n /**\n * Records one request for `key`. Returns 0 when it is allowed, otherwise the milliseconds until the oldest counted\n * request leaves the window. Rejected requests are not counted, so hammering does not extend the wait.\n */\n hit(key: string): number\n}\n\n/** Sliding-log rate limiter keyed by a caller-supplied id, per server process. */\nexport function createRateLimiter({ max, windowMs, now = Date.now }: RateLimiterOptions): RateLimiter {\n /** Request timestamps per key within the current window. */\n const hits = new Map<string, number[]>()\n let lastSweep = 0\n return {\n hit(key) {\n const at = now()\n const since = at - windowMs\n if (at - lastSweep > windowMs) {\n lastSweep = at\n for (const [k, times] of hits) if (times[times.length - 1]! <= since) hits.delete(k)\n }\n const times = (hits.get(key) ?? []).filter(t => t > since)\n if (times.length >= max) {\n hits.set(key, times)\n return times[0]! + windowMs - at\n }\n times.push(at)\n hits.set(key, times)\n return 0\n },\n }\n}\n\n/** Stable rate-limit key of an adapter user: its `id`, else its `username`, else its serialized form. */\nexport function userKey(user: object): string {\n const { id, username } = user as { id?: unknown, username?: unknown }\n if (typeof id === 'string' || typeof id === 'number') return `id:${id}`\n if (typeof username === 'string') return `name:${username}`\n // Adapter users without id/username: fall back to their serialized form (stable for the same user object shape).\n return `json:${JSON.stringify(user)}`\n}\n"],"mappings":";;AAkBA,SAAgB,kBAAkB,EAAE,KAAK,UAAU,MAAM,KAAK,OAAwC;;CAEpG,MAAM,uBAAO,IAAI,IAAsB;CACvC,IAAI,YAAY;CAChB,OAAO,EACL,IAAI,KAAK;EACP,MAAM,KAAK,IAAI;EACf,MAAM,QAAQ,KAAK;EACnB,IAAI,KAAK,YAAY,UAAU;GAC7B,YAAY;GACZ,KAAK,MAAM,CAAC,GAAG,UAAU,MAAM,IAAI,MAAM,MAAM,SAAS,MAAO,OAAO,KAAK,OAAO,CAAC;EACrF;EACA,MAAM,SAAS,KAAK,IAAI,GAAG,KAAK,CAAC,EAAA,CAAG,QAAO,MAAK,IAAI,KAAK;EACzD,IAAI,MAAM,UAAU,KAAK;GACvB,KAAK,IAAI,KAAK,KAAK;GACnB,OAAO,MAAM,KAAM,WAAW;EAChC;EACA,MAAM,KAAK,EAAE;EACb,KAAK,IAAI,KAAK,KAAK;EACnB,OAAO;CACT,EACF;AACF;;AAGA,SAAgB,QAAQ,MAAsB;CAC5C,MAAM,EAAE,IAAI,aAAa;CACzB,IAAI,OAAO,OAAO,YAAY,OAAO,OAAO,UAAU,OAAO,MAAM;CACnE,IAAI,OAAO,aAAa,UAAU,OAAO,QAAQ;CAEjD,OAAO,QAAQ,KAAK,UAAU,IAAI;AACpC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { AI_LANGUAGES, AUTHOR_COLOR_STYLES, AiLanguage, AuthorColorStyle, COMMENTS_LAYOUTS, CommentsLayout, DRAG_HANDLE_VISIBILITIES, DragHandleVisibility, HEADING_CONVERSION_SCOPES, HeadingConversionScope, KIND_ICON_VISIBILITIES, KindIconVisibility, MODEL_SLOTS, ModelSlot, STRUCTURE_MODES, StructureMode, TREE_ROOTS, TreeRoot } from "./values.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/settings/index.d.ts
|
|
4
|
+
export declare const EDITOR_SETTINGS_VERSION = 1;
|
|
5
|
+
/** Valid theme id: lowercase slug, used as directory name and in `/api/editor/themes/:id`. Defined here so core never imports a feature. */
|
|
6
|
+
export declare const THEME_ID: RegExp;
|
|
7
|
+
/** A user's editor preferences, shared by all editors on the page; persisted per user through the `EditorAdapter`. */
|
|
8
|
+
export interface EditorSettings {
|
|
9
|
+
version: typeof EDITOR_SETTINGS_VERSION;
|
|
10
|
+
editing: {
|
|
11
|
+
/** Blocks „Gliederung umwandeln“ (both directions) converts when nothing is selected. */
|
|
12
|
+
headingConversionScope: HeadingConversionScope;
|
|
13
|
+
/** Text is tinted per author (authors feature): each run in the colour of the user who wrote it. */
|
|
14
|
+
authorColors: boolean;
|
|
15
|
+
/** `background`: tinted background; `text`: text in the author's colour. */
|
|
16
|
+
authorColorStyle: AuthorColorStyle;
|
|
17
|
+
/** `margin`: comment cards in a column beside the text; `inline`: popover at the text plus the toolbar's list (comments feature). */
|
|
18
|
+
commentsLayout: CommentsLayout;
|
|
19
|
+
};
|
|
20
|
+
ai: {
|
|
21
|
+
/** Ghost-text suggestions while typing (`GhostAutocomplete`). */
|
|
22
|
+
autocomplete: boolean;
|
|
23
|
+
/** Model profile id per slot; a missing or unknown id falls back to the server's default preset for the slot. */
|
|
24
|
+
slots: Partial<Record<ModelSlot, string>>;
|
|
25
|
+
/** Preselected target language of „Übersetzen“. */
|
|
26
|
+
translateLanguage: AiLanguage;
|
|
27
|
+
};
|
|
28
|
+
blocks: {
|
|
29
|
+
/** Composite kind id the „Baustein“ shortcuts create (toolbar button, heading conversion). */
|
|
30
|
+
defaultKind: string;
|
|
31
|
+
/** Preferred document structure: toolbar block types and the structure of AI-generated blocks. */
|
|
32
|
+
structure: StructureMode;
|
|
33
|
+
/** Root of the document drawer while a composite file is loaded: nested in the folders, or the file itself. */
|
|
34
|
+
treeRoot: TreeRoot;
|
|
35
|
+
/** Kind icon of composites (their drag handle): always visible, or only on hover, focus or while the details are open. */
|
|
36
|
+
kindIcon: KindIconVisibility;
|
|
37
|
+
/** Standard drag handle of blocks without kind icon: on the hovered block, or permanently beside every block. */
|
|
38
|
+
dragHandle: DragHandleVisibility;
|
|
39
|
+
};
|
|
40
|
+
appearance: {
|
|
41
|
+
/** Id of the Obsidian theme applied to the whole app (themes feature); `null` = the standard Nuxt UI look. */
|
|
42
|
+
theme: string | null;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export declare const EDITOR_SETTINGS_DEFAULTS: EditorSettings;
|
|
46
|
+
/** Complete, valid settings (the body of `PUT /api/editor/settings`). */
|
|
47
|
+
export declare const editorSettingsSchema: z.ZodObject<{
|
|
48
|
+
version: z.ZodLiteral<1>;
|
|
49
|
+
editing: z.ZodObject<{
|
|
50
|
+
headingConversionScope: z.ZodEnum<{
|
|
51
|
+
container: "container";
|
|
52
|
+
document: "document";
|
|
53
|
+
heading: "heading";
|
|
54
|
+
}>;
|
|
55
|
+
authorColors: z.ZodBoolean;
|
|
56
|
+
authorColorStyle: z.ZodEnum<{
|
|
57
|
+
background: "background";
|
|
58
|
+
text: "text";
|
|
59
|
+
}>;
|
|
60
|
+
commentsLayout: z.ZodEnum<{
|
|
61
|
+
margin: "margin";
|
|
62
|
+
inline: "inline";
|
|
63
|
+
}>;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
ai: z.ZodObject<{
|
|
66
|
+
autocomplete: z.ZodBoolean;
|
|
67
|
+
slots: z.ZodRecord<z.ZodEnum<{
|
|
68
|
+
complete: "complete";
|
|
69
|
+
rewrite: "rewrite";
|
|
70
|
+
generate: "generate";
|
|
71
|
+
}> & z.core.$partial, z.ZodString>;
|
|
72
|
+
translateLanguage: z.ZodEnum<{
|
|
73
|
+
Deutsch: "Deutsch";
|
|
74
|
+
Englisch: "Englisch";
|
|
75
|
+
Französisch: "Französisch";
|
|
76
|
+
Spanisch: "Spanisch";
|
|
77
|
+
Italienisch: "Italienisch";
|
|
78
|
+
}>;
|
|
79
|
+
}, z.core.$strip>;
|
|
80
|
+
blocks: z.ZodObject<{
|
|
81
|
+
defaultKind: z.ZodString;
|
|
82
|
+
structure: z.ZodEnum<{
|
|
83
|
+
flat: "flat";
|
|
84
|
+
composite: "composite";
|
|
85
|
+
}>;
|
|
86
|
+
treeRoot: z.ZodEnum<{
|
|
87
|
+
file: "file";
|
|
88
|
+
folders: "folders";
|
|
89
|
+
}>;
|
|
90
|
+
kindIcon: z.ZodEnum<{
|
|
91
|
+
always: "always";
|
|
92
|
+
hover: "hover";
|
|
93
|
+
}>;
|
|
94
|
+
dragHandle: z.ZodEnum<{
|
|
95
|
+
always: "always";
|
|
96
|
+
hover: "hover";
|
|
97
|
+
}>;
|
|
98
|
+
}, z.core.$strip>;
|
|
99
|
+
appearance: z.ZodObject<{
|
|
100
|
+
theme: z.ZodNullable<z.ZodString>;
|
|
101
|
+
}, z.core.$strip>;
|
|
102
|
+
}, z.core.$strip>;
|
|
103
|
+
/**
|
|
104
|
+
* Deep-merges unknown input over the defaults; unknown keys dropped, invalid values replaced. Accepts the legacy flat
|
|
105
|
+
* `{ headingConversionScope }` shape of the per-browser settings before version 1. Always returns fresh objects.
|
|
106
|
+
*/
|
|
107
|
+
export declare function parseEditorSettings(input: unknown): EditorSettings;
|
|
108
|
+
//#endregion
|
|
109
|
+
export { AI_LANGUAGES, AUTHOR_COLOR_STYLES, AiLanguage, AuthorColorStyle, COMMENTS_LAYOUTS, CommentsLayout, DRAG_HANDLE_VISIBILITIES, DragHandleVisibility, HEADING_CONVERSION_SCOPES, HeadingConversionScope, KIND_ICON_VISIBILITIES, KindIconVisibility, MODEL_SLOTS, ModelSlot, STRUCTURE_MODES, StructureMode, TREE_ROOTS, TreeRoot };
|
|
110
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { AI_LANGUAGES, AUTHOR_COLOR_STYLES, COMMENTS_LAYOUTS, DRAG_HANDLE_VISIBILITIES, HEADING_CONVERSION_SCOPES, KIND_ICON_VISIBILITIES, MODEL_SLOTS, STRUCTURE_MODES, TREE_ROOTS } from "./values.js";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/settings/index.ts
|
|
4
|
+
const EDITOR_SETTINGS_VERSION = 1;
|
|
5
|
+
/** Valid theme id: lowercase slug, used as directory name and in `/api/editor/themes/:id`. Defined here so core never imports a feature. */
|
|
6
|
+
const THEME_ID = /^[a-z0-9][a-z0-9-]{0,63}$/;
|
|
7
|
+
const EDITOR_SETTINGS_DEFAULTS = {
|
|
8
|
+
version: 1,
|
|
9
|
+
editing: {
|
|
10
|
+
headingConversionScope: "container",
|
|
11
|
+
authorColors: false,
|
|
12
|
+
authorColorStyle: "background",
|
|
13
|
+
commentsLayout: "margin"
|
|
14
|
+
},
|
|
15
|
+
ai: {
|
|
16
|
+
autocomplete: false,
|
|
17
|
+
slots: {},
|
|
18
|
+
translateLanguage: "Englisch"
|
|
19
|
+
},
|
|
20
|
+
blocks: {
|
|
21
|
+
defaultKind: "section",
|
|
22
|
+
structure: "composite",
|
|
23
|
+
treeRoot: "folders",
|
|
24
|
+
kindIcon: "always",
|
|
25
|
+
dragHandle: "hover"
|
|
26
|
+
},
|
|
27
|
+
appearance: { theme: null }
|
|
28
|
+
};
|
|
29
|
+
const headingConversionScopeSchema = z.enum(HEADING_CONVERSION_SCOPES);
|
|
30
|
+
const authorColorsSchema = z.boolean();
|
|
31
|
+
const authorColorStyleSchema = z.enum(AUTHOR_COLOR_STYLES);
|
|
32
|
+
const commentsLayoutSchema = z.enum(COMMENTS_LAYOUTS);
|
|
33
|
+
const autocompleteSchema = z.boolean();
|
|
34
|
+
const profileIdSchema = z.string().min(1).max(100);
|
|
35
|
+
const translateLanguageSchema = z.enum(AI_LANGUAGES);
|
|
36
|
+
const defaultKindSchema = z.string().min(1).max(100);
|
|
37
|
+
const structureSchema = z.enum(STRUCTURE_MODES);
|
|
38
|
+
const treeRootSchema = z.enum(TREE_ROOTS);
|
|
39
|
+
const kindIconSchema = z.enum(KIND_ICON_VISIBILITIES);
|
|
40
|
+
const dragHandleSchema = z.enum(DRAG_HANDLE_VISIBILITIES);
|
|
41
|
+
const themeSchema = z.string().regex(THEME_ID).nullable();
|
|
42
|
+
/** Complete, valid settings (the body of `PUT /api/editor/settings`). */
|
|
43
|
+
const editorSettingsSchema = z.object({
|
|
44
|
+
version: z.literal(1),
|
|
45
|
+
editing: z.object({
|
|
46
|
+
headingConversionScope: headingConversionScopeSchema,
|
|
47
|
+
authorColors: authorColorsSchema,
|
|
48
|
+
authorColorStyle: authorColorStyleSchema,
|
|
49
|
+
commentsLayout: commentsLayoutSchema
|
|
50
|
+
}),
|
|
51
|
+
ai: z.object({
|
|
52
|
+
autocomplete: autocompleteSchema,
|
|
53
|
+
slots: z.partialRecord(z.enum(MODEL_SLOTS), profileIdSchema),
|
|
54
|
+
translateLanguage: translateLanguageSchema
|
|
55
|
+
}),
|
|
56
|
+
blocks: z.object({
|
|
57
|
+
defaultKind: defaultKindSchema,
|
|
58
|
+
structure: structureSchema,
|
|
59
|
+
treeRoot: treeRootSchema,
|
|
60
|
+
kindIcon: kindIconSchema,
|
|
61
|
+
dragHandle: dragHandleSchema
|
|
62
|
+
}),
|
|
63
|
+
appearance: z.object({ theme: themeSchema })
|
|
64
|
+
});
|
|
65
|
+
function record(value) {
|
|
66
|
+
return value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
67
|
+
}
|
|
68
|
+
function valid(schema, value, fallback) {
|
|
69
|
+
const parsed = schema.safeParse(value);
|
|
70
|
+
return parsed.success ? parsed.data : fallback;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Deep-merges unknown input over the defaults; unknown keys dropped, invalid values replaced. Accepts the legacy flat
|
|
74
|
+
* `{ headingConversionScope }` shape of the per-browser settings before version 1. Always returns fresh objects.
|
|
75
|
+
*/
|
|
76
|
+
function parseEditorSettings(input) {
|
|
77
|
+
const root = record(input);
|
|
78
|
+
const editing = record(root.editing);
|
|
79
|
+
const ai = record(root.ai);
|
|
80
|
+
const slots = record(ai.slots);
|
|
81
|
+
const blocks = record(root.blocks);
|
|
82
|
+
const appearance = record(root.appearance);
|
|
83
|
+
const defaults = EDITOR_SETTINGS_DEFAULTS;
|
|
84
|
+
const legacyScope = valid(headingConversionScopeSchema, root.headingConversionScope, defaults.editing.headingConversionScope);
|
|
85
|
+
return {
|
|
86
|
+
version: 1,
|
|
87
|
+
editing: {
|
|
88
|
+
headingConversionScope: valid(headingConversionScopeSchema, editing.headingConversionScope, legacyScope),
|
|
89
|
+
authorColors: valid(authorColorsSchema, editing.authorColors, defaults.editing.authorColors),
|
|
90
|
+
authorColorStyle: valid(authorColorStyleSchema, editing.authorColorStyle, defaults.editing.authorColorStyle),
|
|
91
|
+
commentsLayout: valid(commentsLayoutSchema, editing.commentsLayout, defaults.editing.commentsLayout)
|
|
92
|
+
},
|
|
93
|
+
ai: {
|
|
94
|
+
autocomplete: valid(autocompleteSchema, ai.autocomplete, defaults.ai.autocomplete),
|
|
95
|
+
slots: Object.fromEntries(MODEL_SLOTS.flatMap((slot) => {
|
|
96
|
+
const parsed = profileIdSchema.safeParse(slots[slot]);
|
|
97
|
+
return parsed.success ? [[slot, parsed.data]] : [];
|
|
98
|
+
})),
|
|
99
|
+
translateLanguage: valid(translateLanguageSchema, ai.translateLanguage, defaults.ai.translateLanguage)
|
|
100
|
+
},
|
|
101
|
+
blocks: {
|
|
102
|
+
defaultKind: valid(defaultKindSchema, blocks.defaultKind, defaults.blocks.defaultKind),
|
|
103
|
+
structure: valid(structureSchema, blocks.structure, defaults.blocks.structure),
|
|
104
|
+
treeRoot: valid(treeRootSchema, blocks.treeRoot, defaults.blocks.treeRoot),
|
|
105
|
+
kindIcon: valid(kindIconSchema, blocks.kindIcon, defaults.blocks.kindIcon),
|
|
106
|
+
dragHandle: valid(dragHandleSchema, blocks.dragHandle, defaults.blocks.dragHandle)
|
|
107
|
+
},
|
|
108
|
+
appearance: { theme: valid(themeSchema, appearance.theme, defaults.appearance.theme) }
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
//#endregion
|
|
112
|
+
export { AI_LANGUAGES, AUTHOR_COLOR_STYLES, COMMENTS_LAYOUTS, DRAG_HANDLE_VISIBILITIES, EDITOR_SETTINGS_DEFAULTS, EDITOR_SETTINGS_VERSION, HEADING_CONVERSION_SCOPES, KIND_ICON_VISIBILITIES, MODEL_SLOTS, STRUCTURE_MODES, THEME_ID, TREE_ROOTS, editorSettingsSchema, parseEditorSettings };
|
|
113
|
+
|
|
114
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/settings/index.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n AI_LANGUAGES,\n type AiLanguage,\n AUTHOR_COLOR_STYLES,\n type AuthorColorStyle,\n COMMENTS_LAYOUTS,\n type CommentsLayout,\n DRAG_HANDLE_VISIBILITIES,\n type DragHandleVisibility,\n HEADING_CONVERSION_SCOPES,\n type HeadingConversionScope,\n KIND_ICON_VISIBILITIES,\n type KindIconVisibility,\n MODEL_SLOTS,\n type ModelSlot,\n STRUCTURE_MODES,\n type StructureMode,\n TREE_ROOTS,\n type TreeRoot,\n} from './values'\n\nexport * from './values'\n\nexport const EDITOR_SETTINGS_VERSION = 1\n\n/** Valid theme id: lowercase slug, used as directory name and in `/api/editor/themes/:id`. Defined here so core never imports a feature. */\nexport const THEME_ID = /^[a-z0-9][a-z0-9-]{0,63}$/\n\n/** A user's editor preferences, shared by all editors on the page; persisted per user through the `EditorAdapter`. */\nexport interface EditorSettings {\n version: typeof EDITOR_SETTINGS_VERSION\n editing: {\n /** Blocks „Gliederung umwandeln“ (both directions) converts when nothing is selected. */\n headingConversionScope: HeadingConversionScope\n /** Text is tinted per author (authors feature): each run in the colour of the user who wrote it. */\n authorColors: boolean\n /** `background`: tinted background; `text`: text in the author's colour. */\n authorColorStyle: AuthorColorStyle\n /** `margin`: comment cards in a column beside the text; `inline`: popover at the text plus the toolbar's list (comments feature). */\n commentsLayout: CommentsLayout\n }\n ai: {\n /** Ghost-text suggestions while typing (`GhostAutocomplete`). */\n autocomplete: boolean\n /** Model profile id per slot; a missing or unknown id falls back to the server's default preset for the slot. */\n slots: Partial<Record<ModelSlot, string>>\n /** Preselected target language of „Übersetzen“. */\n translateLanguage: AiLanguage\n }\n blocks: {\n /** Composite kind id the „Baustein“ shortcuts create (toolbar button, heading conversion). */\n defaultKind: string\n /** Preferred document structure: toolbar block types and the structure of AI-generated blocks. */\n structure: StructureMode\n /** Root of the document drawer while a composite file is loaded: nested in the folders, or the file itself. */\n treeRoot: TreeRoot\n /** Kind icon of composites (their drag handle): always visible, or only on hover, focus or while the details are open. */\n kindIcon: KindIconVisibility\n /** Standard drag handle of blocks without kind icon: on the hovered block, or permanently beside every block. */\n dragHandle: DragHandleVisibility\n }\n appearance: {\n /** Id of the Obsidian theme applied to the whole app (themes feature); `null` = the standard Nuxt UI look. */\n theme: string | null\n }\n}\n\nexport const EDITOR_SETTINGS_DEFAULTS: EditorSettings = {\n version: EDITOR_SETTINGS_VERSION,\n editing: { headingConversionScope: 'container', authorColors: false, authorColorStyle: 'background', commentsLayout: 'margin' },\n ai: { autocomplete: false, slots: {}, translateLanguage: 'Englisch' },\n blocks: { defaultKind: 'section', structure: 'composite', treeRoot: 'folders', kindIcon: 'always', dragHandle: 'hover' },\n appearance: { theme: null },\n}\n\nconst headingConversionScopeSchema = z.enum(HEADING_CONVERSION_SCOPES)\nconst authorColorsSchema = z.boolean()\nconst authorColorStyleSchema = z.enum(AUTHOR_COLOR_STYLES)\nconst commentsLayoutSchema = z.enum(COMMENTS_LAYOUTS)\nconst autocompleteSchema = z.boolean()\nconst profileIdSchema = z.string().min(1).max(100)\nconst translateLanguageSchema = z.enum(AI_LANGUAGES)\nconst defaultKindSchema = z.string().min(1).max(100)\nconst structureSchema = z.enum(STRUCTURE_MODES)\nconst treeRootSchema = z.enum(TREE_ROOTS)\nconst kindIconSchema = z.enum(KIND_ICON_VISIBILITIES)\nconst dragHandleSchema = z.enum(DRAG_HANDLE_VISIBILITIES)\nconst themeSchema = z.string().regex(THEME_ID).nullable()\n\n/** Complete, valid settings (the body of `PUT /api/editor/settings`). */\nexport const editorSettingsSchema = z.object({\n version: z.literal(EDITOR_SETTINGS_VERSION),\n editing: z.object({\n headingConversionScope: headingConversionScopeSchema,\n authorColors: authorColorsSchema,\n authorColorStyle: authorColorStyleSchema,\n commentsLayout: commentsLayoutSchema,\n }),\n ai: z.object({\n autocomplete: autocompleteSchema,\n slots: z.partialRecord(z.enum(MODEL_SLOTS), profileIdSchema),\n translateLanguage: translateLanguageSchema,\n }),\n blocks: z.object({\n defaultKind: defaultKindSchema,\n structure: structureSchema,\n treeRoot: treeRootSchema,\n kindIcon: kindIconSchema,\n dragHandle: dragHandleSchema,\n }),\n appearance: z.object({ theme: themeSchema }),\n}) satisfies z.ZodType<EditorSettings>\n\nfunction record(value: unknown): Record<string, unknown> {\n return value && typeof value === 'object' && !Array.isArray(value) ? value as Record<string, unknown> : {}\n}\n\nfunction valid<T>(schema: z.ZodType<T>, value: unknown, fallback: T): T {\n const parsed = schema.safeParse(value)\n return parsed.success ? parsed.data : fallback\n}\n\n/**\n * Deep-merges unknown input over the defaults; unknown keys dropped, invalid values replaced. Accepts the legacy flat\n * `{ headingConversionScope }` shape of the per-browser settings before version 1. Always returns fresh objects.\n */\nexport function parseEditorSettings(input: unknown): EditorSettings {\n const root = record(input)\n const editing = record(root.editing)\n const ai = record(root.ai)\n const slots = record(ai.slots)\n const blocks = record(root.blocks)\n const appearance = record(root.appearance)\n const defaults = EDITOR_SETTINGS_DEFAULTS\n const legacyScope = valid(headingConversionScopeSchema, root.headingConversionScope, defaults.editing.headingConversionScope)\n return {\n version: EDITOR_SETTINGS_VERSION,\n editing: {\n headingConversionScope: valid(headingConversionScopeSchema, editing.headingConversionScope, legacyScope),\n authorColors: valid(authorColorsSchema, editing.authorColors, defaults.editing.authorColors),\n authorColorStyle: valid(authorColorStyleSchema, editing.authorColorStyle, defaults.editing.authorColorStyle),\n commentsLayout: valid(commentsLayoutSchema, editing.commentsLayout, defaults.editing.commentsLayout),\n },\n ai: {\n autocomplete: valid(autocompleteSchema, ai.autocomplete, defaults.ai.autocomplete),\n slots: Object.fromEntries(MODEL_SLOTS.flatMap((slot) => {\n const parsed = profileIdSchema.safeParse(slots[slot])\n return parsed.success ? [[slot, parsed.data]] : []\n })),\n translateLanguage: valid(translateLanguageSchema, ai.translateLanguage, defaults.ai.translateLanguage),\n },\n blocks: {\n defaultKind: valid(defaultKindSchema, blocks.defaultKind, defaults.blocks.defaultKind),\n structure: valid(structureSchema, blocks.structure, defaults.blocks.structure),\n treeRoot: valid(treeRootSchema, blocks.treeRoot, defaults.blocks.treeRoot),\n kindIcon: valid(kindIconSchema, blocks.kindIcon, defaults.blocks.kindIcon),\n dragHandle: valid(dragHandleSchema, blocks.dragHandle, defaults.blocks.dragHandle),\n },\n appearance: {\n theme: valid(themeSchema, appearance.theme, defaults.appearance.theme),\n },\n }\n}\n"],"mappings":";;;AAwBA,MAAa,0BAA0B;;AAGvC,MAAa,WAAW;AAyCxB,MAAa,2BAA2C;CACtD,SAAA;CACA,SAAS;EAAE,wBAAwB;EAAa,cAAc;EAAO,kBAAkB;EAAc,gBAAgB;CAAS;CAC9H,IAAI;EAAE,cAAc;EAAO,OAAO,CAAC;EAAG,mBAAmB;CAAW;CACpE,QAAQ;EAAE,aAAa;EAAW,WAAW;EAAa,UAAU;EAAW,UAAU;EAAU,YAAY;CAAQ;CACvH,YAAY,EAAE,OAAO,KAAK;AAC5B;AAEA,MAAM,+BAA+B,EAAE,KAAK,yBAAyB;AACrE,MAAM,qBAAqB,EAAE,QAAQ;AACrC,MAAM,yBAAyB,EAAE,KAAK,mBAAmB;AACzD,MAAM,uBAAuB,EAAE,KAAK,gBAAgB;AACpD,MAAM,qBAAqB,EAAE,QAAQ;AACrC,MAAM,kBAAkB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG;AACjD,MAAM,0BAA0B,EAAE,KAAK,YAAY;AACnD,MAAM,oBAAoB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG;AACnD,MAAM,kBAAkB,EAAE,KAAK,eAAe;AAC9C,MAAM,iBAAiB,EAAE,KAAK,UAAU;AACxC,MAAM,iBAAiB,EAAE,KAAK,sBAAsB;AACpD,MAAM,mBAAmB,EAAE,KAAK,wBAAwB;AACxD,MAAM,cAAc,EAAE,OAAO,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,SAAS;;AAGxD,MAAa,uBAAuB,EAAE,OAAO;CAC3C,SAAS,EAAE,QAAA,CAA+B;CAC1C,SAAS,EAAE,OAAO;EAChB,wBAAwB;EACxB,cAAc;EACd,kBAAkB;EAClB,gBAAgB;CAClB,CAAC;CACD,IAAI,EAAE,OAAO;EACX,cAAc;EACd,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,GAAG,eAAe;EAC3D,mBAAmB;CACrB,CAAC;CACD,QAAQ,EAAE,OAAO;EACf,aAAa;EACb,WAAW;EACX,UAAU;EACV,UAAU;EACV,YAAY;CACd,CAAC;CACD,YAAY,EAAE,OAAO,EAAE,OAAO,YAAY,CAAC;AAC7C,CAAC;AAED,SAAS,OAAO,OAAyC;CACvD,OAAO,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK,IAAI,QAAmC,CAAC;AAC3G;AAEA,SAAS,MAAS,QAAsB,OAAgB,UAAgB;CACtE,MAAM,SAAS,OAAO,UAAU,KAAK;CACrC,OAAO,OAAO,UAAU,OAAO,OAAO;AACxC;;;;;AAMA,SAAgB,oBAAoB,OAAgC;CAClE,MAAM,OAAO,OAAO,KAAK;CACzB,MAAM,UAAU,OAAO,KAAK,OAAO;CACnC,MAAM,KAAK,OAAO,KAAK,EAAE;CACzB,MAAM,QAAQ,OAAO,GAAG,KAAK;CAC7B,MAAM,SAAS,OAAO,KAAK,MAAM;CACjC,MAAM,aAAa,OAAO,KAAK,UAAU;CACzC,MAAM,WAAW;CACjB,MAAM,cAAc,MAAM,8BAA8B,KAAK,wBAAwB,SAAS,QAAQ,sBAAsB;CAC5H,OAAO;EACL,SAAA;EACA,SAAS;GACP,wBAAwB,MAAM,8BAA8B,QAAQ,wBAAwB,WAAW;GACvG,cAAc,MAAM,oBAAoB,QAAQ,cAAc,SAAS,QAAQ,YAAY;GAC3F,kBAAkB,MAAM,wBAAwB,QAAQ,kBAAkB,SAAS,QAAQ,gBAAgB;GAC3G,gBAAgB,MAAM,sBAAsB,QAAQ,gBAAgB,SAAS,QAAQ,cAAc;EACrG;EACA,IAAI;GACF,cAAc,MAAM,oBAAoB,GAAG,cAAc,SAAS,GAAG,YAAY;GACjF,OAAO,OAAO,YAAY,YAAY,SAAS,SAAS;IACtD,MAAM,SAAS,gBAAgB,UAAU,MAAM,KAAK;IACpD,OAAO,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,IAAI,CAAC,IAAI,CAAC;GACnD,CAAC,CAAC;GACF,mBAAmB,MAAM,yBAAyB,GAAG,mBAAmB,SAAS,GAAG,iBAAiB;EACvG;EACA,QAAQ;GACN,aAAa,MAAM,mBAAmB,OAAO,aAAa,SAAS,OAAO,WAAW;GACrF,WAAW,MAAM,iBAAiB,OAAO,WAAW,SAAS,OAAO,SAAS;GAC7E,UAAU,MAAM,gBAAgB,OAAO,UAAU,SAAS,OAAO,QAAQ;GACzE,UAAU,MAAM,gBAAgB,OAAO,UAAU,SAAS,OAAO,QAAQ;GACzE,YAAY,MAAM,kBAAkB,OAAO,YAAY,SAAS,OAAO,UAAU;EACnF;EACA,YAAY,EACV,OAAO,MAAM,aAAa,WAAW,OAAO,SAAS,WAAW,KAAK,EACvE;CACF;AACF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
//#region src/settings/values.d.ts
|
|
2
|
+
/** Feature slots a model profile can be assigned to. */
|
|
3
|
+
export declare const MODEL_SLOTS: readonly ["complete", "rewrite", "generate"];
|
|
4
|
+
export type ModelSlot = typeof MODEL_SLOTS[number];
|
|
5
|
+
/** Target languages of the `translate` task: the stored ids, also the language name the model is asked for; displayed through the catalogs. */
|
|
6
|
+
export declare const AI_LANGUAGES: readonly ["Deutsch", "Englisch", "Französisch", "Spanisch", "Italienisch"];
|
|
7
|
+
export type AiLanguage = (typeof AI_LANGUAGES)[number];
|
|
8
|
+
export declare const HEADING_CONVERSION_SCOPES: readonly ["container", "document", "heading"];
|
|
9
|
+
/** Blocks converted when nothing is selected: the caret's composite body / document, the whole document, or the caret's heading with its content. */
|
|
10
|
+
export type HeadingConversionScope = (typeof HEADING_CONVERSION_SCOPES)[number];
|
|
11
|
+
/** How a user prefers documents structured: Markdown headings, or nested composites („Bausteine“). */
|
|
12
|
+
export declare const STRUCTURE_MODES: readonly ["flat", "composite"];
|
|
13
|
+
export type StructureMode = (typeof STRUCTURE_MODES)[number];
|
|
14
|
+
/**
|
|
15
|
+
* What the document drawer's tree is rooted in while a composite file (a document with Bausteine) is loaded:
|
|
16
|
+
* `folders` nests files in the store's folders (the file is one entry of the folder tree), `file` makes the loaded
|
|
17
|
+
* file itself the single root, with its Ordner/Dokument composites as the hierarchy below. Without a loaded composite
|
|
18
|
+
* file the drawer always shows the folders.
|
|
19
|
+
*/
|
|
20
|
+
export declare const TREE_ROOTS: readonly ["folders", "file"];
|
|
21
|
+
export type TreeRoot = (typeof TREE_ROOTS)[number];
|
|
22
|
+
/** When a composite shows its kind icon (the icon is also its drag handle): permanently, or only while hovered, focused or its details are open. */
|
|
23
|
+
export declare const KIND_ICON_VISIBILITIES: readonly ["always", "hover"];
|
|
24
|
+
export type KindIconVisibility = (typeof KIND_ICON_VISIBILITIES)[number];
|
|
25
|
+
/** When the standard drag handle of blocks without kind icon shows: on the hovered block, or permanently beside every block. */
|
|
26
|
+
export declare const DRAG_HANDLE_VISIBILITIES: readonly ["hover", "always"];
|
|
27
|
+
export type DragHandleVisibility = (typeof DRAG_HANDLE_VISIBILITIES)[number];
|
|
28
|
+
/** How the author colouring mode shows a run's author (authors feature): tinted background or coloured text. */
|
|
29
|
+
export declare const AUTHOR_COLOR_STYLES: readonly ["background", "text"];
|
|
30
|
+
export type AuthorColorStyle = (typeof AUTHOR_COLOR_STYLES)[number];
|
|
31
|
+
/** How a user wants comments shown (comments feature): cards in a margin column beside the text, or a popover at the text with a list in the toolbar. */
|
|
32
|
+
export declare const COMMENTS_LAYOUTS: readonly ["margin", "inline"];
|
|
33
|
+
export type CommentsLayout = (typeof COMMENTS_LAYOUTS)[number];
|
|
34
|
+
//#endregion
|
|
35
|
+
//# sourceMappingURL=values.d.ts.map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//#region src/settings/values.ts
|
|
2
|
+
/** Feature slots a model profile can be assigned to. */
|
|
3
|
+
const MODEL_SLOTS = [
|
|
4
|
+
"complete",
|
|
5
|
+
"rewrite",
|
|
6
|
+
"generate"
|
|
7
|
+
];
|
|
8
|
+
/** Target languages of the `translate` task: the stored ids, also the language name the model is asked for; displayed through the catalogs. */
|
|
9
|
+
const AI_LANGUAGES = [
|
|
10
|
+
"Deutsch",
|
|
11
|
+
"Englisch",
|
|
12
|
+
"Französisch",
|
|
13
|
+
"Spanisch",
|
|
14
|
+
"Italienisch"
|
|
15
|
+
];
|
|
16
|
+
const HEADING_CONVERSION_SCOPES = [
|
|
17
|
+
"container",
|
|
18
|
+
"document",
|
|
19
|
+
"heading"
|
|
20
|
+
];
|
|
21
|
+
/** How a user prefers documents structured: Markdown headings, or nested composites („Bausteine“). */
|
|
22
|
+
const STRUCTURE_MODES = ["flat", "composite"];
|
|
23
|
+
/**
|
|
24
|
+
* What the document drawer's tree is rooted in while a composite file (a document with Bausteine) is loaded:
|
|
25
|
+
* `folders` nests files in the store's folders (the file is one entry of the folder tree), `file` makes the loaded
|
|
26
|
+
* file itself the single root, with its Ordner/Dokument composites as the hierarchy below. Without a loaded composite
|
|
27
|
+
* file the drawer always shows the folders.
|
|
28
|
+
*/
|
|
29
|
+
const TREE_ROOTS = ["folders", "file"];
|
|
30
|
+
/** When a composite shows its kind icon (the icon is also its drag handle): permanently, or only while hovered, focused or its details are open. */
|
|
31
|
+
const KIND_ICON_VISIBILITIES = ["always", "hover"];
|
|
32
|
+
/** When the standard drag handle of blocks without kind icon shows: on the hovered block, or permanently beside every block. */
|
|
33
|
+
const DRAG_HANDLE_VISIBILITIES = ["hover", "always"];
|
|
34
|
+
/** How the author colouring mode shows a run's author (authors feature): tinted background or coloured text. */
|
|
35
|
+
const AUTHOR_COLOR_STYLES = ["background", "text"];
|
|
36
|
+
/** How a user wants comments shown (comments feature): cards in a margin column beside the text, or a popover at the text with a list in the toolbar. */
|
|
37
|
+
const COMMENTS_LAYOUTS = ["margin", "inline"];
|
|
38
|
+
//#endregion
|
|
39
|
+
export { AI_LANGUAGES, AUTHOR_COLOR_STYLES, COMMENTS_LAYOUTS, DRAG_HANDLE_VISIBILITIES, HEADING_CONVERSION_SCOPES, KIND_ICON_VISIBILITIES, MODEL_SLOTS, STRUCTURE_MODES, TREE_ROOTS };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"values.js","names":[],"sources":["../../src/settings/values.ts"],"sourcesContent":["// Inert enum values of the stored settings model. Vue-free and free of feature code: the settings schema imports only\n// this file, features import their values from here. Their presence does not install any feature.\n\n/** Feature slots a model profile can be assigned to. */\nexport const MODEL_SLOTS = ['complete', 'rewrite', 'generate'] as const\nexport type ModelSlot = typeof MODEL_SLOTS[number]\n\n/** Target languages of the `translate` task: the stored ids, also the language name the model is asked for; displayed through the catalogs. */\n// i18n-ignore: stored setting ids, not display text\nexport const AI_LANGUAGES = ['Deutsch', 'Englisch', 'Französisch', 'Spanisch', 'Italienisch'] as const\nexport type AiLanguage = (typeof AI_LANGUAGES)[number]\n\nexport const HEADING_CONVERSION_SCOPES = ['container', 'document', 'heading'] as const\n/** Blocks converted when nothing is selected: the caret's composite body / document, the whole document, or the caret's heading with its content. */\nexport type HeadingConversionScope = (typeof HEADING_CONVERSION_SCOPES)[number]\n\n/** How a user prefers documents structured: Markdown headings, or nested composites („Bausteine“). */\nexport const STRUCTURE_MODES = ['flat', 'composite'] as const\nexport type StructureMode = (typeof STRUCTURE_MODES)[number]\n\n/**\n * What the document drawer's tree is rooted in while a composite file (a document with Bausteine) is loaded:\n * `folders` nests files in the store's folders (the file is one entry of the folder tree), `file` makes the loaded\n * file itself the single root, with its Ordner/Dokument composites as the hierarchy below. Without a loaded composite\n * file the drawer always shows the folders.\n */\nexport const TREE_ROOTS = ['folders', 'file'] as const\nexport type TreeRoot = (typeof TREE_ROOTS)[number]\n\n/** When a composite shows its kind icon (the icon is also its drag handle): permanently, or only while hovered, focused or its details are open. */\nexport const KIND_ICON_VISIBILITIES = ['always', 'hover'] as const\nexport type KindIconVisibility = (typeof KIND_ICON_VISIBILITIES)[number]\n\n/** When the standard drag handle of blocks without kind icon shows: on the hovered block, or permanently beside every block. */\nexport const DRAG_HANDLE_VISIBILITIES = ['hover', 'always'] as const\nexport type DragHandleVisibility = (typeof DRAG_HANDLE_VISIBILITIES)[number]\n\n/** How the author colouring mode shows a run's author (authors feature): tinted background or coloured text. */\nexport const AUTHOR_COLOR_STYLES = ['background', 'text'] as const\nexport type AuthorColorStyle = (typeof AUTHOR_COLOR_STYLES)[number]\n\n/** How a user wants comments shown (comments feature): cards in a margin column beside the text, or a popover at the text with a list in the toolbar. */\nexport const COMMENTS_LAYOUTS = ['margin', 'inline'] as const\nexport type CommentsLayout = (typeof COMMENTS_LAYOUTS)[number]\n"],"mappings":";;AAIA,MAAa,cAAc;CAAC;CAAY;CAAW;AAAU;;AAK7D,MAAa,eAAe;CAAC;CAAW;CAAY;CAAe;CAAY;AAAa;AAG5F,MAAa,4BAA4B;CAAC;CAAa;CAAY;AAAS;;AAK5E,MAAa,kBAAkB,CAAC,QAAQ,WAAW;;;;;;;AASnD,MAAa,aAAa,CAAC,WAAW,MAAM;;AAI5C,MAAa,yBAAyB,CAAC,UAAU,OAAO;;AAIxD,MAAa,2BAA2B,CAAC,SAAS,QAAQ;;AAI1D,MAAa,sBAAsB,CAAC,cAAc,MAAM;;AAIxD,MAAa,mBAAmB,CAAC,UAAU,QAAQ"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/* AI feature styles: ghost autocomplete, selection highlight, review decorations, previews. Import after `tailwindcss` and the UI kit's stylesheet (`vue/kit/nuxt-ui.css`). */
|
|
2
|
+
/* GhostAutocomplete: local AI suggestion after the caret (widget decoration, never in the document). */
|
|
3
|
+
@layer components {
|
|
4
|
+
.tiptap .ghost-autocomplete {
|
|
5
|
+
color: var(--sk-fg-dimmed);
|
|
6
|
+
pointer-events: none;
|
|
7
|
+
user-select: none;
|
|
8
|
+
}
|
|
9
|
+
.tiptap .ghost-autocomplete::after {
|
|
10
|
+
content: 'Tab';
|
|
11
|
+
margin-left: 0.4em;
|
|
12
|
+
padding: 0 0.3em;
|
|
13
|
+
border: 1px solid var(--sk-border-accented);
|
|
14
|
+
border-radius: 0.25rem;
|
|
15
|
+
font-size: 0.7em;
|
|
16
|
+
font-style: normal;
|
|
17
|
+
font-weight: 500;
|
|
18
|
+
vertical-align: 0.15em;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* AiSelectionHighlight: the text an open selection AI menu works on (local inline decoration, never in the document). */
|
|
23
|
+
@layer components {
|
|
24
|
+
.tiptap .ai-selection-highlight {
|
|
25
|
+
background: color-mix(in oklab, var(--sk-primary) 22%, transparent);
|
|
26
|
+
box-decoration-break: clone;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* AiReview: pending AI changes (local decorations, never in the document). Deleted text struck red, inserted text as green widgets. */
|
|
31
|
+
@layer components {
|
|
32
|
+
.tiptap .ai-review-del,
|
|
33
|
+
.tiptap .ai-review-del-block,
|
|
34
|
+
.tiptap .ai-review-ins,
|
|
35
|
+
.tiptap .ai-review-ins-block { cursor: pointer; box-decoration-break: clone; }
|
|
36
|
+
.tiptap .ai-review-del {
|
|
37
|
+
color: var(--sk-danger);
|
|
38
|
+
background: color-mix(in oklab, var(--sk-danger) 12%, transparent);
|
|
39
|
+
text-decoration: line-through;
|
|
40
|
+
}
|
|
41
|
+
/* A whole block proposed for deletion (node decoration). */
|
|
42
|
+
.tiptap .ai-review-del-block {
|
|
43
|
+
color: var(--sk-danger);
|
|
44
|
+
background: color-mix(in oklab, var(--sk-danger) 10%, transparent);
|
|
45
|
+
text-decoration: line-through;
|
|
46
|
+
border-radius: var(--sk-radius);
|
|
47
|
+
box-shadow: -3px 0 0 var(--sk-danger);
|
|
48
|
+
}
|
|
49
|
+
.tiptap .ai-review-del-block img { opacity: 0.5; }
|
|
50
|
+
.tiptap .ai-review-ins {
|
|
51
|
+
color: var(--sk-success);
|
|
52
|
+
background: color-mix(in oklab, var(--sk-success) 14%, transparent);
|
|
53
|
+
}
|
|
54
|
+
.tiptap .ai-review-ins-block {
|
|
55
|
+
color: var(--sk-success);
|
|
56
|
+
background: color-mix(in oklab, var(--sk-success) 10%, transparent);
|
|
57
|
+
border-left: 3px solid var(--sk-success);
|
|
58
|
+
border-radius: var(--sk-radius);
|
|
59
|
+
padding: 0.1em 0.75em;
|
|
60
|
+
margin: 0.25em 0;
|
|
61
|
+
}
|
|
62
|
+
.tiptap .ai-review-del.is-active,
|
|
63
|
+
.tiptap .ai-review-del-block.is-active,
|
|
64
|
+
.tiptap .ai-review-ins.is-active,
|
|
65
|
+
.tiptap .ai-review-ins-block.is-active { outline: 2px solid var(--sk-primary); outline-offset: 1px; }
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/* Result preview of the selection AI menu: unlayered, to override the base `.tiptap` editor size. */
|
|
69
|
+
.tiptap.ai-selection-preview { min-height: 0; padding-left: 0; }
|
|
70
|
+
|
|
71
|
+
/* Answers in the document chat: quote links jump to their block. */
|
|
72
|
+
@layer components {
|
|
73
|
+
.document-chat-answer a { color: var(--sk-primary); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* Unlayered like the `.tiptap` base rule above, which it overrides for the compact chat answers. */
|
|
77
|
+
.document-chat-answer .tiptap { min-height: 0; padding-left: 0; }
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* Authors feature styles (import after `tailwindcss` and the UI kit's stylesheet (`vue/kit/nuxt-ui.css`)). AuthorMark: who wrote a text run; styled only while the colouring mode is on (the authors feature puts `author-colors` on the editor element). */
|
|
2
|
+
@layer components {
|
|
3
|
+
.tiptap.author-colors .author {
|
|
4
|
+
background: color-mix(in oklab, var(--author-color, var(--sk-muted)) 18%, transparent);
|
|
5
|
+
border-radius: 0.15rem;
|
|
6
|
+
box-decoration-break: clone;
|
|
7
|
+
position: relative;
|
|
8
|
+
}
|
|
9
|
+
.tiptap.author-colors--text .author { background: none; color: var(--author-color, inherit); }
|
|
10
|
+
/* Hovering a run names its author (pure CSS, `data-author-name`). */
|
|
11
|
+
.tiptap.author-colors .author:hover::after {
|
|
12
|
+
content: attr(data-author-name);
|
|
13
|
+
position: absolute; left: 0; top: -1.5em; z-index: 1;
|
|
14
|
+
padding: 0 0.3em; border-radius: 0.25rem; border: 1px solid var(--sk-border);
|
|
15
|
+
background: var(--sk-bg-elevated); color: var(--sk-fg); font-size: 0.7rem; font-style: normal; font-weight: 500;
|
|
16
|
+
white-space: nowrap; pointer-events: none;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/* Block range selection of the block-ui feature (NodeRange). Import after `tailwindcss` and the UI kit's stylesheet (`vue/kit/nuxt-ui.css`). */
|
|
2
|
+
@layer components {
|
|
3
|
+
/* NodeRange: block-range selection (Mod+drag, Shift+↑/↓). The native selection is hidden, blocks get a tint. */
|
|
4
|
+
.tiptap.ProseMirror-noderangeselection *::selection { background: transparent; }
|
|
5
|
+
.tiptap.ProseMirror-noderangeselection { caret-color: transparent; }
|
|
6
|
+
.tiptap .ProseMirror-selectednoderange { position: relative; }
|
|
7
|
+
.tiptap .ProseMirror-selectednoderange::before {
|
|
8
|
+
content: '';
|
|
9
|
+
position: absolute;
|
|
10
|
+
inset: -0.25rem;
|
|
11
|
+
z-index: -1;
|
|
12
|
+
pointer-events: none;
|
|
13
|
+
border-radius: 0.25rem;
|
|
14
|
+
background: color-mix(in oklab, var(--sk-primary) 15%, transparent);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/* Remote carets of the collab feature (CollaborationCaret). Import after `tailwindcss` and the UI kit's stylesheet (`vue/kit/nuxt-ui.css`). */
|
|
2
|
+
@layer components {
|
|
3
|
+
.tiptap .collaboration-carets__caret {
|
|
4
|
+
border-left: 1px solid;
|
|
5
|
+
border-right: 1px solid;
|
|
6
|
+
margin: 0 -1px;
|
|
7
|
+
pointer-events: none;
|
|
8
|
+
position: relative;
|
|
9
|
+
word-break: normal;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.tiptap .collaboration-carets__label {
|
|
13
|
+
border-radius: 3px 3px 3px 0;
|
|
14
|
+
color: #0d0d0d;
|
|
15
|
+
font-size: 12px;
|
|
16
|
+
font-style: normal;
|
|
17
|
+
font-weight: 600;
|
|
18
|
+
left: -1px;
|
|
19
|
+
line-height: normal;
|
|
20
|
+
padding: 0.1rem 0.3rem;
|
|
21
|
+
position: absolute;
|
|
22
|
+
top: -1.4em;
|
|
23
|
+
user-select: none;
|
|
24
|
+
white-space: nowrap;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* Comments feature styles (import after `tailwindcss` and the UI kit's stylesheet (`vue/kit/nuxt-ui.css`)). Comments: thread highlights are decorations driven by thread state (the `comment` mark only stores the range). */
|
|
2
|
+
@layer components {
|
|
3
|
+
.tiptap .comment-hl {
|
|
4
|
+
background: color-mix(in oklab, var(--sk-warning) 22%, transparent);
|
|
5
|
+
border-bottom: 2px solid color-mix(in oklab, var(--sk-warning) 60%, transparent);
|
|
6
|
+
box-decoration-break: clone;
|
|
7
|
+
cursor: pointer;
|
|
8
|
+
}
|
|
9
|
+
.tiptap .comment-hl--active,
|
|
10
|
+
.tiptap .comment-hl--draft { background: color-mix(in oklab, var(--sk-warning) 45%, transparent); }
|
|
11
|
+
}
|