@kubuild/schema 0.2.0 → 0.3.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.
- package/dist/actions.d.ts +2 -0
- package/dist/actions.d.ts.map +1 -1
- package/dist/document.d.ts +196 -8
- package/dist/document.d.ts.map +1 -1
- package/dist/index.cjs +70 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +61 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/dist/actions.d.ts
CHANGED
|
@@ -191,6 +191,7 @@ export type ShowToastStepPayload = z.infer<typeof ShowToastStepPayloadSchema>;
|
|
|
191
191
|
export declare const OpenModalStepPayloadSchema: z.ZodObject<{
|
|
192
192
|
modalId: z.ZodOptional<z.ZodString>;
|
|
193
193
|
modalNodeId: z.ZodOptional<z.ZodString>;
|
|
194
|
+
toggle: z.ZodOptional<z.ZodBoolean>;
|
|
194
195
|
}, z.core.$strip>;
|
|
195
196
|
export type OpenModalStepPayload = z.infer<typeof OpenModalStepPayloadSchema>;
|
|
196
197
|
/**
|
|
@@ -316,6 +317,7 @@ export declare const StepPayloadSchemas: {
|
|
|
316
317
|
readonly open_modal: z.ZodObject<{
|
|
317
318
|
modalId: z.ZodOptional<z.ZodString>;
|
|
318
319
|
modalNodeId: z.ZodOptional<z.ZodString>;
|
|
320
|
+
toggle: z.ZodOptional<z.ZodBoolean>;
|
|
319
321
|
}, z.core.$strip>;
|
|
320
322
|
readonly close_modal: z.ZodObject<{
|
|
321
323
|
modalId: z.ZodOptional<z.ZodString>;
|
package/dist/actions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;;;;;EAOlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAC9C,eAAO,MAAM,mBAAmB;;;;;;;EAA0B,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;EAU/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAYlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;iBAIpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAQ5E,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMpD;AAmBD;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;iBAMpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;iBAIpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,0BAA0B;;iBAErC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;iBASrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
|
package/dist/document.d.ts
CHANGED
|
@@ -35,14 +35,63 @@ export declare const ActionBindingSchema: z.ZodObject<{
|
|
|
35
35
|
}, z.core.$strip>;
|
|
36
36
|
export type ActionBinding = z.infer<typeof ActionBindingSchema>;
|
|
37
37
|
export declare const StyleValueSchema: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodUndefined]>;
|
|
38
|
-
export
|
|
39
|
-
|
|
38
|
+
export type StyleValue = z.infer<typeof StyleValueSchema>;
|
|
39
|
+
/**
|
|
40
|
+
* Standard CSS style definition supporting Flexbox (STORA-101), Sizing constraints (STORA-101),
|
|
41
|
+
* Effects & rounded corners (STORA-101), CSS Grid (STORA-110), and arbitrary CSS properties/tokens.
|
|
42
|
+
*/
|
|
43
|
+
export interface StyleDefinition extends Record<string, StyleValue> {
|
|
44
|
+
display?: string;
|
|
45
|
+
flexDirection?: 'row' | 'row-reverse' | 'column' | 'column-reverse' | (string & {});
|
|
46
|
+
flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse' | (string & {});
|
|
47
|
+
justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly' | 'start' | 'end' | 'left' | 'right' | (string & {});
|
|
48
|
+
alignItems?: 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'start' | 'end' | 'self-start' | 'self-end' | (string & {});
|
|
49
|
+
alignContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch' | 'start' | 'end' | (string & {});
|
|
50
|
+
gap?: string | number;
|
|
51
|
+
rowGap?: string | number;
|
|
52
|
+
columnGap?: string | number;
|
|
53
|
+
flexGrow?: number | string;
|
|
54
|
+
flexShrink?: number | string;
|
|
55
|
+
flexBasis?: string | number;
|
|
56
|
+
alignSelf?: 'auto' | 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch' | (string & {});
|
|
57
|
+
width?: string | number;
|
|
58
|
+
height?: string | number;
|
|
59
|
+
minWidth?: string | number;
|
|
60
|
+
maxWidth?: string | number;
|
|
61
|
+
minHeight?: string | number;
|
|
62
|
+
maxHeight?: string | number;
|
|
63
|
+
objectFit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down' | (string & {});
|
|
64
|
+
objectPosition?: string;
|
|
65
|
+
borderRadius?: string | number;
|
|
66
|
+
borderTopLeftRadius?: string | number;
|
|
67
|
+
borderTopRightRadius?: string | number;
|
|
68
|
+
borderBottomRightRadius?: string | number;
|
|
69
|
+
borderBottomLeftRadius?: string | number;
|
|
70
|
+
backdropFilter?: string;
|
|
71
|
+
filter?: string;
|
|
72
|
+
boxShadow?: string;
|
|
73
|
+
gridTemplateColumns?: string;
|
|
74
|
+
gridTemplateRows?: string;
|
|
75
|
+
gridAutoFlow?: string;
|
|
76
|
+
gridAutoColumns?: string;
|
|
77
|
+
gridAutoRows?: string;
|
|
78
|
+
gridColumn?: string | number;
|
|
79
|
+
gridRow?: string | number;
|
|
80
|
+
gridColumnStart?: string | number;
|
|
81
|
+
gridColumnEnd?: string | number;
|
|
82
|
+
gridRowStart?: string | number;
|
|
83
|
+
gridRowEnd?: string | number;
|
|
84
|
+
colSpan?: number | string;
|
|
85
|
+
rowSpan?: number | string;
|
|
86
|
+
justifySelf?: string;
|
|
87
|
+
}
|
|
88
|
+
export declare const StyleDefinitionSchema: z.ZodType<StyleDefinition>;
|
|
40
89
|
/**
|
|
41
90
|
* Pseudo-state style definitions keyed by CSS pseudo-class selector
|
|
42
91
|
* (e.g. `:hover`, `:focus`, `:active`). Each entry is a style layer applied
|
|
43
92
|
* on top of the resolved breakpoint styles when the state is active.
|
|
44
93
|
*/
|
|
45
|
-
export declare const PseudoStateStylesSchema: z.ZodRecord<z.ZodString, z.
|
|
94
|
+
export declare const PseudoStateStylesSchema: z.ZodRecord<z.ZodString, z.ZodType<StyleDefinition, unknown, z.core.$ZodTypeInternals<StyleDefinition, unknown>>>;
|
|
46
95
|
export type PseudoStateStyles = Record<string, StyleDefinition>;
|
|
47
96
|
/**
|
|
48
97
|
* Responsive Styles Schema
|
|
@@ -50,11 +99,11 @@ export type PseudoStateStyles = Record<string, StyleDefinition>;
|
|
|
50
99
|
* Optionally carries `states` — pseudo-class style layers (e.g. `:hover`).
|
|
51
100
|
*/
|
|
52
101
|
export declare const ResponsiveStylesSchema: z.ZodDefault<z.ZodObject<{
|
|
53
|
-
base: z.ZodOptional<z.
|
|
54
|
-
desktop: z.ZodOptional<z.
|
|
55
|
-
tablet: z.ZodOptional<z.
|
|
56
|
-
mobile: z.ZodOptional<z.
|
|
57
|
-
states: z.ZodOptional<z.ZodRecord<z.ZodString, z.
|
|
102
|
+
base: z.ZodOptional<z.ZodType<StyleDefinition, unknown, z.core.$ZodTypeInternals<StyleDefinition, unknown>>>;
|
|
103
|
+
desktop: z.ZodOptional<z.ZodType<StyleDefinition, unknown, z.core.$ZodTypeInternals<StyleDefinition, unknown>>>;
|
|
104
|
+
tablet: z.ZodOptional<z.ZodType<StyleDefinition, unknown, z.core.$ZodTypeInternals<StyleDefinition, unknown>>>;
|
|
105
|
+
mobile: z.ZodOptional<z.ZodType<StyleDefinition, unknown, z.core.$ZodTypeInternals<StyleDefinition, unknown>>>;
|
|
106
|
+
states: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<StyleDefinition, unknown, z.core.$ZodTypeInternals<StyleDefinition, unknown>>>>;
|
|
58
107
|
}, z.core.$loose>>;
|
|
59
108
|
export type ResponsiveStyles = z.infer<typeof ResponsiveStylesSchema>;
|
|
60
109
|
/**
|
|
@@ -141,6 +190,133 @@ export declare const PageDocumentSchema: z.ZodObject<{
|
|
|
141
190
|
document: z.ZodType<RootPageNode, unknown, z.core.$ZodTypeInternals<RootPageNode, unknown>>;
|
|
142
191
|
}, z.core.$strip>;
|
|
143
192
|
export type PageDocument = z.infer<typeof PageDocumentSchema>;
|
|
193
|
+
export declare const PROJECT_SCHEMA_NAME: "stora.project";
|
|
194
|
+
export declare const CURRENT_PROJECT_SCHEMA_VERSION: "1.0.0";
|
|
195
|
+
/**
|
|
196
|
+
* Node type used as the in-tree placeholder left behind when a subtree is detached
|
|
197
|
+
* into its own artboard. It carries no children — the real content lives in the
|
|
198
|
+
* artboard named by `props.artboardId`.
|
|
199
|
+
*/
|
|
200
|
+
export declare const ARTBOARD_REFERENCE_NODE_TYPE: "artboard-reference";
|
|
201
|
+
/**
|
|
202
|
+
* Artboard Type Schema
|
|
203
|
+
* - 'page': a routable page surface (has a slug)
|
|
204
|
+
* - 'component': a detached surface rendered as an overlay/portal at runtime
|
|
205
|
+
* (modal, drawer, collapsible, or any block the author detached), reached by `triggerId`
|
|
206
|
+
*/
|
|
207
|
+
export declare const ArtboardTypeSchema: z.ZodEnum<{
|
|
208
|
+
page: "page";
|
|
209
|
+
component: "component";
|
|
210
|
+
}>;
|
|
211
|
+
export type ArtboardType = z.infer<typeof ArtboardTypeSchema>;
|
|
212
|
+
/**
|
|
213
|
+
* Artboard Schema
|
|
214
|
+
* One top-level surface on the builder canvas. Each artboard embeds a complete
|
|
215
|
+
* PageDocument so that every existing document command, tree utility, validator,
|
|
216
|
+
* and history engine keeps operating on exactly the shape it already understands.
|
|
217
|
+
*
|
|
218
|
+
* Component artboards always wrap their detached node as the sole child of a
|
|
219
|
+
* synthetic `type: 'page'` root, so the root-type constraint never has to be relaxed.
|
|
220
|
+
*/
|
|
221
|
+
export declare const ArtboardSchema: z.ZodObject<{
|
|
222
|
+
id: z.ZodString;
|
|
223
|
+
name: z.ZodString;
|
|
224
|
+
artboardType: z.ZodEnum<{
|
|
225
|
+
page: "page";
|
|
226
|
+
component: "component";
|
|
227
|
+
}>;
|
|
228
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
229
|
+
triggerId: z.ZodOptional<z.ZodString>;
|
|
230
|
+
viewport: z.ZodOptional<z.ZodEnum<{
|
|
231
|
+
mobile: "mobile";
|
|
232
|
+
desktop: "desktop";
|
|
233
|
+
tablet: "tablet";
|
|
234
|
+
}>>;
|
|
235
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
236
|
+
position: z.ZodOptional<z.ZodObject<{
|
|
237
|
+
x: z.ZodNumber;
|
|
238
|
+
y: z.ZodNumber;
|
|
239
|
+
}, z.core.$strip>>;
|
|
240
|
+
document: z.ZodObject<{
|
|
241
|
+
schema: z.ZodLiteral<"stora.page">;
|
|
242
|
+
version: z.ZodDefault<z.ZodString>;
|
|
243
|
+
metadata: z.ZodOptional<z.ZodObject<{
|
|
244
|
+
title: z.ZodDefault<z.ZodString>;
|
|
245
|
+
description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
246
|
+
author: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
247
|
+
createdAt: z.ZodOptional<z.ZodString>;
|
|
248
|
+
updatedAt: z.ZodOptional<z.ZodString>;
|
|
249
|
+
tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
250
|
+
category: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
251
|
+
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
252
|
+
custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
253
|
+
}, z.core.$strip>>;
|
|
254
|
+
document: z.ZodType<RootPageNode, unknown, z.core.$ZodTypeInternals<RootPageNode, unknown>>;
|
|
255
|
+
}, z.core.$strip>;
|
|
256
|
+
}, z.core.$strip>;
|
|
257
|
+
export type Artboard = z.infer<typeof ArtboardSchema>;
|
|
258
|
+
/**
|
|
259
|
+
* Project Document Schema
|
|
260
|
+
* Root portable structure holding many artboards:
|
|
261
|
+
* - schema: strictly "stora.project" (distinct from the single-page "stora.page")
|
|
262
|
+
* - version: project schema version string
|
|
263
|
+
* - metadata: serializable metadata
|
|
264
|
+
* - artboards: one or more page/component surfaces
|
|
265
|
+
* - activeArtboardId: which artboard the editor should open
|
|
266
|
+
*/
|
|
267
|
+
export declare const ProjectDocumentSchema: z.ZodObject<{
|
|
268
|
+
schema: z.ZodLiteral<"stora.project">;
|
|
269
|
+
version: z.ZodDefault<z.ZodString>;
|
|
270
|
+
metadata: z.ZodOptional<z.ZodObject<{
|
|
271
|
+
title: z.ZodDefault<z.ZodString>;
|
|
272
|
+
description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
273
|
+
author: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
274
|
+
createdAt: z.ZodOptional<z.ZodString>;
|
|
275
|
+
updatedAt: z.ZodOptional<z.ZodString>;
|
|
276
|
+
tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
277
|
+
category: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
278
|
+
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
279
|
+
custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
280
|
+
}, z.core.$strip>>;
|
|
281
|
+
artboards: z.ZodArray<z.ZodObject<{
|
|
282
|
+
id: z.ZodString;
|
|
283
|
+
name: z.ZodString;
|
|
284
|
+
artboardType: z.ZodEnum<{
|
|
285
|
+
page: "page";
|
|
286
|
+
component: "component";
|
|
287
|
+
}>;
|
|
288
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
289
|
+
triggerId: z.ZodOptional<z.ZodString>;
|
|
290
|
+
viewport: z.ZodOptional<z.ZodEnum<{
|
|
291
|
+
mobile: "mobile";
|
|
292
|
+
desktop: "desktop";
|
|
293
|
+
tablet: "tablet";
|
|
294
|
+
}>>;
|
|
295
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
296
|
+
position: z.ZodOptional<z.ZodObject<{
|
|
297
|
+
x: z.ZodNumber;
|
|
298
|
+
y: z.ZodNumber;
|
|
299
|
+
}, z.core.$strip>>;
|
|
300
|
+
document: z.ZodObject<{
|
|
301
|
+
schema: z.ZodLiteral<"stora.page">;
|
|
302
|
+
version: z.ZodDefault<z.ZodString>;
|
|
303
|
+
metadata: z.ZodOptional<z.ZodObject<{
|
|
304
|
+
title: z.ZodDefault<z.ZodString>;
|
|
305
|
+
description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
306
|
+
author: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
307
|
+
createdAt: z.ZodOptional<z.ZodString>;
|
|
308
|
+
updatedAt: z.ZodOptional<z.ZodString>;
|
|
309
|
+
tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
310
|
+
category: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
311
|
+
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
312
|
+
custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
313
|
+
}, z.core.$strip>>;
|
|
314
|
+
document: z.ZodType<RootPageNode, unknown, z.core.$ZodTypeInternals<RootPageNode, unknown>>;
|
|
315
|
+
}, z.core.$strip>;
|
|
316
|
+
}, z.core.$strip>>;
|
|
317
|
+
activeArtboardId: z.ZodOptional<z.ZodString>;
|
|
318
|
+
}, z.core.$strip>;
|
|
319
|
+
export type ProjectDocument = z.infer<typeof ProjectDocumentSchema>;
|
|
144
320
|
/**
|
|
145
321
|
* Type guards
|
|
146
322
|
*/
|
|
@@ -148,6 +324,18 @@ export declare function isAssetReference(value: unknown): value is AssetReferenc
|
|
|
148
324
|
export declare function isVariableBinding(value: unknown): value is VariableBinding;
|
|
149
325
|
export declare function isActionBinding(value: unknown): value is ActionBinding;
|
|
150
326
|
export declare function isAnimationConfig(value: unknown): value is AnimationConfig;
|
|
327
|
+
export declare function isProjectDocument(value: unknown): value is ProjectDocument;
|
|
328
|
+
/**
|
|
329
|
+
* Cheap structural sniff used by the loader to route a raw payload to either the
|
|
330
|
+
* project pipeline or the legacy single-page pipeline, before any parsing happens.
|
|
331
|
+
* Intentionally does not validate — a malformed project must still be routed to the
|
|
332
|
+
* project parser so its own errors surface, rather than being silently treated as a page.
|
|
333
|
+
*/
|
|
334
|
+
export declare function looksLikeProjectDocument(value: unknown): boolean;
|
|
335
|
+
/**
|
|
336
|
+
* Node type guard for the in-tree placeholder that points at a detached artboard.
|
|
337
|
+
*/
|
|
338
|
+
export declare function isArtboardReferenceNode(node: Node): boolean;
|
|
151
339
|
/**
|
|
152
340
|
* Deterministic Node ID Generator
|
|
153
341
|
* Generates predictable IDs based on prefix and an index/identifier (not bound to React keys).
|
package/dist/document.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAwB,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,UAAU,EAAoB,MAAM,QAAQ,CAAC;AAEtD,eAAO,MAAM,WAAW,EAAG,YAAqB,CAAC;AACjD,eAAO,MAAM,sBAAsB,EAAG,OAAgB,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;iBAM/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAahE,eAAO,MAAM,gBAAgB,0FAQ3B,CAAC;AACH,
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../src/document.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
ACTION_PIPELINE_JSON_SCHEMA_V1: () => ACTION_PIPELINE_JSON_SCHEMA_V1,
|
|
24
|
+
ARTBOARD_REFERENCE_NODE_TYPE: () => ARTBOARD_REFERENCE_NODE_TYPE,
|
|
24
25
|
ActionBindingSchema: () => ActionBindingSchema,
|
|
25
26
|
ActionPipelineSchema: () => ActionPipelineSchema,
|
|
26
27
|
ActionStepConditionSchema: () => ActionStepConditionSchema,
|
|
@@ -30,7 +31,10 @@ __export(index_exports, {
|
|
|
30
31
|
ActionTriggerTypeSchema: () => ActionTriggerTypeSchema,
|
|
31
32
|
AnimationConfigSchema: () => AnimationConfigSchema,
|
|
32
33
|
ApiRequestStepPayloadSchema: () => ApiRequestStepPayloadSchema,
|
|
34
|
+
ArtboardSchema: () => ArtboardSchema,
|
|
35
|
+
ArtboardTypeSchema: () => ArtboardTypeSchema,
|
|
33
36
|
AssetReferenceSchema: () => AssetReferenceSchema,
|
|
37
|
+
CURRENT_PROJECT_SCHEMA_VERSION: () => CURRENT_PROJECT_SCHEMA_VERSION,
|
|
34
38
|
CURRENT_SCHEMA_VERSION: () => CURRENT_SCHEMA_VERSION,
|
|
35
39
|
CloseModalStepPayloadSchema: () => CloseModalStepPayloadSchema,
|
|
36
40
|
ConditionOperatorSchema: () => ConditionOperatorSchema,
|
|
@@ -49,7 +53,9 @@ __export(index_exports, {
|
|
|
49
53
|
NodeSchema: () => NodeSchema,
|
|
50
54
|
OpenModalStepPayloadSchema: () => OpenModalStepPayloadSchema,
|
|
51
55
|
PAGE_DOCUMENT_JSON_SCHEMA_V1: () => PAGE_DOCUMENT_JSON_SCHEMA_V1,
|
|
56
|
+
PROJECT_SCHEMA_NAME: () => PROJECT_SCHEMA_NAME,
|
|
52
57
|
PageDocumentSchema: () => PageDocumentSchema,
|
|
58
|
+
ProjectDocumentSchema: () => ProjectDocumentSchema,
|
|
53
59
|
PseudoStateStylesSchema: () => PseudoStateStylesSchema,
|
|
54
60
|
ResetFormStepPayloadSchema: () => ResetFormStepPayloadSchema,
|
|
55
61
|
ResponsiveStylesSchema: () => ResponsiveStylesSchema,
|
|
@@ -86,11 +92,13 @@ __export(index_exports, {
|
|
|
86
92
|
isActionStepType: () => isActionStepType,
|
|
87
93
|
isActionTriggerType: () => isActionTriggerType,
|
|
88
94
|
isAnimationConfig: () => isAnimationConfig,
|
|
95
|
+
isArtboardReferenceNode: () => isArtboardReferenceNode,
|
|
89
96
|
isAssetReference: () => isAssetReference,
|
|
90
97
|
isConditionOperator: () => isConditionOperator,
|
|
91
98
|
isFormConfig: () => isFormConfig,
|
|
92
99
|
isFormFieldBinding: () => isFormFieldBinding,
|
|
93
100
|
isManifest: () => isManifest,
|
|
101
|
+
isProjectDocument: () => isProjectDocument,
|
|
94
102
|
isSafeActionUrl: () => isSafeActionUrl,
|
|
95
103
|
isSafeThumbnail: () => isSafeThumbnail,
|
|
96
104
|
isSafeThumbnailUrl: () => isSafeThumbnailUrl,
|
|
@@ -99,6 +107,7 @@ __export(index_exports, {
|
|
|
99
107
|
isValidationRule: () => isValidationRule,
|
|
100
108
|
isValidationRuleType: () => isValidationRuleType,
|
|
101
109
|
isVariableBinding: () => isVariableBinding,
|
|
110
|
+
looksLikeProjectDocument: () => looksLikeProjectDocument,
|
|
102
111
|
sanitizeActionPayload: () => sanitizeActionPayload,
|
|
103
112
|
sanitizeActionPipeline: () => sanitizeActionPipeline,
|
|
104
113
|
sanitizeActionStep: () => sanitizeActionStep,
|
|
@@ -205,7 +214,8 @@ var ShowToastStepPayloadSchema = import_zod.z.object({
|
|
|
205
214
|
});
|
|
206
215
|
var OpenModalStepPayloadSchema = import_zod.z.object({
|
|
207
216
|
modalId: import_zod.z.string().optional(),
|
|
208
|
-
modalNodeId: import_zod.z.string().optional()
|
|
217
|
+
modalNodeId: import_zod.z.string().optional(),
|
|
218
|
+
toggle: import_zod.z.boolean().optional()
|
|
209
219
|
}).refine((data) => Boolean(data.modalId || data.modalNodeId), {
|
|
210
220
|
message: "Modal ID or Modal Node ID cannot be empty"
|
|
211
221
|
});
|
|
@@ -524,6 +534,45 @@ var PageDocumentSchema = import_zod3.z.object({
|
|
|
524
534
|
metadata: DocumentMetadataSchema.optional(),
|
|
525
535
|
document: RootPageNodeSchema
|
|
526
536
|
});
|
|
537
|
+
var PROJECT_SCHEMA_NAME = "stora.project";
|
|
538
|
+
var CURRENT_PROJECT_SCHEMA_VERSION = "1.0.0";
|
|
539
|
+
var ARTBOARD_REFERENCE_NODE_TYPE = "artboard-reference";
|
|
540
|
+
var ArtboardTypeSchema = import_zod3.z.enum(["page", "component"]);
|
|
541
|
+
var ArtboardSchema = import_zod3.z.object({
|
|
542
|
+
id: import_zod3.z.string().min(1, "Artboard ID is required"),
|
|
543
|
+
name: import_zod3.z.string().min(1, "Artboard name is required"),
|
|
544
|
+
artboardType: ArtboardTypeSchema,
|
|
545
|
+
/** Route for page artboards (e.g. "/about"). */
|
|
546
|
+
slug: import_zod3.z.string().optional(),
|
|
547
|
+
/**
|
|
548
|
+
* For component artboards: the id that `open_modal` / `close_modal` actions target.
|
|
549
|
+
* Mirrors the detached node's own `props.modalId` so ModalManager keeps working unchanged.
|
|
550
|
+
*/
|
|
551
|
+
triggerId: import_zod3.z.string().optional(),
|
|
552
|
+
/**
|
|
553
|
+
* Viewport/breakpoint this artboard is currently authored at. Declared inline
|
|
554
|
+
* (rather than imported) because viewport is otherwise an editor/renderer concept.
|
|
555
|
+
*/
|
|
556
|
+
viewport: import_zod3.z.enum(["desktop", "tablet", "mobile"]).optional(),
|
|
557
|
+
/** Persisted artboard width in px, matching the canvas ViewportResizer's `width`. */
|
|
558
|
+
width: import_zod3.z.number().positive().optional(),
|
|
559
|
+
/**
|
|
560
|
+
* Free position on the builder's infinite canvas, in unscaled canvas px. Absent means
|
|
561
|
+
* "not placed yet" — the canvas then falls back to laying the artboard out in a row.
|
|
562
|
+
*/
|
|
563
|
+
position: import_zod3.z.object({
|
|
564
|
+
x: import_zod3.z.number(),
|
|
565
|
+
y: import_zod3.z.number()
|
|
566
|
+
}).optional(),
|
|
567
|
+
document: PageDocumentSchema
|
|
568
|
+
});
|
|
569
|
+
var ProjectDocumentSchema = import_zod3.z.object({
|
|
570
|
+
schema: import_zod3.z.literal(PROJECT_SCHEMA_NAME),
|
|
571
|
+
version: import_zod3.z.string().min(1, "Schema version is required").default(CURRENT_PROJECT_SCHEMA_VERSION),
|
|
572
|
+
metadata: DocumentMetadataSchema.optional(),
|
|
573
|
+
artboards: import_zod3.z.array(ArtboardSchema).min(1, "A project needs at least one artboard"),
|
|
574
|
+
activeArtboardId: import_zod3.z.string().optional()
|
|
575
|
+
});
|
|
527
576
|
function isAssetReference(value) {
|
|
528
577
|
return AssetReferenceSchema.safeParse(value).success;
|
|
529
578
|
}
|
|
@@ -536,6 +585,17 @@ function isActionBinding(value) {
|
|
|
536
585
|
function isAnimationConfig(value) {
|
|
537
586
|
return AnimationConfigSchema.safeParse(value).success;
|
|
538
587
|
}
|
|
588
|
+
function isProjectDocument(value) {
|
|
589
|
+
return ProjectDocumentSchema.safeParse(value).success;
|
|
590
|
+
}
|
|
591
|
+
function looksLikeProjectDocument(value) {
|
|
592
|
+
if (typeof value !== "object" || value === null) return false;
|
|
593
|
+
const candidate = value;
|
|
594
|
+
return candidate.schema === PROJECT_SCHEMA_NAME || Array.isArray(candidate.artboards);
|
|
595
|
+
}
|
|
596
|
+
function isArtboardReferenceNode(node) {
|
|
597
|
+
return node.type === ARTBOARD_REFERENCE_NODE_TYPE;
|
|
598
|
+
}
|
|
539
599
|
function generateDeterministicNodeId(prefix, indexOrKey) {
|
|
540
600
|
const cleanPrefix = prefix.toLowerCase().replace(/[^a-z0-9_-]/g, "-");
|
|
541
601
|
return `${cleanPrefix}_${indexOrKey}`;
|
|
@@ -1672,6 +1732,7 @@ function getFormFieldBindingJsonSchema() {
|
|
|
1672
1732
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1673
1733
|
0 && (module.exports = {
|
|
1674
1734
|
ACTION_PIPELINE_JSON_SCHEMA_V1,
|
|
1735
|
+
ARTBOARD_REFERENCE_NODE_TYPE,
|
|
1675
1736
|
ActionBindingSchema,
|
|
1676
1737
|
ActionPipelineSchema,
|
|
1677
1738
|
ActionStepConditionSchema,
|
|
@@ -1681,7 +1742,10 @@ function getFormFieldBindingJsonSchema() {
|
|
|
1681
1742
|
ActionTriggerTypeSchema,
|
|
1682
1743
|
AnimationConfigSchema,
|
|
1683
1744
|
ApiRequestStepPayloadSchema,
|
|
1745
|
+
ArtboardSchema,
|
|
1746
|
+
ArtboardTypeSchema,
|
|
1684
1747
|
AssetReferenceSchema,
|
|
1748
|
+
CURRENT_PROJECT_SCHEMA_VERSION,
|
|
1685
1749
|
CURRENT_SCHEMA_VERSION,
|
|
1686
1750
|
CloseModalStepPayloadSchema,
|
|
1687
1751
|
ConditionOperatorSchema,
|
|
@@ -1700,7 +1764,9 @@ function getFormFieldBindingJsonSchema() {
|
|
|
1700
1764
|
NodeSchema,
|
|
1701
1765
|
OpenModalStepPayloadSchema,
|
|
1702
1766
|
PAGE_DOCUMENT_JSON_SCHEMA_V1,
|
|
1767
|
+
PROJECT_SCHEMA_NAME,
|
|
1703
1768
|
PageDocumentSchema,
|
|
1769
|
+
ProjectDocumentSchema,
|
|
1704
1770
|
PseudoStateStylesSchema,
|
|
1705
1771
|
ResetFormStepPayloadSchema,
|
|
1706
1772
|
ResponsiveStylesSchema,
|
|
@@ -1737,11 +1803,13 @@ function getFormFieldBindingJsonSchema() {
|
|
|
1737
1803
|
isActionStepType,
|
|
1738
1804
|
isActionTriggerType,
|
|
1739
1805
|
isAnimationConfig,
|
|
1806
|
+
isArtboardReferenceNode,
|
|
1740
1807
|
isAssetReference,
|
|
1741
1808
|
isConditionOperator,
|
|
1742
1809
|
isFormConfig,
|
|
1743
1810
|
isFormFieldBinding,
|
|
1744
1811
|
isManifest,
|
|
1812
|
+
isProjectDocument,
|
|
1745
1813
|
isSafeActionUrl,
|
|
1746
1814
|
isSafeThumbnail,
|
|
1747
1815
|
isSafeThumbnailUrl,
|
|
@@ -1750,6 +1818,7 @@ function getFormFieldBindingJsonSchema() {
|
|
|
1750
1818
|
isValidationRule,
|
|
1751
1819
|
isValidationRuleType,
|
|
1752
1820
|
isVariableBinding,
|
|
1821
|
+
looksLikeProjectDocument,
|
|
1753
1822
|
sanitizeActionPayload,
|
|
1754
1823
|
sanitizeActionPipeline,
|
|
1755
1824
|
sanitizeActionStep,
|