@uides/stepwise 2.0.0-30d44ed9 → 2.0.0-385c7994

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.
Files changed (209) hide show
  1. package/LICENSE +0 -0
  2. package/generators/componentExtractor.d.mts +1 -0
  3. package/generators/componentReducer.d.mts +1 -0
  4. package/generators/templateGenerator.d.mts +1 -0
  5. package/index.d.ts +2 -0
  6. package/index.js +7 -0
  7. package/package.json +6 -21
  8. package/schemas/action.d.ts +2366 -0
  9. package/schemas/action.js +196 -0
  10. package/schemas/application.d.ts +19 -0
  11. package/schemas/application.js +14 -0
  12. package/schemas/attributes.d.ts +16 -0
  13. package/schemas/attributes.js +14 -0
  14. package/schemas/common.d.ts +25 -0
  15. package/schemas/common.js +41 -0
  16. package/schemas/document.d.ts +395 -0
  17. package/schemas/document.js +79 -0
  18. package/schemas/edupass-healthstate.d.ts +77 -0
  19. package/schemas/edupass-healthstate.js +76 -0
  20. package/schemas/field/afm/index.d.ts +52 -0
  21. package/schemas/field/afm/index.js +20 -0
  22. package/schemas/field/amka/index.d.ts +60 -0
  23. package/schemas/field/amka/index.js +21 -0
  24. package/schemas/field/attachment/index.d.ts +68 -0
  25. package/schemas/field/attachment/index.js +38 -0
  26. package/schemas/field/captcha/index.d.ts +48 -0
  27. package/schemas/field/captcha/index.js +15 -0
  28. package/schemas/field/choice/index.d.ts +73 -0
  29. package/schemas/field/choice/index.js +32 -0
  30. package/schemas/field/common.d.ts +82 -0
  31. package/schemas/field/common.js +63 -0
  32. package/schemas/field/consent-content/index.d.ts +68 -0
  33. package/schemas/field/consent-content/index.js +19 -0
  34. package/schemas/field/date/index.d.ts +90 -0
  35. package/schemas/field/date/index.js +42 -0
  36. package/schemas/field/doc_subtitle/index.d.ts +51 -0
  37. package/schemas/field/doc_subtitle/index.js +14 -0
  38. package/schemas/field/doc_title/index.d.ts +60 -0
  39. package/schemas/field/doc_title/index.js +21 -0
  40. package/schemas/field/dynamically-filled-text/index.d.ts +85 -0
  41. package/schemas/field/dynamically-filled-text/index.js +36 -0
  42. package/schemas/field/email/index.d.ts +60 -0
  43. package/schemas/field/email/index.js +21 -0
  44. package/schemas/field/fillable-string/index.d.ts +64 -0
  45. package/schemas/field/fillable-string/index.js +25 -0
  46. package/schemas/field/five-block-date/index.d.ts +48 -0
  47. package/schemas/field/five-block-date/index.js +15 -0
  48. package/schemas/field/hidden/index.d.ts +59 -0
  49. package/schemas/field/hidden/index.js +25 -0
  50. package/schemas/field/hierarchical-selector/index.d.ts +89 -0
  51. package/schemas/field/hierarchical-selector/index.js +35 -0
  52. package/schemas/field/iban/index.d.ts +58 -0
  53. package/schemas/field/iban/index.js +19 -0
  54. package/schemas/field/image/index.d.ts +68 -0
  55. package/schemas/field/image/index.js +36 -0
  56. package/schemas/field/image-crop/index.d.ts +59 -0
  57. package/schemas/field/image-crop/index.js +19 -0
  58. package/schemas/field/index.d.ts +48 -0
  59. package/schemas/field/index.js +167 -0
  60. package/schemas/field/int/index.d.ts +60 -0
  61. package/schemas/field/int/index.js +21 -0
  62. package/schemas/field/intl_mobile_phone/index.d.ts +49 -0
  63. package/schemas/field/intl_mobile_phone/index.js +15 -0
  64. package/schemas/field/lab-results/index.d.ts +49 -0
  65. package/schemas/field/lab-results/index.js +12 -0
  66. package/schemas/field/landline_phone/index.d.ts +48 -0
  67. package/schemas/field/landline_phone/index.js +14 -0
  68. package/schemas/field/link/index.d.ts +50 -0
  69. package/schemas/field/link/index.js +16 -0
  70. package/schemas/field/mobile_phone/index.d.ts +51 -0
  71. package/schemas/field/mobile_phone/index.js +18 -0
  72. package/schemas/field/multiple-choice/index.d.ts +70 -0
  73. package/schemas/field/multiple-choice/index.js +31 -0
  74. package/schemas/field/password/index.d.ts +48 -0
  75. package/schemas/field/password/index.js +15 -0
  76. package/schemas/field/pdf-image/index.d.ts +66 -0
  77. package/schemas/field/pdf-image/index.js +27 -0
  78. package/schemas/field/phone/index.d.ts +48 -0
  79. package/schemas/field/phone/index.js +14 -0
  80. package/schemas/field/postal_code/index.d.ts +50 -0
  81. package/schemas/field/postal_code/index.js +17 -0
  82. package/schemas/field/preference-multiple-choice/index.d.ts +90 -0
  83. package/schemas/field/preference-multiple-choice/index.js +31 -0
  84. package/schemas/field/qrcode/index.d.ts +71 -0
  85. package/schemas/field/qrcode/index.js +30 -0
  86. package/schemas/field/quote/index.d.ts +63 -0
  87. package/schemas/field/quote/index.js +30 -0
  88. package/schemas/field/radio-choice/index.d.ts +67 -0
  89. package/schemas/field/radio-choice/index.js +31 -0
  90. package/schemas/field/rate/index.d.ts +60 -0
  91. package/schemas/field/rate/index.js +18 -0
  92. package/schemas/field/recipient/index.d.ts +51 -0
  93. package/schemas/field/recipient/index.js +20 -0
  94. package/schemas/field/redirect/index.d.ts +52 -0
  95. package/schemas/field/redirect/index.js +15 -0
  96. package/schemas/field/refcode/index.d.ts +68 -0
  97. package/schemas/field/refcode/index.js +29 -0
  98. package/schemas/field/string/index.d.ts +135 -0
  99. package/schemas/field/string/index.js +80 -0
  100. package/schemas/field/text/index.d.ts +85 -0
  101. package/schemas/field/text/index.js +45 -0
  102. package/schemas/field/three-block-date/index.d.ts +64 -0
  103. package/schemas/field/three-block-date/index.js +26 -0
  104. package/schemas/field/url-param/index.d.ts +57 -0
  105. package/schemas/field/url-param/index.js +14 -0
  106. package/schemas/fieldset/component-params.d.ts +102 -0
  107. package/schemas/fieldset/component-params.js +63 -0
  108. package/schemas/fieldset/display-components.d.ts +353 -0
  109. package/schemas/fieldset/display-components.js +36 -0
  110. package/schemas/fieldset/enums.d.ts +32 -0
  111. package/schemas/fieldset/enums.js +21 -0
  112. package/schemas/fieldset/index.d.ts +180 -0
  113. package/schemas/fieldset/index.js +11 -0
  114. package/schemas/index.d.ts +15 -0
  115. package/schemas/index.js +15 -0
  116. package/schemas/layout.d.ts +91 -0
  117. package/schemas/layout.js +43 -0
  118. package/schemas/outputs.d.ts +44 -0
  119. package/schemas/outputs.js +15 -0
  120. package/schemas/resolve.d.ts +5 -0
  121. package/schemas/resolve.js +13 -0
  122. package/schemas/resource/enums.d.ts +58 -0
  123. package/schemas/resource/enums.js +41 -0
  124. package/schemas/resource/field.d.ts +15 -0
  125. package/schemas/resource/field.js +12 -0
  126. package/schemas/resource/index.d.ts +5 -0
  127. package/schemas/resource/index.js +5 -0
  128. package/schemas/resource/object-action.d.ts +30 -0
  129. package/schemas/resource/object-action.js +24 -0
  130. package/schemas/resource/resource-action.d.ts +35 -0
  131. package/schemas/resource/resource-action.js +29 -0
  132. package/schemas/resource/resource.d.ts +133 -0
  133. package/schemas/resource/resource.js +31 -0
  134. package/schemas/step.d.ts +592 -0
  135. package/schemas/step.js +115 -0
  136. package/schemas/template/index.d.ts +2 -0
  137. package/schemas/template/index.js +2 -0
  138. package/schemas/template/template-base.d.ts +53 -0
  139. package/schemas/template/template-base.js +15 -0
  140. package/schemas/template/template-source.d.ts +50 -0
  141. package/schemas/template/template-source.js +14 -0
  142. package/schemas/template/template.d.ts +54 -0
  143. package/schemas/template/template.js +22 -0
  144. package/schemas/validation-context/enums.d.ts +10 -0
  145. package/schemas/validation-context/enums.js +7 -0
  146. package/schemas/validation-context/index.d.ts +2 -0
  147. package/schemas/validation-context/index.js +2 -0
  148. package/schemas/validation-context/validation-context.d.ts +131 -0
  149. package/schemas/validation-context/validation-context.js +55 -0
  150. package/src/schemas/action.ts +15 -0
  151. package/src/schemas/common.ts +16 -0
  152. package/src/schemas/field/afm/index.ts +2 -18
  153. package/src/schemas/field/amka/index.ts +7 -2
  154. package/src/schemas/field/attachment/index.ts +12 -24
  155. package/src/schemas/field/choice/index.ts +2 -13
  156. package/src/schemas/field/common.ts +75 -51
  157. package/src/schemas/field/consent-content/index.ts +28 -0
  158. package/src/schemas/field/date/index.ts +5 -32
  159. package/src/schemas/field/doc_subtitle/index.ts +1 -0
  160. package/src/schemas/field/doc_title/index.ts +9 -16
  161. package/src/schemas/field/dynamically-filled-text/index.ts +4 -5
  162. package/src/schemas/field/email/index.ts +6 -9
  163. package/src/schemas/field/fillable-string/index.ts +1 -1
  164. package/src/schemas/field/hidden/index.ts +4 -43
  165. package/src/schemas/field/hierarchical-selector/index.ts +3 -9
  166. package/src/schemas/field/image/index.ts +5 -24
  167. package/src/schemas/field/image-crop/index.ts +25 -0
  168. package/src/schemas/field/index.spec.ts +0 -42
  169. package/src/schemas/field/index.ts +64 -12
  170. package/src/schemas/field/int/index.ts +2 -0
  171. package/src/schemas/field/intl_mobile_phone/index.ts +19 -0
  172. package/src/schemas/field/lab-results/index.ts +1 -2
  173. package/src/schemas/field/link/index.ts +20 -0
  174. package/src/schemas/field/mobile_phone/index.ts +1 -12
  175. package/src/schemas/field/multiple-choice/index.ts +4 -3
  176. package/src/schemas/field/password/index.ts +18 -0
  177. package/src/schemas/field/pdf-image/index.ts +3 -15
  178. package/src/schemas/field/phone/index.ts +18 -0
  179. package/src/schemas/field/postal_code/index.ts +1 -1
  180. package/src/schemas/field/preference-multiple-choice/index.ts +41 -0
  181. package/src/schemas/field/qrcode/index.ts +1 -0
  182. package/src/schemas/field/quote/index.ts +2 -19
  183. package/src/schemas/field/radio-choice/index.ts +1 -7
  184. package/src/schemas/field/rate/index.ts +1 -9
  185. package/src/schemas/field/recipient/index.ts +2 -2
  186. package/src/schemas/field/redirect/index.ts +4 -13
  187. package/src/schemas/field/refcode/index.ts +10 -15
  188. package/src/schemas/field/string/index.ts +13 -0
  189. package/src/schemas/field/text/index.ts +4 -18
  190. package/src/schemas/field/url-param/index.ts +23 -0
  191. package/src/schemas/resolve.ts +3 -0
  192. package/src/schemas/step.ts +2 -0
  193. package/src/schemas/template/index.ts +0 -1
  194. package/src/schemas/template/template-base.ts +0 -10
  195. package/src/schemas/template/template.ts +1 -2
  196. package/src/schemas/validation-context/enums.ts +0 -16
  197. package/src/schemas/validation-context/validation-context.ts +2 -4
  198. package/src/utils/index.ts +10 -1
  199. package/utils/index.d.ts +6 -0
  200. package/utils/index.js +55 -0
  201. package/.prettierrc.js +0 -1
  202. package/.rush/temp/chunked-rush-logs/stepwise.build.chunks.jsonl +0 -6
  203. package/.rush/temp/package-deps_build.json +0 -185
  204. package/.rush/temp/shrinkwrap-deps.json +0 -303
  205. package/eslint.config.mjs +0 -3
  206. package/rush-logs/stepwise.build.log +0 -6
  207. package/src/schemas/field/green-pass-qrcode/index.ts +0 -27
  208. package/src/schemas/template/enums.ts +0 -22
  209. package/tsconfig.json +0 -25
