@skaile/forge-editor 6.1.1 → 6.1.2

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 CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 6.1.2 - 2026-10-28
4
+
5
+ ### Changed
6
+
7
+ - The optional `@skaile/forge-chat` peer range is `^0.2.3`, the tested version, instead of `^0.2.0`.
8
+
9
+ ### Documented
10
+
11
+ - In a bundled host (Vite, Nuxt) a missing `@skaile/forge-chat` peer surfaces as the bundler's own resolve error for `@skaile/forge-chat`; the named missing-peer error of `@skaile/forge-editor/ai/vue/chat` appears when the module loads unbundled (Node, SSR). The entry uses a top-level `await`, so the host's build target must be ES2022 or later.
12
+
3
13
  ## 6.1.1 - 2026-10-28
4
14
 
5
15
  ### Fixed
@@ -11,16 +11,16 @@ type __VLS_Props = {
11
11
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
12
12
  view: import("vue").ShallowRef<EditorView | undefined, EditorView | undefined>;
13
13
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
- ready: (view: EditorView) => any;
15
14
  "update:modelValue": (text: string) => any;
15
+ ready: (view: EditorView) => any;
16
16
  save: (text: string) => any;
17
17
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
18
- onReady?: ((view: EditorView) => any) | undefined;
19
18
  "onUpdate:modelValue"?: ((text: string) => any) | undefined;
19
+ onReady?: ((view: EditorView) => any) | undefined;
20
20
  onSave?: ((text: string) => any) | undefined;
21
21
  }>, {
22
- modelValue: string;
23
22
  editable: boolean;
23
+ modelValue: string;
24
24
  wordWrap: boolean;
25
25
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
26
  declare const _default: typeof __VLS_export;
@@ -32,16 +32,16 @@ type __VLS_Slots = {} & { [K in NonNullable<typeof __VLS_13>]?: (props: typeof _
32
32
  binary?: (props: typeof __VLS_26) => any;
33
33
  };
34
34
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
35
- ready: (target: DocumentSurfaceTarget) => any;
36
35
  "update:modelValue": (text: string) => any;
36
+ ready: (target: DocumentSurfaceTarget) => any;
37
37
  save: (text: string) => any;
38
38
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
39
- onReady?: ((target: DocumentSurfaceTarget) => any) | undefined;
40
39
  "onUpdate:modelValue"?: ((text: string) => any) | undefined;
40
+ onReady?: ((target: DocumentSurfaceTarget) => any) | undefined;
41
41
  onSave?: ((text: string) => any) | undefined;
42
42
  }>, {
43
- modelValue: string;
44
43
  editable: boolean;
44
+ modelValue: string;
45
45
  wordWrap: boolean;
46
46
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
47
47
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -4,10 +4,10 @@ import { propertyHostOf } from "../properties.js";
4
4
  import { useUiKit } from "../../../vue/kit/use-ui-kit.js";
5
5
  import { useEditorI18n } from "../../../vue/use-editor-i18n.js";
6
6
  import { compositeFieldText, isStructuredField } from "../inspector-model.js";
7
- import _sfc_main$1 from "./DocumentBadges.js";
8
- import _sfc_main$2 from "./DerivationBadge.js";
9
- import _sfc_main$3 from "./CompositeFieldEditor.js";
10
- import _sfc_main$4 from "./InspectorSections.js";
7
+ import _sfc_main$1 from "./DerivationBadge.js";
8
+ import _sfc_main$2 from "./CompositeFieldEditor.js";
9
+ import _sfc_main$3 from "./InspectorSections.js";
10
+ import _sfc_main$4 from "./DocumentBadges.js";
11
11
  import { useCompositeInspector } from "../use-composite-inspector.js";
12
12
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, renderList, renderSlot, toDisplayString, unref, useId, withCtx } from "vue";
13
13
  //#region src/features/composites/components/CompositeInspector.vue
@@ -109,7 +109,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
109
109
  class: "text-sm font-semibold text-[var(--sk-fg-highlighted)]"
110
110
  }, toDisplayString(unref(t)("composites.inspector.document")), 9, _hoisted_4),
