@kubuild/schema 0.8.0 → 0.8.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/dist/actions.d.cts +473 -0
- package/dist/actions.d.cts.map +1 -0
- package/dist/breakpoints.d.cts +35 -0
- package/dist/breakpoints.d.cts.map +1 -0
- package/dist/builtin-components.d.cts +17 -0
- package/dist/builtin-components.d.cts.map +1 -0
- package/dist/canonical-props.d.cts +39 -0
- package/dist/canonical-props.d.cts.map +1 -0
- package/dist/chunk-IXTL6BV4.js +1041 -0
- package/dist/chunk-IXTL6BV4.js.map +1 -0
- package/dist/document.d.cts +742 -0
- package/dist/document.d.cts.map +1 -0
- package/dist/document.d.ts +2 -2
- package/dist/document.d.ts.map +1 -1
- package/dist/fixtures.d.cts +3 -0
- package/dist/fixtures.d.cts.map +1 -0
- package/dist/fixtures.d.ts +1 -1
- package/dist/fixtures.d.ts.map +1 -1
- package/dist/form.d.cts +129 -0
- package/dist/form.d.cts.map +1 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +12 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/json-schema.d.cts +2066 -0
- package/dist/json-schema.d.cts.map +1 -0
- package/dist/manifest.d.cts +28 -0
- package/dist/manifest.d.cts.map +1 -0
- package/dist/template.d.cts +213 -0
- package/dist/template.d.cts.map +1 -0
- package/dist/template.d.ts +2 -2
- package/dist/template.d.ts.map +1 -1
- package/dist/theme.d.cts +80 -0
- package/dist/theme.d.cts.map +1 -0
- package/dist/tracking.d.cts +348 -0
- package/dist/tracking.d.cts.map +1 -0
- package/dist/types.d.cts +331 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/validate.cjs.map +1 -1
- package/dist/validate.d.cts +16 -0
- package/dist/validate.d.cts.map +1 -0
- package/dist/validate.d.ts +2 -2
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +1 -1
- package/dist/validate.js.map +1 -1
- package/package.json +26 -11
|
@@ -0,0 +1,742 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ActionPipeline } from './actions.cjs';
|
|
3
|
+
import { FormConfig } from './form.cjs';
|
|
4
|
+
export declare const SCHEMA_NAME: "stora.page";
|
|
5
|
+
export declare const CURRENT_SCHEMA_VERSION: "1.2.0";
|
|
6
|
+
/**
|
|
7
|
+
* Asset Reference Schema
|
|
8
|
+
* Represents a reference to an asset stored either locally within the .stora package or hosted externally.
|
|
9
|
+
*/
|
|
10
|
+
export declare const AssetReferenceSchema: z.ZodObject<{
|
|
11
|
+
type: z.ZodLiteral<"asset">;
|
|
12
|
+
assetId: z.ZodString;
|
|
13
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
14
|
+
mimeType: z.ZodOptional<z.ZodString>;
|
|
15
|
+
fallbackUrl: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export type AssetReference = z.infer<typeof AssetReferenceSchema>;
|
|
18
|
+
/**
|
|
19
|
+
* Variable Binding Schema
|
|
20
|
+
* Represents a dynamic runtime variable replacement (e.g. {{ site.name }}).
|
|
21
|
+
*/
|
|
22
|
+
export declare const VariableBindingSchema: z.ZodObject<{
|
|
23
|
+
type: z.ZodLiteral<"variable">;
|
|
24
|
+
key: z.ZodString;
|
|
25
|
+
fallback: z.ZodOptional<z.ZodUnknown>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export type VariableBinding = z.infer<typeof VariableBindingSchema>;
|
|
28
|
+
/**
|
|
29
|
+
* Action Binding Schema
|
|
30
|
+
* Represents an interactive action triggerable by UI components (e.g. navigation, modal, custom event).
|
|
31
|
+
*/
|
|
32
|
+
export declare const ActionBindingSchema: z.ZodObject<{
|
|
33
|
+
type: z.ZodString;
|
|
34
|
+
payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
export type ActionBinding = z.infer<typeof ActionBindingSchema>;
|
|
37
|
+
export declare const StyleValueSchema: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodUndefined]>;
|
|
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
|
+
backgroundColor?: string;
|
|
74
|
+
backgroundImage?: string;
|
|
75
|
+
backgroundSize?: 'cover' | 'contain' | 'auto' | (string & {});
|
|
76
|
+
backgroundPosition?: string;
|
|
77
|
+
backgroundRepeat?: 'no-repeat' | 'repeat' | 'repeat-x' | 'repeat-y' | (string & {});
|
|
78
|
+
backgroundAttachment?: 'scroll' | 'fixed' | 'local' | (string & {});
|
|
79
|
+
gridTemplateColumns?: string;
|
|
80
|
+
gridTemplateRows?: string;
|
|
81
|
+
gridAutoFlow?: string;
|
|
82
|
+
gridAutoColumns?: string;
|
|
83
|
+
gridAutoRows?: string;
|
|
84
|
+
gridColumn?: string | number;
|
|
85
|
+
gridRow?: string | number;
|
|
86
|
+
gridColumnStart?: string | number;
|
|
87
|
+
gridColumnEnd?: string | number;
|
|
88
|
+
gridRowStart?: string | number;
|
|
89
|
+
gridRowEnd?: string | number;
|
|
90
|
+
colSpan?: number | string;
|
|
91
|
+
rowSpan?: number | string;
|
|
92
|
+
justifySelf?: string;
|
|
93
|
+
}
|
|
94
|
+
export declare const StyleDefinitionSchema: z.ZodType<StyleDefinition>;
|
|
95
|
+
/**
|
|
96
|
+
* Pseudo-state style definitions keyed by CSS pseudo-class selector
|
|
97
|
+
* (e.g. `:hover`, `:focus`, `:active`). Each entry is a style layer applied
|
|
98
|
+
* on top of the resolved breakpoint styles when the state is active.
|
|
99
|
+
*/
|
|
100
|
+
export declare const PseudoStateStylesSchema: z.ZodRecord<z.ZodString, z.ZodType<StyleDefinition, unknown, z.core.$ZodTypeInternals<StyleDefinition, unknown>>>;
|
|
101
|
+
export type PseudoStateStyles = Record<string, StyleDefinition>;
|
|
102
|
+
/**
|
|
103
|
+
* Responsive Styles Schema
|
|
104
|
+
* Breakpoint-specific style definitions: base (all viewports), desktop, tablet, and mobile.
|
|
105
|
+
* Optionally carries `states` — pseudo-class style layers (e.g. `:hover`).
|
|
106
|
+
*/
|
|
107
|
+
export declare const ResponsiveStylesSchema: z.ZodDefault<z.ZodObject<{
|
|
108
|
+
base: z.ZodOptional<z.ZodType<StyleDefinition, unknown, z.core.$ZodTypeInternals<StyleDefinition, unknown>>>;
|
|
109
|
+
desktop: z.ZodOptional<z.ZodType<StyleDefinition, unknown, z.core.$ZodTypeInternals<StyleDefinition, unknown>>>;
|
|
110
|
+
tablet: z.ZodOptional<z.ZodType<StyleDefinition, unknown, z.core.$ZodTypeInternals<StyleDefinition, unknown>>>;
|
|
111
|
+
mobile: z.ZodOptional<z.ZodType<StyleDefinition, unknown, z.core.$ZodTypeInternals<StyleDefinition, unknown>>>;
|
|
112
|
+
states: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<StyleDefinition, unknown, z.core.$ZodTypeInternals<StyleDefinition, unknown>>>>;
|
|
113
|
+
}, z.core.$loose>>;
|
|
114
|
+
export type ResponsiveStyles = z.infer<typeof ResponsiveStylesSchema>;
|
|
115
|
+
/**
|
|
116
|
+
* Animation Configuration Schema
|
|
117
|
+
* Defines scroll entrance animations (AOS), duration, delay, easing curve,
|
|
118
|
+
* trigger behavior (once), hover micro-interactions, and continuous loop effects.
|
|
119
|
+
*/
|
|
120
|
+
export declare const AnimationConfigSchema: z.ZodObject<{
|
|
121
|
+
type: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
122
|
+
duration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
123
|
+
delay: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
124
|
+
easing: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
125
|
+
once: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
126
|
+
hoverEffect: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
127
|
+
loopEffect: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
128
|
+
}, z.core.$strip>;
|
|
129
|
+
export type AnimationConfig = z.infer<typeof AnimationConfigSchema>;
|
|
130
|
+
export declare const DEFAULT_ANIMATION_CONFIG: AnimationConfig;
|
|
131
|
+
/**
|
|
132
|
+
* Recursive Node Type Definition
|
|
133
|
+
*/
|
|
134
|
+
export type Node = {
|
|
135
|
+
id: string;
|
|
136
|
+
type: string;
|
|
137
|
+
props?: Record<string, unknown>;
|
|
138
|
+
styles?: ResponsiveStyles;
|
|
139
|
+
animation?: AnimationConfig;
|
|
140
|
+
actions?: ActionPipeline[];
|
|
141
|
+
formConfig?: FormConfig;
|
|
142
|
+
children?: Node[];
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Recursive Node Schema
|
|
146
|
+
* Represents any element/node in the document tree.
|
|
147
|
+
* Node IDs are deterministic, independent of React keys, and unique across the document.
|
|
148
|
+
*/
|
|
149
|
+
export declare const NodeSchema: z.ZodType<Node>;
|
|
150
|
+
export type RootPageNode = Node & {
|
|
151
|
+
type: 'page';
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Root Page Node Schema
|
|
155
|
+
* The root node of a PageDocument must be of type 'page'.
|
|
156
|
+
*/
|
|
157
|
+
export declare const RootPageNodeSchema: z.ZodType<RootPageNode>;
|
|
158
|
+
/**
|
|
159
|
+
* Document Metadata Schema
|
|
160
|
+
* Pure serializable metadata for the document.
|
|
161
|
+
*/
|
|
162
|
+
export declare const DocumentMetadataSchema: z.ZodObject<{
|
|
163
|
+
title: z.ZodDefault<z.ZodString>;
|
|
164
|
+
description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
165
|
+
author: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
166
|
+
createdAt: z.ZodOptional<z.ZodString>;
|
|
167
|
+
updatedAt: z.ZodOptional<z.ZodString>;
|
|
168
|
+
tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
169
|
+
category: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
170
|
+
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
171
|
+
custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
172
|
+
tracking: z.ZodOptional<z.ZodObject<{
|
|
173
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
174
|
+
debugMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
175
|
+
autoPageView: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
176
|
+
defaultDelivery: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
177
|
+
both: "both";
|
|
178
|
+
client_only: "client_only";
|
|
179
|
+
server_only: "server_only";
|
|
180
|
+
}>>>;
|
|
181
|
+
providers: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
182
|
+
meta: z.ZodOptional<z.ZodObject<{
|
|
183
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
184
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
185
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
186
|
+
capiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
187
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
188
|
+
}, z.core.$strip>>;
|
|
189
|
+
google: z.ZodOptional<z.ZodObject<{
|
|
190
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
191
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
192
|
+
measurementId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
193
|
+
}, z.core.$strip>>;
|
|
194
|
+
gtm: z.ZodOptional<z.ZodObject<{
|
|
195
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
196
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
197
|
+
containerId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
198
|
+
}, z.core.$strip>>;
|
|
199
|
+
tiktok: z.ZodOptional<z.ZodObject<{
|
|
200
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
201
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
202
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
203
|
+
eventsApiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
204
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
205
|
+
}, z.core.$strip>>;
|
|
206
|
+
custom: z.ZodOptional<z.ZodObject<{
|
|
207
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
208
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
209
|
+
}, z.core.$strip>>;
|
|
210
|
+
}, z.core.$strip>>>;
|
|
211
|
+
}, z.core.$strip>>;
|
|
212
|
+
}, z.core.$strip>;
|
|
213
|
+
export type DocumentMetadata = z.infer<typeof DocumentMetadataSchema>;
|
|
214
|
+
/**
|
|
215
|
+
* Page Document Schema v1
|
|
216
|
+
* Root portable document structure:
|
|
217
|
+
* - schema: strictly "stora.page"
|
|
218
|
+
* - version: schema version string (e.g. "1.0.0")
|
|
219
|
+
* - metadata: serializable metadata
|
|
220
|
+
* - document: root page node
|
|
221
|
+
* - tracking: optional dynamic pixel & CAPI tracking configuration
|
|
222
|
+
* - theme: optional design tokens (colors/fonts/radii/spacing), emitted as CSS custom
|
|
223
|
+
* properties and referenced from node styles as `var(--kb-color-<key>)` (STORA-551)
|
|
224
|
+
*/
|
|
225
|
+
export declare const PageDocumentSchema: z.ZodObject<{
|
|
226
|
+
schema: z.ZodLiteral<"stora.page">;
|
|
227
|
+
version: z.ZodDefault<z.ZodString>;
|
|
228
|
+
metadata: z.ZodOptional<z.ZodObject<{
|
|
229
|
+
title: z.ZodDefault<z.ZodString>;
|
|
230
|
+
description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
231
|
+
author: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
232
|
+
createdAt: z.ZodOptional<z.ZodString>;
|
|
233
|
+
updatedAt: z.ZodOptional<z.ZodString>;
|
|
234
|
+
tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
235
|
+
category: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
236
|
+
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
237
|
+
custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
238
|
+
tracking: z.ZodOptional<z.ZodObject<{
|
|
239
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
240
|
+
debugMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
241
|
+
autoPageView: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
242
|
+
defaultDelivery: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
243
|
+
both: "both";
|
|
244
|
+
client_only: "client_only";
|
|
245
|
+
server_only: "server_only";
|
|
246
|
+
}>>>;
|
|
247
|
+
providers: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
248
|
+
meta: z.ZodOptional<z.ZodObject<{
|
|
249
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
250
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
251
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
252
|
+
capiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
253
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
254
|
+
}, z.core.$strip>>;
|
|
255
|
+
google: z.ZodOptional<z.ZodObject<{
|
|
256
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
257
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
258
|
+
measurementId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
259
|
+
}, z.core.$strip>>;
|
|
260
|
+
gtm: z.ZodOptional<z.ZodObject<{
|
|
261
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
262
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
263
|
+
containerId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
264
|
+
}, z.core.$strip>>;
|
|
265
|
+
tiktok: z.ZodOptional<z.ZodObject<{
|
|
266
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
267
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
268
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
269
|
+
eventsApiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
270
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
271
|
+
}, z.core.$strip>>;
|
|
272
|
+
custom: z.ZodOptional<z.ZodObject<{
|
|
273
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
274
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
275
|
+
}, z.core.$strip>>;
|
|
276
|
+
}, z.core.$strip>>>;
|
|
277
|
+
}, z.core.$strip>>;
|
|
278
|
+
}, z.core.$strip>>;
|
|
279
|
+
tracking: z.ZodOptional<z.ZodObject<{
|
|
280
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
281
|
+
debugMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
282
|
+
autoPageView: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
283
|
+
defaultDelivery: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
284
|
+
both: "both";
|
|
285
|
+
client_only: "client_only";
|
|
286
|
+
server_only: "server_only";
|
|
287
|
+
}>>>;
|
|
288
|
+
providers: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
289
|
+
meta: z.ZodOptional<z.ZodObject<{
|
|
290
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
291
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
292
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
293
|
+
capiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
294
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
295
|
+
}, z.core.$strip>>;
|
|
296
|
+
google: z.ZodOptional<z.ZodObject<{
|
|
297
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
298
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
299
|
+
measurementId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
300
|
+
}, z.core.$strip>>;
|
|
301
|
+
gtm: z.ZodOptional<z.ZodObject<{
|
|
302
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
303
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
304
|
+
containerId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
305
|
+
}, z.core.$strip>>;
|
|
306
|
+
tiktok: z.ZodOptional<z.ZodObject<{
|
|
307
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
308
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
309
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
310
|
+
eventsApiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
311
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
312
|
+
}, z.core.$strip>>;
|
|
313
|
+
custom: z.ZodOptional<z.ZodObject<{
|
|
314
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
315
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
316
|
+
}, z.core.$strip>>;
|
|
317
|
+
}, z.core.$strip>>>;
|
|
318
|
+
}, z.core.$strip>>;
|
|
319
|
+
theme: z.ZodOptional<z.ZodObject<{
|
|
320
|
+
colors: z.ZodOptional<z.ZodRecord<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
321
|
+
fonts: z.ZodOptional<z.ZodRecord<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
322
|
+
radii: z.ZodOptional<z.ZodRecord<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
323
|
+
spacing: z.ZodOptional<z.ZodRecord<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
324
|
+
}, z.core.$strip>>;
|
|
325
|
+
document: z.ZodType<RootPageNode, unknown, z.core.$ZodTypeInternals<RootPageNode, unknown>>;
|
|
326
|
+
}, z.core.$strip>;
|
|
327
|
+
export type PageDocument = z.infer<typeof PageDocumentSchema>;
|
|
328
|
+
export declare const PROJECT_SCHEMA_NAME: "stora.project";
|
|
329
|
+
export declare const CURRENT_PROJECT_SCHEMA_VERSION: "1.0.0";
|
|
330
|
+
/**
|
|
331
|
+
* Node type used as the in-tree placeholder left behind when a subtree is detached
|
|
332
|
+
* into its own artboard. It carries no children — the real content lives in the
|
|
333
|
+
* artboard named by `props.artboardId`.
|
|
334
|
+
*/
|
|
335
|
+
export declare const ARTBOARD_REFERENCE_NODE_TYPE: "artboard-reference";
|
|
336
|
+
/**
|
|
337
|
+
* Artboard Type Schema
|
|
338
|
+
* - 'page': a routable page surface (has a slug)
|
|
339
|
+
* - 'component': a detached surface rendered as an overlay/portal at runtime
|
|
340
|
+
* (modal, drawer, collapsible, or any block the author detached), reached by `triggerId`
|
|
341
|
+
*/
|
|
342
|
+
export declare const ArtboardTypeSchema: z.ZodEnum<{
|
|
343
|
+
page: "page";
|
|
344
|
+
component: "component";
|
|
345
|
+
}>;
|
|
346
|
+
export type ArtboardType = z.infer<typeof ArtboardTypeSchema>;
|
|
347
|
+
/**
|
|
348
|
+
* Artboard Schema
|
|
349
|
+
* One top-level surface on the builder canvas. Each artboard embeds a complete
|
|
350
|
+
* PageDocument so that every existing document command, tree utility, validator,
|
|
351
|
+
* and history engine keeps operating on exactly the shape it already understands.
|
|
352
|
+
*
|
|
353
|
+
* Component artboards always wrap their detached node as the sole child of a
|
|
354
|
+
* synthetic `type: 'page'` root, so the root-type constraint never has to be relaxed.
|
|
355
|
+
*/
|
|
356
|
+
export declare const ArtboardSchema: z.ZodObject<{
|
|
357
|
+
id: z.ZodString;
|
|
358
|
+
name: z.ZodString;
|
|
359
|
+
artboardType: z.ZodEnum<{
|
|
360
|
+
page: "page";
|
|
361
|
+
component: "component";
|
|
362
|
+
}>;
|
|
363
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
364
|
+
triggerId: z.ZodOptional<z.ZodString>;
|
|
365
|
+
viewport: z.ZodOptional<z.ZodEnum<{
|
|
366
|
+
mobile: "mobile";
|
|
367
|
+
desktop: "desktop";
|
|
368
|
+
tablet: "tablet";
|
|
369
|
+
}>>;
|
|
370
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
371
|
+
position: z.ZodOptional<z.ZodObject<{
|
|
372
|
+
x: z.ZodNumber;
|
|
373
|
+
y: z.ZodNumber;
|
|
374
|
+
}, z.core.$strip>>;
|
|
375
|
+
document: z.ZodObject<{
|
|
376
|
+
schema: z.ZodLiteral<"stora.page">;
|
|
377
|
+
version: z.ZodDefault<z.ZodString>;
|
|
378
|
+
metadata: z.ZodOptional<z.ZodObject<{
|
|
379
|
+
title: z.ZodDefault<z.ZodString>;
|
|
380
|
+
description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
381
|
+
author: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
382
|
+
createdAt: z.ZodOptional<z.ZodString>;
|
|
383
|
+
updatedAt: z.ZodOptional<z.ZodString>;
|
|
384
|
+
tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
385
|
+
category: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
386
|
+
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
387
|
+
custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
388
|
+
tracking: z.ZodOptional<z.ZodObject<{
|
|
389
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
390
|
+
debugMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
391
|
+
autoPageView: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
392
|
+
defaultDelivery: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
393
|
+
both: "both";
|
|
394
|
+
client_only: "client_only";
|
|
395
|
+
server_only: "server_only";
|
|
396
|
+
}>>>;
|
|
397
|
+
providers: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
398
|
+
meta: z.ZodOptional<z.ZodObject<{
|
|
399
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
400
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
401
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
402
|
+
capiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
403
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
404
|
+
}, z.core.$strip>>;
|
|
405
|
+
google: z.ZodOptional<z.ZodObject<{
|
|
406
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
407
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
408
|
+
measurementId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
409
|
+
}, z.core.$strip>>;
|
|
410
|
+
gtm: z.ZodOptional<z.ZodObject<{
|
|
411
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
412
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
413
|
+
containerId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
414
|
+
}, z.core.$strip>>;
|
|
415
|
+
tiktok: z.ZodOptional<z.ZodObject<{
|
|
416
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
417
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
418
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
419
|
+
eventsApiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
420
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
421
|
+
}, z.core.$strip>>;
|
|
422
|
+
custom: z.ZodOptional<z.ZodObject<{
|
|
423
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
424
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
425
|
+
}, z.core.$strip>>;
|
|
426
|
+
}, z.core.$strip>>>;
|
|
427
|
+
}, z.core.$strip>>;
|
|
428
|
+
}, z.core.$strip>>;
|
|
429
|
+
tracking: z.ZodOptional<z.ZodObject<{
|
|
430
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
431
|
+
debugMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
432
|
+
autoPageView: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
433
|
+
defaultDelivery: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
434
|
+
both: "both";
|
|
435
|
+
client_only: "client_only";
|
|
436
|
+
server_only: "server_only";
|
|
437
|
+
}>>>;
|
|
438
|
+
providers: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
439
|
+
meta: z.ZodOptional<z.ZodObject<{
|
|
440
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
441
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
442
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
443
|
+
capiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
444
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
445
|
+
}, z.core.$strip>>;
|
|
446
|
+
google: z.ZodOptional<z.ZodObject<{
|
|
447
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
448
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
449
|
+
measurementId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
450
|
+
}, z.core.$strip>>;
|
|
451
|
+
gtm: z.ZodOptional<z.ZodObject<{
|
|
452
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
453
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
454
|
+
containerId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
455
|
+
}, z.core.$strip>>;
|
|
456
|
+
tiktok: z.ZodOptional<z.ZodObject<{
|
|
457
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
458
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
459
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
460
|
+
eventsApiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
461
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
462
|
+
}, z.core.$strip>>;
|
|
463
|
+
custom: z.ZodOptional<z.ZodObject<{
|
|
464
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
465
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
466
|
+
}, z.core.$strip>>;
|
|
467
|
+
}, z.core.$strip>>>;
|
|
468
|
+
}, z.core.$strip>>;
|
|
469
|
+
theme: z.ZodOptional<z.ZodObject<{
|
|
470
|
+
colors: z.ZodOptional<z.ZodRecord<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
471
|
+
fonts: z.ZodOptional<z.ZodRecord<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
472
|
+
radii: z.ZodOptional<z.ZodRecord<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
473
|
+
spacing: z.ZodOptional<z.ZodRecord<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
474
|
+
}, z.core.$strip>>;
|
|
475
|
+
document: z.ZodType<RootPageNode, unknown, z.core.$ZodTypeInternals<RootPageNode, unknown>>;
|
|
476
|
+
}, z.core.$strip>;
|
|
477
|
+
}, z.core.$strip>;
|
|
478
|
+
export type Artboard = z.infer<typeof ArtboardSchema>;
|
|
479
|
+
/**
|
|
480
|
+
* Project Document Schema
|
|
481
|
+
* Root portable structure holding many artboards:
|
|
482
|
+
* - schema: strictly "stora.project" (distinct from the single-page "stora.page")
|
|
483
|
+
* - version: project schema version string
|
|
484
|
+
* - metadata: serializable metadata
|
|
485
|
+
* - artboards: one or more page/component surfaces
|
|
486
|
+
* - activeArtboardId: which artboard the editor should open
|
|
487
|
+
*/
|
|
488
|
+
export declare const ProjectDocumentSchema: z.ZodObject<{
|
|
489
|
+
schema: z.ZodLiteral<"stora.project">;
|
|
490
|
+
version: z.ZodDefault<z.ZodString>;
|
|
491
|
+
metadata: z.ZodOptional<z.ZodObject<{
|
|
492
|
+
title: z.ZodDefault<z.ZodString>;
|
|
493
|
+
description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
494
|
+
author: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
495
|
+
createdAt: z.ZodOptional<z.ZodString>;
|
|
496
|
+
updatedAt: z.ZodOptional<z.ZodString>;
|
|
497
|
+
tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
498
|
+
category: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
499
|
+
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
500
|
+
custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
501
|
+
tracking: z.ZodOptional<z.ZodObject<{
|
|
502
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
503
|
+
debugMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
504
|
+
autoPageView: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
505
|
+
defaultDelivery: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
506
|
+
both: "both";
|
|
507
|
+
client_only: "client_only";
|
|
508
|
+
server_only: "server_only";
|
|
509
|
+
}>>>;
|
|
510
|
+
providers: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
511
|
+
meta: z.ZodOptional<z.ZodObject<{
|
|
512
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
513
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
514
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
515
|
+
capiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
516
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
517
|
+
}, z.core.$strip>>;
|
|
518
|
+
google: z.ZodOptional<z.ZodObject<{
|
|
519
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
520
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
521
|
+
measurementId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
522
|
+
}, z.core.$strip>>;
|
|
523
|
+
gtm: z.ZodOptional<z.ZodObject<{
|
|
524
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
525
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
526
|
+
containerId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
527
|
+
}, z.core.$strip>>;
|
|
528
|
+
tiktok: z.ZodOptional<z.ZodObject<{
|
|
529
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
530
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
531
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
532
|
+
eventsApiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
533
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
534
|
+
}, z.core.$strip>>;
|
|
535
|
+
custom: z.ZodOptional<z.ZodObject<{
|
|
536
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
537
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
538
|
+
}, z.core.$strip>>;
|
|
539
|
+
}, z.core.$strip>>>;
|
|
540
|
+
}, z.core.$strip>>;
|
|
541
|
+
}, z.core.$strip>>;
|
|
542
|
+
tracking: z.ZodOptional<z.ZodObject<{
|
|
543
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
544
|
+
debugMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
545
|
+
autoPageView: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
546
|
+
defaultDelivery: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
547
|
+
both: "both";
|
|
548
|
+
client_only: "client_only";
|
|
549
|
+
server_only: "server_only";
|
|
550
|
+
}>>>;
|
|
551
|
+
providers: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
552
|
+
meta: z.ZodOptional<z.ZodObject<{
|
|
553
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
554
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
555
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
556
|
+
capiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
557
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
558
|
+
}, z.core.$strip>>;
|
|
559
|
+
google: z.ZodOptional<z.ZodObject<{
|
|
560
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
561
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
562
|
+
measurementId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
563
|
+
}, z.core.$strip>>;
|
|
564
|
+
gtm: z.ZodOptional<z.ZodObject<{
|
|
565
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
566
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
567
|
+
containerId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
568
|
+
}, z.core.$strip>>;
|
|
569
|
+
tiktok: z.ZodOptional<z.ZodObject<{
|
|
570
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
571
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
572
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
573
|
+
eventsApiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
574
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
575
|
+
}, z.core.$strip>>;
|
|
576
|
+
custom: z.ZodOptional<z.ZodObject<{
|
|
577
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
578
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
579
|
+
}, z.core.$strip>>;
|
|
580
|
+
}, z.core.$strip>>>;
|
|
581
|
+
}, z.core.$strip>>;
|
|
582
|
+
artboards: z.ZodArray<z.ZodObject<{
|
|
583
|
+
id: z.ZodString;
|
|
584
|
+
name: z.ZodString;
|
|
585
|
+
artboardType: z.ZodEnum<{
|
|
586
|
+
page: "page";
|
|
587
|
+
component: "component";
|
|
588
|
+
}>;
|
|
589
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
590
|
+
triggerId: z.ZodOptional<z.ZodString>;
|
|
591
|
+
viewport: z.ZodOptional<z.ZodEnum<{
|
|
592
|
+
mobile: "mobile";
|
|
593
|
+
desktop: "desktop";
|
|
594
|
+
tablet: "tablet";
|
|
595
|
+
}>>;
|
|
596
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
597
|
+
position: z.ZodOptional<z.ZodObject<{
|
|
598
|
+
x: z.ZodNumber;
|
|
599
|
+
y: z.ZodNumber;
|
|
600
|
+
}, z.core.$strip>>;
|
|
601
|
+
document: z.ZodObject<{
|
|
602
|
+
schema: z.ZodLiteral<"stora.page">;
|
|
603
|
+
version: z.ZodDefault<z.ZodString>;
|
|
604
|
+
metadata: z.ZodOptional<z.ZodObject<{
|
|
605
|
+
title: z.ZodDefault<z.ZodString>;
|
|
606
|
+
description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
607
|
+
author: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
608
|
+
createdAt: z.ZodOptional<z.ZodString>;
|
|
609
|
+
updatedAt: z.ZodOptional<z.ZodString>;
|
|
610
|
+
tags: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
611
|
+
category: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
612
|
+
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
613
|
+
custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
614
|
+
tracking: z.ZodOptional<z.ZodObject<{
|
|
615
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
616
|
+
debugMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
617
|
+
autoPageView: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
618
|
+
defaultDelivery: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
619
|
+
both: "both";
|
|
620
|
+
client_only: "client_only";
|
|
621
|
+
server_only: "server_only";
|
|
622
|
+
}>>>;
|
|
623
|
+
providers: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
624
|
+
meta: z.ZodOptional<z.ZodObject<{
|
|
625
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
626
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
627
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
628
|
+
capiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
629
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
630
|
+
}, z.core.$strip>>;
|
|
631
|
+
google: z.ZodOptional<z.ZodObject<{
|
|
632
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
633
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
634
|
+
measurementId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
635
|
+
}, z.core.$strip>>;
|
|
636
|
+
gtm: z.ZodOptional<z.ZodObject<{
|
|
637
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
638
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
639
|
+
containerId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
640
|
+
}, z.core.$strip>>;
|
|
641
|
+
tiktok: z.ZodOptional<z.ZodObject<{
|
|
642
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
643
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
644
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
645
|
+
eventsApiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
646
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
647
|
+
}, z.core.$strip>>;
|
|
648
|
+
custom: z.ZodOptional<z.ZodObject<{
|
|
649
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
650
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
651
|
+
}, z.core.$strip>>;
|
|
652
|
+
}, z.core.$strip>>>;
|
|
653
|
+
}, z.core.$strip>>;
|
|
654
|
+
}, z.core.$strip>>;
|
|
655
|
+
tracking: z.ZodOptional<z.ZodObject<{
|
|
656
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
657
|
+
debugMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
658
|
+
autoPageView: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
659
|
+
defaultDelivery: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
660
|
+
both: "both";
|
|
661
|
+
client_only: "client_only";
|
|
662
|
+
server_only: "server_only";
|
|
663
|
+
}>>>;
|
|
664
|
+
providers: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
665
|
+
meta: z.ZodOptional<z.ZodObject<{
|
|
666
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
667
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
668
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
669
|
+
capiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
670
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
671
|
+
}, z.core.$strip>>;
|
|
672
|
+
google: z.ZodOptional<z.ZodObject<{
|
|
673
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
674
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
675
|
+
measurementId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
676
|
+
}, z.core.$strip>>;
|
|
677
|
+
gtm: z.ZodOptional<z.ZodObject<{
|
|
678
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
679
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
680
|
+
containerId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
681
|
+
}, z.core.$strip>>;
|
|
682
|
+
tiktok: z.ZodOptional<z.ZodObject<{
|
|
683
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
684
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
685
|
+
pixelId: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
686
|
+
eventsApiEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
687
|
+
testEventCode: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
688
|
+
}, z.core.$strip>>;
|
|
689
|
+
custom: z.ZodOptional<z.ZodObject<{
|
|
690
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
691
|
+
credentialId: z.ZodOptional<z.ZodString>;
|
|
692
|
+
}, z.core.$strip>>;
|
|
693
|
+
}, z.core.$strip>>>;
|
|
694
|
+
}, z.core.$strip>>;
|
|
695
|
+
theme: z.ZodOptional<z.ZodObject<{
|
|
696
|
+
colors: z.ZodOptional<z.ZodRecord<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
697
|
+
fonts: z.ZodOptional<z.ZodRecord<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
698
|
+
radii: z.ZodOptional<z.ZodRecord<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
699
|
+
spacing: z.ZodOptional<z.ZodRecord<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
700
|
+
}, z.core.$strip>>;
|
|
701
|
+
document: z.ZodType<RootPageNode, unknown, z.core.$ZodTypeInternals<RootPageNode, unknown>>;
|
|
702
|
+
}, z.core.$strip>;
|
|
703
|
+
}, z.core.$strip>>;
|
|
704
|
+
activeArtboardId: z.ZodOptional<z.ZodString>;
|
|
705
|
+
}, z.core.$strip>;
|
|
706
|
+
export type ProjectDocument = z.infer<typeof ProjectDocumentSchema>;
|
|
707
|
+
/**
|
|
708
|
+
* Type guards
|
|
709
|
+
*/
|
|
710
|
+
export declare function isAssetReference(value: unknown): value is AssetReference;
|
|
711
|
+
export declare function isVariableBinding(value: unknown): value is VariableBinding;
|
|
712
|
+
export declare function isActionBinding(value: unknown): value is ActionBinding;
|
|
713
|
+
export declare function isAnimationConfig(value: unknown): value is AnimationConfig;
|
|
714
|
+
export declare function isProjectDocument(value: unknown): value is ProjectDocument;
|
|
715
|
+
/**
|
|
716
|
+
* Cheap structural sniff used by the loader to route a raw payload to either the
|
|
717
|
+
* project pipeline or the legacy single-page pipeline, before any parsing happens.
|
|
718
|
+
* Intentionally does not validate — a malformed project must still be routed to the
|
|
719
|
+
* project parser so its own errors surface, rather than being silently treated as a page.
|
|
720
|
+
*/
|
|
721
|
+
export declare function looksLikeProjectDocument(value: unknown): boolean;
|
|
722
|
+
/**
|
|
723
|
+
* Node type guard for the in-tree placeholder that points at a detached artboard.
|
|
724
|
+
*/
|
|
725
|
+
export declare function isArtboardReferenceNode(node: Node): boolean;
|
|
726
|
+
/**
|
|
727
|
+
* Deterministic Node ID Generator
|
|
728
|
+
* Generates predictable IDs based on prefix and an index/identifier (not bound to React keys).
|
|
729
|
+
*/
|
|
730
|
+
export declare function generateDeterministicNodeId(prefix: string, indexOrKey: number | string): string;
|
|
731
|
+
/**
|
|
732
|
+
* Collect all Node IDs in a node tree
|
|
733
|
+
*/
|
|
734
|
+
export declare function collectNodeIds(node: Node): string[];
|
|
735
|
+
/**
|
|
736
|
+
* Validate Node ID uniqueness across a node tree or document
|
|
737
|
+
*/
|
|
738
|
+
export declare function validateNodeIdUniqueness(node: Node): {
|
|
739
|
+
valid: boolean;
|
|
740
|
+
duplicateIds: string[];
|
|
741
|
+
};
|
|
742
|
+
//# sourceMappingURL=document.d.cts.map
|