@wise/dynamic-flow-types 3.12.0 → 3.14.0

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