@wise/dynamic-flow-types 3.1.1 → 3.1.2

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,36 +2,58 @@
2
2
  import { z } from 'zod';
3
3
  import type {
4
4
  JsonElement,
5
+ BooleanSchema,
5
6
  PersistAsync,
7
+ ArraySchemaList,
6
8
  Schema,
7
- ColumnsLayout,
8
- Layout,
9
- ModalLayoutContent,
10
- BoxLayout,
11
- ModalLayout,
12
- Step,
13
9
  StringSchema,
14
10
  OneOfSchema,
15
- NumberSchema,
16
11
  ArraySchemaTuple,
17
- IntegerSchema,
18
12
  ArraySchema,
19
- ArraySchemaList,
20
- AllOfSchema,
21
- BooleanSchema,
13
+ NumberSchema,
22
14
  ObjectSchema,
15
+ AllOfSchema,
16
+ IntegerSchema,
17
+ ModalLayout,
18
+ ModalLayoutContent,
19
+ Layout,
20
+ BoxLayout,
21
+ ColumnsLayout,
22
+ Step,
23
23
  } from '../next';
24
24
 
25
- export const linkBehaviorSchema = z.object({
26
- type: z.literal('link'),
27
- url: z.string(),
25
+ export const imageSchema = z.object({
26
+ text: z.string().optional(),
27
+ url: z.string().optional(),
28
+ uri: z.string().optional(),
29
+ accessibilityDescription: z.string().optional(),
28
30
  });
29
31
 
30
- export const navigationStackBehaviorSchema = z.union([
31
- z.literal('default'),
32
- z.literal('remove-previous'),
33
- z.literal('remove-all'),
34
- z.literal('replace-current'),
32
+ export const summaryProviderSchema = z.object({
33
+ providesTitle: z.boolean().optional(),
34
+ providesDescription: z.boolean().optional(),
35
+ providesIcon: z.boolean().optional(),
36
+ providesImage: z.boolean().optional(),
37
+ });
38
+
39
+ export const helpSchema = z.object({
40
+ markdown: z.string(),
41
+ });
42
+
43
+ export const stringSchemaFormatSchema = z.union([
44
+ z.literal('date'),
45
+ z.literal('email'),
46
+ z.literal('numeric'),
47
+ z.literal('password'),
48
+ z.literal('phone-number'),
49
+ z.literal('base64url'),
50
+ ]);
51
+
52
+ export const autocapitalizationTypeSchema = z.union([
53
+ z.literal('none'),
54
+ z.literal('characters'),
55
+ z.literal('sentences'),
56
+ z.literal('words'),
35
57
  ]);
36
58
 
37
59
  export const jsonElementSchema: z.ZodSchema<JsonElement> = z.lazy(() =>
@@ -46,22 +68,74 @@ export const jsonElementSchema: z.ZodSchema<JsonElement> = z.lazy(() =>
46
68
  .nullable(),
47
69
  );
48
70
 
49
- export const helpSchema = z.object({
50
- markdown: z.string(),
51
- });
71
+ export const uploadSourceSchema = z.union([z.literal('camera'), z.literal('file')]);
52
72
 
53
- export const actionTypeSchema = z.union([
54
- z.literal('primary'),
55
- z.literal('secondary'),
56
- z.literal('link'),
57
- z.literal('positive'),
58
- z.literal('negative'),
73
+ export const autocompleteTokenSchema = z.union([
74
+ z.literal('on'),
75
+ z.literal('name'),
76
+ z.literal('name-prefix'),
77
+ z.literal('given-name'),
78
+ z.literal('additional-name'),
79
+ z.literal('family-name'),
80
+ z.literal('name-suffix'),
81
+ z.literal('nickname'),
82
+ z.literal('email'),
83
+ z.literal('username'),
84
+ z.literal('new-username'),
85
+ z.literal('new-password'),
86
+ z.literal('password'),
87
+ z.literal('one-time-code'),
88
+ z.literal('job-title'),
89
+ z.literal('organization-name'),
90
+ z.literal('full-street-address'),
91
+ z.literal('street-address-line-1'),
92
+ z.literal('street-address-line-2'),
93
+ z.literal('street-address-line-3'),
94
+ z.literal('address-level-1'),
95
+ z.literal('address-level-2'),
96
+ z.literal('address-level-3'),
97
+ z.literal('address-level-4'),
98
+ z.literal('country-code'),
99
+ z.literal('country-name'),
100
+ z.literal('postal-code'),
101
+ z.literal('credit-card-name'),
102
+ z.literal('credit-card-given-name'),
103
+ z.literal('credit-card-middle-name'),
104
+ z.literal('credit-card-family-name'),
105
+ z.literal('credit-card-number'),
106
+ z.literal('credit-card-expiration'),
107
+ z.literal('credit-card-expiration-month'),
108
+ z.literal('credit-card-expiration-year'),
109
+ z.literal('credit-card-security-code'),
110
+ z.literal('credit-card-type'),
111
+ z.literal('transaction-currency'),
112
+ z.literal('transaction-amount'),
113
+ z.literal('language'),
114
+ z.literal('birthdate'),
115
+ z.literal('birthdate-day'),
116
+ z.literal('birthdate-month'),
117
+ z.literal('birthdate-year'),
118
+ z.literal('gender'),
119
+ z.literal('phone-number'),
120
+ z.literal('phone-country-code'),
121
+ z.literal('phone-national'),
122
+ z.literal('phone-area-code'),
123
+ z.literal('phone-local'),
124
+ z.literal('phone-local-prefix'),
125
+ z.literal('phone-local-suffix'),
126
+ z.literal('phone-extension'),
127
+ z.literal('url'),
128
+ z.literal('photo'),
129
+ z.literal('impp'),
130
+ z.literal('shipping'),
131
+ z.literal('billing'),
132
+ z.literal('home'),
133
+ z.literal('work'),
134
+ z.literal('mobile'),
135
+ z.literal('fax'),
136
+ z.literal('pager'),
59
137
  ]);
60
138
 
61
- export const linkSchema = z.object({
62
- url: z.string(),
63
- });
64
-
65
139
  export const httpMethodSchema = z.union([
66
140
  z.literal('GET'),
67
141
  z.literal('POST'),
@@ -70,63 +144,41 @@ export const httpMethodSchema = z.union([
70
144
  z.literal('DELETE'),
71
145
  ]);
72
146
 
73
- export const imageSchema = z.object({
74
- text: z.string().optional(),
75
- url: z.string().optional(),
76
- uri: z.string().optional(),
77
- accessibilityDescription: z.string().optional(),
147
+ export const linkSchema = z.object({
148
+ url: z.string(),
78
149
  });
79
150
 
80
- export const uploadSourceSchema = z.union([z.literal('camera'), z.literal('file')]);
151
+ export const actionTypeSchema = z.union([
152
+ z.literal('primary'),
153
+ z.literal('secondary'),
154
+ z.literal('link'),
155
+ z.literal('positive'),
156
+ z.literal('negative'),
157
+ ]);
81
158
 
82
- export const validateAsyncSchema = z.object({
83
- param: z.string(),
84
- method: httpMethodSchema,
159
+ export const linkBehaviorSchema = z.object({
160
+ type: z.literal('link'),
85
161
  url: z.string(),
86
162
  });
87
163
 
88
- export const summaryProviderSchema = z.object({
89
- providesTitle: z.boolean().optional(),
90
- providesDescription: z.boolean().optional(),
91
- providesIcon: z.boolean().optional(),
92
- providesImage: z.boolean().optional(),
93
- });
164
+ export const navigationStackBehaviorSchema = z.union([
165
+ z.literal('default'),
166
+ z.literal('remove-previous'),
167
+ z.literal('remove-all'),
168
+ z.literal('replace-current'),
169
+ ]);
94
170
 
95
171
  export const externalSchema = z.object({
96
172
  url: z.string(),
97
173
  });
98
174
 
99
- export const columnsLayoutBiasSchema = z.union([
100
- z.literal('none'),
101
- z.literal('left'),
102
- z.literal('right'),
103
- ]);
104
-
105
- export const sizeSchema = z.union([
106
- z.literal('xs'),
107
- z.literal('sm'),
108
- z.literal('md'),
109
- z.literal('lg'),
110
- z.literal('xl'),
111
- ]);
112
-
113
- export const dividerLayoutSchema = z.object({
114
- type: z.literal('divider'),
115
- control: z.string().optional(),
116
- margin: sizeSchema.optional(),
175
+ export const stepErrorSchema = z.object({
176
+ error: z.string().optional(),
177
+ validation: jsonElementSchema.optional(),
117
178
  });
118
179
 
119
- export const statusListLayoutStatusSchema = z.union([
120
- z.literal('not-done'),
121
- z.literal('pending'),
122
- z.literal('done'),
123
- ]);
124
-
125
- export const loadingIndicatorLayoutSchema = z.object({
126
- type: z.literal('loading-indicator'),
127
- size: sizeSchema.optional(),
128
- control: z.string().optional(),
129
- margin: sizeSchema.optional(),
180
+ export const iconNamedSchema = z.object({
181
+ name: z.string(),
130
182
  });
131
183
 
132
184
  export const contextSchema = z.union([
@@ -140,20 +192,57 @@ export const contextSchema = z.union([
140
192
  z.literal('primary'),
141
193
  ]);
142
194
 
143
- export const instructionsLayoutItemSchema = z.object({
195
+ export const iconTextSchema = z.object({
144
196
  text: z.string(),
145
- context: contextSchema,
146
- tag: z.string().optional(),
147
197
  });
148
198
 
149
- export const formLayoutSchemaReferenceSchema = z.object({
150
- $ref: z.string(),
199
+ export const sizeSchema = z.union([
200
+ z.literal('xs'),
201
+ z.literal('sm'),
202
+ z.literal('md'),
203
+ z.literal('lg'),
204
+ z.literal('xl'),
205
+ ]);
206
+
207
+ export const alignSchema = z.union([z.literal('left'), z.literal('center'), z.literal('right')]);
208
+
209
+ export const searchSearchRequestSchema = z.object({
210
+ url: z.string(),
211
+ method: httpMethodSchema,
212
+ param: z.string(),
213
+ query: z.string(),
214
+ });
215
+
216
+ export const errorResponseBodySchema = z.object({
217
+ refreshFormUrl: z.string().optional(),
218
+ analytics: z.record(z.string()).optional(),
219
+ error: z.string().optional(),
220
+ validation: jsonElementSchema.optional(),
221
+ refreshUrl: z.string().optional(),
151
222
  });
152
223
 
153
224
  export const modalLayoutTriggerSchema = z.object({
154
225
  title: z.string(),
155
226
  });
156
227
 
228
+ export const imageLayoutSchema = z.object({
229
+ type: z.literal('image'),
230
+ text: z.string().optional(),
231
+ url: z.string().optional(),
232
+ accessibilityDescription: z.string().optional(),
233
+ content: imageSchema.optional(),
234
+ size: sizeSchema.optional(),
235
+ control: z.string().optional(),
236
+ margin: sizeSchema.optional(),
237
+ align: alignSchema.optional(),
238
+ });
239
+
240
+ export const instructionsLayoutItemSchema = z.object({
241
+ text: z.string(),
242
+ context: contextSchema,
243
+ tag: z.string().optional(),
244
+ });
245
+
157
246
  export const instructionsLayoutSchema = z.object({
158
247
  type: z.literal('instructions'),
159
248
  title: z.string().optional(),
@@ -162,6 +251,10 @@ export const instructionsLayoutSchema = z.object({
162
251
  margin: sizeSchema.optional(),
163
252
  });
164
253
 
254
+ export const formLayoutSchemaReferenceSchema = z.object({
255
+ $ref: z.string(),
256
+ });
257
+
165
258
  export const reviewLayoutFieldSchema = z.object({
166
259
  label: z.string(),
167
260
  value: z.string(),
@@ -170,8 +263,6 @@ export const reviewLayoutFieldSchema = z.object({
170
263
  tag: z.string().optional(),
171
264
  });
172
265
 
173
- export const alignSchema = z.union([z.literal('left'), z.literal('center'), z.literal('right')]);
174
-
175
266
  export const searchLayoutSchema = z.object({
176
267
  type: z.literal('search'),
177
268
  title: z.string(),
@@ -183,26 +274,17 @@ export const searchLayoutSchema = z.object({
183
274
  margin: sizeSchema.optional(),
184
275
  });
185
276
 
186
- export const headingLayoutSchema = z.object({
187
- type: z.literal('heading'),
188
- text: z.string(),
189
- size: sizeSchema.optional(),
190
- align: alignSchema.optional(),
277
+ export const dividerLayoutSchema = z.object({
278
+ type: z.literal('divider'),
191
279
  control: z.string().optional(),
192
280
  margin: sizeSchema.optional(),
193
281
  });
194
282
 
195
- export const imageLayoutSchema = z.object({
196
- type: z.literal('image'),
197
- text: z.string().optional(),
198
- url: z.string().optional(),
199
- accessibilityDescription: z.string().optional(),
200
- content: imageSchema.optional(),
201
- size: sizeSchema.optional(),
202
- control: z.string().optional(),
203
- margin: sizeSchema.optional(),
204
- align: alignSchema.optional(),
205
- });
283
+ export const listLayoutStatusSchema = z.union([
284
+ z.literal('warning'),
285
+ z.literal('neutral'),
286
+ z.literal('positive'),
287
+ ]);
206
288
 
207
289
  export const markdownLayoutSchema = z.object({
208
290
  type: z.literal('markdown'),
@@ -212,128 +294,67 @@ export const markdownLayoutSchema = z.object({
212
294
  margin: sizeSchema.optional(),
213
295
  });
214
296
 
215
- export const paragraphLayoutSchema = z.object({
216
- type: z.literal('paragraph'),
217
- text: z.string(),
297
+ export const infoLayoutSchema = z.object({
298
+ type: z.literal('info'),
299
+ markdown: z.string(),
218
300
  align: alignSchema.optional(),
219
301
  control: z.string().optional(),
220
302
  margin: sizeSchema.optional(),
221
303
  });
222
304
 
223
- export const listLayoutStatusSchema = z.union([
224
- z.literal('warning'),
225
- z.literal('neutral'),
226
- z.literal('positive'),
227
- ]);
228
-
229
- export const errorResponseBodySchema = z.object({
230
- refreshFormUrl: z.string().optional(),
231
- analytics: z.record(z.string()).optional(),
232
- error: z.string().optional(),
233
- validation: jsonElementSchema.optional(),
234
- refreshUrl: z.string().optional(),
305
+ export const headingLayoutSchema = z.object({
306
+ type: z.literal('heading'),
307
+ text: z.string(),
308
+ size: sizeSchema.optional(),
309
+ align: alignSchema.optional(),
310
+ control: z.string().optional(),
311
+ margin: sizeSchema.optional(),
235
312
  });
236
313
 
237
- export const searchSearchRequestSchema = z.object({
238
- url: z.string(),
239
- method: httpMethodSchema,
240
- param: z.string(),
241
- query: z.string(),
314
+ export const loadingIndicatorLayoutSchema = z.object({
315
+ type: z.literal('loading-indicator'),
316
+ size: sizeSchema.optional(),
317
+ control: z.string().optional(),
318
+ margin: sizeSchema.optional(),
242
319
  });
243
320
 
244
- export const autocompleteTokenSchema = z.union([
245
- z.literal('on'),
246
- z.literal('name'),
247
- z.literal('name-prefix'),
248
- z.literal('given-name'),
249
- z.literal('additional-name'),
250
- z.literal('family-name'),
251
- z.literal('name-suffix'),
252
- z.literal('nickname'),
253
- z.literal('email'),
254
- z.literal('username'),
255
- z.literal('new-username'),
256
- z.literal('new-password'),
257
- z.literal('password'),
258
- z.literal('one-time-code'),
259
- z.literal('job-title'),
260
- z.literal('organization-name'),
261
- z.literal('full-street-address'),
262
- z.literal('street-address-line-1'),
263
- z.literal('street-address-line-2'),
264
- z.literal('street-address-line-3'),
265
- z.literal('address-level-1'),
266
- z.literal('address-level-2'),
267
- z.literal('address-level-3'),
268
- z.literal('address-level-4'),
269
- z.literal('country-code'),
270
- z.literal('country-name'),
271
- z.literal('postal-code'),
272
- z.literal('credit-card-name'),
273
- z.literal('credit-card-given-name'),
274
- z.literal('credit-card-middle-name'),
275
- z.literal('credit-card-family-name'),
276
- z.literal('credit-card-number'),
277
- z.literal('credit-card-expiration'),
278
- z.literal('credit-card-expiration-month'),
279
- z.literal('credit-card-expiration-year'),
280
- z.literal('credit-card-security-code'),
281
- z.literal('credit-card-type'),
282
- z.literal('transaction-currency'),
283
- z.literal('transaction-amount'),
284
- z.literal('language'),
285
- z.literal('birthdate'),
286
- z.literal('birthdate-day'),
287
- z.literal('birthdate-month'),
288
- z.literal('birthdate-year'),
289
- z.literal('gender'),
290
- z.literal('phone-number'),
291
- z.literal('phone-country-code'),
292
- z.literal('phone-national'),
293
- z.literal('phone-area-code'),
294
- z.literal('phone-local'),
295
- z.literal('phone-local-prefix'),
296
- z.literal('phone-local-suffix'),
297
- z.literal('phone-extension'),
298
- z.literal('url'),
299
- z.literal('photo'),
300
- z.literal('impp'),
301
- z.literal('shipping'),
302
- z.literal('billing'),
303
- z.literal('home'),
304
- z.literal('work'),
305
- z.literal('mobile'),
306
- z.literal('fax'),
307
- z.literal('pager'),
321
+ export const statusListLayoutStatusSchema = z.union([
322
+ z.literal('not-done'),
323
+ z.literal('pending'),
324
+ z.literal('done'),
308
325
  ]);
309
326
 
310
- export const autocapitalizationTypeSchema = z.union([
327
+ export const paragraphLayoutSchema = z.object({
328
+ type: z.literal('paragraph'),
329
+ text: z.string(),
330
+ align: alignSchema.optional(),
331
+ control: z.string().optional(),
332
+ margin: sizeSchema.optional(),
333
+ });
334
+
335
+ export const columnsLayoutBiasSchema = z.union([
311
336
  z.literal('none'),
312
- z.literal('characters'),
313
- z.literal('sentences'),
314
- z.literal('words'),
337
+ z.literal('left'),
338
+ z.literal('right'),
315
339
  ]);
316
340
 
317
- export const iconNamedSchema = z.object({
318
- name: z.string(),
319
- });
341
+ export const iconSchema = z.union([iconNamedSchema, iconTextSchema]);
320
342
 
321
- export const iconTextSchema = z.object({
322
- text: z.string(),
343
+ export const validateAsyncSchema = z.object({
344
+ param: z.string(),
345
+ method: httpMethodSchema,
346
+ url: z.string(),
323
347
  });
324
348
 
325
- export const stringSchemaFormatSchema = z.union([
326
- z.literal('date'),
327
- z.literal('email'),
328
- z.literal('numeric'),
329
- z.literal('password'),
330
- z.literal('phone-number'),
331
- z.literal('base64url'),
332
- ]);
333
-
334
- export const stepErrorSchema = z.object({
335
- error: z.string().optional(),
336
- validation: jsonElementSchema.optional(),
349
+ export const summarySummariserSchema = z.object({
350
+ defaultTitle: z.string().optional(),
351
+ defaultDescription: z.string().optional(),
352
+ defaultIcon: iconSchema.optional(),
353
+ defaultImage: imageSchema.optional(),
354
+ providesTitle: z.boolean().optional(),
355
+ providesDescription: z.boolean().optional(),
356
+ providesIcon: z.boolean().optional(),
357
+ providesImage: z.boolean().optional(),
337
358
  });
338
359
 
339
360
  export const actionSchema = z.object({
@@ -352,60 +373,32 @@ export const actionSchema = z.object({
352
373
  skipValidation: z.boolean().optional(),
353
374
  });
354
375
 
355
- export const iconSchema = z.union([iconNamedSchema, iconTextSchema]);
356
-
357
- export const summarySummariserSchema = z.object({
358
- defaultTitle: z.string().optional(),
359
- defaultDescription: z.string().optional(),
360
- defaultIcon: iconSchema.optional(),
361
- defaultImage: imageSchema.optional(),
362
- providesTitle: z.boolean().optional(),
363
- providesDescription: z.boolean().optional(),
364
- providesIcon: z.boolean().optional(),
365
- providesImage: z.boolean().optional(),
366
- });
367
-
368
- export const formLayoutSchema = z.object({
369
- type: z.literal('form'),
370
- schema: formLayoutSchemaReferenceSchema.optional(),
371
- schemaId: z.string(),
372
- control: z.string().optional(),
373
- margin: sizeSchema.optional(),
374
- });
375
-
376
- export const infoLayoutSchema = z.object({
377
- type: z.literal('info'),
378
- markdown: z.string(),
379
- align: alignSchema.optional(),
380
- control: z.string().optional(),
381
- margin: sizeSchema.optional(),
382
- });
383
-
384
- export const listLayoutItemSchema = z.object({
385
- description: z.string().optional(),
386
- status: listLayoutStatusSchema.optional(),
376
+ export const suggestionsValueSchema = z.object({
377
+ label: z.string(),
378
+ value: jsonElementSchema.optional(),
387
379
  icon: iconSchema.optional(),
388
380
  image: imageSchema.optional(),
389
- title: z.string().optional(),
390
- subtitle: z.string().optional(),
391
- value: z.string().optional(),
392
- subvalue: z.string().optional(),
393
381
  tag: z.string().optional(),
394
382
  });
395
383
 
396
- export const actionResponseBodySchema = z.object({
384
+ export const navigationBackBehaviorSchema = z.object({
385
+ title: z.string().optional(),
386
+ action: actionSchema,
387
+ });
388
+
389
+ export const actionBehaviorSchema = z.object({
390
+ type: z.literal('action'),
397
391
  action: actionSchema,
398
392
  });
399
393
 
400
- export const searchResultActionSchema = z.object({
401
- type: z.literal('action'),
402
- title: z.string(),
403
- description: z.string().optional(),
404
- icon: iconSchema.optional(),
405
- image: imageSchema.optional(),
406
- value: actionSchema,
394
+ export const navigationSchema = z.object({
395
+ backButton: navigationBackBehaviorSchema.optional(),
396
+ back: navigationBackBehaviorSchema.optional(),
397
+ stackBehavior: navigationStackBehaviorSchema.optional(),
407
398
  });
408
399
 
400
+ export const summarySchema = z.union([summaryProviderSchema, summarySummariserSchema]);
401
+
409
402
  export const searchResultSearchSchema = z.object({
410
403
  type: z.literal('search'),
411
404
  title: z.string(),
@@ -415,26 +408,36 @@ export const searchResultSearchSchema = z.object({
415
408
  value: searchSearchRequestSchema,
416
409
  });
417
410
 
418
- export const actionBehaviorSchema = z.object({
411
+ export const searchResultActionSchema = z.object({
419
412
  type: z.literal('action'),
420
- action: actionSchema,
413
+ title: z.string(),
414
+ description: z.string().optional(),
415
+ icon: iconSchema.optional(),
416
+ image: imageSchema.optional(),
417
+ value: actionSchema,
421
418
  });
422
419
 
423
- export const containerBehaviorSchema = z.object({
424
- action: actionSchema.optional(),
425
- link: linkSchema.optional(),
420
+ export const actionResponseBodySchema = z.object({
421
+ action: actionSchema,
426
422
  });
427
423
 
428
- export const navigationBackBehaviorSchema = z.object({
429
- title: z.string().optional(),
430
- action: actionSchema,
424
+ export const formLayoutSchema = z.object({
425
+ type: z.literal('form'),
426
+ schema: formLayoutSchemaReferenceSchema.optional(),
427
+ schemaId: z.string(),
428
+ control: z.string().optional(),
429
+ margin: sizeSchema.optional(),
431
430
  });
432
431
 
433
- export const suggestionsValueSchema = z.object({
434
- label: z.string(),
435
- value: jsonElementSchema.optional(),
432
+ export const listLayoutItemSchema = z.object({
433
+ description: z.string().optional(),
434
+ status: listLayoutStatusSchema.optional(),
436
435
  icon: iconSchema.optional(),
437
436
  image: imageSchema.optional(),
437
+ title: z.string().optional(),
438
+ subtitle: z.string().optional(),
439
+ value: z.string().optional(),
440
+ subvalue: z.string().optional(),
438
441
  tag: z.string().optional(),
439
442
  });
440
443
 
@@ -442,12 +445,9 @@ export const suggestionsSchema = z.object({
442
445
  values: z.array(suggestionsValueSchema),
443
446
  });
444
447
 
445
- export const summarySchema = z.union([summaryProviderSchema, summarySummariserSchema]);
446
-
447
- export const searchResultSchema = z.union([searchResultActionSchema, searchResultSearchSchema]);
448
-
449
- export const searchResponseBodySchema = z.object({
450
- results: z.array(searchResultSchema),
448
+ export const containerBehaviorSchema = z.object({
449
+ action: actionSchema.optional(),
450
+ link: linkSchema.optional(),
451
451
  });
452
452
 
453
453
  export const behaviorSchema = z.union([
@@ -456,29 +456,17 @@ export const behaviorSchema = z.union([
456
456
  linkBehaviorSchema,
457
457
  ]);
458
458
 
459
- export const navigationSchema = z.object({
460
- backButton: navigationBackBehaviorSchema.optional(),
461
- back: navigationBackBehaviorSchema.optional(),
462
- stackBehavior: navigationStackBehaviorSchema.optional(),
463
- });
464
-
465
459
  export const linkHandlerSchema = z.object({
466
460
  regexPattern: z.string(),
467
461
  behavior: behaviorSchema.optional(),
468
462
  });
469
463
 
470
- export const pollingOnErrorSchema = z.object({
471
- action: actionSchema.optional(),
472
- behavior: behaviorSchema.optional(),
473
- });
464
+ export const searchResultSchema = z.union([searchResultActionSchema, searchResultSearchSchema]);
474
465
 
475
- export const pollingSchema = z.object({
476
- interval: z.number().optional(),
477
- url: z.string(),
478
- delay: z.number().optional(),
479
- timeout: z.number().optional(),
480
- maxAttempts: z.number(),
481
- onError: pollingOnErrorSchema,
466
+ export const alertLayoutCallToActionSchema = z.object({
467
+ title: z.string(),
468
+ accessibilityDescription: z.string().optional(),
469
+ behavior: behaviorSchema,
482
470
  });
483
471
 
484
472
  export const decisionLayoutOptionSchema = z.object({
@@ -505,35 +493,20 @@ export const buttonLayoutSchema = z.object({
505
493
  margin: sizeSchema.optional(),
506
494
  });
507
495
 
508
- export const reviewLayoutCallToActionSchema = z.object({
509
- action: actionSchema.optional(),
510
- title: z.string(),
511
- accessibilityDescription: z.string().optional(),
512
- behavior: behaviorSchema.optional(),
513
- });
514
-
515
- export const alertLayoutCallToActionSchema = z.object({
496
+ export const listLayoutCallToActionSchema = z.object({
516
497
  title: z.string(),
517
498
  accessibilityDescription: z.string().optional(),
518
499
  behavior: behaviorSchema,
519
500
  });
520
501
 
521
- export const itemCallToActionSchema = z.object({
502
+ export const reviewLayoutCallToActionSchema = z.object({
503
+ action: actionSchema.optional(),
522
504
  title: z.string(),
523
505
  accessibilityDescription: z.string().optional(),
524
- behavior: behaviorSchema,
525
- });
526
-
527
- export const alertLayoutSchema = z.object({
528
- type: z.literal('alert'),
529
- markdown: z.string(),
530
- context: contextSchema.optional(),
531
- control: z.string().optional(),
532
- margin: sizeSchema.optional(),
533
- callToAction: alertLayoutCallToActionSchema.optional(),
506
+ behavior: behaviorSchema.optional(),
534
507
  });
535
508
 
536
- export const listLayoutCallToActionSchema = z.object({
509
+ export const itemCallToActionSchema = z.object({
537
510
  title: z.string(),
538
511
  accessibilityDescription: z.string().optional(),
539
512
  behavior: behaviorSchema,
@@ -556,21 +529,13 @@ export const listLayoutSchema = z.object({
556
529
  margin: sizeSchema.optional(),
557
530
  });
558
531
 
559
- export const constSchemaSchema = z.object({
560
- hidden: z.boolean().optional(),
561
- alert: alertLayoutSchema.optional(),
532
+ export const alertLayoutSchema = z.object({
533
+ type: z.literal('alert'),
534
+ markdown: z.string(),
535
+ context: contextSchema.optional(),
562
536
  control: z.string().optional(),
563
- promoted: z.boolean().optional(),
564
- $id: z.string().optional(),
565
- const: jsonElementSchema,
566
- title: z.string().optional(),
567
- description: z.string().optional(),
568
- icon: iconSchema.optional(),
569
- image: imageSchema.optional(),
570
- keywords: z.array(z.string()).optional(),
571
- summary: summaryProviderSchema.optional(),
572
- analyticsId: z.string().optional(),
573
- disabled: z.boolean().optional(),
537
+ margin: sizeSchema.optional(),
538
+ callToAction: alertLayoutCallToActionSchema.optional(),
574
539
  });
575
540
 
576
541
  export const blobSchemaSchema = z.object({
@@ -596,15 +561,39 @@ export const blobSchemaSchema = z.object({
596
561
  disabled: z.boolean().optional(),
597
562
  });
598
563
 
599
- export const reviewLayoutSchema = z.object({
600
- type: z.literal('review'),
601
- orientation: z.string().optional(),
602
- action: actionSchema.optional(),
603
- fields: z.array(reviewLayoutFieldSchema),
604
- title: z.string().optional(),
605
- callToAction: reviewLayoutCallToActionSchema.optional(),
564
+ export const constSchemaSchema = z.object({
565
+ hidden: z.boolean().optional(),
566
+ alert: alertLayoutSchema.optional(),
606
567
  control: z.string().optional(),
607
- margin: sizeSchema.optional(),
568
+ promoted: z.boolean().optional(),
569
+ $id: z.string().optional(),
570
+ const: jsonElementSchema,
571
+ title: z.string().optional(),
572
+ description: z.string().optional(),
573
+ icon: iconSchema.optional(),
574
+ image: imageSchema.optional(),
575
+ keywords: z.array(z.string()).optional(),
576
+ summary: summaryProviderSchema.optional(),
577
+ analyticsId: z.string().optional(),
578
+ disabled: z.boolean().optional(),
579
+ });
580
+
581
+ export const pollingOnErrorSchema = z.object({
582
+ action: actionSchema.optional(),
583
+ behavior: behaviorSchema.optional(),
584
+ });
585
+
586
+ export const pollingSchema = z.object({
587
+ interval: z.number().optional(),
588
+ url: z.string(),
589
+ delay: z.number().optional(),
590
+ timeout: z.number().optional(),
591
+ maxAttempts: z.number(),
592
+ onError: pollingOnErrorSchema,
593
+ });
594
+
595
+ export const searchResponseBodySchema = z.object({
596
+ results: z.array(searchResultSchema),
608
597
  });
609
598
 
610
599
  export const statusListLayoutItemSchema = z.object({
@@ -616,6 +605,17 @@ export const statusListLayoutItemSchema = z.object({
616
605
  tag: z.string().optional(),
617
606
  });
618
607
 
608
+ export const reviewLayoutSchema = z.object({
609
+ type: z.literal('review'),
610
+ orientation: z.string().optional(),
611
+ action: actionSchema.optional(),
612
+ fields: z.array(reviewLayoutFieldSchema),
613
+ title: z.string().optional(),
614
+ callToAction: reviewLayoutCallToActionSchema.optional(),
615
+ control: z.string().optional(),
616
+ margin: sizeSchema.optional(),
617
+ });
618
+
619
619
  export const statusListLayoutSchema = z.object({
620
620
  type: z.literal('status-list'),
621
621
  items: z.array(statusListLayoutItemSchema),
@@ -624,118 +624,88 @@ export const statusListLayoutSchema = z.object({
624
624
  margin: sizeSchema.optional(),
625
625
  });
626
626
 
627
- export const persistAsyncSchema: z.ZodSchema<PersistAsync> = z.lazy(() =>
628
- z.object({
629
- param: z.string(),
630
- idProperty: z.string(),
631
- schema: schemaSchema,
632
- url: z.string(),
633
- method: httpMethodSchema,
634
- }),
635
- );
636
-
637
- export const schemaSchema: z.ZodSchema<Schema> = z.lazy(() =>
638
- z.union([
639
- allOfSchemaSchema,
640
- arraySchemaSchema,
641
- blobSchemaSchema,
642
- booleanSchemaSchema,
643
- constSchemaSchema,
644
- integerSchemaSchema,
645
- numberSchemaSchema,
646
- objectSchemaSchema,
647
- oneOfSchemaSchema,
648
- stringSchemaSchema,
649
- ]),
650
- );
651
-
652
- export const columnsLayoutSchema: z.ZodSchema<ColumnsLayout> = z.lazy(() =>
653
- z.object({
654
- type: z.literal('columns'),
655
- left: z.array(layoutSchema),
656
- right: z.array(layoutSchema),
657
- bias: columnsLayoutBiasSchema.optional(),
658
- control: z.string().optional(),
659
- margin: sizeSchema.optional(),
660
- }),
661
- );
662
-
663
- export const layoutSchema: z.ZodSchema<Layout> = z.lazy(() =>
664
- z.union([
665
- alertLayoutSchema,
666
- boxLayoutSchema,
667
- buttonLayoutSchema,
668
- columnsLayoutSchema,
669
- decisionLayoutSchema,
670
- dividerLayoutSchema,
671
- formLayoutSchema,
672
- headingLayoutSchema,
673
- imageLayoutSchema,
674
- infoLayoutSchema,
675
- instructionsLayoutSchema,
676
- listLayoutSchema,
677
- loadingIndicatorLayoutSchema,
678
- markdownLayoutSchema,
679
- modalLayoutSchema,
680
- paragraphLayoutSchema,
681
- reviewLayoutSchema,
682
- searchLayoutSchema,
683
- statusListLayoutSchema,
684
- ]),
685
- );
686
-
687
- export const modalLayoutContentSchema: z.ZodSchema<ModalLayoutContent> = z.lazy(() =>
627
+ export const booleanSchemaSchema: z.ZodSchema<BooleanSchema> = z.lazy(() =>
688
628
  z.object({
629
+ type: z.literal('boolean'),
630
+ autofillProvider: z.string().optional(),
631
+ promoted: z.boolean().optional(),
632
+ refreshFormOnChange: z.boolean().optional(),
633
+ refreshUrl: z.string().optional(),
634
+ refreshFormUrl: z.string().optional(),
635
+ $id: z.string().optional(),
689
636
  title: z.string().optional(),
690
- components: z.array(layoutSchema),
691
- }),
692
- );
693
-
694
- export const boxLayoutSchema: z.ZodSchema<BoxLayout> = z.lazy(() =>
695
- z.object({
696
- type: z.literal('box'),
697
- components: z.array(layoutSchema),
698
- width: sizeSchema.optional(),
699
- border: z.boolean().optional(),
637
+ description: z.string().optional(),
700
638
  control: z.string().optional(),
701
- margin: sizeSchema.optional(),
639
+ default: z.boolean().optional(),
640
+ hidden: z.boolean().optional(),
641
+ disabled: z.boolean().optional(),
642
+ icon: iconSchema.optional(),
643
+ image: imageSchema.optional(),
644
+ keywords: z.array(z.string()).optional(),
645
+ summary: summaryProviderSchema.optional(),
646
+ analyticsId: z.string().optional(),
647
+ persistAsync: persistAsyncSchema.optional(),
648
+ refreshStepOnChange: z.boolean().optional(),
649
+ validationAsync: validateAsyncSchema.optional(),
650
+ alert: alertLayoutSchema.optional(),
651
+ autofillKey: z.string().optional(),
652
+ help: helpSchema.optional(),
702
653
  }),
703
654
  );
704
655
 
705
- export const modalLayoutSchema: z.ZodSchema<ModalLayout> = z.lazy(() =>
656
+ export const persistAsyncSchema: z.ZodSchema<PersistAsync> = z.lazy(() =>
706
657
  z.object({
707
- type: z.literal('modal'),
708
- control: z.string().optional(),
709
- margin: sizeSchema.optional(),
710
- trigger: modalLayoutTriggerSchema,
711
- content: modalLayoutContentSchema,
658
+ param: z.string(),
659
+ idProperty: z.string(),
660
+ schema: schemaSchema,
661
+ url: z.string(),
662
+ method: httpMethodSchema,
712
663
  }),
713
664
  );
714
665
 
715
- export const stepSchema: z.ZodSchema<Step> = z.lazy(() =>
666
+ export const arraySchemaListSchema: z.ZodSchema<ArraySchemaList> = z.lazy(() =>
716
667
  z.object({
717
- key: z.string().optional(),
718
- type: z.string().optional(),
719
- actions: z.array(actionSchema).optional(),
720
- refreshFormUrl: z.string().optional(),
721
- id: z.string(),
722
- title: z.string(),
723
- schemas: z.array(schemaSchema),
724
- layout: z.array(layoutSchema),
668
+ type: z.literal('array'),
669
+ promoted: z.boolean().optional(),
670
+ $id: z.string().optional(),
671
+ items: schemaSchema,
672
+ addItemTitle: z.string(),
673
+ editItemTitle: z.string(),
674
+ minItems: z.number().optional(),
675
+ maxItems: z.number().optional(),
676
+ placeholder: z.string().optional(),
677
+ title: z.string().optional(),
725
678
  description: z.string().optional(),
726
- model: jsonElementSchema.optional(),
727
- external: externalSchema.optional(),
728
- polling: pollingSchema.optional(),
729
- linkHandlers: z.array(linkHandlerSchema).optional(),
730
- analytics: z.record(z.string()).optional(),
731
- errors: stepErrorSchema.optional(),
732
- navigation: navigationSchema.optional(),
733
- refreshUrl: z.string().optional(),
734
679
  control: z.string().optional(),
735
- refreshAfter: z.string().optional(),
680
+ hidden: z.boolean().optional(),
681
+ icon: iconSchema.optional(),
682
+ image: imageSchema.optional(),
683
+ keywords: z.array(z.string()).optional(),
684
+ summary: summarySummariserSchema.optional(),
685
+ analyticsId: z.string().optional(),
686
+ persistAsync: persistAsyncSchema.optional(),
687
+ validationAsync: validateAsyncSchema.optional(),
688
+ alert: alertLayoutSchema.optional(),
689
+ validationMessages: z.record(z.string()).optional(),
690
+ disabled: z.boolean().optional(),
736
691
  }),
737
692
  );
738
693
 
694
+ export const schemaSchema: z.ZodSchema<Schema> = z.lazy(() =>
695
+ z.union([
696
+ allOfSchemaSchema,
697
+ arraySchemaSchema,
698
+ blobSchemaSchema,
699
+ booleanSchemaSchema,
700
+ constSchemaSchema,
701
+ integerSchemaSchema,
702
+ numberSchemaSchema,
703
+ objectSchemaSchema,
704
+ oneOfSchemaSchema,
705
+ stringSchemaSchema,
706
+ ]),
707
+ );
708
+
739
709
  export const stringSchemaSchema: z.ZodSchema<StringSchema> = z.lazy(() =>
740
710
  z.object({
741
711
  type: z.literal('string'),
@@ -813,40 +783,6 @@ export const oneOfSchemaSchema: z.ZodSchema<OneOfSchema> = z.lazy(() =>
813
783
  }),
814
784
  );
815
785
 
816
- export const numberSchemaSchema: z.ZodSchema<NumberSchema> = z.lazy(() =>
817
- z.object({
818
- type: z.literal('number'),
819
- autofillProvider: z.string().optional(),
820
- promoted: z.boolean().optional(),
821
- refreshFormOnChange: z.boolean().optional(),
822
- refreshUrl: z.string().optional(),
823
- refreshFormUrl: z.string().optional(),
824
- placeholder: z.string().optional(),
825
- minimum: z.number().optional(),
826
- maximum: z.number().optional(),
827
- $id: z.string().optional(),
828
- title: z.string().optional(),
829
- description: z.string().optional(),
830
- control: z.string().optional(),
831
- default: z.number().optional(),
832
- hidden: z.boolean().optional(),
833
- disabled: z.boolean().optional(),
834
- icon: iconSchema.optional(),
835
- image: imageSchema.optional(),
836
- keywords: z.array(z.string()).optional(),
837
- summary: summaryProviderSchema.optional(),
838
- analyticsId: z.string().optional(),
839
- persistAsync: persistAsyncSchema.optional(),
840
- refreshStepOnChange: z.boolean().optional(),
841
- validationAsync: validateAsyncSchema.optional(),
842
- validationMessages: z.record(z.string()).optional(),
843
- alert: alertLayoutSchema.optional(),
844
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
845
- autofillKey: z.string().optional(),
846
- help: helpSchema.optional(),
847
- }),
848
- );
849
-
850
786
  export const arraySchemaTupleSchema: z.ZodSchema<ArraySchemaTuple> = z.lazy(() =>
851
787
  z.object({
852
788
  type: z.literal('array'),
@@ -868,9 +804,13 @@ export const arraySchemaTupleSchema: z.ZodSchema<ArraySchemaTuple> = z.lazy(() =
868
804
  }),
869
805
  );
870
806
 
871
- export const integerSchemaSchema: z.ZodSchema<IntegerSchema> = z.lazy(() =>
807
+ export const arraySchemaSchema: z.ZodSchema<ArraySchema> = z.lazy(() =>
808
+ z.union([arraySchemaListSchema, arraySchemaTupleSchema]),
809
+ );
810
+
811
+ export const numberSchemaSchema: z.ZodSchema<NumberSchema> = z.lazy(() =>
872
812
  z.object({
873
- type: z.literal('integer'),
813
+ type: z.literal('number'),
874
814
  autofillProvider: z.string().optional(),
875
815
  promoted: z.boolean().optional(),
876
816
  refreshFormOnChange: z.boolean().optional(),
@@ -902,21 +842,16 @@ export const integerSchemaSchema: z.ZodSchema<IntegerSchema> = z.lazy(() =>
902
842
  }),
903
843
  );
904
844
 
905
- export const arraySchemaSchema: z.ZodSchema<ArraySchema> = z.lazy(() =>
906
- z.union([arraySchemaListSchema, arraySchemaTupleSchema]),
907
- );
908
-
909
- export const arraySchemaListSchema: z.ZodSchema<ArraySchemaList> = z.lazy(() =>
845
+ export const objectSchemaSchema: z.ZodSchema<ObjectSchema> = z.lazy(() =>
910
846
  z.object({
911
- type: z.literal('array'),
847
+ type: z.literal('object'),
848
+ disabled: z.boolean().optional(),
912
849
  promoted: z.boolean().optional(),
850
+ help: helpSchema.optional(),
851
+ properties: z.record(schemaSchema),
852
+ displayOrder: z.array(z.string()),
853
+ required: z.array(z.string()).optional(),
913
854
  $id: z.string().optional(),
914
- items: schemaSchema,
915
- addItemTitle: z.string(),
916
- editItemTitle: z.string(),
917
- minItems: z.number().optional(),
918
- maxItems: z.number().optional(),
919
- placeholder: z.string().optional(),
920
855
  title: z.string().optional(),
921
856
  description: z.string().optional(),
922
857
  control: z.string().optional(),
@@ -924,13 +859,9 @@ export const arraySchemaListSchema: z.ZodSchema<ArraySchemaList> = z.lazy(() =>
924
859
  icon: iconSchema.optional(),
925
860
  image: imageSchema.optional(),
926
861
  keywords: z.array(z.string()).optional(),
927
- summary: summarySummariserSchema.optional(),
862
+ summary: summaryProviderSchema.optional(),
928
863
  analyticsId: z.string().optional(),
929
- persistAsync: persistAsyncSchema.optional(),
930
- validationAsync: validateAsyncSchema.optional(),
931
864
  alert: alertLayoutSchema.optional(),
932
- validationMessages: z.record(z.string()).optional(),
933
- disabled: z.boolean().optional(),
934
865
  }),
935
866
  );
936
867
 
@@ -953,19 +884,22 @@ export const allOfSchemaSchema: z.ZodSchema<AllOfSchema> = z.lazy(() =>
953
884
  }),
954
885
  );
955
886
 
956
- export const booleanSchemaSchema: z.ZodSchema<BooleanSchema> = z.lazy(() =>
887
+ export const integerSchemaSchema: z.ZodSchema<IntegerSchema> = z.lazy(() =>
957
888
  z.object({
958
- type: z.literal('boolean'),
889
+ type: z.literal('integer'),
959
890
  autofillProvider: z.string().optional(),
960
891
  promoted: z.boolean().optional(),
961
892
  refreshFormOnChange: z.boolean().optional(),
962
893
  refreshUrl: z.string().optional(),
963
894
  refreshFormUrl: z.string().optional(),
895
+ placeholder: z.string().optional(),
896
+ minimum: z.number().optional(),
897
+ maximum: z.number().optional(),
964
898
  $id: z.string().optional(),
965
899
  title: z.string().optional(),
966
900
  description: z.string().optional(),
967
901
  control: z.string().optional(),
968
- default: z.boolean().optional(),
902
+ default: z.number().optional(),
969
903
  hidden: z.boolean().optional(),
970
904
  disabled: z.boolean().optional(),
971
905
  icon: iconSchema.optional(),
@@ -976,31 +910,97 @@ export const booleanSchemaSchema: z.ZodSchema<BooleanSchema> = z.lazy(() =>
976
910
  persistAsync: persistAsyncSchema.optional(),
977
911
  refreshStepOnChange: z.boolean().optional(),
978
912
  validationAsync: validateAsyncSchema.optional(),
913
+ validationMessages: z.record(z.string()).optional(),
979
914
  alert: alertLayoutSchema.optional(),
915
+ autocompleteHint: z.array(autocompleteTokenSchema).optional(),
980
916
  autofillKey: z.string().optional(),
981
917
  help: helpSchema.optional(),
982
918
  }),
983
919
  );
984
920
 
985
- export const objectSchemaSchema: z.ZodSchema<ObjectSchema> = z.lazy(() =>
921
+ export const modalLayoutSchema: z.ZodSchema<ModalLayout> = z.lazy(() =>
922
+ z.object({
923
+ type: z.literal('modal'),
924
+ control: z.string().optional(),
925
+ margin: sizeSchema.optional(),
926
+ trigger: modalLayoutTriggerSchema,
927
+ content: modalLayoutContentSchema,
928
+ }),
929
+ );
930
+
931
+ export const modalLayoutContentSchema: z.ZodSchema<ModalLayoutContent> = z.lazy(() =>
986
932
  z.object({
987
- type: z.literal('object'),
988
- disabled: z.boolean().optional(),
989
- promoted: z.boolean().optional(),
990
- help: helpSchema.optional(),
991
- properties: z.record(schemaSchema),
992
- displayOrder: z.array(z.string()),
993
- required: z.array(z.string()).optional(),
994
- $id: z.string().optional(),
995
933
  title: z.string().optional(),
934
+ components: z.array(layoutSchema),
935
+ }),
936
+ );
937
+
938
+ export const layoutSchema: z.ZodSchema<Layout> = z.lazy(() =>
939
+ z.union([
940
+ alertLayoutSchema,
941
+ boxLayoutSchema,
942
+ buttonLayoutSchema,
943
+ columnsLayoutSchema,
944
+ decisionLayoutSchema,
945
+ dividerLayoutSchema,
946
+ formLayoutSchema,
947
+ headingLayoutSchema,
948
+ imageLayoutSchema,
949
+ infoLayoutSchema,
950
+ instructionsLayoutSchema,
951
+ listLayoutSchema,
952
+ loadingIndicatorLayoutSchema,
953
+ markdownLayoutSchema,
954
+ modalLayoutSchema,
955
+ paragraphLayoutSchema,
956
+ reviewLayoutSchema,
957
+ searchLayoutSchema,
958
+ statusListLayoutSchema,
959
+ ]),
960
+ );
961
+
962
+ export const boxLayoutSchema: z.ZodSchema<BoxLayout> = z.lazy(() =>
963
+ z.object({
964
+ type: z.literal('box'),
965
+ components: z.array(layoutSchema),
966
+ width: sizeSchema.optional(),
967
+ border: z.boolean().optional(),
968
+ control: z.string().optional(),
969
+ margin: sizeSchema.optional(),
970
+ }),
971
+ );
972
+
973
+ export const columnsLayoutSchema: z.ZodSchema<ColumnsLayout> = z.lazy(() =>
974
+ z.object({
975
+ type: z.literal('columns'),
976
+ left: z.array(layoutSchema),
977
+ right: z.array(layoutSchema),
978
+ bias: columnsLayoutBiasSchema.optional(),
979
+ control: z.string().optional(),
980
+ margin: sizeSchema.optional(),
981
+ }),
982
+ );
983
+
984
+ export const stepSchema: z.ZodSchema<Step> = z.lazy(() =>
985
+ z.object({
986
+ key: z.string().optional(),
987
+ type: z.string().optional(),
988
+ actions: z.array(actionSchema).optional(),
989
+ refreshFormUrl: z.string().optional(),
990
+ id: z.string(),
991
+ title: z.string(),
992
+ schemas: z.array(schemaSchema),
993
+ layout: z.array(layoutSchema),
996
994
  description: z.string().optional(),
995
+ model: jsonElementSchema.optional(),
996
+ external: externalSchema.optional(),
997
+ polling: pollingSchema.optional(),
998
+ linkHandlers: z.array(linkHandlerSchema).optional(),
999
+ analytics: z.record(z.string()).optional(),
1000
+ errors: stepErrorSchema.optional(),
1001
+ navigation: navigationSchema.optional(),
1002
+ refreshUrl: z.string().optional(),
997
1003
  control: z.string().optional(),
998
- hidden: z.boolean().optional(),
999
- icon: iconSchema.optional(),
1000
- image: imageSchema.optional(),
1001
- keywords: z.array(z.string()).optional(),
1002
- summary: summaryProviderSchema.optional(),
1003
- analyticsId: z.string().optional(),
1004
- alert: alertLayoutSchema.optional(),
1004
+ refreshAfter: z.string().optional(),
1005
1005
  }),
1006
1006
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wise/dynamic-flow-types",
3
- "version": "3.1.1",
3
+ "version": "3.1.2",
4
4
  "description": "Dynamic Flow TypeScript Types",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -11,14 +11,14 @@
11
11
  "publishConfig": {
12
12
  "registry": "https://registry.npmjs.org/"
13
13
  },
14
- "main": "./build/main.min.js",
14
+ "main": "./build/main.js",
15
15
  "module": "./build/main.mjs",
16
16
  "types": "./build/index.d.ts",
17
17
  "exports": {
18
18
  ".": {
19
19
  "types": "./build/index.d.ts",
20
20
  "import": "./build/main.mjs",
21
- "require": "./build/main.min.js"
21
+ "require": "./build/main.js"
22
22
  },
23
23
  "./build/next": "./build/next/index.d.ts",
24
24
  "./build/renderers": {
package/build/main.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";var j=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var M=(n,e)=>{for(var c in e)j(n,c,{get:e[c],enumerable:!0})},P=(n,e,c,f)=>{if(e&&typeof e=="object"||typeof e=="function")for(let y of U(e))!E.call(n,y)&&y!==c&&j(n,y,{get:()=>e[y],enumerable:!(f=R(e,y))||f.enumerable});return n};var $=n=>P(j({},"__esModule",{value:!0}),n);var tt={};M(tt,{validateActionResponse:()=>C,validateErrorResponse:()=>B,validateStep:()=>Z});module.exports=$(tt);var o=require("zod"),a=o.z.object({text:o.z.string().optional(),url:o.z.string().optional(),uri:o.z.string().optional(),accessibilityDescription:o.z.string().optional()}),S=o.z.union([o.z.literal("GET"),o.z.literal("POST"),o.z.literal("PUT"),o.z.literal("PATCH"),o.z.literal("DELETE")]),D=o.z.object({name:o.z.string()}),L=o.z.union([o.z.literal("positive"),o.z.literal("neutral"),o.z.literal("warning"),o.z.literal("negative"),o.z.literal("success"),o.z.literal("failure"),o.z.literal("info"),o.z.literal("primary")]),H=o.z.object({text:o.z.string()}),t=o.z.union([o.z.literal("xs"),o.z.literal("sm"),o.z.literal("md"),o.z.literal("lg"),o.z.literal("xl")]),K=o.z.union([o.z.literal("none"),o.z.literal("characters"),o.z.literal("sentences"),o.z.literal("words")]),x=o.z.union([o.z.literal("left"),o.z.literal("center"),o.z.literal("right")]),i=o.z.union([D,H]),v=o.z.union([o.z.literal("on"),o.z.literal("name"),o.z.literal("name-prefix"),o.z.literal("given-name"),o.z.literal("additional-name"),o.z.literal("family-name"),o.z.literal("name-suffix"),o.z.literal("nickname"),o.z.literal("email"),o.z.literal("username"),o.z.literal("new-username"),o.z.literal("new-password"),o.z.literal("password"),o.z.literal("one-time-code"),o.z.literal("job-title"),o.z.literal("organization-name"),o.z.literal("full-street-address"),o.z.literal("street-address-line-1"),o.z.literal("street-address-line-2"),o.z.literal("street-address-line-3"),o.z.literal("address-level-1"),o.z.literal("address-level-2"),o.z.literal("address-level-3"),o.z.literal("address-level-4"),o.z.literal("country-code"),o.z.literal("country-name"),o.z.literal("postal-code"),o.z.literal("credit-card-name"),o.z.literal("credit-card-given-name"),o.z.literal("credit-card-middle-name"),o.z.literal("credit-card-family-name"),o.z.literal("credit-card-number"),o.z.literal("credit-card-expiration"),o.z.literal("credit-card-expiration-month"),o.z.literal("credit-card-expiration-year"),o.z.literal("credit-card-security-code"),o.z.literal("credit-card-type"),o.z.literal("transaction-currency"),o.z.literal("transaction-amount"),o.z.literal("language"),o.z.literal("birthdate"),o.z.literal("birthdate-day"),o.z.literal("birthdate-month"),o.z.literal("birthdate-year"),o.z.literal("gender"),o.z.literal("phone-number"),o.z.literal("phone-country-code"),o.z.literal("phone-national"),o.z.literal("phone-area-code"),o.z.literal("phone-local"),o.z.literal("phone-local-prefix"),o.z.literal("phone-local-suffix"),o.z.literal("phone-extension"),o.z.literal("url"),o.z.literal("photo"),o.z.literal("impp"),o.z.literal("shipping"),o.z.literal("billing"),o.z.literal("home"),o.z.literal("work"),o.z.literal("mobile"),o.z.literal("fax"),o.z.literal("pager")]),V=o.z.object({type:o.z.literal("loading-indicator"),size:t.optional(),control:o.z.string().optional(),margin:t.optional()}),N=o.z.object({type:o.z.literal("paragraph"),text:o.z.string(),align:x.optional(),control:o.z.string().optional(),margin:t.optional()}),q=o.z.object({type:o.z.literal("divider"),control:o.z.string().optional(),margin:t.optional()}),J=o.z.union([o.z.literal("warning"),o.z.literal("neutral"),o.z.literal("positive")]),_=o.z.object({$ref:o.z.string()}),G=o.z.object({type:o.z.literal("image"),text:o.z.string().optional(),url:o.z.string().optional(),accessibilityDescription:o.z.string().optional(),content:a.optional(),size:t.optional(),control:o.z.string().optional(),margin:t.optional(),align:x.optional()}),Q=o.z.union([o.z.literal("not-done"),o.z.literal("pending"),o.z.literal("done")]),W=o.z.object({text:o.z.string(),context:L,tag:o.z.string().optional()}),X=o.z.object({title:o.z.string()}),Y=o.z.object({type:o.z.literal("search"),title:o.z.string(),method:S,url:o.z.string(),param:o.z.string(),emptyMessage:o.z.string().optional(),control:o.z.string().optional(),margin:t.optional()}),oo=o.z.object({type:o.z.literal("info"),markdown:o.z.string(),align:x.optional(),control:o.z.string().optional(),margin:t.optional()}),to=o.z.object({type:o.z.literal("form"),schema:_.optional(),schemaId:o.z.string(),control:o.z.string().optional(),margin:t.optional()}),ao=o.z.object({type:o.z.literal("heading"),text:o.z.string(),size:t.optional(),align:x.optional(),control:o.z.string().optional(),margin:t.optional()}),io=o.z.object({type:o.z.literal("markdown"),content:o.z.string(),align:x.optional(),control:o.z.string().optional(),margin:t.optional()}),no=o.z.union([o.z.literal("none"),o.z.literal("left"),o.z.literal("right")]),g=o.z.object({markdown:o.z.string()}),eo=o.z.object({url:o.z.string(),method:S,param:o.z.string(),query:o.z.string()}),l=o.z.lazy(()=>o.z.union([o.z.string(),o.z.number(),o.z.boolean(),o.z.record(l),o.z.array(l)]).nullable()),lo=o.z.object({url:o.z.string()}),ro=o.z.object({error:o.z.string().optional(),validation:l.optional()}),po=o.z.union([o.z.literal("date"),o.z.literal("email"),o.z.literal("numeric"),o.z.literal("password"),o.z.literal("phone-number"),o.z.literal("base64url")]),k=o.z.object({defaultTitle:o.z.string().optional(),defaultDescription:o.z.string().optional(),defaultIcon:i.optional(),defaultImage:a.optional(),providesTitle:o.z.boolean().optional(),providesDescription:o.z.boolean().optional(),providesIcon:o.z.boolean().optional(),providesImage:o.z.boolean().optional()}),d=o.z.object({param:o.z.string(),method:S,url:o.z.string()}),p=o.z.object({providesTitle:o.z.boolean().optional(),providesDescription:o.z.boolean().optional(),providesIcon:o.z.boolean().optional(),providesImage:o.z.boolean().optional()}),w=o.z.union([o.z.literal("camera"),o.z.literal("file")]),so=o.z.object({label:o.z.string(),value:l.optional(),icon:i.optional(),image:a.optional(),tag:o.z.string().optional()}),co=o.z.union([o.z.literal("default"),o.z.literal("remove-previous"),o.z.literal("remove-all"),o.z.literal("replace-current")]),mo=o.z.union([o.z.literal("primary"),o.z.literal("secondary"),o.z.literal("link"),o.z.literal("positive"),o.z.literal("negative")]),it=o.z.union([p,k]),go=o.z.object({type:o.z.literal("link"),url:o.z.string()}),ho=o.z.object({url:o.z.string()}),s=o.z.object({title:o.z.string().optional(),type:mo.optional(),disabled:o.z.boolean().optional(),$id:o.z.string().optional(),$ref:o.z.string().optional(),id:o.z.string().optional(),url:o.z.string().optional(),method:S.optional(),exit:o.z.boolean().optional(),result:l.optional(),data:l.optional(),timeout:o.z.number().optional(),skipValidation:o.z.boolean().optional()}),uo=o.z.object({description:o.z.string().optional(),status:J.optional(),icon:i.optional(),image:a.optional(),title:o.z.string().optional(),subtitle:o.z.string().optional(),value:o.z.string().optional(),subvalue:o.z.string().optional(),tag:o.z.string().optional()}),yo=o.z.object({type:o.z.literal("instructions"),title:o.z.string().optional(),items:o.z.array(W),control:o.z.string().optional(),margin:t.optional()}),bo=o.z.object({label:o.z.string(),value:o.z.string(),rawValue:o.z.string().optional(),help:g.optional(),tag:o.z.string().optional()}),So=o.z.object({type:o.z.literal("search"),title:o.z.string(),description:o.z.string().optional(),icon:i.optional(),image:a.optional(),value:eo}),xo=o.z.object({type:o.z.literal("action"),title:o.z.string(),description:o.z.string().optional(),icon:i.optional(),image:a.optional(),value:s}),I=o.z.object({action:s}),O=o.z.object({refreshFormUrl:o.z.string().optional(),analytics:o.z.record(o.z.string()).optional(),error:o.z.string().optional(),validation:l.optional(),refreshUrl:o.z.string().optional()}),fo=o.z.object({values:o.z.array(so)}),A=o.z.object({title:o.z.string().optional(),action:s}),vo=o.z.object({type:o.z.literal("action"),action:s}),jo=o.z.object({action:s.optional(),link:ho.optional()}),m=o.z.union([vo,jo,go]),Lo=o.z.object({title:o.z.string(),accessibilityDescription:o.z.string().optional(),behavior:m}),zo=o.z.object({title:o.z.string(),accessibilityDescription:o.z.string().optional(),behavior:m}),Ao=o.z.object({action:s.optional(),title:o.z.string(),description:o.z.string().optional(),disabled:o.z.boolean().optional(),icon:i.optional(),image:a.optional(),behavior:m.optional(),tag:o.z.string().optional()}),ko=o.z.object({title:o.z.string(),accessibilityDescription:o.z.string().optional(),behavior:m}),wo=o.z.object({type:o.z.literal("button"),action:s.optional(),size:t.optional(),title:o.z.string().optional(),behavior:m.optional(),context:L.optional(),disabled:o.z.boolean().optional(),pinOrder:o.z.number().optional(),control:o.z.string().optional(),margin:t.optional()}),Io=o.z.union([xo,So]),Oo=o.z.object({regexPattern:o.z.string(),behavior:m.optional()}),To=o.z.object({backButton:A.optional(),back:A.optional(),stackBehavior:co.optional()}),Zo=o.z.object({action:s.optional(),behavior:m.optional()}),Co=o.z.object({action:s.optional(),title:o.z.string(),accessibilityDescription:o.z.string().optional(),behavior:m.optional()}),r=o.z.object({type:o.z.literal("alert"),markdown:o.z.string(),context:L.optional(),control:o.z.string().optional(),margin:t.optional(),callToAction:Lo.optional()}),Bo=o.z.object({type:o.z.literal("list"),title:o.z.string().optional(),callToAction:zo.optional(),items:o.z.array(uo),control:o.z.string().optional(),margin:t.optional()}),Fo=o.z.object({type:o.z.literal("decision"),title:o.z.string().optional(),options:o.z.array(Ao),control:o.z.string().optional(),margin:t.optional()}),Ro=o.z.object({title:o.z.string(),description:o.z.string().optional(),icon:i,status:Q.optional(),callToAction:ko.optional(),tag:o.z.string().optional()}),Uo=o.z.object({type:o.z.literal("review"),orientation:o.z.string().optional(),action:s.optional(),fields:o.z.array(bo),title:o.z.string().optional(),callToAction:Co.optional(),control:o.z.string().optional(),margin:t.optional()}),nt=o.z.object({results:o.z.array(Io)}),Eo=o.z.object({interval:o.z.number().optional(),url:o.z.string(),delay:o.z.number().optional(),timeout:o.z.number().optional(),maxAttempts:o.z.number(),onError:Zo}),Mo=o.z.object({type:o.z.literal("blob"),promoted:o.z.boolean().optional(),$id:o.z.string().optional(),title:o.z.string().optional(),description:o.z.string().optional(),control:o.z.string().optional(),hidden:o.z.boolean().optional(),icon:i.optional(),image:a.optional(),keywords:o.z.array(o.z.string()).optional(),summary:p.optional(),analyticsId:o.z.string().optional(),validationAsync:d.optional(),validationMessages:o.z.record(o.z.string()).optional(),alert:r.optional(),cameraConfig:l.optional(),accepts:o.z.array(o.z.string()).optional(),maxSize:o.z.number().optional(),source:w.optional(),disabled:o.z.boolean().optional()}),Po=o.z.object({hidden:o.z.boolean().optional(),alert:r.optional(),control:o.z.string().optional(),promoted:o.z.boolean().optional(),$id:o.z.string().optional(),const:l,title:o.z.string().optional(),description:o.z.string().optional(),icon:i.optional(),image:a.optional(),keywords:o.z.array(o.z.string()).optional(),summary:p.optional(),analyticsId:o.z.string().optional(),disabled:o.z.boolean().optional()}),$o=o.z.object({type:o.z.literal("status-list"),items:o.z.array(Ro),title:o.z.string().optional(),control:o.z.string().optional(),margin:t.optional()}),b=o.z.lazy(()=>o.z.union([r,Do,wo,Ho,Fo,q,to,ao,G,oo,yo,Bo,V,io,Ko,N,Uo,Y,$o])),Do=o.z.lazy(()=>o.z.object({type:o.z.literal("box"),components:o.z.array(b),width:t.optional(),border:o.z.boolean().optional(),control:o.z.string().optional(),margin:t.optional()})),Ho=o.z.lazy(()=>o.z.object({type:o.z.literal("columns"),left:o.z.array(b),right:o.z.array(b),bias:no.optional(),control:o.z.string().optional(),margin:t.optional()})),Ko=o.z.lazy(()=>o.z.object({type:o.z.literal("modal"),control:o.z.string().optional(),margin:t.optional(),trigger:X,content:Vo})),Vo=o.z.lazy(()=>o.z.object({title:o.z.string().optional(),components:o.z.array(b)})),T=o.z.lazy(()=>o.z.object({key:o.z.string().optional(),type:o.z.string().optional(),actions:o.z.array(s).optional(),refreshFormUrl:o.z.string().optional(),id:o.z.string(),title:o.z.string(),schemas:o.z.array(h),layout:o.z.array(b),description:o.z.string().optional(),model:l.optional(),external:lo.optional(),polling:Eo.optional(),linkHandlers:o.z.array(Oo).optional(),analytics:o.z.record(o.z.string()).optional(),errors:ro.optional(),navigation:To.optional(),refreshUrl:o.z.string().optional(),control:o.z.string().optional(),refreshAfter:o.z.string().optional()})),h=o.z.lazy(()=>o.z.union([No,qo,Mo,Jo,Po,_o,Go,Qo,Wo,Xo])),No=o.z.lazy(()=>o.z.object({disabled:o.z.boolean().optional(),promoted:o.z.boolean().optional(),allOf:o.z.array(h),$id:o.z.string().optional(),title:o.z.string().optional(),description:o.z.string().optional(),control:o.z.string().optional(),hidden:o.z.boolean().optional(),icon:i.optional(),image:a.optional(),keywords:o.z.array(o.z.string()).optional(),summary:p.optional(),analyticsId:o.z.string().optional(),alert:r.optional()})),qo=o.z.lazy(()=>o.z.union([Yo,ot])),Jo=o.z.lazy(()=>o.z.object({type:o.z.literal("boolean"),autofillProvider:o.z.string().optional(),promoted:o.z.boolean().optional(),refreshFormOnChange:o.z.boolean().optional(),refreshUrl:o.z.string().optional(),refreshFormUrl:o.z.string().optional(),$id:o.z.string().optional(),title:o.z.string().optional(),description:o.z.string().optional(),control:o.z.string().optional(),default:o.z.boolean().optional(),hidden:o.z.boolean().optional(),disabled:o.z.boolean().optional(),icon:i.optional(),image:a.optional(),keywords:o.z.array(o.z.string()).optional(),summary:p.optional(),analyticsId:o.z.string().optional(),persistAsync:u.optional(),refreshStepOnChange:o.z.boolean().optional(),validationAsync:d.optional(),alert:r.optional(),autofillKey:o.z.string().optional(),help:g.optional()})),_o=o.z.lazy(()=>o.z.object({type:o.z.literal("integer"),autofillProvider:o.z.string().optional(),promoted:o.z.boolean().optional(),refreshFormOnChange:o.z.boolean().optional(),refreshUrl:o.z.string().optional(),refreshFormUrl:o.z.string().optional(),placeholder:o.z.string().optional(),minimum:o.z.number().optional(),maximum:o.z.number().optional(),$id:o.z.string().optional(),title:o.z.string().optional(),description:o.z.string().optional(),control:o.z.string().optional(),default:o.z.number().optional(),hidden:o.z.boolean().optional(),disabled:o.z.boolean().optional(),icon:i.optional(),image:a.optional(),keywords:o.z.array(o.z.string()).optional(),summary:p.optional(),analyticsId:o.z.string().optional(),persistAsync:u.optional(),refreshStepOnChange:o.z.boolean().optional(),validationAsync:d.optional(),validationMessages:o.z.record(o.z.string()).optional(),alert:r.optional(),autocompleteHint:o.z.array(v).optional(),autofillKey:o.z.string().optional(),help:g.optional()})),Go=o.z.lazy(()=>o.z.object({type:o.z.literal("number"),autofillProvider:o.z.string().optional(),promoted:o.z.boolean().optional(),refreshFormOnChange:o.z.boolean().optional(),refreshUrl:o.z.string().optional(),refreshFormUrl:o.z.string().optional(),placeholder:o.z.string().optional(),minimum:o.z.number().optional(),maximum:o.z.number().optional(),$id:o.z.string().optional(),title:o.z.string().optional(),description:o.z.string().optional(),control:o.z.string().optional(),default:o.z.number().optional(),hidden:o.z.boolean().optional(),disabled:o.z.boolean().optional(),icon:i.optional(),image:a.optional(),keywords:o.z.array(o.z.string()).optional(),summary:p.optional(),analyticsId:o.z.string().optional(),persistAsync:u.optional(),refreshStepOnChange:o.z.boolean().optional(),validationAsync:d.optional(),validationMessages:o.z.record(o.z.string()).optional(),alert:r.optional(),autocompleteHint:o.z.array(v).optional(),autofillKey:o.z.string().optional(),help:g.optional()})),Qo=o.z.lazy(()=>o.z.object({type:o.z.literal("object"),disabled:o.z.boolean().optional(),promoted:o.z.boolean().optional(),help:g.optional(),properties:o.z.record(h),displayOrder:o.z.array(o.z.string()),required:o.z.array(o.z.string()).optional(),$id:o.z.string().optional(),title:o.z.string().optional(),description:o.z.string().optional(),control:o.z.string().optional(),hidden:o.z.boolean().optional(),icon:i.optional(),image:a.optional(),keywords:o.z.array(o.z.string()).optional(),summary:p.optional(),analyticsId:o.z.string().optional(),alert:r.optional()})),Wo=o.z.lazy(()=>o.z.object({autofillProvider:o.z.string().optional(),promoted:o.z.boolean().optional(),refreshFormOnChange:o.z.boolean().optional(),refreshUrl:o.z.string().optional(),refreshFormUrl:o.z.string().optional(),promotion:l.optional(),oneOf:o.z.array(h),placeholder:o.z.string().optional(),$id:o.z.string().optional(),title:o.z.string().optional(),description:o.z.string().optional(),control:o.z.string().optional(),default:l.optional(),hidden:o.z.boolean().optional(),icon:i.optional(),image:a.optional(),keywords:o.z.array(o.z.string()).optional(),summary:p.optional(),analyticsId:o.z.string().optional(),refreshStepOnChange:o.z.boolean().optional(),alert:r.optional(),help:g.optional(),autocompleteHint:o.z.array(v).optional(),autofillKey:o.z.string().optional(),validationMessages:o.z.record(o.z.string()).optional(),disabled:o.z.boolean().optional()})),Xo=o.z.lazy(()=>o.z.object({type:o.z.literal("string"),autofillProvider:o.z.string().optional(),promoted:o.z.boolean().optional(),refreshFormOnChange:o.z.boolean().optional(),refreshUrl:o.z.string().optional(),refreshFormUrl:o.z.string().optional(),format:po.optional(),displayFormat:o.z.string().optional(),placeholder:o.z.string().optional(),minLength:o.z.number().optional(),maxLength:o.z.number().optional(),minimum:o.z.string().optional(),maximum:o.z.string().optional(),pattern:o.z.string().optional(),autocapitalization:K.optional(),autocorrect:o.z.boolean().optional(),$id:o.z.string().optional(),title:o.z.string().optional(),description:o.z.string().optional(),control:o.z.string().optional(),default:o.z.string().optional(),hidden:o.z.boolean().optional(),disabled:o.z.boolean().optional(),icon:i.optional(),image:a.optional(),keywords:o.z.array(o.z.string()).optional(),summary:p.optional(),analyticsId:o.z.string().optional(),persistAsync:u.optional(),refreshStepOnChange:o.z.boolean().optional(),validationAsync:d.optional(),validationMessages:o.z.record(o.z.string()).optional(),alert:r.optional(),cameraConfig:l.optional(),accepts:o.z.array(o.z.string()).optional(),maxSize:o.z.number().optional(),source:w.optional(),autocompleteHint:o.z.array(v).optional(),autofillKey:o.z.string().optional(),help:g.optional(),suggestions:fo.optional()})),Yo=o.z.lazy(()=>o.z.object({type:o.z.literal("array"),promoted:o.z.boolean().optional(),$id:o.z.string().optional(),items:h,addItemTitle:o.z.string(),editItemTitle:o.z.string(),minItems:o.z.number().optional(),maxItems:o.z.number().optional(),placeholder:o.z.string().optional(),title:o.z.string().optional(),description:o.z.string().optional(),control:o.z.string().optional(),hidden:o.z.boolean().optional(),icon:i.optional(),image:a.optional(),keywords:o.z.array(o.z.string()).optional(),summary:k.optional(),analyticsId:o.z.string().optional(),persistAsync:u.optional(),validationAsync:d.optional(),alert:r.optional(),validationMessages:o.z.record(o.z.string()).optional(),disabled:o.z.boolean().optional()})),u=o.z.lazy(()=>o.z.object({param:o.z.string(),idProperty:o.z.string(),schema:h,url:o.z.string(),method:S})),ot=o.z.lazy(()=>o.z.object({type:o.z.literal("array"),promoted:o.z.boolean().optional(),$id:o.z.string().optional(),items:o.z.array(h),title:o.z.string().optional(),description:o.z.string().optional(),control:o.z.string().optional(),hidden:o.z.boolean().optional(),icon:i.optional(),image:a.optional(),keywords:o.z.array(o.z.string()).optional(),summary:p.optional(),analyticsId:o.z.string().optional(),persistAsync:u.optional(),validationAsync:d.optional(),alert:r.optional()}));var Z=n=>z(n,T),C=n=>z(n,I),B=n=>z(n,O),z=(n,e)=>{let c=e.safeParse(n);return c.success?{valid:!0}:{valid:!1,errors:JSON.stringify(F(c.error.errors))}},F=n=>n.flatMap(e=>{if(e.code==="invalid_type")return e;if(e.code==="invalid_union")return e.unionErrors.flatMap(c=>c.issues.every(f=>f.code!=="invalid_literal")?F(c.issues):void 0)}).filter(Boolean);