@wise/dynamic-flow-types 2.11.0-experimental-ed080a1 → 2.12.0-experimental-6654c72

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