@wise/dynamic-flow-types 3.13.0 → 3.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,81 +1,57 @@
1
1
  // Generated by ts-to-zod
2
2
  import { z } from 'zod';
3
- import type {
4
- JsonElement,
5
- AllOfSchema,
6
- Schema,
7
- AlertLayout,
8
- StringSchema,
9
- PersistAsync,
10
- Behavior,
11
- IntegerSchema,
12
- ArraySchemaTuple,
13
- OneOfSchema,
14
- ConstSchema,
15
- ArraySchema,
16
- BlobSchema,
17
- BooleanSchema,
18
- NumberSchema,
19
- ObjectSchema,
20
- ArraySchemaList,
21
- ModalResponseBody,
22
- Layout,
23
- ToolbarItem,
24
- ToolbarButton,
25
- Toolbar,
26
- ModalBehavior,
27
- Polling,
28
- PollingOnError,
29
- LinkHandler,
30
- Step,
31
- StatusListLayout,
32
- StatusListLayoutItem,
33
- TabsLayoutTab,
34
- ListLayoutItem,
35
- AdditionalInfo,
36
- ColumnsLayout,
37
- DecisionLayout,
38
- DecisionLayoutOption,
39
- AlertLayoutCallToAction,
40
- ReviewLayoutCallToAction,
41
- SectionLayoutCallToAction,
42
- ReviewLayout,
43
- ReviewLayoutField,
44
- BoxLayout,
45
- ButtonLayout,
46
- ListLayout,
47
- ModalLayout,
48
- SectionLayout,
49
- TabsLayout,
50
- ModalLayoutContent,
51
- ItemCallToAction,
52
- ListLayoutCallToAction,
3
+ import {
4
+ type JsonElement,
5
+ type AdditionalInfo,
6
+ type Behavior,
7
+ type ModalResponseBody,
8
+ type Layout,
9
+ type SectionLayoutCallToAction,
10
+ type ListLayoutCallToAction,
11
+ type ListLayoutItem,
12
+ type ButtonLayout,
13
+ type TabsLayout,
14
+ type TabsLayoutTab,
15
+ type ListLayout,
16
+ type ItemCallToAction,
17
+ type StatusListLayout,
18
+ type StatusListLayoutItem,
19
+ type DecisionLayoutOption,
20
+ type DecisionLayout,
21
+ type ReviewLayout,
22
+ type ReviewLayoutField,
23
+ type ReviewLayoutCallToAction,
24
+ type BoxLayout,
25
+ type ModalLayout,
26
+ type ModalLayoutContent,
27
+ type AlertLayout,
28
+ type AlertLayoutCallToAction,
29
+ type SectionLayout,
30
+ type ColumnsLayout,
31
+ type Step,
32
+ type Schema,
33
+ type Polling,
34
+ type LinkHandler,
35
+ type Toolbar,
36
+ type ModalBehavior,
37
+ type PollingOnError,
38
+ type ToolbarItem,
39
+ type ToolbarButton,
40
+ type PersistAsync,
41
+ type BlobSchema,
42
+ type OneOfSchema,
43
+ type IntegerSchema,
44
+ type StringSchema,
45
+ type ObjectSchema,
46
+ type AllOfSchema,
47
+ type ArraySchema,
48
+ type BooleanSchema,
49
+ type ConstSchema,
50
+ type NumberSchema,
51
+ type ArraySchemaTuple,
52
+ type ArraySchemaList,
53
53
  } from '../next';
54
54
 
55
- export const imageSchema = z.object({
56
- text: z.string().optional(),
57
- url: z.string().optional(),
58
- uri: z.string().optional(),
59
- accessibilityDescription: z.string().optional(),
60
- });
61
-
62
- export const summaryProviderSchema = z.object({
63
- providesTitle: z.boolean().optional(),
64
- providesDescription: z.boolean().optional(),
65
- providesIcon: z.boolean().optional(),
66
- providesImage: z.boolean().optional(),
67
- providesMedia: z.boolean().optional(),
68
- });
69
-
70
- export const stringSchemaFormatSchema = z.union([
71
- z.literal('date'),
72
- z.literal('email'),
73
- z.literal('numeric'),
74
- z.literal('password'),
75
- z.literal('phone-number'),
76
- z.literal('base64url'),
77
- ]);
78
-
79
55
  export const autocapitalizationTypeSchema = z.union([
80
56
  z.literal('none'),
81
57
  z.literal('characters'),
@@ -83,19 +59,39 @@ export const autocapitalizationTypeSchema = z.union([
83
59
  z.literal('words'),
84
60
  ]);
85
61
 
86
- export const jsonElementSchema: z.ZodSchema<JsonElement> = z.lazy(() =>
87
- z
88
- .union([
89
- z.string(),
90
- z.number(),
91
- z.boolean(),
92
- z.record(jsonElementSchema),
93
- z.array(jsonElementSchema),
94
- ])
95
- .nullable(),
96
- );
62
+ export const sizeSchema = z.union([
63
+ z.literal('xs'),
64
+ z.literal('sm'),
65
+ z.literal('md'),
66
+ z.literal('lg'),
67
+ z.literal('xl'),
68
+ ]);
97
69
 
98
- export const uploadSourceSchema = z.union([z.literal('camera'), z.literal('file')]);
70
+ export const iconNamedSchema = z.object({
71
+ name: z.string(),
72
+ });
73
+
74
+ export const iconTextSchema = z.object({
75
+ text: z.string(),
76
+ });
77
+
78
+ export const mediaImageSchema = z.object({
79
+ type: z.literal('image'),
80
+ uri: z.string(),
81
+ accessibilityDescription: z.string().optional(),
82
+ });
83
+
84
+ export const avatarTextContentSchema = z.object({
85
+ type: z.literal('text'),
86
+ text: z.string(),
87
+ badgeUri: z.string().optional(),
88
+ });
89
+
90
+ export const avatarUriContentSchema = z.object({
91
+ type: z.literal('uri'),
92
+ uri: z.string(),
93
+ badgeUri: z.string().optional(),
94
+ });
99
95
 
100
96
  export const autocompleteTokenSchema = z.union([
101
97
  z.literal('on'),
@@ -163,32 +159,11 @@ export const autocompleteTokenSchema = z.union([
163
159
  z.literal('pager'),
164
160
  ]);
165
161
 
166
- export const helpSchema = z.object({
167
- markdown: z.string(),
168
- });
169
-
170
- export const httpMethodSchema = z.union([
171
- z.literal('GET'),
172
- z.literal('POST'),
173
- z.literal('PUT'),
174
- z.literal('PATCH'),
175
- z.literal('DELETE'),
176
- ]);
177
-
178
- export const errorResponseBodySchema = z.object({
179
- refreshFormUrl: z.string().optional(),
180
- analytics: z.record(z.string()).optional(),
181
- error: z.string().optional(),
182
- validation: jsonElementSchema.optional(),
183
- refreshUrl: z.string().optional(),
184
- });
185
-
186
- export const linkSchema = z.object({
187
- url: z.string(),
188
- });
189
-
190
- export const refreshBehaviorSchema = z.object({
191
- type: z.literal('refresh'),
162
+ export const imageSchema = z.object({
163
+ text: z.string().optional(),
164
+ url: z.string().optional(),
165
+ uri: z.string().optional(),
166
+ accessibilityDescription: z.string().optional(),
192
167
  });
193
168
 
194
169
  export const contextSchema = z.union([
@@ -202,53 +177,51 @@ export const contextSchema = z.union([
202
177
  z.literal('primary'),
203
178
  ]);
204
179
 
205
- export const dismissBehaviorSchema = z.object({
206
- type: z.literal('dismiss'),
207
- });
180
+ export const alignSchema = z.union([z.literal('left'), z.literal('center'), z.literal('right')]);
208
181
 
209
- export const actionTypeSchema = z.union([
210
- z.literal('primary'),
211
- z.literal('secondary'),
212
- z.literal('link'),
213
- z.literal('positive'),
214
- z.literal('negative'),
182
+ export const httpMethodSchema = z.union([
183
+ z.literal('GET'),
184
+ z.literal('POST'),
185
+ z.literal('PUT'),
186
+ z.literal('PATCH'),
187
+ z.literal('DELETE'),
215
188
  ]);
216
189
 
217
- export const stepErrorSchema = z.object({
218
- error: z.string().optional(),
219
- validation: jsonElementSchema.optional(),
220
- });
221
-
222
- export const copyBehaviorSchema = z.object({
223
- type: z.literal('copy'),
224
- content: z.string(),
190
+ export const supportingValuesSchema = z.object({
191
+ value: z.string().optional(),
192
+ subvalue: z.string().optional(),
225
193
  });
226
194
 
227
- export const linkBehaviorSchema = z.object({
228
- type: z.literal('link'),
229
- url: z.string(),
230
- });
195
+ export const jsonElementSchema: z.ZodSchema<JsonElement> = z.lazy(() =>
196
+ z
197
+ .union([
198
+ z.string(),
199
+ z.number(),
200
+ z.boolean(),
201
+ z.record(jsonElementSchema),
202
+ z.array(jsonElementSchema),
203
+ ])
204
+ .nullable(),
205
+ );
231
206
 
232
- export const navigationStackBehaviorSchema = z.union([
233
- z.literal('default'),
234
- z.literal('remove-previous'),
235
- z.literal('remove-all'),
236
- z.literal('replace-current'),
237
- ]);
207
+ export const iconSchema = z.union([iconNamedSchema, iconTextSchema]);
238
208
 
239
- export const externalSchema = z.object({
209
+ export const searchSearchRequestSchema = z.object({
240
210
  url: z.string(),
211
+ method: httpMethodSchema,
212
+ param: z.string(),
213
+ query: z.string(),
241
214
  });
242
215
 
243
- export const sizeSchema = z.union([
244
- z.literal('xs'),
245
- z.literal('sm'),
246
- z.literal('md'),
247
- z.literal('lg'),
248
- z.literal('xl'),
249
- ]);
250
-
251
- export const alignSchema = z.union([z.literal('left'), z.literal('center'), z.literal('right')]);
216
+ export const headingLayoutSchema = z.object({
217
+ type: z.literal('heading'),
218
+ text: z.string(),
219
+ size: sizeSchema.optional(),
220
+ align: alignSchema.optional(),
221
+ control: z.string().optional(),
222
+ margin: sizeSchema.optional(),
223
+ analyticsId: z.string().optional(),
224
+ });
252
225
 
253
226
  export const listLayoutStatusSchema = z.union([
254
227
  z.literal('warning'),
@@ -256,9 +229,33 @@ export const listLayoutStatusSchema = z.union([
256
229
  z.literal('positive'),
257
230
  ]);
258
231
 
259
- export const supportingValuesSchema = z.object({
260
- value: z.string().optional(),
261
- subvalue: z.string().optional(),
232
+ export const paragraphLayoutSchema = z.object({
233
+ type: z.literal('paragraph'),
234
+ text: z.string(),
235
+ align: alignSchema.optional(),
236
+ control: z.string().optional(),
237
+ margin: sizeSchema.optional(),
238
+ analyticsId: z.string().optional(),
239
+ });
240
+
241
+ export const loadingIndicatorLayoutSchema = z.object({
242
+ type: z.literal('loading-indicator'),
243
+ size: sizeSchema.optional(),
244
+ control: z.string().optional(),
245
+ margin: sizeSchema.optional(),
246
+ analyticsId: z.string().optional(),
247
+ });
248
+
249
+ export const searchLayoutSchema = z.object({
250
+ type: z.literal('search'),
251
+ title: z.string(),
252
+ method: httpMethodSchema,
253
+ url: z.string(),
254
+ param: z.string(),
255
+ emptyMessage: z.string().optional(),
256
+ control: z.string().optional(),
257
+ margin: sizeSchema.optional(),
258
+ analyticsId: z.string().optional(),
262
259
  });
263
260
 
264
261
  export const inlineAlertSchema = z.object({
@@ -266,12 +263,30 @@ export const inlineAlertSchema = z.object({
266
263
  context: contextSchema.optional(),
267
264
  });
268
265
 
266
+ export const instructionsLayoutItemSchema = z.object({
267
+ text: z.string(),
268
+ context: contextSchema,
269
+ tag: z.string().optional(),
270
+ analyticsId: z.string().optional(),
271
+ });
272
+
269
273
  export const columnsLayoutBiasSchema = z.union([
270
274
  z.literal('none'),
271
275
  z.literal('left'),
272
276
  z.literal('right'),
273
277
  ]);
274
278
 
279
+ export const dividerLayoutSchema = z.object({
280
+ type: z.literal('divider'),
281
+ control: z.string().optional(),
282
+ margin: sizeSchema.optional(),
283
+ analyticsId: z.string().optional(),
284
+ });
285
+
286
+ export const modalLayoutTriggerSchema = z.object({
287
+ title: z.string(),
288
+ });
289
+
275
290
  export const imageLayoutSchema = z.object({
276
291
  type: z.literal('image'),
277
292
  text: z.string().optional(),
@@ -294,31 +309,29 @@ export const infoLayoutSchema = z.object({
294
309
  analyticsId: z.string().optional(),
295
310
  });
296
311
 
297
- export const headingLayoutSchema = z.object({
298
- type: z.literal('heading'),
299
- text: z.string(),
300
- size: sizeSchema.optional(),
301
- align: alignSchema.optional(),
302
- control: z.string().optional(),
303
- margin: sizeSchema.optional(),
304
- analyticsId: z.string().optional(),
312
+ export const helpSchema = z.object({
313
+ markdown: z.string(),
305
314
  });
306
315
 
307
- export const dividerLayoutSchema = z.object({
308
- type: z.literal('divider'),
316
+ export const instructionsLayoutSchema = z.object({
317
+ type: z.literal('instructions'),
318
+ title: z.string().optional(),
319
+ items: z.array(instructionsLayoutItemSchema),
309
320
  control: z.string().optional(),
310
321
  margin: sizeSchema.optional(),
311
322
  analyticsId: z.string().optional(),
312
323
  });
313
324
 
314
- export const loadingIndicatorLayoutSchema = z.object({
315
- type: z.literal('loading-indicator'),
316
- size: sizeSchema.optional(),
317
- control: z.string().optional(),
318
- margin: sizeSchema.optional(),
319
- analyticsId: z.string().optional(),
325
+ export const formLayoutSchemaReferenceSchema = z.object({
326
+ $ref: z.string(),
320
327
  });
321
328
 
329
+ export const statusListLayoutStatusSchema = z.union([
330
+ z.literal('not-done'),
331
+ z.literal('pending'),
332
+ z.literal('done'),
333
+ ]);
334
+
322
335
  export const markdownLayoutSchema = z.object({
323
336
  type: z.literal('markdown'),
324
337
  content: z.string(),
@@ -328,79 +341,63 @@ export const markdownLayoutSchema = z.object({
328
341
  analyticsId: z.string().optional(),
329
342
  });
330
343
 
331
- export const progressLayoutSchema = z.object({
332
- type: z.literal('progress'),
333
- title: z.string().optional(),
334
- description: z.string().optional(),
335
- progress: z.number(),
336
- progressText: z.string(),
337
- context: contextSchema.optional(),
338
- help: helpSchema.optional(),
344
+ export const formLayoutSchema = z.object({
345
+ type: z.literal('form'),
346
+ schema: formLayoutSchemaReferenceSchema.optional(),
347
+ schemaId: z.string(),
339
348
  control: z.string().optional(),
340
349
  margin: sizeSchema.optional(),
341
350
  analyticsId: z.string().optional(),
342
351
  });
343
352
 
344
- export const searchLayoutSchema = z.object({
345
- type: z.literal('search'),
346
- title: z.string(),
347
- method: httpMethodSchema,
348
- url: z.string(),
349
- param: z.string(),
350
- emptyMessage: z.string().optional(),
353
+ export const progressLayoutSchema = z.object({
354
+ type: z.literal('progress'),
355
+ title: z.string().optional(),
356
+ description: z.string().optional(),
357
+ progress: z.number(),
358
+ progressText: z.string(),
359
+ context: contextSchema.optional(),
360
+ help: helpSchema.optional(),
351
361
  control: z.string().optional(),
352
362
  margin: sizeSchema.optional(),
353
363
  analyticsId: z.string().optional(),
354
364
  });
355
365
 
356
- export const formLayoutSchemaReferenceSchema = z.object({
357
- $ref: z.string(),
358
- });
359
-
360
- export const modalLayoutTriggerSchema = z.object({
361
- title: z.string(),
366
+ export const externalSchema = z.object({
367
+ url: z.string(),
362
368
  });
363
369
 
364
- export const statusListLayoutStatusSchema = z.union([
365
- z.literal('not-done'),
366
- z.literal('pending'),
367
- z.literal('done'),
368
- ]);
369
-
370
- export const instructionsLayoutItemSchema = z.object({
371
- text: z.string(),
372
- context: contextSchema,
373
- tag: z.string().optional(),
374
- analyticsId: z.string().optional(),
370
+ export const stepErrorSchema = z.object({
371
+ error: z.string().optional(),
372
+ validation: jsonElementSchema.optional(),
375
373
  });
376
374
 
377
- export const avatarTextContentSchema = z.object({
378
- type: z.literal('text'),
379
- text: z.string(),
380
- badgeUri: z.string().optional(),
375
+ export const copyBehaviorSchema = z.object({
376
+ type: z.literal('copy'),
377
+ content: z.string(),
381
378
  });
382
379
 
383
- export const avatarUriContentSchema = z.object({
384
- type: z.literal('uri'),
385
- uri: z.string(),
386
- badgeUri: z.string().optional(),
380
+ export const dismissBehaviorSchema = z.object({
381
+ type: z.literal('dismiss'),
387
382
  });
388
383
 
389
- export const mediaImageSchema = z.object({
390
- type: z.literal('image'),
391
- uri: z.string(),
392
- accessibilityDescription: z.string().optional(),
384
+ export const linkBehaviorSchema = z.object({
385
+ type: z.literal('link'),
386
+ url: z.string(),
393
387
  });
394
388
 
395
- export const iconNamedSchema = z.object({
396
- name: z.string(),
389
+ export const refreshBehaviorSchema = z.object({
390
+ type: z.literal('refresh'),
397
391
  });
398
392
 
399
- export const iconTextSchema = z.object({
400
- text: z.string(),
401
- });
393
+ export const navigationStackBehaviorSchema = z.union([
394
+ z.literal('default'),
395
+ z.literal('remove-previous'),
396
+ z.literal('remove-all'),
397
+ z.literal('replace-current'),
398
+ ]);
402
399
 
403
- export const iconSchema = z.union([iconNamedSchema, iconTextSchema]);
400
+ export const uploadSourceSchema = z.union([z.literal('camera'), z.literal('file')]);
404
401
 
405
402
  export const validateAsyncSchema = z.object({
406
403
  param: z.string(),
@@ -408,6 +405,22 @@ export const validateAsyncSchema = z.object({
408
405
  url: z.string(),
409
406
  });
410
407
 
408
+ export const actionTypeSchema = z.union([
409
+ z.literal('primary'),
410
+ z.literal('secondary'),
411
+ z.literal('link'),
412
+ z.literal('positive'),
413
+ z.literal('negative'),
414
+ ]);
415
+
416
+ export const summaryProviderSchema = z.object({
417
+ providesTitle: z.boolean().optional(),
418
+ providesDescription: z.boolean().optional(),
419
+ providesIcon: z.boolean().optional(),
420
+ providesImage: z.boolean().optional(),
421
+ providesMedia: z.boolean().optional(),
422
+ });
423
+
411
424
  export const actionSchema = z.object({
412
425
  title: z.string().optional(),
413
426
  type: actionTypeSchema.optional(),
@@ -424,57 +437,48 @@ export const actionSchema = z.object({
424
437
  skipValidation: z.boolean().optional(),
425
438
  });
426
439
 
427
- export const searchSearchRequestSchema = z.object({
440
+ export const linkSchema = z.object({
428
441
  url: z.string(),
429
- method: httpMethodSchema,
430
- param: z.string(),
431
- query: z.string(),
432
442
  });
433
443
 
434
- export const containerBehaviorSchema = z.object({
435
- action: actionSchema.optional(),
436
- link: linkSchema.optional(),
437
- });
444
+ export const stringSchemaFormatSchema = z.union([
445
+ z.literal('date'),
446
+ z.literal('email'),
447
+ z.literal('numeric'),
448
+ z.literal('password'),
449
+ z.literal('phone-number'),
450
+ z.literal('base64url'),
451
+ ]);
438
452
 
439
- export const actionBehaviorSchema = z.object({
440
- type: z.literal('action'),
441
- action: actionSchema,
453
+ export const avatarContentSchema = z.union([avatarTextContentSchema, avatarUriContentSchema]);
454
+
455
+ export const errorResponseBodySchema = z.object({
456
+ refreshFormUrl: z.string().optional(),
457
+ analytics: z.record(z.string()).optional(),
458
+ error: z.string().optional(),
459
+ validation: jsonElementSchema.optional(),
460
+ refreshUrl: z.string().optional(),
442
461
  });
443
462
 
444
- export const navigationBackBehaviorSchema = z.object({
445
- title: z.string().optional(),
463
+ export const actionResponseBodySchema = z.object({
446
464
  action: actionSchema,
447
465
  });
448
466
 
449
- export const paragraphLayoutSchema = z.object({
450
- type: z.literal('paragraph'),
451
- text: z.string(),
452
- align: alignSchema.optional(),
453
- control: z.string().optional(),
454
- margin: sizeSchema.optional(),
455
- analyticsId: z.string().optional(),
467
+ export const actionBehaviorSchema = z.object({
468
+ type: z.literal('action'),
469
+ action: actionSchema,
456
470
  });
457
471
 
458
- export const formLayoutSchema = z.object({
459
- type: z.literal('form'),
460
- schema: formLayoutSchemaReferenceSchema.optional(),
461
- schemaId: z.string(),
462
- control: z.string().optional(),
463
- margin: sizeSchema.optional(),
464
- analyticsId: z.string().optional(),
472
+ export const containerBehaviorSchema = z.object({
473
+ action: actionSchema.optional(),
474
+ link: linkSchema.optional(),
465
475
  });
466
476
 
467
- export const instructionsLayoutSchema = z.object({
468
- type: z.literal('instructions'),
477
+ export const navigationBackBehaviorSchema = z.object({
469
478
  title: z.string().optional(),
470
- items: z.array(instructionsLayoutItemSchema),
471
- control: z.string().optional(),
472
- margin: sizeSchema.optional(),
473
- analyticsId: z.string().optional(),
479
+ action: actionSchema,
474
480
  });
475
481
 
476
- export const avatarContentSchema = z.union([avatarTextContentSchema, avatarUriContentSchema]);
477
-
478
482
  export const mediaAvatarSchema = z.object({
479
483
  type: z.literal('avatar'),
480
484
  content: z.array(avatarContentSchema),
@@ -483,43 +487,34 @@ export const mediaAvatarSchema = z.object({
483
487
 
484
488
  export const mediaSchema = z.union([mediaAvatarSchema, mediaImageSchema]);
485
489
 
486
- export const summarySummariserSchema = z.object({
487
- defaultTitle: z.string().optional(),
488
- defaultDescription: z.string().optional(),
489
- defaultIcon: iconSchema.optional(),
490
- defaultImage: imageSchema.optional(),
491
- providesTitle: z.boolean().optional(),
492
- providesDescription: z.boolean().optional(),
493
- providesIcon: z.boolean().optional(),
494
- providesImage: z.boolean().optional(),
495
- defaultMedia: mediaSchema.optional(),
496
- providesMedia: z.boolean().optional(),
497
- });
498
-
499
- export const actionResponseBodySchema = z.object({
500
- action: actionSchema,
501
- });
502
-
503
- export const searchResultSearchSchema = z.object({
504
- type: z.literal('search'),
490
+ export const searchResultActionSchema = z.object({
491
+ type: z.literal('action'),
505
492
  title: z.string(),
506
493
  description: z.string().optional(),
507
494
  icon: iconSchema.optional(),
508
495
  image: imageSchema.optional(),
509
- value: searchSearchRequestSchema,
496
+ value: actionSchema,
510
497
  media: mediaSchema.optional(),
511
498
  });
512
499
 
513
- export const searchResultActionSchema = z.object({
514
- type: z.literal('action'),
500
+ export const searchResultSearchSchema = z.object({
501
+ type: z.literal('search'),
515
502
  title: z.string(),
516
503
  description: z.string().optional(),
517
504
  icon: iconSchema.optional(),
518
505
  image: imageSchema.optional(),
519
- value: actionSchema,
506
+ value: searchSearchRequestSchema,
520
507
  media: mediaSchema.optional(),
521
508
  });
522
509
 
510
+ export const searchResultSchema = z.union([searchResultActionSchema, searchResultSearchSchema]);
511
+
512
+ export const navigationSchema = z.object({
513
+ backButton: navigationBackBehaviorSchema.optional(),
514
+ back: navigationBackBehaviorSchema.optional(),
515
+ stackBehavior: navigationStackBehaviorSchema.optional(),
516
+ });
517
+
523
518
  export const suggestionsValueSchema = z.object({
524
519
  label: z.string(),
525
520
  value: jsonElementSchema,
@@ -530,10 +525,17 @@ export const suggestionsValueSchema = z.object({
530
525
  analyticsId: z.string().optional(),
531
526
  });
532
527
 
533
- export const navigationSchema = z.object({
534
- backButton: navigationBackBehaviorSchema.optional(),
535
- back: navigationBackBehaviorSchema.optional(),
536
- stackBehavior: navigationStackBehaviorSchema.optional(),
528
+ export const summarySummariserSchema = z.object({
529
+ defaultTitle: z.string().optional(),
530
+ defaultDescription: z.string().optional(),
531
+ defaultIcon: iconSchema.optional(),
532
+ defaultImage: imageSchema.optional(),
533
+ providesTitle: z.boolean().optional(),
534
+ providesDescription: z.boolean().optional(),
535
+ providesIcon: z.boolean().optional(),
536
+ providesImage: z.boolean().optional(),
537
+ defaultMedia: mediaSchema.optional(),
538
+ providesMedia: z.boolean().optional(),
537
539
  });
538
540
 
539
541
  export const summarySchema = z.union([summaryProviderSchema, summarySummariserSchema]);
@@ -542,477 +544,318 @@ export const suggestionsSchema = z.object({
542
544
  values: z.array(suggestionsValueSchema),
543
545
  });
544
546
 
545
- export const searchResultSchema = z.union([searchResultActionSchema, searchResultSearchSchema]);
546
-
547
547
  export const searchResponseBodySchema = z.object({
548
548
  results: z.array(searchResultSchema),
549
549
  });
550
550
 
551
- export const allOfSchemaSchema: z.ZodSchema<AllOfSchema> = z.lazy(() =>
551
+ export const additionalInfoSchema: z.ZodSchema<AdditionalInfo> = z.lazy(() =>
552
552
  z.object({
553
- disabled: z.boolean().optional(),
554
- promoted: z.boolean().optional(),
555
- allOf: z.array(schemaSchema),
556
- $id: z.string().optional(),
557
- title: z.string().optional(),
558
- description: z.string().optional(),
559
- control: z.string().optional(),
560
- hidden: z.boolean().optional(),
561
- icon: iconSchema.optional(),
562
- image: imageSchema.optional(),
563
- keywords: z.array(z.string()).optional(),
564
- summary: summaryProviderSchema.optional(),
565
- analyticsId: z.string().optional(),
566
- alert: alertLayoutSchema.optional(),
567
- media: mediaSchema.optional(),
553
+ text: z.string(),
554
+ behavior: behaviorSchema.optional(),
555
+ accessibilityDescription: z.string().optional(),
568
556
  }),
569
557
  );
570
558
 
571
- export const schemaSchema: z.ZodSchema<Schema> = z.lazy(() =>
559
+ export const behaviorSchema: z.ZodSchema<Behavior> = z.lazy(() =>
572
560
  z.union([
573
- allOfSchemaSchema,
574
- arraySchemaSchema,
575
- blobSchemaSchema,
576
- booleanSchemaSchema,
577
- constSchemaSchema,
578
- integerSchemaSchema,
579
- numberSchemaSchema,
580
- objectSchemaSchema,
581
- oneOfSchemaSchema,
582
- stringSchemaSchema,
561
+ actionBehaviorSchema,
562
+ containerBehaviorSchema,
563
+ copyBehaviorSchema,
564
+ dismissBehaviorSchema,
565
+ linkBehaviorSchema,
566
+ modalBehaviorSchema,
567
+ refreshBehaviorSchema,
583
568
  ]),
584
569
  );
585
570
 
586
- export const alertLayoutSchema: z.ZodSchema<AlertLayout> = z.lazy(() =>
571
+ export const modalResponseBodySchema: z.ZodSchema<ModalResponseBody> = z.lazy(() =>
587
572
  z.object({
588
- type: z.literal('alert'),
589
- markdown: z.string(),
590
- context: contextSchema.optional(),
591
- control: z.string().optional(),
592
- margin: sizeSchema.optional(),
593
- callToAction: alertLayoutCallToActionSchema.optional(),
594
- analyticsId: z.string().optional(),
573
+ title: z.string().optional(),
574
+ content: z.array(layoutSchema),
595
575
  }),
596
576
  );
597
577
 
598
- export const stringSchemaSchema: z.ZodSchema<StringSchema> = z.lazy(() =>
599
- z.object({
600
- type: z.literal('string'),
601
- autofillProvider: z.string().optional(),
602
- promoted: z.boolean().optional(),
603
- refreshFormOnChange: z.boolean().optional(),
604
- refreshUrl: z.string().optional(),
605
- refreshFormUrl: z.string().optional(),
606
- format: stringSchemaFormatSchema.optional(),
607
- displayFormat: z.string().optional(),
608
- placeholder: z.string().optional(),
609
- minLength: z.number().optional(),
610
- maxLength: z.number().optional(),
611
- minimum: z.string().optional(),
612
- maximum: z.string().optional(),
613
- pattern: z.string().optional(),
614
- autocapitalization: autocapitalizationTypeSchema.optional(),
615
- autocorrect: z.boolean().optional(),
616
- $id: z.string().optional(),
617
- title: z.string().optional(),
618
- description: z.string().optional(),
619
- control: z.string().optional(),
620
- default: z.string().optional(),
621
- hidden: z.boolean().optional(),
622
- disabled: z.boolean().optional(),
623
- icon: iconSchema.optional(),
624
- image: imageSchema.optional(),
625
- keywords: z.array(z.string()).optional(),
626
- summary: summaryProviderSchema.optional(),
627
- analyticsId: z.string().optional(),
628
- persistAsync: persistAsyncSchema.optional(),
629
- refreshStepOnChange: z.boolean().optional(),
630
- validationAsync: validateAsyncSchema.optional(),
631
- validationMessages: z.record(z.string()).optional(),
632
- alert: alertLayoutSchema.optional(),
633
- cameraConfig: jsonElementSchema.optional(),
634
- accepts: z.array(z.string()).optional(),
635
- maxSize: z.number().optional(),
636
- source: uploadSourceSchema.optional(),
637
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
638
- autofillKey: z.string().optional(),
639
- help: helpSchema.optional(),
640
- suggestions: suggestionsSchema.optional(),
641
- onChange: behaviorSchema.optional(),
642
- media: mediaSchema.optional(),
643
- }),
578
+ export const layoutSchema: z.ZodSchema<Layout> = z.lazy(() =>
579
+ z.union([
580
+ alertLayoutSchema,
581
+ boxLayoutSchema,
582
+ buttonLayoutSchema,
583
+ columnsLayoutSchema,
584
+ decisionLayoutSchema,
585
+ dividerLayoutSchema,
586
+ formLayoutSchema,
587
+ headingLayoutSchema,
588
+ imageLayoutSchema,
589
+ infoLayoutSchema,
590
+ instructionsLayoutSchema,
591
+ listLayoutSchema,
592
+ loadingIndicatorLayoutSchema,
593
+ markdownLayoutSchema,
594
+ modalLayoutSchema,
595
+ paragraphLayoutSchema,
596
+ progressLayoutSchema,
597
+ reviewLayoutSchema,
598
+ searchLayoutSchema,
599
+ sectionLayoutSchema,
600
+ statusListLayoutSchema,
601
+ tabsLayoutSchema,
602
+ ]),
644
603
  );
645
604
 
646
- export const persistAsyncSchema: z.ZodSchema<PersistAsync> = z.lazy(() =>
605
+ export const sectionLayoutCallToActionSchema: z.ZodSchema<SectionLayoutCallToAction> = z.lazy(() =>
647
606
  z.object({
648
- param: z.string(),
649
- idProperty: z.string(),
650
- schema: schemaSchema,
651
- url: z.string(),
652
- method: httpMethodSchema,
607
+ title: z.string(),
608
+ accessibilityDescription: z.string().optional(),
609
+ behavior: behaviorSchema,
653
610
  }),
654
611
  );
655
612
 
656
- export const behaviorSchema: z.ZodSchema<Behavior> = z.lazy(() =>
657
- z.union([
658
- actionBehaviorSchema,
659
- containerBehaviorSchema,
660
- copyBehaviorSchema,
661
- dismissBehaviorSchema,
662
- linkBehaviorSchema,
663
- modalBehaviorSchema,
664
- refreshBehaviorSchema,
665
- ]),
613
+ export const listLayoutCallToActionSchema: z.ZodSchema<ListLayoutCallToAction> = z.lazy(() =>
614
+ z.object({
615
+ title: z.string(),
616
+ accessibilityDescription: z.string().optional(),
617
+ behavior: behaviorSchema,
618
+ }),
666
619
  );
667
620
 
668
- export const integerSchemaSchema: z.ZodSchema<IntegerSchema> = z.lazy(() =>
621
+ export const listLayoutItemSchema: z.ZodSchema<ListLayoutItem> = z.lazy(() =>
669
622
  z.object({
670
- type: z.literal('integer'),
671
- autofillProvider: z.string().optional(),
672
- promoted: z.boolean().optional(),
673
- refreshFormOnChange: z.boolean().optional(),
674
- refreshUrl: z.string().optional(),
675
- refreshFormUrl: z.string().optional(),
676
- placeholder: z.string().optional(),
677
- minimum: z.number().optional(),
678
- maximum: z.number().optional(),
679
- $id: z.string().optional(),
680
- title: z.string().optional(),
681
- description: z.string().optional(),
682
- control: z.string().optional(),
683
- default: z.number().optional(),
684
- hidden: z.boolean().optional(),
685
- disabled: z.boolean().optional(),
623
+ status: listLayoutStatusSchema.optional(),
686
624
  icon: iconSchema.optional(),
687
625
  image: imageSchema.optional(),
688
- keywords: z.array(z.string()).optional(),
689
- summary: summaryProviderSchema.optional(),
690
- analyticsId: z.string().optional(),
691
- persistAsync: persistAsyncSchema.optional(),
692
- refreshStepOnChange: z.boolean().optional(),
693
- validationAsync: validateAsyncSchema.optional(),
694
- validationMessages: z.record(z.string()).optional(),
695
- alert: alertLayoutSchema.optional(),
696
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
697
- autofillKey: z.string().optional(),
698
- help: helpSchema.optional(),
699
- onChange: behaviorSchema.optional(),
626
+ title: z.string().optional(),
627
+ subtitle: z.string().optional(),
628
+ value: z.string().optional(),
629
+ subvalue: z.string().optional(),
630
+ tag: z.string().optional(),
631
+ additionalInfo: additionalInfoSchema.optional(),
632
+ supportingValues: supportingValuesSchema.optional(),
633
+ inlineAlert: inlineAlertSchema.optional(),
634
+ description: z.string().optional(),
700
635
  media: mediaSchema.optional(),
636
+ analyticsId: z.string().optional(),
701
637
  }),
702
638
  );
703
639
 
704
- export const arraySchemaTupleSchema: z.ZodSchema<ArraySchemaTuple> = z.lazy(() =>
640
+ export const buttonLayoutSchema: z.ZodSchema<ButtonLayout> = z.lazy(() =>
705
641
  z.object({
706
- type: z.literal('array'),
707
- promoted: z.boolean().optional(),
708
- $id: z.string().optional(),
709
- items: z.array(schemaSchema),
642
+ type: z.literal('button'),
643
+ action: actionSchema.optional(),
644
+ size: sizeSchema.optional(),
710
645
  title: z.string().optional(),
711
- description: z.string().optional(),
646
+ behavior: behaviorSchema.optional(),
647
+ context: contextSchema.optional(),
648
+ disabled: z.boolean().optional(),
649
+ pinOrder: z.number().optional(),
712
650
  control: z.string().optional(),
713
- hidden: z.boolean().optional(),
714
- icon: iconSchema.optional(),
715
- image: imageSchema.optional(),
716
- keywords: z.array(z.string()).optional(),
717
- summary: summaryProviderSchema.optional(),
651
+ margin: sizeSchema.optional(),
718
652
  analyticsId: z.string().optional(),
719
- persistAsync: persistAsyncSchema.optional(),
720
- validationAsync: validateAsyncSchema.optional(),
721
- alert: alertLayoutSchema.optional(),
722
- media: mediaSchema.optional(),
723
653
  }),
724
654
  );
725
655
 
726
- export const oneOfSchemaSchema: z.ZodSchema<OneOfSchema> = z.lazy(() =>
656
+ export const tabsLayoutSchema: z.ZodSchema<TabsLayout> = z.lazy(() =>
727
657
  z.object({
728
- autofillProvider: z.string().optional(),
729
- promoted: z.boolean().optional(),
730
- refreshFormOnChange: z.boolean().optional(),
731
- refreshUrl: z.string().optional(),
732
- refreshFormUrl: z.string().optional(),
733
- promotion: jsonElementSchema.optional(),
734
- oneOf: z.array(schemaSchema),
735
- placeholder: z.string().optional(),
736
- $id: z.string().optional(),
737
- title: z.string().optional(),
738
- description: z.string().optional(),
658
+ type: z.literal('tabs'),
659
+ tabs: z.array(tabsLayoutTabSchema),
739
660
  control: z.string().optional(),
740
- default: jsonElementSchema.optional(),
741
- hidden: z.boolean().optional(),
742
- icon: iconSchema.optional(),
743
- image: imageSchema.optional(),
744
- keywords: z.array(z.string()).optional(),
745
- summary: summaryProviderSchema.optional(),
661
+ margin: sizeSchema.optional(),
746
662
  analyticsId: z.string().optional(),
747
- refreshStepOnChange: z.boolean().optional(),
748
- alert: alertLayoutSchema.optional(),
749
- help: helpSchema.optional(),
750
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
751
- autofillKey: z.string().optional(),
752
- validationMessages: z.record(z.string()).optional(),
753
- disabled: z.boolean().optional(),
754
- onChange: behaviorSchema.optional(),
755
- media: mediaSchema.optional(),
756
663
  }),
757
664
  );
758
665
 
759
- export const constSchemaSchema: z.ZodSchema<ConstSchema> = z.lazy(() =>
666
+ export const tabsLayoutTabSchema: z.ZodSchema<TabsLayoutTab> = z.lazy(() =>
760
667
  z.object({
761
- hidden: z.boolean().optional(),
762
- alert: alertLayoutSchema.optional(),
763
- control: z.string().optional(),
764
- promoted: z.boolean().optional(),
765
- $id: z.string().optional(),
766
- const: jsonElementSchema,
668
+ title: z.string(),
669
+ components: z.array(layoutSchema),
670
+ tag: z.string().optional(),
671
+ analyticsId: z.string().optional(),
672
+ }),
673
+ );
674
+
675
+ export const listLayoutSchema: z.ZodSchema<ListLayout> = z.lazy(() =>
676
+ z.object({
677
+ type: z.literal('list'),
767
678
  title: z.string().optional(),
768
- description: z.string().optional(),
769
- icon: iconSchema.optional(),
770
- image: imageSchema.optional(),
771
- keywords: z.array(z.string()).optional(),
772
- summary: summaryProviderSchema.optional(),
679
+ callToAction: listLayoutCallToActionSchema.optional(),
680
+ items: z.array(listLayoutItemSchema),
681
+ control: z.string().optional(),
682
+ margin: sizeSchema.optional(),
773
683
  analyticsId: z.string().optional(),
774
- disabled: z.boolean().optional(),
775
- media: mediaSchema.optional(),
776
684
  }),
777
685
  );
778
686
 
779
- export const arraySchemaSchema: z.ZodSchema<ArraySchema> = z.lazy(() =>
780
- z.union([arraySchemaListSchema, arraySchemaTupleSchema]),
687
+ export const itemCallToActionSchema: z.ZodSchema<ItemCallToAction> = z.lazy(() =>
688
+ z.object({
689
+ title: z.string(),
690
+ accessibilityDescription: z.string().optional(),
691
+ behavior: behaviorSchema,
692
+ }),
781
693
  );
782
694
 
783
- export const blobSchemaSchema: z.ZodSchema<BlobSchema> = z.lazy(() =>
695
+ export const statusListLayoutSchema: z.ZodSchema<StatusListLayout> = z.lazy(() =>
784
696
  z.object({
785
- type: z.literal('blob'),
786
- promoted: z.boolean().optional(),
787
- $id: z.string().optional(),
697
+ type: z.literal('status-list'),
698
+ items: z.array(statusListLayoutItemSchema),
788
699
  title: z.string().optional(),
789
- description: z.string().optional(),
790
700
  control: z.string().optional(),
791
- hidden: z.boolean().optional(),
792
- icon: iconSchema.optional(),
793
- image: imageSchema.optional(),
794
- keywords: z.array(z.string()).optional(),
795
- summary: summaryProviderSchema.optional(),
701
+ margin: sizeSchema.optional(),
796
702
  analyticsId: z.string().optional(),
797
- validationAsync: validateAsyncSchema.optional(),
798
- validationMessages: z.record(z.string()).optional(),
799
- alert: alertLayoutSchema.optional(),
800
- cameraConfig: jsonElementSchema.optional(),
801
- accepts: z.array(z.string()).optional(),
802
- maxSize: z.number().optional(),
803
- source: uploadSourceSchema.optional(),
804
- disabled: z.boolean().optional(),
805
- media: mediaSchema.optional(),
806
703
  }),
807
704
  );
808
705
 
809
- export const booleanSchemaSchema: z.ZodSchema<BooleanSchema> = z.lazy(() =>
706
+ export const statusListLayoutItemSchema: z.ZodSchema<StatusListLayoutItem> = z.lazy(() =>
810
707
  z.object({
811
- type: z.literal('boolean'),
812
- autofillProvider: z.string().optional(),
813
- promoted: z.boolean().optional(),
814
- refreshFormOnChange: z.boolean().optional(),
815
- refreshUrl: z.string().optional(),
816
- refreshFormUrl: z.string().optional(),
817
- $id: z.string().optional(),
818
- title: z.string().optional(),
708
+ title: z.string(),
819
709
  description: z.string().optional(),
820
- control: z.string().optional(),
821
- default: z.boolean().optional(),
822
- hidden: z.boolean().optional(),
823
- disabled: z.boolean().optional(),
824
- icon: iconSchema.optional(),
825
- image: imageSchema.optional(),
826
- keywords: z.array(z.string()).optional(),
827
- summary: summaryProviderSchema.optional(),
710
+ icon: iconSchema,
711
+ status: statusListLayoutStatusSchema.optional(),
712
+ callToAction: itemCallToActionSchema.optional(),
713
+ tag: z.string().optional(),
828
714
  analyticsId: z.string().optional(),
829
- persistAsync: persistAsyncSchema.optional(),
830
- refreshStepOnChange: z.boolean().optional(),
831
- validationAsync: validateAsyncSchema.optional(),
832
- alert: alertLayoutSchema.optional(),
833
- autofillKey: z.string().optional(),
834
- help: helpSchema.optional(),
835
- onChange: behaviorSchema.optional(),
836
- media: mediaSchema.optional(),
837
715
  }),
838
716
  );
839
717
 
840
- export const numberSchemaSchema: z.ZodSchema<NumberSchema> = z.lazy(() =>
718
+ export const decisionLayoutOptionSchema: z.ZodSchema<DecisionLayoutOption> = z.lazy(() =>
841
719
  z.object({
842
- type: z.literal('number'),
843
- autofillProvider: z.string().optional(),
844
- promoted: z.boolean().optional(),
845
- refreshFormOnChange: z.boolean().optional(),
846
- refreshUrl: z.string().optional(),
847
- refreshFormUrl: z.string().optional(),
848
- placeholder: z.string().optional(),
849
- minimum: z.number().optional(),
850
- maximum: z.number().optional(),
851
- $id: z.string().optional(),
852
- title: z.string().optional(),
720
+ action: actionSchema.optional(),
721
+ title: z.string(),
853
722
  description: z.string().optional(),
854
- control: z.string().optional(),
855
- default: z.number().optional(),
856
- hidden: z.boolean().optional(),
857
723
  disabled: z.boolean().optional(),
858
724
  icon: iconSchema.optional(),
859
725
  image: imageSchema.optional(),
860
- keywords: z.array(z.string()).optional(),
861
- summary: summaryProviderSchema.optional(),
862
- analyticsId: z.string().optional(),
863
- persistAsync: persistAsyncSchema.optional(),
864
- refreshStepOnChange: z.boolean().optional(),
865
- validationAsync: validateAsyncSchema.optional(),
866
- validationMessages: z.record(z.string()).optional(),
867
- alert: alertLayoutSchema.optional(),
868
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
869
- autofillKey: z.string().optional(),
870
- help: helpSchema.optional(),
871
- onChange: behaviorSchema.optional(),
726
+ behavior: behaviorSchema.optional(),
727
+ tag: z.string().optional(),
728
+ additionalText: z.string().optional(),
729
+ supportingValues: supportingValuesSchema.optional(),
730
+ inlineAlert: inlineAlertSchema.optional(),
872
731
  media: mediaSchema.optional(),
732
+ analyticsId: z.string().optional(),
733
+ keywords: z.array(z.string()).optional(),
873
734
  }),
874
735
  );
875
736
 
876
- export const objectSchemaSchema: z.ZodSchema<ObjectSchema> = z.lazy(() =>
737
+ export const decisionLayoutSchema: z.ZodSchema<DecisionLayout> = z.lazy(() =>
877
738
  z.object({
878
- type: z.literal('object'),
879
- disabled: z.boolean().optional(),
880
- promoted: z.boolean().optional(),
881
- help: helpSchema.optional(),
882
- properties: z.record(schemaSchema),
883
- displayOrder: z.array(z.string()),
884
- required: z.array(z.string()).optional(),
885
- $id: z.string().optional(),
739
+ type: z.literal('decision'),
886
740
  title: z.string().optional(),
887
- description: z.string().optional(),
741
+ options: z.array(decisionLayoutOptionSchema),
888
742
  control: z.string().optional(),
889
- hidden: z.boolean().optional(),
890
- icon: iconSchema.optional(),
891
- image: imageSchema.optional(),
892
- keywords: z.array(z.string()).optional(),
893
- summary: summaryProviderSchema.optional(),
743
+ margin: sizeSchema.optional(),
894
744
  analyticsId: z.string().optional(),
895
- alert: alertLayoutSchema.optional(),
896
- media: mediaSchema.optional(),
897
745
  }),
898
746
  );
899
747
 
900
- export const arraySchemaListSchema: z.ZodSchema<ArraySchemaList> = z.lazy(() =>
748
+ export const reviewLayoutSchema: z.ZodSchema<ReviewLayout> = z.lazy(() =>
901
749
  z.object({
902
- type: z.literal('array'),
903
- promoted: z.boolean().optional(),
904
- $id: z.string().optional(),
905
- items: schemaSchema,
906
- addItemTitle: z.string(),
907
- editItemTitle: z.string(),
908
- minItems: z.number().optional(),
909
- maxItems: z.number().optional(),
910
- placeholder: z.string().optional(),
750
+ type: z.literal('review'),
751
+ orientation: z.string().optional(),
752
+ action: actionSchema.optional(),
753
+ fields: z.array(reviewLayoutFieldSchema),
911
754
  title: z.string().optional(),
912
- description: z.string().optional(),
755
+ callToAction: reviewLayoutCallToActionSchema.optional(),
913
756
  control: z.string().optional(),
914
- hidden: z.boolean().optional(),
757
+ margin: sizeSchema.optional(),
758
+ analyticsId: z.string().optional(),
759
+ }),
760
+ );
761
+
762
+ export const reviewLayoutFieldSchema: z.ZodSchema<ReviewLayoutField> = z.lazy(() =>
763
+ z.object({
764
+ label: z.string(),
765
+ value: z.string(),
766
+ rawValue: z.string().optional(),
767
+ help: helpSchema.optional(),
768
+ tag: z.string().optional(),
915
769
  icon: iconSchema.optional(),
916
770
  image: imageSchema.optional(),
917
- keywords: z.array(z.string()).optional(),
918
- summary: summarySummariserSchema.optional(),
919
- analyticsId: z.string().optional(),
920
- persistAsync: persistAsyncSchema.optional(),
921
- validationAsync: validateAsyncSchema.optional(),
922
- alert: alertLayoutSchema.optional(),
923
- validationMessages: z.record(z.string()).optional(),
924
- disabled: z.boolean().optional(),
771
+ additionalInfo: additionalInfoSchema.optional(),
772
+ inlineAlert: inlineAlertSchema.optional(),
773
+ callToAction: reviewLayoutCallToActionSchema.optional(),
925
774
  media: mediaSchema.optional(),
775
+ analyticsId: z.string().optional(),
926
776
  }),
927
777
  );
928
778
 
929
- export const modalResponseBodySchema: z.ZodSchema<ModalResponseBody> = z.lazy(() =>
779
+ export const reviewLayoutCallToActionSchema: z.ZodSchema<ReviewLayoutCallToAction> = z.lazy(() =>
930
780
  z.object({
931
- title: z.string().optional(),
932
- content: z.array(layoutSchema),
781
+ action: actionSchema.optional(),
782
+ title: z.string(),
783
+ accessibilityDescription: z.string().optional(),
784
+ behavior: behaviorSchema.optional(),
933
785
  }),
934
786
  );
935
787
 
936
- export const layoutSchema: z.ZodSchema<Layout> = z.lazy(() =>
937
- z.union([
938
- alertLayoutSchema,
939
- boxLayoutSchema,
940
- buttonLayoutSchema,
941
- columnsLayoutSchema,
942
- decisionLayoutSchema,
943
- dividerLayoutSchema,
944
- formLayoutSchema,
945
- headingLayoutSchema,
946
- imageLayoutSchema,
947
- infoLayoutSchema,
948
- instructionsLayoutSchema,
949
- listLayoutSchema,
950
- loadingIndicatorLayoutSchema,
951
- markdownLayoutSchema,
952
- modalLayoutSchema,
953
- paragraphLayoutSchema,
954
- progressLayoutSchema,
955
- reviewLayoutSchema,
956
- searchLayoutSchema,
957
- sectionLayoutSchema,
958
- statusListLayoutSchema,
959
- tabsLayoutSchema,
960
- ]),
788
+ export const boxLayoutSchema: z.ZodSchema<BoxLayout> = z.lazy(() =>
789
+ z.object({
790
+ type: z.literal('box'),
791
+ components: z.array(layoutSchema),
792
+ width: sizeSchema.optional(),
793
+ border: z.boolean().optional(),
794
+ control: z.string().optional(),
795
+ margin: sizeSchema.optional(),
796
+ analyticsId: z.string().optional(),
797
+ }),
961
798
  );
962
799
 
963
- export const toolbarItemSchema: z.ZodSchema<ToolbarItem> = z.lazy(() => toolbarButtonSchema);
964
-
965
- export const toolbarButtonSchema: z.ZodSchema<ToolbarButton> = z.lazy(() =>
800
+ export const modalLayoutSchema: z.ZodSchema<ModalLayout> = z.lazy(() =>
966
801
  z.object({
967
- type: z.literal('toolbar-button'),
968
- title: z.string(),
969
- behavior: behaviorSchema,
970
- accessibilityDescription: z.string().optional(),
971
- media: mediaSchema.optional(),
802
+ type: z.literal('modal'),
972
803
  control: z.string().optional(),
973
- context: contextSchema.optional(),
974
- disabled: z.boolean().optional(),
804
+ margin: sizeSchema.optional(),
805
+ trigger: modalLayoutTriggerSchema,
806
+ content: modalLayoutContentSchema,
975
807
  analyticsId: z.string().optional(),
976
808
  }),
977
809
  );
978
810
 
979
- export const toolbarSchema: z.ZodSchema<Toolbar> = z.lazy(() =>
811
+ export const modalLayoutContentSchema: z.ZodSchema<ModalLayoutContent> = z.lazy(() =>
980
812
  z.object({
981
- items: z.array(toolbarItemSchema),
982
- control: z.string().optional(),
813
+ title: z.string().optional(),
814
+ components: z.array(layoutSchema),
983
815
  }),
984
816
  );
985
817
 
986
- export const modalBehaviorSchema: z.ZodSchema<ModalBehavior> = z.lazy(() =>
818
+ export const alertLayoutSchema: z.ZodSchema<AlertLayout> = z.lazy(() =>
987
819
  z.object({
988
- type: z.literal('modal'),
989
- title: z.string().optional(),
990
- content: z.array(layoutSchema),
820
+ type: z.literal('alert'),
821
+ markdown: z.string(),
822
+ context: contextSchema.optional(),
823
+ control: z.string().optional(),
824
+ margin: sizeSchema.optional(),
825
+ callToAction: alertLayoutCallToActionSchema.optional(),
826
+ analyticsId: z.string().optional(),
991
827
  }),
992
828
  );
993
829
 
994
- export const pollingSchema: z.ZodSchema<Polling> = z.lazy(() =>
830
+ export const alertLayoutCallToActionSchema: z.ZodSchema<AlertLayoutCallToAction> = z.lazy(() =>
995
831
  z.object({
996
- interval: z.number().optional(),
997
- url: z.string(),
998
- delay: z.number().optional(),
999
- timeout: z.number().optional(),
1000
- maxAttempts: z.number(),
1001
- onError: pollingOnErrorSchema,
832
+ title: z.string(),
833
+ accessibilityDescription: z.string().optional(),
834
+ behavior: behaviorSchema,
1002
835
  }),
1003
836
  );
1004
837
 
1005
- export const pollingOnErrorSchema: z.ZodSchema<PollingOnError> = z.lazy(() =>
838
+ export const sectionLayoutSchema: z.ZodSchema<SectionLayout> = z.lazy(() =>
1006
839
  z.object({
1007
- action: actionSchema.optional(),
1008
- behavior: behaviorSchema.optional(),
840
+ type: z.literal('section'),
841
+ components: z.array(layoutSchema),
842
+ title: z.string(),
843
+ callToAction: sectionLayoutCallToActionSchema.optional(),
844
+ control: z.string().optional(),
845
+ margin: sizeSchema.optional(),
846
+ analyticsId: z.string().optional(),
1009
847
  }),
1010
848
  );
1011
849
 
1012
- export const linkHandlerSchema: z.ZodSchema<LinkHandler> = z.lazy(() =>
850
+ export const columnsLayoutSchema: z.ZodSchema<ColumnsLayout> = z.lazy(() =>
1013
851
  z.object({
1014
- regexPattern: z.string(),
1015
- behavior: behaviorSchema.optional(),
852
+ type: z.literal('columns'),
853
+ left: z.array(layoutSchema),
854
+ right: z.array(layoutSchema),
855
+ bias: columnsLayoutBiasSchema.optional(),
856
+ control: z.string().optional(),
857
+ margin: sizeSchema.optional(),
858
+ analyticsId: z.string().optional(),
1016
859
  }),
1017
860
  );
1018
861
 
@@ -1041,255 +884,412 @@ export const stepSchema: z.ZodSchema<Step> = z.lazy(() =>
1041
884
  }),
1042
885
  );
1043
886
 
1044
- export const statusListLayoutSchema: z.ZodSchema<StatusListLayout> = z.lazy(() =>
887
+ export const schemaSchema: z.ZodSchema<Schema> = z.lazy(() =>
888
+ z.union([
889
+ allOfSchemaSchema,
890
+ arraySchemaSchema,
891
+ blobSchemaSchema,
892
+ booleanSchemaSchema,
893
+ constSchemaSchema,
894
+ integerSchemaSchema,
895
+ numberSchemaSchema,
896
+ objectSchemaSchema,
897
+ oneOfSchemaSchema,
898
+ stringSchemaSchema,
899
+ ]),
900
+ );
901
+
902
+ export const pollingSchema: z.ZodSchema<Polling> = z.lazy(() =>
1045
903
  z.object({
1046
- type: z.literal('status-list'),
1047
- items: z.array(statusListLayoutItemSchema),
1048
- title: z.string().optional(),
1049
- control: z.string().optional(),
1050
- margin: sizeSchema.optional(),
1051
- analyticsId: z.string().optional(),
904
+ interval: z.number().optional(),
905
+ url: z.string(),
906
+ delay: z.number().optional(),
907
+ timeout: z.number().optional(),
908
+ maxAttempts: z.number(),
909
+ onError: pollingOnErrorSchema,
1052
910
  }),
1053
911
  );
1054
912
 
1055
- export const statusListLayoutItemSchema: z.ZodSchema<StatusListLayoutItem> = z.lazy(() =>
913
+ export const linkHandlerSchema: z.ZodSchema<LinkHandler> = z.lazy(() =>
1056
914
  z.object({
1057
- title: z.string(),
1058
- description: z.string().optional(),
1059
- icon: iconSchema,
1060
- status: statusListLayoutStatusSchema.optional(),
1061
- callToAction: itemCallToActionSchema.optional(),
1062
- tag: z.string().optional(),
1063
- analyticsId: z.string().optional(),
915
+ regexPattern: z.string(),
916
+ behavior: behaviorSchema.optional(),
1064
917
  }),
1065
918
  );
1066
919
 
1067
- export const tabsLayoutTabSchema: z.ZodSchema<TabsLayoutTab> = z.lazy(() =>
920
+ export const toolbarSchema: z.ZodSchema<Toolbar> = z.lazy(() =>
1068
921
  z.object({
1069
- title: z.string(),
1070
- components: z.array(layoutSchema),
1071
- tag: z.string().optional(),
1072
- analyticsId: z.string().optional(),
922
+ items: z.array(toolbarItemSchema),
923
+ control: z.string().optional(),
1073
924
  }),
1074
925
  );
1075
926
 
1076
- export const listLayoutItemSchema: z.ZodSchema<ListLayoutItem> = z.lazy(() =>
927
+ export const modalBehaviorSchema: z.ZodSchema<ModalBehavior> = z.lazy(() =>
1077
928
  z.object({
1078
- status: listLayoutStatusSchema.optional(),
1079
- icon: iconSchema.optional(),
1080
- image: imageSchema.optional(),
929
+ type: z.literal('modal'),
1081
930
  title: z.string().optional(),
1082
- subtitle: z.string().optional(),
1083
- value: z.string().optional(),
1084
- subvalue: z.string().optional(),
1085
- tag: z.string().optional(),
1086
- additionalInfo: additionalInfoSchema.optional(),
1087
- supportingValues: supportingValuesSchema.optional(),
1088
- inlineAlert: inlineAlertSchema.optional(),
1089
- description: z.string().optional(),
1090
- media: mediaSchema.optional(),
1091
- analyticsId: z.string().optional(),
931
+ content: z.array(layoutSchema),
1092
932
  }),
1093
933
  );
1094
934
 
1095
- export const additionalInfoSchema: z.ZodSchema<AdditionalInfo> = z.lazy(() =>
935
+ export const pollingOnErrorSchema: z.ZodSchema<PollingOnError> = z.lazy(() =>
1096
936
  z.object({
1097
- text: z.string(),
937
+ action: actionSchema.optional(),
1098
938
  behavior: behaviorSchema.optional(),
1099
- accessibilityDescription: z.string().optional(),
1100
939
  }),
1101
940
  );
1102
941
 
1103
- export const columnsLayoutSchema: z.ZodSchema<ColumnsLayout> = z.lazy(() =>
942
+ export const toolbarItemSchema: z.ZodSchema<ToolbarItem> = z.lazy(() => toolbarButtonSchema);
943
+
944
+ export const toolbarButtonSchema: z.ZodSchema<ToolbarButton> = z.lazy(() =>
1104
945
  z.object({
1105
- type: z.literal('columns'),
1106
- left: z.array(layoutSchema),
1107
- right: z.array(layoutSchema),
1108
- bias: columnsLayoutBiasSchema.optional(),
946
+ type: z.literal('toolbar-button'),
947
+ title: z.string(),
948
+ behavior: behaviorSchema,
949
+ accessibilityDescription: z.string().optional(),
950
+ media: mediaSchema.optional(),
1109
951
  control: z.string().optional(),
1110
- margin: sizeSchema.optional(),
952
+ context: contextSchema.optional(),
953
+ disabled: z.boolean().optional(),
1111
954
  analyticsId: z.string().optional(),
1112
955
  }),
1113
956
  );
1114
957
 
1115
- export const decisionLayoutSchema: z.ZodSchema<DecisionLayout> = z.lazy(() =>
958
+ export const persistAsyncSchema: z.ZodSchema<PersistAsync> = z.lazy(() =>
1116
959
  z.object({
1117
- type: z.literal('decision'),
1118
- title: z.string().optional(),
1119
- options: z.array(decisionLayoutOptionSchema),
1120
- control: z.string().optional(),
1121
- margin: sizeSchema.optional(),
1122
- analyticsId: z.string().optional(),
960
+ param: z.string(),
961
+ idProperty: z.string(),
962
+ schema: schemaSchema,
963
+ url: z.string(),
964
+ method: httpMethodSchema,
1123
965
  }),
1124
966
  );
1125
967
 
1126
- export const decisionLayoutOptionSchema: z.ZodSchema<DecisionLayoutOption> = z.lazy(() =>
968
+ export const blobSchemaSchema: z.ZodSchema<BlobSchema> = z.lazy(() =>
1127
969
  z.object({
1128
- action: actionSchema.optional(),
1129
- title: z.string(),
970
+ type: z.literal('blob'),
971
+ promoted: z.boolean().optional(),
972
+ $id: z.string().optional(),
973
+ title: z.string().optional(),
1130
974
  description: z.string().optional(),
1131
- disabled: z.boolean().optional(),
975
+ control: z.string().optional(),
976
+ hidden: z.boolean().optional(),
1132
977
  icon: iconSchema.optional(),
1133
978
  image: imageSchema.optional(),
1134
- behavior: behaviorSchema.optional(),
1135
- tag: z.string().optional(),
1136
- additionalText: z.string().optional(),
1137
- supportingValues: supportingValuesSchema.optional(),
1138
- inlineAlert: inlineAlertSchema.optional(),
1139
- media: mediaSchema.optional(),
1140
- analyticsId: z.string().optional(),
1141
979
  keywords: z.array(z.string()).optional(),
980
+ summary: summaryProviderSchema.optional(),
981
+ analyticsId: z.string().optional(),
982
+ validationAsync: validateAsyncSchema.optional(),
983
+ validationMessages: z.record(z.string()).optional(),
984
+ alert: alertLayoutSchema.optional(),
985
+ cameraConfig: jsonElementSchema.optional(),
986
+ accepts: z.array(z.string()).optional(),
987
+ maxSize: z.number().optional(),
988
+ source: uploadSourceSchema.optional(),
989
+ disabled: z.boolean().optional(),
990
+ media: mediaSchema.optional(),
1142
991
  }),
1143
992
  );
1144
993
 
1145
- export const alertLayoutCallToActionSchema: z.ZodSchema<AlertLayoutCallToAction> = z.lazy(() =>
1146
- z.object({
1147
- title: z.string(),
1148
- accessibilityDescription: z.string().optional(),
1149
- behavior: behaviorSchema,
1150
- }),
1151
- );
1152
-
1153
- export const reviewLayoutCallToActionSchema: z.ZodSchema<ReviewLayoutCallToAction> = z.lazy(() =>
994
+ export const oneOfSchemaSchema: z.ZodSchema<OneOfSchema> = z.lazy(() =>
1154
995
  z.object({
1155
- action: actionSchema.optional(),
1156
- title: z.string(),
1157
- accessibilityDescription: z.string().optional(),
1158
- behavior: behaviorSchema.optional(),
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
+ promotion: jsonElementSchema.optional(),
1002
+ oneOf: z.array(schemaSchema),
1003
+ placeholder: z.string().optional(),
1004
+ $id: z.string().optional(),
1005
+ title: z.string().optional(),
1006
+ description: z.string().optional(),
1007
+ control: z.string().optional(),
1008
+ default: jsonElementSchema.optional(),
1009
+ hidden: z.boolean().optional(),
1010
+ icon: iconSchema.optional(),
1011
+ image: imageSchema.optional(),
1012
+ keywords: z.array(z.string()).optional(),
1013
+ summary: summaryProviderSchema.optional(),
1014
+ analyticsId: z.string().optional(),
1015
+ refreshStepOnChange: z.boolean().optional(),
1016
+ alert: alertLayoutSchema.optional(),
1017
+ help: helpSchema.optional(),
1018
+ autocompleteHint: z.array(autocompleteTokenSchema).optional(),
1019
+ autofillKey: z.string().optional(),
1020
+ validationMessages: z.record(z.string()).optional(),
1021
+ disabled: z.boolean().optional(),
1022
+ onChange: behaviorSchema.optional(),
1023
+ media: mediaSchema.optional(),
1159
1024
  }),
1160
1025
  );
1161
1026
 
1162
- export const sectionLayoutCallToActionSchema: z.ZodSchema<SectionLayoutCallToAction> = z.lazy(() =>
1027
+ export const integerSchemaSchema: z.ZodSchema<IntegerSchema> = z.lazy(() =>
1163
1028
  z.object({
1164
- title: z.string(),
1165
- accessibilityDescription: z.string().optional(),
1166
- behavior: behaviorSchema,
1029
+ type: z.literal('integer'),
1030
+ autofillProvider: z.string().optional(),
1031
+ promoted: z.boolean().optional(),
1032
+ refreshFormOnChange: z.boolean().optional(),
1033
+ refreshUrl: z.string().optional(),
1034
+ refreshFormUrl: z.string().optional(),
1035
+ placeholder: z.string().optional(),
1036
+ minimum: z.number().optional(),
1037
+ maximum: z.number().optional(),
1038
+ $id: z.string().optional(),
1039
+ title: z.string().optional(),
1040
+ description: z.string().optional(),
1041
+ control: z.string().optional(),
1042
+ default: z.number().optional(),
1043
+ hidden: z.boolean().optional(),
1044
+ disabled: z.boolean().optional(),
1045
+ icon: iconSchema.optional(),
1046
+ image: imageSchema.optional(),
1047
+ keywords: z.array(z.string()).optional(),
1048
+ summary: summaryProviderSchema.optional(),
1049
+ analyticsId: z.string().optional(),
1050
+ persistAsync: persistAsyncSchema.optional(),
1051
+ refreshStepOnChange: z.boolean().optional(),
1052
+ validationAsync: validateAsyncSchema.optional(),
1053
+ validationMessages: z.record(z.string()).optional(),
1054
+ alert: alertLayoutSchema.optional(),
1055
+ autocompleteHint: z.array(autocompleteTokenSchema).optional(),
1056
+ autofillKey: z.string().optional(),
1057
+ help: helpSchema.optional(),
1058
+ onChange: behaviorSchema.optional(),
1059
+ media: mediaSchema.optional(),
1167
1060
  }),
1168
1061
  );
1169
1062
 
1170
- export const reviewLayoutSchema: z.ZodSchema<ReviewLayout> = z.lazy(() =>
1063
+ export const stringSchemaSchema: z.ZodSchema<StringSchema> = z.lazy(() =>
1171
1064
  z.object({
1172
- type: z.literal('review'),
1173
- orientation: z.string().optional(),
1174
- action: actionSchema.optional(),
1175
- fields: z.array(reviewLayoutFieldSchema),
1065
+ type: z.literal('string'),
1066
+ autofillProvider: z.string().optional(),
1067
+ promoted: z.boolean().optional(),
1068
+ refreshFormOnChange: z.boolean().optional(),
1069
+ refreshUrl: z.string().optional(),
1070
+ refreshFormUrl: z.string().optional(),
1071
+ format: stringSchemaFormatSchema.optional(),
1072
+ displayFormat: z.string().optional(),
1073
+ placeholder: z.string().optional(),
1074
+ minLength: z.number().optional(),
1075
+ maxLength: z.number().optional(),
1076
+ minimum: z.string().optional(),
1077
+ maximum: z.string().optional(),
1078
+ pattern: z.string().optional(),
1079
+ autocapitalization: autocapitalizationTypeSchema.optional(),
1080
+ autocorrect: z.boolean().optional(),
1081
+ $id: z.string().optional(),
1176
1082
  title: z.string().optional(),
1177
- callToAction: reviewLayoutCallToActionSchema.optional(),
1083
+ description: z.string().optional(),
1178
1084
  control: z.string().optional(),
1179
- margin: sizeSchema.optional(),
1085
+ default: z.string().optional(),
1086
+ hidden: z.boolean().optional(),
1087
+ disabled: z.boolean().optional(),
1088
+ icon: iconSchema.optional(),
1089
+ image: imageSchema.optional(),
1090
+ keywords: z.array(z.string()).optional(),
1091
+ summary: summaryProviderSchema.optional(),
1180
1092
  analyticsId: z.string().optional(),
1093
+ persistAsync: persistAsyncSchema.optional(),
1094
+ refreshStepOnChange: z.boolean().optional(),
1095
+ validationAsync: validateAsyncSchema.optional(),
1096
+ validationMessages: z.record(z.string()).optional(),
1097
+ alert: alertLayoutSchema.optional(),
1098
+ cameraConfig: jsonElementSchema.optional(),
1099
+ accepts: z.array(z.string()).optional(),
1100
+ maxSize: z.number().optional(),
1101
+ source: uploadSourceSchema.optional(),
1102
+ autocompleteHint: z.array(autocompleteTokenSchema).optional(),
1103
+ autofillKey: z.string().optional(),
1104
+ help: helpSchema.optional(),
1105
+ suggestions: suggestionsSchema.optional(),
1106
+ onChange: behaviorSchema.optional(),
1107
+ media: mediaSchema.optional(),
1181
1108
  }),
1182
1109
  );
1183
1110
 
1184
- export const reviewLayoutFieldSchema: z.ZodSchema<ReviewLayoutField> = z.lazy(() =>
1111
+ export const objectSchemaSchema: z.ZodSchema<ObjectSchema> = z.lazy(() =>
1185
1112
  z.object({
1186
- label: z.string(),
1187
- value: z.string(),
1188
- rawValue: z.string().optional(),
1113
+ type: z.literal('object'),
1114
+ disabled: z.boolean().optional(),
1115
+ promoted: z.boolean().optional(),
1189
1116
  help: helpSchema.optional(),
1190
- tag: z.string().optional(),
1117
+ properties: z.record(schemaSchema),
1118
+ displayOrder: z.array(z.string()),
1119
+ required: z.array(z.string()).optional(),
1120
+ $id: z.string().optional(),
1121
+ title: z.string().optional(),
1122
+ description: z.string().optional(),
1123
+ control: z.string().optional(),
1124
+ hidden: z.boolean().optional(),
1191
1125
  icon: iconSchema.optional(),
1192
1126
  image: imageSchema.optional(),
1193
- additionalInfo: additionalInfoSchema.optional(),
1194
- inlineAlert: inlineAlertSchema.optional(),
1195
- callToAction: reviewLayoutCallToActionSchema.optional(),
1196
- media: mediaSchema.optional(),
1127
+ keywords: z.array(z.string()).optional(),
1128
+ summary: summaryProviderSchema.optional(),
1197
1129
  analyticsId: z.string().optional(),
1130
+ alert: alertLayoutSchema.optional(),
1131
+ media: mediaSchema.optional(),
1198
1132
  }),
1199
1133
  );
1200
1134
 
1201
- export const boxLayoutSchema: z.ZodSchema<BoxLayout> = z.lazy(() =>
1135
+ export const allOfSchemaSchema: z.ZodSchema<AllOfSchema> = z.lazy(() =>
1202
1136
  z.object({
1203
- type: z.literal('box'),
1204
- components: z.array(layoutSchema),
1205
- width: sizeSchema.optional(),
1206
- border: z.boolean().optional(),
1137
+ disabled: z.boolean().optional(),
1138
+ promoted: z.boolean().optional(),
1139
+ allOf: z.array(schemaSchema),
1140
+ $id: z.string().optional(),
1141
+ title: z.string().optional(),
1142
+ description: z.string().optional(),
1207
1143
  control: z.string().optional(),
1208
- margin: sizeSchema.optional(),
1144
+ hidden: z.boolean().optional(),
1145
+ icon: iconSchema.optional(),
1146
+ image: imageSchema.optional(),
1147
+ keywords: z.array(z.string()).optional(),
1148
+ summary: summaryProviderSchema.optional(),
1209
1149
  analyticsId: z.string().optional(),
1150
+ alert: alertLayoutSchema.optional(),
1151
+ media: mediaSchema.optional(),
1210
1152
  }),
1211
1153
  );
1212
1154
 
1213
- export const buttonLayoutSchema: z.ZodSchema<ButtonLayout> = z.lazy(() =>
1214
- z.object({
1215
- type: z.literal('button'),
1216
- action: actionSchema.optional(),
1217
- size: sizeSchema.optional(),
1218
- title: z.string().optional(),
1219
- behavior: behaviorSchema.optional(),
1220
- context: contextSchema.optional(),
1221
- disabled: z.boolean().optional(),
1222
- pinOrder: z.number().optional(),
1223
- control: z.string().optional(),
1224
- margin: sizeSchema.optional(),
1225
- analyticsId: z.string().optional(),
1226
- }),
1155
+ export const arraySchemaSchema: z.ZodSchema<ArraySchema> = z.lazy(() =>
1156
+ z.union([arraySchemaListSchema, arraySchemaTupleSchema]),
1227
1157
  );
1228
1158
 
1229
- export const listLayoutSchema: z.ZodSchema<ListLayout> = z.lazy(() =>
1159
+ export const booleanSchemaSchema: z.ZodSchema<BooleanSchema> = z.lazy(() =>
1230
1160
  z.object({
1231
- type: z.literal('list'),
1161
+ type: z.literal('boolean'),
1162
+ autofillProvider: z.string().optional(),
1163
+ promoted: z.boolean().optional(),
1164
+ refreshFormOnChange: z.boolean().optional(),
1165
+ refreshUrl: z.string().optional(),
1166
+ refreshFormUrl: z.string().optional(),
1167
+ $id: z.string().optional(),
1232
1168
  title: z.string().optional(),
1233
- callToAction: listLayoutCallToActionSchema.optional(),
1234
- items: z.array(listLayoutItemSchema),
1169
+ description: z.string().optional(),
1235
1170
  control: z.string().optional(),
1236
- margin: sizeSchema.optional(),
1171
+ default: z.boolean().optional(),
1172
+ hidden: z.boolean().optional(),
1173
+ disabled: z.boolean().optional(),
1174
+ icon: iconSchema.optional(),
1175
+ image: imageSchema.optional(),
1176
+ keywords: z.array(z.string()).optional(),
1177
+ summary: summaryProviderSchema.optional(),
1237
1178
  analyticsId: z.string().optional(),
1179
+ persistAsync: persistAsyncSchema.optional(),
1180
+ refreshStepOnChange: z.boolean().optional(),
1181
+ validationAsync: validateAsyncSchema.optional(),
1182
+ alert: alertLayoutSchema.optional(),
1183
+ autofillKey: z.string().optional(),
1184
+ help: helpSchema.optional(),
1185
+ onChange: behaviorSchema.optional(),
1186
+ media: mediaSchema.optional(),
1238
1187
  }),
1239
1188
  );
1240
1189
 
1241
- export const modalLayoutSchema: z.ZodSchema<ModalLayout> = z.lazy(() =>
1190
+ export const constSchemaSchema: z.ZodSchema<ConstSchema> = z.lazy(() =>
1242
1191
  z.object({
1243
- type: z.literal('modal'),
1192
+ hidden: z.boolean().optional(),
1244
1193
  control: z.string().optional(),
1245
- margin: sizeSchema.optional(),
1246
- trigger: modalLayoutTriggerSchema,
1247
- content: modalLayoutContentSchema,
1194
+ promoted: z.boolean().optional(),
1195
+ $id: z.string().optional(),
1196
+ const: jsonElementSchema,
1197
+ title: z.string().optional(),
1198
+ description: z.string().optional(),
1199
+ icon: iconSchema.optional(),
1200
+ image: imageSchema.optional(),
1201
+ keywords: z.array(z.string()).optional(),
1202
+ summary: summaryProviderSchema.optional(),
1248
1203
  analyticsId: z.string().optional(),
1204
+ disabled: z.boolean().optional(),
1205
+ media: mediaSchema.optional(),
1206
+ alert: alertLayoutSchema.optional(),
1249
1207
  }),
1250
1208
  );
1251
1209
 
1252
- export const sectionLayoutSchema: z.ZodSchema<SectionLayout> = z.lazy(() =>
1210
+ export const numberSchemaSchema: z.ZodSchema<NumberSchema> = z.lazy(() =>
1253
1211
  z.object({
1254
- type: z.literal('section'),
1255
- components: z.array(layoutSchema),
1256
- title: z.string(),
1257
- callToAction: sectionLayoutCallToActionSchema.optional(),
1212
+ type: z.literal('number'),
1213
+ autofillProvider: z.string().optional(),
1214
+ promoted: z.boolean().optional(),
1215
+ refreshFormOnChange: z.boolean().optional(),
1216
+ refreshUrl: z.string().optional(),
1217
+ refreshFormUrl: z.string().optional(),
1218
+ placeholder: z.string().optional(),
1219
+ minimum: z.number().optional(),
1220
+ maximum: z.number().optional(),
1221
+ $id: z.string().optional(),
1222
+ title: z.string().optional(),
1223
+ description: z.string().optional(),
1258
1224
  control: z.string().optional(),
1259
- margin: sizeSchema.optional(),
1225
+ default: z.number().optional(),
1226
+ hidden: z.boolean().optional(),
1227
+ disabled: z.boolean().optional(),
1228
+ icon: iconSchema.optional(),
1229
+ image: imageSchema.optional(),
1230
+ keywords: z.array(z.string()).optional(),
1231
+ summary: summaryProviderSchema.optional(),
1260
1232
  analyticsId: z.string().optional(),
1233
+ persistAsync: persistAsyncSchema.optional(),
1234
+ refreshStepOnChange: z.boolean().optional(),
1235
+ validationAsync: validateAsyncSchema.optional(),
1236
+ validationMessages: z.record(z.string()).optional(),
1237
+ alert: alertLayoutSchema.optional(),
1238
+ autocompleteHint: z.array(autocompleteTokenSchema).optional(),
1239
+ autofillKey: z.string().optional(),
1240
+ help: helpSchema.optional(),
1241
+ onChange: behaviorSchema.optional(),
1242
+ media: mediaSchema.optional(),
1261
1243
  }),
1262
1244
  );
1263
1245
 
1264
- export const tabsLayoutSchema: z.ZodSchema<TabsLayout> = z.lazy(() =>
1246
+ export const arraySchemaTupleSchema: z.ZodSchema<ArraySchemaTuple> = z.lazy(() =>
1265
1247
  z.object({
1266
- type: z.literal('tabs'),
1267
- tabs: z.array(tabsLayoutTabSchema),
1248
+ type: z.literal('array'),
1249
+ promoted: z.boolean().optional(),
1250
+ $id: z.string().optional(),
1251
+ items: z.array(schemaSchema),
1252
+ title: z.string().optional(),
1253
+ description: z.string().optional(),
1268
1254
  control: z.string().optional(),
1269
- margin: sizeSchema.optional(),
1255
+ hidden: z.boolean().optional(),
1256
+ icon: iconSchema.optional(),
1257
+ image: imageSchema.optional(),
1258
+ keywords: z.array(z.string()).optional(),
1259
+ summary: summaryProviderSchema.optional(),
1270
1260
  analyticsId: z.string().optional(),
1261
+ persistAsync: persistAsyncSchema.optional(),
1262
+ validationAsync: validateAsyncSchema.optional(),
1263
+ alert: alertLayoutSchema.optional(),
1264
+ media: mediaSchema.optional(),
1271
1265
  }),
1272
1266
  );
1273
1267
 
1274
- export const modalLayoutContentSchema: z.ZodSchema<ModalLayoutContent> = z.lazy(() =>
1268
+ export const arraySchemaListSchema: z.ZodSchema<ArraySchemaList> = z.lazy(() =>
1275
1269
  z.object({
1270
+ type: z.literal('array'),
1271
+ promoted: z.boolean().optional(),
1272
+ $id: z.string().optional(),
1273
+ items: schemaSchema,
1274
+ addItemTitle: z.string(),
1275
+ editItemTitle: z.string(),
1276
+ minItems: z.number().optional(),
1277
+ maxItems: z.number().optional(),
1278
+ placeholder: z.string().optional(),
1276
1279
  title: z.string().optional(),
1277
- components: z.array(layoutSchema),
1278
- }),
1279
- );
1280
-
1281
- export const itemCallToActionSchema: z.ZodSchema<ItemCallToAction> = z.lazy(() =>
1282
- z.object({
1283
- title: z.string(),
1284
- accessibilityDescription: z.string().optional(),
1285
- behavior: behaviorSchema,
1286
- }),
1287
- );
1288
-
1289
- export const listLayoutCallToActionSchema: z.ZodSchema<ListLayoutCallToAction> = z.lazy(() =>
1290
- z.object({
1291
- title: z.string(),
1292
- accessibilityDescription: z.string().optional(),
1293
- behavior: behaviorSchema,
1280
+ description: z.string().optional(),
1281
+ control: z.string().optional(),
1282
+ hidden: z.boolean().optional(),
1283
+ icon: iconSchema.optional(),
1284
+ image: imageSchema.optional(),
1285
+ keywords: z.array(z.string()).optional(),
1286
+ summary: summarySummariserSchema.optional(),
1287
+ analyticsId: z.string().optional(),
1288
+ persistAsync: persistAsyncSchema.optional(),
1289
+ validationAsync: validateAsyncSchema.optional(),
1290
+ alert: alertLayoutSchema.optional(),
1291
+ validationMessages: z.record(z.string()).optional(),
1292
+ disabled: z.boolean().optional(),
1293
+ media: mediaSchema.optional(),
1294
1294
  }),
1295
1295
  );