@wise/dynamic-flow-types 3.9.0 → 3.10.0-experimental-5de9758

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