@@ -0,0 +1,196 @@
1
+ import { any, boolean as external_valibot_boolean, literal, looseObject, nullish, number, partial, picklist, record, strictObject, string, variant } from "valibot";
2
+ import { DisplayLangSchema, DisplayModeSchema } from "./common.js";
3
+ const RetrySpecSchema = strictObject({
4
+ retry_limit: number(),
5
+ retry_delay: number()
6
+ });
7
+ const PollSpecSchema = strictObject({
8
+ retry: RetrySpecSchema,
9
+ id_field: string(),
10
+ endpoint: string()
11
+ });
12
+ const ActionDisplayBaseSchema = strictObject({
13
+ label: nullish(string()),
14
+ icon: nullish(string()),
15
+ title: nullish(string()),
16
+ helptext: nullish(string()),
17
+ primary: nullish(external_valibot_boolean()),
18
+ url: nullish(string()),
19
+ self: nullish(external_valibot_boolean()),
20
+ confirm_title: nullish(string()),
21
+ confirm_message: nullish(string()),
22
+ confirm_confirm_label: nullish(string()),
23
+ confirm_cancel_label: nullish(string()),
24
+ warning: nullish(external_valibot_boolean()),
25
+ autocall: nullish(external_valibot_boolean()),
26
+ retry: nullish(RetrySpecSchema),
27
+ poll: nullish(PollSpecSchema)
28
+ });
29
+ function createActionDisplay(Display) {
30
+ return record(DisplayModeSchema, record(DisplayLangSchema, looseObject({
31
+ ...partial(Display).entries,
32
+ ...ActionDisplayBaseSchema.entries
33
+ })));
34
+ }
35
+ const TemporarySaveSchema = strictObject({
36
+ display: createActionDisplay(strictObject({
37
+ component: literal('document-temporary-save')
38
+ }))
39
+ });
40
+ const PdfSchema = strictObject({
41
+ display: createActionDisplay(strictObject({
42
+ component: literal('document-download-pdf')
43
+ })),
44
+ 'component-params': nullish(strictObject({
45
+ filename: string(),
46
+ sign: nullish(external_valibot_boolean())
47
+ }))
48
+ });
49
+ const ResendOtpSchema = strictObject({
50
+ display: createActionDisplay(strictObject({
51
+ component: literal('document-resend-otp')
52
+ }))
53
+ });
54
+ const ResendEmailOtpSchema = strictObject({
55
+ display: createActionDisplay(strictObject({
56
+ component: literal('document-resend-email-otp')
57
+ }))
58
+ });
59
+ const CancelSchema = strictObject({
60
+ display: createActionDisplay(strictObject({
61
+ component: literal('document-dismiss')
62
+ }))
63
+ });
64
+ const UpdateSchema = strictObject({
65
+ display: createActionDisplay(strictObject({
66
+ component: picklist([
67
+ 'document-update',
68
+ 'document-collect',
69
+ 'document-issue-collected'
70
+ ])
71
+ })),
72
+ 'component-params': nullish(strictObject({
73
+ issue: nullish(external_valibot_boolean()),
74
+ mark_submitting: nullish(external_valibot_boolean()),
75
+ 'ensure-no-input': nullish(external_valibot_boolean())
76
+ }))
77
+ });
78
+ const CreateSchema = strictObject({
79
+ display: createActionDisplay(strictObject({
80
+ component: literal('document-create')
81
+ })),
82
+ 'component-params': nullish(strictObject({
83
+ interactive: nullish(external_valibot_boolean())
84
+ }))
85
+ });
86
+ const AnonCreateSchema = strictObject({
87
+ display: createActionDisplay(strictObject({
88
+ component: literal('document-anon-create')
89
+ }))
90
+ });
91
+ const RevokeSchema = strictObject({
92
+ display: createActionDisplay(strictObject({
93
+ component: literal('document-revoke')
94
+ })),
95
+ 'component-params': nullish(strictObject({
96
+ next_step: string()
97
+ }))
98
+ });
99
+ const ShareSchema = strictObject({
100
+ display: createActionDisplay(strictObject({
101
+ component: literal('document-share')
102
+ }))
103
+ });
104
+ const EmailSchema = strictObject({
105
+ display: createActionDisplay(strictObject({
106
+ component: literal('document-email')
107
+ })),
108
+ 'component-params': nullish(strictObject({
109
+ template: string(),
110
+ email_field: string(),
111
+ subject: string()
112
+ }))
113
+ });
114
+ const SmsSchema = strictObject({
115
+ display: createActionDisplay(strictObject({
116
+ component: literal('document-sms')
117
+ })),
118
+ 'component-params': nullish(strictObject({
119
+ sms_field: string(),
120
+ template: string()
121
+ }))
122
+ });
123
+ const CommunicationSchema = strictObject({
124
+ display: createActionDisplay(strictObject({
125
+ component: literal('entity-send-message')
126
+ })),
127
+ 'component-params': nullish(strictObject({
128
+ 'contact-phone-field': string(),
129
+ 'contact-email-field': string(),
130
+ 'message-subject': nullish(string())
131
+ }))
132
+ });
133
+ const ForwardSchema = strictObject({
134
+ display: createActionDisplay(strictObject({
135
+ component: literal('entity-forward')
136
+ })),
137
+ 'component-params': nullish(strictObject({
138
+ notify_user: nullish(external_valibot_boolean()),
139
+ 'message-subject': nullish(string()),
140
+ message: nullish(string())
141
+ }))
142
+ });
143
+ const AuthorizedPdfSchema = strictObject({
144
+ display: createActionDisplay(strictObject({
145
+ component: literal('entity-print-pdf')
146
+ }))
147
+ });
148
+ const ReplySchema = strictObject({
149
+ display: createActionDisplay(strictObject({
150
+ component: picklist([
151
+ 'entity-reply',
152
+ 'hidden'
153
+ ])
154
+ })),
155
+ 'component-params': nullish(strictObject({
156
+ 'reply-templates': record(string(), any())
157
+ }))
158
+ });
159
+ const WebPrintSchema = strictObject({
160
+ display: createActionDisplay(strictObject({
161
+ component: literal('web-print')
162
+ }))
163
+ });
164
+ const NewDeclOrTempSavePreviewSchema = strictObject({
165
+ display: createActionDisplay(strictObject({
166
+ component: literal('link')
167
+ }))
168
+ });
169
+ const BackstepSchema = strictObject({
170
+ display: createActionDisplay(strictObject({
171
+ component: literal('document-backstep')
172
+ }))
173
+ });
174
+ const ActionSchema = variant('display', [
175
+ TemporarySaveSchema,
176
+ PdfSchema,
177
+ ResendOtpSchema,
178
+ ResendEmailOtpSchema,
179
+ CancelSchema,
180
+ UpdateSchema,
181
+ CreateSchema,
182
+ AnonCreateSchema,
183
+ RevokeSchema,
184
+ ShareSchema,
185
+ EmailSchema,
186
+ SmsSchema,
187
+ CommunicationSchema,
188
+ ForwardSchema,
189
+ AuthorizedPdfSchema,
190
+ ReplySchema,
191
+ WebPrintSchema,
192
+ NewDeclOrTempSavePreviewSchema,
193
+ BackstepSchema
194
+ ]);
195
+ const ActionsSchema = record(string(), ActionSchema);
196
+ export { ActionSchema, ActionsSchema, AnonCreateSchema, AuthorizedPdfSchema, BackstepSchema, CancelSchema, CommunicationSchema, CreateSchema, EmailSchema, ForwardSchema, NewDeclOrTempSavePreviewSchema, PdfSchema, ReplySchema, ResendEmailOtpSchema, ResendOtpSchema, RevokeSchema, ShareSchema, SmsSchema, TemporarySaveSchema, UpdateSchema, WebPrintSchema };
@@ -0,0 +1,19 @@
1
+ import * as v from 'valibot';
2
+ /**
3
+ * As defined in application_data_schema.py
4
+ */
5
+ export declare const ApplicationDataSpecSchema: v.StrictObjectSchema<{
6
+ readonly application_name: v.StringSchema<undefined>;
7
+ readonly key_schema: v.AnySchema;
8
+ readonly data_schema: v.AnySchema;
9
+ }, undefined>;
10
+ /**
11
+ * As defined in application_schema.py
12
+ */
13
+ export declare const ApplicationSpecSchema: v.StrictObjectSchema<{
14
+ readonly TEMPLATES: v.NullishSchema<v.AnySchema, undefined>;
15
+ readonly DATASETS: v.NullishSchema<v.AnySchema, undefined>;
16
+ readonly CLAIMS: v.NullishSchema<v.AnySchema, undefined>;
17
+ readonly RESOURCES: v.NullishSchema<v.AnySchema, undefined>;
18
+ readonly APPLICATION_DATA: v.NullishSchema<v.AnySchema, undefined>;
19
+ }, undefined>;
@@ -0,0 +1,14 @@
1
+ import { any, nullish, strictObject, string } from "valibot";
2
+ const ApplicationDataSpecSchema = strictObject({
3
+ application_name: string(),
4
+ key_schema: any(),
5
+ data_schema: any()
6
+ });
7
+ const ApplicationSpecSchema = strictObject({
8
+ TEMPLATES: nullish(any()),
9
+ DATASETS: nullish(any()),
10
+ CLAIMS: nullish(any()),
11
+ RESOURCES: nullish(any()),
12
+ APPLICATION_DATA: nullish(any())
13
+ });
14
+ export { ApplicationDataSpecSchema, ApplicationSpecSchema };
@@ -0,0 +1,16 @@
1
+ import * as v from 'valibot';
2
+ /**
3
+ * All attributes that can be used.
4
+ *
5
+ * @value 'firstname' The user's first name.
6
+ * @value 'surname' The user's last name.
7
+ * @value 'afm' The user's AFM.
8
+ * @value 'adt' The user's ADT.
9
+ * @value 'adt_type' The type of the user's ADT.
10
+ * @value 'father_name' The name of the user's father.
11
+ * @value 'mother_name' The name of the user's mother.
12
+ * @value 'birth_date' The user's birth date.
13
+ * @value 'mobile_certified_login' Mobile certified login.
14
+ * @value 'mobile_certified_nnc' Mobile certified NNC.
15
+ */
16
+ export declare const AttributeSchema: v.PicklistSchema<["firstname", "surname", "afm", "adt", "adt_type", "father_name", "mother_name", "birth_date", "mobile_certified_login", "mobile_certified_nnc"], undefined>;
@@ -0,0 +1,14 @@
1
+ import { picklist } from "valibot";
2
+ const AttributeSchema = picklist([
3
+ 'firstname',
4
+ 'surname',
5
+ 'afm',
6
+ 'adt',
7
+ 'adt_type',
8
+ 'father_name',
9
+ 'mother_name',
10
+ 'birth_date',
11
+ 'mobile_certified_login',
12
+ 'mobile_certified_nnc'
13
+ ]);
14
+ export { AttributeSchema };
@@ -0,0 +1,25 @@
1
+ import * as v from 'valibot';
2
+ export declare const DisplayLangSchema: v.PicklistSchema<["default", "el", "en", "fr"], undefined>;
3
+ export type DisplayLang = v.InferOutput<typeof DisplayLangSchema>;
4
+ export declare const DisplayModeSchema: v.PicklistSchema<["default", "web", "pdf"], undefined>;
5
+ export type DisplayMode = v.InferOutput<typeof DisplayModeSchema>;
6
+ export declare const FontSchema: v.PicklistSchema<["Font-Regular", "Font-Bold", "Font-Mono", "OpenSans", "OpenSans-Bold", "OpenSans-Light"], undefined>;
7
+ /**
8
+ * Describes how user input is handled by the field.
9
+ *
10
+ * @value 'required' Required user input. No empty value allowed.
11
+ * @value 'optional' Optional user input. Field can be left empty.
12
+ * @value 'noinput' No user input allowed, like 'display'.
13
+ * @value 'display' Display only the value of the field, like 'noinput'.
14
+ */
15
+ export declare const UserInputModeSchema: v.PicklistSchema<["required", "optional", "noinput", "display"], undefined>;
16
+ export type UserInputMode = v.InferOutput<typeof UserInputModeSchema>;
17
+ export declare const ComponentLayoutSchema: v.StrictObjectSchema<{
18
+ readonly grid: v.NullishSchema<v.BooleanSchema<undefined>, undefined>;
19
+ readonly xs: v.NullishSchema<v.StringSchema<undefined>, undefined>;
20
+ readonly sm: v.NullishSchema<v.StringSchema<undefined>, undefined>;
21
+ readonly md: v.NullishSchema<v.StringSchema<undefined>, undefined>;
22
+ readonly lg: v.NullishSchema<v.StringSchema<undefined>, undefined>;
23
+ readonly xl: v.NullishSchema<v.StringSchema<undefined>, undefined>;
24
+ }, undefined>;
25
+ export declare function validateField<TInput, TKey extends keyof TInput>(key: TKey, callback: (v: TInput[TKey], values: TInput) => boolean): v.CheckAction<TInput, `Invalid field '${string}'`>;
@@ -0,0 +1,41 @@
1
+ import { boolean as external_valibot_boolean, check, nullish, picklist, strictObject, string } from "valibot";
2
+ const DisplayLangSchema = picklist([
3
+ 'default',
4
+ 'el',
5
+ 'en',
6
+ 'fr'
7
+ ]);
8
+ const DisplayModeSchema = picklist([
9
+ 'default',
10
+ 'web',
11
+ 'pdf'
12
+ ]);
13
+ const FontSchema = picklist([
14
+ 'Font-Regular',
15
+ 'Font-Bold',
16
+ 'Font-Mono',
17
+ 'OpenSans',
18
+ 'OpenSans-Bold',
19
+ 'OpenSans-Light'
20
+ ]);
21
+ const UserInputModeSchema = picklist([
22
+ 'required',
23
+ 'optional',
24
+ 'noinput',
25
+ 'display'
26
+ ]);
27
+ const ComponentLayoutSchema = strictObject({
28
+ grid: nullish(external_valibot_boolean()),
29
+ xs: nullish(string()),
30
+ sm: nullish(string()),
31
+ md: nullish(string()),
32
+ lg: nullish(string()),
33
+ xl: nullish(string())
34
+ });
35
+ function validateField(key, callback) {
36
+ return check((values)=>{
37
+ const value = values[key];
38
+ return callback(value, values);
39
+ }, `Invalid field '${key.toString()}'`);
40
+ }
41
+ export { ComponentLayoutSchema, DisplayLangSchema, DisplayModeSchema, FontSchema, UserInputModeSchema, validateField };