@versa-stack/v-craft 1.1.0-alpha.2 → 1.1.0-alpha.4

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.
@@ -37,9 +37,9 @@ declare function __VLS_template(): {
37
37
  };
38
38
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
39
39
  declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
40
- "update:slotsPropsPropsMap": (value: Record<string, Record<string, string>>) => any;
40
+ "update:slotsPropsPropsMap": (value: Record<string, Record<string, unknown>>) => any;
41
41
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
42
- "onUpdate:slotsPropsPropsMap"?: ((value: Record<string, Record<string, string>>) => any) | undefined;
42
+ "onUpdate:slotsPropsPropsMap"?: ((value: Record<string, Record<string, unknown>>) => any) | undefined;
43
43
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
44
44
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
45
45
  export default _default;
@@ -13,7 +13,7 @@ declare const _default: <T extends FormKitSchemaDefinition = FormKitSchemaDefini
13
13
  eventsSchema: never[] | T;
14
14
  handleEventsUpdate: (newEvents: Record<string, any>) => void;
15
15
  availableProps: import('../lib/extractSchemaFieldNames').SchemaFieldOption[];
16
- handleSlotsPropsPropsMapUpdate: (slotsPropsPropsMap: Record<string, Record<string, string>>) => void;
16
+ handleSlotsPropsPropsMapUpdate: (slotsPropsPropsMap: Record<string, Record<string, unknown>>) => void;
17
17
  nodeData: CraftNodeDatasource | null;
18
18
  handleNodeDataUpdate: (data: CraftNodeDatasource | null) => void;
19
19
  deleteable: string | null | undefined;
@@ -5,6 +5,8 @@ type __VLS_Props = {
5
5
  nodeMap: Map<string, CraftNode>;
6
6
  nodeDataMap?: Record<string, CraftNodeDatasource>;
7
7
  eventsContext?: Record<string, any>;
8
+ nodeRuntimeProps?: Record<string, Record<string, any>>;
9
+ pageState?: Record<string, any>;
8
10
  context?: CraftNodePropsContext;
9
11
  };
