@digigov/form 2.0.0-0edebf87 → 2.0.0-2177f152

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 (809) hide show
  1. package/Field/FieldBase/index.js +104 -77
  2. package/Field/FieldBase.js.map +7 -0
  3. package/Field/FieldBaseContainer/index.js +29 -37
  4. package/Field/FieldBaseContainer.js.map +7 -0
  5. package/Field/FieldConditional/index.js +79 -53
  6. package/Field/FieldConditional.js.map +7 -0
  7. package/Field/index.js +102 -63
  8. package/Field/index.js.map +7 -0
  9. package/Field/types/index.js +1 -1
  10. package/Field/types.d.ts +40 -5
  11. package/Field/types.js.map +7 -0
  12. package/Field/utils/calculateField/index.js +27 -0
  13. package/{inputs/Input/__stories__/Default → Field/utils/calculateField}/package.json +1 -1
  14. package/Field/utils/calculateField.d.ts +2 -0
  15. package/Field/utils/calculateField.js.map +7 -0
  16. package/Field/utils/evaluateFieldWithConditions/index.js +26 -0
  17. package/Field/utils/evaluateFieldWithConditions/package.json +6 -0
  18. package/Field/utils/evaluateFieldWithConditions.d.ts +2 -0
  19. package/Field/utils/evaluateFieldWithConditions.js.map +7 -0
  20. package/Field/utils/index.d.ts +4 -0
  21. package/Field/utils/index.js +40 -115
  22. package/Field/utils/index.js.map +7 -0
  23. package/Field/utils/useField/index.js +51 -0
  24. package/{FormBuilder/FormBuilder → Field/utils/useField}/package.json +1 -1
  25. package/Field/utils/useField.d.ts +2 -0
  26. package/Field/utils/useField.js.map +7 -0
  27. package/FieldArray/FieldArray.stories/index.js +12 -6
  28. package/FieldArray/FieldArray.stories.d.ts +2 -2
  29. package/FieldArray/FieldArray.stories.js.map +7 -0
  30. package/FieldArray/__stories__/Default/index.js +87 -80
  31. package/FieldArray/__stories__/Default.d.ts +2 -2
  32. package/FieldArray/__stories__/Default.js.map +7 -0
  33. package/FieldArray/__stories__/WithExactLength/index.js +87 -80
  34. package/FieldArray/__stories__/WithExactLength.d.ts +2 -2
  35. package/FieldArray/__stories__/WithExactLength.js.map +7 -0
  36. package/FieldArray/index.d.ts +1 -0
  37. package/FieldArray/index.js +73 -59
  38. package/FieldArray/index.js.map +7 -0
  39. package/FieldArray/index.test.d.ts +1 -0
  40. package/FieldObject/index.d.ts +3 -0
  41. package/FieldObject/index.js +70 -52
  42. package/FieldObject/index.js.map +7 -0
  43. package/Fieldset/FieldsetWithContext/index.js +27 -31
  44. package/Fieldset/FieldsetWithContext.js.map +7 -0
  45. package/Fieldset/index.d.ts +1 -1
  46. package/Fieldset/index.js +27 -29
  47. package/Fieldset/index.js.map +7 -0
  48. package/Fieldset/types/index.js +1 -1
  49. package/Fieldset/types.d.ts +3 -2
  50. package/Fieldset/types.js.map +7 -0
  51. package/Form.stories/index.js +7 -3
  52. package/Form.stories.js.map +7 -0
  53. package/FormBuilder/FormBuilder.stories/index.js +10 -5
  54. package/FormBuilder/FormBuilder.stories.d.ts +1 -1
  55. package/FormBuilder/FormBuilder.stories.js.map +7 -0
  56. package/FormBuilder/__stories__/Default/index.js +27 -21
  57. package/FormBuilder/__stories__/Default.d.ts +2 -2
  58. package/FormBuilder/__stories__/Default.js.map +7 -0
  59. package/FormBuilder/index.d.ts +8 -1
  60. package/FormBuilder/index.js +158 -2
  61. package/FormBuilder/index.js.map +7 -0
  62. package/FormBuilder/index.test.d.ts +1 -0
  63. package/FormBuilder/scenarios.test.d.ts +88 -0
  64. package/FormContext/index.js +7 -3
  65. package/FormContext.js.map +7 -0
  66. package/MultiplicityField/MultiplicityField.stories/index.js +20 -10
  67. package/MultiplicityField/MultiplicityField.stories.d.ts +6 -6
  68. package/MultiplicityField/MultiplicityField.stories.js.map +7 -0
  69. package/MultiplicityField/__stories__/Default/index.js +90 -85
  70. package/MultiplicityField/__stories__/Default.d.ts +2 -2
  71. package/MultiplicityField/__stories__/Default.js.map +7 -0
  72. package/MultiplicityField/__stories__/PreviewDisplay/index.js +70 -78
  73. package/MultiplicityField/__stories__/PreviewDisplay.d.ts +2 -2
  74. package/MultiplicityField/__stories__/PreviewDisplay.js.map +7 -0
  75. package/MultiplicityField/__stories__/WithExactLength/index.js +87 -80
  76. package/MultiplicityField/__stories__/WithExactLength.d.ts +2 -2
  77. package/MultiplicityField/__stories__/WithExactLength.js.map +7 -0
  78. package/MultiplicityField/__stories__/WithMaxLength/index.js +90 -83
  79. package/MultiplicityField/__stories__/WithMaxLength.d.ts +2 -2
  80. package/MultiplicityField/__stories__/WithMaxLength.js.map +7 -0
  81. package/MultiplicityField/__stories__/WithMinAndMaxLength/index.js +91 -84
  82. package/MultiplicityField/__stories__/WithMinAndMaxLength.d.ts +2 -2
  83. package/MultiplicityField/__stories__/WithMinAndMaxLength.js.map +7 -0
  84. package/MultiplicityField/__stories__/WithMinLength/index.js +90 -83
  85. package/MultiplicityField/__stories__/WithMinLength.d.ts +2 -2
  86. package/MultiplicityField/__stories__/WithMinLength.js.map +7 -0
  87. package/MultiplicityField/add-objects/index.js +137 -132
  88. package/MultiplicityField/add-objects.d.ts +2 -1
  89. package/MultiplicityField/add-objects.js.map +7 -0
  90. package/MultiplicityField/index.d.ts +2 -19
  91. package/MultiplicityField/index.js +113 -106
  92. package/MultiplicityField/index.js.map +7 -0
  93. package/MultiplicityField/index.test.d.ts +1 -0
  94. package/MultiplicityField/types/index.js +1 -0
  95. package/{validators/validators.spec → MultiplicityField/types}/package.json +1 -1
  96. package/MultiplicityField/types.d.ts +18 -0
  97. package/MultiplicityField/types.js.map +7 -0
  98. package/Questions/Questions/index.js +48 -56
  99. package/Questions/Questions.js.map +7 -0
  100. package/Questions/Questions.stories/index.js +10 -5
  101. package/Questions/Questions.stories.d.ts +1 -1
  102. package/Questions/Questions.stories.js.map +7 -0
  103. package/Questions/QuestionsContext/index.js +9 -9
  104. package/Questions/QuestionsContext.d.ts +0 -1
  105. package/Questions/QuestionsContext.js.map +7 -0
  106. package/Questions/Step/ReviewStep/index.js +35 -47
  107. package/Questions/Step/ReviewStep.js.map +7 -0
  108. package/Questions/Step/Step/index.js +39 -47
  109. package/Questions/Step/Step.js.map +7 -0
  110. package/Questions/Step/StepArrayReview/index.js +41 -45
  111. package/Questions/Step/StepArrayReview.js.map +7 -0
  112. package/Questions/Step/StepContext/index.js +15 -19
  113. package/Questions/Step/StepContext.d.ts +0 -1
  114. package/Questions/Step/StepContext.js.map +7 -0
  115. package/Questions/Step/StepDescription/index.js +22 -22
  116. package/Questions/Step/StepDescription.js.map +7 -0
  117. package/Questions/Step/StepForm/index.js +33 -43
  118. package/Questions/Step/StepForm.js.map +7 -0
  119. package/Questions/Step/StepQuote/index.js +10 -9
  120. package/Questions/Step/StepQuote.js.map +7 -0
  121. package/Questions/Step/StepTitle/index.js +41 -38
  122. package/Questions/Step/StepTitle.d.ts +2 -1
  123. package/Questions/Step/StepTitle.js.map +7 -0
  124. package/Questions/Step/getAddMoreFields/index.js +28 -20
  125. package/Questions/Step/getAddMoreFields.js.map +7 -0
  126. package/Questions/Step/index.d.ts +0 -1
  127. package/Questions/Step/index.js +16 -13
  128. package/Questions/Step/index.js.map +7 -0
  129. package/Questions/Step/types/index.js +1 -1
  130. package/Questions/Step/types.d.ts +1 -0
  131. package/Questions/Step/types.js.map +7 -0
  132. package/Questions/__stories__/Default/index.js +106 -100
  133. package/Questions/__stories__/Default.d.ts +2 -2
  134. package/Questions/__stories__/Default.js.map +7 -0
  135. package/Questions/getNextStep/index.js +12 -10
  136. package/Questions/getNextStep.js.map +7 -0
  137. package/Questions/index.js +7 -3
  138. package/Questions/index.js.map +7 -0
  139. package/Questions/index.test.d.ts +1 -0
  140. package/Questions/types/index.js +1 -1
  141. package/Questions/types.d.ts +1 -0
  142. package/Questions/types.js.map +7 -0
  143. package/cjs/Field/FieldBase/index.js +136 -83
  144. package/cjs/Field/FieldBase.js.map +7 -0
  145. package/cjs/Field/FieldBaseContainer/index.js +61 -43
  146. package/cjs/Field/FieldBaseContainer.js.map +7 -0
  147. package/cjs/Field/FieldConditional/index.js +111 -59
  148. package/cjs/Field/FieldConditional.js.map +7 -0
  149. package/cjs/Field/index.js +131 -72
  150. package/cjs/Field/index.js.map +7 -0
  151. package/cjs/Field/types/index.js +16 -5
  152. package/cjs/Field/types.js.map +7 -0
  153. package/cjs/Field/utils/calculateField/index.js +50 -0
  154. package/cjs/Field/utils/calculateField.js.map +7 -0
  155. package/cjs/Field/utils/evaluateFieldWithConditions/index.js +49 -0
  156. package/cjs/Field/utils/evaluateFieldWithConditions.js.map +7 -0
  157. package/cjs/Field/utils/index.js +84 -133
  158. package/cjs/Field/utils/index.js.map +7 -0
  159. package/cjs/Field/utils/useField/index.js +74 -0
  160. package/cjs/Field/utils/useField.js.map +7 -0
  161. package/cjs/FieldArray/FieldArray.stories/index.js +46 -36
  162. package/cjs/FieldArray/FieldArray.stories.js.map +7 -0
  163. package/cjs/FieldArray/__stories__/Default/index.js +119 -89
  164. package/cjs/FieldArray/__stories__/Default.js.map +7 -0
  165. package/cjs/FieldArray/__stories__/WithExactLength/index.js +119 -89
  166. package/cjs/FieldArray/__stories__/WithExactLength.js.map +7 -0
  167. package/cjs/FieldArray/index.js +105 -65
  168. package/cjs/FieldArray/index.js.map +7 -0
  169. package/cjs/FieldObject/index.js +99 -61
  170. package/cjs/FieldObject/index.js.map +7 -0
  171. package/cjs/Fieldset/FieldsetWithContext/index.js +54 -40
  172. package/cjs/Fieldset/FieldsetWithContext.js.map +7 -0
  173. package/cjs/Fieldset/index.js +61 -39
  174. package/cjs/Fieldset/index.js.map +7 -0
  175. package/cjs/Fieldset/types/index.js +16 -5
  176. package/cjs/Fieldset/types.js.map +7 -0
  177. package/cjs/Form.stories/index.js +25 -8
  178. package/cjs/Form.stories.js.map +7 -0
  179. package/cjs/FormBuilder/FormBuilder.stories/index.js +43 -24
  180. package/cjs/FormBuilder/FormBuilder.stories.js.map +7 -0
  181. package/cjs/FormBuilder/__stories__/Default/index.js +60 -31
  182. package/cjs/FormBuilder/__stories__/Default.js.map +7 -0
  183. package/cjs/FormBuilder/index.js +194 -8
  184. package/cjs/FormBuilder/index.js.map +7 -0
  185. package/cjs/FormContext/index.js +29 -8
  186. package/cjs/FormContext.js.map +7 -0
  187. package/cjs/MultiplicityField/MultiplicityField.stories/index.js +58 -84
  188. package/cjs/MultiplicityField/MultiplicityField.stories.js.map +7 -0
  189. package/cjs/MultiplicityField/__stories__/Default/index.js +122 -94
  190. package/cjs/MultiplicityField/__stories__/Default.js.map +7 -0
  191. package/cjs/MultiplicityField/__stories__/PreviewDisplay/index.js +85 -87
  192. package/cjs/MultiplicityField/__stories__/PreviewDisplay.js.map +7 -0
  193. package/cjs/MultiplicityField/__stories__/WithExactLength/index.js +119 -89
  194. package/cjs/MultiplicityField/__stories__/WithExactLength.js.map +7 -0
  195. package/cjs/MultiplicityField/__stories__/WithMaxLength/index.js +122 -92
  196. package/cjs/MultiplicityField/__stories__/WithMaxLength.js.map +7 -0
  197. package/cjs/MultiplicityField/__stories__/WithMinAndMaxLength/index.js +123 -93
  198. package/cjs/MultiplicityField/__stories__/WithMinAndMaxLength.js.map +7 -0
  199. package/cjs/MultiplicityField/__stories__/WithMinLength/index.js +122 -92
  200. package/cjs/MultiplicityField/__stories__/WithMinLength.js.map +7 -0
  201. package/cjs/MultiplicityField/add-objects/index.js +164 -138
  202. package/cjs/MultiplicityField/add-objects.js.map +7 -0
  203. package/cjs/MultiplicityField/index.js +141 -115
  204. package/cjs/MultiplicityField/index.js.map +7 -0
  205. package/cjs/MultiplicityField/types/index.js +16 -0
  206. package/cjs/MultiplicityField/types.js.map +7 -0
  207. package/cjs/Questions/Questions/index.js +80 -65
  208. package/cjs/Questions/Questions.js.map +7 -0
  209. package/cjs/Questions/Questions.stories/index.js +43 -24
  210. package/cjs/Questions/Questions.stories.js.map +7 -0
  211. package/cjs/Questions/QuestionsContext/index.js +31 -14
  212. package/cjs/Questions/QuestionsContext.js.map +7 -0
  213. package/cjs/Questions/Step/ReviewStep/index.js +61 -56
  214. package/cjs/Questions/Step/ReviewStep.js.map +7 -0
  215. package/cjs/Questions/Step/Step/index.js +71 -56
  216. package/cjs/Questions/Step/Step.js.map +7 -0
  217. package/cjs/Questions/Step/StepArrayReview/index.js +65 -54
  218. package/cjs/Questions/Step/StepArrayReview.js.map +7 -0
  219. package/cjs/Questions/Step/StepContext/index.js +37 -24
  220. package/cjs/Questions/Step/StepContext.js.map +7 -0
  221. package/cjs/Questions/Step/StepDescription/index.js +55 -31
  222. package/cjs/Questions/Step/StepDescription.js.map +7 -0
  223. package/cjs/Questions/Step/StepForm/index.js +65 -52
  224. package/cjs/Questions/Step/StepForm.js.map +7 -0
  225. package/cjs/Questions/Step/StepQuote/index.js +42 -15
  226. package/cjs/Questions/Step/StepQuote.js.map +7 -0
  227. package/cjs/Questions/Step/StepTitle/index.js +72 -47
  228. package/cjs/Questions/Step/StepTitle.js.map +7 -0
  229. package/cjs/Questions/Step/getAddMoreFields/index.js +50 -25
  230. package/cjs/Questions/Step/getAddMoreFields.js.map +7 -0
  231. package/cjs/Questions/Step/index.js +59 -143
  232. package/cjs/Questions/Step/index.js.map +7 -0
  233. package/cjs/Questions/Step/types/index.js +16 -5
  234. package/cjs/Questions/Step/types.js.map +7 -0
  235. package/cjs/Questions/__stories__/Default/index.js +132 -109
  236. package/cjs/Questions/__stories__/Default.js.map +7 -0
  237. package/cjs/Questions/getNextStep/index.js +33 -14
  238. package/cjs/Questions/getNextStep.js.map +7 -0
  239. package/cjs/Questions/index.js +29 -19
  240. package/cjs/Questions/index.js.map +7 -0
  241. package/cjs/Questions/types/index.js +16 -5
  242. package/cjs/Questions/types.js.map +7 -0
  243. package/cjs/index.js +47 -20
  244. package/cjs/index.js.map +7 -0
  245. package/cjs/inputs/AutoCompleteInput/AutoComplete.stories/index.js +46 -36
  246. package/cjs/inputs/AutoCompleteInput/AutoComplete.stories.js.map +7 -0
  247. package/cjs/inputs/AutoCompleteInput/__stories__/Default/index.js +72 -46
  248. package/cjs/inputs/AutoCompleteInput/__stories__/Default.js.map +7 -0
  249. package/cjs/inputs/AutoCompleteInput/__stories__/Multiple/index.js +72 -47
  250. package/cjs/inputs/AutoCompleteInput/__stories__/Multiple.js.map +7 -0
  251. package/cjs/inputs/AutoCompleteInput/index.js +91 -60
  252. package/cjs/inputs/AutoCompleteInput/index.js.map +7 -0
  253. package/cjs/inputs/Checkboxes/Checkboxes.stories/index.js +49 -48
  254. package/cjs/inputs/Checkboxes/Checkboxes.stories.js.map +7 -0
  255. package/cjs/inputs/Checkboxes/__stories__/Conditional/index.js +120 -90
  256. package/cjs/inputs/Checkboxes/__stories__/Conditional.js.map +7 -0
  257. package/cjs/inputs/Checkboxes/__stories__/Default/index.js +73 -46
  258. package/cjs/inputs/Checkboxes/__stories__/Default.js.map +7 -0
  259. package/cjs/inputs/Checkboxes/__stories__/WithDivider/index.js +74 -47
  260. package/cjs/inputs/Checkboxes/__stories__/WithDivider.js.map +7 -0
  261. package/cjs/inputs/Checkboxes/index.js +100 -96
  262. package/cjs/inputs/Checkboxes/index.js.map +7 -0
  263. package/cjs/inputs/DateInput/DateInput.stories/index.js +43 -24
  264. package/cjs/inputs/DateInput/DateInput.stories.js.map +7 -0
  265. package/cjs/inputs/DateInput/__stories__/Default/index.js +51 -28
  266. package/cjs/inputs/DateInput/__stories__/Default.js.map +7 -0
  267. package/cjs/inputs/DateInput/index.js +121 -109
  268. package/cjs/inputs/DateInput/index.js.map +7 -0
  269. package/cjs/inputs/FileInput/FileInput.stories/index.js +43 -24
  270. package/cjs/inputs/FileInput/FileInput.stories.js.map +7 -0
  271. package/cjs/inputs/FileInput/__stories__/Default/index.js +57 -26
  272. package/cjs/inputs/FileInput/__stories__/Default.js.map +7 -0
  273. package/cjs/inputs/FileInput/index.js +75 -63
  274. package/cjs/inputs/FileInput/index.js.map +7 -0
  275. package/cjs/inputs/ImageInput/ImageInput.stories/index.js +49 -48
  276. package/cjs/inputs/ImageInput/ImageInput.stories.js.map +7 -0
  277. package/cjs/inputs/ImageInput/__stories__/Default/index.js +58 -33
  278. package/cjs/inputs/ImageInput/__stories__/Default.js.map +7 -0
  279. package/cjs/inputs/ImageInput/__stories__/MaxSize/index.js +69 -0
  280. package/cjs/inputs/ImageInput/__stories__/MaxSize.js.map +7 -0
  281. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +66 -40
  282. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension.js.map +7 -0
  283. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +62 -37
  284. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageSize.js.map +7 -0
  285. package/cjs/inputs/ImageInput/index.js +90 -83
  286. package/cjs/inputs/ImageInput/index.js.map +7 -0
  287. package/cjs/inputs/Input/Input.stories/index.js +70 -132
  288. package/cjs/inputs/Input/Input.stories.js.map +7 -0
  289. package/cjs/inputs/Input/__stories__/AFM/index.js +60 -29
  290. package/cjs/inputs/Input/__stories__/AFM.js.map +7 -0
  291. package/cjs/inputs/Input/__stories__/Boolean/index.js +61 -30
  292. package/cjs/inputs/Input/__stories__/Boolean.js.map +7 -0
  293. package/cjs/inputs/Input/__stories__/IBAN/index.js +61 -30
  294. package/cjs/inputs/Input/__stories__/IBAN.js.map +7 -0
  295. package/cjs/inputs/Input/__stories__/Integer/index.js +75 -38
  296. package/cjs/inputs/Input/__stories__/Integer.js.map +7 -0
  297. package/cjs/inputs/Input/__stories__/LandlineNumber/index.js +65 -33
  298. package/cjs/inputs/Input/__stories__/LandlineNumber.js.map +7 -0
  299. package/cjs/inputs/Input/__stories__/MobilePhone/index.js +65 -33
  300. package/cjs/inputs/Input/__stories__/MobilePhone.js.map +7 -0
  301. package/cjs/inputs/Input/__stories__/PhoneNumber/index.js +64 -32
  302. package/cjs/inputs/Input/__stories__/PhoneNumber.js.map +7 -0
  303. package/cjs/inputs/Input/__stories__/PostalCode/index.js +61 -31
  304. package/cjs/inputs/Input/__stories__/PostalCode.js.map +7 -0
  305. package/cjs/inputs/Input/__stories__/String/index.js +64 -0
  306. package/cjs/inputs/Input/__stories__/String.js.map +7 -0
  307. package/cjs/inputs/Input/__stories__/TextWithLimit/index.js +64 -0
  308. package/cjs/inputs/Input/__stories__/TextWithLimit.js.map +7 -0
  309. package/cjs/inputs/Input/index.js +98 -71
  310. package/cjs/inputs/Input/index.js.map +7 -0
  311. package/cjs/inputs/Input/inputsInputScenarios/index.js +439 -0
  312. package/cjs/inputs/Input/inputsInputScenarios.js.map +7 -0
  313. package/cjs/inputs/Label/Label.stories/index.js +43 -24
  314. package/cjs/inputs/Label/Label.stories.js.map +7 -0
  315. package/cjs/inputs/Label/__stories__/Default/index.js +68 -33
  316. package/cjs/inputs/Label/__stories__/Default.js.map +7 -0
  317. package/cjs/inputs/Label/index.js +45 -24
  318. package/cjs/inputs/Label/index.js.map +7 -0
  319. package/cjs/inputs/OtpInput/OtpInput.stories/index.js +43 -24
  320. package/cjs/inputs/OtpInput/OtpInput.stories.js.map +7 -0
  321. package/cjs/inputs/OtpInput/__stories__/Default/index.js +59 -34
  322. package/cjs/inputs/OtpInput/__stories__/Default.js.map +7 -0
  323. package/cjs/inputs/OtpInput/index.js +142 -113
  324. package/cjs/inputs/OtpInput/index.js.map +7 -0
  325. package/cjs/inputs/Radio/Radio.stories/index.js +49 -48
  326. package/cjs/inputs/Radio/Radio.stories.js.map +7 -0
  327. package/cjs/inputs/Radio/__stories__/Conditional/index.js +120 -90
  328. package/cjs/inputs/Radio/__stories__/Conditional.js.map +7 -0
  329. package/cjs/inputs/Radio/__stories__/Default/index.js +77 -51
  330. package/cjs/inputs/Radio/__stories__/Default.js.map +7 -0
  331. package/cjs/inputs/Radio/__stories__/WithDivider/index.js +78 -52
  332. package/cjs/inputs/Radio/__stories__/WithDivider.js.map +7 -0
  333. package/cjs/inputs/Radio/index.js +130 -61
  334. package/cjs/inputs/Radio/index.js.map +7 -0
  335. package/cjs/inputs/Select/Select.stories/index.js +43 -24
  336. package/cjs/inputs/Select/Select.stories.js.map +7 -0
  337. package/cjs/inputs/Select/__stories__/Default/index.js +82 -57
  338. package/cjs/inputs/Select/__stories__/Default.js.map +7 -0
  339. package/cjs/inputs/Select/index.js +54 -36
  340. package/cjs/inputs/Select/index.js.map +7 -0
  341. package/cjs/inputs/index.js +62 -69
  342. package/cjs/inputs/index.js.map +7 -0
  343. package/cjs/inputs/inputsScenarios/index.js +533 -0
  344. package/cjs/inputs/inputsScenarios.js.map +7 -0
  345. package/cjs/internal/index.js +36 -346
  346. package/cjs/internal.js.map +7 -0
  347. package/cjs/lazy/index.js +355 -516
  348. package/cjs/lazy.js.map +7 -0
  349. package/cjs/locales/el/index.js +35 -0
  350. package/cjs/locales/el.js.map +7 -0
  351. package/cjs/registry/index.js +260 -142
  352. package/cjs/registry.js.map +7 -0
  353. package/cjs/types/index.js +22 -5
  354. package/cjs/types.js.map +7 -0
  355. package/cjs/utils/index.js +79 -83
  356. package/cjs/utils.js.map +7 -0
  357. package/cjs/validators/index.js +115 -163
  358. package/cjs/validators/index.js.map +7 -0
  359. package/cjs/validators/types/index.js +16 -5
  360. package/cjs/validators/types.js.map +7 -0
  361. package/cjs/validators/utils/afm/index.js +38 -21
  362. package/cjs/validators/utils/afm.js.map +7 -0
  363. package/cjs/validators/utils/date/index.js +138 -0
  364. package/cjs/validators/utils/date.js.map +7 -0
  365. package/cjs/validators/utils/file/index.js +44 -39
  366. package/cjs/validators/utils/file.js.map +7 -0
  367. package/cjs/validators/utils/iban/index.js +36 -17
  368. package/cjs/validators/utils/iban.js.map +7 -0
  369. package/cjs/validators/utils/image/index.js +88 -112
  370. package/cjs/validators/utils/image.js.map +7 -0
  371. package/cjs/validators/utils/index.js +97 -159
  372. package/cjs/validators/utils/index.js.map +7 -0
  373. package/cjs/validators/utils/int/index.js +34 -12
  374. package/cjs/validators/utils/int.js.map +7 -0
  375. package/cjs/validators/utils/number/index.js +33 -11
  376. package/cjs/validators/utils/number.js.map +7 -0
  377. package/cjs/validators/utils/otp/index.js +35 -13
  378. package/cjs/validators/utils/otp.js.map +7 -0
  379. package/cjs/validators/utils/phone/index.js +113 -58
  380. package/cjs/validators/utils/phone.js.map +7 -0
  381. package/cjs/validators/utils/postal_code/index.js +36 -16
  382. package/cjs/validators/utils/postal_code.js.map +7 -0
  383. package/cjs/validators/utils/text_limit/index.js +40 -25
  384. package/cjs/validators/utils/text_limit.js.map +7 -0
  385. package/cjs/validators/utils/uuid4/index.js +34 -13
  386. package/cjs/validators/utils/uuid4.js.map +7 -0
  387. package/index.d.ts +4 -1
  388. package/index.js +13 -4
  389. package/index.js.map +7 -0
  390. package/inputs/AutoCompleteInput/AutoComplete.stories/index.js +12 -6
  391. package/inputs/AutoCompleteInput/AutoComplete.stories.d.ts +2 -2
  392. package/inputs/AutoCompleteInput/AutoComplete.stories.js.map +7 -0
  393. package/inputs/AutoCompleteInput/__stories__/Default/index.js +39 -39
  394. package/inputs/AutoCompleteInput/__stories__/Default.d.ts +2 -2
  395. package/inputs/AutoCompleteInput/__stories__/Default.js.map +7 -0
  396. package/inputs/AutoCompleteInput/__stories__/Multiple/index.js +39 -40
  397. package/inputs/AutoCompleteInput/__stories__/Multiple.d.ts +2 -2
  398. package/inputs/AutoCompleteInput/__stories__/Multiple.js.map +7 -0
  399. package/inputs/AutoCompleteInput/index.d.ts +1 -1
  400. package/inputs/AutoCompleteInput/index.js +61 -51
  401. package/inputs/AutoCompleteInput/index.js.map +7 -0
  402. package/inputs/AutoCompleteInput/index.test.d.ts +1 -0
  403. package/inputs/Checkboxes/Checkboxes.stories/index.js +14 -7
  404. package/inputs/Checkboxes/Checkboxes.stories.d.ts +3 -3
  405. package/inputs/Checkboxes/Checkboxes.stories.js.map +7 -0
  406. package/inputs/Checkboxes/__stories__/Conditional/index.js +87 -80
  407. package/inputs/Checkboxes/__stories__/Conditional.d.ts +2 -2
  408. package/inputs/Checkboxes/__stories__/Conditional.js.map +7 -0
  409. package/inputs/Checkboxes/__stories__/Default/index.js +40 -36
  410. package/inputs/Checkboxes/__stories__/Default.d.ts +2 -2
  411. package/inputs/Checkboxes/__stories__/Default.js.map +7 -0
  412. package/inputs/Checkboxes/__stories__/WithDivider/index.js +41 -37
  413. package/inputs/Checkboxes/__stories__/WithDivider.d.ts +2 -2
  414. package/inputs/Checkboxes/__stories__/WithDivider.js.map +7 -0
  415. package/inputs/Checkboxes/index.d.ts +2 -1
  416. package/inputs/Checkboxes/index.js +72 -87
  417. package/inputs/Checkboxes/index.js.map +7 -0
  418. package/inputs/Checkboxes/index.test.d.ts +1 -0
  419. package/inputs/DateInput/DateInput.stories/index.js +10 -5
  420. package/inputs/DateInput/DateInput.stories.d.ts +1 -1
  421. package/inputs/DateInput/DateInput.stories.js.map +7 -0
  422. package/inputs/DateInput/__stories__/Default/index.js +18 -18
  423. package/inputs/DateInput/__stories__/Default.d.ts +2 -2
  424. package/inputs/DateInput/__stories__/Default.js.map +7 -0
  425. package/inputs/DateInput/index.d.ts +3 -4
  426. package/inputs/DateInput/index.js +91 -99
  427. package/inputs/DateInput/index.js.map +7 -0
  428. package/inputs/DateInput/index.test.d.ts +1 -0
  429. package/inputs/FileInput/FileInput.stories/index.js +10 -5
  430. package/inputs/FileInput/FileInput.stories.d.ts +1 -1
  431. package/inputs/FileInput/FileInput.stories.js.map +7 -0
  432. package/inputs/FileInput/__stories__/Default/index.js +24 -16
  433. package/inputs/FileInput/__stories__/Default.d.ts +2 -2
  434. package/inputs/FileInput/__stories__/Default.js.map +7 -0
  435. package/inputs/FileInput/index.js +43 -54
  436. package/inputs/FileInput/index.js.map +7 -0
  437. package/inputs/FileInput/index.test.d.ts +1 -0
  438. package/inputs/ImageInput/ImageInput.stories/index.js +14 -7
  439. package/inputs/ImageInput/ImageInput.stories.d.ts +3 -3
  440. package/inputs/ImageInput/ImageInput.stories.js.map +7 -0
  441. package/inputs/ImageInput/__stories__/Default/index.js +25 -23
  442. package/inputs/ImageInput/__stories__/Default.d.ts +2 -2
  443. package/inputs/ImageInput/__stories__/Default.js.map +7 -0
  444. package/inputs/ImageInput/__stories__/MaxSize/index.js +36 -0
  445. package/inputs/ImageInput/__stories__/MaxSize/package.json +6 -0
  446. package/inputs/ImageInput/__stories__/MaxSize.d.ts +3 -0
  447. package/inputs/ImageInput/__stories__/MaxSize.js.map +7 -0
  448. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +33 -30
  449. package/inputs/ImageInput/__stories__/WithInvalidImageDimension.d.ts +2 -2
  450. package/inputs/ImageInput/__stories__/WithInvalidImageDimension.js.map +7 -0
  451. package/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +29 -27
  452. package/inputs/ImageInput/__stories__/WithInvalidImageSize.d.ts +2 -2
  453. package/inputs/ImageInput/__stories__/WithInvalidImageSize.js.map +7 -0
  454. package/inputs/ImageInput/index.js +58 -75
  455. package/inputs/ImageInput/index.js.map +7 -0
  456. package/inputs/ImageInput/index.test.d.ts +1 -0
  457. package/inputs/Input/Input.stories/index.js +28 -14
  458. package/inputs/Input/Input.stories.d.ts +10 -10
  459. package/inputs/Input/Input.stories.js.map +7 -0
  460. package/inputs/Input/__stories__/AFM/index.js +27 -19
  461. package/inputs/Input/__stories__/AFM.d.ts +2 -2
  462. package/inputs/Input/__stories__/AFM.js.map +7 -0
  463. package/inputs/Input/__stories__/Boolean/index.js +28 -20
  464. package/inputs/Input/__stories__/Boolean.d.ts +2 -2
  465. package/inputs/Input/__stories__/Boolean.js.map +7 -0
  466. package/inputs/Input/__stories__/IBAN/index.js +28 -20
  467. package/inputs/Input/__stories__/IBAN.d.ts +2 -2
  468. package/inputs/Input/__stories__/IBAN.js.map +7 -0
  469. package/inputs/Input/__stories__/Integer/index.js +43 -29
  470. package/inputs/Input/__stories__/Integer.d.ts +2 -2
  471. package/inputs/Input/__stories__/Integer.js.map +7 -0
  472. package/inputs/Input/__stories__/LandlineNumber/index.js +32 -23
  473. package/inputs/Input/__stories__/LandlineNumber.d.ts +2 -2
  474. package/inputs/Input/__stories__/LandlineNumber.js.map +7 -0
  475. package/inputs/Input/__stories__/MobilePhone/index.js +32 -23
  476. package/inputs/Input/__stories__/MobilePhone.d.ts +2 -2
  477. package/inputs/Input/__stories__/MobilePhone.js.map +7 -0
  478. package/inputs/Input/__stories__/PhoneNumber/index.js +31 -22
  479. package/inputs/Input/__stories__/PhoneNumber.d.ts +2 -2
  480. package/inputs/Input/__stories__/PhoneNumber.js.map +7 -0
  481. package/inputs/Input/__stories__/PostalCode/index.js +28 -21
  482. package/inputs/Input/__stories__/PostalCode.d.ts +2 -2
  483. package/inputs/Input/__stories__/PostalCode.js.map +7 -0
  484. package/inputs/Input/__stories__/String/index.js +31 -0
  485. package/inputs/Input/__stories__/String/package.json +6 -0
  486. package/inputs/Input/__stories__/String.d.ts +3 -0
  487. package/inputs/Input/__stories__/String.js.map +7 -0
  488. package/inputs/Input/__stories__/TextWithLimit/index.js +31 -0
  489. package/inputs/Input/__stories__/TextWithLimit/package.json +6 -0
  490. package/inputs/Input/__stories__/TextWithLimit.d.ts +3 -0
  491. package/inputs/Input/__stories__/TextWithLimit.js.map +7 -0
  492. package/inputs/Input/index.js +67 -66
  493. package/inputs/Input/index.js.map +7 -0
  494. package/inputs/Input/index.test.d.ts +1 -0
  495. package/inputs/Input/inputsInputScenarios/index.js +406 -0
  496. package/inputs/Input/inputsInputScenarios/package.json +6 -0
  497. package/inputs/Input/inputsInputScenarios.d.ts +57 -0
  498. package/inputs/Input/inputsInputScenarios.js.map +7 -0
  499. package/inputs/Label/Label.stories/index.js +10 -5
  500. package/inputs/Label/Label.stories.d.ts +1 -1
  501. package/inputs/Label/Label.stories.js.map +7 -0
  502. package/inputs/Label/__stories__/Default/index.js +35 -23
  503. package/inputs/Label/__stories__/Default.d.ts +2 -2
  504. package/inputs/Label/__stories__/Default.js.map +7 -0
  505. package/inputs/Label/index.d.ts +1 -3
  506. package/inputs/Label/index.js +12 -17
  507. package/inputs/Label/index.js.map +7 -0
  508. package/inputs/Label/index.test.d.ts +1 -0
  509. package/inputs/OtpInput/OtpInput.stories/index.js +10 -5
  510. package/inputs/OtpInput/OtpInput.stories.d.ts +1 -1
  511. package/inputs/OtpInput/OtpInput.stories.js.map +7 -0
  512. package/inputs/OtpInput/__stories__/Default/index.js +26 -24
  513. package/inputs/OtpInput/__stories__/Default.d.ts +2 -2
  514. package/inputs/OtpInput/__stories__/Default.js.map +7 -0
  515. package/inputs/OtpInput/index.d.ts +1 -1
  516. package/inputs/OtpInput/index.js +110 -104
  517. package/inputs/OtpInput/index.js.map +7 -0
  518. package/inputs/OtpInput/index.test.d.ts +1 -0
  519. package/inputs/Radio/Radio.stories/index.js +14 -7
  520. package/inputs/Radio/Radio.stories.d.ts +3 -3
  521. package/inputs/Radio/Radio.stories.js.map +7 -0
  522. package/inputs/Radio/__stories__/Conditional/index.js +87 -80
  523. package/inputs/Radio/__stories__/Conditional.d.ts +2 -2
  524. package/inputs/Radio/__stories__/Conditional.js.map +7 -0
  525. package/inputs/Radio/__stories__/Default/index.js +44 -41
  526. package/inputs/Radio/__stories__/Default.d.ts +2 -2
  527. package/inputs/Radio/__stories__/Default.js.map +7 -0
  528. package/inputs/Radio/__stories__/WithDivider/index.js +45 -42
  529. package/inputs/Radio/__stories__/WithDivider.d.ts +2 -2
  530. package/inputs/Radio/__stories__/WithDivider.js.map +7 -0
  531. package/inputs/Radio/index.d.ts +6 -1
  532. package/inputs/Radio/index.js +101 -55
  533. package/inputs/Radio/index.js.map +7 -0
  534. package/inputs/Radio/index.test.d.ts +1 -0
  535. package/inputs/Select/Select.stories/index.js +10 -5
  536. package/inputs/Select/Select.stories.d.ts +1 -1
  537. package/inputs/Select/Select.stories.js.map +7 -0
  538. package/inputs/Select/__stories__/Default/index.js +49 -47
  539. package/inputs/Select/__stories__/Default.d.ts +2 -2
  540. package/inputs/Select/__stories__/Default.js.map +7 -0
  541. package/inputs/Select/index.d.ts +1 -1
  542. package/inputs/Select/index.js +26 -31
  543. package/inputs/Select/index.js.map +7 -0
  544. package/inputs/Select/index.test.d.ts +1 -0
  545. package/inputs/index.js +21 -9
  546. package/inputs/index.js.map +7 -0
  547. package/inputs/inputsScenarios/index.js +499 -0
  548. package/inputs/inputsScenarios/package.json +6 -0
  549. package/inputs/inputsScenarios.d.ts +296 -0
  550. package/inputs/inputsScenarios.js.map +7 -0
  551. package/internal/index.js +10 -34
  552. package/internal.d.ts +2 -31
  553. package/internal.js.map +7 -0
  554. package/lazy/index.js +327 -395
  555. package/lazy.d.ts +41 -31
  556. package/lazy.js.map +7 -0
  557. package/locales/el/index.js +6 -0
  558. package/{Questions/index.spec → locales/el}/package.json +1 -1
  559. package/locales/el.d.ts +2 -0
  560. package/locales/el.js.map +7 -0
  561. package/package.json +7 -8
  562. package/registry/index.js +232 -134
  563. package/registry.d.ts +8 -1
  564. package/registry.js.map +7 -0
  565. package/src/Field/FieldBase.tsx +2 -0
  566. package/src/Field/FieldBaseContainer.tsx +2 -2
  567. package/src/Field/FieldConditional.tsx +5 -1
  568. package/src/Field/index.tsx +22 -3
  569. package/src/Field/types.tsx +68 -5
  570. package/src/Field/utils/calculateField.ts +49 -0
  571. package/src/Field/utils/evaluateFieldWithConditions.ts +30 -0
  572. package/src/Field/utils/index.ts +76 -0
  573. package/src/Field/utils/useField.ts +54 -0
  574. package/src/FieldArray/FieldArray.stories.js +2 -2
  575. package/src/FieldArray/index.test.tsx +25 -0
  576. package/src/FieldArray/index.tsx +20 -9
  577. package/src/FieldObject/index.tsx +18 -5
  578. package/src/Fieldset/index.tsx +5 -5
  579. package/src/Fieldset/types.tsx +5 -3
  580. package/src/FormBuilder/FormBuilder.stories.js +1 -1
  581. package/{FormBuilder/FormBuilder.mdx → src/FormBuilder/doc.mdx} +20 -33
  582. package/src/FormBuilder/index.test.tsx +21 -0
  583. package/src/FormBuilder/index.tsx +177 -1
  584. package/src/FormBuilder/scenarios.test.tsx +1864 -0
  585. package/src/FormContext.tsx +1 -2
  586. package/src/MultiplicityField/MultiplicityField.stories.js +6 -6
  587. package/src/MultiplicityField/__stories__/WithExactLength.tsx +1 -1
  588. package/src/MultiplicityField/__stories__/WithMaxLength.tsx +1 -1
  589. package/src/MultiplicityField/__stories__/WithMinAndMaxLength.tsx +1 -1
  590. package/src/MultiplicityField/__stories__/WithMinLength.tsx +1 -1
  591. package/src/MultiplicityField/add-objects.tsx +31 -15
  592. package/{MultiplicityField/MultiplicityField.mdx → src/MultiplicityField/doc.mdx} +12 -16
  593. package/src/MultiplicityField/index.test.tsx +41 -0
  594. package/src/MultiplicityField/index.tsx +20 -34
  595. package/src/MultiplicityField/types.ts +21 -0
  596. package/src/Questions/Questions.stories.js +1 -1
  597. package/src/Questions/Questions.tsx +4 -4
  598. package/src/Questions/Step/StepArrayReview.tsx +1 -1
  599. package/src/Questions/Step/StepTitle.tsx +5 -3
  600. package/src/Questions/Step/index.ts +0 -1
  601. package/src/Questions/Step/types.tsx +1 -0
  602. package/src/Questions/__snapshots__/index.spec.tsx.snap +72 -587
  603. package/src/Questions/{index.mdx → doc.mdx} +13 -16
  604. package/src/Questions/index.spec.tsx +9 -5
  605. package/src/Questions/index.test.tsx +21 -0
  606. package/src/Questions/types.tsx +1 -0
  607. package/src/create-simple-form.mdx +2 -6
  608. package/src/{index.mdx → doc.mdx} +4 -8
  609. package/src/index.ts +4 -1
  610. package/src/inputs/AutoCompleteInput/AutoComplete.stories.js +2 -2
  611. package/src/inputs/AutoCompleteInput/__stories__/Default.tsx +2 -10
  612. package/src/inputs/AutoCompleteInput/__stories__/Multiple.tsx +1 -8
  613. package/{cjs/inputs/AutoCompleteInput/index.mdx → src/inputs/AutoCompleteInput/doc.mdx} +2 -13
  614. package/src/inputs/AutoCompleteInput/index.test.tsx +25 -0
  615. package/src/inputs/AutoCompleteInput/index.tsx +37 -31
  616. package/src/inputs/Checkboxes/Checkboxes.stories.js +3 -3
  617. package/src/inputs/Checkboxes/{index.mdx → doc.mdx} +5 -15
  618. package/src/inputs/Checkboxes/index.test.tsx +29 -0
  619. package/src/inputs/Checkboxes/index.tsx +36 -31
  620. package/src/inputs/DateInput/DateInput.stories.js +1 -1
  621. package/src/inputs/DateInput/__stories__/Default.tsx +16 -15
  622. package/{inputs/DateInput/index.mdx → src/inputs/DateInput/doc.mdx} +1 -8
  623. package/src/inputs/DateInput/index.test.tsx +21 -0
  624. package/src/inputs/DateInput/index.tsx +8 -6
  625. package/src/inputs/FileInput/FileInput.stories.js +1 -1
  626. package/{inputs/FileInput/index.mdx → src/inputs/FileInput/doc.mdx} +1 -5
  627. package/src/inputs/FileInput/index.test.tsx +21 -0
  628. package/src/inputs/FileInput/index.tsx +7 -8
  629. package/src/inputs/ImageInput/ImageInput.stories.js +3 -3
  630. package/src/inputs/ImageInput/__stories__/MaxSize.tsx +37 -0
  631. package/src/inputs/ImageInput/__stories__/WithInvalidImageDimension.tsx +2 -0
  632. package/src/inputs/ImageInput/doc.mdx +23 -0
  633. package/src/inputs/ImageInput/index.test.tsx +33 -0
  634. package/src/inputs/ImageInput/index.tsx +10 -15
  635. package/src/inputs/Input/Input.stories.js +10 -10
  636. package/src/inputs/Input/__stories__/LandlineNumber.tsx +2 -1
  637. package/src/inputs/Input/__stories__/MobilePhone.tsx +1 -0
  638. package/src/inputs/Input/__stories__/PhoneNumber.tsx +1 -0
  639. package/src/inputs/Input/__stories__/PostalCode.tsx +1 -0
  640. package/src/inputs/Input/__stories__/{Default.tsx → String.tsx} +2 -2
  641. package/src/inputs/Input/__stories__/{TextWithCharacterLimit.tsx → TextWithLimit.tsx} +2 -2
  642. package/src/inputs/Input/doc.mdx +56 -0
  643. package/src/inputs/Input/index.test.tsx +57 -0
  644. package/src/inputs/Input/index.tsx +32 -29
  645. package/src/inputs/Input/inputsInputScenarios.ts +404 -0
  646. package/src/inputs/Label/Label.stories.js +1 -1
  647. package/src/inputs/Label/__stories__/Default.tsx +3 -1
  648. package/src/inputs/Label/doc.mdx +14 -0
  649. package/src/inputs/Label/index.test.tsx +21 -0
  650. package/src/inputs/Label/index.tsx +3 -10
  651. package/src/inputs/OtpInput/OtpInput.stories.js +1 -1
  652. package/{cjs/inputs/OtpInput/index.mdx → src/inputs/OtpInput/doc.mdx} +1 -8
  653. package/src/inputs/OtpInput/index.test.tsx +21 -0
  654. package/src/inputs/OtpInput/index.tsx +2 -1
  655. package/src/inputs/Radio/Radio.stories.js +3 -3
  656. package/src/inputs/Radio/__stories__/Conditional.tsx +2 -1
  657. package/{cjs/inputs/Radio/index.mdx → src/inputs/Radio/doc.mdx} +5 -15
  658. package/src/inputs/Radio/index.test.tsx +29 -0
  659. package/src/inputs/Radio/index.tsx +78 -9
  660. package/src/inputs/Select/Select.stories.js +1 -1
  661. package/src/inputs/Select/{index.mdx → doc.mdx} +1 -5
  662. package/src/inputs/Select/index.test.tsx +21 -0
  663. package/src/inputs/Select/index.tsx +5 -3
  664. package/src/inputs/inputsScenarios.ts +496 -0
  665. package/src/installation.mdx +2 -5
  666. package/src/internal.ts +2 -31
  667. package/src/lazy.js +322 -59
  668. package/src/locales/el.ts +3 -0
  669. package/src/registry.js +129 -41
  670. package/src/types.tsx +11 -64
  671. package/src/utils.ts +34 -33
  672. package/src/validators/index.ts +38 -71
  673. package/src/validators/utils/date.ts +107 -0
  674. package/src/validators/utils/file.ts +5 -3
  675. package/src/validators/utils/index.ts +1 -0
  676. package/src/validators/utils/phone.ts +63 -72
  677. package/src/validators/utils/postal_code.ts +1 -1
  678. package/src/validators/utils/uuid4.ts +2 -1
  679. package/src/validators/validators.spec.ts +6 -40
  680. package/types/index.js +2 -1
  681. package/types.d.ts +6 -35
  682. package/types.js.map +7 -0
  683. package/utils/index.js +57 -77
  684. package/utils.js.map +7 -0
  685. package/validators/index.js +92 -148
  686. package/validators/index.js.map +7 -0
  687. package/validators/types/index.js +1 -1
  688. package/validators/types.js.map +7 -0
  689. package/validators/utils/afm/index.js +16 -16
  690. package/validators/utils/afm.js.map +7 -0
  691. package/validators/utils/date/index.js +103 -0
  692. package/validators/utils/date/package.json +6 -0
  693. package/validators/utils/date.d.ts +9 -0
  694. package/validators/utils/date.js.map +7 -0
  695. package/validators/utils/file/index.js +22 -34
  696. package/validators/utils/file.js.map +7 -0
  697. package/validators/utils/iban/index.js +14 -12
  698. package/validators/utils/iban.js.map +7 -0
  699. package/validators/utils/image/index.js +66 -106
  700. package/validators/utils/image.js.map +7 -0
  701. package/validators/utils/index.d.ts +1 -0
  702. package/validators/utils/index.js +55 -48
  703. package/validators/utils/index.js.map +7 -0
  704. package/validators/utils/int/index.js +12 -7
  705. package/validators/utils/int.js.map +7 -0
  706. package/validators/utils/number/index.js +11 -6
  707. package/validators/utils/number.js.map +7 -0
  708. package/validators/utils/otp/index.js +13 -8
  709. package/validators/utils/otp.js.map +7 -0
  710. package/validators/utils/phone/index.js +89 -51
  711. package/validators/utils/phone.d.ts +1 -1
  712. package/validators/utils/phone.js.map +7 -0
  713. package/validators/utils/postal_code/index.js +14 -11
  714. package/validators/utils/postal_code.d.ts +1 -1
  715. package/validators/utils/postal_code.js.map +7 -0
  716. package/validators/utils/text_limit/index.js +18 -20
  717. package/validators/utils/text_limit.js.map +7 -0
  718. package/validators/utils/uuid4/index.js +12 -8
  719. package/validators/utils/uuid4.js.map +7 -0
  720. package/Field/utils.d.ts +0 -5
  721. package/FieldArray/FieldArray.stories.playwright.json +0 -353
  722. package/FormBuilder/FormBuilder/index.js +0 -152
  723. package/FormBuilder/FormBuilder.d.ts +0 -5
  724. package/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  725. package/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  726. package/Questions/__snapshots__/index.spec.tsx.snap +0 -596
  727. package/Questions/index.mdx +0 -415
  728. package/Questions/index.spec/index.js +0 -59
  729. package/cjs/Field/index.mdx +0 -6
  730. package/cjs/FieldArray/FieldArray.stories.playwright.json +0 -353
  731. package/cjs/FormBuilder/FormBuilder/index.js +0 -162
  732. package/cjs/FormBuilder/FormBuilder.mdx +0 -256
  733. package/cjs/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  734. package/cjs/MultiplicityField/MultiplicityField.mdx +0 -590
  735. package/cjs/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  736. package/cjs/Questions/__snapshots__/index.spec.tsx.snap +0 -596
  737. package/cjs/Questions/index.mdx +0 -415
  738. package/cjs/Questions/index.spec/index.js +0 -63
  739. package/cjs/create-simple-form.mdx +0 -539
  740. package/cjs/index.mdx +0 -51
  741. package/cjs/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  742. package/cjs/inputs/Checkboxes/index.mdx +0 -33
  743. package/cjs/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  744. package/cjs/inputs/DateInput/index.mdx +0 -23
  745. package/cjs/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  746. package/cjs/inputs/FileInput/index.mdx +0 -19
  747. package/cjs/inputs/ImageInput/ImageInput.stories.playwright.json +0 -77
  748. package/cjs/inputs/ImageInput/index.mdx +0 -19
  749. package/cjs/inputs/Input/Input.stories.playwright.json +0 -376
  750. package/cjs/inputs/Input/__stories__/Default/index.js +0 -33
  751. package/cjs/inputs/Input/__stories__/TextWithCharacterLimit/index.js +0 -39
  752. package/cjs/inputs/Input/index.mdx +0 -95
  753. package/cjs/inputs/Label/Label.stories.playwright.json +0 -40
  754. package/cjs/inputs/Label/index.mdx +0 -0
  755. package/cjs/inputs/Radio/Radio.stories.playwright.json +0 -73
  756. package/cjs/inputs/Select/Select.stories.playwright.json +0 -22
  757. package/cjs/inputs/Select/index.mdx +0 -17
  758. package/cjs/installation.mdx +0 -68
  759. package/cjs/validators/validators.spec/index.js +0 -87
  760. package/create-simple-form.mdx +0 -539
  761. package/index.mdx +0 -51
  762. package/inputs/AutoCompleteInput/index.mdx +0 -29
  763. package/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  764. package/inputs/Checkboxes/index.mdx +0 -33
  765. package/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  766. package/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  767. package/inputs/ImageInput/ImageInput.stories.playwright.json +0 -77
  768. package/inputs/ImageInput/index.mdx +0 -19
  769. package/inputs/Input/Input.stories.playwright.json +0 -376
  770. package/inputs/Input/__stories__/Default/index.js +0 -23
  771. package/inputs/Input/__stories__/Default.d.ts +0 -3
  772. package/inputs/Input/__stories__/TextWithCharacterLimit/index.js +0 -29
  773. package/inputs/Input/__stories__/TextWithCharacterLimit/package.json +0 -6
  774. package/inputs/Input/__stories__/TextWithCharacterLimit.d.ts +0 -3
  775. package/inputs/Input/index.mdx +0 -95
  776. package/inputs/Label/Label.stories.playwright.json +0 -40
  777. package/inputs/Label/index.mdx +0 -0
  778. package/inputs/OtpInput/index.mdx +0 -23
  779. package/inputs/Radio/Radio.stories.playwright.json +0 -73
  780. package/inputs/Radio/index.mdx +0 -33
  781. package/inputs/Select/Select.stories.playwright.json +0 -22
  782. package/inputs/Select/index.mdx +0 -17
  783. package/installation.mdx +0 -68
  784. package/src/Field/index.mdx +0 -6
  785. package/src/Field/utils.ts +0 -191
  786. package/src/FieldArray/FieldArray.stories.playwright.json +0 -353
  787. package/src/FormBuilder/FormBuilder.mdx +0 -256
  788. package/src/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  789. package/src/FormBuilder/FormBuilder.tsx +0 -166
  790. package/src/MultiplicityField/MultiplicityField.mdx +0 -590
  791. package/src/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  792. package/src/inputs/AutoCompleteInput/index.mdx +0 -29
  793. package/src/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  794. package/src/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  795. package/src/inputs/DateInput/index.mdx +0 -23
  796. package/src/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  797. package/src/inputs/FileInput/index.mdx +0 -19
  798. package/src/inputs/ImageInput/ImageInput.stories.playwright.json +0 -77
  799. package/src/inputs/ImageInput/index.mdx +0 -19
  800. package/src/inputs/Input/Input.stories.playwright.json +0 -376
  801. package/src/inputs/Input/index.mdx +0 -95
  802. package/src/inputs/Label/Label.stories.playwright.json +0 -40
  803. package/src/inputs/Label/index.mdx +0 -0
  804. package/src/inputs/OtpInput/index.mdx +0 -23
  805. package/src/inputs/Radio/Radio.stories.playwright.json +0 -73
  806. package/src/inputs/Radio/index.mdx +0 -33
  807. package/src/inputs/Select/Select.stories.playwright.json +0 -22
  808. package/validators/validators.spec/index.js +0 -85
  809. /package/{Field/index.mdx → src/Field/doc.mdx} +0 -0
