@wise/dynamic-flow-types 3.17.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.
Files changed (31) hide show
  1. package/build/main.js +50 -14
  2. package/build/main.mjs +50 -14
  3. package/build/next/feature/Polling.d.ts +8 -6
  4. package/build/next/feature/RefreshBehavior.d.ts +1 -1
  5. package/build/next/index.d.ts +1 -0
  6. package/build/next/layout/MarkdownLayout.d.ts +4 -0
  7. package/build/next/layout/ParagraphLayout.d.ts +4 -0
  8. package/build/next/schema/AllOfSchema.d.ts +15 -0
  9. package/build/next/schema/ArraySchemaList.d.ts +15 -0
  10. package/build/next/schema/ArraySchemaTuple.d.ts +15 -0
  11. package/build/next/schema/BlobSchema.d.ts +15 -0
  12. package/build/next/schema/BooleanSchema.d.ts +15 -0
  13. package/build/next/schema/ConstSchema.d.ts +19 -4
  14. package/build/next/schema/IntegerSchema.d.ts +15 -0
  15. package/build/next/schema/NumberSchema.d.ts +15 -0
  16. package/build/next/schema/ObjectSchema.d.ts +15 -0
  17. package/build/next/schema/OneOfSchema.d.ts +15 -0
  18. package/build/next/schema/StringSchema.d.ts +15 -0
  19. package/build/next/step/Step.d.ts +1 -1
  20. package/build/renderers/CheckboxInputRendererProps.d.ts +4 -0
  21. package/build/renderers/DecisionRendererProps.d.ts +0 -3
  22. package/build/renderers/FormSectionRendererProps.d.ts +5 -5
  23. package/build/renderers/MarkdownRendererProps.d.ts +2 -1
  24. package/build/renderers/MoneyInputRendererProps.d.ts +29 -0
  25. package/build/renderers/ParagraphRendererProps.d.ts +2 -1
  26. package/build/renderers/RendererProps.d.ts +3 -2
  27. package/build/renderers/SelectInputRendererProps.d.ts +7 -2
  28. package/build/renderers/index.d.ts +1 -0
  29. package/build/zod/schemas.d.ts +6 -0
  30. package/build/zod/schemas.ts +886 -851
  31. package/package.json +1 -1
@@ -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,91 +391,100 @@ 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(),
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(),
384
454
  });
385
455
 
386
- export const paragraphLayoutSchema = z.object({
387
- type: z.literal('paragraph'),
388
- text: z.string(),
389
- 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(),
390
485
  control: z.string().optional(),
391
486
  margin: sizeSchema.optional(),
487
+ align: alignSchema.optional(),
392
488
  analyticsId: z.string().optional(),
393
489
  tags: z.array(z.string()).optional(),
394
490
  });
@@ -420,80 +516,26 @@ export const searchLayoutSchema = z.object({
420
516
  tags: z.array(z.string()).optional(),
421
517
  });
422
518
 
423
- export const instructionsLayoutItemSchema = z.object({
424
- text: z.string(),
425
- context: contextSchema,
426
- tag: z.string().optional(),
427
- analyticsId: z.string().optional(),
428
- tags: z.array(z.string()).optional(),
429
- });
430
-
431
- export const columnsLayoutBiasSchema = z.union([
432
- z.literal('none'),
433
- z.literal('left'),
434
- z.literal('right'),
435
- ]);
436
-
437
- export const formLayoutSchemaReferenceSchema = z.object({
438
- $ref: z.string(),
439
- });
440
-
441
- export const modalLayoutTriggerSchema = z.object({
442
- 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(),
443
530
  });
444
531
 
445
- export const formLayoutSchema = z.object({
446
- type: z.literal('form'),
447
- schema: formLayoutSchemaReferenceSchema.optional(),
448
- schemaId: z.string(),
449
- control: z.string().optional(),
450
- margin: sizeSchema.optional(),
451
- analyticsId: z.string().optional(),
452
- tags: z.array(z.string()).optional(),
453
- });
532
+ export const summarySchema = z.union([summaryProviderSchema, summarySummariserSchema]);
454
533
 