10
12
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, any, any>;
@@ -5,7 +5,7 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
5
5
  hasNodes: (state: {
6
6
  nodeMap: Map<string, {
7
7
  slots: Record<string, import('../..').CraftNode[]>;
8
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
8
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
9
9
  componentName: string;
10
10
  parentUuid?: string | null | undefined;
11
11
  props: any;
@@ -24,7 +24,7 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
24
24
  selectedUuid: string | null;
25
25
  draggedNode: {
26
26
  slots: Record<string, import('../..').CraftNode[]>;
27
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
27
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
28
28
  componentName: string;
29
29
  parentUuid?: string | null | undefined;
30
30
  props: any;
@@ -45,6 +45,8 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
45
45
  resolverMap: CraftNodeResolverMap<FormKitSchemaDefinition>;
46
46
  setResolverMap: (resolverMap: Record<string, import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>>) => void;
47
47
  onResolveComponent: (hook: import('../../lib/CraftNodeResolver').ResolveComponentHook) => void;
48
+ onResolvePropertyValue: (hook: import('../../lib/CraftNodeResolver').ResolvePropertyValueHook) => void;
49
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
48
50
  resolve: (name: string) => import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>;
49
51
  resolveComponent: (craftNode: import('../..').CraftNode) => import('vue').Component | undefined;
50
52
  getDefaultProps: (craftNode: import('../..').CraftNode) => Record<string, any>;
@@ -57,11 +59,13 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
57
59
  eventsContext: Record<string, any>;
58
60
  nodeDataMap: Record<string, import('../..').CraftNodeDatasource | null>;
59
61
  draggingDisabled: boolean;
62
+ nodeRuntimeProps: Record<string, Record<string, any>>;
63
+ pageState: Record<string, any>;
60
64
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => boolean;
61
65
  selectedNode: (state: {
62
66
  nodeMap: Map<string, {
63
67
  slots: Record<string, import('../..').CraftNode[]>;
64
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
68
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
65
69
  componentName: string;
66
70
  parentUuid?: string | null | undefined;
67
71
  props: any;
@@ -80,7 +84,7 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
80
84
  selectedUuid: string | null;
81
85
  draggedNode: {
82
86
  slots: Record<string, import('../..').CraftNode[]>;
83
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
87
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
84
88
  componentName: string;
85
89
  parentUuid?: string | null | undefined;
86
90
  props: any;
@@ -101,6 +105,8 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
101
105
  resolverMap: CraftNodeResolverMap<FormKitSchemaDefinition>;
102
106
  setResolverMap: (resolverMap: Record<string, import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>>) => void;
103
107
  onResolveComponent: (hook: import('../../lib/CraftNodeResolver').ResolveComponentHook) => void;
108
+ onResolvePropertyValue: (hook: import('../../lib/CraftNodeResolver').ResolvePropertyValueHook) => void;
109
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
104
110
  resolve: (name: string) => import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>;
105
111
  resolveComponent: (craftNode: import('../..').CraftNode) => import('vue').Component | undefined;
106
112
  getDefaultProps: (craftNode: import('../..').CraftNode) => Record<string, any>;
@@ -113,11 +119,13 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
113
119
  eventsContext: Record<string, any>;
114
120
  nodeDataMap: Record<string, import('../..').CraftNodeDatasource | null>;
115
121
  draggingDisabled: boolean;
122
+ nodeRuntimeProps: Record<string, Record<string, any>>;
123
+ pageState: Record<string, any>;
116
124
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => import('../..').CraftNode | null;
117
125
  selectedRef: (state: {
118
126
  nodeMap: Map<string, {
119
127
  slots: Record<string, import('../..').CraftNode[]>;
120
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
128
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
121
129
  componentName: string;
122
130
  parentUuid?: string | null | undefined;
123
131
  props: any;
@@ -136,7 +144,7 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
136
144
  selectedUuid: string | null;
137
145
  draggedNode: {
138
146
  slots: Record<string, import('../..').CraftNode[]>;
139
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
147
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
140
148
  componentName: string;
141
149
  parentUuid?: string | null | undefined;
142
150
  props: any;
@@ -157,6 +165,8 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
157
165
  resolverMap: CraftNodeResolverMap<FormKitSchemaDefinition>;
158
166
  setResolverMap: (resolverMap: Record<string, import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>>) => void;
159
167
  onResolveComponent: (hook: import('../../lib/CraftNodeResolver').ResolveComponentHook) => void;
168
+ onResolvePropertyValue: (hook: import('../../lib/CraftNodeResolver').ResolvePropertyValueHook) => void;
169
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
160
170
  resolve: (name: string) => import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>;
161
171
  resolveComponent: (craftNode: import('../..').CraftNode) => import('vue').Component | undefined;
162
172
  getDefaultProps: (craftNode: import('../..').CraftNode) => Record<string, any>;
@@ -169,11 +179,13 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
169
179
  eventsContext: Record<string, any>;
170
180
  nodeDataMap: Record<string, import('../..').CraftNodeDatasource | null>;
171
181
  draggingDisabled: boolean;
182
+ nodeRuntimeProps: Record<string, Record<string, any>>;
183
+ pageState: Record<string, any>;
172
184
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => HTMLElement | null;
173
185
  getRef: (state: {
174
186
  nodeMap: Map<string, {
175
187
  slots: Record<string, import('../..').CraftNode[]>;
176
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
188
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
177
189
  componentName: string;
178
190
  parentUuid?: string | null | undefined;
179
191
  props: any;
@@ -192,7 +204,7 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
192
204
  selectedUuid: string | null;
193
205
  draggedNode: {
194
206
  slots: Record<string, import('../..').CraftNode[]>;
195
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
207
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
196
208
  componentName: string;
197
209
  parentUuid?: string | null | undefined;
198
210
  props: any;
@@ -213,6 +225,8 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
213
225
  resolverMap: CraftNodeResolverMap<FormKitSchemaDefinition>;
214
226
  setResolverMap: (resolverMap: Record<string, import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>>) => void;
215
227
  onResolveComponent: (hook: import('../../lib/CraftNodeResolver').ResolveComponentHook) => void;
228
+ onResolvePropertyValue: (hook: import('../../lib/CraftNodeResolver').ResolvePropertyValueHook) => void;
229
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
216
230
  resolve: (name: string) => import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>;
217
231
  resolveComponent: (craftNode: import('../..').CraftNode) => import('vue').Component | undefined;
218
232
  getDefaultProps: (craftNode: import('../..').CraftNode) => Record<string, any>;
@@ -225,11 +239,13 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
225
239
  eventsContext: Record<string, any>;
226
240
  nodeDataMap: Record<string, import('../..').CraftNodeDatasource | null>;
227
241
  draggingDisabled: boolean;
242
+ nodeRuntimeProps: Record<string, Record<string, any>>;
243
+ pageState: Record<string, any>;
228
244
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => (uuid: string) => HTMLElement;
229
245
  allNodes: (state: {
230
246
  nodeMap: Map<string, {
231
247
  slots: Record<string, import('../..').CraftNode[]>;
232
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
248
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
233
249
  componentName: string;
234
250
  parentUuid?: string | null | undefined;
235
251
  props: any;
@@ -248,7 +264,7 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
248
264
  selectedUuid: string | null;
249
265
  draggedNode: {
250
266
  slots: Record<string, import('../..').CraftNode[]>;
251
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
267
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
252
268
  componentName: string;
253
269
  parentUuid?: string | null | undefined;
254
270
  props: any;
@@ -269,6 +285,8 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
269
285
  resolverMap: CraftNodeResolverMap<FormKitSchemaDefinition>;
270
286
  setResolverMap: (resolverMap: Record<string, import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>>) => void;
271
287
  onResolveComponent: (hook: import('../../lib/CraftNodeResolver').ResolveComponentHook) => void;
288
+ onResolvePropertyValue: (hook: import('../../lib/CraftNodeResolver').ResolvePropertyValueHook) => void;
289
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
272
290
  resolve: (name: string) => import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>;
273
291
  resolveComponent: (craftNode: import('../..').CraftNode) => import('vue').Component | undefined;
274
292
  getDefaultProps: (craftNode: import('../..').CraftNode) => Record<string, any>;
@@ -281,11 +299,13 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
281
299
  eventsContext: Record<string, any>;
282
300
  nodeDataMap: Record<string, import('../..').CraftNodeDatasource | null>;
283
301
  draggingDisabled: boolean;
302
+ nodeRuntimeProps: Record<string, Record<string, any>>;
303
+ pageState: Record<string, any>;
284
304
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => import('../..').CraftNode[];
285
305
  getDraggedNode: (state: {
286
306
  nodeMap: Map<string, {
287
307
  slots: Record<string, import('../..').CraftNode[]>;
288
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
308
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
289
309
  componentName: string;
290
310
  parentUuid?: string | null | undefined;
291
311
  props: any;
@@ -304,7 +324,7 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
304
324
  selectedUuid: string | null;
305
325
  draggedNode: {
306
326
  slots: Record<string, import('../..').CraftNode[]>;
307
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
327
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
308
328
  componentName: string;
309
329
  parentUuid?: string | null | undefined;
310
330
  props: any;
@@ -325,6 +345,8 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
325
345
  resolverMap: CraftNodeResolverMap<FormKitSchemaDefinition>;
326
346
  setResolverMap: (resolverMap: Record<string, import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>>) => void;
327
347
  onResolveComponent: (hook: import('../../lib/CraftNodeResolver').ResolveComponentHook) => void;
348
+ onResolvePropertyValue: (hook: import('../../lib/CraftNodeResolver').ResolvePropertyValueHook) => void;
349
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
328
350
  resolve: (name: string) => import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>;
329
351
  resolveComponent: (craftNode: import('../..').CraftNode) => import('vue').Component | undefined;
330
352
  getDefaultProps: (craftNode: import('../..').CraftNode) => Record<string, any>;
@@ -337,9 +359,11 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
337
359
  eventsContext: Record<string, any>;
338
360
  nodeDataMap: Record<string, import('../..').CraftNodeDatasource | null>;
339
361
  draggingDisabled: boolean;
362
+ nodeRuntimeProps: Record<string, Record<string, any>>;
363
+ pageState: Record<string, any>;
340
364
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => {
341
365
  slots: Record<string, import('../..').CraftNode[]>;
342
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
366
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
343
367
  componentName: string;
344
368
  parentUuid?: string | null | undefined;
345
369
  props: any;
@@ -357,7 +381,7 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
357
381
  nodeTree: (state: {
358
382
  nodeMap: Map<string, {
359
383
  slots: Record<string, import('../..').CraftNode[]>;
360
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
384
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
361
385
  componentName: string;
362
386
  parentUuid?: string | null | undefined;
363
387
  props: any;
@@ -376,7 +400,7 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
376
400
  selectedUuid: string | null;
377
401
  draggedNode: {
378
402
  slots: Record<string, import('../..').CraftNode[]>;
379
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
403
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
380
404
  componentName: string;
381
405
  parentUuid?: string | null | undefined;
382
406
  props: any;
@@ -397,6 +421,8 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
397
421
  resolverMap: CraftNodeResolverMap<FormKitSchemaDefinition>;
398
422
  setResolverMap: (resolverMap: Record<string, import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>>) => void;
399
423
  onResolveComponent: (hook: import('../../lib/CraftNodeResolver').ResolveComponentHook) => void;
424
+ onResolvePropertyValue: (hook: import('../../lib/CraftNodeResolver').ResolvePropertyValueHook) => void;
425
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
400
426
  resolve: (name: string) => import('../../lib/CraftNodeResolver').CraftNodeComponentMap<FormKitSchemaDefinition>;
401
427
  resolveComponent: (craftNode: import('../..').CraftNode) => import('vue').Component | undefined;
402
428
  getDefaultProps: (craftNode: import('../..').CraftNode) => Record<string, any>;
@@ -409,6 +435,8 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
409
435
  eventsContext: Record<string, any>;
410
436
  nodeDataMap: Record<string, import('../..').CraftNodeDatasource | null>;
411
437
  draggingDisabled: boolean;
438
+ nodeRuntimeProps: Record<string, Record<string, any>>;
439
+ pageState: Record<string, any>;
412
440
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => import('../..').CraftNode[];
413
441
  }, {
414
442
  clear(): void;
@@ -422,7 +450,7 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
422
450
  setNodeData(uuid: string, data: import('../..').CraftNodeDatasource | null): void;
423
451
  updateNodeProps(nodeUuid: string, newProps: Record<string, any>): void;
424
452
  updateNodeEvents(nodeUuid: string, newEvents: Record<string, string>): void;
425
- updateNodeSlotsPropsPropsMap(nodeUuid: string, slotsPropsPropsMap: Record<string, Record<string, string>>): void;
453
+ updateNodeSlotsPropsPropsMap(nodeUuid: string, slotsPropsPropsMap: Record<string, Record<string, unknown>>): void;
426
454
  setNodes(nodes: import('../..').CraftNode[]): void;
427
455
  addNodeRecursively(node: import('../..').CraftNode, parentUuid?: string | null): void;
428
456
  selectNode(craftNode: import('../..').CraftNode | null): void;
@@ -435,6 +463,7 @@ export declare const useCraftFrame: <T extends FormKitSchemaDefinition = FormKit
435
463
  insertNodeBefore(node: import('../..').CraftNode, targetNode: import('../..').CraftNode, slotName?: string): void;
436
464
  insertNodeAfter(node: import('../..').CraftNode, targetNode: import('../..').CraftNode, slotName?: string): void;
437
465
  setEventsContext(context: Record<string, any>): void;
466
+ setNodeRuntimeProps(uuid: string, patch: Record<string, any>): void;
438
467
  }>;
439
468
  mountNodes: () => void;
440
469
  };
@@ -1,5 +1,16 @@
1
1
  import { Ref } from 'vue';
2
2
  import { CraftNode } from '../../lib/craftNode';
3
- export declare const useCraftNodeEvents: (craftNode: Ref<CraftNode>, ctx: Record<string, any>, getNodes?: () => Record<string, CraftNode> | null, getNode?: (uuid: string) => CraftNode | null) => {
3
+ /** Extra lookups/channels merged into `ctx` for compiled event code. */
4
+ export interface CraftNodeEventsRuntime {
5
+ getNodes?: () => Record<string, CraftNode> | null;
6
+ getNode?: (uuid: string) => CraftNode | null;
7
+ /** Live runtime values captured from value-bearing nodes (e.g. what a user typed), keyed by uuid. */
8
+ nodeValues?: Record<string, Record<string, any>>;
9
+ /** Patch another node's rendered props at runtime, by uuid. */
10
+ setNodeProps?: (uuid: string, patch: Record<string, any>) => void;
11
+ /** Page-scoped bag shared across event handlers, e.g. a pending flag. */
12
+ state?: Record<string, any>;
13
+ }
14
+ export declare const useCraftNodeEvents: (craftNode: Ref<CraftNode>, ctx: Record<string, any>, runtime?: CraftNodeEventsRuntime) => {
4
15
  eventHandlers: import('vue').ComputedRef<any>;
5
16
  };
@@ -5,7 +5,7 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
5
5
  hasNodes: (state: {
6
6
  nodeMap: Map<string, {
7
7
  slots: Record<string, CraftNode[]>;
8
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
8
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
9
9
  componentName: string;
10
10
  parentUuid?: string | null | undefined;
11
11
  props: any;
@@ -24,7 +24,7 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
24
24
  selectedUuid: string | null;
25
25
  draggedNode: {
26
26
  slots: Record<string, CraftNode[]>;
27
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
27
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
28
28
  componentName: string;
29
29
  parentUuid?: string | null | undefined;
30
30
  props: any;
@@ -45,6 +45,8 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
45
45
  resolverMap: import('../..').CraftNodeResolverMap<import('@formkit/core').FormKitSchemaDefinition>;
46
46
  setResolverMap: (resolverMap: Record<string, import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>>) => void;
47
47
  onResolveComponent: (hook: import('../..').ResolveComponentHook) => void;
48
+ onResolvePropertyValue: (hook: import('../..').ResolvePropertyValueHook) => void;
49
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
48
50
  resolve: (name: string) => import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>;
49
51
  resolveComponent: (craftNode: CraftNode) => import('vue').Component | undefined;
50
52
  getDefaultProps: (craftNode: CraftNode) => Record<string, any>;
@@ -57,11 +59,13 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
57
59
  eventsContext: Record<string, any>;
58
60
  nodeDataMap: Record<string, import('../../lib/craftNode').CraftNodeDatasource | null>;
59
61
  draggingDisabled: boolean;
62
+ nodeRuntimeProps: Record<string, Record<string, any>>;
63
+ pageState: Record<string, any>;
60
64
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => boolean;
61
65
  selectedNode: (state: {
62
66
  nodeMap: Map<string, {
63
67
  slots: Record<string, CraftNode[]>;
64
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
68
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
65
69
  componentName: string;
66
70
  parentUuid?: string | null | undefined;
67
71
  props: any;
@@ -80,7 +84,7 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
80
84
  selectedUuid: string | null;
81
85
  draggedNode: {
82
86
  slots: Record<string, CraftNode[]>;
83
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
87
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
84
88
  componentName: string;
85
89
  parentUuid?: string | null | undefined;
86
90
  props: any;
@@ -101,6 +105,8 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
101
105
  resolverMap: import('../..').CraftNodeResolverMap<import('@formkit/core').FormKitSchemaDefinition>;
102
106
  setResolverMap: (resolverMap: Record<string, import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>>) => void;
103
107
  onResolveComponent: (hook: import('../..').ResolveComponentHook) => void;
108
+ onResolvePropertyValue: (hook: import('../..').ResolvePropertyValueHook) => void;
109
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
104
110
  resolve: (name: string) => import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>;
105
111
  resolveComponent: (craftNode: CraftNode) => import('vue').Component | undefined;
106
112
  getDefaultProps: (craftNode: CraftNode) => Record<string, any>;
@@ -113,11 +119,13 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
113
119
  eventsContext: Record<string, any>;
114
120
  nodeDataMap: Record<string, import('../../lib/craftNode').CraftNodeDatasource | null>;
115
121
  draggingDisabled: boolean;
122
+ nodeRuntimeProps: Record<string, Record<string, any>>;
123
+ pageState: Record<string, any>;
116
124
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => CraftNode | null;
117
125
  selectedRef: (state: {
118
126
  nodeMap: Map<string, {
119
127
  slots: Record<string, CraftNode[]>;
120
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
128
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
121
129
  componentName: string;
122
130
  parentUuid?: string | null | undefined;
123
131
  props: any;
@@ -136,7 +144,7 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
136
144
  selectedUuid: string | null;
137
145
  draggedNode: {
138
146
  slots: Record<string, CraftNode[]>;
139
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
147
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
140
148
  componentName: string;
141
149
  parentUuid?: string | null | undefined;
142
150
  props: any;
@@ -157,6 +165,8 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
157
165
  resolverMap: import('../..').CraftNodeResolverMap<import('@formkit/core').FormKitSchemaDefinition>;
158
166
  setResolverMap: (resolverMap: Record<string, import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>>) => void;
159
167
  onResolveComponent: (hook: import('../..').ResolveComponentHook) => void;
168
+ onResolvePropertyValue: (hook: import('../..').ResolvePropertyValueHook) => void;
169
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
160
170
  resolve: (name: string) => import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>;
161
171
  resolveComponent: (craftNode: CraftNode) => import('vue').Component | undefined;
162
172
  getDefaultProps: (craftNode: CraftNode) => Record<string, any>;
@@ -169,11 +179,13 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
169
179
  eventsContext: Record<string, any>;
170
180
  nodeDataMap: Record<string, import('../../lib/craftNode').CraftNodeDatasource | null>;
171
181
  draggingDisabled: boolean;
182
+ nodeRuntimeProps: Record<string, Record<string, any>>;
183
+ pageState: Record<string, any>;
172
184
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => HTMLElement | null;
173
185
  getRef: (state: {
174
186
  nodeMap: Map<string, {
175
187
  slots: Record<string, CraftNode[]>;
176
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
188
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
177
189
  componentName: string;
178
190
  parentUuid?: string | null | undefined;
179
191
  props: any;
@@ -192,7 +204,7 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
192
204
  selectedUuid: string | null;
193
205
  draggedNode: {
194
206
  slots: Record<string, CraftNode[]>;
195
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
207
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
196
208
  componentName: string;
197
209
  parentUuid?: string | null | undefined;
198
210
  props: any;
@@ -213,6 +225,8 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
213
225
  resolverMap: import('../..').CraftNodeResolverMap<import('@formkit/core').FormKitSchemaDefinition>;
214
226
  setResolverMap: (resolverMap: Record<string, import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>>) => void;
215
227
  onResolveComponent: (hook: import('../..').ResolveComponentHook) => void;
228
+ onResolvePropertyValue: (hook: import('../..').ResolvePropertyValueHook) => void;
229
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
216
230
  resolve: (name: string) => import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>;
217
231
  resolveComponent: (craftNode: CraftNode) => import('vue').Component | undefined;
218
232
  getDefaultProps: (craftNode: CraftNode) => Record<string, any>;
@@ -225,11 +239,13 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
225
239
  eventsContext: Record<string, any>;
226
240
  nodeDataMap: Record<string, import('../../lib/craftNode').CraftNodeDatasource | null>;
227
241
  draggingDisabled: boolean;
242
+ nodeRuntimeProps: Record<string, Record<string, any>>;
243
+ pageState: Record<string, any>;
228
244
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => (uuid: string) => HTMLElement;
229
245
  allNodes: (state: {
230
246
  nodeMap: Map<string, {
231
247
  slots: Record<string, CraftNode[]>;
232
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
248
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
233
249
  componentName: string;
234
250
  parentUuid?: string | null | undefined;
235
251
  props: any;
@@ -248,7 +264,7 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
248
264
  selectedUuid: string | null;
249
265
  draggedNode: {
250
266
  slots: Record<string, CraftNode[]>;
251
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
267
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
252
268
  componentName: string;
253
269
  parentUuid?: string | null | undefined;
254
270
  props: any;
@@ -269,6 +285,8 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
269
285
  resolverMap: import('../..').CraftNodeResolverMap<import('@formkit/core').FormKitSchemaDefinition>;
270
286
  setResolverMap: (resolverMap: Record<string, import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>>) => void;
271
287
  onResolveComponent: (hook: import('../..').ResolveComponentHook) => void;
288
+ onResolvePropertyValue: (hook: import('../..').ResolvePropertyValueHook) => void;
289
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
272
290
  resolve: (name: string) => import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>;
273
291
  resolveComponent: (craftNode: CraftNode) => import('vue').Component | undefined;
274
292
  getDefaultProps: (craftNode: CraftNode) => Record<string, any>;
@@ -281,11 +299,13 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
281
299
  eventsContext: Record<string, any>;
282
300
  nodeDataMap: Record<string, import('../../lib/craftNode').CraftNodeDatasource | null>;
283
301
  draggingDisabled: boolean;
302
+ nodeRuntimeProps: Record<string, Record<string, any>>;
303
+ pageState: Record<string, any>;
284
304
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => CraftNode[];
285
305
  getDraggedNode: (state: {
286
306
  nodeMap: Map<string, {
287
307
  slots: Record<string, CraftNode[]>;
288
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
308
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
289
309
  componentName: string;
290
310
  parentUuid?: string | null | undefined;
291
311
  props: any;
@@ -304,7 +324,7 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
304
324
  selectedUuid: string | null;
305
325
  draggedNode: {
306
326
  slots: Record<string, CraftNode[]>;
307
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
327
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
308
328
  componentName: string;
309
329
  parentUuid?: string | null | undefined;
310
330
  props: any;
@@ -325,6 +345,8 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
325
345
  resolverMap: import('../..').CraftNodeResolverMap<import('@formkit/core').FormKitSchemaDefinition>;
326
346
  setResolverMap: (resolverMap: Record<string, import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>>) => void;
327
347
  onResolveComponent: (hook: import('../..').ResolveComponentHook) => void;
348
+ onResolvePropertyValue: (hook: import('../..').ResolvePropertyValueHook) => void;
349
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
328
350
  resolve: (name: string) => import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>;
329
351
  resolveComponent: (craftNode: CraftNode) => import('vue').Component | undefined;
330
352
  getDefaultProps: (craftNode: CraftNode) => Record<string, any>;
@@ -337,9 +359,11 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
337
359
  eventsContext: Record<string, any>;
338
360
  nodeDataMap: Record<string, import('../../lib/craftNode').CraftNodeDatasource | null>;
339
361
  draggingDisabled: boolean;
362
+ nodeRuntimeProps: Record<string, Record<string, any>>;
363
+ pageState: Record<string, any>;
340
364
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => {
341
365
  slots: Record<string, CraftNode[]>;
342
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
366
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
343
367
  componentName: string;
344
368
  parentUuid?: string | null | undefined;
345
369
  props: any;
@@ -357,7 +381,7 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
357
381
  nodeTree: (state: {
358
382
  nodeMap: Map<string, {
359
383
  slots: Record<string, CraftNode[]>;
360
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
384
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
361
385
  componentName: string;
362
386
  parentUuid?: string | null | undefined;
363
387
  props: any;
@@ -376,7 +400,7 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
376
400
  selectedUuid: string | null;
377
401
  draggedNode: {
378
402
  slots: Record<string, CraftNode[]>;
379
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
403
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
380
404
  componentName: string;
381
405
  parentUuid?: string | null | undefined;
382
406
  props: any;
@@ -397,6 +421,8 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
397
421
  resolverMap: import('../..').CraftNodeResolverMap<import('@formkit/core').FormKitSchemaDefinition>;
398
422
  setResolverMap: (resolverMap: Record<string, import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>>) => void;
399
423
  onResolveComponent: (hook: import('../..').ResolveComponentHook) => void;
424
+ onResolvePropertyValue: (hook: import('../..').ResolvePropertyValueHook) => void;
425
+ resolvePropertyValue: (mapping: unknown, contextData: any) => unknown;
400
426
  resolve: (name: string) => import('../..').CraftNodeComponentMap<import('@formkit/core').FormKitSchemaDefinition>;
401
427
  resolveComponent: (craftNode: CraftNode) => import('vue').Component | undefined;
402
428
  getDefaultProps: (craftNode: CraftNode) => Record<string, any>;
@@ -409,6 +435,8 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
409
435
  eventsContext: Record<string, any>;
410
436
  nodeDataMap: Record<string, import('../../lib/craftNode').CraftNodeDatasource | null>;
411
437
  draggingDisabled: boolean;
438
+ nodeRuntimeProps: Record<string, Record<string, any>>;
439
+ pageState: Record<string, any>;
412
440
  } & import('pinia').PiniaCustomStateProperties<import('../../store/editor').EditorState>) => CraftNode[];
413
441
  }, {
414
442
  clear(): void;
@@ -422,7 +450,7 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
422
450
  setNodeData(uuid: string, data: import('../../lib/craftNode').CraftNodeDatasource | null): void;
423
451
  updateNodeProps(nodeUuid: string, newProps: Record<string, any>): void;
424
452
  updateNodeEvents(nodeUuid: string, newEvents: Record<string, string>): void;
425
- updateNodeSlotsPropsPropsMap(nodeUuid: string, slotsPropsPropsMap: Record<string, Record<string, string>>): void;
453
+ updateNodeSlotsPropsPropsMap(nodeUuid: string, slotsPropsPropsMap: Record<string, Record<string, unknown>>): void;
426
454
  setNodes(nodes: CraftNode[]): void;
427
455
  addNodeRecursively(node: CraftNode, parentUuid?: string | null): void;
428
456
  selectNode(craftNode: CraftNode | null): void;
@@ -435,6 +463,7 @@ export declare const useCraftNodeWrapper: (craftNode: Ref<CraftNode>) => {
435
463
  insertNodeBefore(node: CraftNode, targetNode: CraftNode, slotName?: string): void;
436
464
  insertNodeAfter(node: CraftNode, targetNode: CraftNode, slotName?: string): void;
437
465
  setEventsContext(context: Record<string, any>): void;
466
+ setNodeRuntimeProps(uuid: string, patch: Record<string, any>): void;
438
467
  }> | null;
439
468
  craftNode: Ref<CraftNode, CraftNode>;
440
469
  enabled: import('vue').ComputedRef<any>;
@@ -1,10 +1,11 @@
1
1
  import { ComputedRef, MaybeRefOrGetter } from 'vue';
2
2
  import { CraftNode } from '../../lib/craftNode';
3
+ import { default as CraftNodeResolver } from '../../lib/CraftNodeResolver';
3
4
  /**
4
5
  * A bag of named context buckets available to a node, e.g. the scoped slot
5
6
  * props exposed by an ancestor's slot, keyed by that slot's name.
6
7
  */
7
8
  export type CraftNodePropsContext = Record<string, Record<string, any>>;
8
- export declare const useResolveCraftNodeProps: (node: MaybeRefOrGetter<CraftNode>, context?: MaybeRefOrGetter<CraftNodePropsContext>) => {
9
+ export declare const useResolveCraftNodeProps: (node: MaybeRefOrGetter<CraftNode>, context?: MaybeRefOrGetter<CraftNodePropsContext>, resolver?: MaybeRefOrGetter<CraftNodeResolver<any> | undefined>) => {
9
10
  props: ComputedRef<Record<string, any>>;
10
11
  };
@@ -5,7 +5,7 @@ import { FormKitSchemaDefinition } from '@formkit/core';
5
5
  export declare const blueprintsWithDefaults: <T extends FormKitSchemaDefinition>(group: BlueprintGroup, resolver: CraftNodeResolver<T>) => {
6
6
  props: any;
7
7
  slots: Record<string, CraftNode[]> & Record<string, import('../lib/model').Blueprint[]>;
8
- slotsPropsPropsMap?: Record<string, Record<string, string>> | undefined;
8
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>> | undefined;
9
9
  componentName: string;
10
10
  rules?: import('../lib/craftNode').CraftNodeRules | undefined;
11
11
  visible?: boolean | undefined;
@@ -14,12 +14,23 @@ export type CraftNodeComponentMap<T extends FormKitSchemaDefinition = FormKitSch
14
14
  };
15
15
  export type CraftNodeResolverMap<T extends FormKitSchemaDefinition = FormKitSchemaDefinition> = Record<string, CraftNodeComponentMap<T>>;
16
16
  export type ResolveComponentHook = (craftNode: CraftNode, defaultResolver: (name: string) => Component | undefined) => Component | undefined;
17
+ /**
18
+ * Lets a consuming app interpret a `slotsPropsPropsMap` mapping value however
19
+ * it likes (e.g. a formatter/transform pipeline) instead of the plain
20
+ * JSONPath default. `defaultResolve` runs a JSONPath against `contextData` —
21
+ * call it directly for the bare-string case, or as a source-value primitive
22
+ * within a richer mapping shape.
23
+ */
24
+ export type ResolvePropertyValueHook = (mapping: unknown, contextData: any, defaultResolve: (path: string) => unknown) => unknown;
17
25
  export declare class CraftNodeResolver<T extends FormKitSchemaDefinition = FormKitSchemaDefinition> {
18
26
  resolverMap: CraftNodeResolverMap<T>;
19
27
  private resolveComponentHook?;
28
+ private resolvePropertyValueHook?;
20
29
  constructor(resolverMap?: Record<string, CraftNodeComponentMap<T>>);
21
30
  setResolverMap(resolverMap: Record<string, CraftNodeComponentMap<T>>): void;
22
31
  onResolveComponent(hook: ResolveComponentHook): void;
32
+ onResolvePropertyValue(hook: ResolvePropertyValueHook): void;
33
+ resolvePropertyValue(mapping: unknown, contextData: any): unknown;
23
34
  resolve(name: string): CraftNodeComponentMap<T>;
24
35
  resolveComponent(craftNode: CraftNode): Component | undefined;
25
36
  getDefaultProps(craftNode: CraftNode): Record<string, any>;
@@ -8,7 +8,13 @@ export type CraftNodeRules = {
8
8
  };
9
9
  export type CraftNode = {
10
10
  slots: Record<string, CraftNode[]>;
11
- slotsPropsPropsMap?: Record<string, Record<string, string>>;
11
+ /**
12
+ * bucket -> { targetPropPath: mapping }. `mapping` is opaque to v-craft: a
13
+ * bare string is resolved as a JSONPath by default, anything else is only
14
+ * meaningful if the app's `CraftNodeResolver` registers
15
+ * `onResolvePropertyValue` to interpret it (see CraftNodeResolver.ts).
16
+ */
17
+ slotsPropsPropsMap?: Record<string, Record<string, unknown>>;
12
18
  componentName: string;
13
19
  parentUuid?: string | null;
14
20
  props: any;