@digigov/form 2.0.0-e7d30530 → 2.0.0-eaf330f5

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 (268) hide show
  1. package/Field/FieldBase/index.js +4 -3
  2. package/Field/FieldBase.js.map +2 -2
  3. package/Field/FieldBaseContainer/index.js +19 -37
  4. package/Field/FieldBaseContainer.d.ts +1 -1
  5. package/Field/FieldBaseContainer.js.map +2 -2
  6. package/Field/FieldConditional/index.js +1 -1
  7. package/Field/FieldConditional.js.map +1 -1
  8. package/Field/index.js +1 -2
  9. package/Field/index.js.map +2 -2
  10. package/Field/types.d.ts +2 -2
  11. package/Field/utils/index.js +3 -4
  12. package/Field/utils/index.js.map +2 -2
  13. package/FieldArray/FormDialog/index.js +7 -2
  14. package/FieldArray/FormDialog.d.ts +3 -2
  15. package/FieldArray/FormDialog.js.map +2 -2
  16. package/FieldArray/__stories__/Default.d.ts +1 -1
  17. package/FieldArray/__stories__/WithExactLength.d.ts +1 -1
  18. package/FieldArray/__stories__/WithModal.d.ts +1 -1
  19. package/FieldArray/index.d.ts +1 -1
  20. package/FieldArray/index.js +88 -95
  21. package/FieldArray/index.js.map +3 -3
  22. package/FormBuilder/FormBuilder.stories.d.ts +0 -2
  23. package/FormBuilder/__stories__/AutoErrorGrouping.d.ts +1 -1
  24. package/FormBuilder/__stories__/Default.d.ts +1 -1
  25. package/FormBuilder/__stories__/ErrorGrouping.d.ts +1 -1
  26. package/FormBuilder/index.d.ts +1 -1
  27. package/FormBuilder/index.js +7 -3
  28. package/FormBuilder/index.js.map +2 -2
  29. package/FormContext/index.js +2 -6
  30. package/FormContext.d.ts +0 -1
  31. package/FormContext.js.map +2 -2
  32. package/MultiplicityField/MultiplicityField.stories.d.ts +0 -2
  33. package/MultiplicityField/__stories__/Default.d.ts +1 -1
  34. package/MultiplicityField/__stories__/PreviewDisplay.d.ts +1 -1
  35. package/MultiplicityField/__stories__/WithExactLength.d.ts +1 -1
  36. package/MultiplicityField/__stories__/WithMaxLength.d.ts +1 -1
  37. package/MultiplicityField/__stories__/WithMinAndMaxLength.d.ts +1 -1
  38. package/MultiplicityField/__stories__/WithMinLength.d.ts +1 -1
  39. package/MultiplicityField/add-objects/index.js +1 -1
  40. package/MultiplicityField/add-objects.js.map +2 -2
  41. package/MultiplicityField/index.js +2 -4
  42. package/MultiplicityField/index.js.map +2 -2
  43. package/MultiplicityField/types.d.ts +0 -1
  44. package/Questions/Questions.stories.d.ts +0 -2
  45. package/Questions/__stories__/Default.d.ts +1 -1
  46. package/cjs/Field/FieldBase/index.js +4 -3
  47. package/cjs/Field/FieldBase.js.map +2 -2
  48. package/cjs/Field/FieldBaseContainer/index.js +18 -36
  49. package/cjs/Field/FieldBaseContainer.js.map +3 -3
  50. package/cjs/Field/FieldConditional/index.js +1 -1
  51. package/cjs/Field/FieldConditional.js.map +1 -1
  52. package/cjs/Field/index.js +1 -2
  53. package/cjs/Field/index.js.map +2 -2
  54. package/cjs/Field/types.js.map +1 -1
  55. package/cjs/Field/utils/index.js +3 -4
  56. package/cjs/Field/utils/index.js.map +2 -2
  57. package/cjs/FieldArray/FormDialog/index.js +7 -2
  58. package/cjs/FieldArray/FormDialog.js.map +2 -2
  59. package/cjs/FieldArray/index.js +83 -93
  60. package/cjs/FieldArray/index.js.map +3 -3
  61. package/cjs/FormBuilder/index.js +7 -3
  62. package/cjs/FormBuilder/index.js.map +2 -2
  63. package/cjs/FormContext/index.js +2 -7
  64. package/cjs/FormContext.js.map +2 -2
  65. package/cjs/MultiplicityField/add-objects/index.js +1 -1
  66. package/cjs/MultiplicityField/add-objects.js.map +2 -2
  67. package/cjs/MultiplicityField/index.js +2 -4
  68. package/cjs/MultiplicityField/index.js.map +2 -2
  69. package/cjs/MultiplicityField/types.js.map +1 -1
  70. package/cjs/inputs/Checkboxes/index.js +1 -2
  71. package/cjs/inputs/Checkboxes/index.js.map +2 -2
  72. package/cjs/inputs/DateInput/index.js +12 -27
  73. package/cjs/inputs/DateInput/index.js.map +2 -2
  74. package/cjs/inputs/DateTimeInput/index.js +34 -55
  75. package/cjs/inputs/DateTimeInput/index.js.map +2 -2
  76. package/cjs/inputs/FileInput/index.js +26 -45
  77. package/cjs/inputs/FileInput/index.js.map +2 -2
  78. package/cjs/inputs/ImageInput/index.js +10 -41
  79. package/cjs/inputs/ImageInput/index.js.map +2 -2
  80. package/cjs/inputs/Input/inputsInputScenarios/index.js +439 -0
  81. package/cjs/inputs/Input/inputsInputScenarios.js.map +7 -0
  82. package/cjs/lazy/index.js +6 -6
  83. package/cjs/lazy.js.map +2 -2
  84. package/cjs/registry/index.js +10 -8
  85. package/cjs/registry.js.map +2 -2
  86. package/cjs/validators/index.js +10 -8
  87. package/cjs/validators/index.js.map +2 -2
  88. package/cjs/validators/utils/date/index.js +3 -21
  89. package/cjs/validators/utils/date.js.map +2 -2
  90. package/cjs/validators/utils/datetime/index.js +24 -113
  91. package/cjs/validators/utils/datetime.js.map +2 -2
  92. package/index.js +1 -1
  93. package/inputs/AutoCompleteInput/AutoComplete.stories.d.ts +0 -2
  94. package/inputs/AutoCompleteInput/__stories__/Default.d.ts +1 -1
  95. package/inputs/AutoCompleteInput/__stories__/Multiple.d.ts +1 -1
  96. package/inputs/Checkboxes/Checkboxes.stories.d.ts +0 -2
  97. package/inputs/Checkboxes/__stories__/Conditional.d.ts +1 -1
  98. package/inputs/Checkboxes/__stories__/Default.d.ts +1 -1
  99. package/inputs/Checkboxes/__stories__/WithDivider.d.ts +1 -1
  100. package/inputs/Checkboxes/index.js +1 -2
  101. package/inputs/Checkboxes/index.js.map +2 -2
  102. package/inputs/DateInput/DateInput.stories.d.ts +0 -6
  103. package/inputs/DateInput/__stories__/Default.d.ts +1 -1
  104. package/inputs/DateInput/index.js +13 -28
  105. package/inputs/DateInput/index.js.map +2 -2
  106. package/inputs/DateTimeInput/DateTimeInput.stories.d.ts +3 -10
  107. package/inputs/DateTimeInput/__stories__/Default.d.ts +1 -1
  108. package/inputs/DateTimeInput/index.js +35 -56
  109. package/inputs/DateTimeInput/index.js.map +2 -2
  110. package/inputs/FileInput/FileInput.stories.d.ts +0 -2
  111. package/inputs/FileInput/__stories__/Default.d.ts +1 -1
  112. package/inputs/FileInput/index.d.ts +1 -5
  113. package/inputs/FileInput/index.js +27 -46
  114. package/inputs/FileInput/index.js.map +2 -2
  115. package/inputs/ImageInput/ImageInput.stories.d.ts +1 -4
  116. package/inputs/ImageInput/__stories__/Default.d.ts +1 -1
  117. package/inputs/ImageInput/__stories__/MaxSize.d.ts +1 -1
  118. package/inputs/ImageInput/__stories__/WithInvalidImageDimension.d.ts +1 -1
  119. package/inputs/ImageInput/index.d.ts +1 -9
  120. package/inputs/ImageInput/index.js +11 -42
  121. package/inputs/ImageInput/index.js.map +2 -2
  122. package/inputs/Input/Input.stories.d.ts +0 -3
  123. package/inputs/Input/__stories__/AFM.d.ts +1 -1
  124. package/inputs/Input/__stories__/Boolean.d.ts +1 -1
  125. package/inputs/Input/__stories__/IBAN.d.ts +1 -1
  126. package/inputs/Input/__stories__/Integer.d.ts +1 -1
  127. package/inputs/Input/__stories__/LandlineNumber.d.ts +1 -1
  128. package/inputs/Input/__stories__/MobilePhone.d.ts +1 -1
  129. package/inputs/Input/__stories__/PhoneNumber.d.ts +1 -1
  130. package/inputs/Input/__stories__/PostalCode.d.ts +1 -1
  131. package/inputs/Input/__stories__/String.d.ts +1 -1
  132. package/inputs/Input/__stories__/StringWithTrimValidation.d.ts +1 -1
  133. package/inputs/Input/__stories__/TextWithLimit.d.ts +1 -1
  134. package/inputs/Input/inputsInputScenarios/index.js +406 -0
  135. package/inputs/{ImageInput/__stories__/logo.d → Input/inputsInputScenarios}/package.json +1 -1
  136. package/inputs/Input/inputsInputScenarios.d.ts +57 -0
  137. package/inputs/Input/inputsInputScenarios.js.map +7 -0
  138. package/inputs/Label/Label.stories.d.ts +0 -2
  139. package/inputs/Label/__stories__/Default.d.ts +1 -1
  140. package/inputs/OtpInput/OtpInput.stories.d.ts +0 -2
  141. package/inputs/OtpInput/__stories__/Default.d.ts +1 -1
  142. package/inputs/Radio/Radio.stories.d.ts +0 -2
  143. package/inputs/Radio/__stories__/Conditional.d.ts +1 -1
  144. package/inputs/Radio/__stories__/Default.d.ts +1 -1
  145. package/inputs/Radio/__stories__/WithDivider.d.ts +1 -1
  146. package/inputs/Select/Select.stories.d.ts +0 -2
  147. package/inputs/Select/__stories__/Default.d.ts +1 -1
  148. package/lazy/index.js +6 -6
  149. package/package.json +8 -8
  150. package/registry/index.js +10 -8
  151. package/src/Field/FieldBase.tsx +18 -14
  152. package/src/Field/FieldBaseContainer.tsx +51 -68
  153. package/src/Field/FieldConditional.tsx +1 -1
  154. package/src/Field/index.tsx +1 -2
  155. package/src/Field/types.tsx +2 -2
  156. package/src/Field/utils/index.ts +1 -2
  157. package/src/FieldArray/FormDialog.tsx +12 -3
  158. package/src/FieldArray/__stories__/Default.tsx +1 -1
  159. package/src/FieldArray/__stories__/WithExactLength.tsx +1 -1
  160. package/src/FieldArray/__stories__/WithModal.tsx +1 -1
  161. package/src/FieldArray/index.tsx +103 -111
  162. package/src/FormBuilder/FormBuilder.stories.js +0 -3
  163. package/src/FormBuilder/__stories__/AutoErrorGrouping.tsx +1 -1
  164. package/src/FormBuilder/__stories__/Default.tsx +1 -1
  165. package/src/FormBuilder/__stories__/ErrorGrouping.tsx +1 -1
  166. package/src/FormBuilder/index.tsx +7 -3
  167. package/src/FormBuilder/scenarios.test.tsx +1 -1
  168. package/src/FormContext.tsx +1 -5
  169. package/src/MultiplicityField/MultiplicityField.stories.js +0 -3
  170. package/src/MultiplicityField/__stories__/Default.tsx +1 -1
  171. package/src/MultiplicityField/__stories__/PreviewDisplay.tsx +1 -1
  172. package/src/MultiplicityField/__stories__/WithExactLength.tsx +1 -1
  173. package/src/MultiplicityField/__stories__/WithMaxLength.tsx +1 -1
  174. package/src/MultiplicityField/__stories__/WithMinAndMaxLength.tsx +1 -1
  175. package/src/MultiplicityField/__stories__/WithMinLength.tsx +1 -1
  176. package/src/MultiplicityField/add-objects.tsx +1 -1
  177. package/src/MultiplicityField/index.tsx +1 -3
  178. package/src/MultiplicityField/types.ts +0 -1
  179. package/src/Questions/Questions.stories.js +0 -3
  180. package/src/Questions/__stories__/Default.tsx +1 -1
  181. package/src/inputs/AutoCompleteInput/AutoComplete.stories.js +0 -3
  182. package/src/inputs/AutoCompleteInput/__stories__/Default.tsx +1 -1
  183. package/src/inputs/AutoCompleteInput/__stories__/Multiple.tsx +1 -1
  184. package/src/inputs/Checkboxes/Checkboxes.stories.js +0 -3
  185. package/src/inputs/Checkboxes/__stories__/Conditional.tsx +1 -1
  186. package/src/inputs/Checkboxes/__stories__/Default.tsx +1 -1
  187. package/src/inputs/Checkboxes/__stories__/WithDivider.tsx +1 -1
  188. package/src/inputs/Checkboxes/index.tsx +5 -4
  189. package/src/inputs/DateInput/DateInput.stories.js +0 -7
  190. package/src/inputs/DateInput/__stories__/Default.tsx +1 -1
  191. package/src/inputs/DateInput/index.test.tsx +0 -16
  192. package/src/inputs/DateInput/index.tsx +13 -31
  193. package/src/inputs/DateTimeInput/DateTimeInput.stories.js +6 -12
  194. package/src/inputs/DateTimeInput/__stories__/Default.tsx +1 -1
  195. package/src/inputs/DateTimeInput/index.test.tsx +0 -16
  196. package/src/inputs/DateTimeInput/index.tsx +35 -59
  197. package/src/inputs/FileInput/FileInput.stories.js +0 -3
  198. package/src/inputs/FileInput/__stories__/Default.tsx +1 -1
  199. package/src/inputs/FileInput/index.tsx +39 -72
  200. package/src/inputs/ImageInput/ImageInput.stories.js +1 -5
  201. package/src/inputs/ImageInput/__stories__/Default.tsx +1 -1
  202. package/src/inputs/ImageInput/__stories__/MaxSize.tsx +2 -3
  203. package/src/inputs/ImageInput/__stories__/WithInvalidImageDimension.tsx +1 -1
  204. package/src/inputs/ImageInput/index.test.tsx +0 -4
  205. package/src/inputs/ImageInput/index.tsx +48 -100
  206. package/src/inputs/Input/Input.stories.js +0 -4
  207. package/src/inputs/Input/__stories__/AFM.tsx +1 -1
  208. package/src/inputs/Input/__stories__/Boolean.tsx +1 -1
  209. package/src/inputs/Input/__stories__/IBAN.tsx +1 -1
  210. package/src/inputs/Input/__stories__/Integer.tsx +1 -1
  211. package/src/inputs/Input/__stories__/LandlineNumber.tsx +1 -1
  212. package/src/inputs/Input/__stories__/MobilePhone.tsx +1 -1
  213. package/src/inputs/Input/__stories__/PhoneNumber.tsx +1 -1
  214. package/src/inputs/Input/__stories__/PostalCode.tsx +1 -1
  215. package/src/inputs/Input/__stories__/String.tsx +1 -1
  216. package/src/inputs/Input/__stories__/StringWithTrimValidation.tsx +1 -1
  217. package/src/inputs/Input/__stories__/TextWithLimit.tsx +1 -1
  218. package/src/inputs/Input/index.test.tsx +0 -8
  219. package/src/inputs/Input/inputsInputScenarios.ts +404 -0
  220. package/src/inputs/Label/Label.stories.js +0 -3
  221. package/src/inputs/Label/__stories__/Default.tsx +1 -1
  222. package/src/inputs/OtpInput/OtpInput.stories.js +0 -3
  223. package/src/inputs/OtpInput/__stories__/Default.tsx +1 -1
  224. package/src/inputs/Radio/Radio.stories.js +0 -3
  225. package/src/inputs/Radio/__stories__/Conditional.tsx +1 -1
  226. package/src/inputs/Radio/__stories__/Default.tsx +1 -1
  227. package/src/inputs/Radio/__stories__/WithDivider.tsx +1 -1
  228. package/src/inputs/Select/Select.stories.js +0 -3
  229. package/src/inputs/Select/__stories__/Default.tsx +1 -1
  230. package/src/lazy.js +6 -6
  231. package/src/registry.js +10 -8
  232. package/src/validators/index.ts +13 -13
  233. package/src/validators/utils/date.ts +4 -23
  234. package/src/validators/utils/datetime.ts +29 -116
  235. package/validators/index.js +10 -8
  236. package/validators/index.js.map +2 -2
  237. package/validators/utils/date/index.js +3 -21
  238. package/validators/utils/date.d.ts +1 -1
  239. package/validators/utils/date.js.map +2 -2
  240. package/validators/utils/datetime/index.js +24 -113
  241. package/validators/utils/datetime.d.ts +1 -1
  242. package/validators/utils/datetime.js.map +2 -2
  243. package/cjs/inputs/ImageInput/__stories__/logo.d/index.js +0 -1
  244. package/cjs/inputs/ImageInput/__stories__/logo.d.js.map +0 -7
  245. package/inputs/DateInput/__stories__/WithDefaultValue.d.ts +0 -3
  246. package/inputs/DateInput/__stories__/WithInitialValue.d.ts +0 -3
  247. package/inputs/DateInput/__stories__/WithWrongDefaultValue.d.ts +0 -3
  248. package/inputs/DateInput/__stories__/WithWrongInitialValue.d.ts +0 -3
  249. package/inputs/DateTimeInput/__stories__/WithDefaultValue.d.ts +0 -3
  250. package/inputs/DateTimeInput/__stories__/WithInitialValue.d.ts +0 -3
  251. package/inputs/DateTimeInput/__stories__/WithWrongDefaultValue.d.ts +0 -3
  252. package/inputs/DateTimeInput/__stories__/WithWrongInitialValue.d.ts +0 -3
  253. package/inputs/ImageInput/__stories__/WithInitialValues.d.ts +0 -3
  254. package/inputs/ImageInput/__stories__/logo.d/index.js +0 -1
  255. package/inputs/ImageInput/__stories__/logo.d.js.map +0 -7
  256. package/inputs/Input/__stories__/Email.d.ts +0 -3
  257. package/src/inputs/DateInput/__stories__/WithDefaultValue.tsx +0 -26
  258. package/src/inputs/DateInput/__stories__/WithInitialValue.tsx +0 -28
  259. package/src/inputs/DateInput/__stories__/WithWrongDefaultValue.tsx +0 -26
  260. package/src/inputs/DateInput/__stories__/WithWrongInitialValue.tsx +0 -28
  261. package/src/inputs/DateTimeInput/__stories__/WithDefaultValue.tsx +0 -26
  262. package/src/inputs/DateTimeInput/__stories__/WithInitialValue.tsx +0 -28
  263. package/src/inputs/DateTimeInput/__stories__/WithWrongDefaultValue.tsx +0 -26
  264. package/src/inputs/DateTimeInput/__stories__/WithWrongInitialValue.tsx +0 -28
  265. package/src/inputs/ImageInput/__stories__/WithInitialValues.tsx +0 -45
  266. package/src/inputs/ImageInput/__stories__/logo.d.ts +0 -4
  267. package/src/inputs/ImageInput/__stories__/logo.png +0 -0
  268. package/src/inputs/Input/__stories__/Email.tsx +0 -23
