@wise/dynamic-flow-types 4.26.0 → 4.27.0-experimental-18a8b47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/build/renderers/CollectionRendererProps.d.ts +53 -24
  2. package/build/renderers/CollectionRendererProps.d.ts.map +1 -1
  3. package/build/renderers/index.d.ts +1 -1
  4. package/build/renderers/index.d.ts.map +1 -1
  5. package/build/spec/index.d.ts +3 -1
  6. package/build/spec/index.d.ts.map +1 -1
  7. package/build/spec/layout/CollectionLayout.d.ts +2 -1
  8. package/build/spec/layout/CollectionLayout.d.ts.map +1 -1
  9. package/build/spec/layout/CollectionLayoutCollectionSection.d.ts +8 -0
  10. package/build/spec/layout/CollectionLayoutCollectionSection.d.ts.map +1 -0
  11. package/build/spec/layout/CollectionLayoutItem.d.ts +1 -1
  12. package/build/spec/layout/{CollectionLayoutSection.d.ts → CollectionLayoutItemsSection.d.ts} +6 -2
  13. package/build/spec/layout/CollectionLayoutItemsSection.d.ts.map +1 -0
  14. package/build/spec/layout/CollectionLayoutLayoutSection.d.ts +38 -0
  15. package/build/spec/layout/CollectionLayoutLayoutSection.d.ts.map +1 -0
  16. package/build/spec/layout/CollectionLayoutSearch.d.ts +16 -0
  17. package/build/spec/layout/CollectionLayoutSearch.d.ts.map +1 -1
  18. package/build/spec/layout/CollectionLayoutState.d.ts +11 -4
  19. package/build/spec/layout/CollectionLayoutState.d.ts.map +1 -1
  20. package/build/spec/main.js +50 -31
  21. package/build/spec/main.mjs +50 -31
  22. package/build/spec/misc/media/MediaImage.d.ts +1 -0
  23. package/build/spec/misc/media/MediaImage.d.ts.map +1 -1
  24. package/build/spec/schema/DateSchema.d.ts +2 -1
  25. package/build/spec/schema/DateSchema.d.ts.map +1 -1
  26. package/build/tsconfig.tsbuildinfo +1 -1
  27. package/build/zod/schemas.d.ts +53 -63
  28. package/build/zod/schemas.d.ts.map +1 -1
  29. package/build/zod/schemas.ts +1170 -1143
  30. package/package.json +1 -1
  31. package/build/spec/layout/CollectionLayoutSection.d.ts.map +0 -1
@@ -2,86 +2,81 @@
2
2
  import { z } from 'zod';
3
3
  import {
4
4
  type JsonElement,
5
- type ModalResponseBody,
6
- type Layout,
7
- type SubflowResponseBody,
5
+ type ObjectSchema,
6
+ type Schema,
7
+ type AlertLayout,
8
8
  type Behavior,
9
- type SearchInitialLayoutConfig,
10
- type SearchLayoutResponseBody,
11
- type SearchResponse,
12
- type SearchInitialState,
13
- type BoxLayout,
9
+ type AllOfSchema,
10
+ type ArraySchema,
11
+ type BlobSchema,
12
+ type BooleanSchema,
13
+ type ConstSchema,
14
+ type DateSchema,
15
+ type IntegerSchema,
16
+ type NumberSchema,
17
+ type OneOfSchema,
18
+ type StringSchema,
19
+ type ArraySchemaList,
20
+ type ArraySchemaTuple,
21
+ type PersistAsync,
22
+ type Layout,
23
+ type AlertLayoutCallToAction,
24
+ type ModalLayoutContent,
14
25
  type ListLayoutCallToAction,
15
- type StatusListLayoutItemCallToAction,
16
- type UpsellLayout,
17
- type UpsellLayoutCallToAction,
18
- type UpdatableLayout,
19
- type UpdatableLayoutState,
20
- type UpdatableLayoutErrorHandler,
21
- type ListLayoutItem,
22
- type AdditionalInfo,
23
- type CollectionLayoutSection,
24
26
  type CollectionLayoutItem,
25
27
  type CollectionLayoutCallToAction,
28
+ type AdditionalInfo,
29
+ type SectionLayoutCallToAction,
26
30
  type ListLayout,
31
+ type ListLayoutItem,
32
+ type ReviewLayoutField,
33
+ type ReviewLayoutCallToAction,
34
+ type TabsLayoutTab,
35
+ type UpsellLayoutCallToAction,
36
+ type SearchLayout,
37
+ type SearchInitialState,
38
+ type CollectionLayoutState,
39
+ type CollectionLayoutCollectionSection,
40
+ type CollectionLayoutSearch,
41
+ type UpdatableLayoutErrorHandler,
42
+ type TabsLayout,
43
+ type CollectionLayoutItemsSection,
44
+ type CollectionLayoutLayoutSection,
45
+ type ColumnsLayout,
27
46
  type StatusListLayout,
28
47
  type StatusListLayoutItem,
29
- type AlertLayout,
30
- type AlertLayoutCallToAction,
48
+ type ReviewLayout,
49
+ type BoxLayout,
31
50
  type DecisionLayoutOption,
32
- type ReviewLayoutCallToAction,
33
- type ColumnsLayout,
34
- type SearchLayout,
51
+ type CollectionLayout,
35
52
  type SectionLayout,
36
- type SectionLayoutCallToAction,
37
- type DecisionLayout,
53
+ type UpsellLayout,
54
+ type UpdatableLayoutState,
55
+ type StatusListLayoutItemCallToAction,
38
56
  type ModalLayout,
39
- type ModalLayoutContent,
40
- type TabsLayoutTab,
41
- type ReviewLayout,
42
- type ReviewLayoutField,
43
57
  type ButtonLayout,
44
- type CollectionLayout,
45
- type TabsLayout,
46
- type CollectionLayoutState,
47
- type ObjectSchema,
48
- type Schema,
49
- type OneOfSchema,
50
- type IntegerSchema,
51
- type PersistAsync,
52
- type ConstSchema,
53
- type StringSchema,
54
- type BooleanSchema,
55
- type ArraySchemaTuple,
56
- type AllOfSchema,
57
- type DateSchema,
58
- type BlobSchema,
59
- type NumberSchema,
60
- type ArraySchema,
61
- type ArraySchemaList,
58
+ type UpdatableLayout,
59
+ type DecisionLayout,
60
+ type Step,
61
+ type Polling,
62
+ type LinkHandler,
63
+ type Toolbar,
64
+ type SubflowResponseBody,
65
+ type SearchInitialLayoutConfig,
66
+ type SearchLayoutResponseBody,
67
+ type SearchResponse,
68
+ type ModalResponseBody,
69
+ type PollingOnError,
62
70
  type DelayBehavior,
63
71
  type ModalBehavior,
64
72
  type SubflowBehavior,
65
- type Polling,
66
- type PollingOnError,
67
73
  type ToolbarItem,
68
74
  type ToolbarButton,
69
- type Toolbar,
70
- type LinkHandler,
71
- type Step,
72
75
  } from '../spec';
73
76
 
74
- export const jsonElementSchema: z.ZodSchema<JsonElement> = z.lazy(() =>
75
- z
76
- .union([
77
- z.string(),
78
- z.number(),
79
- z.boolean(),
80
- z.record(jsonElementSchema),
81
- z.array(jsonElementSchema),
82
- ])
83
- .nullable(),
84
- );
77
+ export const helpSchema = z.object({
78
+ markdown: z.string(),
79
+ });
85
80
 
