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