@@ -0,0 +1,404 @@
1
+ import el from '@digigov/form/locales/el';
2
+
3
+ const INPUTS_INPUT_FIELDS = [
4
+ {
5
+ key: 'location',
6
+ type: 'string',
7
+ label: {
8
+ primary: 'Συμπληρώστε τον τόπο κατοικίας σας',
9
+ },
10
+ required: true,
11
+ },
12
+ {
13
+ key: 'text',
14
+ type: 'text',
15
+ required: true,
16
+ label: {
17
+ primary: 'Συμπληρώστε το αίτημά σας',
18
+ },
19
+ },
20
+ {
21
+ key: 'email',
22
+ type: 'email',
23
+ label: {
24
+ primary: 'Διεύθυνση ηλεκτρονικού ταχυδρομείου (email)',
25
+ },
26
+ required: true,
27
+ },
28
+ {
29
+ key: 'desired-mount',
30
+ type: 'number',
31
+ label: {
32
+ primary: 'Συμπληρώστε το ποσό που σας ενδιαφέρει',
33
+ },
34
+ required: true,
35
+ },
36
+ {
37
+ key: 'age',
38
+ type: 'int',
39
+ required: true,
40
+ label: {
41
+ primary: 'Ποιά είναι η ηλικία σας;',
42
+ secondary: 'Καταχωρίστε την ηλικία σας',
43
+ },
44
+ },
45
+ {
46
+ key: 'afm',
47
+ type: 'afm',
48
+ required: true,
49
+ label: { primary: 'ΑΦΜ' },
50
+ },
51
+ {
52
+ key: 'iban',
53
+ type: 'iban',
54
+ label: {
55
+ primary: 'Συμπληρώστε το αριθμό του τραπεζικού σας λογαριασμού',
56
+ },
57
+ required: true,
58
+ },
59
+ {
60
+ key: 'uuid4',
61
+ type: 'uuid4',
62
+ label: {
63
+ primary: 'Συμπληρώστε το uuid4',
64
+ },
65
+ required: true,
66
+ },
67
+ {
68
+ key: 'mobile-phone',
69
+ type: 'mobile_phone',
70
+ label: {
71
+ primary: 'Συμπληρώστε το κινητό σας τηλέφωνο',
72
+ },
73
+ required: true,
74
+ extra: {
75
+ countries: ['gr'],
76
+ phoneType: 'mobile',
77
+ },
78
+ },
79
+ {
80
+ key: 'phone-number',
81
+ type: 'phone_number',
82
+ label: {
83
+ primary: 'Συμπληρώστε το τηλέφωνό σας',
84
+ },
85
+ required: true,
86
+ extra: {
87
+ countries: ['gr'],
88
+ },
89
+ },
90
+ {
91
+ key: 'phone-number-landline',
92
+ type: 'phone_number',
93
+ label: {
94
+ primary: 'Συμπληρώστε το σταθερό σας τηλέφωνό',
95
+ },
96
+ required: true,
97
+ extra: {
98
+ countries: ['gr'],
99
+ phoneType: 'landline',
100
+ },
101
+ },
102
+ {
103
+ key: 'postal-code',
104
+ type: 'postal_code',
105
+ label: {
106
+ primary: 'Συμπληρώστε τον ταχυδρομικό σας κώδικα',
107
+ },
108
+ extra: { countries: ['GR'] },
109
+ required: true,
110
+ },
111
+ ];
112
+
113
+ export const scenarios = [
114
+ {
115
+ title: 'success fill for inputs Input',
116
+ describe: 'inputs Input scenario',
117
+ fields: INPUTS_INPUT_FIELDS,
118
+ fill: [
119
+ {
120
+ fieldKey: 'text',
121
+ value: 'aaaaaaa',
122
+ },
123
+ {
124
+ fieldKey: 'age',
125
+ value: '12',
126
+ },
127
+ {
128
+ fieldKey: 'email',
129
+ value: 'example@mail.com',
130
+ },
131
+ {
132
+ fieldKey: 'location',
133
+ value: 'Location1',
134
+ },
135
+ {
136
+ fieldKey: 'postal-code',
137
+ value: '42100',
138
+ },
139
+ {
140
+ fieldKey: 'afm',
141
+ value: '094536469',
142
+ },
143
+ {
144
+ fieldKey: 'desired-mount',
145
+ value: '12.5',
146
+ },
147
+ {
148
+ fieldKey: 'mobile-phone',
149
+ value: '+306900000000',
150
+ },
151
+ {
152
+ fieldKey: 'phone-number',
153
+ value: '6900000000',
154
+ },
155
+ {
156
+ fieldKey: 'phone-number-landline',
157
+ value: '2100000000',
158
+ },
159
+ {
160
+ fieldKey: 'iban',
161
+ value: 'GR3201122267115323218375195',
162
+ },
163
+ {
164
+ fieldKey: 'uuid4',
165
+ value: '1e805d00-ea67-478a-ab8b-d13ff8b38fa3',
166
+ },
167
+ ],
168
+ expect: [
169
+ {
170
+ type: 'success',
171
+ fieldKey: 'age',
172
+ text: el.form.error.required,
173
+ },
174
+ {
175
+ type: 'success',
176
+ fieldKey: 'text',
177
+ text: el.form.error.required,
178
+ },
179
+ {
180
+ type: 'success',
181
+ fieldKey: 'email',
182
+ text: el.form.error.required,
183
+ },
184
+ {
185
+ type: 'success',
186
+ fieldKey: 'location',
187
+ text: el.form.error.required,
188
+ },
189
+ {
190
+ type: 'success',
191
+ fieldKey: 'postal-code',
192
+ text: el.form.error.required,
193
+ },
194
+ {
195
+ type: 'success',
196
+ fieldKey: 'afm',
197
+ text: el.form.error.required,
198
+ },
199
+ {
200
+ type: 'success',
201
+ fieldKey: 'desired-mount',
202
+ text: el.form.error.required,
203
+ },
204
+ {
205
+ type: 'success',
206
+ fieldKey: 'mobile-phone',
207
+ text: el.form.error.required,
208
+ },
209
+ {
210
+ type: 'success',
211
+ fieldKey: 'phone-number',
212
+ text: el.form.error.required,
213
+ },
214
+ {
215
+ type: 'success',
216
+ fieldKey: 'phone-number-landline',
217
+ text: el.form.error.required,
218
+ },
219
+ {
220
+ type: 'success',
221
+ fieldKey: 'iban',
222
+ text: el.form.error.required,
223
+ },
224
+ {
225
+ type: 'success',
226
+ fieldKey: 'uuid4',
227
+ text: el.form.error.required,
228
+ },
229
+ ],
230
+ },
231
+ {
232
+ title: 'empty fill for inputs Input',
233
+ describe: 'inputs Input scenario',
234
+ fields: INPUTS_INPUT_FIELDS,
235
+ fill: [],
236
+ expect: [
237
+ {
238
+ type: 'error',
239
+ fieldKey: 'age',
240
+ text: el.form.error.required,
241
+ },
242
+ {
243
+ type: 'error',
244
+ fieldKey: 'email',
245
+ text: el.form.error.required,
246
+ },
247
+ {
248
+ type: 'error',
249
+ fieldKey: 'location',
250
+ text: el.form.error.required,
251
+ },
252
+ {
253
+ type: 'error',
254
+ fieldKey: 'postal-code',
255
+ text: el.form.error.required,
256
+ },
257
+ {
258
+ type: 'error',
259
+ fieldKey: 'afm',
260
+ text: el.form.error.required,
261
+ },
262
+ {
263
+ type: 'error',
264
+ fieldKey: 'desired-mount',
265
+ text: el.form.error.required,
266
+ },
267
+ {
268
+ type: 'error',
269
+ fieldKey: 'mobile-phone',
270
+ text: el.form.error.required,
271
+ },
272
+ {
273
+ type: 'error',
274
+ fieldKey: 'phone-number',
275
+ text: el.form.error.required,
276
+ },
277
+ {
278
+ type: 'error',
279
+ fieldKey: 'phone-number-landline',
280
+ text: el.form.error.required,
281
+ },
282
+ {
283
+ type: 'error',
284
+ fieldKey: 'iban',
285
+ text: el.form.error.required,
286
+ },
287
+ {
288
+ type: 'error',
289
+ fieldKey: 'uuid4',
290
+ text: el.form.error.required,
291
+ },
292
+ ],
293
+ },
294
+ {
295
+ title: 'incorrect types for inputs Input',
296
+ describe: 'inputs Input scenario',
297
+ fields: INPUTS_INPUT_FIELDS,
298
+ fill: [
299
+ {
300
+ fieldKey: 'age',
301
+ value: 'aa',
302
+ },
303
+ {
304
+ fieldKey: 'email',
305
+ value: '23232',
306
+ },
307
+ {
308
+ fieldKey: 'location',
309
+ value: '23232',
310
+ },
311
+ {
312
+ fieldKey: 'postal-code',
313
+ value: 'aaaaa',
314
+ },
315
+ {
316
+ fieldKey: 'afm',
317
+ value: 'aaaaaaaaa',
318
+ },
319
+ {
320
+ fieldKey: 'desired-mount',
321
+ value: 'aaa',
322
+ },
323
+ {
324
+ fieldKey: 'mobile-phone',
325
+ value: '+33690000000',
326
+ },
327
+ {
328
+ fieldKey: 'phone-number',
329
+ value: '000000000',
330
+ },
331
+ {
332
+ fieldKey: 'phone-number-landline',
333
+ value: '000000000',
334
+ },
335
+ {
336
+ fieldKey: 'iban',
337
+ value: 'aaaaaa',
338
+ },
339
+ {
340
+ fieldKey: 'uuid4',
341
+ value: 'aaaaaa',
342
+ },
343
+ ],
344
+ expect: [
345
+ {
346
+ type: 'error',
347
+ fieldKey: 'age',
348
+ text: el.form.error.number,
349
+ },
350
+ {
351
+ type: 'error',
352
+ fieldKey: 'email',
353
+ text: el.form.error.email,
354
+ },
355
+ {
356
+ type: 'success',
357
+ fieldKey: 'location',
358
+ text: el.form.error.string,
359
+ },
360
+ {
361
+ type: 'error',
362
+ fieldKey: 'postal-code',
363
+ text: el.form.error.postalCode,
364
+ },
365
+ {
366
+ type: 'error',
367
+ fieldKey: 'afm',
368
+ text: el.form.error.afm,
369
+ },
370
+ {
371
+ type: 'error',
372
+ fieldKey: 'desired-mount',
373
+ text: el.form.error.number,
374
+ },
375
+ {
376
+ type: 'error',
377
+ fieldKey: 'mobile-phone',
378
+ text: el.form.error.mobile_phone,
379
+ },
380
+ {
381
+ type: 'error',
382
+ fieldKey: 'phone-number',
383
+ text: el.form.error.phone_number,
384
+ },
385
+ {
386
+ type: 'error',
387
+ fieldKey: 'phone-number-landline',
388
+ text: el.form.error.landline,
389
+ },
390
+ {
391
+ type: 'error',
392
+ fieldKey: 'iban',
393
+ text: el.form.error.iban,
394
+ },
395
+ {
396
+ type: 'error',
397
+ fieldKey: 'uuid4',
398
+ text: el.form.error.uuid4,
399
+ },
400
+ ],
401
+ },
402
+ ];
403
+
404
+ export default scenarios;
@@ -1,10 +1,7 @@
1
1
  import Label from '@digigov/form/inputs/Label';
