@ecsplico/editor 3.0.0 → 3.1.1

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.
Files changed (62) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/adapters/comments/record.d.ts +15 -0
  3. package/dist/adapters/comments/server.d.ts +2 -1
  4. package/dist/adapters/comments/server.js +2 -1
  5. package/dist/adapters/comments/server.js.map +1 -1
  6. package/dist/adapters/nitro.d.ts +4 -0
  7. package/dist/adapters/nitro.js +2 -1
  8. package/dist/adapters/nitro.js.map +1 -1
  9. package/dist/code/CodeSurface.vue.d.ts +2 -2
  10. package/dist/core/command-types.d.ts +7 -0
  11. package/dist/core/commands.d.ts +2 -2
  12. package/dist/core/commands.js.map +1 -1
  13. package/dist/core/feature.d.ts +8 -2
  14. package/dist/core/feature.js.map +1 -1
  15. package/dist/core/index.d.ts +3 -2
  16. package/dist/core/index.js +2 -1
  17. package/dist/core/surface-session.js +2 -0
  18. package/dist/core/surface-session.js.map +1 -1
  19. package/dist/core/transaction-guards.d.ts +21 -0
  20. package/dist/core/transaction-guards.js +49 -0
  21. package/dist/core/transaction-guards.js.map +1 -0
  22. package/dist/document/DocumentSurface.vue.d.ts +2 -2
  23. package/dist/features/ai/protocol/chat.js +2 -1
  24. package/dist/features/ai/protocol/chat.js.map +1 -1
  25. package/dist/features/composites/ai-brief.js +8 -0
  26. package/dist/features/composites/ai-brief.js.map +1 -1
  27. package/dist/features/composites/components/CompositeChrome.js +4 -4
  28. package/dist/features/composites/components/CompositeChrome.js.map +1 -1
  29. package/dist/features/composites/components/CompositeChrome.vue.d.ts +1 -1
  30. package/dist/features/composites/components/CompositeFieldEditor.js +33 -6
  31. package/dist/features/composites/components/CompositeFieldEditor.js.map +1 -1
  32. package/dist/features/composites/components/CompositeInspector.js +3 -2
  33. package/dist/features/composites/components/CompositeInspector.js.map +1 -1
  34. package/dist/features/composites/inspector-model.js +2 -2
  35. package/dist/features/composites/inspector-model.js.map +1 -1
  36. package/dist/features/composites/kinds.d.ts +10 -3
  37. package/dist/features/composites/kinds.js.map +1 -1
  38. package/dist/features/composites/meta-display.js +5 -1
  39. package/dist/features/composites/meta-display.js.map +1 -1
  40. package/dist/features/composites/react/CompositeChrome.js +3 -3
  41. package/dist/features/composites/react/CompositeChrome.js.map +1 -1
  42. package/dist/features/composites/react/CompositeFieldEditor.js +19 -0
  43. package/dist/features/composites/react/CompositeFieldEditor.js.map +1 -1
  44. package/dist/features/composites/react/CompositeInspector.js +1 -1
  45. package/dist/features/composites/react/CompositeInspector.js.map +1 -1
  46. package/dist/features/composites/rows.d.ts +4 -1
  47. package/dist/features/composites/rows.js +9 -1
  48. package/dist/features/composites/rows.js.map +1 -1
  49. package/dist/features/composites/table-model.js +2 -2
  50. package/dist/features/composites/table-model.js.map +1 -1
  51. package/dist/markdown/MarkdownSurface.vue.d.ts +6 -6
  52. package/dist/server/h3.d.ts +8 -0
  53. package/dist/server/handlers/ai.d.ts +2 -1
  54. package/dist/server/handlers/ai.js +2 -1
  55. package/dist/server/handlers/ai.js.map +1 -1
  56. package/dist/server/routes.d.ts +22 -0
  57. package/dist/tree/tree-host.js +1 -1
  58. package/dist/vue/AdvancedEditor.vue.d.ts +4 -4
  59. package/dist/vue/SimpleEditor.vue.d.ts +4 -4
  60. package/dist/vue/components/EditorSurface.vue.d.ts +4 -4
  61. package/dist/vue/kit/types.d.ts +2 -0
  62. package/package.json +1 -1
@@ -0,0 +1,22 @@
1
+ import { EditorPorts } from "./ports.js";
2
+ import { AiHandlerContext, HandlerContext } from "./handlers/context.js";
3
+ import "./handlers/index.js";
4
+ import { RouteHandler } from "./h3.js";
5
+ //#region src/server/routes.d.ts
6
+ type Method = 'get' | 'put' | 'post' | 'delete';
7
+ /** A port other than `identity`, which every route needs and none is gated on. */
8
+ type RoutePort = Exclude<keyof EditorPorts, 'identity'>;
9
+ export type RouteDef = {
10
+ method: Method;
11
+ path: string;
12
+ port: RoutePort;
13
+ handler: RouteHandler<HandlerContext>;
14
+ } | {
15
+ method: Method;
16
+ path: string;
17
+ port: 'ai';
18
+ handler: RouteHandler<AiHandlerContext>;
19
+ };
20
+ //#endregion
21
+ export {};
22
+ //# sourceMappingURL=routes.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { findBlockById } from "../core/schema/block-ids.js";
2
2
  import { compositeJSON, compositeKindsOf } from "../features/composites/nodes.js";