@@ -14,14 +14,11 @@ import {
14
14
  TableDataCell,
15
15
  } from '@digigov/react-core';
16
16
 
17
- import LeadText from '@site/src/components/LeadText';
18
17
 
19
- <LeadText>
20
- Question pages are used to ask users meaningful questions needed by your
21
- GOV.GR service, or even gather data about their persona or their application
22
- status. Use step questions to make bigger forms less scary and easier to fill
23
- out.
24
- </LeadText>
18
+ Question pages are used to ask users meaningful questions needed by your
19
+ GOV.GR service, or even gather data about their persona or their application
20
+ status. Use step questions to make bigger forms less scary and easier to fill
21
+ out.
25
22
 
26
23
  ## Introduction to Question pages
27
24
 
@@ -41,7 +38,7 @@ Even if users struggle through to the end of a form and answer honestly, if it
41
38
  more work than they expected, they’ll be annoyed about it. That's the exact
42
39
  opposite of our goals of making concise, easy-to-use services.
43
40
 
44
- ```jsx live
41
+ ```jsx
45
42
  import React from 'react';
46
43
  import Questions, { Step, StepForm, StepTitle } from '@digigov/form/Questions';
47
44
  import { Field } from '@digigov/form';
@@ -87,11 +84,11 @@ const steps = [
87
84
  ],
