@uides/stepwise 2.2.1 → 2.2.3
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.
- package/CHANGELOG.md +11 -2
- package/generators/extractStepwisePossibleValues.d.mts +1 -0
- package/index.js +1 -1
- package/package.json +1 -1
- package/schemas/action.d.ts +48 -168
- package/schemas/action.js +34 -47
- package/schemas/field/afm/index.d.ts +158 -6
- package/schemas/field/afm/index.js +6 -9
- package/schemas/field/amka/index.d.ts +152 -8
- package/schemas/field/amka/index.js +3 -7
- package/schemas/field/attachment/index.d.ts +184 -16
- package/schemas/field/attachment/index.js +9 -22
- package/schemas/field/captcha/index.d.ts +156 -2
- package/schemas/field/captcha/index.js +6 -9
- package/schemas/field/choice/index.d.ts +188 -15
- package/schemas/field/choice/index.js +4 -9
- package/schemas/field/common.d.ts +92 -40
- package/schemas/field/common.js +78 -11
- package/schemas/field/date/index.d.ts +152 -38
- package/schemas/field/date/index.js +6 -33
- package/schemas/field/doc_subtitle/index.d.ts +158 -5
- package/schemas/field/doc_subtitle/index.js +5 -6
- package/schemas/field/doc_title/index.d.ts +154 -8
- package/schemas/field/doc_title/index.js +5 -12
- package/schemas/field/dynamically-filled-text/index.d.ts +170 -33
- package/schemas/field/dynamically-filled-text/index.js +6 -23
- package/schemas/field/email/index.d.ts +152 -8
- package/schemas/field/email/index.js +5 -9
- package/schemas/field/fillable-string/index.d.ts +156 -12
- package/schemas/field/fillable-string/index.js +4 -10
- package/schemas/field/five-block-date/index.d.ts +156 -2
- package/schemas/field/five-block-date/index.js +5 -4
- package/schemas/field/hidden/index.d.ts +161 -14
- package/schemas/field/hidden/index.js +7 -15
- package/schemas/field/hierarchical-selector/index.d.ts +176 -37
- package/schemas/field/hierarchical-selector/index.js +5 -21
- package/schemas/field/iban/index.d.ts +168 -6
- package/schemas/field/iban/index.js +3 -3
- package/schemas/field/image/index.d.ts +168 -16
- package/schemas/field/image/index.js +7 -23
- package/schemas/field/index.d.ts +2 -7
- package/schemas/field/index.js +8 -15
- package/schemas/field/int/index.d.ts +152 -8
- package/schemas/field/int/index.js +5 -9
- package/schemas/field/intl_mobile_phone/index.d.ts +156 -3
- package/schemas/field/intl_mobile_phone/index.js +5 -5
- package/schemas/field/lab-results/index.d.ts +156 -3
- package/schemas/field/lab-results/index.js +6 -6
- package/schemas/field/mobile_phone/index.d.ts +158 -5
- package/schemas/field/mobile_phone/index.js +5 -6
- package/schemas/field/multiple-choice/index.d.ts +180 -12
- package/schemas/field/multiple-choice/index.js +3 -8
- package/schemas/field/password/index.d.ts +156 -2
- package/schemas/field/password/index.js +5 -5
- package/schemas/field/pdf-image/index.d.ts +152 -14
- package/schemas/field/pdf-image/index.js +6 -18
- package/schemas/field/postal_code/index.d.ts +156 -4
- package/schemas/field/postal_code/index.js +6 -8
- package/schemas/field/preference-multiple-choice/index.d.ts +211 -17
- package/schemas/field/preference-multiple-choice/index.js +5 -9
- package/schemas/field/qrcode/index.d.ts +168 -19
- package/schemas/field/qrcode/index.js +6 -18
- package/schemas/field/quote/index.d.ts +170 -11
- package/schemas/field/quote/index.js +4 -12
- package/schemas/field/radio-choice/index.d.ts +172 -9
- package/schemas/field/radio-choice/index.js +4 -10
- package/schemas/field/rate/index.d.ts +150 -8
- package/schemas/field/rate/index.js +4 -7
- package/schemas/field/recipient/index.d.ts +158 -5
- package/schemas/field/recipient/index.js +5 -9
- package/schemas/field/redirect/index.d.ts +156 -6
- package/schemas/field/redirect/index.js +6 -9
- package/schemas/field/refcode/index.d.ts +168 -16
- package/schemas/field/refcode/index.js +6 -20
- package/schemas/field/string/index.d.ts +226 -65
- package/schemas/field/string/index.js +5 -54
- package/schemas/field/text/index.d.ts +170 -33
- package/schemas/field/text/index.js +5 -30
- package/schemas/field/three-block-date/index.d.ts +176 -12
- package/schemas/field/three-block-date/index.js +4 -10
- package/schemas/field/url/index.d.ts +204 -0
- package/schemas/field/url/index.js +16 -0
- package/schemas/fieldset/component-params.d.ts +9 -41
- package/schemas/fieldset/component-params.js +5 -29
- package/schemas/fieldset/display-components.d.ts +16 -244
- package/schemas/fieldset/display-components.js +6 -19
- package/schemas/fieldset/enums.d.ts +0 -22
- package/schemas/fieldset/enums.js +1 -15
- package/schemas/fieldset/index.d.ts +9 -93
- package/schemas/index.d.ts +1 -1
- package/schemas/index.js +1 -1
- package/schemas/step.d.ts +7 -0
- package/schemas/step.js +2 -1
- package/schemas/{template/template.d.ts → template.d.ts} +47 -23
- package/schemas/template.js +26 -0
- package/src/generators/actions-possible-values/document-anon-create.json +19 -0
- package/src/generators/actions-possible-values/document-backstep.json +19 -0
- package/src/generators/actions-possible-values/document-create-new.json +43 -0
- package/src/generators/actions-possible-values/document-create.json +20 -0
- package/src/generators/actions-possible-values/document-dismiss.json +36 -0
- package/src/generators/actions-possible-values/document-download-pdf.json +69 -0
- package/src/generators/actions-possible-values/document-email.json +42 -0
- package/src/generators/actions-possible-values/document-resend-otp.json +30 -0
- package/src/generators/actions-possible-values/document-revoke.json +46 -0
- package/src/generators/actions-possible-values/document-share.json +29 -0
- package/src/generators/actions-possible-values/document-sms.json +38 -0
- package/src/generators/actions-possible-values/document-temporary-save.json +28 -0
- package/src/generators/actions-possible-values/document-update.json +111 -0
- package/src/generators/actions-possible-values/entity-forward.json +31 -0
- package/src/generators/actions-possible-values/entity-reply.json +31 -0
- package/src/generators/actions-possible-values/entity-send-message.json +34 -0
- package/src/generators/actions-possible-values/hidden.json +22 -0
- package/src/generators/actions-possible-values/link.json +43 -0
- package/src/generators/extractStepwisePossibleValues.mjs +139 -0
- package/src/generators/fields-possible-values/afm.json +94 -0
- package/src/generators/fields-possible-values/amka.json +26 -0
- package/src/generators/fields-possible-values/attachment.json +89 -0
- package/src/generators/fields-possible-values/captcha.json +16 -0
- package/src/generators/fields-possible-values/choice.json +432 -0
- package/src/generators/fields-possible-values/date.json +57 -0
- package/src/generators/fields-possible-values/doc_subtitle.json +26 -0
- package/src/generators/fields-possible-values/doc_title.json +63 -0
- package/src/generators/fields-possible-values/dynamically-filled-text.json +47 -0
- package/src/generators/fields-possible-values/email.json +65 -0
- package/src/generators/fields-possible-values/fillable-string.json +47 -0
- package/src/generators/fields-possible-values/five-block-date.json +23 -0
- package/src/generators/fields-possible-values/hidden.json +140 -0
- package/src/generators/fields-possible-values/hierarchical-selector.json +84 -0
- package/src/generators/fields-possible-values/iban.json +35 -0
- package/src/generators/fields-possible-values/image.json +37 -0
- package/src/generators/fields-possible-values/int.json +52 -0
- package/src/generators/fields-possible-values/intl_mobile_phone.json +32 -0
- package/src/generators/fields-possible-values/lab-results.json +19 -0
- package/src/generators/fields-possible-values/mobile_phone.json +45 -0
- package/src/generators/fields-possible-values/multiple-choice.json +128 -0
- package/src/generators/fields-possible-values/password.json +20 -0
- package/src/generators/fields-possible-values/pdf-image.json +70 -0
- package/src/generators/fields-possible-values/postal_code.json +32 -0
- package/src/generators/fields-possible-values/preference-multiple-choice.json +53 -0
- package/src/generators/fields-possible-values/qrcode.json +75 -0
- package/src/generators/fields-possible-values/quote.json +71 -0
- package/src/generators/fields-possible-values/radio-choice.json +209 -0
- package/src/generators/fields-possible-values/rate.json +26 -0
- package/src/generators/fields-possible-values/recipient.json +46 -0
- package/src/generators/fields-possible-values/redirect.json +22 -0
- package/src/generators/fields-possible-values/refcode.json +89 -0
- package/src/generators/fields-possible-values/string.json +778 -0
- package/src/generators/fields-possible-values/text.json +105 -0
- package/src/generators/fields-possible-values/three-block-date.json +83 -0
- package/src/generators/fields-possible-values/url.json +23 -0
- package/src/generators/fieldsets-possible-values/form.json +311 -0
- package/src/generators/fieldsets-possible-values/hidden.json +107 -0
- package/src/generators/fieldsets-possible-values/unknown.json +69 -0
- package/src/generators/fieldsets-possible-values/values-list.json +364 -0
- package/src/schemas/action.ts +44 -58
- package/src/schemas/field/afm/index.ts +8 -6
- package/src/schemas/field/amka/index.ts +7 -9
- package/src/schemas/field/attachment/index.ts +9 -23
- package/src/schemas/field/captcha/index.ts +8 -3
- package/src/schemas/field/choice/index.ts +7 -5
- package/src/schemas/field/common.spec.ts +0 -3
- package/src/schemas/field/common.ts +115 -53
- package/src/schemas/field/date/index.ts +8 -24
- package/src/schemas/field/doc_subtitle/index.ts +7 -4
- package/src/schemas/field/doc_title/index.ts +7 -14
- package/src/schemas/field/dynamically-filled-text/index.ts +7 -15
- package/src/schemas/field/email/index.ts +7 -9
- package/src/schemas/field/fillable-string/index.ts +7 -11
- package/src/schemas/field/five-block-date/index.ts +7 -2
- package/src/schemas/field/hidden/index.ts +15 -40
- package/src/schemas/field/hierarchical-selector/index.ts +8 -18
- package/src/schemas/field/iban/index.ts +7 -3
- package/src/schemas/field/image/index.ts +8 -10
- package/src/schemas/field/index.ts +8 -33
- package/src/schemas/field/int/index.ts +7 -9
- package/src/schemas/field/intl_mobile_phone/index.ts +7 -3
- package/src/schemas/field/lab-results/index.ts +7 -3
- package/src/schemas/field/mobile_phone/index.ts +7 -4
- package/src/schemas/field/multiple-choice/index.ts +7 -5
- package/src/schemas/field/password/index.ts +8 -3
- package/src/schemas/field/pdf-image/index.ts +8 -12
- package/src/schemas/field/postal_code/index.ts +8 -5
- package/src/schemas/field/preference-multiple-choice/index.ts +8 -7
- package/src/schemas/field/qrcode/index.ts +7 -10
- package/src/schemas/field/quote/index.ts +8 -8
- package/src/schemas/field/radio-choice/index.ts +7 -5
- package/src/schemas/field/rate/index.ts +7 -8
- package/src/schemas/field/recipient/index.ts +7 -4
- package/src/schemas/field/redirect/index.ts +7 -6
- package/src/schemas/field/refcode/index.ts +7 -21
- package/src/schemas/field/string/index.ts +7 -42
- package/src/schemas/field/text/index.ts +8 -16
- package/src/schemas/field/three-block-date/index.ts +7 -6
- package/src/schemas/field/url/index.ts +24 -0
- package/src/schemas/fieldset/component-params.ts +4 -20
- package/src/schemas/fieldset/display-components.ts +5 -36
- package/src/schemas/fieldset/enums.ts +0 -38
- package/src/schemas/step.ts +1 -0
- package/src/schemas/{template/template-base.ts → template.ts} +30 -6
- package/src/utils/index.ts +69 -2
- package/utils/index.js +28 -2
- package/schemas/field/consent-content/index.d.ts +0 -68
- package/schemas/field/consent-content/index.js +0 -19
- package/schemas/field/image-crop/index.d.ts +0 -59
- package/schemas/field/image-crop/index.js +0 -19
- package/schemas/field/landline_phone/index.d.ts +0 -48
- package/schemas/field/landline_phone/index.js +0 -14
- package/schemas/field/link/index.d.ts +0 -50
- package/schemas/field/link/index.js +0 -16
- package/schemas/field/phone/index.d.ts +0 -48
- package/schemas/field/phone/index.js +0 -14
- package/schemas/field/url-param/index.d.ts +0 -57
- package/schemas/field/url-param/index.js +0 -14
- package/schemas/template/index.d.ts +0 -2
- package/schemas/template/index.js +0 -2
- package/schemas/template/template-base.d.ts +0 -53
- package/schemas/template/template-base.js +0 -15
- package/schemas/template/template-source.d.ts +0 -50
- package/schemas/template/template-source.js +0 -14
- package/schemas/template/template.js +0 -22
- package/src/schemas/field/consent-content/index.ts +0 -28
- package/src/schemas/field/image-crop/index.ts +0 -25
- package/src/schemas/field/landline_phone/index.ts +0 -18
- package/src/schemas/field/link/index.ts +0 -20
- package/src/schemas/field/phone/index.ts +0 -18
- package/src/schemas/field/url-param/index.ts +0 -23
- package/src/schemas/template/index.ts +0 -2
- package/src/schemas/template/template-source.ts +0 -88
- package/src/schemas/template/template.ts +0 -49
|
@@ -1,51 +1,26 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const HiddenDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.looseObject({
|
|
6
10
|
component: v.literal('hidden'),
|
|
7
|
-
'component-params': v.nullish(
|
|
8
|
-
// choices: v.nullish(v.record(v.string())),
|
|
9
|
-
// 'choices-order': v.nullish(v.string()),
|
|
10
|
-
// 'component-params': v.nullish(
|
|
11
|
-
// v.strictObject({
|
|
12
|
-
// bold: v.nullish(v.boolean()),
|
|
13
|
-
// cell_valign: v.nullish(v.picklist(['BOTTOM', 'MIDDLE', 'TOP'])),
|
|
14
|
-
// coordinates: v.nullish(v.array(v.nullable(v.number()))),
|
|
15
|
-
// country: v.nullish(v.literal('gr')),
|
|
16
|
-
// dependencies: v.nullish(v.record(v.string())),
|
|
17
|
-
// 'dependencies-error-message': v.nullish(v.string()),
|
|
18
|
-
// dataset: Dataset,
|
|
19
|
-
// enforceUppercase: v.nullish(v.boolean()),
|
|
20
|
-
// filetype: v.nullish(v.picklist(['pdf', 'pdf-for-mark'])),
|
|
21
|
-
// 'file-max-size': v.nullish(v.number()),
|
|
22
|
-
// fontSize: v.nullish(v.number()),
|
|
23
|
-
// format: v.nullish(v.literal('plaintext')),
|
|
24
|
-
// 'format-title': v.nullish(v.boolean()),
|
|
25
|
-
// level: v.nullish(v.literal('Q')),
|
|
26
|
-
// mode: v.nullish(v.picklist(['warning', 'info'])),
|
|
27
|
-
// position: v.nullish(v.picklist(['left', 'right', 'center', 'justify'])),
|
|
28
|
-
// size: v.nullish(v.number()),
|
|
29
|
-
// textColor: v.nullish(v.string()),
|
|
30
|
-
// 'later-pages': v.nullish(v.boolean()),
|
|
31
|
-
// 'legacy-mode': v.nullish(v.boolean()),
|
|
32
|
-
// })
|
|
33
|
-
// ),
|
|
11
|
+
'component-params': v.nullish(createComponentParams({}, 'loose')),
|
|
34
12
|
})
|
|
35
13
|
);
|
|
36
14
|
|
|
37
|
-
const HiddenSchema =
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
'is-display-field': v.nullish(v.boolean()),
|
|
47
|
-
'default-on-empty': v.nullish(v.string()),
|
|
48
|
-
});
|
|
15
|
+
const HiddenSchema = createFieldSchema(
|
|
16
|
+
{
|
|
17
|
+
'user-input-mode': v.picklist(['noinput', 'required']),
|
|
18
|
+
display: HiddenDisplaySchema,
|
|
19
|
+
value: v.nullish(v.string()),
|
|
20
|
+
'default-value': v.nullish(v.string()),
|
|
21
|
+
},
|
|
22
|
+
'loose'
|
|
23
|
+
);
|
|
49
24
|
|
|
50
25
|
export type HiddenType = v.InferOutput<typeof HiddenSchema>;
|
|
51
26
|
export type HiddenSchemaType = v.GenericSchema<HiddenType>;
|
|
@@ -1,35 +1,25 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const HierarchicalSelectorDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
6
10
|
component: v.literal('hierarchical-selector'),
|
|
7
11
|
'component-params': v.nullish(
|
|
8
|
-
|
|
12
|
+
createComponentParams({
|
|
9
13
|
dataset: v.nullish(v.string()),
|
|
10
14
|
'dataset-filter-field': v.nullish(v.string()),
|
|
11
|
-
format: v.nullish(v.literal('plaintext')),
|
|
12
|
-
initial_loading_levels: v.nullish(v.number()),
|
|
13
|
-
multiplicity: v.nullish(v.number()),
|
|
14
|
-
multiplicityLabels: v.nullish(
|
|
15
|
-
v.strictObject({
|
|
16
|
-
addItem: v.nullish(v.string()),
|
|
17
|
-
empty: v.nullish(v.string()),
|
|
18
|
-
emptyValueDisplay: v.nullish(v.string()),
|
|
19
|
-
})
|
|
20
|
-
),
|
|
21
15
|
})
|
|
22
16
|
),
|
|
23
17
|
})
|
|
24
18
|
);
|
|
25
19
|
|
|
26
|
-
const HierarchicalSelectorSchema =
|
|
27
|
-
'user-input-mode': v.picklist(['noinput', '
|
|
20
|
+
const HierarchicalSelectorSchema = createFieldSchema({
|
|
21
|
+
'user-input-mode': v.picklist(['noinput', 'required']),
|
|
28
22
|
display: HierarchicalSelectorDisplaySchema,
|
|
29
|
-
attribute: v.nullish(v.string()),
|
|
30
|
-
sources: v.nullish(v.string()),
|
|
31
|
-
'value-constructor': v.nullish(v.string()),
|
|
32
|
-
datatype: v.nullish(v.picklist(['entity_recipient', 'string'])),
|
|
33
23
|
'dataset-source-fn': v.nullish(v.string()),
|
|
34
24
|
});
|
|
35
25
|
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const IbanDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
6
10
|
component: v.literal('iban'),
|
|
7
11
|
'component-params': v.nullish(
|
|
8
|
-
|
|
12
|
+
createComponentParams({
|
|
9
13
|
country: v.literal('gr'),
|
|
10
14
|
})
|
|
11
15
|
),
|
|
12
16
|
})
|
|
13
17
|
);
|
|
14
18
|
|
|
15
|
-
const IbanSchema =
|
|
19
|
+
const IbanSchema = createFieldSchema({
|
|
16
20
|
'user-input-mode': v.picklist(['noinput', 'optional', 'required']),
|
|
17
21
|
display: IbanDisplaySchema,
|
|
18
22
|
'default-value': v.nullish(v.string()),
|
|
@@ -1,27 +1,25 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const ImageDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
6
10
|
component: v.literal('image'),
|
|
7
11
|
'component-params': v.nullish(
|
|
8
|
-
|
|
12
|
+
createComponentParams({
|
|
9
13
|
attachment_retrieval: v.nullish(v.picklist(['content', 'content-uri'])),
|
|
10
|
-
position: v.nullish(v.picklist(['left', 'right', 'center', 'justify'])),
|
|
11
|
-
coordinates: v.nullish(v.array(v.nullable(v.number()))),
|
|
12
14
|
})
|
|
13
15
|
),
|
|
14
16
|
})
|
|
15
17
|
);
|
|
16
18
|
|
|
17
|
-
const ImageSchema =
|
|
18
|
-
'user-input-mode': v.picklist(['noinput'
|
|
19
|
+
const ImageSchema = createFieldSchema({
|
|
20
|
+
'user-input-mode': v.picklist(['noinput']),
|
|
19
21
|
display: ImageDisplaySchema,
|
|
20
|
-
datatype: v.nullish(v.picklist(['attachment', 'string'])),
|
|
21
|
-
attribute: v.nullish(v.string()),
|
|
22
22
|
value: v.nullish(v.string()),
|
|
23
|
-
'value-constructor': v.nullish(v.string()),
|
|
24
|
-
sources: v.nullish(v.string()),
|
|
25
23
|
});
|
|
26
24
|
|
|
27
25
|
export type ImageType = v.InferOutput<typeof ImageSchema>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import { DisplayLang
|
|
2
|
+
import { DisplayLang } from '@uides/stepwise/schemas/common';
|
|
3
3
|
import Afm, { AfmType } from '@uides/stepwise/schemas/field/afm';
|
|
4
4
|
import Amka, { AmkaType } from '@uides/stepwise/schemas/field/amka';
|
|
5
5
|
import Attachment, {
|
|
@@ -8,9 +8,6 @@ import Attachment, {
|
|
|
8
8
|
import Captcha, { CaptchaType } from '@uides/stepwise/schemas/field/captcha';
|
|
9
9
|
import Choice, { ChoiceType } from '@uides/stepwise/schemas/field/choice';
|
|
10
10
|
import { DisplayModeAndLangSchema } from '@uides/stepwise/schemas/field/common';
|
|
11
|
-
import ConsentContent, {
|
|
12
|
-
ConsentContentType,
|
|
13
|
-
} from '@uides/stepwise/schemas/field/consent-content';
|
|
14
11
|
import DateField, { DateType } from '@uides/stepwise/schemas/field/date';
|
|
15
12
|
import DocSubtitle, {
|
|
16
13
|
DocSubtitleType,
|
|
@@ -34,9 +31,6 @@ import HierarchicalSelector, {
|
|
|
34
31
|
} from '@uides/stepwise/schemas/field/hierarchical-selector';
|
|
35
32
|
import Iban, { IbanType } from '@uides/stepwise/schemas/field/iban';
|
|
36
33
|
import Image, { ImageType } from '@uides/stepwise/schemas/field/image';
|
|
37
|
-
import ImageCrop, {
|
|
38
|
-
ImageCropType,
|
|
39
|
-
} from '@uides/stepwise/schemas/field/image-crop';
|
|
40
34
|
import Int, { IntType } from '@uides/stepwise/schemas/field/int';
|
|
41
35
|
import IntlMobilePhone, {
|
|
42
36
|
IntlMobilePhoneType,
|
|
@@ -44,10 +38,6 @@ import IntlMobilePhone, {
|
|
|
44
38
|
import LabResults, {
|
|
45
39
|
LabResultsType,
|
|
46
40
|
} from '@uides/stepwise/schemas/field/lab-results';
|
|
47
|
-
import LandlinePhone, {
|
|
48
|
-
LandlinePhoneType,
|
|
49
|
-
} from '@uides/stepwise/schemas/field/landline_phone';
|
|
50
|
-
import Link, { LinkType } from '@uides/stepwise/schemas/field/link';
|
|
51
41
|
import MobilePhone, {
|
|
52
42
|
MobilePhoneType,
|
|
53
43
|
} from '@uides/stepwise/schemas/field/mobile_phone';
|
|
@@ -58,7 +48,6 @@ import Password, { PasswordType } from '@uides/stepwise/schemas/field/password';
|
|
|
58
48
|
import PdfImage, {
|
|
59
49
|
PdfImageType,
|
|
60
50
|
} from '@uides/stepwise/schemas/field/pdf-image';
|
|
61
|
-
import Phone, { PhoneType } from '@uides/stepwise/schemas/field/phone';
|
|
62
51
|
import PostalCode, {
|
|
63
52
|
PostalCodeType,
|
|
64
53
|
} from '@uides/stepwise/schemas/field/postal_code';
|
|
@@ -81,9 +70,7 @@ import Text, { TextType } from '@uides/stepwise/schemas/field/text';
|
|
|
81
70
|
import ThreeBlockDate, {
|
|
82
71
|
ThreeBlockDateType,
|
|
83
72
|
} from '@uides/stepwise/schemas/field/three-block-date';
|
|
84
|
-
import
|
|
85
|
-
UrlParamType,
|
|
86
|
-
} from '@uides/stepwise/schemas/field/url-param';
|
|
73
|
+
import Url, { UrlType } from '@uides/stepwise/schemas/field/url';
|
|
87
74
|
import { resolveDisplay } from '@uides/stepwise/schemas/resolve';
|
|
88
75
|
import { isFailureDataset } from '@uides/stepwise/utils';
|
|
89
76
|
|
|
@@ -93,7 +80,6 @@ const allFieldSchemas = {
|
|
|
93
80
|
attachment: Attachment,
|
|
94
81
|
captcha: Captcha,
|
|
95
82
|
choice: Choice,
|
|
96
|
-
'consent-content': ConsentContent,
|
|
97
83
|
date: DateField,
|
|
98
84
|
doc_title: DocTitle,
|
|
99
85
|
doc_subtitle: DocSubtitle,
|
|
@@ -105,17 +91,13 @@ const allFieldSchemas = {
|
|
|
105
91
|
'hierarchical-selector': HierarchicalSelector,
|
|
106
92
|
iban: Iban,
|
|
107
93
|
image: Image,
|
|
108
|
-
'image-crop': ImageCrop,
|
|
109
94
|
int: Int,
|
|
110
95
|
intl_mobile_phone: IntlMobilePhone,
|
|
111
96
|
'lab-results': LabResults,
|
|
112
|
-
landline_phone: LandlinePhone,
|
|
113
|
-
link: Link,
|
|
114
97
|
mobile_phone: MobilePhone,
|
|
115
98
|
'multiple-choice': MultipleChoice,
|
|
116
99
|
password: Password,
|
|
117
100
|
'pdf-image': PdfImage,
|
|
118
|
-
phone: Phone,
|
|
119
101
|
postal_code: PostalCode,
|
|
120
102
|
'preference-multiple-choice': PreferenceMultipleChoice,
|
|
121
103
|
qrcode: Qrcode,
|
|
@@ -128,11 +110,13 @@ const allFieldSchemas = {
|
|
|
128
110
|
string: StringField,
|
|
129
111
|
text: Text,
|
|
130
112
|
'three-block-date': ThreeBlockDate,
|
|
131
|
-
|
|
113
|
+
url: Url,
|
|
132
114
|
};
|
|
133
115
|
|
|
134
116
|
export const ComponentSchema = v.picklist(Object.keys(allFieldSchemas));
|
|
135
117
|
|
|
118
|
+
const VALIDATED_DISPLAY_MODES = ['default', 'web'] as const;
|
|
119
|
+
|
|
136
120
|
const FieldSchema = v.pipe(
|
|
137
121
|
v.record(v.string(), v.any()),
|
|
138
122
|
v.rawCheck<Field>(({ dataset, addIssue }) => {
|
|
@@ -170,12 +154,8 @@ const FieldSchema = v.pipe(
|
|
|
170
154
|
});
|
|
171
155
|
});
|
|
172
156
|
}
|
|
173
|
-
|
|
174
|
-
if (
|
|
175
|
-
!(display && display[displayMode]) ||
|
|
176
|
-
displayMode === 'pdf' // TODO: Add PDF validation
|
|
177
|
-
)
|
|
178
|
-
return;
|
|
157
|
+
VALIDATED_DISPLAY_MODES.forEach((displayMode) => {
|
|
158
|
+
if (!(display && display[displayMode])) return;
|
|
179
159
|
Object.keys(display[displayMode] as NonNullable<unknown>).forEach(
|
|
180
160
|
(displayLang) => {
|
|
181
161
|
const resolvedDisplay = resolveDisplay(
|
|
@@ -256,7 +236,6 @@ export type Field =
|
|
|
256
236
|
| AttachmentType
|
|
257
237
|
| CaptchaType
|
|
258
238
|
| ChoiceType
|
|
259
|
-
| ConsentContentType
|
|
260
239
|
| DateType
|
|
261
240
|
| DocSubtitleType
|
|
262
241
|
| DocTitleType
|
|
@@ -268,17 +247,13 @@ export type Field =
|
|
|
268
247
|
| HierarchicalSelectorType
|
|
269
248
|
| IbanType
|
|
270
249
|
| ImageType
|
|
271
|
-
| ImageCropType
|
|
272
250
|
| IntType
|
|
273
251
|
| IntlMobilePhoneType
|
|
274
252
|
| LabResultsType
|
|
275
|
-
| LandlinePhoneType
|
|
276
|
-
| LinkType
|
|
277
253
|
| MobilePhoneType
|
|
278
254
|
| MultipleChoiceType
|
|
279
255
|
| PasswordType
|
|
280
256
|
| PdfImageType
|
|
281
|
-
| PhoneType
|
|
282
257
|
| PostalCodeType
|
|
283
258
|
| PreferenceMultipleChoiceType
|
|
284
259
|
| QrcodeType
|
|
@@ -291,7 +266,7 @@ export type Field =
|
|
|
291
266
|
| StringType
|
|
292
267
|
| TextType
|
|
293
268
|
| ThreeBlockDateType
|
|
294
|
-
|
|
|
269
|
+
| UrlType;
|
|
295
270
|
|
|
296
271
|
export type Fields = Record<string, Field>;
|
|
297
272
|
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const IntDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
6
10
|
component: v.literal('int'),
|
|
7
|
-
'component-params': v.nullish(
|
|
8
|
-
v.strictObject({
|
|
9
|
-
enforceUppercase: v.boolean(),
|
|
10
|
-
})
|
|
11
|
-
),
|
|
11
|
+
'component-params': v.nullish(createComponentParams({})),
|
|
12
12
|
})
|
|
13
13
|
);
|
|
14
14
|
|
|
15
|
-
const IntSchema =
|
|
15
|
+
const IntSchema = createFieldSchema({
|
|
16
16
|
'user-input-mode': v.picklist(['noinput', 'optional', 'required']),
|
|
17
17
|
display: IntDisplaySchema,
|
|
18
18
|
'default-value': v.nullish(v.string()),
|
|
19
|
-
attribute: v.nullish(v.string()),
|
|
20
|
-
datatype: v.nullish(v.literal('int')),
|
|
21
19
|
});
|
|
22
20
|
|
|
23
21
|
export type IntType = v.InferOutput<typeof IntSchema>;
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const IntlMobilePhoneDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
6
10
|
component: v.literal('intl_mobile_phone'),
|
|
11
|
+
'component-params': v.nullish(createComponentParams({})),
|
|
7
12
|
})
|
|
8
13
|
);
|
|
9
14
|
|
|
10
|
-
const IntlMobilePhoneSchema =
|
|
15
|
+
const IntlMobilePhoneSchema = createFieldSchema({
|
|
11
16
|
'user-input-mode': v.picklist(['noinput', 'required']),
|
|
12
|
-
attribute: v.nullish(v.string()),
|
|
13
17
|
display: IntlMobilePhoneDisplaySchema,
|
|
14
18
|
});
|
|
15
19
|
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const LabResultsDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
6
10
|
component: v.literal('lab-results'),
|
|
11
|
+
'component-params': v.nullish(createComponentParams({})),
|
|
7
12
|
})
|
|
8
13
|
);
|
|
9
14
|
|
|
10
|
-
const LabResultsSchema =
|
|
15
|
+
const LabResultsSchema = createFieldSchema({
|
|
11
16
|
'user-input-mode': v.literal('noinput'),
|
|
12
17
|
display: LabResultsDisplaySchema,
|
|
13
|
-
attribute: v.nullish(v.string()),
|
|
14
18
|
});
|
|
15
19
|
|
|
16
20
|
export type LabResultsType = v.InferOutput<typeof LabResultsSchema>;
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const MobilePhoneDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
6
10
|
component: v.literal('mobile_phone'),
|
|
11
|
+
'component-params': v.nullish(createComponentParams({})),
|
|
7
12
|
})
|
|
8
13
|
);
|
|
9
14
|
|
|
10
|
-
const MobilePhoneSchema =
|
|
15
|
+
const MobilePhoneSchema = createFieldSchema({
|
|
11
16
|
'user-input-mode': v.picklist(['noinput', 'optional', 'required']),
|
|
12
|
-
attribute: v.nullish(v.string()),
|
|
13
17
|
display: MobilePhoneDisplaySchema,
|
|
14
18
|
'default-value': v.nullish(v.string()),
|
|
15
|
-
datatype: v.nullish(v.literal('mobile_phone')),
|
|
16
19
|
});
|
|
17
20
|
|
|
18
21
|
export type MobilePhoneType = v.InferOutput<typeof MobilePhoneSchema>;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const MultipleChoiceDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
@@ -7,7 +11,7 @@ const MultipleChoiceDisplaySchema = createFieldDisplay(
|
|
|
7
11
|
choices: v.nullish(v.record(v.string(), v.string())),
|
|
8
12
|
'choices-order': v.nullish(v.string()),
|
|
9
13
|
'component-params': v.nullish(
|
|
10
|
-
|
|
14
|
+
createComponentParams({
|
|
11
15
|
'legacy-mode': v.nullish(v.boolean()),
|
|
12
16
|
showcase: v.nullish(v.picklist(['comma_separated', 'one_per_line'])),
|
|
13
17
|
})
|
|
@@ -15,12 +19,10 @@ const MultipleChoiceDisplaySchema = createFieldDisplay(
|
|
|
15
19
|
})
|
|
16
20
|
);
|
|
17
21
|
|
|
18
|
-
const MultipleChoiceSchema =
|
|
22
|
+
const MultipleChoiceSchema = createFieldSchema({
|
|
19
23
|
'user-input-mode': v.picklist(['noinput', 'optional', 'required']),
|
|
20
24
|
display: MultipleChoiceDisplaySchema,
|
|
21
25
|
'default-value': v.nullish(v.string()),
|
|
22
|
-
attribute: v.nullish(v.string()),
|
|
23
|
-
datatype: v.nullish(v.picklist(['multiple-choice', 'string'])),
|
|
24
26
|
'choices-source-fn': v.nullish(v.string()),
|
|
25
27
|
});
|
|
26
28
|
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const PasswordDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
6
10
|
component: v.literal('password'),
|
|
11
|
+
'component-params': v.nullish(createComponentParams({})),
|
|
7
12
|
})
|
|
8
13
|
);
|
|
9
14
|
|
|
10
|
-
const PasswordSchema =
|
|
11
|
-
'user-input-mode': v.picklist(['noinput', '
|
|
15
|
+
const PasswordSchema = createFieldSchema({
|
|
16
|
+
'user-input-mode': v.picklist(['noinput', 'optional']),
|
|
12
17
|
display: PasswordDisplaySchema,
|
|
13
18
|
});
|
|
14
19
|
|
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const PdfImageDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
6
10
|
component: v.literal('pdf-image'),
|
|
7
|
-
'component-params': v.nullish(
|
|
8
|
-
v.strictObject({
|
|
9
|
-
coordinates: v.array(v.nullable(v.number())),
|
|
10
|
-
position: v.nullish(v.picklist(['left', 'right', 'center', 'justify'])),
|
|
11
|
-
'later-pages': v.nullish(v.boolean()),
|
|
12
|
-
})
|
|
13
|
-
),
|
|
11
|
+
'component-params': v.nullish(createComponentParams({})),
|
|
14
12
|
})
|
|
15
13
|
);
|
|
16
14
|
|
|
17
|
-
const PdfImageSchema =
|
|
15
|
+
const PdfImageSchema = createFieldSchema({
|
|
18
16
|
display: PdfImageDisplaySchema,
|
|
19
17
|
value: v.nullish(v.string()),
|
|
20
|
-
'user-input-mode': v.picklist(['noinput'
|
|
21
|
-
datatype: v.nullish(v.literal('string')),
|
|
22
|
-
attribute: v.nullish(v.string()),
|
|
18
|
+
'user-input-mode': v.picklist(['noinput']),
|
|
23
19
|
});
|
|
24
20
|
|
|
25
21
|
export type PdfImageType = v.InferOutput<typeof PdfImageSchema>;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const PostalCodeDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
6
10
|
component: v.literal('postal_code'),
|
|
11
|
+
'component-params': v.nullish(createComponentParams({})),
|
|
7
12
|
})
|
|
8
13
|
);
|
|
9
14
|
|
|
10
|
-
const PostalCodeSchema =
|
|
11
|
-
'user-input-mode': v.picklist(['noinput', '
|
|
15
|
+
const PostalCodeSchema = createFieldSchema({
|
|
16
|
+
'user-input-mode': v.picklist(['noinput', 'required']),
|
|
12
17
|
display: PostalCodeDisplaySchema,
|
|
13
|
-
datatype: v.nullish(v.literal('postal_code')),
|
|
14
|
-
attribute: v.nullish(v.string()),
|
|
15
18
|
});
|
|
16
19
|
|
|
17
20
|
export type PostalCodeType = v.InferOutput<typeof PostalCodeSchema>;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const PreferenceMultipleChoiceDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
@@ -7,7 +11,7 @@ const PreferenceMultipleChoiceDisplaySchema = createFieldDisplay(
|
|
|
7
11
|
choices: v.nullish(v.record(v.string(), v.string())),
|
|
8
12
|
'choices-order': v.nullish(v.string()),
|
|
9
13
|
'component-params': v.nullish(
|
|
10
|
-
|
|
14
|
+
createComponentParams({
|
|
11
15
|
min: v.nullish(v.number()),
|
|
12
16
|
max: v.nullish(v.number()),
|
|
13
17
|
labels: v.nullish(
|
|
@@ -16,7 +20,6 @@ const PreferenceMultipleChoiceDisplaySchema = createFieldDisplay(
|
|
|
16
20
|
addItem: v.nullish(v.string()),
|
|
17
21
|
addTitle: v.nullish(v.string()),
|
|
18
22
|
submitAdd: v.nullish(v.string()),
|
|
19
|
-
itemTitle: v.nullish(v.string()),
|
|
20
23
|
})
|
|
21
24
|
),
|
|
22
25
|
})
|
|
@@ -24,11 +27,9 @@ const PreferenceMultipleChoiceDisplaySchema = createFieldDisplay(
|
|
|
24
27
|
})
|
|
25
28
|
);
|
|
26
29
|
|
|
27
|
-
const PreferenceMultipleChoiceSchema =
|
|
28
|
-
'user-input-mode': v.picklist(['noinput', 'optional'
|
|
30
|
+
const PreferenceMultipleChoiceSchema = createFieldSchema({
|
|
31
|
+
'user-input-mode': v.picklist(['noinput', 'optional']),
|
|
29
32
|
display: PreferenceMultipleChoiceDisplaySchema,
|
|
30
|
-
attribute: v.nullish(v.string()),
|
|
31
|
-
datatype: v.nullish(v.literal('preference-multiple-choice')),
|
|
32
33
|
'choices-source-fn': v.nullish(v.string()),
|
|
33
34
|
});
|
|
34
35
|
|
|
@@ -1,28 +1,25 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const QrcodeDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
6
10
|
component: v.literal('qrcode'),
|
|
7
11
|
'component-params': v.nullish(
|
|
8
|
-
|
|
9
|
-
coordinates: v.nullish(v.array(v.nullable(v.number()))),
|
|
10
|
-
position: v.nullish(v.picklist(['left', 'right', 'center', 'justify'])),
|
|
12
|
+
createComponentParams({
|
|
11
13
|
size: v.nullish(v.number()),
|
|
12
|
-
'later-pages': v.nullish(v.boolean()),
|
|
13
14
|
})
|
|
14
15
|
),
|
|
15
16
|
})
|
|
16
17
|
);
|
|
17
18
|
|
|
18
|
-
const QrcodeSchema =
|
|
19
|
+
const QrcodeSchema = createFieldSchema({
|
|
19
20
|
'user-input-mode': v.picklist(['noinput', 'display']),
|
|
20
21
|
display: QrcodeDisplaySchema,
|
|
21
|
-
attribute: v.nullish(v.string()),
|
|
22
|
-
sources: v.nullish(v.string()),
|
|
23
22
|
value: v.nullish(v.string()),
|
|
24
|
-
'value-constructor': v.nullish(v.string()),
|
|
25
|
-
'is-display-field': v.nullish(v.boolean()),
|
|
26
23
|
});
|
|
27
24
|
|
|
28
25
|
export type QrcodeType = v.InferOutput<typeof QrcodeSchema>;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
createComponentParams,
|
|
4
|
+
createFieldDisplay,
|
|
5
|
+
createFieldSchema,
|
|
6
|
+
} from '@uides/stepwise/schemas/field/common';
|
|
3
7
|
|
|
4
8
|
const QuoteDisplaySchema = createFieldDisplay(
|
|
5
9
|
v.strictObject({
|
|
6
10
|
component: v.literal('quote'),
|
|
7
11
|
'component-params': v.nullish(
|
|
8
|
-
|
|
12
|
+
createComponentParams({
|
|
9
13
|
mode: v.picklist(['error', 'info', 'warning']),
|
|
10
14
|
})
|
|
11
15
|
),
|
|
12
16
|
})
|
|
13
17
|
);
|
|
14
18
|
|
|
15
|
-
const QuoteSchema =
|
|
16
|
-
'user-input-mode': v.picklist(['
|
|
19
|
+
const QuoteSchema = createFieldSchema({
|
|
20
|
+
'user-input-mode': v.picklist(['display']),
|
|
17
21
|
display: QuoteDisplaySchema,
|
|
18
22
|
value: v.nullish(v.string()),
|
|
19
|
-
sources: v.nullish(v.string()),
|
|
20
|
-
'value-constructor': v.nullish(v.string()),
|
|
21
23
|
safe: v.nullish(v.boolean()),
|
|
22
|
-
attribute: v.nullish(v.literal('chosen_auto:insurance1_error')),
|
|
23
|
-
datatype: v.nullish(v.picklist(['quote', 'string'])),
|
|
24
24
|
});
|
|
25
25
|
|
|
26
26
|
export type QuoteType = v.InferOutput<typeof QuoteSchema>;
|