111
111
  createCommentVNode(" Chips of the whole document other features add (`EditorFeature.documentBadges`), e.g. the Freigabestatus. "),
112
- createVNode(_sfc_main$1, { editor: __props.editor }, null, 8, ["editor"])
112
+ createVNode(_sfc_main$4, { editor: __props.editor }, null, 8, ["editor"])
113
113
  ]), createElementVNode("div", _hoisted_5, [renderSlot(_ctx.$slots, "document"), createElementVNode("dl", _hoisted_6, [
114
114
  createElementVNode("dt", _hoisted_7, toDisplayString(unref(t)("composites.inspector.composites")), 1),
115
115
  unref(kinds).length ? (openBlock(), createElementBlock("dd", _hoisted_8, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(kinds), (kind) => {
@@ -267,7 +267,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
267
267
  label: field.label,
268
268
  size: "sm"
269
269
  }, {
270
- default: withCtx(() => [createCommentVNode(" Fields whose value is not text (reference, bibliography, derivation) have their own editors, as in the details card; a text input would overwrite the stored object with a string. "), unref(isStructuredField)(field) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [__props.editor ? (openBlock(), createBlock(_sfc_main$3, {
270
+ default: withCtx(() => [createCommentVNode(" Fields whose value is not text (reference, bibliography, derivation) have their own editors, as in the details card; a text input would overwrite the stored object with a string. "), unref(isStructuredField)(field) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [__props.editor ? (openBlock(), createBlock(_sfc_main$2, {
271
271
  key: 0,
272
272
  editor: __props.editor,
273
273
  row: unref(properties),
@@ -335,14 +335,14 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
335
335
  label: unref(t)("composites.inspector.derivation"),
336
336
  size: "sm"
337
337
  }, {
338
- default: withCtx(() => [createVNode(_sfc_main$2, {
338
+ default: withCtx(() => [createVNode(_sfc_main$1, {
339
339
  editor: __props.editor,
340
340
  node: unref(derivation).node
341
341
  }, null, 8, ["editor", "node"])]),
342
342
  _: 1
343
343
  }, 8, ["label"])) : createCommentVNode("v-if", true),
344
344
  createCommentVNode(" Sections other features add (`EditorFeature.inspectorSections`), e.g. the Prüfstand. "),
345
- __props.editor ? (openBlock(), createBlock(_sfc_main$4, {
345
+ __props.editor ? (openBlock(), createBlock(_sfc_main$3, {
346
346
  key: 3,
347
347
  editor: __props.editor,
348
348
  node: blockNode.value
@@ -1,7 +1,6 @@
1
1
  import { embedViewOptions } from "./embed-dom.js";
2
2
  import { typedBlockViewOptions } from "./node-views.js";
3
3
  import { compositeFeatureCore } from "./feature.js";
4
- import _sfc_main$13 from "./components/DocumentBadges.js";
5
4
  import _sfc_main from "./components/BlockEmbedView.js";
6
5
  import _sfc_main$1 from "./components/CiteView.js";
7
6
  import _sfc_main$11 from "./components/CompositeView.js";
@@ -21,6 +20,7 @@ import _sfc_main$14 from "./components/EdgesSection.js";
21
20
  import _sfc_main$16 from "./components/FocusChip.js";
22
21
  import _sfc_main$18 from "./components/ReferenceView.js";
23
22
  import _sfc_main$19 from "./components/SettingsEditingTab.js";
23
+ import _sfc_main$13 from "./components/DocumentBadges.js";
24
24
  import _sfc_main$6 from "./components/CompositeInspector.js";
25
25
  import _sfc_main$9 from "./components/CompositeTable.js";
26
26
  import { VueNodeViewRenderer } from "@tiptap/vue-3";
@@ -41,29 +41,29 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
41
41
  settingsOpen: import("vue").WritableComputedRef<boolean, boolean>;
42
42
  settingsTab: import("vue").WritableComputedRef<string | undefined, string | undefined>;
43
43
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
44
+ settingsOpen: (tab?: string | undefined) => any;
44
45
  "update:sidebarOpen": (value: boolean) => any;
45
46
  "update:commentsOpen": (value: boolean) => any;
46
- ready: (editor: Editor) => any;
47
47
  "update:modelValue": (markdown: string) => any;
48
+ frontmatter: (frontmatter: string | null) => any;
49
+ ready: (editor: Editor) => any;
48
50
  metadataCreate: (list: string, item: MetadataItem) => any;
49
51
  contentError: (error: Error) => any;
50
- settingsOpen: (tab?: string | undefined) => any;
51
- frontmatter: (frontmatter: string | null) => any;
52
52
  diagnostics: (diagnostics: MarkdownDiagnostic[]) => any;
53
53
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
54
+ onSettingsOpen?: ((tab?: string | undefined) => any) | undefined;
54
55
  "onUpdate:sidebarOpen"?: ((value: boolean) => any) | undefined;
55
56
  "onUpdate:commentsOpen"?: ((value: boolean) => any) | undefined;
56
- onReady?: ((editor: Editor) => any) | undefined;
57
57
  "onUpdate:modelValue"?: ((markdown: string) => any) | undefined;
58
+ onFrontmatter?: ((frontmatter: string | null) => any) | undefined;
59
+ onReady?: ((editor: Editor) => any) | undefined;
58
60
  onMetadataCreate?: ((list: string, item: MetadataItem) => any) | undefined;
59
61
  onContentError?: ((error: Error) => any) | undefined;
60
- onSettingsOpen?: ((tab?: string | undefined) => any) | undefined;
61
- onFrontmatter?: ((frontmatter: string | null) => any) | undefined;
62
62
  onDiagnostics?: ((diagnostics: MarkdownDiagnostic[]) => any) | undefined;
63
63
  }>, {
64
- modelValue: string;
65
64
  editable: boolean;
66
65
  settingsUi: "internal" | "external";
66
+ modelValue: string;
67
67
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
68
68
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
69
69
  declare const _default: typeof __VLS_export;
@@ -5,10 +5,10 @@ import { basketById } from "../features/composites/baskets.js";
5
5
  import { useUiKit } from "../vue/kit/use-ui-kit.js";
6
6
  import { useEditorSettings } from "../vue/settings.js";
7
7
  import { useEditorI18n } from "../vue/use-editor-i18n.js";
8
+ import _sfc_main$1 from "../features/composites/components/DocumentBadges.js";
8
9
  import { DRAG_MIME, focusCrumbs, indexItems, isOutlineHeader, itemBasket } from "./tree-items.js";
9
10
  import { refocusRow, rowPosition } from "./row-focus.js";
10
11
  import { rowOf } from "./tree-model.js";
11
- import _sfc_main$1 from "../features/composites/components/DocumentBadges.js";
12
12
  import { useTreeModel } from "./use-tree-model.js";
13
13
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, mergeModels, normalizeClass, normalizeStyle, openBlock, renderList, renderSlot, toDisplayString, unref, useModel, withCtx, withKeys, withModifiers } from "vue";
14
14
  //#region src/tree/DocumentTree.vue
@@ -3,10 +3,10 @@ import { useEditorSettings } from "../vue/settings.js";
3
3
  import { useEditorContext } from "../vue/context.js";
4
4
  import { useEditorI18n } from "../vue/use-editor-i18n.js";
5
5
  import { useStoreRef } from "../vue/store-ref.js";
6
+ import { useFileImport } from "../features/media/vue.js";
6
7
  import { treeView } from "./tree-view-model.js";
7
8
  import { createTreeModel } from "./tree-model.js";
8
9
  import { createTreeExecutor, treeEditorOf } from "./tree-host.js";
9
- import { useFileImport } from "../features/media/vue.js";
10
10
  import { computed, onScopeDispose, shallowRef, watch } from "vue";
11
11
  //#region src/tree/use-tree-model.ts
12
12
  /**
@@ -82,21 +82,21 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
82
82
  editor: import("vue").ComputedRef<Editor | undefined>;
83
83
  preset: ComposedEditor<Component>;
84
84
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
85
+ settingsOpen: (tab?: string | undefined) => any;
85
86
  "update:sidebarOpen": (value: boolean) => any;
86
87
  "update:commentsOpen": (value: boolean) => any;
87
- ready: (editor: Editor) => any;
88
88
  "update:modelValue": (content: JSONContent) => any;
89
+ ready: (editor: Editor) => any;
89
90
  metadataCreate: (list: string, item: MetadataItem) => any;
90
91
  contentError: (error: Error) => any;
91
- settingsOpen: (tab?: string | undefined) => any;
92
92
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
93
+ onSettingsOpen?: ((tab?: string | undefined) => any) | undefined;
93
94
  "onUpdate:sidebarOpen"?: ((value: boolean) => any) | undefined;
94
95
  "onUpdate:commentsOpen"?: ((value: boolean) => any) | undefined;
95
- onReady?: ((editor: Editor) => any) | undefined;
96
96
  "onUpdate:modelValue"?: ((content: JSONContent) => any) | undefined;
97
+ onReady?: ((editor: Editor) => any) | undefined;
97
98
  onMetadataCreate?: ((list: string, item: MetadataItem) => any) | undefined;
98
99
  onContentError?: ((error: Error) => any) | undefined;
99
- onSettingsOpen?: ((tab?: string | undefined) => any) | undefined;
100
100
  }>, {
101
101
  content: ContentLevel | readonly FeatureId[];
102
102
  ai: boolean;
@@ -41,21 +41,21 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
41
41
  editor: import("vue").ComputedRef<Editor | undefined>;
42
42
  preset: EditorPreset<Component>;
43
43
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
44
+ settingsOpen: (tab?: string | undefined) => any;
44
45
  "update:sidebarOpen": (value: boolean) => any;
45
46
  "update:commentsOpen": (value: boolean) => any;
46
- ready: (editor: Editor) => any;
47
47
  "update:modelValue": (content: JSONContent) => any;
48
+ ready: (editor: Editor) => any;
48
49
  metadataCreate: (list: string, item: MetadataItem) => any;
49
50
  contentError: (error: Error) => any;
50
- settingsOpen: (tab?: string | undefined) => any;
51
51
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
52
+ onSettingsOpen?: ((tab?: string | undefined) => any) | undefined;
52
53
  "onUpdate:sidebarOpen"?: ((value: boolean) => any) | undefined;
53
54
  "onUpdate:commentsOpen"?: ((value: boolean) => any) | undefined;
54
- onReady?: ((editor: Editor) => any) | undefined;
55
55
  "onUpdate:modelValue"?: ((content: JSONContent) => any) | undefined;
56
+ onReady?: ((editor: Editor) => any) | undefined;
56
57
  onMetadataCreate?: ((list: string, item: MetadataItem) => any) | undefined;
57
58
  onContentError?: ((error: Error) => any) | undefined;
58
- onSettingsOpen?: ((tab?: string | undefined) => any) | undefined;
59
59
  }>, {
60
60
  editable: boolean;
61
61
  settingsUi: "internal" | "external";
@@ -43,21 +43,21 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
43
43
  settingsOpen: import("vue").Ref<boolean, boolean>;
44
44
  settingsTab: import("vue").Ref<string | undefined, string | undefined>;
45
45
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
46
+ settingsOpen: (tab?: string | undefined) => any;
46
47
  "update:sidebarOpen": (value: boolean) => any;
47
48
  "update:commentsOpen": (value: boolean) => any;
48
- ready: (editor: Editor) => any;
49
49
  "update:modelValue": (content: JSONContent) => any;
50
+ ready: (editor: Editor) => any;
50
51
  metadataCreate: (list: string, item: MetadataItem) => any;
51
52
  contentError: (error: Error) => any;
52
- settingsOpen: (tab?: string | undefined) => any;
53
53
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
54
+ onSettingsOpen?: ((tab?: string | undefined) => any) | undefined;
54
55
  "onUpdate:sidebarOpen"?: ((value: boolean) => any) | undefined;
55
56
  "onUpdate:commentsOpen"?: ((value: boolean) => any) | undefined;
56
- onReady?: ((editor: Editor) => any) | undefined;
57
57
  "onUpdate:modelValue"?: ((content: JSONContent) => any) | undefined;
58
+ onReady?: ((editor: Editor) => any) | undefined;
58
59
  onMetadataCreate?: ((list: string, item: MetadataItem) => any) | undefined;
59
60
  onContentError?: ((error: Error) => any) | undefined;
60
- onSettingsOpen?: ((tab?: string | undefined) => any) | undefined;
61
61
  }>, {
62
62
  editable: boolean;
63
63
  settingsUi: "internal" | "external";
@@ -1,6 +1,5 @@
1
1
  import { coreUiFeature } from "../core/core-feature.js";
2
2
  import { AI_BINDINGS, layerCompositions } from "../presets/layer.js";
3
- import { mediaFeature } from "../features/media/vue.js";
4
3
  import _sfc_main from "./components/EditorCommandPalette.js";
5
4
  import { aiFeature } from "../features/ai/vue.js";
6
5
  import { authorsFeature } from "../features/authors/vue.js";
@@ -8,6 +7,7 @@ import { blockUiFeature } from "../features/block-ui/vue.js";
8
7
  import { collabFeature } from "../features/collab/vue.js";
9
8
  import { commentsFeature } from "../features/comments/vue.js";
10
9
  import { compositeFeature } from "../features/composites/vue.js";
10
+ import { mediaFeature } from "../features/media/vue.js";
11
11
  import { themesFeature } from "../features/themes/vue.js";
12
12
  import { pruefungFeature } from "../features/pruefung/vue.js";
13
13
  import { exploreFeature } from "../features/explore/vue.js";
package/dist/vue/index.js CHANGED
@@ -11,8 +11,8 @@ import { vueSuggestionRenderer } from "./suggestion-renderer.js";
11
11
  import _sfc_main$2 from "./components/EditorSettingsPanel.js";
12
12
  import _sfc_main$1 from "./components/EditorSettingsModal.js";
13
13
  import _sfc_main$3 from "./components/EditorSurface.js";
14
- import { useNotifier } from "./use-notifier.js";
15
14
  import _sfc_main from "./components/EditorCommandPalette.js";
15
+ import { useNotifier } from "./use-notifier.js";
16
16
  import _sfc_main$5 from "./components/SettingsSection.js";
17
17
  import _sfc_main$4 from "./components/EditorToolbar.js";
18
18
  export { EDITOR_CONTEXT, EDITOR_UI, _sfc_main as EditorCommandPalette, _sfc_main$1 as EditorSettingsModal, _sfc_main$2 as EditorSettingsPanel, _sfc_main$3 as EditorSurface, _sfc_main$4 as EditorToolbar, _sfc_main$5 as SettingsSection, _sfc_main$6 as SuggestionList, VUE_UI_KIT, attachNotifier, createEditor, createQueuedNotifier, storeFromRef, trackedStore, useEditorContext, useEditorI18n, useEditorSettings, useEditorUi, useNotifier, useStoreRef, useUiKit, useWritableStoreRef, vueSuggestionRenderer };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skaile/forge-editor",
3
- "version": "6.1.1",
3
+ "version": "6.1.2",
4
4
  "type": "module",
5
5
  "description": "Vue and React editor library on TipTap v3 (Vue: Nuxt UI; React: shadcn/ui): framework-free features with Vue and React bindings, simple and advanced presets, tree-shakeable entries. Built ESM with type declarations.",
6
6
  "license": "MIT",
@@ -703,7 +703,7 @@
703
703
  "@lezer/highlight": "^1.2.1",
704
704
  "@nuxt/ui": "^4.11.1",
705
705
  "@skaile/forge-app-actions": "^0.1.0 || ^0.2.0 || ^0.3.0 || ^0.4.0",
706
- "@skaile/forge-chat": "^0.2.0",
706
+ "@skaile/forge-chat": "^0.2.3",
707
707
  "@tiptap/core": "^3.31.3",
708
708
  "@tiptap/pm": "^3.31.3",
709
709
  "@tiptap/react": "^3.31.3",