88
85
  },
89
86
  {
90
- name: 'bod',
87
+ name: 'dob',
91
88
  title: 'When is your birthday?',
92
89
  fields: [
93
90
  {
94
- key: 'bod',
91
+ key: 'dob',
95
92
  label: {
96
93
  primary: 'Birthday',
97
94
  },
@@ -117,10 +114,10 @@ export default function Index() {
117
114
  <Field name="countries" />
118
115
  </StepForm>
119
116
  </Step>
120
- <Step name="bod">
117
+ <Step name="dob">
121
118
  <StepTitle />
122
119
  <StepForm submitButton={true}>
123
- <Field name="bod" />
120
+ <Field name="dob" />
124
121
  </StepForm>
125
122
  </Step>
126
123
  </Questions>
@@ -159,7 +156,7 @@ its subsequent subcomponents that you customise as needed, like the step title,
159
156
  description or form. You can also add components that are not form-specific,
160
157
  adding paragraphs or other custom components.
161
158
 
162
- ```jsx
159
+ ```jsx pure
163
160
  <Questions name="example" steps={steps} onSubmit={(data) => doSomething(data)}>
164
161
  {/* more steps could be rendered here ... */}
165
162
  <Step name="age">
@@ -184,7 +181,7 @@ object. The most basic properties are the following:
184
181
  - `fields` - an array that describes each input field that will be rendered in
185
182
  the `StepForm`. Each fields implements the `FieldSpec` interface as a JSON object.
186
183
 
187
- ```json title="step-name.json"
184
+ ```json pure title="step-name.json"
188
185
  {
189
186
  "name": "name",
190
187
  "title": "What is your name?",
@@ -209,7 +206,7 @@ basic branching between each step. The `nextStep` property will need to be a
209
206
  function that will take the form state as an argument and will return the key of
210
207
  the next `step`.
211
208
 
212
- ```json title="next-step.json"
209
+ ```json pure title="next-step.json"
213
210
  const steps = [
214
211
  {
215
212
  name: 'age',
@@ -263,7 +260,7 @@ For example, you may use a form to determine if citizens are adults or not, and
263
260
  we want to ask users different questions according to their persona. We can use
264
261
  a branch between the `age` step and the other two steps.
265
262
 
266
- ```jsx live
263
+ ```jsx
267
264
  import React from 'react';
268
265
  import GovGRFooter from '@digigov/ui/govgr/Footer';
269
266
  import Header from '@digigov/ui/app/Header';
@@ -1,9 +1,13 @@
1
1
  import * as React from 'react';
2
- import { mount } from 'enzyme';
2
+ import { render } from '@testing-library/react';
3
3
 
4
4
  import { Field } from '@digigov/form';
5
- import { Step, StepForm, StepQuote, StepTitle } from '@digigov/form/Questions';
6
- import Questions from '@digigov/form/Questions';
5
+ import Questions, {
6
+ Step,
7
+ StepForm,
8
+ StepQuote,
9
+ StepTitle,
10
+ } from '@digigov/form/Questions';
7
11
 
8
12
  const steps = [
9
13
  {
@@ -44,7 +48,7 @@ const steps = [
44
48
 
45
49
  it('renders the Questions', () => {
46
50
  expect(
47
- mount(
51
+ render(
48
52
  <Questions
49
53
  name={'example'}
50
54
  onSubmit={(data): void => {
@@ -67,6 +71,6 @@ it('renders the Questions', () => {
67
71
  </StepForm>
68
72
  </Step>
69
73
  </Questions>
70
- )
74
+ ).baseElement
71
75
  ).toMatchSnapshot();
72
76
  });
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { test, expect } from '@playwright/experimental-ct-react';
3
+ import { Default } from '@digigov/form/Questions/__stories__/Default';
4
+ import TestVariant from '@digigov/ui/utils/TestVariant';
5
+
6
+ test('renders the All Questions variants', async ({ mount, page }) => {
7
+ await mount(
8
+ <div>
9
+ <TestVariant title="Default">
10
+ <Default />
11
+ </TestVariant>
12
+ </div>
13
+ );
14
+ await page.evaluate(() => document.fonts.ready);
15
+
16
+ const screenshot = await page.screenshot({
17
+ fullPage: true,
18
+ animations: 'disabled',
19
+ });
20
+ expect(screenshot).toMatchSnapshot();
21
+ });
@@ -13,6 +13,7 @@ export interface QuestionsInterface {
13
13
  initialData?: any;
14
14
  localDraft?: boolean;
15
15
  errorLabels?: Record<string, string>;
16
+ children?: React.ReactNode;
16
17
  }
17
18
 
18
19
  export interface QuestionsContextInterface {
@@ -4,12 +4,8 @@ title: Create a simple Digigov Form
4
4
  sidebar_label: Creating simple forms
5
5
  ---
6
6
 
7
- import LeadText from '@site/src/components/LeadText';
8
-
9
- <LeadText>
10
- This guide walks through building a simple form page, complete with validation
11
- and data serialisation.
12
- </LeadText>
7
+ This guide walks through building a simple form page, complete with validation
8
+ and data serialisation.
13
9
 
14
10
  ## What we are building
15
11
 
@@ -4,14 +4,10 @@ title: Digigov Form
4
4
  sidebar_label: Introduction to Digigov Form
5
5
  ---
6
6
 
7
- import LeadText from '@site/src/components/LeadText';
8
-
9
- <LeadText>
10
- Digigov Form is an off-the-shelf solution for managing web forms using
11
- Reactjs. It supports flexible and multi-step forms and easy-to-use validation.
12
- This page will guide you through everything you need to create accessible and
13
- dynamic forms that can handle all sorts of user inputs.
14
- </LeadText>
7
+ Digigov Form is an off-the-shelf solution for managing web forms using
8
+ Reactjs. It supports flexible and multi-step forms and easy-to-use validation.
9
+ This page will guide you through everything you need to create accessible and
10
+ dynamic forms that can handle all sorts of user inputs.
15
11
 
16
12
  <img
17
13
  src="/img/form.svg"
package/src/index.ts CHANGED
@@ -1,3 +1,6 @@
1
- export * from '@digigov/form/internal';
1
+ export { default as Field } from '@digigov/form/Field';
2
+ export { default as Fieldset } from '@digigov/form/Fieldset';
3
+ export * from '@digigov/form/inputs/Label';
2
4
  import FormBuilder from '@digigov/form/FormBuilder';
5
+ export * from '@digigov/form/types';
3
6
  export default FormBuilder;
@@ -4,5 +4,5 @@ export default {
4
4
  component: AutoComplete,
5
5
  displayName: 'AutoCompleteInput',
6
6
  };
7
- export * from '@digigov/form/inputs/AutoCompleteInput/__stories__/Default';
8
- export * from '@digigov/form/inputs/AutoCompleteInput/__stories__/Multiple';
7
+ export { Default } from '@digigov/form/inputs/AutoCompleteInput/__stories__/Default';
8
+ export { Multiple } from '@digigov/form/inputs/AutoCompleteInput/__stories__/Multiple';
@@ -4,13 +4,7 @@ import FormBuilder from '@digigov/form/FormBuilder';
4
4
  import { FieldSpec } from '@digigov/form/types';
5
5
  import Button from '@digigov/ui/form/Button';
6
6
 
7
- const results = [
8
- 'Αμερική',
9
- 'Ασία',
10
- 'Αυστραλία',
11
- 'Αφρική',
12
- 'Ευρώπη',
13
- ];
7
+ const results = ['Αμερική', 'Ασία', 'Αυστραλία', 'Αφρική', 'Ευρώπη'];
14
8
 
15
9
  const fields: FieldSpec[] = [
16
10
  {
@@ -36,7 +30,6 @@ const fields: FieldSpec[] = [
36
30
  const initialValues = {};
37
31
 
38
32
  export const Default = () => (
39
-
40
33
  <FormBuilder
41
34
  fields={fields}
42
35
  onSubmit={(data) => {
@@ -49,6 +42,5 @@ export const Default = () => (
49
42
  ))}
50
43
  <Button type="submit">Submit</Button>
51
44
  </FormBuilder>
52
-
53
45
  );
54
- export default Default;
46
+ export default Default;
@@ -4,13 +4,7 @@ import FormBuilder from '@digigov/form/FormBuilder';
4
4
  import { FieldSpec } from '@digigov/form/types';
5
5
  import Button from '@digigov/ui/form/Button';
6
6
 
7
- const results = [
8
- 'Αμερική',
9
- 'Ασία',
10
- 'Αυστραλία',
11
- 'Αφρική',
12
- 'Ευρώπη',
13
- ];
7
+ const results = ['Αμερική', 'Ασία', 'Αυστραλία', 'Αφρική', 'Ευρώπη'];
14
8
 
15
9
  const fields: FieldSpec[] = [
16
10
  {
@@ -20,7 +14,6 @@ const fields: FieldSpec[] = [
20
14
  type: 'choice:multiple',
21
15
  extra: {
22
16
  component: 'AutoComplete',
23
- multiple: true,
24
17
  options: results.map((r) => {
25
18
  return {
26
19
  label: {
@@ -11,19 +11,8 @@ options as the users type and also let them select an option from the list.
11
11
 
12
12
  ### Default
13
13
 
14
- <Story
15
- packageName="@digigov/form"
16
- component="inputs/AutoCompleteInput"
17
- story="Default.tsx"
18
- />
14
+ <code src="@digigov/form/inputs/AutoCompleteInput/__stories__/Default.tsx" />
19
15
 
20
16
  ### Display multiple values
21
17
 
22
- <Story
23
- packageName="@digigov/form"
24
- component="inputs/AutoCompleteInput"
25
- story="Multiple.tsx"
26
- />
27
-
28
-
29
-
18
+ <code src="@digigov/form/inputs/AutoCompleteInput/__stories__/Multiple.tsx" />
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { test, expect } from '@playwright/experimental-ct-react';
3
+ import { Default } from '@digigov/form/inputs/AutoCompleteInput/__stories__/Default';
4
+ import { Multiple } from '@digigov/form/inputs/AutoCompleteInput/__stories__/Multiple';
5
+ import TestVariant from '@digigov/ui/utils/TestVariant';
6
+
7
+ test('renders the All AutoCompleteInput variants', async ({ mount, page }) => {
8
+ await mount(
9
+ <div>
10
+ <TestVariant title="Default">
11
+ <Default />
12
+ </TestVariant>
13
+ <TestVariant title="Multiple">
14
+ <Multiple />
15
+ </TestVariant>
16
+ </div>
17
+ );
18
+ await page.evaluate(() => document.fonts.ready);
19
+
20
+ const screenshot = await page.screenshot({
21
+ fullPage: true,
22
+ animations: 'disabled',
23
+ });
24
+ expect(screenshot).toMatchSnapshot();
25
+ });
@@ -1,11 +1,12 @@
1
1
  import React, { useCallback } from 'react';
2
2
  import { ControlledFieldProps } from '@digigov/form/Field/types';
3
3
  import { FieldOptionProps } from '@digigov/form/inputs/Label';
4
- import { Hint } from '@digigov/react-core/Hint';
5
- import UIAutoComplete, {
4
+ import {
5
+ AutoComplete,
6
6
  AutoCompleteProps as UIAutoCompleteProps,
7
7
  } from '@digigov/ui/form/AutoComplete';
8
-
8
+ import { Hint } from '@digigov/ui/typography/Hint';
9
+ import { Base } from '@digigov/ui/utils/Base';
9
10
  export interface AutoCompleteInputExtra
10
11
  extends Omit<
11
12
  UIAutoCompleteProps,
@@ -16,7 +17,7 @@ export interface AutoCompleteInputExtra
16
17
  | 'onConfirm'
17
18
  | 'dropdownArrow'
18
19
  > {
19
- options: Array<FieldOptionProps>;
20
+ options: FieldOptionProps[];
20
21
  }
21
22
 
22
23
  export interface AutoCompleteInputProps
@@ -28,39 +29,43 @@ export interface AutoCompleteInputProps
28
29
 
29
30
  export const AutoCompleteInput: React.FC<AutoCompleteInputProps> = ({
30
31
  name,
31
- extra: { options, multiple },
32
+ type,
33
+ extra: { options },
32
34
  onChange,
33
35
  value,
34
- error,
35
36
  ...props
36
37
  }) => {
37
- const suggest = useCallback(function suggest(
38
- query: string,
39
- syncResults: (options: any[]) => void
40
- ): void {
41
- syncResults(
42
- query
43
- ? options.filter(function (option) {
44
- return (
45
- `${option.value} ${option.label?.primary || ''} ${option.label?.secondary || ''
46
- }`
47
- .toLowerCase()
48
- .indexOf(query.toLowerCase()) !== -1
49
- );
50
- })
51
- : options
52
- );
53
- },
54
- [options]);
38
+ const suggest = useCallback(
39
+ function suggest(
40
+ query: string,
41
+ syncResults: (options: any[]) => void
42
+ ): void {
43
+ syncResults(
44
+ query
45
+ ? options.filter(function (option) {
46
+ return (
47
+ `${option.value} ${option.label?.primary || ''} ${
48
+ option.label?.secondary || ''
49
+ }`
50
+ .toLowerCase()
51
+ .indexOf(query.toLowerCase()) !== -1
52
+ );
53
+ })
54
+ : options
55
+ );
56
+ },
57
+ [options]
58
+ );
55
59
 
56
60
  return (
57
- <UIAutoComplete
58
- multiple={multiple}
61
+ <AutoComplete
62
+ multiple={type === 'choice:multiple' ? true : false}
59
63
  source={suggest}
60
64
  onConfirm={(value) => {
61
65
  if (Array.isArray(value)) {
62
- const selectedValues = value.map(item => item.value);
63
- selectedValues.length > 0 ? onChange(selectedValues) : onChange(undefined);
66
+ const selectedValues = value.map((item) => item.value);
67
+ if (selectedValues.length > 0) onChange(selectedValues);
68
+ else onChange(undefined);
64
69
  } else {
65
70
  onChange(value.value);
66
71
  }
@@ -68,10 +73,10 @@ export const AutoCompleteInput: React.FC<AutoCompleteInputProps> = ({
68
73
  templates={{
69
74
  suggestion({ label, value }) {
70
75
  return (
71
- <div>
76
+ <Base as="div">
72
77
  {(label && label.primary && label.primary) || value}
73
78
  {label && label.secondary && <Hint>{label.secondary}</Hint>}
74
- </div>
79
+ </Base>
75
80
  );
76
81
  },
77
82
  inputValue: (option) => {
@@ -86,10 +91,11 @@ export const AutoCompleteInput: React.FC<AutoCompleteInputProps> = ({
86
91
  reset: undefined,
87
92
  required: undefined,
88
93
  }}
94
+ name={name}
89
95
  id={`${name}-id`}
90
96
  defaultValue={value}
91
97
  />
92
98
  );
93
99
  };
94
100
 
95
- export default AutoCompleteInput;
101
+ export default AutoCompleteInput;
@@ -4,6 +4,6 @@ export default {
4
4
  component: Checkboxes,
5
5
  displayName: 'Checkboxes',
6
6
  };
7
- export * from '@digigov/form/inputs/Checkboxes/__stories__/Default';
8
- export * from '@digigov/form/inputs/Checkboxes/__stories__/WithDivider';
9
- export * from '@digigov/form/inputs/Checkboxes/__stories__/Conditional';
7
+ export { Default } from '@digigov/form/inputs/Checkboxes/__stories__/Default';
8
+ export { WithDivider } from '@digigov/form/inputs/Checkboxes/__stories__/WithDivider';
9
+ export { Conditional } from '@digigov/form/inputs/Checkboxes/__stories__/Conditional';
@@ -10,24 +10,14 @@ Checkboxes are used to let a user select one or more options of a limited number
10
10
 
11
11
  ### Default
12
12
 
13
- <Story
14
- packageName="@digigov/form"
15
- component="inputs/Checkboxes"
16
- story="Default.tsx"
17
- />
13
+ <code src="@digigov/form/inputs/Checkboxes/__stories__/Default.tsx" />
14
+
18
15
 
19
16
  ### Conditional
20
17
 
21
- <Story
22
- packageName="@digigov/form"
23
- component="inputs/Checkboxes"
24
- story="Conditional.tsx"
25
- />
18
+ <code src="@digigov/form/inputs/Checkboxes/__stories__/Conditional.tsx" />
19
+
26
20
 
27
21
  ### With divider
28
22
 
29
- <Story
30
- packageName="@digigov/form"
31
- component="inputs/Checkboxes"
32
- story="WithDivider.tsx"
33
- />
23
+ <code src="@digigov/form/inputs/Checkboxes/__stories__/WithDivider.tsx" />
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import { test, expect } from '@playwright/experimental-ct-react';
3
+ import { Conditional } from '@digigov/form/inputs/Checkboxes/__stories__/Conditional';
4
+ import { Default } from '@digigov/form/inputs/Checkboxes/__stories__/Default';
5
+ import { WithDivider } from '@digigov/form/inputs/Checkboxes/__stories__/WithDivider';
6
+ import TestVariant from '@digigov/ui/utils/TestVariant';
7
+
8
+ test('renders the All Checkboxes variants', async ({ mount, page }) => {
9
+ await mount(
10
+ <div>
11
+ <TestVariant title="Conditional">
12
+ <Conditional />
13
+ </TestVariant>
14
+ <TestVariant title="Default">
15
+ <Default />
16
+ </TestVariant>
17
+ <TestVariant title="WithDivider">
18
+ <WithDivider />
19
+ </TestVariant>
20
+ </div>
21
+ );
22
+ await page.evaluate(() => document.fonts.ready);
23
+
24
+ const screenshot = await page.screenshot({
25
+ fullPage: true,
26
+ animations: 'disabled',
27
+ });
28
+ expect(screenshot).toMatchSnapshot();
29
+ });
@@ -1,20 +1,22 @@
1
1
  import React, { useState } from 'react';
2
- import { Field } from '@digigov/form';
3
2
  import { ControlledFieldProps } from '@digigov/form/Field/types';
4
3
  import { FieldOptionProps } from '@digigov/form/inputs/Label';
5
- import { CheckboxConditional } from '@digigov/react-core/CheckboxConditional';
6
- import CoreCheckboxes from '@digigov/react-core/Checkbox';
7
- import CheckboxItem from '@digigov/react-core/CheckboxItem';
8
- import Hint from '@digigov/react-core/Hint';
4
+ import {
5
+ Checkbox,
6
+ CheckboxItem,
7
+ CheckboxConditional,
8
+ } from '@digigov/ui/form/Checkbox';
9
9
  import { useTranslation } from '@digigov/ui/i18n';
10
+ import { Hint } from '@digigov/ui/typography/Hint';
10
11
 
11
12
  export interface CheckboxesProps
12
13
  extends Omit<ControlledFieldProps, 'extra' | 'value'> {
13
14
  value?: string[];
14
15
  extra: {
15
16
  className?: string;
16
- options: Array<FieldOptionProps>;
17
+ options: FieldOptionProps[];
17
18
  };
19
+ fieldComponent: React.FC<Omit<ControlledFieldProps, 'value' | 'onChange'>>;
18
20
  }
19
21
 
20
22
  export const Checkboxes: React.FC<CheckboxesProps> = ({
@@ -23,37 +25,40 @@ export const Checkboxes: React.FC<CheckboxesProps> = ({
23
25
  value,
24
26
  extra: { options, className },
25
27
  disabled,
28
+ Field,
26
29
  ...props
27
30
  }) => {
28
31
  if (!value) value = [];
29
- const handleChange = (optionValue, idx, show) => (evt): void => {
30
- let newValue;
31
- if (evt.currentTarget.checked) {
32
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
33
- // @ts-ignore
34
- newValue = value.concat([optionValue]);
35
- } else {
36
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
37
- // @ts-ignore
38
- newValue = value.filter((val) => val !== optionValue);
39
- }
40
- if (show && show.length > 0) {
41
- setChecked((items) =>
42
- items.map((item, index) => (index === idx ? !item : item))
43
- );
44
- }
32
+ const handleChange =
33
+ (optionValue, idx, show) =>
34
+ (evt): void => {
35
+ let newValue;
36
+ if (evt.currentTarget.checked) {
37
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
38
+ // @ts-ignore
39
+ newValue = value.concat([optionValue]);
40
+ } else {
41
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
42
+ // @ts-ignore
43
+ newValue = value.filter((val) => val !== optionValue);
44
+ }
45
+ if (show && show.length > 0) {
46
+ setChecked((items) =>
47
+ items.map((item, index) => (index === idx ? !item : item))
48
+ );
49
+ }
45
50
 
46
- // reset value to undefined instead of an empty array
47
- // so the error state mechanism can throw validation errors
48
- if (newValue.length === 0) newValue = undefined;
49
- onChange(newValue);
50
- };
51
+ // reset value to undefined instead of an empty array
52
+ // so the error state mechanism can throw validation errors
53
+ if (newValue.length === 0) newValue = undefined;
54
+ onChange(newValue);
55
+ };
51
56
  const { t } = useTranslation();
52
57
  const [checked, setChecked] = useState(
53
58
  Array<boolean>(options.length).fill(false)
54
59
  );
55
60
  return (
56
- <CoreCheckboxes className={className}>
61
+ <Checkbox className={className}>
57
62
  {options.map(
58
63
  (
59
64
  {
@@ -69,7 +74,7 @@ export const Checkboxes: React.FC<CheckboxesProps> = ({
69
74
  <React.Fragment key={index}>
70
75
  <CheckboxItem
71
76
  key={`${name}.${index}`}
72
- name={name}
77
+ name={`${name}.${v}`}
73
78
  value={v}
74
79
  disabled={disabled || optionDisabled}
75
80
  checked={value?.includes(v)}
@@ -89,7 +94,7 @@ export const Checkboxes: React.FC<CheckboxesProps> = ({
89
94
  {label && label.secondary && <Hint>{t(label.secondary)}</Hint>}
90
95
  </CheckboxItem>
91
96
 
92
- {!!checked[index] && show && (
97
+ {!!checked[index] && show && Field && (
93
98
  <CheckboxConditional>
94
99
  {show.map((fieldName) => (
95
100
  <Field name={fieldName} key={fieldName} />
@@ -100,7 +105,7 @@ export const Checkboxes: React.FC<CheckboxesProps> = ({
100
105
  </React.Fragment>
101
106
  )
102
107
  )}
103
- </CoreCheckboxes>
108
+ </Checkbox>
104
109
  );
105
110
  };
106
111
 
@@ -4,4 +4,4 @@ export default {
4
4
  component: DateInput,
5
5
  displayName: 'DateInput',
6
6
  };
7
- export * from '@digigov/form/inputs/DateInput/__stories__/Default';
7
+ export { Default } from '@digigov/form/inputs/DateInput/__stories__/Default';