455
- export const instructionsLayoutSchema = z.object({
456
- type: z.literal('instructions'),
534
+ export const navigationBackBehaviorSchema = z.object({
457
535
  title: z.string().optional(),
458
- items: z.array(instructionsLayoutItemSchema),
459
- control: z.string().optional(),
460
- margin: sizeSchema.optional(),
461
- analyticsId: z.string().optional(),
462
- tags: z.array(z.string()).optional(),
463
- });
464
-
465
- export const avatarContentSchema = z.union([avatarTextContentSchema, avatarUriContentSchema]);
466
-
467
- export const mediaAvatarSchema = z.object({
468
- type: z.literal('avatar'),
469
- content: z.array(avatarContentSchema),
470
- accessibilityDescription: z.string().optional(),
471
- });
472
-
473
- export const actionResponseBodySchema = z.object({
474
536
  action: actionSchema,
475
537
  });
476
538
 
477
- export const mediaSchema = z.union([mediaAvatarSchema, mediaImageSchema]);
478
-
479
- export const searchResultActionSchema = z.object({
480
- type: z.literal('action'),
481
- title: z.string(),
482
- description: z.string().optional(),
483
- icon: iconSchema.optional(),
484
- image: imageSchema.optional(),
485
- value: actionSchema,
486
- media: mediaSchema.optional(),
487
- });
488
-
489
- export const errorResponseBodySchema = z.object({
490
- refreshFormUrl: z.string().optional(),
491
- analytics: z.record(z.string()).optional(),
492
- error: z.string().optional(),
493
- validation: jsonElementSchema.optional(),
494
- refreshUrl: z.string().optional(),
495
- });
496
-
497
539
  export const suggestionsValueSchema = z.object({
498
540
  label: z.string(),
499
541
  value: jsonElementSchema,
@@ -505,67 +547,27 @@ export const suggestionsValueSchema = z.object({
505
547
  tags: z.array(z.string()).optional(),
506
548
  });
507
549
 
508
- export const actionBehaviorSchema = z.object({
509
- type: z.literal('action'),
510
- action: actionSchema,
511
- });
512
-
513
- export const containerBehaviorSchema = z.object({
514
- action: actionSchema.optional(),
515
- link: linkSchema.optional(),
516
- });
517
-
518
- export const navigationBackBehaviorSchema = z.object({
519
- title: z.string().optional(),
520
- action: actionSchema,
521
- });
522
-
523
550
  export const navigationSchema = z.object({
524
551
  backButton: navigationBackBehaviorSchema.optional(),
525
552
  back: navigationBackBehaviorSchema.optional(),
526
553
  stackBehavior: navigationStackBehaviorSchema.optional(),
527
554
  });
528
555
 
529
- export const summarySummariserSchema = z.object({
530
- defaultTitle: z.string().optional(),
531
- defaultDescription: z.string().optional(),
532
- defaultIcon: iconSchema.optional(),
533
- defaultImage: imageSchema.optional(),
534
- providesTitle: z.boolean().optional(),
535
- providesDescription: z.boolean().optional(),
536
- providesIcon: z.boolean().optional(),
537
- providesImage: z.boolean().optional(),
538
- defaultMedia: mediaSchema.optional(),
539
- providesMedia: z.boolean().optional(),
540
- });
541
-
542
556
  export const suggestionsSchema = z.object({
543
557
  values: z.array(suggestionsValueSchema),
544
558
  });
545
559
 
546
- export const searchResultSearchSchema = z.object({
547
- type: z.literal('search'),
548
- title: z.string(),
549
- description: z.string().optional(),
550
- icon: iconSchema.optional(),
551
- image: imageSchema.optional(),
552
- value: searchSearchRequestSchema,
553
- media: mediaSchema.optional(),
554
- });
555
-
556
560
  export const searchResultSchema = z.union([searchResultActionSchema, searchResultSearchSchema]);
557
561
 
558
- export const summarySchema = z.union([summaryProviderSchema, summarySummariserSchema]);
559
-
560
562
  export const searchResponseBodySchema = z.object({
561
563
  results: z.array(searchResultSchema),
562
564
  });
563
565
 
564
- export const additionalInfoSchema: z.ZodSchema<AdditionalInfo> = z.lazy(() =>
566
+ export const sectionLayoutCallToActionSchema: z.ZodSchema<SectionLayoutCallToAction> = z.lazy(() =>
565
567
  z.object({
566
- text: z.string(),
567
- behavior: behaviorSchema.optional(),
568
+ title: z.string(),
568
569
  accessibilityDescription: z.string().optional(),
570
+ behavior: behaviorSchema,
569
571
  }),
570
572
  );
571
573
 
@@ -581,10 +583,13 @@ export const behaviorSchema: z.ZodSchema<Behavior> = z.lazy(() =>
581
583
  ]),
582
584
  );
583
585
 
584
- export const modalResponseBodySchema: z.ZodSchema<ModalResponseBody> = z.lazy(() =>
586
+ export const tabsLayoutTabSchema: z.ZodSchema<TabsLayoutTab> = z.lazy(() =>
585
587
  z.object({
586
- title: z.string().optional(),
587
- 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(),
588
593
  }),
589
594
  );
590
595
 
@@ -615,138 +620,115 @@ export const layoutSchema: z.ZodSchema<Layout> = z.lazy(() =>
615
620
  ]),
616
621
  );
617
622
 
618
- export const stepSchema: z.ZodSchema<Step> = z.lazy(() =>
623
+ export const alertLayoutCallToActionSchema: z.ZodSchema<AlertLayoutCallToAction> = z.lazy(() =>
619
624
  z.object({
620
- key: z.string().optional(),
621
- type: z.string().optional(),
622
- actions: z.array(actionSchema).optional(),
623
- refreshFormUrl: z.string().optional(),
624
- id: z.string(),
625
625
  title: z.string(),
626
- schemas: z.array(schemaSchema),
627
- layout: z.array(layoutSchema),
628
- description: z.string().optional(),
629
- model: jsonElementSchema.optional(),
630
- external: externalSchema.optional(),
631
- polling: pollingSchema.optional(),
632
- linkHandlers: z.array(linkHandlerSchema).optional(),
633
- analytics: z.record(z.string()).optional(),
634
- errors: stepErrorSchema.optional(),
635
- navigation: navigationSchema.optional(),
636
- refreshUrl: z.string().optional(),
637
- control: z.string().optional(),
638
- refreshAfter: z.string().optional(),
639
- toolbar: toolbarSchema.optional(),
640
- tags: z.array(z.string()).optional(),
641
- }),
642
- );
643
-
644
- export const schemaSchema: z.ZodSchema<Schema> = z.lazy(() =>
645
- z.union([
646
- allOfSchemaSchema,
647
- arraySchemaSchema,
648
- blobSchemaSchema,
649
- booleanSchemaSchema,
650
- constSchemaSchema,
651
- integerSchemaSchema,
652
- numberSchemaSchema,
653
- objectSchemaSchema,
654
- oneOfSchemaSchema,
655
- stringSchemaSchema,
656
- ]),
657
- );
658
-
659
- export const pollingSchema: z.ZodSchema<Polling> = z.lazy(() =>
660
- z.object({
661
- interval: z.number().optional(),
662
- url: z.string(),
663
- delay: z.number().optional(),
664
- timeout: z.number().optional(),
665
- maxAttempts: z.number(),
666
- onError: pollingOnErrorSchema,
626
+ accessibilityDescription: z.string().optional(),
627
+ behavior: behaviorSchema,
667
628
  }),
668
629
  );
669
630
 
670
- export const linkHandlerSchema: z.ZodSchema<LinkHandler> = z.lazy(() =>
631
+ export const buttonLayoutSchema: z.ZodSchema<ButtonLayout> = z.lazy(() =>
671
632
  z.object({
672
- regexPattern: z.string(),
633
+ type: z.literal('button'),
634
+ action: actionSchema.optional(),
635
+ size: sizeSchema.optional(),
636
+ title: z.string().optional(),
673
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(),
674
645
  }),
675
646
  );
676
647
 
677
- export const toolbarSchema: z.ZodSchema<Toolbar> = z.lazy(() =>
648
+ export const columnsLayoutSchema: z.ZodSchema<ColumnsLayout> = z.lazy(() =>
678
649
  z.object({
679
- items: z.array(toolbarItemSchema),
650
+ type: z.literal('columns'),
651
+ left: z.array(layoutSchema),
652
+ right: z.array(layoutSchema),
653
+ bias: columnsLayoutBiasSchema.optional(),
680
654
  control: z.string().optional(),
655
+ margin: sizeSchema.optional(),
656
+ analyticsId: z.string().optional(),
681
657
  tags: z.array(z.string()).optional(),
682
658
  }),
683
659
  );
684
660
 
685
- export const modalBehaviorSchema: z.ZodSchema<ModalBehavior> = z.lazy(() =>
661
+ export const reviewLayoutSchema: z.ZodSchema<ReviewLayout> = z.lazy(() =>
686
662
  z.object({
687
- type: z.literal('modal'),
663
+ type: z.literal('review'),
664
+ orientation: z.string().optional(),
665
+ action: actionSchema.optional(),
666
+ fields: z.array(reviewLayoutFieldSchema),
688
667
  title: z.string().optional(),
689
- 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(),
690
673
  }),
691
674
  );
692
675
 
693
- export const toolbarItemSchema: z.ZodSchema<ToolbarItem> = z.lazy(() => toolbarButtonSchema);
694
-
695
- export const toolbarButtonSchema: z.ZodSchema<ToolbarButton> = z.lazy(() =>
676
+ export const reviewLayoutFieldSchema: z.ZodSchema<ReviewLayoutField> = z.lazy(() =>
696
677
  z.object({
697
- type: z.literal('toolbar-button'),
698
- title: z.string(),
699
- behavior: behaviorSchema,
700
- 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(),
701
688
  media: mediaSchema.optional(),
702
- control: z.string().optional(),
703
- context: contextSchema.optional(),
704
- disabled: z.boolean().optional(),
705
689
  analyticsId: z.string().optional(),
706
690
  tags: z.array(z.string()).optional(),
707
691
  }),
708
692
  );
709
693
 
710
- export const persistAsyncSchema: z.ZodSchema<PersistAsync> = z.lazy(() =>
694
+ export const reviewLayoutCallToActionSchema: z.ZodSchema<ReviewLayoutCallToAction> = z.lazy(() =>
711
695
  z.object({
712
- param: z.string(),
713
- idProperty: z.string(),
714
- schema: schemaSchema,
715
- url: z.string(),
716
- method: httpMethodSchema,
696
+ action: actionSchema.optional(),
697
+ title: z.string(),
698
+ accessibilityDescription: z.string().optional(),
699
+ behavior: behaviorSchema.optional(),
717
700
  }),
718
701
  );
719
702
 
720
- export const pollingOnErrorSchema: z.ZodSchema<PollingOnError> = z.lazy(() =>
703
+ export const listLayoutCallToActionSchema: z.ZodSchema<ListLayoutCallToAction> = z.lazy(() =>
721
704
  z.object({
722
- action: actionSchema.optional(),
723
- behavior: behaviorSchema.optional(),
705
+ title: z.string(),
706
+ accessibilityDescription: z.string().optional(),
707
+ behavior: behaviorSchema,
724
708
  }),
725
709
  );
726
710
 
727
- export const blobSchemaSchema: z.ZodSchema<BlobSchema> = z.lazy(() =>
711
+ export const statusListLayoutSchema: z.ZodSchema<StatusListLayout> = z.lazy(() =>
728
712
  z.object({
729
- type: z.literal('blob'),
730
- promoted: z.boolean().optional(),
731
- $id: z.string().optional(),
713
+ type: z.literal('status-list'),
714
+ items: z.array(statusListLayoutItemSchema),
732
715
  title: z.string().optional(),
733
- description: z.string().optional(),
734
716
  control: z.string().optional(),
735
- hidden: z.boolean().optional(),
736
- icon: iconSchema.optional(),
737
- image: imageSchema.optional(),
738
- keywords: z.array(z.string()).optional(),
739
- 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(),
740
731
  analyticsId: z.string().optional(),
741
- validationAsync: validateAsyncSchema.optional(),
742
- validationMessages: z.record(z.string()).optional(),
743
- alert: alertLayoutSchema.optional(),
744
- cameraConfig: jsonElementSchema.optional(),
745
- accepts: z.array(z.string()).optional(),
746
- maxSize: z.number().optional(),
747
- source: uploadSourceSchema.optional(),
748
- disabled: z.boolean().optional(),
749
- media: mediaSchema.optional(),
750
732
  tags: z.array(z.string()).optional(),
751
733
  }),
752
734
  );
@@ -764,329 +746,75 @@ export const alertLayoutSchema: z.ZodSchema<AlertLayout> = z.lazy(() =>
764
746
  }),
765
747
  );
766
748
 
767
- export const allOfSchemaSchema: z.ZodSchema<AllOfSchema> = z.lazy(() =>
749
+ export const boxLayoutSchema: z.ZodSchema<BoxLayout> = z.lazy(() =>
768
750
  z.object({
769
- disabled: z.boolean().optional(),
770
- promoted: z.boolean().optional(),
771
- allOf: z.array(schemaSchema),
772
- $id: z.string().optional(),
773
- title: z.string().optional(),
774
- description: z.string().optional(),
751
+ type: z.literal('box'),
752
+ components: z.array(layoutSchema),
753
+ width: sizeSchema.optional(),
754
+ border: z.boolean().optional(),
775
755
  control: z.string().optional(),
776
- hidden: z.boolean().optional(),
777
- icon: iconSchema.optional(),
778
- image: imageSchema.optional(),
779
- keywords: z.array(z.string()).optional(),
780
- summary: summaryProviderSchema.optional(),
756
+ margin: sizeSchema.optional(),
781
757
  analyticsId: z.string().optional(),
782
- alert: alertLayoutSchema.optional(),
783
- media: mediaSchema.optional(),
784
758
  tags: z.array(z.string()).optional(),
785
759
  }),
786
760
  );
787
761
 
788
- export const arraySchemaSchema: z.ZodSchema<ArraySchema> = z.lazy(() =>
789
- z.union([arraySchemaListSchema, arraySchemaTupleSchema]),
790
- );
791
-
792
- export const booleanSchemaSchema: z.ZodSchema<BooleanSchema> = z.lazy(() =>
762
+ export const decisionLayoutSchema: z.ZodSchema<DecisionLayout> = z.lazy(() =>
793
763
  z.object({
794
- type: z.literal('boolean'),
795
- autofillProvider: z.string().optional(),
796
- promoted: z.boolean().optional(),
797
- refreshFormOnChange: z.boolean().optional(),
798
- refreshUrl: z.string().optional(),
799
- refreshFormUrl: z.string().optional(),
800
- $id: z.string().optional(),
764
+ type: z.literal('decision'),
801
765
  title: z.string().optional(),
802
- description: z.string().optional(),
766
+ options: z.array(decisionLayoutOptionSchema),
803
767
  control: z.string().optional(),
804
- default: z.boolean().optional(),
805
- hidden: z.boolean().optional(),
806
- disabled: z.boolean().optional(),
807
- icon: iconSchema.optional(),
808
- image: imageSchema.optional(),
809
- keywords: z.array(z.string()).optional(),
810
- summary: summaryProviderSchema.optional(),
768
+ margin: sizeSchema.optional(),
811
769
  analyticsId: z.string().optional(),
812
- persistAsync: persistAsyncSchema.optional(),
813
- refreshStepOnChange: z.boolean().optional(),
814
- validationAsync: validateAsyncSchema.optional(),
815
- alert: alertLayoutSchema.optional(),
816
- autofillKey: z.string().optional(),
817
- help: helpSchema.optional(),
818
- onChange: behaviorSchema.optional(),
819
- media: mediaSchema.optional(),
820
770
  tags: z.array(z.string()).optional(),
821
771
  }),
822
772
  );
823
773
 
824
- export const constSchemaSchema: z.ZodSchema<ConstSchema> = z.lazy(() =>
774
+ export const listLayoutSchema: z.ZodSchema<ListLayout> = z.lazy(() =>
825
775
  z.object({
826
- hidden: z.boolean().optional(),
827
- control: z.string().optional(),
828
- tags: z.array(z.string()).optional(),
829
- promoted: z.boolean().optional(),
830
- $id: z.string().optional(),
831
- const: jsonElementSchema,
776
+ type: z.literal('list'),
832
777
  title: z.string().optional(),
833
- description: z.string().optional(),
834
- icon: iconSchema.optional(),
835
- image: imageSchema.optional(),
836
- keywords: z.array(z.string()).optional(),
837
- summary: summaryProviderSchema.optional(),
778
+ callToAction: listLayoutCallToActionSchema.optional(),
779
+ items: z.array(listLayoutItemSchema),
780
+ control: z.string().optional(),
781
+ margin: sizeSchema.optional(),
838
782
  analyticsId: z.string().optional(),
839
- disabled: z.boolean().optional(),
840
- media: mediaSchema.optional(),
841
- alert: alertLayoutSchema.optional(),
842
- layout: z.array(layoutSchema).optional(),
783
+ tags: z.array(z.string()).optional(),
843
784
  }),
844
785
  );
845
786
 
846
- export const integerSchemaSchema: z.ZodSchema<IntegerSchema> = z.lazy(() =>
787
+ export const modalLayoutSchema: z.ZodSchema<ModalLayout> = z.lazy(() =>
847
788
  z.object({
848
- type: z.literal('integer'),
849
- autofillProvider: z.string().optional(),
850
- promoted: z.boolean().optional(),
851
- refreshFormOnChange: z.boolean().optional(),
852
- refreshUrl: z.string().optional(),
853
- refreshFormUrl: z.string().optional(),
854
- placeholder: z.string().optional(),
855
- minimum: z.number().optional(),
856
- maximum: z.number().optional(),
857
- $id: z.string().optional(),
858
- title: z.string().optional(),
859
- description: z.string().optional(),
789
+ type: z.literal('modal'),
860
790
  control: z.string().optional(),
861
- default: z.number().optional(),
862
- hidden: z.boolean().optional(),
863
- disabled: z.boolean().optional(),
864
- icon: iconSchema.optional(),
865
- image: imageSchema.optional(),
866
- keywords: z.array(z.string()).optional(),
867
- summary: summaryProviderSchema.optional(),
791
+ margin: sizeSchema.optional(),
792
+ trigger: modalLayoutTriggerSchema,
793
+ content: modalLayoutContentSchema,
868
794
  analyticsId: z.string().optional(),
869
- persistAsync: persistAsyncSchema.optional(),
870
- refreshStepOnChange: z.boolean().optional(),
871
- validationAsync: validateAsyncSchema.optional(),
872
- validationMessages: z.record(z.string()).optional(),
873
- alert: alertLayoutSchema.optional(),
874
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
875
- autofillKey: z.string().optional(),
876
- help: helpSchema.optional(),
877
- onChange: behaviorSchema.optional(),
878
- media: mediaSchema.optional(),
879
795
  tags: z.array(z.string()).optional(),
880
796
  }),
881
797
  );
882
798
 
883
- export const numberSchemaSchema: z.ZodSchema<NumberSchema> = z.lazy(() =>
799
+ export const sectionLayoutSchema: z.ZodSchema<SectionLayout> = z.lazy(() =>
884
800
  z.object({
885
- type: z.literal('number'),
886
- autofillProvider: z.string().optional(),
887
- promoted: z.boolean().optional(),
888
- refreshFormOnChange: z.boolean().optional(),
889
- refreshUrl: z.string().optional(),
890
- refreshFormUrl: z.string().optional(),
891
- placeholder: z.string().optional(),
892
- minimum: z.number().optional(),
893
- maximum: z.number().optional(),
894
- $id: z.string().optional(),
895
- title: z.string().optional(),
896
- description: z.string().optional(),
897
- control: z.string().optional(),
898
- default: z.number().optional(),
899
- hidden: z.boolean().optional(),
900
- disabled: z.boolean().optional(),
901
- icon: iconSchema.optional(),
902
- image: imageSchema.optional(),
903
- keywords: z.array(z.string()).optional(),
904
- summary: summaryProviderSchema.optional(),
905
- analyticsId: z.string().optional(),
906
- persistAsync: persistAsyncSchema.optional(),
907
- refreshStepOnChange: z.boolean().optional(),
908
- validationAsync: validateAsyncSchema.optional(),
909
- validationMessages: z.record(z.string()).optional(),
910
- alert: alertLayoutSchema.optional(),
911
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
912
- autofillKey: z.string().optional(),
913
- help: helpSchema.optional(),
914
- onChange: behaviorSchema.optional(),
915
- media: mediaSchema.optional(),
916
- tags: z.array(z.string()).optional(),
917
- }),
918
- );
919
-
920
- export const objectSchemaSchema: z.ZodSchema<ObjectSchema> = z.lazy(() =>
921
- z.object({
922
- type: z.literal('object'),
923
- disabled: z.boolean().optional(),
924
- promoted: z.boolean().optional(),
925
- help: helpSchema.optional(),
926
- properties: z.record(schemaSchema),
927
- displayOrder: z.array(z.string()),
928
- required: z.array(z.string()).optional(),
929
- $id: z.string().optional(),
930
- title: z.string().optional(),
931
- description: z.string().optional(),
932
- control: z.string().optional(),
933
- hidden: z.boolean().optional(),
934
- icon: iconSchema.optional(),
935
- image: imageSchema.optional(),
936
- keywords: z.array(z.string()).optional(),
937
- summary: summaryProviderSchema.optional(),
938
- analyticsId: z.string().optional(),
939
- alert: alertLayoutSchema.optional(),
940
- media: mediaSchema.optional(),
941
- tags: z.array(z.string()).optional(),
942
- format: z.string().optional(),
943
- }),
944
- );
945
-
946
- export const oneOfSchemaSchema: z.ZodSchema<OneOfSchema> = z.lazy(() =>
947
- z.object({
948
- autofillProvider: z.string().optional(),
949
- promoted: z.boolean().optional(),
950
- refreshFormOnChange: z.boolean().optional(),
951
- refreshUrl: z.string().optional(),
952
- refreshFormUrl: z.string().optional(),
953
- promotion: jsonElementSchema.optional(),
954
- oneOf: z.array(schemaSchema),
955
- placeholder: z.string().optional(),
956
- $id: z.string().optional(),
957
- title: z.string().optional(),
958
- description: z.string().optional(),
959
- control: z.string().optional(),
960
- default: jsonElementSchema.optional(),
961
- hidden: z.boolean().optional(),
962
- icon: iconSchema.optional(),
963
- image: imageSchema.optional(),
964
- keywords: z.array(z.string()).optional(),
965
- summary: summaryProviderSchema.optional(),
966
- analyticsId: z.string().optional(),
967
- refreshStepOnChange: z.boolean().optional(),
968
- alert: alertLayoutSchema.optional(),
969
- help: helpSchema.optional(),
970
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
971
- autofillKey: z.string().optional(),
972
- validationMessages: z.record(z.string()).optional(),
973
- disabled: z.boolean().optional(),
974
- onChange: behaviorSchema.optional(),
975
- media: mediaSchema.optional(),
976
- tags: z.array(z.string()).optional(),
977
- }),
978
- );
979
-
980
- export const stringSchemaSchema: z.ZodSchema<StringSchema> = z.lazy(() =>
981
- z.object({
982
- type: z.literal('string'),
983
- autofillProvider: z.string().optional(),
984
- promoted: z.boolean().optional(),
985
- refreshFormOnChange: z.boolean().optional(),
986
- refreshUrl: z.string().optional(),
987
- refreshFormUrl: z.string().optional(),
988
- format: stringSchemaFormatSchema.optional(),
989
- displayFormat: z.string().optional(),
990
- placeholder: z.string().optional(),
991
- minLength: z.number().optional(),
992
- maxLength: z.number().optional(),
993
- minimum: z.string().optional(),
994
- maximum: z.string().optional(),
995
- pattern: z.string().optional(),
996
- autocapitalization: autocapitalizationTypeSchema.optional(),
997
- autocorrect: z.boolean().optional(),
998
- $id: z.string().optional(),
999
- title: z.string().optional(),
1000
- description: z.string().optional(),
1001
- control: z.string().optional(),
1002
- default: z.string().optional(),
1003
- hidden: z.boolean().optional(),
1004
- disabled: z.boolean().optional(),
1005
- icon: iconSchema.optional(),
1006
- image: imageSchema.optional(),
1007
- keywords: z.array(z.string()).optional(),
1008
- summary: summaryProviderSchema.optional(),
1009
- analyticsId: z.string().optional(),
1010
- persistAsync: persistAsyncSchema.optional(),
1011
- refreshStepOnChange: z.boolean().optional(),
1012
- validationAsync: validateAsyncSchema.optional(),
1013
- validationMessages: z.record(z.string()).optional(),
1014
- alert: alertLayoutSchema.optional(),
1015
- cameraConfig: jsonElementSchema.optional(),
1016
- accepts: z.array(z.string()).optional(),
1017
- maxSize: z.number().optional(),
1018
- source: uploadSourceSchema.optional(),
1019
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
1020
- autofillKey: z.string().optional(),
1021
- help: helpSchema.optional(),
1022
- suggestions: suggestionsSchema.optional(),
1023
- onChange: behaviorSchema.optional(),
1024
- media: mediaSchema.optional(),
1025
- tags: z.array(z.string()).optional(),
1026
- }),
1027
- );
1028
-
1029
- export const arraySchemaListSchema: z.ZodSchema<ArraySchemaList> = z.lazy(() =>
1030
- z.object({
1031
- type: z.literal('array'),
1032
- promoted: z.boolean().optional(),
1033
- $id: z.string().optional(),
1034
- items: schemaSchema,
1035
- addItemTitle: z.string(),
1036
- editItemTitle: z.string(),
1037
- minItems: z.number().optional(),
1038
- maxItems: z.number().optional(),
1039
- placeholder: z.string().optional(),
1040
- title: z.string().optional(),
1041
- description: z.string().optional(),
801
+ type: z.literal('section'),
802
+ components: z.array(layoutSchema),
803
+ title: z.string(),
804
+ callToAction: sectionLayoutCallToActionSchema.optional(),
1042
805
  control: z.string().optional(),
1043
- hidden: z.boolean().optional(),
1044
- icon: iconSchema.optional(),
1045
- image: imageSchema.optional(),
1046
- keywords: z.array(z.string()).optional(),
1047
- summary: summarySummariserSchema.optional(),
806
+ margin: sizeSchema.optional(),
1048
807
  analyticsId: z.string().optional(),
1049
- persistAsync: persistAsyncSchema.optional(),
1050
- validationAsync: validateAsyncSchema.optional(),
1051
- alert: alertLayoutSchema.optional(),
1052
- validationMessages: z.record(z.string()).optional(),
1053
- disabled: z.boolean().optional(),
1054
- media: mediaSchema.optional(),
1055
808
  tags: z.array(z.string()).optional(),
1056
809
  }),
1057
810
  );
1058
811
 
1059
- export const arraySchemaTupleSchema: z.ZodSchema<ArraySchemaTuple> = z.lazy(() =>
812
+ export const tabsLayoutSchema: z.ZodSchema<TabsLayout> = z.lazy(() =>
1060
813
  z.object({
1061
- type: z.literal('array'),
1062
- promoted: z.boolean().optional(),
1063
- $id: z.string().optional(),
1064
- items: z.array(schemaSchema),
1065
- title: z.string().optional(),
1066
- description: z.string().optional(),
814
+ type: z.literal('tabs'),
815
+ tabs: z.array(tabsLayoutTabSchema),
1067
816
  control: z.string().optional(),
1068
- hidden: z.boolean().optional(),
1069
- icon: iconSchema.optional(),
1070
- image: imageSchema.optional(),
1071
- keywords: z.array(z.string()).optional(),
1072
- summary: summaryProviderSchema.optional(),
1073
- analyticsId: z.string().optional(),
1074
- persistAsync: persistAsyncSchema.optional(),
1075
- validationAsync: validateAsyncSchema.optional(),
1076
- alert: alertLayoutSchema.optional(),
1077
- media: mediaSchema.optional(),
1078
- tags: z.array(z.string()).optional(),
1079
- }),
1080
- );
1081
-
1082
- export const statusListLayoutItemSchema: z.ZodSchema<StatusListLayoutItem> = z.lazy(() =>
1083
- z.object({
1084
- title: z.string(),
1085
- description: z.string().optional(),
1086
- icon: iconSchema,
1087
- status: statusListLayoutStatusSchema.optional(),
1088
- callToAction: itemCallToActionSchema.optional(),
1089
- tag: z.string().optional(),
817
+ margin: sizeSchema.optional(),
1090
818
  analyticsId: z.string().optional(),
1091
819
  tags: z.array(z.string()).optional(),
1092
820
  }),
@@ -1121,24 +849,11 @@ export const listLayoutItemSchema: z.ZodSchema<ListLayoutItem> = z.lazy(() =>
1121
849
  }),
1122
850
  );
1123
851
 
1124
- export const listLayoutCallToActionSchema: z.ZodSchema<ListLayoutCallToAction> = z.lazy(() =>
852
+ export const additionalInfoSchema: z.ZodSchema<AdditionalInfo> = z.lazy(() =>
1125
853
  z.object({
1126
- title: z.string(),
854
+ text: z.string(),
855
+ behavior: behaviorSchema.optional(),
1127
856
  accessibilityDescription: z.string().optional(),
1128
- behavior: behaviorSchema,
1129
- }),
1130
- );
1131
-
1132
- export const listLayoutSchema: z.ZodSchema<ListLayout> = z.lazy(() =>
1133
- z.object({
1134
- type: z.literal('list'),
1135
- title: z.string().optional(),
1136
- callToAction: listLayoutCallToActionSchema.optional(),
1137
- items: z.array(listLayoutItemSchema),
1138
- control: z.string().optional(),
1139
- margin: sizeSchema.optional(),
1140
- analyticsId: z.string().optional(),
1141
- tags: z.array(z.string()).optional(),
1142
857
  }),
1143
858
  );
1144
859
 
@@ -1149,18 +864,6 @@ export const modalLayoutContentSchema: z.ZodSchema<ModalLayoutContent> = z.lazy(
1149
864
  }),
1150
865
  );
1151
866
 
1152
- export const decisionLayoutSchema: z.ZodSchema<DecisionLayout> = z.lazy(() =>
1153
- z.object({
1154
- type: z.literal('decision'),
1155
- title: z.string().optional(),
1156
- options: z.array(decisionLayoutOptionSchema),
1157
- control: z.string().optional(),
1158
- margin: sizeSchema.optional(),
1159
- analyticsId: z.string().optional(),
1160
- tags: z.array(z.string()).optional(),
1161
- }),
1162
- );
1163
-
1164
867
  export const decisionLayoutOptionSchema: z.ZodSchema<DecisionLayoutOption> = z.lazy(() =>
1165
868
  z.object({
1166
869
  action: actionSchema.optional(),
@@ -1181,161 +884,493 @@ export const decisionLayoutOptionSchema: z.ZodSchema<DecisionLayoutOption> = z.l
1181
884
  }),
1182
885
  );
1183
886
 
1184
- 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(() =>
1185
890
  z.object({
1186
- type: z.literal('box'),
1187
- components: z.array(layoutSchema),
1188
- width: sizeSchema.optional(),
1189
- 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(),
1190
896
  control: z.string().optional(),
1191
- margin: sizeSchema.optional(),
897
+ context: contextSchema.optional(),
898
+ disabled: z.boolean().optional(),
1192
899
  analyticsId: z.string().optional(),
1193
900
  tags: z.array(z.string()).optional(),
1194
901
  }),
1195
902
  );
1196
903
 
1197
- export const buttonLayoutSchema: z.ZodSchema<ButtonLayout> = z.lazy(() =>
904
+ export const toolbarSchema: z.ZodSchema<Toolbar> = z.lazy(() =>
1198
905
  z.object({
1199
- type: z.literal('button'),
1200
- action: actionSchema.optional(),
1201
- size: sizeSchema.optional(),
1202
- title: z.string().optional(),
1203
- behavior: behaviorSchema.optional(),
1204
- context: contextSchema.optional(),
1205
- disabled: z.boolean().optional(),
1206
- pinOrder: z.number().optional(),
906
+ items: z.array(toolbarItemSchema),
1207
907
  control: z.string().optional(),
1208
- margin: sizeSchema.optional(),
1209
- analyticsId: z.string().optional(),
1210
908
  tags: z.array(z.string()).optional(),
1211
909
  }),
1212
910
  );
1213
911
 
1214
- export const columnsLayoutSchema: z.ZodSchema<ColumnsLayout> = z.lazy(() =>
912
+ export const persistAsyncSchema: z.ZodSchema<PersistAsync> = z.lazy(() =>
1215
913
  z.object({
1216
- type: z.literal('columns'),
1217
- left: z.array(layoutSchema),
1218
- right: z.array(layoutSchema),
1219
- 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(),
1220
989
  control: z.string().optional(),
1221
- margin: sizeSchema.optional(),
1222
- analyticsId: z.string().optional(),
990
+ refreshAfter: z.string().optional(),
991
+ toolbar: toolbarSchema.optional(),
1223
992
  tags: z.array(z.string()).optional(),
1224
993
  }),
1225
994
  );
1226
995
 
1227
- export const modalLayoutSchema: z.ZodSchema<ModalLayout> = z.lazy(() =>
996
+ export const numberSchemaSchema: z.ZodSchema<NumberSchema> = z.lazy(() =>
1228
997
  z.object({
1229
- 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(),
1230
1010
  control: z.string().optional(),
1231
- margin: sizeSchema.optional(),
1232
- trigger: modalLayoutTriggerSchema,
1233
- 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(),
1234
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(),
1235
1029
  tags: z.array(z.string()).optional(),
1030
+ additionalText: z.string().optional(),
1031
+ supportingValues: supportingValuesSchema.optional(),
1032
+ inlineAlert: inlineAlertSchema.optional(),
1236
1033
  }),
1237
1034
  );
1238
1035
 
1239
- export const reviewLayoutSchema: z.ZodSchema<ReviewLayout> = z.lazy(() =>
1036
+ export const arraySchemaTupleSchema: z.ZodSchema<ArraySchemaTuple> = z.lazy(() =>
1240
1037
  z.object({
1241
- type: z.literal('review'),
1242
- orientation: z.string().optional(),
1243
- action: actionSchema.optional(),
1244
- fields: z.array(reviewLayoutFieldSchema),
1038
+ type: z.literal('array'),
1039
+ promoted: z.boolean().optional(),
1040
+ $id: z.string().optional(),
1041
+ items: z.array(schemaSchema),
1245
1042
  title: z.string().optional(),
1246
- callToAction: reviewLayoutCallToActionSchema.optional(),
1043
+ description: z.string().optional(),
1247
1044
  control: z.string().optional(),
1248
- 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(),
1249
1050
  analyticsId: z.string().optional(),
1051
+ persistAsync: persistAsyncSchema.optional(),
1052
+ validationAsync: validateAsyncSchema.optional(),
1053
+ alert: alertLayoutSchema.optional(),
1054
+ media: mediaSchema.optional(),
1250
1055
  tags: z.array(z.string()).optional(),
1056
+ additionalText: z.string().optional(),
1057
+ supportingValues: supportingValuesSchema.optional(),
1058
+ inlineAlert: inlineAlertSchema.optional(),
1251
1059
  }),
1252
1060
  );
1253
1061
 
1254
- export const sectionLayoutSchema: z.ZodSchema<SectionLayout> = z.lazy(() =>
1062
+ export const booleanSchemaSchema: z.ZodSchema<BooleanSchema> = z.lazy(() =>
1255
1063
  z.object({
1256
- type: z.literal('section'),
1257
- components: z.array(layoutSchema),
1258
- title: z.string(),
1259
- 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(),
1260
1073
  control: z.string().optional(),
1261
- 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(),
1262
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(),
1263
1090
  tags: z.array(z.string()).optional(),
1091
+ additionalText: z.string().optional(),
1092
+ supportingValues: supportingValuesSchema.optional(),
1093
+ inlineAlert: inlineAlertSchema.optional(),
1264
1094
  }),
1265
1095
  );
1266
1096
 
1267
- 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(() =>
1268
1102
  z.object({
1269
- type: z.literal('status-list'),
1270
- 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(),
1271
1112
  title: z.string().optional(),
1113
+ description: z.string().optional(),
1272
1114
  control: z.string().optional(),
1273
- 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(),
1274
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(),
1275
1127
  tags: z.array(z.string()).optional(),
1128
+ additionalText: z.string().optional(),
1129
+ supportingValues: supportingValuesSchema.optional(),
1130
+ inlineAlert: inlineAlertSchema.optional(),
1276
1131
  }),
1277
1132
  );
1278
1133
 
1279
- export const tabsLayoutSchema: z.ZodSchema<TabsLayout> = z.lazy(() =>
1134
+ export const oneOfSchemaSchema: z.ZodSchema<OneOfSchema> = z.lazy(() =>
1280
1135
  z.object({
1281
- type: z.literal('tabs'),
1282
- 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(),
1283
1147
  control: z.string().optional(),
1284
- 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(),
1285
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(),
1286
1164
  tags: z.array(z.string()).optional(),
1165
+ additionalText: z.string().optional(),
1166
+ supportingValues: supportingValuesSchema.optional(),
1167
+ inlineAlert: inlineAlertSchema.optional(),
1287
1168
  }),
1288
1169
  );
1289
1170
 
1290
- export const alertLayoutCallToActionSchema: z.ZodSchema<AlertLayoutCallToAction> = z.lazy(() =>
1171
+ export const constSchemaSchema: z.ZodSchema<ConstSchema> = z.lazy(() =>
1291
1172
  z.object({
1292
- title: z.string(),
1293
- accessibilityDescription: z.string().optional(),
1294
- 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(),
1295
1193
  }),
1296
1194
  );
1297
1195
 
1298
- export const reviewLayoutFieldSchema: z.ZodSchema<ReviewLayoutField> = z.lazy(() =>
1196
+ export const stringSchemaSchema: z.ZodSchema<StringSchema> = z.lazy(() =>
1299
1197
  z.object({
1300
- label: z.string(),
1301
- value: z.string(),
1302
- rawValue: z.string().optional(),
1303
- help: helpSchema.optional(),
1304
- 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(),
1305
1221
  icon: iconSchema.optional(),
1306
1222
  image: imageSchema.optional(),
1307
- 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(),
1308
1244
  inlineAlert: inlineAlertSchema.optional(),
1309
- 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(),
1310
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(),
1311
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(),
1312
1295
  tags: z.array(z.string()).optional(),
1296
+ additionalText: z.string().optional(),
1297
+ supportingValues: supportingValuesSchema.optional(),
1298
+ inlineAlert: inlineAlertSchema.optional(),
1313
1299
  }),
1314
1300
  );
1315
1301
 
1316
- export const reviewLayoutCallToActionSchema: z.ZodSchema<ReviewLayoutCallToAction> = z.lazy(() =>
1302
+ export const integerSchemaSchema: z.ZodSchema<IntegerSchema> = z.lazy(() =>
1317
1303
  z.object({
1318
- action: actionSchema.optional(),
1319
- title: z.string(),
1320
- accessibilityDescription: z.string().optional(),
1321
- 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(),
1322
1339
  }),
1323
1340
  );
1324
1341
 
1325
- export const tabsLayoutTabSchema: z.ZodSchema<TabsLayoutTab> = z.lazy(() =>
1342
+ export const objectSchemaSchema: z.ZodSchema<ObjectSchema> = z.lazy(() =>
1326
1343
  z.object({
1327
- title: z.string(),
1328
- components: z.array(layoutSchema),
1329
- 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(),
1330
1360
  analyticsId: z.string().optional(),
1361
+ alert: alertLayoutSchema.optional(),
1362
+ media: mediaSchema.optional(),
1331
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(),
1332
1368
  }),
1333
1369
  );
1334
1370
 
1335
- export const sectionLayoutCallToActionSchema: z.ZodSchema<SectionLayoutCallToAction> = z.lazy(() =>
1371
+ export const modalResponseBodySchema: z.ZodSchema<ModalResponseBody> = z.lazy(() =>
1336
1372
  z.object({
1337
- title: z.string(),
1338
- accessibilityDescription: z.string().optional(),
1339
- behavior: behaviorSchema,
1373
+ title: z.string().optional(),
1374
+ content: z.array(layoutSchema),
1340
1375
  }),
1341
1376
  );