@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,7 +1,14 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
declare const ChoiceSchema: v.StrictObjectSchema<{
|
|
3
|
-
readonly
|
|
4
|
-
readonly
|
|
3
|
+
readonly attribute: v.NullishSchema<v.AnySchema, undefined>;
|
|
4
|
+
readonly sources: v.NullishSchema<v.AnySchema, undefined>;
|
|
5
|
+
readonly 'value-constructor': v.NullishSchema<v.AnySchema, undefined>;
|
|
6
|
+
readonly datatype: v.NullishSchema<v.AnySchema, undefined>;
|
|
7
|
+
readonly 'is-display-field': v.NullishSchema<v.AnySchema, undefined>;
|
|
8
|
+
readonly 'default-on-empty': v.NullishSchema<v.AnySchema, undefined>;
|
|
9
|
+
} & {
|
|
10
|
+
'user-input-mode': v.PicklistSchema<["noinput", "optional", "required"], undefined>;
|
|
11
|
+
display: v.SchemaWithPipe<readonly [v.RecordSchema<v.StringSchema<undefined>, v.AnySchema, undefined>, v.RawCheckAction<import("../common.js").DisplayType<v.ObjectSchema<{
|
|
5
12
|
readonly title: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
6
13
|
readonly title_md: v.NullishSchema<v.NumberSchema<undefined>, undefined>;
|
|
7
14
|
readonly value_md: v.NullishSchema<v.NumberSchema<undefined>, undefined>;
|
|
@@ -17,9 +24,43 @@ declare const ChoiceSchema: v.StrictObjectSchema<{
|
|
|
17
24
|
readonly choices: v.NullishSchema<v.UnionSchema<[v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>], undefined>, undefined>;
|
|
18
25
|
readonly 'choices-order': v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
19
26
|
readonly 'component-params': v.NullishSchema<v.StrictObjectSchema<{
|
|
20
|
-
readonly
|
|
21
|
-
readonly '
|
|
22
|
-
readonly
|
|
27
|
+
readonly coordinates: v.NullishSchema<v.AnySchema, undefined>;
|
|
28
|
+
readonly 'later-pages': v.NullishSchema<v.AnySchema, undefined>;
|
|
29
|
+
readonly fontSize: v.NullishSchema<v.AnySchema, undefined>;
|
|
30
|
+
readonly fontName: v.NullishSchema<v.AnySchema, undefined>;
|
|
31
|
+
readonly leading: v.NullishSchema<v.AnySchema, undefined>;
|
|
32
|
+
readonly textColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
33
|
+
readonly backColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
34
|
+
readonly bold: v.NullishSchema<v.AnySchema, undefined>;
|
|
35
|
+
readonly format: v.NullishSchema<v.AnySchema, undefined>;
|
|
36
|
+
readonly emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
37
|
+
readonly ignore_emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
38
|
+
readonly cell_valign: v.NullishSchema<v.AnySchema, undefined>;
|
|
39
|
+
readonly position: v.NullishSchema<v.AnySchema, undefined>;
|
|
40
|
+
readonly attachment_retrieval: v.NullishSchema<v.AnySchema, undefined>;
|
|
41
|
+
} & {
|
|
42
|
+
autocomplete: v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
43
|
+
'legacy-mode': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
44
|
+
'format-title': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
45
|
+
}, undefined> | v.LooseObjectSchema<{
|
|
46
|
+
readonly coordinates: v.NullishSchema<v.AnySchema, undefined>;
|
|
47
|
+
readonly 'later-pages': v.NullishSchema<v.AnySchema, undefined>;
|
|
48
|
+
readonly fontSize: v.NullishSchema<v.AnySchema, undefined>;
|
|
49
|
+
readonly fontName: v.NullishSchema<v.AnySchema, undefined>;
|
|
50
|
+
readonly leading: v.NullishSchema<v.AnySchema, undefined>;
|
|
51
|
+
readonly textColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
52
|
+
readonly backColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
53
|
+
readonly bold: v.NullishSchema<v.AnySchema, undefined>;
|
|
54
|
+
readonly format: v.NullishSchema<v.AnySchema, undefined>;
|
|
55
|
+
readonly emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
56
|
+
readonly ignore_emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
57
|
+
readonly cell_valign: v.NullishSchema<v.AnySchema, undefined>;
|
|
58
|
+
readonly position: v.NullishSchema<v.AnySchema, undefined>;
|
|
59
|
+
readonly attachment_retrieval: v.NullishSchema<v.AnySchema, undefined>;
|
|
60
|
+
} & {
|
|
61
|
+
autocomplete: v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
62
|
+
'legacy-mode': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
63
|
+
'format-title': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
23
64
|
}, undefined>, undefined>;
|
|
24
65
|
}, undefined>, v.ObjectSchema<{
|
|
25
66
|
readonly title: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
@@ -37,9 +78,109 @@ declare const ChoiceSchema: v.StrictObjectSchema<{
|
|
|
37
78
|
readonly choices: v.NullishSchema<v.UnionSchema<[v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>], undefined>, undefined>;
|
|
38
79
|
readonly 'choices-order': v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
39
80
|
readonly 'component-params': v.NullishSchema<v.StrictObjectSchema<{
|
|
40
|
-
readonly
|
|
41
|
-
readonly '
|
|
42
|
-
readonly
|
|
81
|
+
readonly coordinates: v.NullishSchema<v.AnySchema, undefined>;
|
|
82
|
+
readonly 'later-pages': v.NullishSchema<v.AnySchema, undefined>;
|
|
83
|
+
readonly fontSize: v.NullishSchema<v.AnySchema, undefined>;
|
|
84
|
+
readonly fontName: v.NullishSchema<v.AnySchema, undefined>;
|
|
85
|
+
readonly leading: v.NullishSchema<v.AnySchema, undefined>;
|
|
86
|
+
readonly textColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
87
|
+
readonly backColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
88
|
+
readonly bold: v.NullishSchema<v.AnySchema, undefined>;
|
|
89
|
+
readonly format: v.NullishSchema<v.AnySchema, undefined>;
|
|
90
|
+
readonly emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
91
|
+
readonly ignore_emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
92
|
+
readonly cell_valign: v.NullishSchema<v.AnySchema, undefined>;
|
|
93
|
+
readonly position: v.NullishSchema<v.AnySchema, undefined>;
|
|
94
|
+
readonly attachment_retrieval: v.NullishSchema<v.AnySchema, undefined>;
|
|
95
|
+
} & {
|
|
96
|
+
autocomplete: v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
97
|
+
'legacy-mode': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
98
|
+
'format-title': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
99
|
+
}, undefined> | v.LooseObjectSchema<{
|
|
100
|
+
readonly coordinates: v.NullishSchema<v.AnySchema, undefined>;
|
|
101
|
+
readonly 'later-pages': v.NullishSchema<v.AnySchema, undefined>;
|
|
102
|
+
readonly fontSize: v.NullishSchema<v.AnySchema, undefined>;
|
|
103
|
+
readonly fontName: v.NullishSchema<v.AnySchema, undefined>;
|
|
104
|
+
readonly leading: v.NullishSchema<v.AnySchema, undefined>;
|
|
105
|
+
readonly textColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
106
|
+
readonly backColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
107
|
+
readonly bold: v.NullishSchema<v.AnySchema, undefined>;
|
|
108
|
+
readonly format: v.NullishSchema<v.AnySchema, undefined>;
|
|
109
|
+
readonly emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
110
|
+
readonly ignore_emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
111
|
+
readonly cell_valign: v.NullishSchema<v.AnySchema, undefined>;
|
|
112
|
+
readonly position: v.NullishSchema<v.AnySchema, undefined>;
|
|
113
|
+
readonly attachment_retrieval: v.NullishSchema<v.AnySchema, undefined>;
|
|
114
|
+
} & {
|
|
115
|
+
autocomplete: v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
116
|
+
'legacy-mode': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
117
|
+
'format-title': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
118
|
+
}, undefined>, undefined>;
|
|
119
|
+
}, undefined>>>]>;
|
|
120
|
+
'default-value': v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
121
|
+
'choices-source-fn': v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
122
|
+
}, undefined> | v.LooseObjectSchema<{
|
|
123
|
+
readonly attribute: v.NullishSchema<v.AnySchema, undefined>;
|
|
124
|
+
readonly sources: v.NullishSchema<v.AnySchema, undefined>;
|
|
125
|
+
readonly 'value-constructor': v.NullishSchema<v.AnySchema, undefined>;
|
|
126
|
+
readonly datatype: v.NullishSchema<v.AnySchema, undefined>;
|
|
127
|
+
readonly 'is-display-field': v.NullishSchema<v.AnySchema, undefined>;
|
|
128
|
+
readonly 'default-on-empty': v.NullishSchema<v.AnySchema, undefined>;
|
|
129
|
+
} & {
|
|
130
|
+
'user-input-mode': v.PicklistSchema<["noinput", "optional", "required"], undefined>;
|
|
131
|
+
display: v.SchemaWithPipe<readonly [v.RecordSchema<v.StringSchema<undefined>, v.AnySchema, undefined>, v.RawCheckAction<import("../common.js").DisplayType<v.ObjectSchema<{
|
|
132
|
+
readonly title: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
133
|
+
readonly title_md: v.NullishSchema<v.NumberSchema<undefined>, undefined>;
|
|
134
|
+
readonly value_md: v.NullishSchema<v.NumberSchema<undefined>, undefined>;
|
|
135
|
+
readonly hint: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
136
|
+
readonly hint_md: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
137
|
+
readonly template_hint: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
138
|
+
readonly example: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
139
|
+
readonly layout: v.NullishSchema<v.StrictObjectSchema<{
|
|
140
|
+
readonly md: v.StringSchema<undefined>;
|
|
141
|
+
}, undefined>, undefined>;
|
|
142
|
+
} & {
|
|
143
|
+
readonly component: v.LiteralSchema<"choice", undefined>;
|
|
144
|
+
readonly choices: v.NullishSchema<v.UnionSchema<[v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>], undefined>, undefined>;
|
|
145
|
+
readonly 'choices-order': v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
146
|
+
readonly 'component-params': v.NullishSchema<v.StrictObjectSchema<{
|
|
147
|
+
readonly coordinates: v.NullishSchema<v.AnySchema, undefined>;
|
|
148
|
+
readonly 'later-pages': v.NullishSchema<v.AnySchema, undefined>;
|
|
149
|
+
readonly fontSize: v.NullishSchema<v.AnySchema, undefined>;
|
|
150
|
+
readonly fontName: v.NullishSchema<v.AnySchema, undefined>;
|
|
151
|
+
readonly leading: v.NullishSchema<v.AnySchema, undefined>;
|
|
152
|
+
readonly textColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
153
|
+
readonly backColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
154
|
+
readonly bold: v.NullishSchema<v.AnySchema, undefined>;
|
|
155
|
+
readonly format: v.NullishSchema<v.AnySchema, undefined>;
|
|
156
|
+
readonly emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
157
|
+
readonly ignore_emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
158
|
+
readonly cell_valign: v.NullishSchema<v.AnySchema, undefined>;
|
|
159
|
+
readonly position: v.NullishSchema<v.AnySchema, undefined>;
|
|
160
|
+
readonly attachment_retrieval: v.NullishSchema<v.AnySchema, undefined>;
|
|
161
|
+
} & {
|
|
162
|
+
autocomplete: v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
163
|
+
'legacy-mode': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
164
|
+
'format-title': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
165
|
+
}, undefined> | v.LooseObjectSchema<{
|
|
166
|
+
readonly coordinates: v.NullishSchema<v.AnySchema, undefined>;
|
|
167
|
+
readonly 'later-pages': v.NullishSchema<v.AnySchema, undefined>;
|
|
168
|
+
readonly fontSize: v.NullishSchema<v.AnySchema, undefined>;
|
|
169
|
+
readonly fontName: v.NullishSchema<v.AnySchema, undefined>;
|
|
170
|
+
readonly leading: v.NullishSchema<v.AnySchema, undefined>;
|
|
171
|
+
readonly textColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
172
|
+
readonly backColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
173
|
+
readonly bold: v.NullishSchema<v.AnySchema, undefined>;
|
|
174
|
+
readonly format: v.NullishSchema<v.AnySchema, undefined>;
|
|
175
|
+
readonly emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
176
|
+
readonly ignore_emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
177
|
+
readonly cell_valign: v.NullishSchema<v.AnySchema, undefined>;
|
|
178
|
+
readonly position: v.NullishSchema<v.AnySchema, undefined>;
|
|
179
|
+
readonly attachment_retrieval: v.NullishSchema<v.AnySchema, undefined>;
|
|
180
|
+
} & {
|
|
181
|
+
autocomplete: v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
182
|
+
'legacy-mode': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
183
|
+
'format-title': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
43
184
|
}, undefined>, undefined>;
|
|
44
185
|
}, undefined>, v.ObjectSchema<{
|
|
45
186
|
readonly title: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
@@ -57,15 +198,47 @@ declare const ChoiceSchema: v.StrictObjectSchema<{
|
|
|
57
198
|
readonly choices: v.NullishSchema<v.UnionSchema<[v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>], undefined>, undefined>;
|
|
58
199
|
readonly 'choices-order': v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
59
200
|
readonly 'component-params': v.NullishSchema<v.StrictObjectSchema<{
|
|
60
|
-
readonly
|
|
61
|
-
readonly '
|
|
62
|
-
readonly
|
|
201
|
+
readonly coordinates: v.NullishSchema<v.AnySchema, undefined>;
|
|
202
|
+
readonly 'later-pages': v.NullishSchema<v.AnySchema, undefined>;
|
|
203
|
+
readonly fontSize: v.NullishSchema<v.AnySchema, undefined>;
|
|
204
|
+
readonly fontName: v.NullishSchema<v.AnySchema, undefined>;
|
|
205
|
+
readonly leading: v.NullishSchema<v.AnySchema, undefined>;
|
|
206
|
+
readonly textColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
207
|
+
readonly backColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
208
|
+
readonly bold: v.NullishSchema<v.AnySchema, undefined>;
|
|
209
|
+
readonly format: v.NullishSchema<v.AnySchema, undefined>;
|
|
210
|
+
readonly emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
211
|
+
readonly ignore_emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
212
|
+
readonly cell_valign: v.NullishSchema<v.AnySchema, undefined>;
|
|
213
|
+
readonly position: v.NullishSchema<v.AnySchema, undefined>;
|
|
214
|
+
readonly attachment_retrieval: v.NullishSchema<v.AnySchema, undefined>;
|
|
215
|
+
} & {
|
|
216
|
+
autocomplete: v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
217
|
+
'legacy-mode': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
218
|
+
'format-title': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
219
|
+
}, undefined> | v.LooseObjectSchema<{
|
|
220
|
+
readonly coordinates: v.NullishSchema<v.AnySchema, undefined>;
|
|
221
|
+
readonly 'later-pages': v.NullishSchema<v.AnySchema, undefined>;
|
|
222
|
+
readonly fontSize: v.NullishSchema<v.AnySchema, undefined>;
|
|
223
|
+
readonly fontName: v.NullishSchema<v.AnySchema, undefined>;
|
|
224
|
+
readonly leading: v.NullishSchema<v.AnySchema, undefined>;
|
|
225
|
+
readonly textColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
226
|
+
readonly backColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
227
|
+
readonly bold: v.NullishSchema<v.AnySchema, undefined>;
|
|
228
|
+
readonly format: v.NullishSchema<v.AnySchema, undefined>;
|
|
229
|
+
readonly emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
230
|
+
readonly ignore_emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
231
|
+
readonly cell_valign: v.NullishSchema<v.AnySchema, undefined>;
|
|
232
|
+
readonly position: v.NullishSchema<v.AnySchema, undefined>;
|
|
233
|
+
readonly attachment_retrieval: v.NullishSchema<v.AnySchema, undefined>;
|
|
234
|
+
} & {
|
|
235
|
+
autocomplete: v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
236
|
+
'legacy-mode': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
237
|
+
'format-title': v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
|
|
63
238
|
}, undefined>, undefined>;
|
|
64
239
|
}, undefined>>>]>;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
readonly attribute: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
68
|
-
readonly datatype: v.NullishSchema<v.PicklistSchema<["choice", "string"], undefined>, undefined>;
|
|
240
|
+
'default-value': v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
241
|
+
'choices-source-fn': v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
69
242
|
}, undefined>;
|
|
70
243
|
export type ChoiceType = v.InferOutput<typeof ChoiceSchema>;
|
|
71
244
|
export type ChoiceSchemaType = v.GenericSchema<ChoiceType>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { boolean as external_valibot_boolean, literal, nullish, picklist, record, strictObject, string, union } from "valibot";
|
|
2
|
-
import { createFieldDisplay } from "../common.js";
|
|
2
|
+
import { createComponentParams, createFieldDisplay, createFieldSchema } from "../common.js";
|
|
3
3
|
const ChoiceDisplaySchema = createFieldDisplay(strictObject({
|
|
4
4
|
component: literal('choice'),
|
|
5
5
|
choices: nullish(union([
|
|
@@ -7,13 +7,13 @@ const ChoiceDisplaySchema = createFieldDisplay(strictObject({
|
|
|
7
7
|
record(string(), string())
|
|
8
8
|
])),
|
|
9
9
|
'choices-order': nullish(string()),
|
|
10
|
-
'component-params': nullish(
|
|
10
|
+
'component-params': nullish(createComponentParams({
|
|
11
11
|
autocomplete: nullish(external_valibot_boolean()),
|
|
12
12
|
'legacy-mode': nullish(external_valibot_boolean()),
|
|
13
13
|
'format-title': nullish(external_valibot_boolean())
|
|
14
14
|
}))
|
|
15
15
|
}));
|
|
16
|
-
const ChoiceSchema =
|
|
16
|
+
const ChoiceSchema = createFieldSchema({
|
|
17
17
|
'user-input-mode': picklist([
|
|
18
18
|
'noinput',
|
|
19
19
|
'optional',
|
|
@@ -21,12 +21,7 @@ const ChoiceSchema = strictObject({
|
|
|
21
21
|
]),
|
|
22
22
|
display: ChoiceDisplaySchema,
|
|
23
23
|
'default-value': nullish(string()),
|
|
24
|
-
'choices-source-fn': nullish(string())
|
|
25
|
-
attribute: nullish(string()),
|
|
26
|
-
datatype: nullish(picklist([
|
|
27
|
-
'choice',
|
|
28
|
-
'string'
|
|
29
|
-
]))
|
|
24
|
+
'choices-source-fn': nullish(string())
|
|
30
25
|
});
|
|
31
26
|
const choice = ChoiceSchema;
|
|
32
27
|
export { choice as default };
|
|
@@ -1,38 +1,13 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
2
|
import { DisplayLang } from '../common.js';
|
|
3
|
-
export declare const DisplayModeAndLangSchema: v.SchemaWithPipe<readonly [v.RecordSchema<v.
|
|
4
|
-
default?: any;
|
|
5
|
-
el?: any;
|
|
6
|
-
en?: any;
|
|
7
|
-
fr?: any;
|
|
8
|
-
}, "At least one display lang must be defined.">]>, undefined>, v.CheckAction<{
|
|
9
|
-
default?: {
|
|
10
|
-
default?: any;
|
|
11
|
-
el?: any;
|
|
12
|
-
en?: any;
|
|
13
|
-
fr?: any;
|
|
14
|
-
} | undefined;
|
|
15
|
-
web?: {
|
|
16
|
-
default?: any;
|
|
17
|
-
el?: any;
|
|
18
|
-
en?: any;
|
|
19
|
-
fr?: any;
|
|
20
|
-
} | undefined;
|
|
21
|
-
pdf?: {
|
|
22
|
-
default?: any;
|
|
23
|
-
el?: any;
|
|
24
|
-
en?: any;
|
|
25
|
-
fr?: any;
|
|
26
|
-
} | undefined;
|
|
27
|
-
}, "At least one display mode must be defined.">]>;
|
|
3
|
+
export declare const DisplayModeAndLangSchema: v.SchemaWithPipe<readonly [v.RecordSchema<v.StringSchema<undefined>, v.AnySchema, undefined>, v.RawCheckAction<Record<string, unknown>>]>;
|
|
28
4
|
type AnyGenericSchema = v.GenericSchema<unknown, unknown>;
|
|
29
|
-
export interface DisplayType<DefaultDisplaySchema extends AnyGenericSchema, WebDisplaySchema extends AnyGenericSchema = AnyGenericSchema
|
|
5
|
+
export interface DisplayType<DefaultDisplaySchema extends AnyGenericSchema, WebDisplaySchema extends AnyGenericSchema = AnyGenericSchema> {
|
|
30
6
|
default?: Partial<Record<DisplayLang, v.InferOutput<DefaultDisplaySchema> | (unknown & Record<never, never>)>>;
|
|
31
7
|
web?: Partial<Record<DisplayLang, v.InferOutput<WebDisplaySchema> | (unknown & Record<never, never>)>>;
|
|
32
|
-
pdf?: Partial<Record<DisplayLang, v.InferOutput<PdfDisplaySchema> | (unknown & Record<never, never>)>>;
|
|
33
8
|
}
|
|
34
9
|
/**
|
|
35
|
-
* Creates a field display schema with specified default
|
|
10
|
+
* Creates a field display schema with specified default display properties.
|
|
36
11
|
*
|
|
37
12
|
* Defaults are:
|
|
38
13
|
* - title
|
|
@@ -45,18 +20,7 @@ export interface DisplayType<DefaultDisplaySchema extends AnyGenericSchema, WebD
|
|
|
45
20
|
* - md
|
|
46
21
|
* - example
|
|
47
22
|
*/
|
|
48
|
-
export declare function createFieldDisplay<D extends v.ObjectEntries
|
|
49
|
-
readonly title: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
50
|
-
readonly title_md: v.NullishSchema<v.NumberSchema<undefined>, undefined>;
|
|
51
|
-
readonly value_md: v.NullishSchema<v.NumberSchema<undefined>, undefined>;
|
|
52
|
-
readonly hint: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
53
|
-
readonly hint_md: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
54
|
-
readonly template_hint: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
55
|
-
readonly example: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
56
|
-
readonly layout: v.NullishSchema<v.StrictObjectSchema<{
|
|
57
|
-
readonly md: v.StringSchema<undefined>;
|
|
58
|
-
}, undefined>, undefined>;
|
|
59
|
-
} & D, undefined>, v.ObjectSchema<{
|
|
23
|
+
export declare function createFieldDisplay<D extends v.ObjectEntries>(DefaultDisplay: v.StrictObjectSchema<D, undefined> | v.LooseObjectSchema<D, undefined>): v.SchemaWithPipe<readonly [v.RecordSchema<v.StringSchema<undefined>, v.AnySchema, undefined>, v.RawCheckAction<DisplayType<v.ObjectSchema<{
|
|
60
24
|
readonly title: v.NullishSchema<v.StringSchema<undefined>, undefined>;
|
|
61
25
|
readonly title_md: v.NullishSchema<v.NumberSchema<undefined>, undefined>;
|
|
62
26
|
readonly value_md: v.NullishSchema<v.NumberSchema<undefined>, undefined>;
|
|
@@ -79,4 +43,92 @@ export declare function createFieldDisplay<D extends v.ObjectEntries, P extends
|
|
|
79
43
|
readonly md: v.StringSchema<undefined>;
|
|
80
44
|
}, undefined>, undefined>;
|
|
81
45
|
} & D, undefined>>>]>;
|
|
46
|
+
export declare const COMMON_FIELD_ATTRS: {
|
|
47
|
+
readonly attribute: v.NullishSchema<v.AnySchema, undefined>;
|
|
48
|
+
readonly sources: v.NullishSchema<v.AnySchema, undefined>;
|
|
49
|
+
readonly 'value-constructor': v.NullishSchema<v.AnySchema, undefined>;
|
|
50
|
+
readonly datatype: v.NullishSchema<v.AnySchema, undefined>;
|
|
51
|
+
readonly 'is-display-field': v.NullishSchema<v.AnySchema, undefined>;
|
|
52
|
+
readonly 'default-on-empty': v.NullishSchema<v.AnySchema, undefined>;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Creates a field schema with common attributes pre-applied.
|
|
56
|
+
*
|
|
57
|
+
* Common attributes are backend-related concerns that the UI does not use, mostly related to PDF.
|
|
58
|
+
* Per-field entries override common ones.
|
|
59
|
+
*
|
|
60
|
+
* @param entries - Field-specific entries.
|
|
61
|
+
* @param mode - `'strict'` (default) or `'loose'` object schema.
|
|
62
|
+
*/
|
|
63
|
+
export declare function createFieldSchema<E extends v.ObjectEntries>(entries: E, mode?: 'strict' | 'loose'): v.StrictObjectSchema<{
|
|
64
|
+
readonly attribute: v.NullishSchema<v.AnySchema, undefined>;
|
|
65
|
+
readonly sources: v.NullishSchema<v.AnySchema, undefined>;
|
|
66
|
+
readonly 'value-constructor': v.NullishSchema<v.AnySchema, undefined>;
|
|
67
|
+
readonly datatype: v.NullishSchema<v.AnySchema, undefined>;
|
|
68
|
+
readonly 'is-display-field': v.NullishSchema<v.AnySchema, undefined>;
|
|
69
|
+
readonly 'default-on-empty': v.NullishSchema<v.AnySchema, undefined>;
|
|
70
|
+
} & E, undefined> | v.LooseObjectSchema<{
|
|
71
|
+
readonly attribute: v.NullishSchema<v.AnySchema, undefined>;
|
|
72
|
+
readonly sources: v.NullishSchema<v.AnySchema, undefined>;
|
|
73
|
+
readonly 'value-constructor': v.NullishSchema<v.AnySchema, undefined>;
|
|
74
|
+
readonly datatype: v.NullishSchema<v.AnySchema, undefined>;
|
|
75
|
+
readonly 'is-display-field': v.NullishSchema<v.AnySchema, undefined>;
|
|
76
|
+
readonly 'default-on-empty': v.NullishSchema<v.AnySchema, undefined>;
|
|
77
|
+
} & E, undefined>;
|
|
78
|
+
export declare const COMMON_COMPONENT_PARAMS_ATTRS: {
|
|
79
|
+
readonly coordinates: v.NullishSchema<v.AnySchema, undefined>;
|
|
80
|
+
readonly 'later-pages': v.NullishSchema<v.AnySchema, undefined>;
|
|
81
|
+
readonly fontSize: v.NullishSchema<v.AnySchema, undefined>;
|
|
82
|
+
readonly fontName: v.NullishSchema<v.AnySchema, undefined>;
|
|
83
|
+
readonly leading: v.NullishSchema<v.AnySchema, undefined>;
|
|
84
|
+
readonly textColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
85
|
+
readonly backColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
86
|
+
readonly bold: v.NullishSchema<v.AnySchema, undefined>;
|
|
87
|
+
readonly format: v.NullishSchema<v.AnySchema, undefined>;
|
|
88
|
+
readonly emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
89
|
+
readonly ignore_emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
90
|
+
readonly cell_valign: v.NullishSchema<v.AnySchema, undefined>;
|
|
91
|
+
readonly position: v.NullishSchema<v.AnySchema, undefined>;
|
|
92
|
+
readonly attachment_retrieval: v.NullishSchema<v.AnySchema, undefined>;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Creates a `component-params` schema with common attributes pre-applied.
|
|
96
|
+
*
|
|
97
|
+
* Common attributes are backend-related concerns that the UI does not use, mostly related to PDF.
|
|
98
|
+
* Per-field entries override common ones.
|
|
99
|
+
*
|
|
100
|
+
* @param entries - Field-specific entries.
|
|
101
|
+
* @param mode - `'strict'` (default) or `'loose'` object schema.
|
|
102
|
+
*/
|
|
103
|
+
export declare function createComponentParams<E extends v.ObjectEntries>(entries: E, mode?: 'strict' | 'loose'): v.StrictObjectSchema<{
|
|
104
|
+
readonly coordinates: v.NullishSchema<v.AnySchema, undefined>;
|
|
105
|
+
readonly 'later-pages': v.NullishSchema<v.AnySchema, undefined>;
|
|
106
|
+
readonly fontSize: v.NullishSchema<v.AnySchema, undefined>;
|
|
107
|
+
readonly fontName: v.NullishSchema<v.AnySchema, undefined>;
|
|
108
|
+
readonly leading: v.NullishSchema<v.AnySchema, undefined>;
|
|
109
|
+
readonly textColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
110
|
+
readonly backColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
111
|
+
readonly bold: v.NullishSchema<v.AnySchema, undefined>;
|
|
112
|
+
readonly format: v.NullishSchema<v.AnySchema, undefined>;
|
|
113
|
+
readonly emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
114
|
+
readonly ignore_emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
115
|
+
readonly cell_valign: v.NullishSchema<v.AnySchema, undefined>;
|
|
116
|
+
readonly position: v.NullishSchema<v.AnySchema, undefined>;
|
|
117
|
+
readonly attachment_retrieval: v.NullishSchema<v.AnySchema, undefined>;
|
|
118
|
+
} & E, undefined> | v.LooseObjectSchema<{
|
|
119
|
+
readonly coordinates: v.NullishSchema<v.AnySchema, undefined>;
|
|
120
|
+
readonly 'later-pages': v.NullishSchema<v.AnySchema, undefined>;
|
|
121
|
+
readonly fontSize: v.NullishSchema<v.AnySchema, undefined>;
|
|
122
|
+
readonly fontName: v.NullishSchema<v.AnySchema, undefined>;
|
|
123
|
+
readonly leading: v.NullishSchema<v.AnySchema, undefined>;
|
|
124
|
+
readonly textColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
125
|
+
readonly backColor: v.NullishSchema<v.AnySchema, undefined>;
|
|
126
|
+
readonly bold: v.NullishSchema<v.AnySchema, undefined>;
|
|
127
|
+
readonly format: v.NullishSchema<v.AnySchema, undefined>;
|
|
128
|
+
readonly emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
129
|
+
readonly ignore_emph: v.NullishSchema<v.AnySchema, undefined>;
|
|
130
|
+
readonly cell_valign: v.NullishSchema<v.AnySchema, undefined>;
|
|
131
|
+
readonly position: v.NullishSchema<v.AnySchema, undefined>;
|
|
132
|
+
readonly attachment_retrieval: v.NullishSchema<v.AnySchema, undefined>;
|
|
133
|
+
} & E, undefined>;
|
|
82
134
|
export {};
|
package/schemas/field/common.js
CHANGED
|
@@ -1,18 +1,41 @@
|
|
|
1
1
|
import { any, check, looseObject, nullish, number, pipe, rawCheck, record, safeParse, strictObject, string } from "valibot";
|
|
2
|
-
import { DisplayLangSchema, DisplayModeSchema } from "../common.js";
|
|
3
2
|
import { resolveDisplay } from "../resolve.js";
|
|
4
3
|
import { isFailureDataset } from "../../utils/index.js";
|
|
5
|
-
const
|
|
4
|
+
const KNOWN_DISPLAY_MODES = [
|
|
5
|
+
'default',
|
|
6
|
+
'web',
|
|
7
|
+
'pdf'
|
|
8
|
+
];
|
|
9
|
+
const FieldDisplayLangSchema = pipe(record(string(), any()), check((val)=>{
|
|
6
10
|
if (!val) return false;
|
|
7
11
|
if (0 === Object.keys(val).length) return false;
|
|
8
12
|
return true;
|
|
9
13
|
}, 'At least one display lang must be defined.'));
|
|
10
|
-
const DisplayModeAndLangSchema = pipe(record(
|
|
11
|
-
if (
|
|
12
|
-
|
|
13
|
-
return
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
const DisplayModeAndLangSchema = pipe(record(string(), any()), rawCheck(({ dataset, addIssue })=>{
|
|
15
|
+
if (isFailureDataset(dataset)) return;
|
|
16
|
+
const val = dataset.value;
|
|
17
|
+
if (!val || 0 === Object.keys(val).length) return void addIssue({
|
|
18
|
+
message: 'At least one display mode must be defined.'
|
|
19
|
+
});
|
|
20
|
+
for (const [key, value] of Object.entries(val)){
|
|
21
|
+
if (!KNOWN_DISPLAY_MODES.includes(key)) continue;
|
|
22
|
+
const result = safeParse(FieldDisplayLangSchema, value);
|
|
23
|
+
if (result.issues) result.issues.forEach((issue)=>{
|
|
24
|
+
addIssue({
|
|
25
|
+
message: issue.message,
|
|
26
|
+
path: issue.path,
|
|
27
|
+
input: issue.input,
|
|
28
|
+
expected: issue.expected ?? void 0,
|
|
29
|
+
received: issue.received
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}));
|
|
34
|
+
const VALIDATED_DISPLAY_MODES = [
|
|
35
|
+
'default',
|
|
36
|
+
'web'
|
|
37
|
+
];
|
|
38
|
+
function createFieldDisplay(DefaultDisplay) {
|
|
16
39
|
const baseObjectSchema = isLooseObject(DefaultDisplay) ? looseObject : strictObject;
|
|
17
40
|
const defaultDisplayContent = baseObjectSchema({
|
|
18
41
|
...FieldDisplayModeBaseSchema.entries,
|
|
@@ -22,8 +45,8 @@ function createFieldDisplay(DefaultDisplay, PdfDisplay) {
|
|
|
22
45
|
const DisplaySchema = pipe(record(string(), any()), rawCheck(({ addIssue, dataset })=>{
|
|
23
46
|
if (isFailureDataset(dataset)) return;
|
|
24
47
|
const display = dataset.value;
|
|
25
|
-
|
|
26
|
-
if (!(displayMode in display && display[displayMode])
|
|
48
|
+
VALIDATED_DISPLAY_MODES.forEach((displayMode)=>{
|
|
49
|
+
if (!(displayMode in display && display[displayMode])) return;
|
|
27
50
|
Object.keys(display[displayMode]).forEach((displayLang)=>{
|
|
28
51
|
const resolvedDisplay = resolveDisplay(displayMode, displayLang, display);
|
|
29
52
|
const displaySchema = defaultDisplaySchema;
|
|
@@ -60,4 +83,48 @@ const FieldDisplayModeBaseSchema = strictObject({
|
|
|
60
83
|
md: string()
|
|
61
84
|
}))
|
|
62
85
|
});
|
|
63
|
-
|
|
86
|
+
const COMMON_FIELD_ATTRS = {
|
|
87
|
+
attribute: nullish(any()),
|
|
88
|
+
sources: nullish(any()),
|
|
89
|
+
'value-constructor': nullish(any()),
|
|
90
|
+
datatype: nullish(any()),
|
|
91
|
+
'is-display-field': nullish(any()),
|
|
92
|
+
'default-on-empty': nullish(any())
|
|
93
|
+
};
|
|
94
|
+
function createFieldSchema(entries, mode = 'strict') {
|
|
95
|
+
if ('strict' === mode) return strictObject({
|
|
96
|
+
...COMMON_FIELD_ATTRS,
|
|
97
|
+
...entries
|
|
98
|
+
});
|
|
99
|
+
return looseObject({
|
|
100
|
+
...COMMON_FIELD_ATTRS,
|
|
101
|
+
...entries
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
const COMMON_COMPONENT_PARAMS_ATTRS = {
|
|
105
|
+
coordinates: nullish(any()),
|
|
106
|
+
'later-pages': nullish(any()),
|
|
107
|
+
fontSize: nullish(any()),
|
|
108
|
+
fontName: nullish(any()),
|
|
109
|
+
leading: nullish(any()),
|
|
110
|
+
textColor: nullish(any()),
|
|
111
|
+
backColor: nullish(any()),
|
|
112
|
+
bold: nullish(any()),
|
|
113
|
+
format: nullish(any()),
|
|
114
|
+
emph: nullish(any()),
|
|
115
|
+
ignore_emph: nullish(any()),
|
|
116
|
+
cell_valign: nullish(any()),
|
|
117
|
+
position: nullish(any()),
|
|
118
|
+
attachment_retrieval: nullish(any())
|
|
119
|
+
};
|
|
120
|
+
function createComponentParams(entries, mode = 'strict') {
|
|
121
|
+
if ('strict' === mode) return strictObject({
|
|
122
|
+
...COMMON_COMPONENT_PARAMS_ATTRS,
|
|
123
|
+
...entries
|
|
124
|
+
});
|
|
125
|
+
return looseObject({
|
|
126
|
+
...COMMON_COMPONENT_PARAMS_ATTRS,
|
|
127
|
+
...entries
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
export { COMMON_COMPONENT_PARAMS_ATTRS, COMMON_FIELD_ATTRS, DisplayModeAndLangSchema, createComponentParams, createFieldDisplay, createFieldSchema };
|