2
- import doc from './doc.mdx?raw';
3
2
  export default {
4
3
  title: 'Digigov Form/inputs/Label',
5
4
  component: Label,
6
- tags: ['autodocs'],
7
- markdown: doc,
8
5
  displayName: 'Label',
9
6
  };
10
7
  export { Default } from '@digigov/form/inputs/Label/__stories__/Default';
@@ -4,7 +4,7 @@ import Field from '@digigov/form/Field';
4
4
  import Label from '@digigov/form/inputs/Label';
5
5
  import { Button } from '@digigov/ui/form/Button';
6
6
 
7
- export const Default = (_: any) => (
7
+ export const Default = () => (
8
8
  <FormBuilder
9
9
  onSubmit={(data) => {
10
10
  console.log(data);
@@ -1,10 +1,7 @@
1
1
  import OtpInput from '@digigov/form/inputs/OtpInput';
2
- import doc from './doc.mdx?raw';
3
2
  export default {
4
3
  title: 'Digigov Form/inputs/OtpInput',
5
4
  component: OtpInput,
6
- tags: ['autodocs'],
7
- markdown: doc,
8
5
  displayName: 'OtpInput',
9
6
  };
10
7
  export { Default } from '@digigov/form/inputs/OtpInput/__stories__/Default';
@@ -14,7 +14,7 @@ const FIELDS: FieldSpec[] = [
14
14
  },
15
15
  ];
16
16
 
17
- export const Default = (_: any) => (
17
+ export const Default = () => (
18
18
  <FormBuilder
19
19
  fields={FIELDS}
20
20
  onSubmit={(data) => {
@@ -1,10 +1,7 @@
1
1
  import Radio from '@digigov/form/inputs/Radio';
2
- import doc from './doc.mdx?raw';
3
2
  export default {
4
3
  title: 'Digigov Form/inputs/Radio',
5
4
  component: Radio,
6
- tags: ['autodocs'],
7
- markdown: doc,
8
5
  displayName: 'Radio',
9
6
  };
10
7
  export { Default } from '@digigov/form/inputs/Radio/__stories__/Default';
@@ -85,7 +85,7 @@ const fields: FieldSpec[] = [
85
85
  },
86
86
  ];
87
87
 
88
- export const Conditional = (_: any) => (
88
+ export const Conditional = () => (
89
89
  <FormBuilder
90
90
  onSubmit={(data) => {
91
91
  console.log(data);
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
3
  import { Button } from '@digigov/ui/form/Button';
4
4
 
5
- export const Default = (_: any) => (
5
+ export const Default = () => (
6
6
  <FormBuilder
7
7
  onSubmit={(data) => {
8
8
  console.log(data);
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
3
  import { Button } from '@digigov/ui/form/Button';
4
4
 
5
- export const WithDivider = (_: any) => (
5
+ export const WithDivider = () => (
6
6
  <FormBuilder
7
7
  onSubmit={(data) => {
8
8
  console.log(data);
@@ -1,10 +1,7 @@
1
1
  import Select from '@digigov/form/inputs/Select';
2
- import doc from './doc.mdx?raw';
3
2
  export default {
4
3
  title: 'Digigov Form/inputs/Select',
5
4
  component: Select,
6
- tags: ['autodocs'],
7
- markdown: doc,
8
5
  displayName: 'Select',
9
6
  };
10
7
  export { Default } from '@digigov/form/inputs/Select/__stories__/Default';
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import FormBuilder, { Field } from '@digigov/form';
3
3
  import { Button } from '@digigov/ui/form/Button';
4
4
 
5
- export const Default = (_: any) => (
5
+ export const Default = () => (
6
6
  <FormBuilder
7
7
  onSubmit={(data) => {
8
8
  console.log(data);
package/src/lazy.js CHANGED
@@ -4,21 +4,21 @@ export default {
4
4
  'Field': lazy(() => import('@digigov/form/Field').then((module) => ({ default: module['Field'] }))),
5
5
  'Fieldset': lazy(() => import('@digigov/form/Fieldset').then((module) => ({ default: module['Fieldset'] }))),
6
6
  'Label': lazy(() => import('@digigov/form/inputs/Label').then((module) => ({ default: module['Label'] }))),
7
- 'ErrorGroupContext': lazy(() => import('@digigov/form/Field/ErrorGroup').then((module) => ({ default: module['ErrorGroupContext'] }))),
8
- 'ErrorGroup': lazy(() => import('@digigov/form/Field/ErrorGroup').then((module) => ({ default: module['ErrorGroup'] }))),
9
- 'FieldBase': lazy(() => import('@digigov/form/Field/FieldBase').then((module) => ({ default: module['FieldBase'] }))),
10
- 'FieldBaseContainer': lazy(() => import('@digigov/form/Field/FieldBaseContainer').then((module) => ({ default: module['FieldBaseContainer'] }))),
11
- 'FieldConditional': lazy(() => import('@digigov/form/Field/FieldConditional').then((module) => ({ default: module['FieldConditional'] }))),
12
7
  'FormDialog': lazy(() => import('@digigov/form/FieldArray/FormDialog').then((module) => ({ default: module['FormDialog'] }))),
13
8
  'ArrayItemModal': lazy(() => import('@digigov/form/FieldArray/FormDialog').then((module) => ({ default: module['ArrayItemModal'] }))),
14
9
  'ArrayItemHeader': lazy(() => import('@digigov/form/FieldArray/FormDialog').then((module) => ({ default: module['ArrayItemHeader'] }))),
15
10
  'ArrayItemDisplay': lazy(() => import('@digigov/form/FieldArray/FormDialog').then((module) => ({ default: module['ArrayItemDisplay'] }))),
16
11
  'FieldArray': lazy(() => import('@digigov/form/FieldArray').then((module) => ({ default: module['FieldArray'] }))),
17
- 'FieldObject': lazy(() => import('@digigov/form/FieldObject').then((module) => ({ default: module['FieldObject'] }))),
12
+ 'ErrorGroupContext': lazy(() => import('@digigov/form/Field/ErrorGroup').then((module) => ({ default: module['ErrorGroupContext'] }))),
13
+ 'ErrorGroup': lazy(() => import('@digigov/form/Field/ErrorGroup').then((module) => ({ default: module['ErrorGroup'] }))),
14
+ 'FieldBase': lazy(() => import('@digigov/form/Field/FieldBase').then((module) => ({ default: module['FieldBase'] }))),
15
+ 'FieldBaseContainer': lazy(() => import('@digigov/form/Field/FieldBaseContainer').then((module) => ({ default: module['FieldBaseContainer'] }))),
16
+ 'FieldConditional': lazy(() => import('@digigov/form/Field/FieldConditional').then((module) => ({ default: module['FieldConditional'] }))),
18
17
  'FieldsetWithContext': lazy(() => import('@digigov/form/Fieldset/FieldsetWithContext').then((module) => ({ default: module['FieldsetWithContext'] }))),
19
18
  'FieldsetLabel': lazy(() => import('@digigov/form/Fieldset').then((module) => ({ default: module['FieldsetLabel'] }))),
20
19
  'FieldsetCaption': lazy(() => import('@digigov/form/Fieldset').then((module) => ({ default: module['FieldsetCaption'] }))),
21
20
  'FieldsetBody': lazy(() => import('@digigov/form/Fieldset').then((module) => ({ default: module['FieldsetBody'] }))),
21
+ 'FieldObject': lazy(() => import('@digigov/form/FieldObject').then((module) => ({ default: module['FieldObject'] }))),
22
22
  'ControlledFormBuilder': lazy(() => import('@digigov/form/FormBuilder').then((module) => ({ default: module['ControlledFormBuilder'] }))),
23
23
  'FormBase': lazy(() => import('@digigov/form/FormBuilder').then((module) => ({ default: module['FormBase'] }))),
24
24
  'AddObjects': lazy(() => import('@digigov/form/MultiplicityField/add-objects').then((module) => ({ default: module['AddObjects'] }))),
package/src/registry.js CHANGED
@@ -4,18 +4,18 @@ import * as _digigov_form from "@digigov/form";
4
4
  import * as _digigov_form_internal from "@digigov/form/internal";
5
5
  import * as _digigov_form_types from "@digigov/form/types";
6
6
  import * as _digigov_form_utils from "@digigov/form/utils";
7
+ import * as _digigov_form_FieldArray_FormDialog from "@digigov/form/FieldArray/FormDialog";
8
+ import * as _digigov_form_FieldArray from "@digigov/form/FieldArray";
7
9
  import * as _digigov_form_Field_ErrorGroup from "@digigov/form/Field/ErrorGroup";
8
10
  import * as _digigov_form_Field_FieldBase from "@digigov/form/Field/FieldBase";
9
11
  import * as _digigov_form_Field_FieldBaseContainer from "@digigov/form/Field/FieldBaseContainer";
10
12
  import * as _digigov_form_Field_FieldConditional from "@digigov/form/Field/FieldConditional";
11
13
  import * as _digigov_form_Field from "@digigov/form/Field";
12
14
  import * as _digigov_form_Field_types from "@digigov/form/Field/types";
13
- import * as _digigov_form_FieldArray_FormDialog from "@digigov/form/FieldArray/FormDialog";
14
- import * as _digigov_form_FieldArray from "@digigov/form/FieldArray";
15
- import * as _digigov_form_FieldObject from "@digigov/form/FieldObject";
16
15
  import * as _digigov_form_Fieldset_FieldsetWithContext from "@digigov/form/Fieldset/FieldsetWithContext";
17
16
  import * as _digigov_form_Fieldset from "@digigov/form/Fieldset";
18
17
  import * as _digigov_form_Fieldset_types from "@digigov/form/Fieldset/types";
18
+ import * as _digigov_form_FieldObject from "@digigov/form/FieldObject";
19
19
  import * as _digigov_form_FormBuilder from "@digigov/form/FormBuilder";
20
20
  import * as _digigov_form_MultiplicityField_add_objects from "@digigov/form/MultiplicityField/add-objects";
21
21
  import * as _digigov_form_MultiplicityField from "@digigov/form/MultiplicityField";
@@ -52,8 +52,9 @@ import * as _digigov_form_inputs_DateTimeInput from "@digigov/form/inputs/DateTi
52
52
  import * as _digigov_form_inputs_FileInput from "@digigov/form/inputs/FileInput";
53
53
  import * as _digigov_form_inputs_ImageInput from "@digigov/form/inputs/ImageInput";
54
54
  import * as _digigov_form_inputs_Input from "@digigov/form/inputs/Input";
55
- import * as _digigov_form_inputs_OtpInput from "@digigov/form/inputs/OtpInput";
55
+ import * as _digigov_form_inputs_Input_inputsInputScenarios from "@digigov/form/inputs/Input/inputsInputScenarios";
56
56
  import * as _digigov_form_inputs_Label from "@digigov/form/inputs/Label";
57
+ import * as _digigov_form_inputs_OtpInput from "@digigov/form/inputs/OtpInput";
57
58
  import * as _digigov_form_inputs_Radio from "@digigov/form/inputs/Radio";
58
59
  import * as _digigov_form_inputs_Select from "@digigov/form/inputs/Select";
59
60
  import * as _digigov_form_validators_utils_afm from "@digigov/form/validators/utils/afm";
@@ -95,18 +96,18 @@ export default {
95
96
  '@digigov/form/internal': lazyImport(_digigov_form_internal),
96
97
  '@digigov/form/types': lazyImport(_digigov_form_types),
97
98
  '@digigov/form/utils': lazyImport(_digigov_form_utils),
99
+ '@digigov/form/FieldArray/FormDialog': lazyImport(_digigov_form_FieldArray_FormDialog),
100
+ '@digigov/form/FieldArray': lazyImport(_digigov_form_FieldArray),
98
101
  '@digigov/form/Field/ErrorGroup': lazyImport(_digigov_form_Field_ErrorGroup),
99
102
  '@digigov/form/Field/FieldBase': lazyImport(_digigov_form_Field_FieldBase),
100
103
  '@digigov/form/Field/FieldBaseContainer': lazyImport(_digigov_form_Field_FieldBaseContainer),
101
104
  '@digigov/form/Field/FieldConditional': lazyImport(_digigov_form_Field_FieldConditional),
102
105
  '@digigov/form/Field': lazyImport(_digigov_form_Field),
103
106
  '@digigov/form/Field/types': lazyImport(_digigov_form_Field_types),
104
- '@digigov/form/FieldArray/FormDialog': lazyImport(_digigov_form_FieldArray_FormDialog),
105
- '@digigov/form/FieldArray': lazyImport(_digigov_form_FieldArray),
106
- '@digigov/form/FieldObject': lazyImport(_digigov_form_FieldObject),
107
107
  '@digigov/form/Fieldset/FieldsetWithContext': lazyImport(_digigov_form_Fieldset_FieldsetWithContext),
108
108
  '@digigov/form/Fieldset': lazyImport(_digigov_form_Fieldset),
109
109
  '@digigov/form/Fieldset/types': lazyImport(_digigov_form_Fieldset_types),
110
+ '@digigov/form/FieldObject': lazyImport(_digigov_form_FieldObject),
110
111
  '@digigov/form/FormBuilder': lazyImport(_digigov_form_FormBuilder),
111
112
  '@digigov/form/MultiplicityField/add-objects': lazyImport(_digigov_form_MultiplicityField_add_objects),
112
113
  '@digigov/form/MultiplicityField': lazyImport(_digigov_form_MultiplicityField),
@@ -143,8 +144,9 @@ export default {
143
144
  '@digigov/form/inputs/FileInput': lazyImport(_digigov_form_inputs_FileInput),
144
145
  '@digigov/form/inputs/ImageInput': lazyImport(_digigov_form_inputs_ImageInput),
145
146
  '@digigov/form/inputs/Input': lazyImport(_digigov_form_inputs_Input),
146
- '@digigov/form/inputs/OtpInput': lazyImport(_digigov_form_inputs_OtpInput),
147
+ '@digigov/form/inputs/Input/inputsInputScenarios': lazyImport(_digigov_form_inputs_Input_inputsInputScenarios),
147
148
  '@digigov/form/inputs/Label': lazyImport(_digigov_form_inputs_Label),
149
+ '@digigov/form/inputs/OtpInput': lazyImport(_digigov_form_inputs_OtpInput),
148
150
  '@digigov/form/inputs/Radio': lazyImport(_digigov_form_inputs_Radio),
149
151
  '@digigov/form/inputs/Select': lazyImport(_digigov_form_inputs_Select),
150
152
  '@digigov/form/validators/utils/afm': lazyImport(_digigov_form_validators_utils_afm),
@@ -36,16 +36,7 @@ export const getYUPTypeMap = (
36
36
  ): Record<string, any> => {
37
37
  const yupTypeMap = {
38
38
  file: (field): MixedSchema => {
39
- return yup
40
- .mixed()
41
- .transform((value) => {
42
- if (!value || value.length === 0) {
43
- return null;
44
- }
45
- return value;
46
- })
47
- .nullable()
48
- .test(FILE_MAX_SIZE_VALIDATOR(field));
39
+ return yup.mixed().nullable().test(FILE_MAX_SIZE_VALIDATOR(field));
49
40
  },
50
41
  string: (field): yup.StringSchema => {
51
42
  if (field.trim) {
@@ -187,12 +178,21 @@ export const getYUPTypeMap = (
187
178
  field.trim
188
179
  ? yup.string().trim().test(PHONE_NUMBER_VALIDATOR(field))
189
180
  : yup.string().test(PHONE_NUMBER_VALIDATOR(field)),
190
- 'choice:multiple': (): yup.ArraySchema<
181
+ 'choice:multiple': (
182
+ field
183
+ ): yup.ArraySchema<
191
184
  yup.StringSchema<string | undefined, AnyObject, string | undefined>,
192
185
  AnyObject,
193
186
  (string | undefined)[] | null | undefined,
194
187
  (string | undefined)[] | null | undefined
195
- > => yup.array().of(yup.string()).nullable(),
188
+ > => {
189
+ if (field.required) {
190
+ return yup.array().of(yup.string()).min(1, {
191
+ key: 'form.error.required',
192
+ });
193
+ }
194
+ return yup.array().of(yup.string()).nullable();
195
+ },
196
196
  'choice:single': (): StringSchema<
197
197
  string | null | undefined,
198
198
  AnyObject,
@@ -239,5 +239,5 @@ export function useValidationSchema(
239
239
  return useMemo(() => {
240
240
  const yupTypeMap = getYUPTypeMap(validatorRegistry);
241
241
  return getYupObjectShape(fields, yupTypeMap, validatorRegistry);
242
- }, [fields, validatorRegistry]);
242
+ }, []);
243
243
  }