3
- import { revealBlockInEditor } from "../outline/heading-outline.js";
4
3
  import { pickFiles } from "../features/media/upload.js";
4
+ import { revealBlockInEditor } from "../outline/heading-outline.js";
5
5
  import { moveBlockInto, moveIntoVerdict } from "../features/composites/outline.js";
6
6
  import { readOutline } from "./tree-items.js";
7
7
  //#region src/tree/tree-host.ts
@@ -63,21 +63,21 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
63
63
  editor: import("vue").ComputedRef<Editor | undefined>;
64
64
  preset: ComposedEditor<Component>;
65
65
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
66
- settingsOpen: (tab?: string | undefined) => any;
67
66
  "update:sidebarOpen": (value: boolean) => any;
68
67
  "update:commentsOpen": (value: boolean) => any;
69
- "update:modelValue": (content: JSONContent) => any;
70
68
  ready: (editor: Editor) => any;
69
+ "update:modelValue": (content: JSONContent) => any;
71
70
  metadataCreate: (list: string, item: MetadataItem) => any;
72
71
  contentError: (error: Error) => any;
72
+ settingsOpen: (tab?: string | undefined) => any;
73
73
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
74
- onSettingsOpen?: ((tab?: string | undefined) => any) | undefined;
75
74
  "onUpdate:sidebarOpen"?: ((value: boolean) => any) | undefined;
76
75
  "onUpdate:commentsOpen"?: ((value: boolean) => any) | undefined;
77
- "onUpdate:modelValue"?: ((content: JSONContent) => any) | undefined;
78
76
  onReady?: ((editor: Editor) => any) | undefined;
77
+ "onUpdate:modelValue"?: ((content: JSONContent) => any) | undefined;
79
78
  onMetadataCreate?: ((list: string, item: MetadataItem) => any) | undefined;
80
79
  onContentError?: ((error: Error) => any) | undefined;
80
+ onSettingsOpen?: ((tab?: string | undefined) => any) | undefined;
81
81
  }>, {
82
82
  content: ContentLevel | readonly FeatureId[];
83
83
  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;
45
44
  "update:sidebarOpen": (value: boolean) => any;
46
45
  "update:commentsOpen": (value: boolean) => any;
47
- "update:modelValue": (content: JSONContent) => any;
48
46
  ready: (editor: Editor) => any;
47
+ "update:modelValue": (content: JSONContent) => any;
49
48
  metadataCreate: (list: string, item: MetadataItem) => any;
50
49
  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;
53
52
  "onUpdate:sidebarOpen"?: ((value: boolean) => any) | undefined;
54
53
  "onUpdate:commentsOpen"?: ((value: boolean) => any) | undefined;
55
- "onUpdate:modelValue"?: ((content: JSONContent) => any) | undefined;
56
54
  onReady?: ((editor: Editor) => any) | undefined;
55
+ "onUpdate:modelValue"?: ((content: JSONContent) => any) | undefined;
57
56
  onMetadataCreate?: ((list: string, item: MetadataItem) => any) | undefined;
58
57
  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;
47
46
  "update:sidebarOpen": (value: boolean) => any;
48
47
  "update:commentsOpen": (value: boolean) => any;
49
- "update:modelValue": (content: JSONContent) => any;
50
48
  ready: (editor: Editor) => any;
49
+ "update:modelValue": (content: JSONContent) => any;
51
50
  metadataCreate: (list: string, item: MetadataItem) => any;
52
51
  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;
55
54
  "onUpdate:sidebarOpen"?: ((value: boolean) => any) | undefined;
56
55
  "onUpdate:commentsOpen"?: ((value: boolean) => any) | undefined;
57
- "onUpdate:modelValue"?: ((content: JSONContent) => any) | undefined;
58
56
  onReady?: ((editor: Editor) => any) | undefined;
57
+ "onUpdate:modelValue"?: ((content: JSONContent) => any) | undefined;
59
58
  onMetadataCreate?: ((list: string, item: MetadataItem) => any) | undefined;
60
59
  onContentError?: ((error: Error) => any) | undefined;
60
+ onSettingsOpen?: ((tab?: string | undefined) => any) | undefined;
61
61
  }>, {
62
62
  editable: boolean;
63
63
  settingsUi: "internal" | "external";
@@ -208,6 +208,8 @@ export interface InputMenuProps {
208
208
  /** The picked values (`multiple`) or the picked value. */
209
209
  modelValue?: string[] | string;
210
210
  items?: InputMenuItem[];
211
+ /** Key of an item that carries the value (`'value'`); without it an object item is picked as the whole object. */
212
+ valueKey?: string;
211
213
  multiple?: boolean;
212
214
  searchTerm?: string;
213
215
  /** Do not filter `items` by the search term (the host searches). */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecsplico/editor",
3
- "version": "3.0.0",
3
+ "version": "3.1.1",
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",