86
81
  export const imageSchema = z.object({
87
82
  text: z.string().optional(),
@@ -90,93 +85,211 @@ export const imageSchema = z.object({
90
85
  accessibilityDescription: z.string().optional(),
91
86
  });
92
87
 
93
- export const httpMethodSchema = z.union([
94
- z.literal('GET'),
95
- z.literal('POST'),
96
- z.literal('PUT'),
97
- z.literal('PATCH'),
98
- z.literal('DELETE'),
99
- ]);
88
+ export const summaryProviderSchema = z.object({
89
+ providesTitle: z.boolean().optional(),
90
+ providesDescription: z.boolean().optional(),
91
+ providesIcon: z.boolean().optional(),
92
+ providesImage: z.boolean().optional(),
93
+ providesMedia: z.boolean().optional(),
94
+ });
100
95
 
101
- export const noOpResponseBodySchema = z.object({});
96
+ export const supportingValuesSchema = z.object({
97
+ value: z.string().optional(),
98
+ subvalue: z.string().optional(),
99
+ });
102
100
 
103
- export const columnsLayoutBiasSchema = z.union([
104
- z.literal('none'),
105
- z.literal('left'),
106
- z.literal('right'),
101
+ export const weekdaySchema = z.union([
102
+ z.literal('mon'),
103
+ z.literal('tue'),
104
+ z.literal('wed'),
105
+ z.literal('thu'),
106
+ z.literal('fri'),
107
+ z.literal('sat'),
108
+ z.literal('sun'),
107
109
  ]);
108
110
 
109
- export const sizeSchema = z.union([
110
- z.literal('xs'),
111
- z.literal('sm'),
112
- z.literal('md'),
113
- z.literal('lg'),
114
- z.literal('xl'),
115
- ]);
111
+ export const dateRuleRangeSchema = z.object({
112
+ type: z.literal('range'),
113
+ start: z.string(),
114
+ end: z.string(),
115
+ reason: z.string(),
116
+ });
116
117
 
117
- export const contextSchema = z.union([
118
- z.literal('positive'),
119
- z.literal('neutral'),
120
- z.literal('warning'),
121
- z.literal('negative'),
122
- z.literal('proposition'),
123
- z.literal('success'),
124
- z.literal('failure'),
125
- z.literal('info'),
126
- z.literal('primary'),
118
+ export const autocompleteTokenSchema = z.union([
119
+ z.literal('on'),
120
+ z.literal('name'),
121
+ z.literal('name-prefix'),
122
+ z.literal('given-name'),
123
+ z.literal('additional-name'),
124
+ z.literal('family-name'),
125
+ z.literal('name-suffix'),
126
+ z.literal('nickname'),
127
+ z.literal('email'),
128
+ z.literal('username'),
129
+ z.literal('new-username'),
130
+ z.literal('new-password'),
131
+ z.literal('password'),
132
+ z.literal('one-time-code'),
133
+ z.literal('job-title'),
134
+ z.literal('organization-name'),
135
+ z.literal('full-street-address'),
136
+ z.literal('street-address-line-1'),
137
+ z.literal('street-address-line-2'),
138
+ z.literal('street-address-line-3'),
139
+ z.literal('address-level-1'),
140
+ z.literal('address-level-2'),
141
+ z.literal('address-level-3'),
142
+ z.literal('address-level-4'),
143
+ z.literal('country-code'),
144
+ z.literal('country-name'),
145
+ z.literal('postal-code'),
146
+ z.literal('credit-card-name'),
147
+ z.literal('credit-card-given-name'),
148
+ z.literal('credit-card-middle-name'),
149
+ z.literal('credit-card-family-name'),
150
+ z.literal('credit-card-number'),
151
+ z.literal('credit-card-expiration'),
152
+ z.literal('credit-card-expiration-month'),
153
+ z.literal('credit-card-expiration-year'),
154
+ z.literal('credit-card-security-code'),
155
+ z.literal('credit-card-type'),
156
+ z.literal('transaction-currency'),
157
+ z.literal('transaction-amount'),
158
+ z.literal('language'),
159
+ z.literal('birthdate'),
160
+ z.literal('birthdate-day'),
161
+ z.literal('birthdate-month'),
162
+ z.literal('birthdate-year'),
163
+ z.literal('gender'),
164
+ z.literal('phone-number'),
165
+ z.literal('phone-country-code'),
166
+ z.literal('phone-national'),
167
+ z.literal('phone-area-code'),
168
+ z.literal('phone-local'),
169
+ z.literal('phone-local-prefix'),
170
+ z.literal('phone-local-suffix'),
171
+ z.literal('phone-extension'),
172
+ z.literal('url'),
173
+ z.literal('photo'),
174
+ z.literal('impp'),
175
+ z.literal('shipping'),
176
+ z.literal('billing'),
177
+ z.literal('home'),
178
+ z.literal('work'),
179
+ z.literal('mobile'),
180
+ z.literal('fax'),
181
+ z.literal('pager'),
127
182
  ]);
128
183
 
129
- export const requestSchema = z.object({
130
- url: z.string(),
131
- method: httpMethodSchema,
132
- body: jsonElementSchema.optional(),
133
- prefetch: z.boolean().optional(),
134
- headers: z.record(z.string()).optional(),
184
+ export const dateRuleDatesSchema = z.object({
185
+ type: z.literal('dates'),
186
+ dates: z.array(z.string()),
187
+ reason: z.string(),
135
188
  });
136
189
 
137
- export const alignSchema = z.union([z.literal('left'), z.literal('center'), z.literal('right')]);
138
-
139
- export const infoLayoutSchema = z.object({
140
- type: z.literal('info'),
141
- tags: z.array(z.string()).optional(),
142
- markdown: z.string(),
143
- align: alignSchema.optional(),
144
- control: z.string().optional(),
145
- margin: sizeSchema.optional(),
146
- analyticsId: z.string().optional(),
190
+ export const dateRuleWeekdaysSchema = z.object({
191
+ type: z.literal('weekdays'),
192
+ weekdays: z.array(weekdaySchema),
193
+ reason: z.string(),
147
194
  });
148
195
 
149
- export const listLayoutStatusSchema = z.union([
150
- z.literal('warning'),
151
- z.literal('neutral'),
152
- z.literal('positive'),
196
+ export const jsonElementSchema: z.ZodSchema<JsonElement> = z.lazy(() =>
197
+ z
198
+ .union([
199
+ z.string(),
200
+ z.number(),
201
+ z.boolean(),
202
+ z.record(jsonElementSchema),
203
+ z.array(jsonElementSchema),
204
+ ])
205
+ .nullable(),
206
+ );
207
+
208
+ export const stringSchemaFormatSchema = z.union([
209
+ z.literal('date'),
210
+ z.literal('email'),
211
+ z.literal('numeric'),
212
+ z.literal('password'),
213
+ z.literal('phone-number'),
214
+ z.literal('base64url'),
153
215
  ]);
154
216
 
155
- export const supportingValuesSchema = z.object({
156
- value: z.string().optional(),
157
- subvalue: z.string().optional(),
158
- });
217
+ export const dateRuleSchema = z.union([
218
+ dateRuleDatesSchema,
219
+ dateRuleRangeSchema,
220
+ dateRuleWeekdaysSchema,
221
+ ]);
159
222
 
160
- export const helpSchema = z.object({
161
- markdown: z.string(),
162
- });
223
+ export const uploadSourceSchema = z.union([z.literal('camera'), z.literal('file')]);
224
+
225
+ export const autocapitalizationTypeSchema = z.union([
226
+ z.literal('none'),
227
+ z.literal('characters'),
228
+ z.literal('sentences'),
229
+ z.literal('words'),
230
+ ]);
163
231
 
164
232
  export const updatableLayoutOnEventTriggerSchema = z.object({
165
233
  type: z.literal('on-event'),
166
234
  eventName: z.string(),
167
235
  });
168
236
 
169
- export const markdownLayoutSchema = z.object({
170
- type: z.literal('markdown'),
171
- content: z.string(),
172
- align: alignSchema.optional(),
173
- control: z.string().optional(),
174
- margin: sizeSchema.optional(),
237
+ export const contextSchema = z.union([
238
+ z.literal('positive'),
239
+ z.literal('neutral'),
240
+ z.literal('warning'),
241
+ z.literal('negative'),
242
+ z.literal('proposition'),
243
+ z.literal('success'),
244
+ z.literal('failure'),
245
+ z.literal('info'),
246
+ z.literal('primary'),
247
+ ]);
248
+
249
+ export const instructionsLayoutItemSchema = z.object({
250
+ text: z.string(),
251
+ context: contextSchema,
252
+ tag: z.string().optional(),
175
253
  analyticsId: z.string().optional(),
176
254
  tags: z.array(z.string()).optional(),
177
- size: sizeSchema.optional(),
178
255
  });
179
256
 
257
+ export const listLayoutStatusSchema = z.union([
258
+ z.literal('warning'),
259
+ z.literal('neutral'),
260
+ z.literal('positive'),
261
+ ]);
262
+
263
+ export const sizeSchema = z.union([
264
+ z.literal('xs'),
265
+ z.literal('sm'),
266
+ z.literal('md'),
267
+ z.literal('lg'),
268
+ z.literal('xl'),
269
+ ]);
270
+
271
+ export const httpMethodSchema = z.union([
272
+ z.literal('GET'),
273
+ z.literal('POST'),
274
+ z.literal('PUT'),
275
+ z.literal('PATCH'),
276
+ z.literal('DELETE'),
277
+ ]);
278
+
279
+ export const modalLayoutTriggerSchema = z.object({
280
+ title: z.string(),
281
+ });
282
+
283
+ export const alignSchema = z.union([z.literal('left'), z.literal('center'), z.literal('right')]);
284
+
285
+ export const columnsLayoutBiasSchema = z.union([
286
+ z.literal('none'),
287
+ z.literal('left'),
288
+ z.literal('right'),
289
+ ]);
290
+
291
+ export const updatableLayoutTriggerSchema = updatableLayoutOnEventTriggerSchema;
292
+
180
293
  export const collectionLayoutSelectFilterOptionSchema = z.object({
181
294
  value: z.string(),
182
295
  title: z.string(),
@@ -184,35 +297,21 @@ export const collectionLayoutSelectFilterOptionSchema = z.object({
184
297
  selected: z.boolean().optional(),
185
298
  });
186
299
 
187
- export const instructionsLayoutItemSchema = z.object({
188
- text: z.string(),
189
- context: contextSchema,
190
- tag: z.string().optional(),
191
- analyticsId: z.string().optional(),
192
- tags: z.array(z.string()).optional(),
193
- });
194
-
195
- export const headingLayoutSchema = z.object({
196
- type: z.literal('heading'),
197
- text: z.string(),
198
- size: sizeSchema.optional(),
300
+ export const markdownLayoutSchema = z.object({
301
+ type: z.literal('markdown'),
302
+ content: z.string(),
199
303
  align: alignSchema.optional(),
200
304
  control: z.string().optional(),
201
305
  margin: sizeSchema.optional(),
202
306
  analyticsId: z.string().optional(),
203
307
  tags: z.array(z.string()).optional(),
308
+ size: sizeSchema.optional(),
204
309
  });
205
310
 
206
- export const collectionLayoutSelectFilterSchema = z.object({
207
- type: z.literal('select'),
208
- param: z.string(),
209
- options: z.array(collectionLayoutSelectFilterOptionSchema),
210
- multiSelect: z.boolean().optional(),
211
- });
212
-
213
- export const loadingIndicatorLayoutSchema = z.object({
214
- type: z.literal('loading-indicator'),
215
- size: sizeSchema.optional(),
311
+ export const instructionsLayoutSchema = z.object({
312
+ type: z.literal('instructions'),
313
+ title: z.string().optional(),
314
+ items: z.array(instructionsLayoutItemSchema),
216
315
  control: z.string().optional(),
217
316
  margin: sizeSchema.optional(),
218
317
  analyticsId: z.string().optional(),
@@ -225,24 +324,31 @@ export const statusListLayoutStatusSchema = z.union([
225
324
  z.literal('done'),
226
325
  ]);
227
326
 
228
- export const imageLayoutSchema = z.object({
229
- type: z.literal('image'),
230
- text: z.string().optional(),
231
- url: z.string().optional(),
232
- accessibilityDescription: z.string().optional(),
233
- content: imageSchema.optional(),
234
- size: sizeSchema.optional(),
327
+ export const collectionLayoutSelectFilterSchema = z.object({
328
+ type: z.literal('select'),
329
+ param: z.string(),
330
+ options: z.array(collectionLayoutSelectFilterOptionSchema),
331
+ multiSelect: z.boolean().optional(),
332
+ });
333
+
334
+ export const dividerLayoutSchema = z.object({
335
+ type: z.literal('divider'),
235
336
  control: z.string().optional(),
236
337
  margin: sizeSchema.optional(),
237
- align: alignSchema.optional(),
238
338
  analyticsId: z.string().optional(),
239
339
  tags: z.array(z.string()).optional(),
240
340
  });
241
341
 
242
- export const updatableLayoutTriggerSchema = updatableLayoutOnEventTriggerSchema;
342
+ export const requestSchema = z.object({
343
+ url: z.string(),
344
+ method: httpMethodSchema,
345
+ body: jsonElementSchema.optional(),
346
+ prefetch: z.boolean().optional(),
347
+ headers: z.record(z.string()).optional(),
348
+ });
243
349
 
244
- export const modalLayoutTriggerSchema = z.object({
245
- title: z.string(),
350
+ export const formLayoutSchemaReferenceSchema = z.object({
351
+ $ref: z.string(),
246
352
  });
247
353
 
248
354
  export const progressLayoutSchema = z.object({
@@ -259,18 +365,21 @@ export const progressLayoutSchema = z.object({
259
365
  tags: z.array(z.string()).optional(),
260
366
  });
261
367
 
262
- export const dividerLayoutSchema = z.object({
263
- type: z.literal('divider'),
368
+ export const formLayoutSchema = z.object({
369
+ type: z.literal('form'),
370
+ schema: formLayoutSchemaReferenceSchema.optional(),
371
+ schemaId: z.string(),
264
372
  control: z.string().optional(),
265
373
  margin: sizeSchema.optional(),
266
374
  analyticsId: z.string().optional(),
267
375
  tags: z.array(z.string()).optional(),
268
376
  });
269
377
 
270
- export const instructionsLayoutSchema = z.object({
271
- type: z.literal('instructions'),
272
- title: z.string().optional(),
273
- items: z.array(instructionsLayoutItemSchema),
378
+ export const headingLayoutSchema = z.object({
379
+ type: z.literal('heading'),
380
+ text: z.string(),
381
+ size: sizeSchema.optional(),
382
+ align: alignSchema.optional(),
274
383
  control: z.string().optional(),
275
384
  margin: sizeSchema.optional(),
276
385
  analyticsId: z.string().optional(),
@@ -288,188 +397,114 @@ export const paragraphLayoutSchema = z.object({
288
397
  size: sizeSchema.optional(),
289
398
  });
290
399
 
291
- export const collectionLayoutFilterSchema = collectionLayoutSelectFilterSchema;
292
-
293
- export const formLayoutSchemaReferenceSchema = z.object({
294
- $ref: z.string(),
400
+ export const imageLayoutSchema = z.object({
401
+ type: z.literal('image'),
402
+ text: z.string().optional(),
403
+ url: z.string().optional(),
404
+ accessibilityDescription: z.string().optional(),
405
+ content: imageSchema.optional(),
406
+ size: sizeSchema.optional(),
407
+ control: z.string().optional(),
408
+ margin: sizeSchema.optional(),
409
+ align: alignSchema.optional(),
410
+ analyticsId: z.string().optional(),
411
+ tags: z.array(z.string()).optional(),
295
412
  });
296
413
 
297
- export const collectionLayoutSearchSchema = z.object({
298
- param: z.string(),
299
- title: z.string().optional(),
300
- hint: z.string().optional(),
414
+ export const infoLayoutSchema = z.object({
415
+ type: z.literal('info'),
416
+ tags: z.array(z.string()).optional(),
417
+ markdown: z.string(),
418
+ align: alignSchema.optional(),
419
+ control: z.string().optional(),
420
+ margin: sizeSchema.optional(),
421
+ analyticsId: z.string().optional(),
301
422
  });
302
423
 
303
- export const formLayoutSchema = z.object({
304
- type: z.literal('form'),
305
- schema: formLayoutSchemaReferenceSchema.optional(),
306
- schemaId: z.string(),
424
+ export const loadingIndicatorLayoutSchema = z.object({
425
+ type: z.literal('loading-indicator'),
426
+ size: sizeSchema.optional(),
307
427
  control: z.string().optional(),
308
428
  margin: sizeSchema.optional(),
309
429
  analyticsId: z.string().optional(),
310
430
  tags: z.array(z.string()).optional(),
311
431
  });
312
432
 
313
- export const dateRuleDatesSchema = z.object({
314
- type: z.literal('dates'),
315
- dates: z.array(z.string()),
316
- reason: z.string(),
433
+ export const externalSchema = z.object({
434
+ url: z.string(),
317
435
  });
318
436
 
319
- export const dateRuleRangeSchema = z.object({
320
- type: z.literal('range'),
321
- start: z.string(),
322
- end: z.string(),
323
- reason: z.string(),
437
+ export const stepErrorSchema = z.object({
438
+ error: z.string().optional(),
439
+ validation: jsonElementSchema.optional(),
324
440
  });
325
441
 
326
- export const summaryProviderSchema = z.object({
327
- providesTitle: z.boolean().optional(),
328
- providesDescription: z.boolean().optional(),
329
- providesIcon: z.boolean().optional(),
330
- providesImage: z.boolean().optional(),
331
- providesMedia: z.boolean().optional(),
442
+ export const errorResponseBodySchema = z.object({
443
+ refreshFormUrl: z.string().optional(),
444
+ analytics: z.record(z.string()).optional(),
445
+ error: z.string().optional(),
446
+ validation: jsonElementSchema.optional(),
447
+ refreshUrl: z.string().optional(),
332
448
  });
333
449
 
334
- export const weekdaySchema = z.union([
335
- z.literal('mon'),
336
- z.literal('tue'),
337
- z.literal('wed'),
338
- z.literal('thu'),
339
- z.literal('fri'),
340
- z.literal('sat'),
341
- z.literal('sun'),
342
- ]);
450
+ export const searchResultSearchSearchRequestSchema = z.object({
451
+ url: z.string(),
452
+ method: httpMethodSchema,
453
+ param: z.string(),
454
+ query: z.string(),
455
+ });
343
456
 
344
- export const autocompleteTokenSchema = z.union([
345
- z.literal('on'),
346
- z.literal('name'),
347
- z.literal('name-prefix'),
348
- z.literal('given-name'),
349
- z.literal('additional-name'),
350
- z.literal('family-name'),
351
- z.literal('name-suffix'),
352
- z.literal('nickname'),
353
- z.literal('email'),
354
- z.literal('username'),
355
- z.literal('new-username'),
356
- z.literal('new-password'),
357
- z.literal('password'),
358
- z.literal('one-time-code'),
359
- z.literal('job-title'),
360
- z.literal('organization-name'),
361
- z.literal('full-street-address'),
362
- z.literal('street-address-line-1'),
363
- z.literal('street-address-line-2'),
364
- z.literal('street-address-line-3'),
365
- z.literal('address-level-1'),
366
- z.literal('address-level-2'),
367
- z.literal('address-level-3'),
368
- z.literal('address-level-4'),
369
- z.literal('country-code'),
370
- z.literal('country-name'),
371
- z.literal('postal-code'),
372
- z.literal('credit-card-name'),
373
- z.literal('credit-card-given-name'),
374
- z.literal('credit-card-middle-name'),
375
- z.literal('credit-card-family-name'),
376
- z.literal('credit-card-number'),
377
- z.literal('credit-card-expiration'),
378
- z.literal('credit-card-expiration-month'),
379
- z.literal('credit-card-expiration-year'),
380
- z.literal('credit-card-security-code'),
381
- z.literal('credit-card-type'),
382
- z.literal('transaction-currency'),
383
- z.literal('transaction-amount'),
384
- z.literal('language'),
385
- z.literal('birthdate'),
386
- z.literal('birthdate-day'),
387
- z.literal('birthdate-month'),
388
- z.literal('birthdate-year'),
389
- z.literal('gender'),
390
- z.literal('phone-number'),
391
- z.literal('phone-country-code'),
392
- z.literal('phone-national'),
393
- z.literal('phone-area-code'),
394
- z.literal('phone-local'),
395
- z.literal('phone-local-prefix'),
396
- z.literal('phone-local-suffix'),
397
- z.literal('phone-extension'),
398
- z.literal('url'),
399
- z.literal('photo'),
400
- z.literal('impp'),
401
- z.literal('shipping'),
402
- z.literal('billing'),
403
- z.literal('home'),
404
- z.literal('work'),
405
- z.literal('mobile'),
406
- z.literal('fax'),
407
- z.literal('pager'),
408
- ]);
409
-
410
- export const stringSchemaFormatSchema = z.union([
411
- z.literal('date'),
412
- z.literal('email'),
413
- z.literal('numeric'),
414
- z.literal('password'),
415
- z.literal('phone-number'),
416
- z.literal('base64url'),
417
- ]);
457
+ export const noOpResponseBodySchema = z.object({});
418
458
 
419
- export const validateAsyncSchema = z.object({
420
- param: z.string(),
421
- method: httpMethodSchema,
422
- url: z.string(),
459
+ export const iconNamedSchema = z.object({
460
+ name: z.string(),
423
461
  });
424
462
 
425
- export const autocapitalizationTypeSchema = z.union([
426
- z.literal('none'),
427
- z.literal('characters'),
428
- z.literal('sentences'),
429
- z.literal('words'),
430
- ]);
431
-
432
- export const uploadSourceSchema = z.union([z.literal('camera'), z.literal('file')]);
433
-
434
- export const dateRuleWeekdaysSchema = z.object({
435
- type: z.literal('weekdays'),
436
- weekdays: z.array(weekdaySchema),
437
- reason: z.string(),
463
+ export const iconTextSchema = z.object({
464
+ text: z.string(),
438
465
  });
439
466
 
440
- export const dateRuleSchema = z.union([
441
- dateRuleDatesSchema,
442
- dateRuleRangeSchema,
443
- dateRuleWeekdaysSchema,
444
- ]);
445
-
446
- export const copyBehaviorSchema = z.object({
447
- type: z.literal('copy'),
448
- content: z.string(),
449
- analytics: z.record(z.string()).optional(),
467
+ export const mediaAvatarTextContentSchema = z.object({
468
+ type: z.literal('text'),
469
+ text: z.string(),
470
+ badgeUri: z.string().optional(),
450
471
  });
451
472
 
452
- export const dismissBehaviorSchema = z.object({
453
- type: z.literal('dismiss'),
454
- analytics: z.record(z.string()).optional(),
473
+ export const mediaImageSchema = z.object({
474
+ type: z.literal('image'),
475
+ uri: z.string(),
476
+ accessibilityDescription: z.string().optional(),
477
+ size: sizeSchema.optional(),
455
478
  });
456
479
 
457
- export const dispatchEventBehaviorSchema = z.object({
458
- type: z.literal('dispatch-event'),
459
- eventName: z.string(),
460
- analytics: z.record(z.string()).optional(),
480
+ export const mediaAvatarUriContentSchema = z.object({
481
+ type: z.literal('uri'),
482
+ uri: z.string(),
483
+ badgeUri: z.string().optional(),
461
484
  });
462
485
 
486
+ export const mediaAvatarContentSchema = z.union([
487
+ mediaAvatarTextContentSchema,
488
+ mediaAvatarUriContentSchema,
489
+ ]);
490
+
463
491
  export const downloadBehaviorSchema = z.object({
464
492
  type: z.literal('download'),
465
493
  request: requestSchema,
466
494
  analytics: z.record(z.string()).optional(),
467
495
  });
468
496
 
469
- export const linkBehaviorSchema = z.object({
470
- type: z.literal('link'),
497
+ export const navigationStackBehaviorSchema = z.union([
498
+ z.literal('default'),
499
+ z.literal('remove-previous'),
500
+ z.literal('remove-all'),
501
+ z.literal('replace-current'),
502
+ ]);
503
+
504
+ export const validateAsyncSchema = z.object({
505
+ param: z.string(),
506
+ method: httpMethodSchema,
471
507
  url: z.string(),
472
- analytics: z.record(z.string()).optional(),
473
508
  });
474
509
 
475
510
  export const refreshBehaviorSchema = z.object({
@@ -477,8 +512,10 @@ export const refreshBehaviorSchema = z.object({
477
512
  analytics: z.record(z.string()).optional(),
478
513
  });
479
514
 
480
- export const externalSchema = z.object({
481
- url: z.string(),
515
+ export const nativeLaunchConfigSchema = z.object({
516
+ type: z.literal('native'),
517
+ id: z.string(),
518
+ payload: jsonElementSchema.optional(),
482
519
  });
483
520
 
484
521
  export const modalPresentationSchema = z.object({
@@ -489,12 +526,6 @@ export const pushPresentationSchema = z.object({
489
526
  type: z.literal('push'),
490
527
  });
491
528
 
492
- export const nativeLaunchConfigSchema = z.object({
493
- type: z.literal('native'),
494
- id: z.string(),
495
- payload: jsonElementSchema.optional(),
496
- });
497
-
498
529
  export const presentationSchema = z.union([modalPresentationSchema, pushPresentationSchema]);
499
530
 
500
531
  export const dynamicLaunchConfigSchema = z.object({
@@ -503,10 +534,33 @@ export const dynamicLaunchConfigSchema = z.object({
503
534
  presentation: presentationSchema,
504
535
  });
505
536
 
506
- export const linkSchema = z.object({
537
+ export const copyBehaviorSchema = z.object({
538
+ type: z.literal('copy'),
539
+ content: z.string(),
540
+ analytics: z.record(z.string()).optional(),
541
+ });
542
+
543
+ export const dismissBehaviorSchema = z.object({
544
+ type: z.literal('dismiss'),
545
+ analytics: z.record(z.string()).optional(),
546
+ });
547
+
548
+ export const dispatchEventBehaviorSchema = z.object({
549
+ type: z.literal('dispatch-event'),
550
+ eventName: z.string(),
551
+ analytics: z.record(z.string()).optional(),
552
+ });
553
+
554
+ export const linkBehaviorSchema = z.object({
555
+ type: z.literal('link'),
507
556
  url: z.string(),
557
+ analytics: z.record(z.string()).optional(),
508
558
  });
509
559
 
560
+ export const launchConfigSchema = z.union([dynamicLaunchConfigSchema, nativeLaunchConfigSchema]);
561
+
562
+ export const iconSchema = z.union([iconNamedSchema, iconTextSchema]);
563
+
510
564
  export const actionTypeSchema = z.union([
511
565
  z.literal('primary'),
512
566
  z.literal('secondary'),
@@ -515,12 +569,9 @@ export const actionTypeSchema = z.union([
515
569
  z.literal('negative'),
516
570
  ]);
517
571
 
518
- export const navigationStackBehaviorSchema = z.union([
519
- z.literal('default'),
520
- z.literal('remove-previous'),
521
- z.literal('remove-all'),
522
- z.literal('replace-current'),
523
- ]);
572
+ export const linkSchema = z.object({
573
+ url: z.string(),
574
+ });
524
575
 
525
576
  export const actionSchema = z.object({
526
577
  title: z.string().optional(),
@@ -539,86 +590,86 @@ export const actionSchema = z.object({
539
590
  prefetch: z.boolean().optional(),
540
591
  });
541
592
 
542
- export const actionBehaviorSchema = z.object({
543
- type: z.literal('action'),
544
- action: actionSchema,
545
- analytics: z.record(z.string()).optional(),
546
- });
547
-
548
- export const stepErrorSchema = z.object({
549
- error: z.string().optional(),
550
- validation: jsonElementSchema.optional(),
551
- });
552
-
553
593
  export const containerBehaviorSchema = z.object({
554
594
  action: actionSchema.optional(),
555
595
  link: linkSchema.optional(),
556
596
  analytics: z.record(z.string()).optional(),
557
597
  });
558
598
 
559
- export const mediaImageSchema = z.object({
560
- type: z.literal('image'),
561
- uri: z.string(),
562
- accessibilityDescription: z.string().optional(),
563
- size: sizeSchema.optional(),
599
+ export const dateAvailabilitySchema = z.object({
600
+ unavailable: z.array(dateRuleSchema),
601
+ message: z.string().optional(),
564
602
  });
565
603
 
566
- export const mediaAvatarUriContentSchema = z.object({
567
- type: z.literal('uri'),
568
- uri: z.string(),
569
- badgeUri: z.string().optional(),
604
+ export const collectionLayoutFilterSchema = collectionLayoutSelectFilterSchema;
605
+
606
+ export const actionResponseBodySchema = z.object({
607
+ action: actionSchema,
570
608
  });
571
609
 
572
- export const mediaAvatarTextContentSchema = z.object({
573
- type: z.literal('text'),
574
- text: z.string(),
575
- badgeUri: z.string().optional(),
610
+ export const mediaAvatarSchema = z.object({
611
+ type: z.literal('avatar'),
612
+ content: z.array(mediaAvatarContentSchema),
613
+ accessibilityDescription: z.string().optional(),
614
+ size: sizeSchema.optional(),
576
615
  });
577
616
 
578
- export const mediaAvatarContentSchema = z.union([
579
- mediaAvatarTextContentSchema,
580
- mediaAvatarUriContentSchema,
581
- ]);
617
+ export const mediaSchema = z.union([mediaAvatarSchema, mediaImageSchema]);
582
618
 
583
- export const iconTextSchema = z.object({
584
- text: z.string(),
619
+ export const actionBehaviorSchema = z.object({
620
+ type: z.literal('action'),
621
+ action: actionSchema,
622
+ analytics: z.record(z.string()).optional(),
585
623
  });
586
624
 
587
- export const iconNamedSchema = z.object({
588
- name: z.string(),
625
+ export const suggestionsValueSchema = z.object({
626
+ label: z.string(),
627
+ value: jsonElementSchema,
628
+ icon: iconSchema.optional(),
629
+ image: imageSchema.optional(),
630
+ tag: z.string().optional(),
631
+ media: mediaSchema.optional(),
632
+ analyticsId: z.string().optional(),
633
+ tags: z.array(z.string()).optional(),
589
634
  });
590
635
 
591
- export const iconSchema = z.union([iconNamedSchema, iconTextSchema]);
592
-
593
- export const errorResponseBodySchema = z.object({
594
- refreshFormUrl: z.string().optional(),
595
- analytics: z.record(z.string()).optional(),
596
- error: z.string().optional(),
597
- validation: jsonElementSchema.optional(),
598
- refreshUrl: z.string().optional(),
636
+ export const navigationBackBehaviorSchema = z.object({
637
+ title: z.string().optional(),
638
+ action: actionSchema,
599
639
  });
600
640
 
601
- export const launchConfigSchema = z.union([dynamicLaunchConfigSchema, nativeLaunchConfigSchema]);
602
-
603
- export const searchResultSearchSearchRequestSchema = z.object({
604
- url: z.string(),
605
- method: httpMethodSchema,
606
- param: z.string(),
607
- query: z.string(),
641
+ export const summarySummariserSchema = z.object({
642
+ defaultTitle: z.string().optional(),
643
+ defaultDescription: z.string().optional(),
644
+ defaultIcon: iconSchema.optional(),
645
+ defaultImage: imageSchema.optional(),
646
+ providesTitle: z.boolean().optional(),
647
+ providesDescription: z.boolean().optional(),
648
+ providesIcon: z.boolean().optional(),
649
+ providesImage: z.boolean().optional(),
650
+ defaultMedia: mediaSchema.optional(),
651
+ providesMedia: z.boolean().optional(),
608
652
  });
609
653
 
610
- export const actionResponseBodySchema = z.object({
611
- action: actionSchema,
654
+ export const inlineAlertSchema = z.object({
655
+ content: z.string(),
656
+ context: contextSchema.optional(),
657
+ media: mediaSchema.optional(),
612
658
  });
613
659
 
614
- export const dateAvailabilitySchema = z.object({
615
- unavailable: z.array(dateRuleSchema),
616
- message: z.string().optional(),
660
+ export const suggestionsSchema = z.object({
661
+ values: z.array(suggestionsValueSchema),
617
662
  });
618
663
 
619
- export const navigationBackBehaviorSchema = z.object({
620
- title: z.string().optional(),
621
- action: actionSchema,
664
+ export const mediaLayoutSchema = z.object({
665
+ type: z.literal('media'),
666
+ media: mediaSchema,
667
+ align: alignSchema.optional(),
668
+ size: sizeSchema.optional(),
669
+ analyticsId: z.string().optional(),
670
+ control: z.string().optional(),
671
+ margin: sizeSchema.optional(),
672
+ tags: z.array(z.string()).optional(),
622
673
  });
623
674
 
624
675
  export const navigationSchema = z.object({
@@ -627,85 +678,30 @@ export const navigationSchema = z.object({
627
678
  stackBehavior: navigationStackBehaviorSchema.optional(),
628
679
  });
629
680
 
630
- export const mediaAvatarSchema = z.object({
631
- type: z.literal('avatar'),
632
- content: z.array(mediaAvatarContentSchema),
633
- accessibilityDescription: z.string().optional(),
634
- size: sizeSchema.optional(),
635
- });
636
-
637
- export const mediaSchema = z.union([mediaAvatarSchema, mediaImageSchema]);
638
-
639
- export const searchResultSearchSchema = z.object({
640
- type: z.literal('search'),
681
+ export const searchResultActionSchema = z.object({
682
+ type: z.literal('action'),
641
683
  title: z.string(),
642
684
  description: z.string().optional(),
643
685
  icon: iconSchema.optional(),
644
686
  image: imageSchema.optional(),
645
- value: searchResultSearchSearchRequestSchema,
687
+ value: actionSchema,
646
688
  media: mediaSchema.optional(),
647
689
  });
648
690
 
649
- export const searchResultActionSchema = z.object({
650
- type: z.literal('action'),
691
+ export const searchResultSearchSchema = z.object({
692
+ type: z.literal('search'),
651
693
  title: z.string(),
652
694
  description: z.string().optional(),
653
695
  icon: iconSchema.optional(),
654
696
  image: imageSchema.optional(),
655
- value: actionSchema,
697
+ value: searchResultSearchSearchRequestSchema,
656
698
  media: mediaSchema.optional(),
657
699
  });
658
700
 
659
701
  export const searchResultSchema = z.union([searchResultActionSchema, searchResultSearchSchema]);
660
702
 
661
- export const searchInitialResultsConfigSchema = z.object({
662
- type: z.literal('results'),
663
- results: z.array(searchResultSchema),
664
- });
665
-
666
- export const inlineAlertSchema = z.object({
667
- content: z.string(),
668
- context: contextSchema.optional(),
669
- media: mediaSchema.optional(),
670
- });
671
-
672
- export const mediaLayoutSchema = z.object({
673
- type: z.literal('media'),
674
- media: mediaSchema,
675
- align: alignSchema.optional(),
676
- size: sizeSchema.optional(),
677
- analyticsId: z.string().optional(),
678
- control: z.string().optional(),
679
- margin: sizeSchema.optional(),
680
- tags: z.array(z.string()).optional(),
681
- });
682
-
683
- export const summarySummariserSchema = z.object({
684
- defaultTitle: z.string().optional(),
685
- defaultDescription: z.string().optional(),
686
- defaultIcon: iconSchema.optional(),
687
- defaultImage: imageSchema.optional(),
688
- providesTitle: z.boolean().optional(),
689
- providesDescription: z.boolean().optional(),
690
- providesIcon: z.boolean().optional(),
691
- providesImage: z.boolean().optional(),
692
- defaultMedia: mediaSchema.optional(),
693
- providesMedia: z.boolean().optional(),
694
- });
695
-
696
703
  export const summarySchema = z.union([summaryProviderSchema, summarySummariserSchema]);
697
704
 
698
- export const suggestionsValueSchema = z.object({
699
- label: z.string(),
700
- value: jsonElementSchema,
701
- icon: iconSchema.optional(),
702
- image: imageSchema.optional(),
703
- tag: z.string().optional(),
704
- media: mediaSchema.optional(),
705
- analyticsId: z.string().optional(),
706
- tags: z.array(z.string()).optional(),
707
- });
708
-
709
705
  export const searchResponseBodySchema = z.object({
710
706
  type: z.literal('results').optional(),
711
707
  results: z.array(searchResultSchema),
@@ -716,14 +712,479 @@ export const searchResultsResponseBodySchema = z.object({
716
712
  results: z.array(searchResultSchema),
717
713
  });
718
714
 
719
- export const suggestionsSchema = z.object({
720
- values: z.array(suggestionsValueSchema),
721
- });
715
+ export const searchInitialResultsConfigSchema = z.object({
716
+ type: z.literal('results'),
717
+ results: z.array(searchResultSchema),
718
+ });
719
+
720
+ export const objectSchemaSchema: z.ZodSchema<ObjectSchema> = z.lazy(() =>
721
+ z.object({
722
+ type: z.literal('object'),
723
+ disabled: z.boolean().optional(),
724
+ promoted: z.boolean().optional(),
725
+ help: helpSchema.optional(),
726
+ properties: z.record(schemaSchema),
727
+ displayOrder: z.array(z.string()),
728
+ required: z.array(z.string()).optional(),
729
+ $id: z.string().optional(),
730
+ title: z.string().optional(),
731
+ description: z.string().optional(),
732
+ control: z.string().optional(),
733
+ hidden: z.boolean().optional(),
734
+ icon: iconSchema.optional(),
735
+ image: imageSchema.optional(),
736
+ keywords: z.array(z.string()).optional(),
737
+ summary: summaryProviderSchema.optional(),
738
+ analyticsId: z.string().optional(),
739
+ alert: alertLayoutSchema.optional(),
740
+ media: mediaSchema.optional(),
741
+ tags: z.array(z.string()).optional(),
742
+ format: z.string().optional(),
743
+ additionalText: z.string().optional(),
744
+ supportingValues: supportingValuesSchema.optional(),
745
+ inlineAlert: inlineAlertSchema.optional(),
746
+ onChange: behaviorSchema.optional(),
747
+ }),
748
+ );
749
+
750
+ export const schemaSchema: z.ZodSchema<Schema> = z.lazy(() =>
751
+ z.union([
752
+ allOfSchemaSchema,
753
+ arraySchemaSchema,
754
+ blobSchemaSchema,
755
+ booleanSchemaSchema,
756
+ constSchemaSchema,
757
+ dateSchemaSchema,
758
+ integerSchemaSchema,
759
+ numberSchemaSchema,
760
+ objectSchemaSchema,
761
+ oneOfSchemaSchema,
762
+ stringSchemaSchema,
763
+ ]),
764
+ );
765
+
766
+ export const alertLayoutSchema: z.ZodSchema<AlertLayout> = z.lazy(() =>
767
+ z.object({
768
+ type: z.literal('alert'),
769
+ markdown: z.string(),
770
+ context: contextSchema.optional(),
771
+ control: z.string().optional(),
772
+ margin: sizeSchema.optional(),
773
+ callToAction: alertLayoutCallToActionSchema.optional(),
774
+ analyticsId: z.string().optional(),
775
+ tags: z.array(z.string()).optional(),
776
+ title: z.string().optional(),
777
+ media: mediaSchema.optional(),
778
+ onDismiss: requestSchema.optional(),
779
+ secondaryCallToAction: alertLayoutCallToActionSchema.optional(),
780
+ }),
781
+ );
782
+
783
+ export const behaviorSchema: z.ZodSchema<Behavior> = z.lazy(() =>
784
+ z.union([
785
+ actionBehaviorSchema,
786
+ containerBehaviorSchema,
787
+ copyBehaviorSchema,
788
+ delayBehaviorSchema,
789
+ dismissBehaviorSchema,
790
+ dispatchEventBehaviorSchema,
791
+ downloadBehaviorSchema,
792
+ linkBehaviorSchema,
793
+ modalBehaviorSchema,
794
+ refreshBehaviorSchema,
795
+ subflowBehaviorSchema,
796
+ ]),
797
+ );
798
+
799
+ export const allOfSchemaSchema: z.ZodSchema<AllOfSchema> = z.lazy(() =>
800
+ z.object({
801
+ disabled: z.boolean().optional(),
802
+ promoted: z.boolean().optional(),
803
+ allOf: z.array(schemaSchema),
804
+ $id: z.string().optional(),
805
+ title: z.string().optional(),
806
+ description: z.string().optional(),
807
+ control: z.string().optional(),
808
+ hidden: z.boolean().optional(),
809
+ icon: iconSchema.optional(),
810
+ image: imageSchema.optional(),
811
+ keywords: z.array(z.string()).optional(),
812
+ summary: summaryProviderSchema.optional(),
813
+ analyticsId: z.string().optional(),
814
+ alert: alertLayoutSchema.optional(),
815
+ media: mediaSchema.optional(),
816
+ tags: z.array(z.string()).optional(),
817
+ additionalText: z.string().optional(),
818
+ supportingValues: supportingValuesSchema.optional(),
819
+ inlineAlert: inlineAlertSchema.optional(),
820
+ }),
821
+ );
822
+
823
+ export const arraySchemaSchema: z.ZodSchema<ArraySchema> = z.lazy(() =>
824
+ z.union([arraySchemaListSchema, arraySchemaTupleSchema]),
825
+ );
826
+
827
+ export const blobSchemaSchema: z.ZodSchema<BlobSchema> = z.lazy(() =>
828
+ z.object({
829
+ type: z.literal('blob'),
830
+ promoted: z.boolean().optional(),
831
+ $id: z.string().optional(),
832
+ title: z.string().optional(),
833
+ description: z.string().optional(),
834
+ control: z.string().optional(),
835
+ hidden: z.boolean().optional(),
836
+ icon: iconSchema.optional(),
837
+ image: imageSchema.optional(),
838
+ keywords: z.array(z.string()).optional(),
839
+ summary: summaryProviderSchema.optional(),
840
+ analyticsId: z.string().optional(),
841
+ validationAsync: validateAsyncSchema.optional(),
842
+ validationMessages: z.record(z.string()).optional(),
843
+ alert: alertLayoutSchema.optional(),
844
+ cameraConfig: jsonElementSchema.optional(),
845
+ accepts: z.array(z.string()).optional(),
846
+ maxSize: z.number().optional(),
847
+ source: uploadSourceSchema.optional(),
848
+ disabled: z.boolean().optional(),
849
+ media: mediaSchema.optional(),
850
+ tags: z.array(z.string()).optional(),
851
+ additionalText: z.string().optional(),
852
+ supportingValues: supportingValuesSchema.optional(),
853
+ inlineAlert: inlineAlertSchema.optional(),
854
+ }),
855
+ );
856
+
857
+ export const booleanSchemaSchema: z.ZodSchema<BooleanSchema> = z.lazy(() =>
858
+ z.object({
859
+ type: z.literal('boolean'),
860
+ autofillProvider: z.string().optional(),
861
+ promoted: z.boolean().optional(),
862
+ refreshFormOnChange: z.boolean().optional(),
863
+ refreshUrl: z.string().optional(),
864
+ refreshFormUrl: z.string().optional(),
865
+ $id: z.string().optional(),
866
+ title: z.string().optional(),
867
+ description: z.string().optional(),
868
+ control: z.string().optional(),
869
+ default: z.boolean().optional(),
870
+ hidden: z.boolean().optional(),
871
+ disabled: z.boolean().optional(),
872
+ icon: iconSchema.optional(),
873
+ image: imageSchema.optional(),
874
+ keywords: z.array(z.string()).optional(),
875
+ summary: summaryProviderSchema.optional(),
876
+ analyticsId: z.string().optional(),
877
+ persistAsync: persistAsyncSchema.optional(),
878
+ refreshStepOnChange: z.boolean().optional(),
879
+ validationAsync: validateAsyncSchema.optional(),
880
+ alert: alertLayoutSchema.optional(),
881
+ autofillKey: z.string().optional(),
882
+ help: helpSchema.optional(),
883
+ onChange: behaviorSchema.optional(),
884
+ media: mediaSchema.optional(),
885
+ tags: z.array(z.string()).optional(),
886
+ additionalText: z.string().optional(),
887
+ supportingValues: supportingValuesSchema.optional(),
888
+ inlineAlert: inlineAlertSchema.optional(),
889
+ }),
890
+ );
891
+
892
+ export const constSchemaSchema: z.ZodSchema<ConstSchema> = z.lazy(() =>
893
+ z.object({
894
+ hidden: z.boolean().optional(),
895
+ control: z.string().optional(),
896
+ promoted: z.boolean().optional(),
897
+ $id: z.string().optional(),
898
+ const: jsonElementSchema,
899
+ title: z.string().optional(),
900
+ description: z.string().optional(),
901
+ icon: iconSchema.optional(),
902
+ image: imageSchema.optional(),
903
+ keywords: z.array(z.string()).optional(),
904
+ summary: summaryProviderSchema.optional(),
905
+ analyticsId: z.string().optional(),
906
+ disabled: z.boolean().optional(),
907
+ media: mediaSchema.optional(),
908
+ alert: alertLayoutSchema.optional(),
909
+ layout: z.array(layoutSchema).optional(),
910
+ tags: z.array(z.string()).optional(),
911
+ additionalText: z.string().optional(),
912
+ supportingValues: supportingValuesSchema.optional(),
913
+ inlineAlert: inlineAlertSchema.optional(),
914
+ }),
915
+ );
916
+
917
+ export const dateSchemaSchema: z.ZodSchema<DateSchema> = z.lazy(() =>
918
+ z.object({
919
+ type: z.literal('date'),
920
+ icon: iconSchema.optional(),
921
+ image: imageSchema.optional(),
922
+ placeholder: z.string().optional(),
923
+ minimum: z.string().optional(),
924
+ maximum: z.string().optional(),
925
+ availability: dateAvailabilitySchema.optional(),
926
+ $id: z.string().optional(),
927
+ title: z.string().optional(),
928
+ description: z.string().optional(),
929
+ control: z.string().optional(),
930
+ default: z.string().optional(),
931
+ hidden: z.boolean().optional(),
932
+ disabled: z.boolean().optional(),
933
+ keywords: z.array(z.string()).optional(),
934
+ summary: summaryProviderSchema.optional(),
935
+ analyticsId: z.string().optional(),
936
+ persistAsync: persistAsyncSchema.optional(),
937
+ refreshStepOnChange: z.boolean().optional(),
938
+ validationAsync: validateAsyncSchema.optional(),
939
+ validationMessages: z.record(z.string()).optional(),
940
+ autocompleteHint: z.array(autocompleteTokenSchema).optional(),
941
+ help: helpSchema.optional(),
942
+ suggestions: suggestionsSchema.optional(),
943
+ onChange: behaviorSchema.optional(),
944
+ media: mediaSchema.optional(),
945
+ tags: z.array(z.string()).optional(),
946
+ additionalText: z.string().optional(),
947
+ supportingValues: supportingValuesSchema.optional(),
948
+ alert: alertLayoutSchema.optional(),
949
+ inlineAlert: inlineAlertSchema.optional(),
950
+ }),
951
+ );
952
+
953
+ export const integerSchemaSchema: z.ZodSchema<IntegerSchema> = z.lazy(() =>
954
+ z.object({
955
+ type: z.literal('integer'),
956
+ autofillProvider: z.string().optional(),
957
+ promoted: z.boolean().optional(),
958
+ refreshFormOnChange: z.boolean().optional(),
959
+ refreshUrl: z.string().optional(),
960
+ refreshFormUrl: z.string().optional(),
961
+ placeholder: z.string().optional(),
962
+ minimum: z.number().optional(),
963
+ maximum: z.number().optional(),
964
+ $id: z.string().optional(),
965
+ title: z.string().optional(),
966
+ description: z.string().optional(),
967
+ control: z.string().optional(),
968
+ default: z.number().optional(),
969
+ hidden: z.boolean().optional(),
970
+ disabled: z.boolean().optional(),
971
+ icon: iconSchema.optional(),
972
+ image: imageSchema.optional(),
973
+ keywords: z.array(z.string()).optional(),
974
+ summary: summaryProviderSchema.optional(),
975
+ analyticsId: z.string().optional(),
976
+ persistAsync: persistAsyncSchema.optional(),
977
+ refreshStepOnChange: z.boolean().optional(),
978
+ validationAsync: validateAsyncSchema.optional(),
979
+ validationMessages: z.record(z.string()).optional(),
980
+ alert: alertLayoutSchema.optional(),
981
+ autocompleteHint: z.array(autocompleteTokenSchema).optional(),
982
+ autofillKey: z.string().optional(),
983
+ help: helpSchema.optional(),
984
+ onChange: behaviorSchema.optional(),
985
+ media: mediaSchema.optional(),
986
+ tags: z.array(z.string()).optional(),
987
+ additionalText: z.string().optional(),
988
+ supportingValues: supportingValuesSchema.optional(),
989
+ inlineAlert: inlineAlertSchema.optional(),
990
+ }),
991
+ );
992
+
993
+ export const numberSchemaSchema: z.ZodSchema<NumberSchema> = z.lazy(() =>
994
+ z.object({
995
+ type: z.literal('number'),
996
+ autofillProvider: z.string().optional(),
997
+ promoted: z.boolean().optional(),
998
+ refreshFormOnChange: z.boolean().optional(),
999
+ refreshUrl: z.string().optional(),
1000
+ refreshFormUrl: z.string().optional(),
1001
+ placeholder: z.string().optional(),
1002
+ minimum: z.number().optional(),
1003
+ maximum: z.number().optional(),
1004
+ $id: z.string().optional(),
1005
+ title: z.string().optional(),
1006
+ description: z.string().optional(),
1007
+ control: z.string().optional(),
1008
+ default: z.number().optional(),
1009
+ hidden: z.boolean().optional(),
1010
+ disabled: z.boolean().optional(),
1011
+ icon: iconSchema.optional(),
1012
+ image: imageSchema.optional(),
1013
+ keywords: z.array(z.string()).optional(),
1014
+ summary: summaryProviderSchema.optional(),
1015
+ analyticsId: z.string().optional(),
1016
+ persistAsync: persistAsyncSchema.optional(),
1017
+ refreshStepOnChange: z.boolean().optional(),
1018
+ validationAsync: validateAsyncSchema.optional(),
1019
+ validationMessages: z.record(z.string()).optional(),
1020
+ alert: alertLayoutSchema.optional(),
1021
+ autocompleteHint: z.array(autocompleteTokenSchema).optional(),
1022
+ autofillKey: z.string().optional(),
1023
+ help: helpSchema.optional(),
1024
+ onChange: behaviorSchema.optional(),
1025
+ media: mediaSchema.optional(),
1026
+ tags: z.array(z.string()).optional(),
1027
+ additionalText: z.string().optional(),
1028
+ supportingValues: supportingValuesSchema.optional(),
1029
+ inlineAlert: inlineAlertSchema.optional(),
1030
+ }),
1031
+ );
1032
+
1033
+ export const oneOfSchemaSchema: z.ZodSchema<OneOfSchema> = z.lazy(() =>
1034
+ z.object({
1035
+ autofillProvider: z.string().optional(),
1036
+ promoted: z.boolean().optional(),
1037
+ refreshFormOnChange: z.boolean().optional(),
1038
+ refreshUrl: z.string().optional(),
1039
+ refreshFormUrl: z.string().optional(),
1040
+ promotion: jsonElementSchema.optional(),
1041
+ oneOf: z.array(schemaSchema),
1042
+ placeholder: z.string().optional(),
1043
+ $id: z.string().optional(),
1044
+ title: z.string().optional(),
1045
+ description: z.string().optional(),
1046
+ control: z.string().optional(),
1047
+ default: jsonElementSchema.optional(),
1048
+ hidden: z.boolean().optional(),
1049
+ icon: iconSchema.optional(),
1050
+ image: imageSchema.optional(),
1051
+ keywords: z.array(z.string()).optional(),
1052
+ summary: summaryProviderSchema.optional(),
1053
+ analyticsId: z.string().optional(),
1054
+ refreshStepOnChange: z.boolean().optional(),
1055
+ alert: alertLayoutSchema.optional(),
1056
+ help: helpSchema.optional(),
1057
+ autocompleteHint: z.array(autocompleteTokenSchema).optional(),
1058
+ autofillKey: z.string().optional(),
1059
+ validationMessages: z.record(z.string()).optional(),
1060
+ disabled: z.boolean().optional(),
1061
+ onChange: behaviorSchema.optional(),
1062
+ media: mediaSchema.optional(),
1063
+ tags: z.array(z.string()).optional(),
1064
+ additionalText: z.string().optional(),
1065
+ supportingValues: supportingValuesSchema.optional(),
1066
+ inlineAlert: inlineAlertSchema.optional(),
1067
+ }),
1068
+ );
1069
+
1070
+ export const stringSchemaSchema: z.ZodSchema<StringSchema> = z.lazy(() =>
1071
+ z.object({
1072
+ type: z.literal('string'),
1073
+ autofillProvider: z.string().optional(),
1074
+ promoted: z.boolean().optional(),
1075
+ refreshFormOnChange: z.boolean().optional(),
1076
+ refreshUrl: z.string().optional(),
1077
+ refreshFormUrl: z.string().optional(),
1078
+ format: stringSchemaFormatSchema.optional(),
1079
+ displayFormat: z.string().optional(),
1080
+ placeholder: z.string().optional(),
1081
+ minLength: z.number().optional(),
1082
+ maxLength: z.number().optional(),
1083
+ minimum: z.string().optional(),
1084
+ maximum: z.string().optional(),
1085
+ pattern: z.string().optional(),
1086
+ autocapitalization: autocapitalizationTypeSchema.optional(),
1087
+ autocorrect: z.boolean().optional(),
1088
+ $id: z.string().optional(),
1089
+ title: z.string().optional(),
1090
+ description: z.string().optional(),
1091
+ control: z.string().optional(),
1092
+ default: z.string().optional(),
1093
+ hidden: z.boolean().optional(),
1094
+ disabled: z.boolean().optional(),
1095
+ icon: iconSchema.optional(),
1096
+ image: imageSchema.optional(),
1097
+ keywords: z.array(z.string()).optional(),
1098
+ summary: summaryProviderSchema.optional(),
1099
+ analyticsId: z.string().optional(),
1100
+ persistAsync: persistAsyncSchema.optional(),
1101
+ refreshStepOnChange: z.boolean().optional(),
1102
+ validationAsync: validateAsyncSchema.optional(),
1103
+ validationMessages: z.record(z.string()).optional(),
1104
+ alert: alertLayoutSchema.optional(),
1105
+ cameraConfig: jsonElementSchema.optional(),
1106
+ accepts: z.array(z.string()).optional(),
1107
+ maxSize: z.number().optional(),
1108
+ source: uploadSourceSchema.optional(),
1109
+ autocompleteHint: z.array(autocompleteTokenSchema).optional(),
1110
+ autofillKey: z.string().optional(),
1111
+ help: helpSchema.optional(),
1112
+ suggestions: suggestionsSchema.optional(),
1113
+ onChange: behaviorSchema.optional(),
1114
+ media: mediaSchema.optional(),
1115
+ tags: z.array(z.string()).optional(),
1116
+ additionalText: z.string().optional(),
1117
+ supportingValues: supportingValuesSchema.optional(),
1118
+ inlineAlert: inlineAlertSchema.optional(),
1119
+ }),
1120
+ );
1121
+
1122
+ export const arraySchemaListSchema: z.ZodSchema<ArraySchemaList> = z.lazy(() =>
1123
+ z.object({
1124
+ type: z.literal('array'),
1125
+ promoted: z.boolean().optional(),
1126
+ $id: z.string().optional(),
1127
+ items: schemaSchema,
1128
+ addItemTitle: z.string(),
1129
+ editItemTitle: z.string(),
1130
+ minItems: z.number().optional(),
1131
+ maxItems: z.number().optional(),
1132
+ placeholder: z.string().optional(),
1133
+ title: z.string().optional(),
1134
+ description: z.string().optional(),
1135
+ control: z.string().optional(),
1136
+ hidden: z.boolean().optional(),
1137
+ icon: iconSchema.optional(),
1138
+ image: imageSchema.optional(),
1139
+ keywords: z.array(z.string()).optional(),
1140
+ summary: summarySummariserSchema.optional(),
1141
+ analyticsId: z.string().optional(),
1142
+ persistAsync: persistAsyncSchema.optional(),
1143
+ validationAsync: validateAsyncSchema.optional(),
1144
+ alert: alertLayoutSchema.optional(),
1145
+ validationMessages: z.record(z.string()).optional(),
1146
+ disabled: z.boolean().optional(),
1147
+ media: mediaSchema.optional(),
1148
+ tags: z.array(z.string()).optional(),
1149
+ additionalText: z.string().optional(),
1150
+ supportingValues: supportingValuesSchema.optional(),
1151
+ inlineAlert: inlineAlertSchema.optional(),
1152
+ }),
1153
+ );
722
1154
 
723
- export const modalResponseBodySchema: z.ZodSchema<ModalResponseBody> = z.lazy(() =>
1155
+ export const arraySchemaTupleSchema: z.ZodSchema<ArraySchemaTuple> = z.lazy(() =>
724
1156
  z.object({
1157
+ type: z.literal('array'),
1158
+ promoted: z.boolean().optional(),
1159
+ $id: z.string().optional(),
1160
+ items: z.array(schemaSchema),
725
1161
  title: z.string().optional(),
726
- content: z.array(layoutSchema),
1162
+ description: z.string().optional(),
1163
+ control: z.string().optional(),
1164
+ hidden: z.boolean().optional(),
1165
+ icon: iconSchema.optional(),
1166
+ image: imageSchema.optional(),
1167
+ keywords: z.array(z.string()).optional(),
1168
+ summary: summaryProviderSchema.optional(),
1169
+ analyticsId: z.string().optional(),
1170
+ persistAsync: persistAsyncSchema.optional(),
1171
+ validationAsync: validateAsyncSchema.optional(),
1172
+ alert: alertLayoutSchema.optional(),
1173
+ media: mediaSchema.optional(),
1174
+ tags: z.array(z.string()).optional(),
1175
+ additionalText: z.string().optional(),
1176
+ supportingValues: supportingValuesSchema.optional(),
1177
+ inlineAlert: inlineAlertSchema.optional(),
1178
+ }),
1179
+ );
1180
+
1181
+ export const persistAsyncSchema: z.ZodSchema<PersistAsync> = z.lazy(() =>
1182
+ z.object({
1183
+ param: z.string(),
1184
+ idProperty: z.string(),
1185
+ schema: schemaSchema,
1186
+ url: z.string(),
1187
+ method: httpMethodSchema,
727
1188
  }),
728
1189
  );
729
1190
 
@@ -758,68 +1219,7 @@ export const layoutSchema: z.ZodSchema<Layout> = z.lazy(() =>
758
1219
  ]),
759
1220
  );
760
1221
 
761
- export const subflowResponseBodySchema: z.ZodSchema<SubflowResponseBody> = z.lazy(() =>
762
- z.object({
763
- referrerId: z.string(),
764
- launchConfig: launchConfigSchema,
765
- resultKey: z.string().optional(),
766
- onCompletion: behaviorSchema.optional(),
767
- onError: behaviorSchema.optional(),
768
- }),
769
- );
770
-
771
- export const behaviorSchema: z.ZodSchema<Behavior> = z.lazy(() =>
772
- z.union([
773
- actionBehaviorSchema,
774
- containerBehaviorSchema,
775
- copyBehaviorSchema,
776
- delayBehaviorSchema,
777
- dismissBehaviorSchema,
778
- dispatchEventBehaviorSchema,
779
- downloadBehaviorSchema,
780
- linkBehaviorSchema,
781
- modalBehaviorSchema,
782
- refreshBehaviorSchema,
783
- subflowBehaviorSchema,
784
- ]),
785
- );
786
-
787
- export const searchInitialLayoutConfigSchema: z.ZodSchema<SearchInitialLayoutConfig> = z.lazy(() =>
788
- z.object({
789
- type: z.literal('layout'),
790
- content: z.array(layoutSchema),
791
- }),
792
- );
793
-
794
- export const searchLayoutResponseBodySchema: z.ZodSchema<SearchLayoutResponseBody> = z.lazy(() =>
795
- z.object({
796
- type: z.literal('layout'),
797
- content: z.array(layoutSchema),
798
- }),
799
- );
800
-
801
- export const searchResponseSchema: z.ZodSchema<SearchResponse> = z.lazy(() =>
802
- z.union([searchLayoutResponseBodySchema, searchResultsResponseBodySchema]),
803
- );
804
-
805
- export const searchInitialStateSchema: z.ZodSchema<SearchInitialState> = z.lazy(() =>
806
- z.union([searchInitialLayoutConfigSchema, searchInitialResultsConfigSchema]),
807
- );
808
-
809
- export const boxLayoutSchema: z.ZodSchema<BoxLayout> = z.lazy(() =>
810
- z.object({
811
- type: z.literal('box'),
812
- components: z.array(layoutSchema),
813
- width: sizeSchema.optional(),
814
- border: z.boolean().optional(),
815
- control: z.string().optional(),
816
- margin: sizeSchema.optional(),
817
- analyticsId: z.string().optional(),
818
- tags: z.array(z.string()).optional(),
819
- }),
820
- );
821
-
822
- export const listLayoutCallToActionSchema: z.ZodSchema<ListLayoutCallToAction> = z.lazy(() =>
1222
+ export const alertLayoutCallToActionSchema: z.ZodSchema<AlertLayoutCallToAction> = z.lazy(() =>
823
1223
  z.object({
824
1224
  title: z.string(),
825
1225
  accessibilityDescription: z.string().optional(),
@@ -828,31 +1228,14 @@ export const listLayoutCallToActionSchema: z.ZodSchema<ListLayoutCallToAction> =
828
1228
  }),
829
1229
  );
830
1230
 
831
- export const statusListLayoutItemCallToActionSchema: z.ZodSchema<StatusListLayoutItemCallToAction> =
832
- z.lazy(() =>
833
- z.object({
834
- title: z.string(),
835
- accessibilityDescription: z.string().optional(),
836
- behavior: behaviorSchema,
837
- context: contextSchema.optional(),
838
- }),
839
- );
840
-
841
- export const upsellLayoutSchema: z.ZodSchema<UpsellLayout> = z.lazy(() =>
1231
+ export const modalLayoutContentSchema: z.ZodSchema<ModalLayoutContent> = z.lazy(() =>
842
1232
  z.object({
843
- type: z.literal('upsell'),
844
- text: z.string(),
845
- callToAction: upsellLayoutCallToActionSchema,
846
- media: mediaSchema.optional(),
847
- onDismiss: requestSchema.optional(),
848
- control: z.string().optional(),
849
- margin: sizeSchema.optional(),
850
- analyticsId: z.string().optional(),
851
- tags: z.array(z.string()).optional(),
1233
+ title: z.string().optional(),
1234
+ components: z.array(layoutSchema),
852
1235
  }),
853
1236
  );
854
1237
 
855
- export const upsellLayoutCallToActionSchema: z.ZodSchema<UpsellLayoutCallToAction> = z.lazy(() =>
1238
+ export const listLayoutCallToActionSchema: z.ZodSchema<ListLayoutCallToAction> = z.lazy(() =>
856
1239
  z.object({
857
1240
  title: z.string(),
858
1241
  accessibilityDescription: z.string().optional(),
@@ -861,54 +1244,32 @@ export const upsellLayoutCallToActionSchema: z.ZodSchema<UpsellLayoutCallToActio
861
1244
  }),
862
1245
  );
863
1246
 
864
- export const updatableLayoutSchema: z.ZodSchema<UpdatableLayout> = z.lazy(() =>
1247
+ export const collectionLayoutItemSchema: z.ZodSchema<CollectionLayoutItem> = z.lazy(() =>
865
1248
  z.object({
866
- type: z.literal('updatable'),
867
- baseRequest: requestSchema,
868
- trigger: updatableLayoutTriggerSchema,
869
- initialState: updatableLayoutStateSchema.optional(),
870
- onError: updatableLayoutErrorHandlerSchema.optional(),
871
- control: z.string().optional(),
872
- margin: sizeSchema.optional(),
1249
+ entityId: z.string(),
1250
+ title: z.string(),
1251
+ description: z.string().optional(),
1252
+ disabled: z.boolean().optional(),
1253
+ primaryBehavior: behaviorSchema.optional(),
1254
+ callToAction: collectionLayoutCallToActionSchema.optional(),
1255
+ additionalInfo: additionalInfoSchema.optional(),
1256
+ supportingValues: supportingValuesSchema.optional(),
1257
+ inlineAlert: inlineAlertSchema.optional(),
1258
+ media: mediaSchema.optional(),
873
1259
  analyticsId: z.string().optional(),
874
1260
  tags: z.array(z.string()).optional(),
875
1261
  }),
876
1262
  );
877
1263
 
878
- export const updatableLayoutStateSchema: z.ZodSchema<UpdatableLayoutState> = z.lazy(() =>
879
- z.object({
880
- components: z.array(layoutSchema).optional(),
881
- }),
882
- );
883
-
884
- export const updatableLayoutErrorHandlerSchema: z.ZodSchema<UpdatableLayoutErrorHandler> = z.lazy(
1264
+ export const collectionLayoutCallToActionSchema: z.ZodSchema<CollectionLayoutCallToAction> = z.lazy(
885
1265
  () =>
886
1266
  z.object({
887
- fallbackLayout: z.array(layoutSchema).optional(),
1267
+ title: z.string(),
1268
+ accessibilityDescription: z.string().optional(),
1269
+ behavior: behaviorSchema,
888
1270
  }),
889
1271
  );
890
1272
 
891
- export const listLayoutItemSchema: z.ZodSchema<ListLayoutItem> = z.lazy(() =>
892
- z.object({
893
- status: listLayoutStatusSchema.optional(),
894
- icon: iconSchema.optional(),
895
- image: imageSchema.optional(),
896
- title: z.string().optional(),
897
- subtitle: z.string().optional(),
898
- value: z.string().optional(),
899
- subvalue: z.string().optional(),
900
- tag: z.string().optional(),
901
- additionalInfo: additionalInfoSchema.optional(),
902
- supportingValues: supportingValuesSchema.optional(),
903
- inlineAlert: inlineAlertSchema.optional(),
904
- description: z.string().optional(),
905
- media: mediaSchema.optional(),
906
- analyticsId: z.string().optional(),
907
- tags: z.array(z.string()).optional(),
908
- callToAction: listLayoutCallToActionSchema.optional(),
909
- }),
910
- );
911
-
912
1273
  export const additionalInfoSchema: z.ZodSchema<AdditionalInfo> = z.lazy(() =>
913
1274
  z.object({
914
1275
  text: z.string(),
@@ -917,43 +1278,15 @@ export const additionalInfoSchema: z.ZodSchema<AdditionalInfo> = z.lazy(() =>
917
1278
  }),
918
1279
  );
919
1280
 
920
- export const collectionLayoutSectionSchema: z.ZodSchema<CollectionLayoutSection> = z.lazy(() =>
921
- z.object({
922
- id: z.string(),
923
- items: z.array(collectionLayoutItemSchema),
924
- title: z.string().optional(),
925
- callToAction: collectionLayoutCallToActionSchema.optional(),
926
- help: helpSchema.optional(),
927
- inlineAlert: inlineAlertSchema.optional(),
928
- }),
929
- );
930
-
931
- export const collectionLayoutItemSchema: z.ZodSchema<CollectionLayoutItem> = z.lazy(() =>
1281
+ export const sectionLayoutCallToActionSchema: z.ZodSchema<SectionLayoutCallToAction> = z.lazy(() =>
932
1282
  z.object({
933
- entityId: z.string(),
934
1283
  title: z.string(),
935
- description: z.string().optional(),
936
- disabled: z.boolean().optional(),
937
- primaryBehavior: behaviorSchema.optional(),
938
- callToAction: collectionLayoutCallToActionSchema.optional(),
939
- additionalInfo: additionalInfoSchema.optional(),
940
- supportingValues: supportingValuesSchema.optional(),
941
- inlineAlert: inlineAlertSchema.optional(),
942
- media: mediaSchema.optional(),
943
- analyticsId: z.string().optional(),
944
- tags: z.array(z.string()).optional(),
1284
+ accessibilityDescription: z.string().optional(),
1285
+ behavior: behaviorSchema,
1286
+ context: contextSchema.optional(),
945
1287
  }),
946
1288
  );
947
1289
 
948
- export const collectionLayoutCallToActionSchema: z.ZodSchema<CollectionLayoutCallToAction> = z.lazy(
949
- () =>
950
- z.object({
951
- title: z.string(),
952
- accessibilityDescription: z.string().optional(),
953
- behavior: behaviorSchema,
954
- }),
955
- );
956
-
957
1290
  export const listLayoutSchema: z.ZodSchema<ListLayout> = z.lazy(() =>
958
1291
  z.object({
959
1292
  type: z.literal('list'),
@@ -967,100 +1300,74 @@ export const listLayoutSchema: z.ZodSchema<ListLayout> = z.lazy(() =>
967
1300
  }),
968
1301
  );
969
1302
 
970
- export const statusListLayoutSchema: z.ZodSchema<StatusListLayout> = z.lazy(() =>
1303
+ export const listLayoutItemSchema: z.ZodSchema<ListLayoutItem> = z.lazy(() =>
971
1304
  z.object({
972
- type: z.literal('status-list'),
973
- items: z.array(statusListLayoutItemSchema),
1305
+ status: listLayoutStatusSchema.optional(),
1306
+ icon: iconSchema.optional(),
1307
+ image: imageSchema.optional(),
974
1308
  title: z.string().optional(),
975
- control: z.string().optional(),
976
- margin: sizeSchema.optional(),
977
- analyticsId: z.string().optional(),
978
- tags: z.array(z.string()).optional(),
979
- }),
980
- );
981
-
982
- export const statusListLayoutItemSchema: z.ZodSchema<StatusListLayoutItem> = z.lazy(() =>
983
- z.object({
984
- title: z.string(),
985
- description: z.string().optional(),
986
- icon: iconSchema,
987
- status: statusListLayoutStatusSchema.optional(),
988
- callToAction: statusListLayoutItemCallToActionSchema.optional(),
1309
+ subtitle: z.string().optional(),
1310
+ value: z.string().optional(),
1311
+ subvalue: z.string().optional(),
989
1312
  tag: z.string().optional(),
1313
+ additionalInfo: additionalInfoSchema.optional(),
1314
+ supportingValues: supportingValuesSchema.optional(),
1315
+ inlineAlert: inlineAlertSchema.optional(),
1316
+ description: z.string().optional(),
1317
+ media: mediaSchema.optional(),
990
1318
  analyticsId: z.string().optional(),
991
1319
  tags: z.array(z.string()).optional(),
1320
+ callToAction: listLayoutCallToActionSchema.optional(),
992
1321
  }),
993
1322
  );
994
1323
 
995
- export const alertLayoutSchema: z.ZodSchema<AlertLayout> = z.lazy(() =>
1324
+ export const reviewLayoutFieldSchema: z.ZodSchema<ReviewLayoutField> = z.lazy(() =>
996
1325
  z.object({
997
- type: z.literal('alert'),
998
- markdown: z.string(),
999
- context: contextSchema.optional(),
1000
- control: z.string().optional(),
1001
- margin: sizeSchema.optional(),
1002
- callToAction: alertLayoutCallToActionSchema.optional(),
1326
+ label: z.string(),
1327
+ value: z.string(),
1328
+ rawValue: z.string().optional(),
1329
+ help: helpSchema.optional(),
1330
+ tag: z.string().optional(),
1331
+ icon: iconSchema.optional(),
1332
+ image: imageSchema.optional(),
1333
+ additionalInfo: additionalInfoSchema.optional(),
1334
+ inlineAlert: inlineAlertSchema.optional(),
1335
+ callToAction: reviewLayoutCallToActionSchema.optional(),
1336
+ media: mediaSchema.optional(),
1003
1337
  analyticsId: z.string().optional(),
1004
1338
  tags: z.array(z.string()).optional(),
1005
- title: z.string().optional(),
1006
- media: mediaSchema.optional(),
1007
- onDismiss: requestSchema.optional(),
1008
- secondaryCallToAction: alertLayoutCallToActionSchema.optional(),
1009
1339
  }),
1010
1340
  );
1011
1341
 
1012
- export const alertLayoutCallToActionSchema: z.ZodSchema<AlertLayoutCallToAction> = z.lazy(() =>
1342
+ export const reviewLayoutCallToActionSchema: z.ZodSchema<ReviewLayoutCallToAction> = z.lazy(() =>
1013
1343
  z.object({
1344
+ action: actionSchema.optional(),
1014
1345
  title: z.string(),
1015
1346
  accessibilityDescription: z.string().optional(),
1016
- behavior: behaviorSchema,
1347
+ behavior: behaviorSchema.optional(),
1017
1348
  context: contextSchema.optional(),
1018
1349
  }),
1019
1350
  );
1020
1351
 
1021
- export const decisionLayoutOptionSchema: z.ZodSchema<DecisionLayoutOption> = z.lazy(() =>
1352
+ export const tabsLayoutTabSchema: z.ZodSchema<TabsLayoutTab> = z.lazy(() =>
1022
1353
  z.object({
1023
- action: actionSchema.optional(),
1024
1354
  title: z.string(),
1025
- description: z.string().optional(),
1026
- disabled: z.boolean().optional(),
1027
- icon: iconSchema.optional(),
1028
- image: imageSchema.optional(),
1029
- behavior: behaviorSchema.optional(),
1355
+ components: z.array(layoutSchema),
1030
1356
  tag: z.string().optional(),
1031
- additionalText: z.string().optional(),
1032
- supportingValues: supportingValuesSchema.optional(),
1033
- inlineAlert: inlineAlertSchema.optional(),
1034
- media: mediaSchema.optional(),
1035
1357
  analyticsId: z.string().optional(),
1036
- keywords: z.array(z.string()).optional(),
1037
1358
  tags: z.array(z.string()).optional(),
1038
1359
  }),
1039
1360
  );
1040
1361
 
1041
- export const reviewLayoutCallToActionSchema: z.ZodSchema<ReviewLayoutCallToAction> = z.lazy(() =>
1362
+ export const upsellLayoutCallToActionSchema: z.ZodSchema<UpsellLayoutCallToAction> = z.lazy(() =>
1042
1363
  z.object({
1043
- action: actionSchema.optional(),
1044
1364
  title: z.string(),
1045
1365
  accessibilityDescription: z.string().optional(),
1046
- behavior: behaviorSchema.optional(),
1366
+ behavior: behaviorSchema,
1047
1367
  context: contextSchema.optional(),
1048
1368
  }),
1049
1369
  );
1050
1370
 
1051
- export const columnsLayoutSchema: z.ZodSchema<ColumnsLayout> = z.lazy(() =>
1052
- z.object({
1053
- type: z.literal('columns'),
1054
- left: z.array(layoutSchema),
1055
- right: z.array(layoutSchema),
1056
- bias: columnsLayoutBiasSchema.optional(),
1057
- control: z.string().optional(),
1058
- margin: sizeSchema.optional(),
1059
- analyticsId: z.string().optional(),
1060
- tags: z.array(z.string()).optional(),
1061
- }),
1062
- );
1063
-
1064
1371
  export const searchLayoutSchema: z.ZodSchema<SearchLayout> = z.lazy(() =>
1065
1372
  z.object({
1066
1373
  type: z.literal('search'),
@@ -1078,34 +1385,47 @@ export const searchLayoutSchema: z.ZodSchema<SearchLayout> = z.lazy(() =>
1078
1385
  }),
1079
1386
  );
1080
1387
 
1081
- export const sectionLayoutSchema: z.ZodSchema<SectionLayout> = z.lazy(() =>
1388
+ export const searchInitialStateSchema: z.ZodSchema<SearchInitialState> = z.lazy(() =>
1389
+ z.union([searchInitialLayoutConfigSchema, searchInitialResultsConfigSchema]),
1390
+ );
1391
+
1392
+ export const collectionLayoutStateSchema: z.ZodSchema<CollectionLayoutState> = z.lazy(() =>
1082
1393
  z.object({
1083
- type: z.literal('section'),
1084
- components: z.array(layoutSchema),
1085
- title: z.string(),
1086
- callToAction: sectionLayoutCallToActionSchema.optional(),
1087
- control: z.string().optional(),
1088
- margin: sizeSchema.optional(),
1089
- analyticsId: z.string().optional(),
1090
- tags: z.array(z.string()).optional(),
1091
- shortTitle: z.string().optional(),
1394
+ sections: z.array(collectionLayoutCollectionSectionSchema),
1395
+ nextCursor: z.string().optional(),
1396
+ filters: z.array(collectionLayoutFilterSchema).optional(),
1397
+ beforeSections: z.array(layoutSchema).optional(),
1398
+ afterSections: z.array(layoutSchema).optional(),
1399
+ analytics: z.record(z.string()).optional(),
1400
+ search: collectionLayoutSearchSchema.optional(),
1092
1401
  }),
1093
1402
  );
1094
1403
 
1095
- export const sectionLayoutCallToActionSchema: z.ZodSchema<SectionLayoutCallToAction> = z.lazy(() =>
1404
+ export const collectionLayoutCollectionSectionSchema: z.ZodSchema<CollectionLayoutCollectionSection> =
1405
+ z.lazy(() => z.union([collectionLayoutItemsSectionSchema, collectionLayoutLayoutSectionSchema]));
1406
+
1407
+ export const collectionLayoutSearchSchema: z.ZodSchema<CollectionLayoutSearch> = z.lazy(() =>
1096
1408
  z.object({
1097
- title: z.string(),
1098
- accessibilityDescription: z.string().optional(),
1099
- behavior: behaviorSchema,
1100
- context: contextSchema.optional(),
1409
+ param: z.string(),
1410
+ title: z.string().optional(),
1411
+ hint: z.string().optional(),
1412
+ hints: z.array(z.string()).optional(),
1413
+ help: helpSchema.optional(),
1414
+ initialSections: z.array(collectionLayoutCollectionSectionSchema).optional(),
1101
1415
  }),
1102
1416
  );
1103
1417
 
1104
- export const decisionLayoutSchema: z.ZodSchema<DecisionLayout> = z.lazy(() =>
1418
+ export const updatableLayoutErrorHandlerSchema: z.ZodSchema<UpdatableLayoutErrorHandler> = z.lazy(
1419
+ () =>
1420
+ z.object({
1421
+ fallbackLayout: z.array(layoutSchema).optional(),
1422
+ }),
1423
+ );
1424
+
1425
+ export const tabsLayoutSchema: z.ZodSchema<TabsLayout> = z.lazy(() =>
1105
1426
  z.object({
1106
- type: z.literal('decision'),
1107
- title: z.string().optional(),
1108
- options: z.array(decisionLayoutOptionSchema),
1427
+ type: z.literal('tabs'),
1428
+ tabs: z.array(tabsLayoutTabSchema),
1109
1429
  control: z.string().optional(),
1110
1430
  margin: sizeSchema.optional(),
1111
1431
  analyticsId: z.string().optional(),
@@ -1113,29 +1433,64 @@ export const decisionLayoutSchema: z.ZodSchema<DecisionLayout> = z.lazy(() =>
1113
1433
  }),
1114
1434
  );
1115
1435
 
1116
- export const modalLayoutSchema: z.ZodSchema<ModalLayout> = z.lazy(() =>
1436
+ export const collectionLayoutItemsSectionSchema: z.ZodSchema<CollectionLayoutItemsSection> = z.lazy(
1437
+ () =>
1438
+ z.object({
1439
+ type: z.literal('items'),
1440
+ id: z.string(),
1441
+ items: z.array(collectionLayoutItemSchema),
1442
+ title: z.string().optional(),
1443
+ callToAction: collectionLayoutCallToActionSchema.optional(),
1444
+ help: helpSchema.optional(),
1445
+ inlineAlert: inlineAlertSchema.optional(),
1446
+ }),
1447
+ );
1448
+
1449
+ export const collectionLayoutLayoutSectionSchema: z.ZodSchema<CollectionLayoutLayoutSection> =
1450
+ z.lazy(() =>
1451
+ z.object({
1452
+ type: z.literal('layout'),
1453
+ id: z.string(),
1454
+ components: z.array(layoutSchema),
1455
+ title: z.string().optional(),
1456
+ callToAction: collectionLayoutCallToActionSchema.optional(),
1457
+ help: helpSchema.optional(),
1458
+ inlineAlert: inlineAlertSchema.optional(),
1459
+ }),
1460
+ );
1461
+
1462
+ export const columnsLayoutSchema: z.ZodSchema<ColumnsLayout> = z.lazy(() =>
1117
1463
  z.object({
1118
- type: z.literal('modal'),
1464
+ type: z.literal('columns'),
1465
+ left: z.array(layoutSchema),
1466
+ right: z.array(layoutSchema),
1467
+ bias: columnsLayoutBiasSchema.optional(),
1119
1468
  control: z.string().optional(),
1120
1469
  margin: sizeSchema.optional(),
1121
- trigger: modalLayoutTriggerSchema,
1122
- content: modalLayoutContentSchema,
1123
1470
  analyticsId: z.string().optional(),
1124
1471
  tags: z.array(z.string()).optional(),
1125
1472
  }),
1126
1473
  );
1127
1474
 
1128
- export const modalLayoutContentSchema: z.ZodSchema<ModalLayoutContent> = z.lazy(() =>
1475
+ export const statusListLayoutSchema: z.ZodSchema<StatusListLayout> = z.lazy(() =>
1129
1476
  z.object({
1477
+ type: z.literal('status-list'),
1478
+ items: z.array(statusListLayoutItemSchema),
1130
1479
  title: z.string().optional(),
1131
- components: z.array(layoutSchema),
1480
+ control: z.string().optional(),
1481
+ margin: sizeSchema.optional(),
1482
+ analyticsId: z.string().optional(),
1483
+ tags: z.array(z.string()).optional(),
1132
1484
  }),
1133
1485
  );
1134
1486
 
1135
- export const tabsLayoutTabSchema: z.ZodSchema<TabsLayoutTab> = z.lazy(() =>
1487
+ export const statusListLayoutItemSchema: z.ZodSchema<StatusListLayoutItem> = z.lazy(() =>
1136
1488
  z.object({
1137
1489
  title: z.string(),
1138
- components: z.array(layoutSchema),
1490
+ description: z.string().optional(),
1491
+ icon: iconSchema,
1492
+ status: statusListLayoutStatusSchema.optional(),
1493
+ callToAction: statusListLayoutItemCallToActionSchema.optional(),
1139
1494
  tag: z.string().optional(),
1140
1495
  analyticsId: z.string().optional(),
1141
1496
  tags: z.array(z.string()).optional(),
@@ -1157,39 +1512,36 @@ export const reviewLayoutSchema: z.ZodSchema<ReviewLayout> = z.lazy(() =>
1157
1512
  }),
1158
1513
  );
1159
1514
 
1160
- export const reviewLayoutFieldSchema: z.ZodSchema<ReviewLayoutField> = z.lazy(() =>
1515
+ export const boxLayoutSchema: z.ZodSchema<BoxLayout> = z.lazy(() =>
1161
1516
  z.object({
1162
- label: z.string(),
1163
- value: z.string(),
1164
- rawValue: z.string().optional(),
1165
- help: helpSchema.optional(),
1166
- tag: z.string().optional(),
1167
- icon: iconSchema.optional(),
1168
- image: imageSchema.optional(),
1169
- additionalInfo: additionalInfoSchema.optional(),
1170
- inlineAlert: inlineAlertSchema.optional(),
1171
- callToAction: reviewLayoutCallToActionSchema.optional(),
1172
- media: mediaSchema.optional(),
1517
+ type: z.literal('box'),
1518
+ components: z.array(layoutSchema),
1519
+ width: sizeSchema.optional(),
1520
+ border: z.boolean().optional(),
1521
+ control: z.string().optional(),
1522
+ margin: sizeSchema.optional(),
1173
1523
  analyticsId: z.string().optional(),
1174
1524
  tags: z.array(z.string()).optional(),
1175
1525
  }),
1176
1526
  );
1177
1527
 
1178
- export const buttonLayoutSchema: z.ZodSchema<ButtonLayout> = z.lazy(() =>
1528
+ export const decisionLayoutOptionSchema: z.ZodSchema<DecisionLayoutOption> = z.lazy(() =>
1179
1529
  z.object({
1180
- type: z.literal('button'),
1181
1530
  action: actionSchema.optional(),
1182
- size: sizeSchema.optional(),
1183
- title: z.string().optional(),
1184
- behavior: behaviorSchema.optional(),
1185
- context: contextSchema.optional(),
1531
+ title: z.string(),
1532
+ description: z.string().optional(),
1186
1533
  disabled: z.boolean().optional(),
1187
- pinOrder: z.number().optional(),
1188
- control: z.string().optional(),
1189
- margin: sizeSchema.optional(),
1534
+ icon: iconSchema.optional(),
1535
+ image: imageSchema.optional(),
1536
+ behavior: behaviorSchema.optional(),
1537
+ tag: z.string().optional(),
1538
+ additionalText: z.string().optional(),
1539
+ supportingValues: supportingValuesSchema.optional(),
1540
+ inlineAlert: inlineAlertSchema.optional(),
1541
+ media: mediaSchema.optional(),
1190
1542
  analyticsId: z.string().optional(),
1543
+ keywords: z.array(z.string()).optional(),
1191
1544
  tags: z.array(z.string()).optional(),
1192
- media: mediaSchema.optional(),
1193
1545
  }),
1194
1546
  );
1195
1547
 
@@ -1206,463 +1558,199 @@ export const collectionLayoutSchema: z.ZodSchema<CollectionLayout> = z.lazy(() =
1206
1558
  }),
1207
1559
  );
1208
1560
 
1209
- export const tabsLayoutSchema: z.ZodSchema<TabsLayout> = z.lazy(() =>
1561
+ export const sectionLayoutSchema: z.ZodSchema<SectionLayout> = z.lazy(() =>
1210
1562
  z.object({
1211
- type: z.literal('tabs'),
1212
- tabs: z.array(tabsLayoutTabSchema),
1563
+ type: z.literal('section'),
1564
+ components: z.array(layoutSchema),
1565
+ title: z.string(),
1566
+ callToAction: sectionLayoutCallToActionSchema.optional(),
1213
1567
  control: z.string().optional(),
1214
1568
  margin: sizeSchema.optional(),
1215
1569
  analyticsId: z.string().optional(),
1216
1570
  tags: z.array(z.string()).optional(),
1571
+ shortTitle: z.string().optional(),
1217
1572
  }),
1218
1573
  );
1219
1574
 
1220
- export const collectionLayoutStateSchema: z.ZodSchema<CollectionLayoutState> = z.lazy(() =>
1221
- z.object({
1222
- sections: z.array(collectionLayoutSectionSchema),
1223
- nextCursor: z.string().optional(),
1224
- filters: z.array(collectionLayoutFilterSchema).optional(),
1225
- beforeSections: z.array(layoutSchema).optional(),
1226
- afterSections: z.array(layoutSchema).optional(),
1227
- analytics: z.record(z.string()).optional(),
1228
- }),
1229
- );
1230
-
1231
- export const objectSchemaSchema: z.ZodSchema<ObjectSchema> = z.lazy(() =>
1575
+ export const upsellLayoutSchema: z.ZodSchema<UpsellLayout> = z.lazy(() =>
1232
1576
  z.object({
1233
- type: z.literal('object'),
1234
- disabled: z.boolean().optional(),
1235
- promoted: z.boolean().optional(),
1236
- help: helpSchema.optional(),
1237
- properties: z.record(schemaSchema),
1238
- displayOrder: z.array(z.string()),
1239
- required: z.array(z.string()).optional(),
1240
- $id: z.string().optional(),
1241
- title: z.string().optional(),
1242
- description: z.string().optional(),
1577
+ type: z.literal('upsell'),
1578
+ text: z.string(),
1579
+ callToAction: upsellLayoutCallToActionSchema,
1580
+ media: mediaSchema.optional(),
1581
+ onDismiss: requestSchema.optional(),
1243
1582
  control: z.string().optional(),
1244
- hidden: z.boolean().optional(),
1245
- icon: iconSchema.optional(),
1246
- image: imageSchema.optional(),
1247
- keywords: z.array(z.string()).optional(),
1248
- summary: summaryProviderSchema.optional(),
1583
+ margin: sizeSchema.optional(),
1249
1584
  analyticsId: z.string().optional(),
1250
- alert: alertLayoutSchema.optional(),
1251
- media: mediaSchema.optional(),
1252
1585
  tags: z.array(z.string()).optional(),
1253
- format: z.string().optional(),
1254
- additionalText: z.string().optional(),
1255
- supportingValues: supportingValuesSchema.optional(),
1256
- inlineAlert: inlineAlertSchema.optional(),
1257
- onChange: behaviorSchema.optional(),
1258
1586
  }),
1259
1587
  );
1260
1588
 
1261
- export const schemaSchema: z.ZodSchema<Schema> = z.lazy(() =>
1262
- z.union([
1263
- allOfSchemaSchema,
1264
- arraySchemaSchema,
1265
- blobSchemaSchema,
1266
- booleanSchemaSchema,
1267
- constSchemaSchema,
1268
- dateSchemaSchema,
1269
- integerSchemaSchema,
1270
- numberSchemaSchema,
1271
- objectSchemaSchema,
1272
- oneOfSchemaSchema,
1273
- stringSchemaSchema,
1274
- ]),
1589
+ export const updatableLayoutStateSchema: z.ZodSchema<UpdatableLayoutState> = z.lazy(() =>
1590
+ z.object({
1591
+ components: z.array(layoutSchema).optional(),
1592
+ }),
1275
1593
  );
1276
1594
 
1277
- export const oneOfSchemaSchema: z.ZodSchema<OneOfSchema> = z.lazy(() =>
1595
+ export const statusListLayoutItemCallToActionSchema: z.ZodSchema<StatusListLayoutItemCallToAction> =
1596
+ z.lazy(() =>
1597
+ z.object({
1598
+ title: z.string(),
1599
+ accessibilityDescription: z.string().optional(),
1600
+ behavior: behaviorSchema,
1601
+ context: contextSchema.optional(),
1602
+ }),
1603
+ );
1604
+
1605
+ export const modalLayoutSchema: z.ZodSchema<ModalLayout> = z.lazy(() =>
1278
1606
  z.object({
1279
- autofillProvider: z.string().optional(),
1280
- promoted: z.boolean().optional(),
1281
- refreshFormOnChange: z.boolean().optional(),
1282
- refreshUrl: z.string().optional(),
1283
- refreshFormUrl: z.string().optional(),
1284
- promotion: jsonElementSchema.optional(),
1285
- oneOf: z.array(schemaSchema),
1286
- placeholder: z.string().optional(),
1287
- $id: z.string().optional(),
1288
- title: z.string().optional(),
1289
- description: z.string().optional(),
1607
+ type: z.literal('modal'),
1290
1608
  control: z.string().optional(),
1291
- default: jsonElementSchema.optional(),
1292
- hidden: z.boolean().optional(),
1293
- icon: iconSchema.optional(),
1294
- image: imageSchema.optional(),
1295
- keywords: z.array(z.string()).optional(),
1296
- summary: summaryProviderSchema.optional(),
1609
+ margin: sizeSchema.optional(),
1610
+ trigger: modalLayoutTriggerSchema,
1611
+ content: modalLayoutContentSchema,
1297
1612
  analyticsId: z.string().optional(),
1298
- refreshStepOnChange: z.boolean().optional(),
1299
- alert: alertLayoutSchema.optional(),
1300
- help: helpSchema.optional(),
1301
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
1302
- autofillKey: z.string().optional(),
1303
- validationMessages: z.record(z.string()).optional(),
1304
- disabled: z.boolean().optional(),
1305
- onChange: behaviorSchema.optional(),
1306
- media: mediaSchema.optional(),
1307
1613
  tags: z.array(z.string()).optional(),
1308
- additionalText: z.string().optional(),
1309
- supportingValues: supportingValuesSchema.optional(),
1310
- inlineAlert: inlineAlertSchema.optional(),
1311
1614
  }),
1312
1615
  );
1313
1616
 
1314
- export const integerSchemaSchema: z.ZodSchema<IntegerSchema> = z.lazy(() =>
1617
+ export const buttonLayoutSchema: z.ZodSchema<ButtonLayout> = z.lazy(() =>
1315
1618
  z.object({
1316
- type: z.literal('integer'),
1317
- autofillProvider: z.string().optional(),
1318
- promoted: z.boolean().optional(),
1319
- refreshFormOnChange: z.boolean().optional(),
1320
- refreshUrl: z.string().optional(),
1321
- refreshFormUrl: z.string().optional(),
1322
- placeholder: z.string().optional(),
1323
- minimum: z.number().optional(),
1324
- maximum: z.number().optional(),
1325
- $id: z.string().optional(),
1619
+ type: z.literal('button'),
1620
+ action: actionSchema.optional(),
1621
+ size: sizeSchema.optional(),
1326
1622
  title: z.string().optional(),
1327
- description: z.string().optional(),
1328
- control: z.string().optional(),
1329
- default: z.number().optional(),
1330
- hidden: z.boolean().optional(),
1623
+ behavior: behaviorSchema.optional(),
1624
+ context: contextSchema.optional(),
1331
1625
  disabled: z.boolean().optional(),
1332
- icon: iconSchema.optional(),
1333
- image: imageSchema.optional(),
1334
- keywords: z.array(z.string()).optional(),
1335
- summary: summaryProviderSchema.optional(),
1626
+ pinOrder: z.number().optional(),
1627
+ control: z.string().optional(),
1628
+ margin: sizeSchema.optional(),
1336
1629
  analyticsId: z.string().optional(),
1337
- persistAsync: persistAsyncSchema.optional(),
1338
- refreshStepOnChange: z.boolean().optional(),
1339
- validationAsync: validateAsyncSchema.optional(),
1340
- validationMessages: z.record(z.string()).optional(),
1341
- alert: alertLayoutSchema.optional(),
1342
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
1343
- autofillKey: z.string().optional(),
1344
- help: helpSchema.optional(),
1345
- onChange: behaviorSchema.optional(),
1346
- media: mediaSchema.optional(),
1347
1630
  tags: z.array(z.string()).optional(),
1348
- additionalText: z.string().optional(),
1349
- supportingValues: supportingValuesSchema.optional(),
1350
- inlineAlert: inlineAlertSchema.optional(),
1351
- }),
1352
- );
1353
-
1354
- export const persistAsyncSchema: z.ZodSchema<PersistAsync> = z.lazy(() =>
1355
- z.object({
1356
- param: z.string(),
1357
- idProperty: z.string(),
1358
- schema: schemaSchema,
1359
- url: z.string(),
1360
- method: httpMethodSchema,
1631
+ media: mediaSchema.optional(),
1361
1632
  }),
1362
1633
  );
1363
1634
 
1364
- export const constSchemaSchema: z.ZodSchema<ConstSchema> = z.lazy(() =>
1635
+ export const updatableLayoutSchema: z.ZodSchema<UpdatableLayout> = z.lazy(() =>
1365
1636
  z.object({
1366
- hidden: z.boolean().optional(),
1637
+ type: z.literal('updatable'),
1638
+ baseRequest: requestSchema,
1639
+ trigger: updatableLayoutTriggerSchema,
1640
+ initialState: updatableLayoutStateSchema.optional(),
1641
+ onError: updatableLayoutErrorHandlerSchema.optional(),
1367
1642
  control: z.string().optional(),
1368
- promoted: z.boolean().optional(),
1369
- $id: z.string().optional(),
1370
- const: jsonElementSchema,
1371
- title: z.string().optional(),
1372
- description: z.string().optional(),
1373
- icon: iconSchema.optional(),
1374
- image: imageSchema.optional(),
1375
- keywords: z.array(z.string()).optional(),
1376
- summary: summaryProviderSchema.optional(),
1643
+ margin: sizeSchema.optional(),
1377
1644
  analyticsId: z.string().optional(),
1378
- disabled: z.boolean().optional(),
1379
- media: mediaSchema.optional(),
1380
- alert: alertLayoutSchema.optional(),
1381
- layout: z.array(layoutSchema).optional(),
1382
1645
  tags: z.array(z.string()).optional(),
1383
- additionalText: z.string().optional(),
1384
- supportingValues: supportingValuesSchema.optional(),
1385
- inlineAlert: inlineAlertSchema.optional(),
1386
1646
  }),
1387
1647
  );
1388
1648
 
1389
- export const stringSchemaSchema: z.ZodSchema<StringSchema> = z.lazy(() =>
1649
+ export const decisionLayoutSchema: z.ZodSchema<DecisionLayout> = z.lazy(() =>
1390
1650
  z.object({
1391
- type: z.literal('string'),
1392
- autofillProvider: z.string().optional(),
1393
- promoted: z.boolean().optional(),
1394
- refreshFormOnChange: z.boolean().optional(),
1395
- refreshUrl: z.string().optional(),
1396
- refreshFormUrl: z.string().optional(),
1397
- format: stringSchemaFormatSchema.optional(),
1398
- displayFormat: z.string().optional(),
1399
- placeholder: z.string().optional(),
1400
- minLength: z.number().optional(),
1401
- maxLength: z.number().optional(),
1402
- minimum: z.string().optional(),
1403
- maximum: z.string().optional(),
1404
- pattern: z.string().optional(),
1405
- autocapitalization: autocapitalizationTypeSchema.optional(),
1406
- autocorrect: z.boolean().optional(),
1407
- $id: z.string().optional(),
1651
+ type: z.literal('decision'),
1408
1652
  title: z.string().optional(),
1409
- description: z.string().optional(),
1653
+ options: z.array(decisionLayoutOptionSchema),
1410
1654
  control: z.string().optional(),
1411
- default: z.string().optional(),
1412
- hidden: z.boolean().optional(),
1413
- disabled: z.boolean().optional(),
1414
- icon: iconSchema.optional(),
1415
- image: imageSchema.optional(),
1416
- keywords: z.array(z.string()).optional(),
1417
- summary: summaryProviderSchema.optional(),
1655
+ margin: sizeSchema.optional(),
1418
1656
  analyticsId: z.string().optional(),
1419
- persistAsync: persistAsyncSchema.optional(),
1420
- refreshStepOnChange: z.boolean().optional(),
1421
- validationAsync: validateAsyncSchema.optional(),
1422
- validationMessages: z.record(z.string()).optional(),
1423
- alert: alertLayoutSchema.optional(),
1424
- cameraConfig: jsonElementSchema.optional(),
1425
- accepts: z.array(z.string()).optional(),
1426
- maxSize: z.number().optional(),
1427
- source: uploadSourceSchema.optional(),
1428
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
1429
- autofillKey: z.string().optional(),
1430
- help: helpSchema.optional(),
1431
- suggestions: suggestionsSchema.optional(),
1432
- onChange: behaviorSchema.optional(),
1433
- media: mediaSchema.optional(),
1434
1657
  tags: z.array(z.string()).optional(),
1435
- additionalText: z.string().optional(),
1436
- supportingValues: supportingValuesSchema.optional(),
1437
- inlineAlert: inlineAlertSchema.optional(),
1438
1658
  }),
1439
1659
  );
1440
1660
 
1441
- export const booleanSchemaSchema: z.ZodSchema<BooleanSchema> = z.lazy(() =>
1661
+ export const stepSchema: z.ZodSchema<Step> = z.lazy(() =>
1442
1662
  z.object({
1443
- type: z.literal('boolean'),
1444
- autofillProvider: z.string().optional(),
1445
- promoted: z.boolean().optional(),
1446
- refreshFormOnChange: z.boolean().optional(),
1447
- refreshUrl: z.string().optional(),
1663
+ key: z.string().optional(),
1664
+ type: z.string().optional(),
1665
+ actions: z.array(actionSchema).optional(),
1448
1666
  refreshFormUrl: z.string().optional(),
1449
- $id: z.string().optional(),
1450
- title: z.string().optional(),
1667
+ id: z.string(),
1668
+ title: z.string(),
1669
+ schemas: z.array(schemaSchema),
1670
+ layout: z.array(layoutSchema),
1451
1671
  description: z.string().optional(),
1672
+ model: jsonElementSchema.optional(),
1673
+ external: externalSchema.optional(),
1674
+ polling: pollingSchema.optional(),
1675
+ linkHandlers: z.array(linkHandlerSchema).optional(),
1676
+ analytics: z.record(z.string()).optional(),
1677
+ errors: stepErrorSchema.optional(),
1678
+ navigation: navigationSchema.optional(),
1679
+ refreshUrl: z.string().optional(),
1452
1680
  control: z.string().optional(),
1453
- default: z.boolean().optional(),
1454
- hidden: z.boolean().optional(),
1455
- disabled: z.boolean().optional(),
1456
- icon: iconSchema.optional(),
1457
- image: imageSchema.optional(),
1458
- keywords: z.array(z.string()).optional(),
1459
- summary: summaryProviderSchema.optional(),
1460
- analyticsId: z.string().optional(),
1461
- persistAsync: persistAsyncSchema.optional(),
1462
- refreshStepOnChange: z.boolean().optional(),
1463
- validationAsync: validateAsyncSchema.optional(),
1464
- alert: alertLayoutSchema.optional(),
1465
- autofillKey: z.string().optional(),
1466
- help: helpSchema.optional(),
1467
- onChange: behaviorSchema.optional(),
1468
- media: mediaSchema.optional(),
1681
+ refreshAfter: z.string().optional(),
1682
+ toolbar: toolbarSchema.optional(),
1469
1683
  tags: z.array(z.string()).optional(),
1470
- additionalText: z.string().optional(),
1471
- supportingValues: supportingValuesSchema.optional(),
1472
- inlineAlert: inlineAlertSchema.optional(),
1684
+ footer: z.array(layoutSchema).optional(),
1685
+ onLoad: behaviorSchema.optional(),
1686
+ }),
1687
+ );
1688
+
1689
+ export const pollingSchema: z.ZodSchema<Polling> = z.lazy(() =>
1690
+ z.object({
1691
+ interval: z.number().optional(),
1692
+ url: z.string(),
1693
+ delay: z.number().optional(),
1694
+ timeout: z.number().optional(),
1695
+ maxAttempts: z.number(),
1696
+ onError: pollingOnErrorSchema,
1473
1697
  }),
1474
1698
  );
1475
1699
 
1476
- export const arraySchemaTupleSchema: z.ZodSchema<ArraySchemaTuple> = z.lazy(() =>
1700
+ export const linkHandlerSchema: z.ZodSchema<LinkHandler> = z.lazy(() =>
1477
1701
  z.object({
1478
- type: z.literal('array'),
1479
- promoted: z.boolean().optional(),
1480
- $id: z.string().optional(),
1481
- items: z.array(schemaSchema),
1482
- title: z.string().optional(),
1483
- description: z.string().optional(),
1484
- control: z.string().optional(),
1485
- hidden: z.boolean().optional(),
1486
- icon: iconSchema.optional(),
1487
- image: imageSchema.optional(),
1488
- keywords: z.array(z.string()).optional(),
1489
- summary: summaryProviderSchema.optional(),
1490
- analyticsId: z.string().optional(),
1491
- persistAsync: persistAsyncSchema.optional(),
1492
- validationAsync: validateAsyncSchema.optional(),
1493
- alert: alertLayoutSchema.optional(),
1494
- media: mediaSchema.optional(),
1495
- tags: z.array(z.string()).optional(),
1496
- additionalText: z.string().optional(),
1497
- supportingValues: supportingValuesSchema.optional(),
1498
- inlineAlert: inlineAlertSchema.optional(),
1702
+ regexPattern: z.string(),
1703
+ behavior: behaviorSchema.optional(),
1499
1704
  }),
1500
1705
  );
1501
1706
 
1502
- export const allOfSchemaSchema: z.ZodSchema<AllOfSchema> = z.lazy(() =>
1707
+ export const toolbarSchema: z.ZodSchema<Toolbar> = z.lazy(() =>
1503
1708
  z.object({
1504
- disabled: z.boolean().optional(),
1505
- promoted: z.boolean().optional(),
1506
- allOf: z.array(schemaSchema),
1507
- $id: z.string().optional(),
1508
- title: z.string().optional(),
1509
- description: z.string().optional(),
1709
+ items: z.array(toolbarItemSchema),
1510
1710
  control: z.string().optional(),
1511
- hidden: z.boolean().optional(),
1512
- icon: iconSchema.optional(),
1513
- image: imageSchema.optional(),
1514
- keywords: z.array(z.string()).optional(),
1515
- summary: summaryProviderSchema.optional(),
1516
- analyticsId: z.string().optional(),
1517
- alert: alertLayoutSchema.optional(),
1518
- media: mediaSchema.optional(),
1519
1711
  tags: z.array(z.string()).optional(),
1520
- additionalText: z.string().optional(),
1521
- supportingValues: supportingValuesSchema.optional(),
1522
- inlineAlert: inlineAlertSchema.optional(),
1523
1712
  }),
1524
1713
  );
1525
1714
 
1526
- export const dateSchemaSchema: z.ZodSchema<DateSchema> = z.lazy(() =>
1715
+ export const subflowResponseBodySchema: z.ZodSchema<SubflowResponseBody> = z.lazy(() =>
1527
1716
  z.object({
1528
- type: z.literal('date'),
1529
- icon: iconSchema.optional(),
1530
- image: imageSchema.optional(),
1531
- placeholder: z.string().optional(),
1532
- minimum: z.string().optional(),
1533
- maximum: z.string().optional(),
1534
- availability: dateAvailabilitySchema.optional(),
1535
- $id: z.string().optional(),
1536
- title: z.string().optional(),
1537
- description: z.string().optional(),
1538
- control: z.string().optional(),
1539
- default: z.string().optional(),
1540
- hidden: z.boolean().optional(),
1541
- disabled: z.boolean().optional(),
1542
- keywords: z.array(z.string()).optional(),
1543
- summary: summaryProviderSchema.optional(),
1544
- analyticsId: z.string().optional(),
1545
- persistAsync: persistAsyncSchema.optional(),
1546
- refreshStepOnChange: z.boolean().optional(),
1547
- validationAsync: validateAsyncSchema.optional(),
1548
- validationMessages: z.record(z.string()).optional(),
1549
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
1550
- help: helpSchema.optional(),
1551
- suggestions: suggestionsSchema.optional(),
1552
- onChange: behaviorSchema.optional(),
1553
- media: mediaSchema.optional(),
1554
- tags: z.array(z.string()).optional(),
1555
- additionalText: z.string().optional(),
1556
- supportingValues: supportingValuesSchema.optional(),
1557
- alert: alertLayoutSchema.optional(),
1558
- inlineAlert: inlineAlertSchema.optional(),
1717
+ referrerId: z.string(),
1718
+ launchConfig: launchConfigSchema,
1719
+ resultKey: z.string().optional(),
1720
+ onCompletion: behaviorSchema.optional(),
1721
+ onError: behaviorSchema.optional(),
1559
1722
  }),
1560
1723
  );
1561
1724
 
1562
- export const blobSchemaSchema: z.ZodSchema<BlobSchema> = z.lazy(() =>
1725
+ export const searchInitialLayoutConfigSchema: z.ZodSchema<SearchInitialLayoutConfig> = z.lazy(() =>
1563
1726
  z.object({
1564
- type: z.literal('blob'),
1565
- promoted: z.boolean().optional(),
1566
- $id: z.string().optional(),
1567
- title: z.string().optional(),
1568
- description: z.string().optional(),
1569
- control: z.string().optional(),
1570
- hidden: z.boolean().optional(),
1571
- icon: iconSchema.optional(),
1572
- image: imageSchema.optional(),
1573
- keywords: z.array(z.string()).optional(),
1574
- summary: summaryProviderSchema.optional(),
1575
- analyticsId: z.string().optional(),
1576
- validationAsync: validateAsyncSchema.optional(),
1577
- validationMessages: z.record(z.string()).optional(),
1578
- alert: alertLayoutSchema.optional(),
1579
- cameraConfig: jsonElementSchema.optional(),
1580
- accepts: z.array(z.string()).optional(),
1581
- maxSize: z.number().optional(),
1582
- source: uploadSourceSchema.optional(),
1583
- disabled: z.boolean().optional(),
1584
- media: mediaSchema.optional(),
1585
- tags: z.array(z.string()).optional(),
1586
- additionalText: z.string().optional(),
1587
- supportingValues: supportingValuesSchema.optional(),
1588
- inlineAlert: inlineAlertSchema.optional(),
1727
+ type: z.literal('layout'),
1728
+ content: z.array(layoutSchema),
1589
1729
  }),
1590
1730
  );
1591
1731
 
1592
- export const numberSchemaSchema: z.ZodSchema<NumberSchema> = z.lazy(() =>
1732
+ export const searchLayoutResponseBodySchema: z.ZodSchema<SearchLayoutResponseBody> = z.lazy(() =>
1593
1733
  z.object({
1594
- type: z.literal('number'),
1595
- autofillProvider: z.string().optional(),
1596
- promoted: z.boolean().optional(),
1597
- refreshFormOnChange: z.boolean().optional(),
1598
- refreshUrl: z.string().optional(),
1599
- refreshFormUrl: z.string().optional(),
1600
- placeholder: z.string().optional(),
1601
- minimum: z.number().optional(),
1602
- maximum: z.number().optional(),
1603
- $id: z.string().optional(),
1604
- title: z.string().optional(),
1605
- description: z.string().optional(),
1606
- control: z.string().optional(),
1607
- default: z.number().optional(),
1608
- hidden: z.boolean().optional(),
1609
- disabled: z.boolean().optional(),
1610
- icon: iconSchema.optional(),
1611
- image: imageSchema.optional(),
1612
- keywords: z.array(z.string()).optional(),
1613
- summary: summaryProviderSchema.optional(),
1614
- analyticsId: z.string().optional(),
1615
- persistAsync: persistAsyncSchema.optional(),
1616
- refreshStepOnChange: z.boolean().optional(),
1617
- validationAsync: validateAsyncSchema.optional(),
1618
- validationMessages: z.record(z.string()).optional(),
1619
- alert: alertLayoutSchema.optional(),
1620
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
1621
- autofillKey: z.string().optional(),
1622
- help: helpSchema.optional(),
1623
- onChange: behaviorSchema.optional(),
1624
- media: mediaSchema.optional(),
1625
- tags: z.array(z.string()).optional(),
1626
- additionalText: z.string().optional(),
1627
- supportingValues: supportingValuesSchema.optional(),
1628
- inlineAlert: inlineAlertSchema.optional(),
1734
+ type: z.literal('layout'),
1735
+ content: z.array(layoutSchema),
1629
1736
  }),
1630
1737
  );
1631
1738
 
1632
- export const arraySchemaSchema: z.ZodSchema<ArraySchema> = z.lazy(() =>
1633
- z.union([arraySchemaListSchema, arraySchemaTupleSchema]),
1739
+ export const searchResponseSchema: z.ZodSchema<SearchResponse> = z.lazy(() =>
1740
+ z.union([searchLayoutResponseBodySchema, searchResultsResponseBodySchema]),
1634
1741
  );
1635
1742
 
1636
- export const arraySchemaListSchema: z.ZodSchema<ArraySchemaList> = z.lazy(() =>
1743
+ export const modalResponseBodySchema: z.ZodSchema<ModalResponseBody> = z.lazy(() =>
1637
1744
  z.object({
1638
- type: z.literal('array'),
1639
- promoted: z.boolean().optional(),
1640
- $id: z.string().optional(),
1641
- items: schemaSchema,
1642
- addItemTitle: z.string(),
1643
- editItemTitle: z.string(),
1644
- minItems: z.number().optional(),
1645
- maxItems: z.number().optional(),
1646
- placeholder: z.string().optional(),
1647
1745
  title: z.string().optional(),
1648
- description: z.string().optional(),
1649
- control: z.string().optional(),
1650
- hidden: z.boolean().optional(),
1651
- icon: iconSchema.optional(),
1652
- image: imageSchema.optional(),
1653
- keywords: z.array(z.string()).optional(),
1654
- summary: summarySummariserSchema.optional(),
1655
- analyticsId: z.string().optional(),
1656
- persistAsync: persistAsyncSchema.optional(),
1657
- validationAsync: validateAsyncSchema.optional(),
1658
- alert: alertLayoutSchema.optional(),
1659
- validationMessages: z.record(z.string()).optional(),
1660
- disabled: z.boolean().optional(),
1661
- media: mediaSchema.optional(),
1662
- tags: z.array(z.string()).optional(),
1663
- additionalText: z.string().optional(),
1664
- supportingValues: supportingValuesSchema.optional(),
1665
- inlineAlert: inlineAlertSchema.optional(),
1746
+ content: z.array(layoutSchema),
1747
+ }),
1748
+ );
1749
+
1750
+ export const pollingOnErrorSchema: z.ZodSchema<PollingOnError> = z.lazy(() =>
1751
+ z.object({
1752
+ action: actionSchema.optional(),
1753
+ behavior: behaviorSchema.optional(),
1666
1754
  }),
1667
1755
  );
1668
1756
 
@@ -1696,24 +1784,6 @@ export const subflowBehaviorSchema: z.ZodSchema<SubflowBehavior> = z.lazy(() =>
1696
1784
  }),
1697
1785
  );
1698
1786
 
1699
- export const pollingSchema: z.ZodSchema<Polling> = z.lazy(() =>
1700
- z.object({
1701
- interval: z.number().optional(),
1702
- url: z.string(),
1703
- delay: z.number().optional(),
1704
- timeout: z.number().optional(),
1705
- maxAttempts: z.number(),
1706
- onError: pollingOnErrorSchema,
1707
- }),
1708
- );
1709
-
1710
- export const pollingOnErrorSchema: z.ZodSchema<PollingOnError> = z.lazy(() =>
1711
- z.object({
1712
- action: actionSchema.optional(),
1713
- behavior: behaviorSchema.optional(),
1714
- }),
1715
- );
1716
-
1717
1787
  export const toolbarItemSchema: z.ZodSchema<ToolbarItem> = z.lazy(() => toolbarButtonSchema);
1718
1788
 
1719
1789
  export const toolbarButtonSchema: z.ZodSchema<ToolbarButton> = z.lazy(() =>
@@ -1730,46 +1800,3 @@ export const toolbarButtonSchema: z.ZodSchema<ToolbarButton> = z.lazy(() =>
1730
1800
  tags: z.array(z.string()).optional(),
1731
1801
  }),
1732
1802
  );
1733
-
1734
- export const toolbarSchema: z.ZodSchema<Toolbar> = z.lazy(() =>
1735
- z.object({
1736
- items: z.array(toolbarItemSchema),
1737
- control: z.string().optional(),
1738
- tags: z.array(z.string()).optional(),
1739
- }),
1740
- );
1741
-
1742
- export const linkHandlerSchema: z.ZodSchema<LinkHandler> = z.lazy(() =>
1743
- z.object({
1744
- regexPattern: z.string(),
1745
- behavior: behaviorSchema.optional(),
1746
- }),
1747
- );
1748
-
1749
- export const stepSchema: z.ZodSchema<Step> = z.lazy(() =>
1750
- z.object({
1751
- key: z.string().optional(),
1752
- type: z.string().optional(),
1753
- actions: z.array(actionSchema).optional(),
1754
- refreshFormUrl: z.string().optional(),
1755
- id: z.string(),
1756
- title: z.string(),
1757
- schemas: z.array(schemaSchema),
1758
- layout: z.array(layoutSchema),
1759
- description: z.string().optional(),
1760
- model: jsonElementSchema.optional(),
1761
- external: externalSchema.optional(),
1762
- polling: pollingSchema.optional(),
1763
- linkHandlers: z.array(linkHandlerSchema).optional(),
1764
- analytics: z.record(z.string()).optional(),
1765
- errors: stepErrorSchema.optional(),
1766
- navigation: navigationSchema.optional(),
1767
- refreshUrl: z.string().optional(),
1768
- control: z.string().optional(),
1769
- refreshAfter: z.string().optional(),
1770
- toolbar: toolbarSchema.optional(),
1771
- tags: z.array(z.string()).optional(),
1772
- footer: z.array(layoutSchema).optional(),
1773
- onLoad: behaviorSchema.optional(),
1774
- }),
1775
- );