@wise/dynamic-flow-types 2.6.0-beta-b14b7d.3 → 2.6.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.
@@ -1,906 +0,0 @@
1
- // Generated by ts-to-zod
2
- import { z } from 'zod';
3
- import type {
4
- JsonElement,
5
- ArraySchemaList,
6
- Schema,
7
- PersistAsync,
8
- IntegerSchema,
9
- StringSchema,
10
- BooleanSchema,
11
- OneOfSchema,
12
- NumberSchema,
13
- ObjectSchema,
14
- ArraySchema,
15
- ArraySchemaTuple,
16
- AllOfSchema,
17
- ColumnsLayout,
18
- Layout,
19
- ModalLayout,
20
- ModalLayoutContent,
21
- BoxLayout,
22
- Step,
23
- } from '../next';
24
-
25
- export const imageSchema = z.object({
26
- url: z.string(),
27
- text: z.string().optional(),
28
- accessibilityDescription: z.string().optional(),
29
- });
30
-
31
- export const stringSchemaFormatSchema = z.union([
32
- z.literal('date'),
33
- z.literal('email'),
34
- z.literal('numeric'),
35
- z.literal('password'),
36
- z.literal('phone-number'),
37
- z.literal('base64url'),
38
- ]);
39
-
40
- export const summaryProviderSchema = z.object({
41
- providesTitle: z.boolean().optional(),
42
- providesDescription: z.boolean().optional(),
43
- providesIcon: z.boolean().optional(),
44
- providesImage: z.boolean().optional(),
45
- });
46
-
47
- export const autocompleteTokenSchema = z.union([
48
- z.literal('on'),
49
- z.literal('name'),
50
- z.literal('name-prefix'),
51
- z.literal('given-name'),
52
- z.literal('additional-name'),
53
- z.literal('family-name'),
54
- z.literal('name-suffix'),
55
- z.literal('nickname'),
56
- z.literal('email'),
57
- z.literal('username'),
58
- z.literal('new-username'),
59
- z.literal('new-password'),
60
- z.literal('password'),
61
- z.literal('one-time-code'),
62
- z.literal('job-title'),
63
- z.literal('organization-name'),
64
- z.literal('full-street-address'),
65
- z.literal('street-address-line-1'),
66
- z.literal('street-address-line-2'),
67
- z.literal('street-address-line-3'),
68
- z.literal('address-level-1'),
69
- z.literal('address-level-2'),
70
- z.literal('address-level-3'),
71
- z.literal('address-level-4'),
72
- z.literal('country-code'),
73
- z.literal('country-name'),
74
- z.literal('postal-code'),
75
- z.literal('credit-card-name'),
76
- z.literal('credit-card-given-name'),
77
- z.literal('credit-card-middle-name'),
78
- z.literal('credit-card-family-name'),
79
- z.literal('credit-card-number'),
80
- z.literal('credit-card-expiration'),
81
- z.literal('credit-card-expiration-month'),
82
- z.literal('credit-card-expiration-year'),
83
- z.literal('credit-card-security-code'),
84
- z.literal('credit-card-type'),
85
- z.literal('transaction-currency'),
86
- z.literal('transaction-amount'),
87
- z.literal('language'),
88
- z.literal('birthdate'),
89
- z.literal('birthdate-day'),
90
- z.literal('birthdate-month'),
91
- z.literal('birthdate-year'),
92
- z.literal('gender'),
93
- z.literal('phone-number'),
94
- z.literal('phone-country-code'),
95
- z.literal('phone-national'),
96
- z.literal('phone-area-code'),
97
- z.literal('phone-local'),
98
- z.literal('phone-local-prefix'),
99
- z.literal('phone-local-suffix'),
100
- z.literal('phone-extension'),
101
- z.literal('url'),
102
- z.literal('photo'),
103
- z.literal('impp'),
104
- z.literal('shipping'),
105
- z.literal('billing'),
106
- z.literal('home'),
107
- z.literal('work'),
108
- z.literal('mobile'),
109
- z.literal('fax'),
110
- z.literal('pager'),
111
- ]);
112
-
113
- export const helpSchema = z.object({
114
- markdown: z.string(),
115
- });
116
-
117
- export const stringSchemaSourceSchema = z.union([z.literal('camera'), z.literal('file')]);
118
-
119
- export const jsonElementSchema: z.ZodSchema<JsonElement> = z.lazy(() =>
120
- z
121
- .union([
122
- z.string(),
123
- z.number(),
124
- z.boolean(),
125
- z.record(jsonElementSchema),
126
- z.array(jsonElementSchema),
127
- ])
128
- .nullable(),
129
- );
130
-
131
- export const blobSchemaSourceSchema = z.union([z.literal('file'), z.literal('camera')]);
132
-
133
- export const listLayoutStatusSchema = z.union([
134
- z.literal('warning'),
135
- z.literal('neutral'),
136
- z.literal('positive'),
137
- ]);
138
-
139
- export const contextSchema = z.union([
140
- z.literal('positive'),
141
- z.literal('neutral'),
142
- z.literal('warning'),
143
- z.literal('negative'),
144
- z.literal('success'),
145
- z.literal('failure'),
146
- z.literal('info'),
147
- z.literal('primary'),
148
- ]);
149
-
150
- export const sizeSchema = z.union([
151
- z.literal('xs'),
152
- z.literal('sm'),
153
- z.literal('md'),
154
- z.literal('lg'),
155
- z.literal('xl'),
156
- ]);
157
-
158
- export const reviewLayoutFieldSchema = z.object({
159
- label: z.string(),
160
- value: z.string(),
161
- help: helpSchema.optional(),
162
- });
163
-
164
- export const instructionsLayoutItemSchema = z.object({
165
- text: z.string(),
166
- context: contextSchema,
167
- });
168
-
169
- export const statusListLayoutStatusSchema = z.union([
170
- z.literal('not-done'),
171
- z.literal('pending'),
172
- z.literal('done'),
173
- ]);
174
-
175
- export const imageLayoutSchema = z.object({
176
- type: z.literal('image'),
177
- url: z.string(),
178
- size: sizeSchema.optional(),
179
- control: z.string().optional(),
180
- margin: sizeSchema.optional(),
181
- text: z.string().optional(),
182
- accessibilityDescription: z.string().optional(),
183
- });
184
-
185
- export const columnsLayoutBiasSchema = z.union([
186
- z.literal('none'),
187
- z.literal('left'),
188
- z.literal('right'),
189
- ]);
190
-
191
- export const formLayoutSchemaReferenceSchema = z.object({
192
- $ref: z.string(),
193
- });
194
-
195
- export const dividerLayoutSchema = z.object({
196
- type: z.literal('divider'),
197
- control: z.string().optional(),
198
- margin: sizeSchema.optional(),
199
- });
200
-
201
- export const modalLayoutTriggerSchema = z.object({
202
- title: z.string(),
203
- });
204
-
205
- export const formLayoutSchema = z.object({
206
- type: z.literal('form'),
207
- schemaId: z.string(),
208
- control: z.string().optional(),
209
- margin: sizeSchema.optional(),
210
- schema: formLayoutSchemaReferenceSchema.optional(),
211
- });
212
-
213
- export const instructionsLayoutSchema = z.object({
214
- type: z.literal('instructions'),
215
- title: z.string().optional(),
216
- items: z.array(instructionsLayoutItemSchema),
217
- control: z.string().optional(),
218
- margin: sizeSchema.optional(),
219
- });
220
-
221
- export const loadingIndicatorLayoutSchema = z.object({
222
- type: z.literal('loading-indicator'),
223
- size: sizeSchema.optional(),
224
- control: z.string().optional(),
225
- margin: sizeSchema.optional(),
226
- });
227
-
228
- export const alignSchema = z.union([z.literal('left'), z.literal('center'), z.literal('right')]);
229
-
230
- export const httpMethodSchema = z.union([
231
- z.literal('GET'),
232
- z.literal('POST'),
233
- z.literal('PUT'),
234
- z.literal('PATCH'),
235
- z.literal('DELETE'),
236
- ]);
237
-
238
- export const externalSchema = z.object({
239
- url: z.string(),
240
- });
241
-
242
- export const stepErrorSchema = z.object({
243
- error: z.string().optional(),
244
- validation: jsonElementSchema.optional(),
245
- });
246
-
247
- export const iconNamedSchema = z.object({
248
- name: z.string(),
249
- });
250
-
251
- export const iconTextSchema = z.object({
252
- text: z.string(),
253
- });
254
-
255
- export const actionTypeSchema = z.union([
256
- z.literal('primary'),
257
- z.literal('secondary'),
258
- z.literal('link'),
259
- z.literal('positive'),
260
- z.literal('negative'),
261
- ]);
262
-
263
- export const errorResponseBodySchema = z.object({
264
- error: z.string().optional(),
265
- validation: jsonElementSchema.optional(),
266
- refreshUrl: z.string().optional(),
267
- refreshFormUrl: z.string().optional(),
268
- analytics: z.record(z.string()).optional(),
269
- });
270
-
271
- export const searchSearchRequestSchema = z.object({
272
- url: z.string(),
273
- method: httpMethodSchema,
274
- param: z.string(),
275
- query: z.string(),
276
- });
277
-
278
- export const iconSchema = z.union([iconNamedSchema, iconTextSchema]);
279
-
280
- export const summarySummariserSchema = z.object({
281
- defaultTitle: z.string().optional(),
282
- defaultDescription: z.string().optional(),
283
- defaultIcon: iconSchema.optional(),
284
- defaultImage: imageLayoutSchema.optional(),
285
- providesTitle: z.boolean().optional(),
286
- providesDescription: z.boolean().optional(),
287
- providesIcon: z.boolean().optional(),
288
- providesImage: z.boolean().optional(),
289
- });
290
-
291
- export const validateAsyncSchema = z.object({
292
- param: z.string(),
293
- method: httpMethodSchema,
294
- url: z.string(),
295
- });
296
-
297
- export const alertLayoutSchema = z.object({
298
- type: z.literal('alert'),
299
- markdown: z.string(),
300
- context: contextSchema.optional(),
301
- control: z.string().optional(),
302
- margin: sizeSchema.optional(),
303
- });
304
-
305
- export const constSchemaSchema = z.object({
306
- disabled: z.boolean().optional(),
307
- hidden: z.boolean().optional(),
308
- alert: alertLayoutSchema.optional(),
309
- control: z.string().optional(),
310
- $id: z.string().optional(),
311
- const: jsonElementSchema,
312
- title: z.string().optional(),
313
- description: z.string().optional(),
314
- icon: iconSchema.optional(),
315
- image: imageSchema.optional(),
316
- keywords: z.array(z.string()).optional(),
317
- summary: summaryProviderSchema.optional(),
318
- analyticsId: z.string().optional(),
319
- promoted: z.boolean().optional(),
320
- });
321
-
322
- export const blobSchemaSchema = z.object({
323
- type: z.literal('blob'),
324
- disabled: z.boolean().optional(),
325
- $id: z.string().optional(),
326
- accepts: z.array(z.string()),
327
- maxSize: z.number().optional(),
328
- source: blobSchemaSourceSchema.optional(),
329
- title: z.string().optional(),
330
- description: z.string().optional(),
331
- control: z.string().optional(),
332
- hidden: z.boolean().optional(),
333
- icon: iconSchema.optional(),
334
- image: imageSchema.optional(),
335
- keywords: z.array(z.string()).optional(),
336
- summary: summaryProviderSchema.optional(),
337
- analyticsId: z.string().optional(),
338
- validationAsync: validateAsyncSchema.optional(),
339
- validationMessages: z.record(z.string()).optional(),
340
- alert: alertLayoutSchema.optional(),
341
- promoted: z.boolean().optional(),
342
- });
343
-
344
- export const actionSchema = z.object({
345
- id: z.string().optional(),
346
- url: z.string().optional(),
347
- method: httpMethodSchema.optional(),
348
- exit: z.boolean().optional(),
349
- result: jsonElementSchema.optional(),
350
- data: jsonElementSchema.optional(),
351
- timeout: z.number().optional(),
352
- title: z.string().optional(),
353
- type: actionTypeSchema.optional(),
354
- disabled: z.boolean().optional(),
355
- $id: z.string().optional(),
356
- $ref: z.string().optional(),
357
- skipValidation: z.boolean().optional(),
358
- });
359
-
360
- export const buttonLayoutSchema = z.object({
361
- type: z.literal('button'),
362
- title: z.string().optional(),
363
- action: actionSchema,
364
- context: contextSchema.optional(),
365
- disabled: z.boolean().optional(),
366
- pinOrder: z.number().optional(),
367
- control: z.string().optional(),
368
- margin: sizeSchema.optional(),
369
- size: sizeSchema.optional(),
370
- });
371
-
372
- export const listLayoutItemSchema = z.object({
373
- title: z.string(),
374
- description: z.string().optional(),
375
- icon: iconSchema,
376
- status: listLayoutStatusSchema.optional(),
377
- });
378
-
379
- export const headingLayoutSchema = z.object({
380
- type: z.literal('heading'),
381
- text: z.string(),
382
- size: sizeSchema.optional(),
383
- align: alignSchema.optional(),
384
- control: z.string().optional(),
385
- margin: sizeSchema.optional(),
386
- });
387
-
388
- export const infoLayoutSchema = z.object({
389
- type: z.literal('info'),
390
- markdown: z.string(),
391
- align: alignSchema.optional(),
392
- control: z.string().optional(),
393
- margin: sizeSchema.optional(),
394
- });
395
-
396
- export const listLayoutSchema = z.object({
397
- type: z.literal('list'),
398
- items: z.array(listLayoutItemSchema),
399
- title: z.string().optional(),
400
- control: z.string().optional(),
401
- margin: sizeSchema.optional(),
402
- });
403
-
404
- export const markdownLayoutSchema = z.object({
405
- type: z.literal('markdown'),
406
- content: z.string(),
407
- align: alignSchema.optional(),
408
- control: z.string().optional(),
409
- margin: sizeSchema.optional(),
410
- });
411
-
412
- export const paragraphLayoutSchema = z.object({
413
- type: z.literal('paragraph'),
414
- text: z.string(),
415
- align: alignSchema.optional(),
416
- control: z.string().optional(),
417
- margin: sizeSchema.optional(),
418
- });
419
-
420
- export const searchLayoutSchema = z.object({
421
- type: z.literal('search'),
422
- title: z.string(),
423
- method: httpMethodSchema,
424
- url: z.string(),
425
- param: z.string(),
426
- emptyMessage: z.string().optional(),
427
- control: z.string().optional(),
428
- margin: sizeSchema.optional(),
429
- });
430
-
431
- export const statusListLayoutItemSchema = z.object({
432
- title: z.string(),
433
- description: z.string().optional(),
434
- icon: iconSchema,
435
- status: statusListLayoutStatusSchema.optional(),
436
- });
437
-
438
- export const decisionLayoutOptionSchema = z.object({
439
- action: actionSchema,
440
- title: z.string(),
441
- description: z.string().optional(),
442
- disabled: z.boolean().optional(),
443
- icon: iconSchema.optional(),
444
- image: imageLayoutSchema.optional(),
445
- });
446
-
447
- export const linkHandlerSchema = z.object({
448
- regexPattern: z.string(),
449
- action: actionSchema,
450
- });
451
-
452
- export const pollingOnErrorSchema = z.object({
453
- action: actionSchema,
454
- });
455
-
456
- export const summarySchema = z.union([summaryProviderSchema, summarySummariserSchema]);
457
-
458
- export const navigationBackBehaviourSchema = z.object({
459
- title: z.string().optional(),
460
- action: actionSchema,
461
- });
462
-
463
- export const actionResponseBodySchema = z.object({
464
- action: actionSchema,
465
- });
466
-
467
- export const searchResultSearchSchema = z.object({
468
- type: z.literal('search'),
469
- title: z.string(),
470
- description: z.string().optional(),
471
- icon: iconSchema.optional(),
472
- image: imageLayoutSchema.optional(),
473
- value: searchSearchRequestSchema,
474
- });
475
-
476
- export const searchResultActionSchema = z.object({
477
- type: z.literal('action'),
478
- title: z.string(),
479
- description: z.string().optional(),
480
- icon: iconSchema.optional(),
481
- image: imageLayoutSchema.optional(),
482
- value: actionSchema,
483
- });
484
-
485
- export const reviewLayoutCallToActionSchema = z.object({
486
- title: z.string(),
487
- action: actionSchema,
488
- });
489
-
490
- export const decisionLayoutSchema = z.object({
491
- type: z.literal('decision'),
492
- options: z.array(decisionLayoutOptionSchema),
493
- control: z.string().optional(),
494
- margin: sizeSchema.optional(),
495
- });
496
-
497
- export const reviewLayoutSchema = z.object({
498
- type: z.literal('review'),
499
- fields: z.array(reviewLayoutFieldSchema),
500
- title: z.string().optional(),
501
- callToAction: reviewLayoutCallToActionSchema.optional(),
502
- control: z.string().optional(),
503
- margin: sizeSchema.optional(),
504
- orientation: z.string().optional(),
505
- action: actionSchema.optional(),
506
- });
507
-
508
- export const statusListLayoutSchema = z.object({
509
- type: z.literal('status-list'),
510
- items: z.array(statusListLayoutItemSchema),
511
- title: z.string().optional(),
512
- control: z.string().optional(),
513
- margin: sizeSchema.optional(),
514
- });
515
-
516
- export const pollingSchema = z.object({
517
- url: z.string(),
518
- interval: z.number(),
519
- maxAttempts: z.number(),
520
- onError: pollingOnErrorSchema,
521
- });
522
-
523
- export const navigationSchema = z.object({
524
- back: navigationBackBehaviourSchema.optional(),
525
- backButton: navigationBackBehaviourSchema.optional(),
526
- });
527
-
528
- export const searchResultSchema = z.union([searchResultActionSchema, searchResultSearchSchema]);
529
-
530
- export const searchResponseBodySchema = z.object({
531
- results: z.array(searchResultSchema),
532
- });
533
-
534
- export const arraySchemaListSchema: z.ZodSchema<ArraySchemaList> = z.lazy(() =>
535
- z.object({
536
- type: z.literal('array'),
537
- $id: z.string().optional(),
538
- items: schemaSchema,
539
- addItemTitle: z.string(),
540
- editItemTitle: z.string(),
541
- minItems: z.number().optional(),
542
- maxItems: z.number().optional(),
543
- title: z.string().optional(),
544
- description: z.string().optional(),
545
- control: z.string().optional(),
546
- hidden: z.boolean().optional(),
547
- icon: iconSchema.optional(),
548
- image: imageSchema.optional(),
549
- keywords: z.array(z.string()).optional(),
550
- summary: summarySummariserSchema.optional(),
551
- analyticsId: z.string().optional(),
552
- persistAsync: persistAsyncSchema.optional(),
553
- validationAsync: validateAsyncSchema.optional(),
554
- alert: alertLayoutSchema.optional(),
555
- validationMessages: z.record(z.string()).optional(),
556
- disabled: z.boolean().optional(),
557
- promoted: z.boolean().optional(),
558
- }),
559
- );
560
-
561
- export const schemaSchema: z.ZodSchema<Schema> = z.lazy(() =>
562
- z.union([
563
- allOfSchemaSchema,
564
- arraySchemaSchema,
565
- blobSchemaSchema,
566
- booleanSchemaSchema,
567
- constSchemaSchema,
568
- integerSchemaSchema,
569
- numberSchemaSchema,
570
- objectSchemaSchema,
571
- oneOfSchemaSchema,
572
- stringSchemaSchema,
573
- ]),
574
- );
575
-
576
- export const persistAsyncSchema: z.ZodSchema<PersistAsync> = z.lazy(() =>
577
- z.object({
578
- param: z.string(),
579
- idProperty: z.string(),
580
- schema: schemaSchema,
581
- url: z.string(),
582
- method: httpMethodSchema,
583
- }),
584
- );
585
-
586
- export const integerSchemaSchema: z.ZodSchema<IntegerSchema> = z.lazy(() =>
587
- z.object({
588
- type: z.literal('integer'),
589
- placeholder: z.string().optional(),
590
- minimum: z.number().optional(),
591
- maximum: z.number().optional(),
592
- $id: z.string().optional(),
593
- title: z.string().optional(),
594
- description: z.string().optional(),
595
- control: z.string().optional(),
596
- default: z.number().optional(),
597
- hidden: z.boolean().optional(),
598
- disabled: z.boolean().optional(),
599
- icon: iconSchema.optional(),
600
- image: imageSchema.optional(),
601
- keywords: z.array(z.string()).optional(),
602
- summary: summaryProviderSchema.optional(),
603
- analyticsId: z.string().optional(),
604
- persistAsync: persistAsyncSchema.optional(),
605
- refreshStepOnChange: z.boolean().optional(),
606
- validationAsync: validateAsyncSchema.optional(),
607
- validationMessages: z.record(z.string()).optional(),
608
- alert: alertLayoutSchema.optional(),
609
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
610
- autofillKey: z.string().optional(),
611
- help: helpSchema.optional(),
612
- autofillProvider: z.string().optional(),
613
- promoted: z.boolean().optional(),
614
- refreshFormOnChange: z.boolean().optional(),
615
- refreshUrl: z.string().optional(),
616
- refreshFormUrl: z.string().optional(),
617
- }),
618
- );
619
-
620
- export const stringSchemaSchema: z.ZodSchema<StringSchema> = z.lazy(() =>
621
- z.object({
622
- type: z.literal('string'),
623
- format: stringSchemaFormatSchema.optional(),
624
- displayFormat: z.string().optional(),
625
- placeholder: z.string().optional(),
626
- minLength: z.number().optional(),
627
- maxLength: z.number().optional(),
628
- minimum: z.string().optional(),
629
- maximum: z.string().optional(),
630
- pattern: z.string().optional(),
631
- $id: z.string().optional(),
632
- title: z.string().optional(),
633
- description: z.string().optional(),
634
- control: z.string().optional(),
635
- default: z.string().optional(),
636
- hidden: z.boolean().optional(),
637
- disabled: z.boolean().optional(),
638
- icon: iconSchema.optional(),
639
- image: imageSchema.optional(),
640
- keywords: z.array(z.string()).optional(),
641
- summary: summaryProviderSchema.optional(),
642
- analyticsId: z.string().optional(),
643
- persistAsync: persistAsyncSchema.optional(),
644
- refreshStepOnChange: z.boolean().optional(),
645
- validationAsync: validateAsyncSchema.optional(),
646
- validationMessages: z.record(z.string()).optional(),
647
- alert: alertLayoutSchema.optional(),
648
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
649
- autofillKey: z.string().optional(),
650
- help: helpSchema.optional(),
651
- autofillProvider: z.string().optional(),
652
- promoted: z.boolean().optional(),
653
- refreshFormOnChange: z.boolean().optional(),
654
- refreshUrl: z.string().optional(),
655
- refreshFormUrl: z.string().optional(),
656
- cameraConfig: z.unknown().optional(),
657
- accepts: z.array(z.string()).optional(),
658
- maxSize: z.number().optional(),
659
- source: stringSchemaSourceSchema.optional(),
660
- }),
661
- );
662
-
663
- export const booleanSchemaSchema: z.ZodSchema<BooleanSchema> = z.lazy(() =>
664
- z.object({
665
- type: z.literal('boolean'),
666
- $id: z.string().optional(),
667
- title: z.string().optional(),
668
- description: z.string().optional(),
669
- control: z.string().optional(),
670
- default: z.boolean().optional(),
671
- hidden: z.boolean().optional(),
672
- disabled: z.boolean().optional(),
673
- icon: iconSchema.optional(),
674
- image: imageSchema.optional(),
675
- keywords: z.array(z.string()).optional(),
676
- summary: summaryProviderSchema.optional(),
677
- analyticsId: z.string().optional(),
678
- persistAsync: persistAsyncSchema.optional(),
679
- refreshStepOnChange: z.boolean().optional(),
680
- validationAsync: validateAsyncSchema.optional(),
681
- alert: alertLayoutSchema.optional(),
682
- autofillKey: z.string().optional(),
683
- help: helpSchema.optional(),
684
- autofillProvider: z.string().optional(),
685
- promoted: z.boolean().optional(),
686
- refreshFormOnChange: z.boolean().optional(),
687
- refreshUrl: z.string().optional(),
688
- refreshFormUrl: z.string().optional(),
689
- }),
690
- );
691
-
692
- export const oneOfSchemaSchema: z.ZodSchema<OneOfSchema> = z.lazy(() =>
693
- z.object({
694
- disabled: z.boolean().optional(),
695
- oneOf: z.array(schemaSchema),
696
- placeholder: z.string().optional(),
697
- $id: z.string().optional(),
698
- title: z.string().optional(),
699
- description: z.string().optional(),
700
- control: z.string().optional(),
701
- default: jsonElementSchema.optional(),
702
- hidden: z.boolean().optional(),
703
- icon: iconSchema.optional(),
704
- image: imageSchema.optional(),
705
- keywords: z.array(z.string()).optional(),
706
- summary: summaryProviderSchema.optional(),
707
- analyticsId: z.string().optional(),
708
- refreshStepOnChange: z.boolean().optional(),
709
- alert: alertLayoutSchema.optional(),
710
- help: helpSchema.optional(),
711
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
712
- autofillKey: z.string().optional(),
713
- validationMessages: z.record(z.string()).optional(),
714
- autofillProvider: z.string().optional(),
715
- promoted: z.boolean().optional(),
716
- refreshFormOnChange: z.boolean().optional(),
717
- refreshUrl: z.string().optional(),
718
- refreshFormUrl: z.string().optional(),
719
- promotion: jsonElementSchema.optional(),
720
- }),
721
- );
722
-
723
- export const numberSchemaSchema: z.ZodSchema<NumberSchema> = z.lazy(() =>
724
- z.object({
725
- type: z.literal('number'),
726
- placeholder: z.string().optional(),
727
- minimum: z.number().optional(),
728
- maximum: z.number().optional(),
729
- $id: z.string().optional(),
730
- title: z.string().optional(),
731
- description: z.string().optional(),
732
- control: z.string().optional(),
733
- default: z.number().optional(),
734
- hidden: z.boolean().optional(),
735
- disabled: z.boolean().optional(),
736
- icon: iconSchema.optional(),
737
- image: imageSchema.optional(),
738
- keywords: z.array(z.string()).optional(),
739
- summary: summaryProviderSchema.optional(),
740
- analyticsId: z.string().optional(),
741
- persistAsync: persistAsyncSchema.optional(),
742
- refreshStepOnChange: z.boolean().optional(),
743
- validationAsync: validateAsyncSchema.optional(),
744
- validationMessages: z.record(z.string()).optional(),
745
- alert: alertLayoutSchema.optional(),
746
- autocompleteHint: z.array(autocompleteTokenSchema).optional(),
747
- autofillKey: z.string().optional(),
748
- help: helpSchema.optional(),
749
- autofillProvider: z.string().optional(),
750
- promoted: z.boolean().optional(),
751
- refreshFormOnChange: z.boolean().optional(),
752
- refreshUrl: z.string().optional(),
753
- refreshFormUrl: z.string().optional(),
754
- }),
755
- );
756
-
757
- export const objectSchemaSchema: z.ZodSchema<ObjectSchema> = z.lazy(() =>
758
- z.object({
759
- type: z.literal('object'),
760
- disabled: z.boolean().optional(),
761
- properties: z.record(schemaSchema),
762
- displayOrder: z.array(z.string()),
763
- required: z.array(z.string()).optional(),
764
- $id: z.string().optional(),
765
- title: z.string().optional(),
766
- description: z.string().optional(),
767
- control: z.string().optional(),
768
- hidden: z.boolean().optional(),
769
- icon: iconSchema.optional(),
770
- image: imageSchema.optional(),
771
- keywords: z.array(z.string()).optional(),
772
- summary: summaryProviderSchema.optional(),
773
- analyticsId: z.string().optional(),
774
- alert: alertLayoutSchema.optional(),
775
- promoted: z.boolean().optional(),
776
- help: helpSchema.optional(),
777
- }),
778
- );
779
-
780
- export const arraySchemaSchema: z.ZodSchema<ArraySchema> = z.lazy(() =>
781
- z.union([arraySchemaListSchema, arraySchemaTupleSchema]),
782
- );
783
-
784
- export const arraySchemaTupleSchema: z.ZodSchema<ArraySchemaTuple> = z.lazy(() =>
785
- z.object({
786
- type: z.literal('array'),
787
- $id: z.string().optional(),
788
- items: z.array(schemaSchema),
789
- title: z.string().optional(),
790
- description: z.string().optional(),
791
- control: z.string().optional(),
792
- hidden: z.boolean().optional(),
793
- icon: iconSchema.optional(),
794
- image: imageSchema.optional(),
795
- keywords: z.array(z.string()).optional(),
796
- summary: summaryProviderSchema.optional(),
797
- analyticsId: z.string().optional(),
798
- persistAsync: persistAsyncSchema.optional(),
799
- validationAsync: validateAsyncSchema.optional(),
800
- alert: alertLayoutSchema.optional(),
801
- disabled: z.boolean().optional(),
802
- promoted: z.boolean().optional(),
803
- }),
804
- );
805
-
806
- export const allOfSchemaSchema: z.ZodSchema<AllOfSchema> = z.lazy(() =>
807
- z.object({
808
- disabled: z.boolean().optional(),
809
- allOf: z.array(schemaSchema),
810
- $id: z.string().optional(),
811
- title: z.string().optional(),
812
- description: z.string().optional(),
813
- control: z.string().optional(),
814
- hidden: z.boolean().optional(),
815
- icon: iconSchema.optional(),
816
- image: imageSchema.optional(),
817
- keywords: z.array(z.string()).optional(),
818
- summary: summaryProviderSchema.optional(),
819
- analyticsId: z.string().optional(),
820
- alert: alertLayoutSchema.optional(),
821
- promoted: z.boolean().optional(),
822
- }),
823
- );
824
-
825
- export const columnsLayoutSchema: z.ZodSchema<ColumnsLayout> = z.lazy(() =>
826
- z.object({
827
- type: z.literal('columns'),
828
- left: z.array(layoutSchema),
829
- right: z.array(layoutSchema),
830
- bias: columnsLayoutBiasSchema.optional(),
831
- control: z.string().optional(),
832
- margin: sizeSchema.optional(),
833
- }),
834
- );
835
-
836
- export const layoutSchema: z.ZodSchema<Layout> = z.lazy(() =>
837
- z.union([
838
- alertLayoutSchema,
839
- boxLayoutSchema,
840
- buttonLayoutSchema,
841
- columnsLayoutSchema,
842
- decisionLayoutSchema,
843
- dividerLayoutSchema,
844
- formLayoutSchema,
845
- headingLayoutSchema,
846
- imageLayoutSchema,
847
- infoLayoutSchema,
848
- instructionsLayoutSchema,
849
- listLayoutSchema,
850
- loadingIndicatorLayoutSchema,
851
- markdownLayoutSchema,
852
- modalLayoutSchema,
853
- paragraphLayoutSchema,
854
- reviewLayoutSchema,
855
- searchLayoutSchema,
856
- statusListLayoutSchema,
857
- ]),
858
- );
859
-
860
- export const modalLayoutSchema: z.ZodSchema<ModalLayout> = z.lazy(() =>
861
- z.object({
862
- type: z.literal('modal'),
863
- control: z.string().optional(),
864
- margin: sizeSchema.optional(),
865
- trigger: modalLayoutTriggerSchema,
866
- content: modalLayoutContentSchema,
867
- }),
868
- );
869
-
870
- export const modalLayoutContentSchema: z.ZodSchema<ModalLayoutContent> = z.lazy(() =>
871
- z.object({
872
- components: z.array(layoutSchema),
873
- }),
874
- );
875
-
876
- export const boxLayoutSchema: z.ZodSchema<BoxLayout> = z.lazy(() =>
877
- z.object({
878
- type: z.literal('box'),
879
- components: z.array(layoutSchema),
880
- width: sizeSchema.optional(),
881
- border: z.boolean().optional(),
882
- control: z.string().optional(),
883
- margin: sizeSchema.optional(),
884
- }),
885
- );
886
-
887
- export const stepSchema: z.ZodSchema<Step> = z.lazy(() =>
888
- z.object({
889
- id: z.string(),
890
- title: z.string(),
891
- schemas: z.array(schemaSchema),
892
- layout: z.array(layoutSchema),
893
- model: jsonElementSchema.optional(),
894
- external: externalSchema.optional(),
895
- polling: pollingSchema.optional(),
896
- linkHandlers: z.array(linkHandlerSchema).optional(),
897
- analytics: z.record(z.string()).optional(),
898
- errors: stepErrorSchema.optional(),
899
- navigation: navigationSchema.optional(),
900
- refreshUrl: z.string().optional(),
901
- key: z.string().optional(),
902
- type: z.string().optional(),
903
- actions: z.array(actionSchema).optional(),
904
- refreshFormUrl: z.string().optional(),
905
- }),
906
- );