@digigov/form 1.0.0-079f34f3d → 1.0.0-23c81d9f

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 (555) hide show
  1. package/{es/Field/FieldBase.js → Field/FieldBase/index.js} +1 -1
  2. package/Field/FieldBase/package.json +6 -0
  3. package/{esm/Field/FieldBaseContainer.js → Field/FieldBaseContainer/index.js} +1 -1
  4. package/Field/FieldBaseContainer/package.json +6 -0
  5. package/{es/Field/FieldConditional.js → Field/FieldConditional/index.js} +2 -2
  6. package/Field/FieldConditional/package.json +6 -0
  7. package/Field/index.js +18 -45
  8. package/Field/package.json +6 -0
  9. package/Field/types/package.json +6 -0
  10. package/{es/Field/utils.js → Field/utils/index.js} +14 -9
  11. package/Field/utils/package.json +6 -0
  12. package/FieldArray/FieldArray.stories/index.js +8 -0
  13. package/FieldArray/FieldArray.stories/package.json +6 -0
  14. package/{esm/FieldArray/__stories__/Default.js → FieldArray/__stories__/Default/index.js} +1 -1
  15. package/FieldArray/__stories__/Default/package.json +6 -0
  16. package/{es/FieldArray/__stories__/WithExactLength.js → FieldArray/__stories__/WithExactLength/index.js} +1 -1
  17. package/FieldArray/__stories__/WithExactLength/package.json +6 -0
  18. package/FieldArray/index.js +19 -41
  19. package/FieldArray/package.json +6 -0
  20. package/FieldObject/index.js +16 -41
  21. package/FieldObject/package.json +6 -0
  22. package/{esm/Fieldset/FieldsetWithContext.js → Fieldset/FieldsetWithContext/index.js} +3 -3
  23. package/Fieldset/FieldsetWithContext/package.json +6 -0
  24. package/Fieldset/index.js +21 -51
  25. package/Fieldset/package.json +6 -0
  26. package/Fieldset/types/package.json +6 -0
  27. package/Form.stories/package.json +6 -0
  28. package/{es/FormBuilder/FormBuilder.js → FormBuilder/FormBuilder/index.js} +5 -5
  29. package/FormBuilder/FormBuilder/package.json +6 -0
  30. package/FormBuilder/FormBuilder.stories/index.js +7 -0
  31. package/FormBuilder/FormBuilder.stories/package.json +6 -0
  32. package/{es/FormBuilder/__stories__/Default.js → FormBuilder/__stories__/Default/index.js} +1 -1
  33. package/FormBuilder/__stories__/Default/package.json +6 -0
  34. package/FormBuilder/index.js +2 -11
  35. package/FormBuilder/package.json +6 -0
  36. package/FormContext/package.json +6 -0
  37. package/MultiplicityField/MultiplicityField.stories/index.js +12 -0
  38. package/MultiplicityField/MultiplicityField.stories/package.json +6 -0
  39. package/{es/MultiplicityField/__stories__/Default.js → MultiplicityField/__stories__/Default/index.js} +1 -1
  40. package/MultiplicityField/__stories__/Default/package.json +6 -0
  41. package/MultiplicityField/__stories__/PreviewDisplay/package.json +6 -0
  42. package/{es/MultiplicityField/__stories__/WithExactLength.js → MultiplicityField/__stories__/WithExactLength/index.js} +1 -1
  43. package/MultiplicityField/__stories__/WithExactLength/package.json +6 -0
  44. package/{es/MultiplicityField/__stories__/WithMaxLength.js → MultiplicityField/__stories__/WithMaxLength/index.js} +1 -1
  45. package/MultiplicityField/__stories__/WithMaxLength/package.json +6 -0
  46. package/{esm/MultiplicityField/__stories__/WithMinAndMaxLength.js → MultiplicityField/__stories__/WithMinAndMaxLength/index.js} +1 -1
  47. package/MultiplicityField/__stories__/WithMinAndMaxLength/package.json +6 -0
  48. package/{esm/MultiplicityField/__stories__/WithMinLength.js → MultiplicityField/__stories__/WithMinLength/index.js} +1 -1
  49. package/MultiplicityField/__stories__/WithMinLength/package.json +6 -0
  50. package/{esm/MultiplicityField/add-objects.js → MultiplicityField/add-objects/index.js} +3 -3
  51. package/MultiplicityField/add-objects/package.json +6 -0
  52. package/MultiplicityField/index.js +26 -55
  53. package/MultiplicityField/package.json +6 -0
  54. package/{es/Questions/Questions.js → Questions/Questions/index.js} +2 -2
  55. package/Questions/Questions/package.json +6 -0
  56. package/Questions/Questions.stories/index.js +7 -0
  57. package/Questions/Questions.stories/package.json +6 -0
  58. package/Questions/QuestionsContext/package.json +6 -0
  59. package/{esm/Questions/Step/ReviewStep.js → Questions/Step/ReviewStep/index.js} +3 -3
  60. package/Questions/Step/ReviewStep/package.json +6 -0
  61. package/{es/Questions/Step/Step.js → Questions/Step/Step/index.js} +3 -3
  62. package/Questions/Step/Step/package.json +6 -0
  63. package/{esm/Questions/Step/StepArrayReview.js → Questions/Step/StepArrayReview/index.js} +6 -6
  64. package/Questions/Step/StepArrayReview/package.json +6 -0
  65. package/Questions/Step/StepContext/package.json +6 -0
  66. package/{esm/Questions/Step/StepDescription.js → Questions/Step/StepDescription/index.js} +1 -1
  67. package/Questions/Step/StepDescription/package.json +6 -0
  68. package/{esm/Questions/Step/StepForm.js → Questions/Step/StepForm/index.js} +4 -4
  69. package/Questions/Step/StepForm/package.json +6 -0
  70. package/Questions/Step/StepQuote/package.json +6 -0
  71. package/{esm/Questions/Step/StepTitle.js → Questions/Step/StepTitle/index.js} +1 -1
  72. package/Questions/Step/StepTitle/package.json +6 -0
  73. package/Questions/Step/getAddMoreFields/package.json +6 -0
  74. package/Questions/Step/index.d.ts +4 -4
  75. package/Questions/Step/index.js +13 -153
  76. package/Questions/Step/package.json +6 -0
  77. package/Questions/Step/types/package.json +6 -0
  78. package/{es/Questions/__stories__/Default.js → Questions/__stories__/Default/index.js} +2 -2
  79. package/Questions/__stories__/Default/package.json +6 -0
  80. package/Questions/getNextStep/package.json +6 -0
  81. package/Questions/index.js +3 -25
  82. package/{esm/Questions/index.spec.js → Questions/index.spec/index.js} +3 -3
  83. package/Questions/index.spec/package.json +6 -0
  84. package/Questions/package.json +6 -0
  85. package/Questions/types/package.json +6 -0
  86. package/{Field/FieldBase.js → cjs/Field/FieldBase/index.js} +1 -1
  87. package/{Field/FieldBaseContainer.js → cjs/Field/FieldBaseContainer/index.js} +8 -8
  88. package/{Field/FieldConditional.js → cjs/Field/FieldConditional/index.js} +2 -2
  89. package/cjs/Field/index.js +103 -0
  90. package/{Field/utils.js → cjs/Field/utils/index.js} +15 -9
  91. package/{FieldArray/FieldArray.stories.js → cjs/FieldArray/FieldArray.stories/index.js} +4 -4
  92. package/{FieldArray/__stories__/Default.js → cjs/FieldArray/__stories__/Default/index.js} +6 -6
  93. package/{FieldArray/__stories__/WithExactLength.js → cjs/FieldArray/__stories__/WithExactLength/index.js} +6 -6
  94. package/cjs/FieldArray/index.js +87 -0
  95. package/cjs/FieldObject/index.js +83 -0
  96. package/{Fieldset/FieldsetWithContext.js → cjs/Fieldset/FieldsetWithContext/index.js} +6 -6
  97. package/cjs/Fieldset/index.js +64 -0
  98. package/{FormBuilder/FormBuilder.js → cjs/FormBuilder/FormBuilder/index.js} +6 -6
  99. package/{FormBuilder/FormBuilder.stories.js → cjs/FormBuilder/FormBuilder.stories/index.js} +3 -3
  100. package/{FormBuilder/__stories__/Default.js → cjs/FormBuilder/__stories__/Default/index.js} +4 -4
  101. package/cjs/FormBuilder/index.js +11 -0
  102. package/{MultiplicityField/MultiplicityField.stories.js → cjs/MultiplicityField/MultiplicityField.stories/index.js} +8 -8
  103. package/{MultiplicityField/__stories__/Default.js → cjs/MultiplicityField/__stories__/Default/index.js} +6 -6
  104. package/{MultiplicityField/__stories__/PreviewDisplay.js → cjs/MultiplicityField/__stories__/PreviewDisplay/index.js} +4 -4
  105. package/{MultiplicityField/__stories__/WithExactLength.js → cjs/MultiplicityField/__stories__/WithExactLength/index.js} +6 -6
  106. package/{MultiplicityField/__stories__/WithMaxLength.js → cjs/MultiplicityField/__stories__/WithMaxLength/index.js} +6 -6
  107. package/{MultiplicityField/__stories__/WithMinAndMaxLength.js → cjs/MultiplicityField/__stories__/WithMinAndMaxLength/index.js} +6 -6
  108. package/{MultiplicityField/__stories__/WithMinLength.js → cjs/MultiplicityField/__stories__/WithMinLength/index.js} +6 -6
  109. package/{MultiplicityField/add-objects.js → cjs/MultiplicityField/add-objects/index.js} +6 -6
  110. package/cjs/MultiplicityField/index.js +143 -0
  111. package/{Questions/Questions.js → cjs/Questions/Questions/index.js} +2 -2
  112. package/{Questions/Questions.stories.js → cjs/Questions/Questions.stories/index.js} +3 -3
  113. package/{Questions/Step/ReviewStep.js → cjs/Questions/Step/ReviewStep/index.js} +7 -7
  114. package/{Questions/Step/Step.js → cjs/Questions/Step/Step/index.js} +3 -3
  115. package/{Questions/Step/StepArrayReview.js → cjs/Questions/Step/StepArrayReview/index.js} +10 -10
  116. package/{Questions/Step/StepDescription.js → cjs/Questions/Step/StepDescription/index.js} +3 -3
  117. package/{Questions/Step/StepForm.js → cjs/Questions/Step/StepForm/index.js} +6 -6
  118. package/{Questions/Step/StepQuote.js → cjs/Questions/Step/StepQuote/index.js} +1 -1
  119. package/{Questions/Step/StepTitle.js → cjs/Questions/Step/StepTitle/index.js} +6 -6
  120. package/cjs/Questions/Step/index.js +170 -0
  121. package/{Questions/__stories__/Default.js → cjs/Questions/__stories__/Default/index.js} +19 -19
  122. package/cjs/Questions/index.js +25 -0
  123. package/{Questions/index.spec.js → cjs/Questions/index.spec/index.js} +9 -9
  124. package/cjs/index.js +28 -0
  125. package/{inputs/AutoComplete/AutoComplete.stories.js → cjs/inputs/AutoComplete/AutoComplete.stories/index.js} +3 -3
  126. package/{inputs/AutoComplete/__stories__/Default.js → cjs/inputs/AutoComplete/__stories__/Default/index.js} +4 -4
  127. package/cjs/inputs/AutoComplete/index.js +68 -0
  128. package/{inputs/Checkboxes/Checkboxes.stories.js → cjs/inputs/Checkboxes/Checkboxes.stories/index.js} +5 -5
  129. package/{inputs/Checkboxes/__stories__/Conditional.js → cjs/inputs/Checkboxes/__stories__/Conditional/index.js} +4 -4
  130. package/{inputs/Checkboxes/__stories__/Default.js → cjs/inputs/Checkboxes/__stories__/Default/index.js} +4 -4
  131. package/{inputs/Checkboxes/__stories__/WithDivider.js → cjs/inputs/Checkboxes/__stories__/WithDivider/index.js} +4 -4
  132. package/cjs/inputs/Checkboxes/index.js +127 -0
  133. package/{inputs/DateInput/DateInput.stories.js → cjs/inputs/DateInput/DateInput.stories/index.js} +3 -3
  134. package/{inputs/DateInput/__stories__/Default.js → cjs/inputs/DateInput/__stories__/Default/index.js} +4 -22
  135. package/cjs/inputs/DateInput/index.js +181 -0
  136. package/{inputs/FileInput/FileInput.stories.js → cjs/inputs/FileInput/FileInput.stories/index.js} +3 -3
  137. package/{inputs/FileInput/__stories__/Default.js → cjs/inputs/FileInput/__stories__/Default/index.js} +4 -4
  138. package/cjs/inputs/FileInput/index.js +92 -0
  139. package/cjs/inputs/ImageInput/ImageInput.stories/index.js +59 -0
  140. package/cjs/inputs/ImageInput/ImageInput.stories.playwright.json +77 -0
  141. package/cjs/inputs/ImageInput/__stories__/Default/index.js +51 -0
  142. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +59 -0
  143. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +56 -0
  144. package/cjs/inputs/ImageInput/index.js +116 -0
  145. package/{inputs/Input/Input.stories.js → cjs/inputs/Input/Input.stories/index.js} +11 -11
  146. package/{inputs/Input/__stories__/AFM.js → cjs/inputs/Input/__stories__/AFM/index.js} +4 -4
  147. package/{inputs/Input/__stories__/Boolean.js → cjs/inputs/Input/__stories__/Boolean/index.js} +4 -4
  148. package/{inputs/Input/__stories__/Default.js → cjs/inputs/Input/__stories__/Default/index.js} +4 -4
  149. package/{inputs/Input/__stories__/IBAN.js → cjs/inputs/Input/__stories__/IBAN/index.js} +4 -4
  150. package/{inputs/Input/__stories__/Integer.js → cjs/inputs/Input/__stories__/Integer/index.js} +5 -5
  151. package/{inputs/Input/__stories__/MobilePhone.js → cjs/inputs/Input/__stories__/MobilePhone/index.js} +4 -4
  152. package/{inputs/Input/__stories__/PhoneNumber.js → cjs/inputs/Input/__stories__/PhoneNumber/index.js} +4 -4
  153. package/{inputs/Input/__stories__/PostalCode.js → cjs/inputs/Input/__stories__/PostalCode/index.js} +4 -4
  154. package/{inputs/Input/__stories__/TextWithCharacterLimit.js → cjs/inputs/Input/__stories__/TextWithCharacterLimit/index.js} +5 -5
  155. package/cjs/inputs/Input/index.js +96 -0
  156. package/{inputs/Label/Label.stories.js → cjs/inputs/Label/Label.stories/index.js} +3 -3
  157. package/{inputs/Label/__stories__/Default.js → cjs/inputs/Label/__stories__/Default/index.js} +5 -5
  158. package/cjs/inputs/Label/index.js +41 -0
  159. package/{inputs/OtpInput/OtpInput.stories.js → cjs/inputs/OtpInput/OtpInput.stories/index.js} +3 -3
  160. package/{inputs/OtpInput/__stories__/Default.js → cjs/inputs/OtpInput/__stories__/Default/index.js} +5 -5
  161. package/cjs/inputs/OtpInput/index.js +182 -0
  162. package/{inputs/Radio/Radio.stories.js → cjs/inputs/Radio/Radio.stories/index.js} +5 -5
  163. package/{inputs/Radio/__stories__/Conditional.js → cjs/inputs/Radio/__stories__/Conditional/index.js} +4 -4
  164. package/{inputs/Radio/__stories__/Default.js → cjs/inputs/Radio/__stories__/Default/index.js} +5 -5
  165. package/{inputs/Radio/__stories__/WithDivider.js → cjs/inputs/Radio/__stories__/WithDivider/index.js} +5 -5
  166. package/cjs/inputs/Radio/index.js +82 -0
  167. package/{inputs/Select/Select.stories.js → cjs/inputs/Select/Select.stories/index.js} +3 -3
  168. package/{inputs/Select/__stories__/Default.js → cjs/inputs/Select/__stories__/Default/index.js} +5 -5
  169. package/cjs/inputs/Select/index.js +49 -0
  170. package/cjs/inputs/index.js +79 -0
  171. package/{internal.js → cjs/internal/index.js} +20 -20
  172. package/{registry.js → cjs/registry/index.js} +65 -59
  173. package/{es → cjs}/validators/index.js +63 -26
  174. package/{validators/utils/file.js → cjs/validators/utils/file/index.js} +4 -2
  175. package/{es/MultiplicityField/add-objects.js → cjs/validators/utils/image/index.js} +161 -153
  176. package/cjs/validators/utils/index.js +243 -0
  177. package/{validators/validators.spec.js → cjs/validators/validators.spec/index.js} +1 -1
  178. package/index.js +8 -28
  179. package/inputs/AutoComplete/AutoComplete.stories/index.js +7 -0
  180. package/inputs/AutoComplete/AutoComplete.stories/package.json +6 -0
  181. package/{es/inputs/AutoComplete/__stories__/Default.js → inputs/AutoComplete/__stories__/Default/index.js} +2 -2
  182. package/inputs/AutoComplete/__stories__/Default/package.json +6 -0
  183. package/inputs/AutoComplete/index.js +12 -35
  184. package/inputs/AutoComplete/package.json +6 -0
  185. package/inputs/Checkboxes/Checkboxes.stories/index.js +9 -0
  186. package/inputs/Checkboxes/Checkboxes.stories/package.json +6 -0
  187. package/{esm/inputs/Checkboxes/__stories__/Conditional.js → inputs/Checkboxes/__stories__/Conditional/index.js} +1 -1
  188. package/inputs/Checkboxes/__stories__/Conditional/package.json +6 -0
  189. package/{es/inputs/Checkboxes/__stories__/Default.js → inputs/Checkboxes/__stories__/Default/index.js} +1 -1
  190. package/inputs/Checkboxes/__stories__/Default/package.json +6 -0
  191. package/{es/inputs/Checkboxes/__stories__/WithDivider.js → inputs/Checkboxes/__stories__/WithDivider/index.js} +1 -1
  192. package/inputs/Checkboxes/__stories__/WithDivider/package.json +6 -0
  193. package/inputs/Checkboxes/index.js +25 -52
  194. package/inputs/Checkboxes/package.json +6 -0
  195. package/inputs/DateInput/DateInput.stories/index.js +7 -0
  196. package/inputs/DateInput/DateInput.stories/package.json +6 -0
  197. package/{esm/inputs/DateInput/__stories__/Default.js → inputs/DateInput/__stories__/Default/index.js} +1 -19
  198. package/inputs/DateInput/__stories__/Default/package.json +6 -0
  199. package/inputs/DateInput/index.js +26 -52
  200. package/inputs/DateInput/package.json +6 -0
  201. package/inputs/FileInput/FileInput.stories/index.js +7 -0
  202. package/inputs/FileInput/FileInput.stories/package.json +6 -0
  203. package/{esm/inputs/FileInput/__stories__/Default.js → inputs/FileInput/__stories__/Default/index.js} +1 -1
  204. package/inputs/FileInput/__stories__/Default/package.json +6 -0
  205. package/inputs/FileInput/index.d.ts +3 -1
  206. package/inputs/FileInput/index.js +22 -52
  207. package/inputs/FileInput/package.json +6 -0
  208. package/inputs/ImageInput/ImageInput.stories/index.js +9 -0
  209. package/inputs/ImageInput/ImageInput.stories/package.json +6 -0
  210. package/inputs/ImageInput/ImageInput.stories.d.ts +10 -0
  211. package/inputs/ImageInput/ImageInput.stories.playwright.json +77 -0
  212. package/{es/inputs/OtpInput/__stories__/Default.js → inputs/ImageInput/__stories__/Default/index.js} +4 -5
  213. package/inputs/ImageInput/__stories__/Default/package.json +6 -0
  214. package/inputs/ImageInput/__stories__/Default.d.ts +2 -0
  215. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +38 -0
  216. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/package.json +6 -0
  217. package/inputs/ImageInput/__stories__/WithInvalidImageDimension.d.ts +2 -0
  218. package/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +35 -0
  219. package/inputs/ImageInput/__stories__/WithInvalidImageSize/package.json +6 -0
  220. package/inputs/ImageInput/__stories__/WithInvalidImageSize.d.ts +2 -0
  221. package/inputs/ImageInput/index.d.ts +25 -0
  222. package/inputs/ImageInput/index.js +83 -0
  223. package/inputs/ImageInput/package.json +6 -0
  224. package/inputs/Input/Input.stories/index.js +15 -0
  225. package/inputs/Input/Input.stories/package.json +6 -0
  226. package/{esm/inputs/Input/__stories__/AFM.js → inputs/Input/__stories__/AFM/index.js} +1 -1
  227. package/inputs/Input/__stories__/AFM/package.json +6 -0
  228. package/{esm/inputs/Input/__stories__/Boolean.js → inputs/Input/__stories__/Boolean/index.js} +1 -1
  229. package/inputs/Input/__stories__/Boolean/package.json +6 -0
  230. package/{esm/inputs/Input/__stories__/Default.js → inputs/Input/__stories__/Default/index.js} +1 -1
  231. package/inputs/Input/__stories__/Default/package.json +6 -0
  232. package/{esm/inputs/Input/__stories__/IBAN.js → inputs/Input/__stories__/IBAN/index.js} +1 -1
  233. package/inputs/Input/__stories__/IBAN/package.json +6 -0
  234. package/{es/inputs/Input/__stories__/Integer.js → inputs/Input/__stories__/Integer/index.js} +1 -1
  235. package/inputs/Input/__stories__/Integer/package.json +6 -0
  236. package/{esm/inputs/Input/__stories__/MobilePhone.js → inputs/Input/__stories__/MobilePhone/index.js} +1 -1
  237. package/inputs/Input/__stories__/MobilePhone/package.json +6 -0
  238. package/{es/inputs/Input/__stories__/PhoneNumber.js → inputs/Input/__stories__/PhoneNumber/index.js} +1 -1
  239. package/inputs/Input/__stories__/PhoneNumber/package.json +6 -0
  240. package/{esm/inputs/Input/__stories__/PostalCode.js → inputs/Input/__stories__/PostalCode/index.js} +1 -1
  241. package/inputs/Input/__stories__/PostalCode/package.json +6 -0
  242. package/{es/inputs/Input/__stories__/TextWithCharacterLimit.js → inputs/Input/__stories__/TextWithCharacterLimit/index.js} +1 -1
  243. package/inputs/Input/__stories__/TextWithCharacterLimit/package.json +6 -0
  244. package/inputs/Input/index.js +19 -40
  245. package/inputs/Input/package.json +6 -0
  246. package/inputs/Label/Label.stories/index.js +7 -0
  247. package/inputs/Label/Label.stories/package.json +6 -0
  248. package/{esm/inputs/Label/__stories__/Default.js → inputs/Label/__stories__/Default/index.js} +1 -1
  249. package/inputs/Label/__stories__/Default/package.json +6 -0
  250. package/inputs/Label/index.js +9 -25
  251. package/inputs/Label/package.json +6 -0
  252. package/inputs/OtpInput/OtpInput.stories/index.js +7 -0
  253. package/inputs/OtpInput/OtpInput.stories/package.json +6 -0
  254. package/{esm/inputs/OtpInput/__stories__/Default.js → inputs/OtpInput/__stories__/Default/index.js} +1 -1
  255. package/inputs/OtpInput/__stories__/Default/package.json +6 -0
  256. package/inputs/OtpInput/index.js +28 -53
  257. package/inputs/OtpInput/package.json +6 -0
  258. package/inputs/Radio/Radio.stories/index.js +9 -0
  259. package/inputs/Radio/Radio.stories/package.json +6 -0
  260. package/{es/inputs/Radio/__stories__/Conditional.js → inputs/Radio/__stories__/Conditional/index.js} +1 -1
  261. package/inputs/Radio/__stories__/Conditional/package.json +6 -0
  262. package/{es/inputs/Radio/__stories__/Default.js → inputs/Radio/__stories__/Default/index.js} +2 -2
  263. package/inputs/Radio/__stories__/Default/package.json +6 -0
  264. package/{es/inputs/Radio/__stories__/WithDivider.js → inputs/Radio/__stories__/WithDivider/index.js} +2 -2
  265. package/inputs/Radio/__stories__/WithDivider/package.json +6 -0
  266. package/inputs/Radio/index.js +24 -45
  267. package/inputs/Radio/package.json +6 -0
  268. package/inputs/Select/Select.stories/index.js +7 -0
  269. package/inputs/Select/Select.stories/package.json +6 -0
  270. package/{esm/inputs/Select/__stories__/Default.js → inputs/Select/__stories__/Default/index.js} +2 -2
  271. package/inputs/Select/__stories__/Default/package.json +6 -0
  272. package/inputs/Select/index.js +12 -29
  273. package/inputs/Select/package.json +6 -0
  274. package/inputs/index.d.ts +1 -0
  275. package/inputs/index.js +9 -71
  276. package/inputs/package.json +6 -0
  277. package/internal/index.js +34 -0
  278. package/internal/package.json +6 -0
  279. package/package.json +6 -6
  280. package/{esm/registry.js → registry/index.js} +63 -59
  281. package/registry/package.json +6 -0
  282. package/registry.d.ts +2 -0
  283. package/src/Field/utils.ts +5 -0
  284. package/src/Questions/Step/index.ts +4 -4
  285. package/src/inputs/DateInput/__stories__/Default.tsx +0 -16
  286. package/src/inputs/FileInput/index.tsx +4 -1
  287. package/src/inputs/ImageInput/ImageInput.stories.js +10 -0
  288. package/src/inputs/ImageInput/ImageInput.stories.playwright.json +77 -0
  289. package/src/inputs/ImageInput/__stories__/Default.tsx +31 -0
  290. package/src/inputs/ImageInput/__stories__/WithInvalidImageDimension.tsx +40 -0
  291. package/src/inputs/ImageInput/__stories__/WithInvalidImageSize.tsx +36 -0
  292. package/src/inputs/ImageInput/index.tsx +101 -0
  293. package/src/inputs/Radio/__stories__/Default.tsx +1 -1
  294. package/src/inputs/Radio/__stories__/WithDivider.tsx +1 -1
  295. package/src/inputs/Select/__stories__/Default.tsx +1 -1
  296. package/src/inputs/index.ts +1 -0
  297. package/src/registry.js +4 -0
  298. package/src/types.tsx +20 -18
  299. package/src/validators/index.ts +15 -1
  300. package/src/validators/utils/file.ts +2 -2
  301. package/src/validators/utils/image.ts +80 -0
  302. package/src/validators/utils/index.ts +1 -0
  303. package/types/package.json +6 -0
  304. package/types.d.ts +2 -1
  305. package/utils/package.json +6 -0
  306. package/validators/index.js +35 -54
  307. package/validators/package.json +6 -0
  308. package/validators/types/package.json +6 -0
  309. package/validators/utils/afm/package.json +6 -0
  310. package/{es/validators/utils/file.js → validators/utils/file/index.js} +4 -2
  311. package/validators/utils/file/package.json +6 -0
  312. package/validators/utils/iban/package.json +6 -0
  313. package/{esm/utils.js → validators/utils/image/index.js} +143 -87
  314. package/validators/utils/image/package.json +6 -0
  315. package/validators/utils/image.d.ts +3 -0
  316. package/validators/utils/index.d.ts +1 -0
  317. package/validators/utils/index.js +13 -139
  318. package/validators/utils/int/package.json +6 -0
  319. package/validators/utils/number/package.json +6 -0
  320. package/validators/utils/otp/package.json +6 -0
  321. package/validators/utils/package.json +6 -0
  322. package/validators/utils/phone/package.json +6 -0
  323. package/validators/utils/postal_code/package.json +6 -0
  324. package/validators/utils/text_limit/package.json +6 -0
  325. package/validators/utils/uuid4/package.json +6 -0
  326. package/{esm/validators/validators.spec.js → validators/validators.spec/index.js} +1 -1
  327. package/validators/validators.spec/package.json +6 -0
  328. package/es/Field/FieldBaseContainer.js +0 -43
  329. package/es/Field/index.js +0 -76
  330. package/es/FieldArray/FieldArray.stories.js +0 -8
  331. package/es/FieldArray/__stories__/Default.js +0 -90
  332. package/es/FieldArray/index.js +0 -65
  333. package/es/FieldObject/index.js +0 -58
  334. package/es/Fieldset/FieldsetWithContext.js +0 -41
  335. package/es/Fieldset/index.js +0 -34
  336. package/es/FormBuilder/FormBuilder.stories.js +0 -7
  337. package/es/FormBuilder/index.js +0 -2
  338. package/es/MultiplicityField/MultiplicityField.stories.js +0 -12
  339. package/es/MultiplicityField/__stories__/WithMinAndMaxLength.js +0 -96
  340. package/es/MultiplicityField/__stories__/WithMinLength.js +0 -95
  341. package/es/MultiplicityField/index.js +0 -114
  342. package/es/Questions/Questions.stories.js +0 -7
  343. package/es/Questions/Step/ReviewStep.js +0 -53
  344. package/es/Questions/Step/StepArrayReview.js +0 -50
  345. package/es/Questions/Step/StepDescription.js +0 -27
  346. package/es/Questions/Step/StepForm.js +0 -48
  347. package/es/Questions/Step/StepTitle.js +0 -44
  348. package/es/Questions/Step/index.js +0 -13
  349. package/es/Questions/index.js +0 -3
  350. package/es/Questions/index.spec.js +0 -62
  351. package/es/index.js +0 -3
  352. package/es/inputs/AutoComplete/AutoComplete.stories.js +0 -7
  353. package/es/inputs/AutoComplete/index.js +0 -45
  354. package/es/inputs/Checkboxes/Checkboxes.stories.js +0 -9
  355. package/es/inputs/Checkboxes/__stories__/Conditional.js +0 -95
  356. package/es/inputs/Checkboxes/index.js +0 -100
  357. package/es/inputs/DateInput/DateInput.stories.js +0 -7
  358. package/es/inputs/DateInput/__stories__/Default.js +0 -43
  359. package/es/inputs/DateInput/index.js +0 -155
  360. package/es/inputs/FileInput/FileInput.stories.js +0 -7
  361. package/es/inputs/FileInput/__stories__/Default.js +0 -22
  362. package/es/inputs/FileInput/index.js +0 -62
  363. package/es/inputs/Input/Input.stories.js +0 -15
  364. package/es/inputs/Input/__stories__/AFM.js +0 -24
  365. package/es/inputs/Input/__stories__/Boolean.js +0 -25
  366. package/es/inputs/Input/__stories__/Default.js +0 -25
  367. package/es/inputs/Input/__stories__/IBAN.js +0 -25
  368. package/es/inputs/Input/__stories__/MobilePhone.js +0 -24
  369. package/es/inputs/Input/__stories__/PostalCode.js +0 -27
  370. package/es/inputs/Input/index.js +0 -75
  371. package/es/inputs/Label/Label.stories.js +0 -7
  372. package/es/inputs/Label/__stories__/Default.js +0 -29
  373. package/es/inputs/Label/index.js +0 -25
  374. package/es/inputs/OtpInput/OtpInput.stories.js +0 -7
  375. package/es/inputs/OtpInput/index.js +0 -157
  376. package/es/inputs/Radio/Radio.stories.js +0 -9
  377. package/es/inputs/Radio/index.js +0 -61
  378. package/es/inputs/Select/Select.stories.js +0 -7
  379. package/es/inputs/Select/__stories__/Default.js +0 -53
  380. package/es/inputs/Select/index.js +0 -32
  381. package/es/inputs/index.js +0 -8
  382. package/es/internal.js +0 -34
  383. package/es/registry.js +0 -136
  384. package/es/validators/utils/index.js +0 -102
  385. package/es/validators/validators.spec.js +0 -85
  386. package/esm/Field/FieldBase.js +0 -84
  387. package/esm/Field/FieldConditional.js +0 -62
  388. package/esm/Field/index.js +0 -76
  389. package/esm/Field/index.mdx +0 -6
  390. package/esm/Field/types.js +0 -1
  391. package/esm/Field/utils.js +0 -162
  392. package/esm/FieldArray/FieldArray.stories.js +0 -8
  393. package/esm/FieldArray/FieldArray.stories.playwright.json +0 -353
  394. package/esm/FieldArray/__stories__/WithExactLength.js +0 -90
  395. package/esm/FieldArray/index.js +0 -65
  396. package/esm/FieldObject/index.js +0 -58
  397. package/esm/Fieldset/index.js +0 -34
  398. package/esm/Fieldset/types.js +0 -1
  399. package/esm/Form.stories.js +0 -3
  400. package/esm/FormBuilder/FormBuilder.js +0 -160
  401. package/esm/FormBuilder/FormBuilder.mdx +0 -256
  402. package/esm/FormBuilder/FormBuilder.stories.js +0 -7
  403. package/esm/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  404. package/esm/FormBuilder/__stories__/Default.js +0 -28
  405. package/esm/FormBuilder/index.js +0 -2
  406. package/esm/FormContext.js +0 -5
  407. package/esm/MultiplicityField/MultiplicityField.mdx +0 -590
  408. package/esm/MultiplicityField/MultiplicityField.stories.js +0 -12
  409. package/esm/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  410. package/esm/MultiplicityField/__stories__/Default.js +0 -97
  411. package/esm/MultiplicityField/__stories__/PreviewDisplay.js +0 -83
  412. package/esm/MultiplicityField/__stories__/WithExactLength.js +0 -92
  413. package/esm/MultiplicityField/__stories__/WithMaxLength.js +0 -95
  414. package/esm/MultiplicityField/index.js +0 -114
  415. package/esm/Questions/Questions.js +0 -84
  416. package/esm/Questions/Questions.stories.js +0 -7
  417. package/esm/Questions/QuestionsContext.js +0 -11
  418. package/esm/Questions/Step/Step.js +0 -69
  419. package/esm/Questions/Step/StepContext.js +0 -27
  420. package/esm/Questions/Step/StepQuote.js +0 -11
  421. package/esm/Questions/Step/getAddMoreFields.js +0 -22
  422. package/esm/Questions/Step/index.js +0 -13
  423. package/esm/Questions/Step/types.js +0 -1
  424. package/esm/Questions/__snapshots__/index.spec.tsx.snap +0 -596
  425. package/esm/Questions/__stories__/Default.js +0 -108
  426. package/esm/Questions/getNextStep.js +0 -23
  427. package/esm/Questions/index.js +0 -3
  428. package/esm/Questions/index.mdx +0 -415
  429. package/esm/Questions/types.js +0 -1
  430. package/esm/create-simple-form.mdx +0 -539
  431. package/esm/index.js +0 -8
  432. package/esm/index.mdx +0 -51
  433. package/esm/inputs/AutoComplete/AutoComplete.stories.js +0 -7
  434. package/esm/inputs/AutoComplete/__stories__/Default.js +0 -49
  435. package/esm/inputs/AutoComplete/index.js +0 -45
  436. package/esm/inputs/Checkboxes/Checkboxes.stories.js +0 -9
  437. package/esm/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  438. package/esm/inputs/Checkboxes/__stories__/Default.js +0 -42
  439. package/esm/inputs/Checkboxes/__stories__/WithDivider.js +0 -43
  440. package/esm/inputs/Checkboxes/index.js +0 -100
  441. package/esm/inputs/Checkboxes/index.mdx +0 -0
  442. package/esm/inputs/DateInput/DateInput.stories.js +0 -7
  443. package/esm/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  444. package/esm/inputs/DateInput/index.js +0 -155
  445. package/esm/inputs/FileInput/FileInput.stories.js +0 -7
  446. package/esm/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  447. package/esm/inputs/FileInput/index.js +0 -62
  448. package/esm/inputs/Input/Input.stories.js +0 -15
  449. package/esm/inputs/Input/Input.stories.playwright.json +0 -376
  450. package/esm/inputs/Input/__stories__/Integer.js +0 -33
  451. package/esm/inputs/Input/__stories__/PhoneNumber.js +0 -24
  452. package/esm/inputs/Input/__stories__/TextWithCharacterLimit.js +0 -31
  453. package/esm/inputs/Input/index.js +0 -75
  454. package/esm/inputs/Input/index.mdx +0 -8
  455. package/esm/inputs/Label/Label.stories.js +0 -7
  456. package/esm/inputs/Label/Label.stories.playwright.json +0 -40
  457. package/esm/inputs/Label/index.js +0 -25
  458. package/esm/inputs/Label/index.mdx +0 -0
  459. package/esm/inputs/OtpInput/OtpInput.stories.js +0 -7
  460. package/esm/inputs/OtpInput/index.js +0 -157
  461. package/esm/inputs/Radio/Radio.stories.js +0 -9
  462. package/esm/inputs/Radio/Radio.stories.playwright.json +0 -73
  463. package/esm/inputs/Radio/__stories__/Conditional.js +0 -95
  464. package/esm/inputs/Radio/__stories__/Default.js +0 -47
  465. package/esm/inputs/Radio/__stories__/WithDivider.js +0 -48
  466. package/esm/inputs/Radio/index.js +0 -61
  467. package/esm/inputs/Radio/index.mdx +0 -0
  468. package/esm/inputs/Select/Select.stories.js +0 -7
  469. package/esm/inputs/Select/Select.stories.playwright.json +0 -22
  470. package/esm/inputs/Select/index.js +0 -32
  471. package/esm/inputs/index.js +0 -8
  472. package/esm/installation.mdx +0 -68
  473. package/esm/internal.js +0 -34
  474. package/esm/types.js +0 -1
  475. package/esm/validators/index.js +0 -186
  476. package/esm/validators/types.js +0 -1
  477. package/esm/validators/utils/afm.js +0 -35
  478. package/esm/validators/utils/file.js +0 -52
  479. package/esm/validators/utils/iban.js +0 -123
  480. package/esm/validators/utils/index.js +0 -102
  481. package/esm/validators/utils/int.js +0 -20
  482. package/esm/validators/utils/number.js +0 -16
  483. package/esm/validators/utils/otp.js +0 -26
  484. package/esm/validators/utils/phone.js +0 -122
  485. package/esm/validators/utils/postal_code.js +0 -29
  486. package/esm/validators/utils/text_limit.js +0 -54
  487. package/esm/validators/utils/uuid4.js +0 -20
  488. /package/{es/Field/types.js → Field/types/index.js} +0 -0
  489. /package/{es/Fieldset/types.js → Fieldset/types/index.js} +0 -0
  490. /package/{es/Form.stories.js → Form.stories/index.js} +0 -0
  491. /package/{es/FormContext.js → FormContext/index.js} +0 -0
  492. /package/{es/MultiplicityField/__stories__/PreviewDisplay.js → MultiplicityField/__stories__/PreviewDisplay/index.js} +0 -0
  493. /package/{es/Questions/QuestionsContext.js → Questions/QuestionsContext/index.js} +0 -0
  494. /package/{es/Questions/Step/StepContext.js → Questions/Step/StepContext/index.js} +0 -0
  495. /package/{es/Questions/Step/StepQuote.js → Questions/Step/StepQuote/index.js} +0 -0
  496. /package/{es/Questions/Step/getAddMoreFields.js → Questions/Step/getAddMoreFields/index.js} +0 -0
  497. /package/{es/Questions/Step/types.js → Questions/Step/types/index.js} +0 -0
  498. /package/{es/Questions/getNextStep.js → Questions/getNextStep/index.js} +0 -0
  499. /package/{es/Questions/types.js → Questions/types/index.js} +0 -0
  500. /package/{es → cjs}/Field/index.mdx +0 -0
  501. /package/{Field/types.js → cjs/Field/types/index.js} +0 -0
  502. /package/{es → cjs}/FieldArray/FieldArray.stories.playwright.json +0 -0
  503. /package/{Fieldset/types.js → cjs/Fieldset/types/index.js} +0 -0
  504. /package/{Form.stories.js → cjs/Form.stories/index.js} +0 -0
  505. /package/{es → cjs}/FormBuilder/FormBuilder.mdx +0 -0
  506. /package/{es → cjs}/FormBuilder/FormBuilder.stories.playwright.json +0 -0
  507. /package/{FormContext.js → cjs/FormContext/index.js} +0 -0
  508. /package/{es → cjs}/MultiplicityField/MultiplicityField.mdx +0 -0
  509. /package/{es → cjs}/MultiplicityField/MultiplicityField.stories.playwright.json +0 -0
  510. /package/{Questions/QuestionsContext.js → cjs/Questions/QuestionsContext/index.js} +0 -0
  511. /package/{Questions/Step/StepContext.js → cjs/Questions/Step/StepContext/index.js} +0 -0
  512. /package/{Questions/Step/getAddMoreFields.js → cjs/Questions/Step/getAddMoreFields/index.js} +0 -0
  513. /package/{Questions/Step/types.js → cjs/Questions/Step/types/index.js} +0 -0
  514. /package/{es → cjs}/Questions/__snapshots__/index.spec.tsx.snap +0 -0
  515. /package/{Questions/getNextStep.js → cjs/Questions/getNextStep/index.js} +0 -0
  516. /package/{es → cjs}/Questions/index.mdx +0 -0
  517. /package/{Questions/types.js → cjs/Questions/types/index.js} +0 -0
  518. /package/{es → cjs}/create-simple-form.mdx +0 -0
  519. /package/{es → cjs}/index.mdx +0 -0
  520. /package/{es → cjs}/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -0
  521. /package/{es → cjs}/inputs/Checkboxes/index.mdx +0 -0
  522. /package/{es → cjs}/inputs/DateInput/DateInput.stories.playwright.json +0 -0
  523. /package/{es → cjs}/inputs/FileInput/FileInput.stories.playwright.json +0 -0
  524. /package/{es → cjs}/inputs/Input/Input.stories.playwright.json +0 -0
  525. /package/{es → cjs}/inputs/Input/index.mdx +0 -0
  526. /package/{es → cjs}/inputs/Label/Label.stories.playwright.json +0 -0
  527. /package/{es → cjs}/inputs/Label/index.mdx +0 -0
  528. /package/{es → cjs}/inputs/Radio/Radio.stories.playwright.json +0 -0
  529. /package/{es → cjs}/inputs/Radio/index.mdx +0 -0
  530. /package/{es → cjs}/inputs/Select/Select.stories.playwright.json +0 -0
  531. /package/{es → cjs}/installation.mdx +0 -0
  532. /package/{types.js → cjs/types/index.js} +0 -0
  533. /package/{utils.js → cjs/utils/index.js} +0 -0
  534. /package/{validators/types.js → cjs/validators/types/index.js} +0 -0
  535. /package/{validators/utils/afm.js → cjs/validators/utils/afm/index.js} +0 -0
  536. /package/{validators/utils/iban.js → cjs/validators/utils/iban/index.js} +0 -0
  537. /package/{validators/utils/int.js → cjs/validators/utils/int/index.js} +0 -0
  538. /package/{validators/utils/number.js → cjs/validators/utils/number/index.js} +0 -0
  539. /package/{validators/utils/otp.js → cjs/validators/utils/otp/index.js} +0 -0
  540. /package/{validators/utils/phone.js → cjs/validators/utils/phone/index.js} +0 -0
  541. /package/{validators/utils/postal_code.js → cjs/validators/utils/postal_code/index.js} +0 -0
  542. /package/{validators/utils/text_limit.js → cjs/validators/utils/text_limit/index.js} +0 -0
  543. /package/{validators/utils/uuid4.js → cjs/validators/utils/uuid4/index.js} +0 -0
  544. /package/{es/types.js → types/index.js} +0 -0
  545. /package/{es/utils.js → utils/index.js} +0 -0
  546. /package/{es/validators/types.js → validators/types/index.js} +0 -0
  547. /package/{es/validators/utils/afm.js → validators/utils/afm/index.js} +0 -0
  548. /package/{es/validators/utils/iban.js → validators/utils/iban/index.js} +0 -0
  549. /package/{es/validators/utils/int.js → validators/utils/int/index.js} +0 -0
  550. /package/{es/validators/utils/number.js → validators/utils/number/index.js} +0 -0
  551. /package/{es/validators/utils/otp.js → validators/utils/otp/index.js} +0 -0
  552. /package/{es/validators/utils/phone.js → validators/utils/phone/index.js} +0 -0
  553. /package/{es/validators/utils/postal_code.js → validators/utils/postal_code/index.js} +0 -0
  554. /package/{es/validators/utils/text_limit.js → validators/utils/text_limit/index.js} +0 -0
  555. /package/{es/validators/utils/uuid4.js → validators/utils/uuid4/index.js} +0 -0
@@ -1,102 +0,0 @@
1
- import * as yup from 'yup';
2
- export * from '@digigov/form/validators/utils/afm';
3
- export * from '@digigov/form/validators/utils/file';
4
- export * from '@digigov/form/validators/utils/iban';
5
- export * from '@digigov/form/validators/utils/otp';
6
- export * from '@digigov/form/validators/utils/phone';
7
- export * from '@digigov/form/validators/utils/postal_code';
8
- export * from '@digigov/form/validators/utils/uuid4';
9
- export * from '@digigov/form/validators/utils/text_limit';
10
- export function getYupField(field, yupTypeMap) {
11
- var yupField = yupTypeMap[(field === null || field === void 0 ? void 0 : field.type) || 'string'] || yupTypeMap['string'];
12
- return yupField(field);
13
- }
14
- export function computeShape(fields, yupTypeMap, validatorRegistry) {
15
- var fieldSchemas = {};
16
- var objectFields = {};
17
- fields.forEach(function (field) {
18
- var yupField = getYupField(field, yupTypeMap);
19
-
20
- if (field.condition) {
21
- var _loop = function _loop(key) {
22
- var then = void 0,
23
- otherwise = void 0;
24
-
25
- if (field.condition[key].then) {
26
- var _field$condition$key$, _field$condition$key$2;
27
-
28
- if (((_field$condition$key$ = field.condition[key].then) === null || _field$condition$key$ === void 0 ? void 0 : _field$condition$key$.required) === false) {
29
- then = yupField.nullable();
30
- } else if (((_field$condition$key$2 = field.condition[key].then) === null || _field$condition$key$2 === void 0 ? void 0 : _field$condition$key$2.required) === true) {
31
- then = yupField.nullable().required('form.error.required');
32
- }
33
- }
34
-
35
- if (field.condition[key]["else"]) {
36
- var _field$condition$key$3, _field$condition$key$4;
37
-
38
- if (((_field$condition$key$3 = field.condition[key]["else"]) === null || _field$condition$key$3 === void 0 ? void 0 : _field$condition$key$3.required) === false) {
39
- otherwise = yupField.nullable();
40
- } else if (((_field$condition$key$4 = field.condition[key]["else"]) === null || _field$condition$key$4 === void 0 ? void 0 : _field$condition$key$4.required) === true) {
41
- otherwise = yupField.nullable().required('form.error.required');
42
- }
43
- }
44
-
45
- if (then || otherwise) {
46
- yupField = yupField.when(key, {
47
- is: function is(val) {
48
- //@ts-ignore
49
- var is = field.condition[key].is;
50
-
51
- if (is === val || Array.isArray(val) && val.includes(is)) {
52
- return true;
53
- } else {
54
- return false;
55
- }
56
- },
57
- then: then,
58
- otherwise: otherwise
59
- });
60
- }
61
- };
62
-
63
- for (var key in field.condition) {
64
- _loop(key);
65
- }
66
- } else if (field.required) {
67
- yupField = yupField.nullable().required('form.error.required');
68
- }
69
-
70
- if (validatorRegistry && field.type && validatorRegistry[field.type]) {
71
- validatorRegistry[field.type].forEach(function (validator) {
72
- yupField = yupField.test(validator);
73
- });
74
- }
75
-
76
- if (field.validators) {
77
- field.validators.forEach(function (validator) {
78
- yupField = yupField.test(validator);
79
- });
80
- }
81
-
82
- fieldSchemas[field.key] = yupField;
83
- });
84
-
85
- for (var objectKey in objectFields) {
86
- fieldSchemas[objectKey] = getYupObjectShape(objectFields[objectKey], yupTypeMap, validatorRegistry);
87
- }
88
-
89
- return fieldSchemas;
90
- }
91
- export function getYupObjectShape( // eslint-disable-next-line @typescript-eslint/no-explicit-any
92
- fields, yupTypeMap, validatorRegistry) {
93
- if (!fields.current) {
94
- var fieldSchemas = computeShape(fields, yupTypeMap, validatorRegistry);
95
- return yup.object().shape(fieldSchemas);
96
- }
97
-
98
- return yup.lazy(function () {
99
- var fieldSchemas = computeShape(Object.values(fields.current), yupTypeMap, validatorRegistry);
100
- return yup.object().shape(fieldSchemas);
101
- });
102
- }
@@ -1,85 +0,0 @@
1
- import { validateUUID4, validateIban, validatePostalCode, validatePhoneNumber } from '@digigov/form/validators/utils';
2
- it('validates wrong uuid4 for empty value', function () {
3
- expect(validateUUID4('')).toBe(false);
4
- });
5
- it('validates wrong uuid4 because of length', function () {
6
- expect(validateUUID4('9e463bc44a294bab8ee23af6cc3cbbe3')).toBe(false);
7
- });
8
- it('validates wrong uuid4 with correct length and wrong form', function () {
9
- expect(validateUUID4('ab123cd1-1234-ad34-ad45-12345abcdefg')).toBe(false);
10
- });
11
- it('validates correct uuid4 validator', function () {
12
- expect(validateUUID4('9e463bc4-4a29-4bab-8ee2-3af6cc3cbbe3')).toBe(true);
13
- });
14
- it('validates correct gr iban', function () {
15
- expect(validateIban('GR7801100800000008009825202', 'GR')).toBe(true);
16
- });
17
- it('validates correct iban with spaces and dashes', function () {
18
- expect(validateIban('GR 7801-1008 0000-0008 0098-25202', 'GR')).toBe(true);
19
- });
20
- it('validates correct foreign iban', function () {
21
- expect(validateIban('DE75512108001245126199', 'DE')).toBe(true);
22
- });
23
- it('validates wrong iban for empty value', function () {
24
- expect(validateIban('', '')).toBe(false);
25
- });
26
- it('validates wrong greek iban for wrong length', function () {
27
- expect(validateIban('GR78011008000000080098252020', 'gr')).toBe(false);
28
- });
29
- it('validates wrong iban for non existing country code', function () {
30
- expect(validateIban('AAA78011008000000080098252020', 'aaa')).toBe(false);
31
- });
32
- it('validates correct greek iban whithout country code', function () {
33
- expect(validateIban('7801100800000008009825202', '')).toBe(true);
34
- });
35
- it('validates wrong postal code without country code', function () {
36
- expect(validatePostalCode('123', [])).toBe(true);
37
- });
38
- it('validates wrong postal code with wrong country code', function () {
39
- expect(validatePostalCode('123', ['FR'])).toBe(true);
40
- });
41
- it('validates wrong postal code with greek country code', function () {
42
- expect(validatePostalCode('123', ['GR'])).toBe(false);
43
- });
44
- it('validates postal code with greek country code', function () {
45
- expect(validatePostalCode('11143', ['GR'])).toBe(true);
46
- });
47
- it('validates phone number type landline with greek country code', function () {
48
- expect(validatePhoneNumber('2102934896', ['GR'], 'landline')).toBe(true);
49
- });
50
- it('validates phone number type landline with ch country code', function () {
51
- expect(validatePhoneNumber('2102934896', ['CH'], 'landline')).toBe(false);
52
- });
53
- it('validates phone number type landline with ch and gr countries code', function () {
54
- expect(validatePhoneNumber('2102934896', ['GR', 'CH'], 'landline')).toBe(true);
55
- });
56
- it('validatesphone number type landline with ch and gr countries code', function () {
57
- expect(validatePhoneNumber('41446681800', ['GR', 'CH'], 'landline')).toBe(true);
58
- });
59
- it('validates phone number type landline with ch and gr countries code but phone number is mobile', function () {
60
- expect(validatePhoneNumber('2102934896', ['GR', 'CH'], 'mobile')).toBe(false);
61
- });
62
- it('validates phone number type mobile with ch and gr countries code', function () {
63
- expect(validatePhoneNumber('6934100982', ['GR', 'CH'], 'mobile')).toBe(true);
64
- });
65
- it('validates phone number type mobile with gr country code', function () {
66
- expect(validatePhoneNumber('6934100982', ['GR'], 'mobile')).toBe(true);
67
- });
68
- it('validates phone number type mobile with ch country code', function () {
69
- expect(validatePhoneNumber('6934100982', ['CH'], 'mobile')).toBe(false);
70
- });
71
- it('validates phone number with no type and ch country code', function () {
72
- expect(validatePhoneNumber('6934100982', ['CH'], null)).toBe(false);
73
- });
74
- it('validates phone number with no type and gr country code', function () {
75
- expect(validatePhoneNumber('6934100982', ['gr'], null)).toBe(true);
76
- });
77
- it('validates phone number with no type and ch country code', function () {
78
- expect(validatePhoneNumber('41446681800', ['CH'], null)).toBe(true);
79
- });
80
- it('validates phone number with no type and gr country code', function () {
81
- expect(validatePhoneNumber('41446681800', ['gr'], null)).toBe(false);
82
- });
83
- it('validates phone number with no type and gr and ch countries code', function () {
84
- expect(validatePhoneNumber('41446681800', ['gr', 'ch'], null)).toBe(true);
85
- });
@@ -1,84 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["required", "name", "component", "wrapper", "control", "type", "controlled", "enabled", "editable", "defaultValue", "label", "extra", "layout", "error", "register"];
4
- import React from 'react';
5
- import { Controller } from 'react-hook-form';
6
- import FieldBaseContainer from '@digigov/form/Field/FieldBaseContainer';
7
- export var FieldBase = function FieldBase(props) {
8
- var required = props.required,
9
- name = props.name,
10
- Component = props.component,
11
- wrapper = props.wrapper,
12
- control = props.control,
13
- type = props.type,
14
- _props$controlled = props.controlled,
15
- controlled = _props$controlled === void 0 ? false : _props$controlled,
16
- _props$enabled = props.enabled,
17
- enabled = _props$enabled === void 0 ? true : _props$enabled,
18
- editable = props.editable,
19
- defaultValue = props.defaultValue,
20
- label = props.label,
21
- _props$extra = props.extra,
22
- extra = _props$extra === void 0 ? {} : _props$extra,
23
- layout = props.layout,
24
- error = props.error,
25
- register = props.register,
26
- componentProps = _objectWithoutProperties(props, _excluded);
27
-
28
- if (!enabled) {
29
- return null;
30
- }
31
-
32
- if (controlled) {
33
- return /*#__PURE__*/React.createElement(FieldBaseContainer, {
34
- label: label,
35
- layout: layout,
36
- error: error,
37
- wrapper: wrapper,
38
- name: name
39
- }, /*#__PURE__*/React.createElement(Controller, {
40
- control: control,
41
- name: name,
42
- render: function render(_ref) {
43
- var field = _ref.field;
44
- return /*#__PURE__*/React.createElement(Component, _extends({}, field, {
45
- defaultValue: defaultValue,
46
- extra: extra,
47
- error: !!error,
48
- type: type,
49
- "aria-required": !!required,
50
- "aria-describedby": error && "".concat(name, "-error"),
51
- required: required,
52
- disabled: editable === false
53
- }, componentProps));
54
- }
55
- }));
56
- }
57
-
58
- return /*#__PURE__*/React.createElement(FieldBaseContainer, {
59
- label: label,
60
- layout: layout,
61
- error: error,
62
- wrapper: wrapper,
63
- name: name
64
- }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/React.createElement(Component, _extends({}, register(name), {
65
- control: control,
66
- error: !!error,
67
- extra: extra,
68
- type: type,
69
- "aria-required": !!required,
70
- "aria-describedby": error && "".concat(name, "-error"),
71
- required: required,
72
- disabled: editable === false
73
- }, componentProps)) : /*#__PURE__*/React.createElement(Component, _extends({}, register(name), {
74
- register: register,
75
- control: control,
76
- error: !!error,
77
- extra: extra,
78
- type: type,
79
- "aria-required": !!required,
80
- "aria-describedby": error && "".concat(name, "-error"),
81
- required: required,
82
- disabled: editable === false
83
- }, componentProps)));
84
- };
@@ -1,62 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _extends from "@babel/runtime/helpers/extends";
3
- import React from 'react';
4
- import { useWatch } from 'react-hook-form';
5
- import { FieldBase } from '@digigov/form/Field/FieldBase';
6
- import { evaluateFieldWithConditions } from '@digigov/form/Field/utils';
7
- var ChildFieldMemo = /*#__PURE__*/React.memo(function ChildField(_ref) {
8
- var dependencies = _ref.dependencies,
9
- field = _ref.field,
10
- control = _ref.control,
11
- reset = _ref.reset,
12
- register = _ref.register,
13
- error = _ref.error;
14
- var newField = evaluateFieldWithConditions(field, dependencies);
15
- return /*#__PURE__*/React.createElement(FieldBase, _extends({}, newField, {
16
- name: newField.key,
17
- reset: reset,
18
- control: control,
19
- register: register,
20
- error: error
21
- }));
22
- }, function (prev, next) {
23
- if (!prev || !prev.dependencies) {
24
- return false;
25
- }
26
-
27
- if (prev.error !== next.error) {
28
- return false;
29
- }
30
-
31
- for (var dep in next.dependencies) {
32
- if (next.dependencies[dep] !== prev.dependencies[dep]) {
33
- return false;
34
- }
35
- }
36
-
37
- return true;
38
- });
39
- export var FieldConditional = function FieldConditional(_ref2) {
40
- var control = _ref2.control,
41
- field = _ref2.field,
42
- register = _ref2.register,
43
- reset = _ref2.reset,
44
- error = _ref2.error;
45
- var dependencyKeys = Object.keys(field.condition);
46
- var dependencyValues = useWatch({
47
- name: dependencyKeys,
48
- control: control
49
- });
50
- var variables = dependencyKeys.reduce(function (data, fieldKey, index) {
51
- return _extends({}, data, _defineProperty({}, fieldKey, dependencyValues[index]));
52
- }, {});
53
- return /*#__PURE__*/React.createElement(ChildFieldMemo, {
54
- dependencies: variables,
55
- field: field,
56
- control: control,
57
- register: register,
58
- reset: reset,
59
- error: error
60
- });
61
- };
62
- export default FieldConditional;
@@ -1,76 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["name", "children"];
4
- import React, { useMemo } from 'react';
5
- import { FieldBase } from '@digigov/form/Field/FieldBase';
6
- import FieldConditional from '@digigov/form/Field/FieldConditional';
7
- import { useField, calculateField } from '@digigov/form/Field/utils';
8
- import FieldArray from '@digigov/form/FieldArray';
9
- import Multiplicity from '@digigov/form/MultiplicityField';
10
- export var Field = function Field(_ref) {
11
- var name = _ref.name,
12
- children = _ref.children,
13
- customField = _objectWithoutProperties(_ref, _excluded);
14
-
15
- var _useField = useField(name, customField !== null && customField !== void 0 && customField.type ? customField : null),
16
- field = _useField.field,
17
- control = _useField.control,
18
- register = _useField.register,
19
- reset = _useField.reset,
20
- error = _useField.error,
21
- componentRegistry = _useField.componentRegistry,
22
- formState = _useField.formState,
23
- setValue = _useField.setValue,
24
- getValues = _useField.getValues,
25
- unregister = _useField.unregister,
26
- trigger = _useField.trigger,
27
- clearErrors = _useField.clearErrors;
28
-
29
- var calculatedField = useMemo(function () {
30
- return calculateField(children, field, componentRegistry);
31
- }, [field]);
32
-
33
- if (calculatedField.condition) {
34
- return /*#__PURE__*/React.createElement(FieldConditional, {
35
- control: control,
36
- reset: reset,
37
- register: register,
38
- field: calculatedField,
39
- error: error
40
- });
41
- }
42
-
43
- if (calculatedField.type === 'array' && !calculatedField.multiplicity) {
44
- calculatedField.name = name;
45
- return /*#__PURE__*/React.createElement(FieldArray, _extends({
46
- control: control,
47
- register: register,
48
- error: error,
49
- formState: formState
50
- }, calculatedField));
51
- }
52
-
53
- if (calculatedField.type === 'array' && calculatedField.multiplicity === true) {
54
- calculatedField.name = name;
55
- return /*#__PURE__*/React.createElement(Multiplicity, _extends({
56
- control: control,
57
- register: register,
58
- trigger: trigger,
59
- clearErrors: clearErrors,
60
- error: error,
61
- formState: formState,
62
- setValue: setValue,
63
- getValues: getValues,
64
- unregister: unregister
65
- }, calculatedField));
66
- }
67
-
68
- return /*#__PURE__*/React.createElement(FieldBase, _extends({}, calculatedField, {
69
- name: name,
70
- control: control,
71
- register: register,
72
- reset: reset,
73
- error: error
74
- }));
75
- };
76
- export default Field;
@@ -1,6 +0,0 @@
1
- ---
2
- title: Form
3
- parent: docs/form/components
4
- ---
5
-
6
- hello md
@@ -1 +0,0 @@
1
- export {};
@@ -1,162 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import { lazy, useContext, useMemo } from 'react';
3
- import { FormContext } from '@digigov/form/FormContext';
4
- import Checkboxes from '@digigov/form/inputs/Checkboxes';
5
- import DateInput from '@digigov/form/inputs/DateInput';
6
- import FileInput from '@digigov/form/inputs/FileInput';
7
- import Input from '@digigov/form/inputs/Input';
8
- import OtpInput from '@digigov/form/inputs/OtpInput';
9
- import Radio from '@digigov/form/inputs/Radio';
10
- import Select from '@digigov/form/inputs/Select';
11
- var AutoComplete = /*#__PURE__*/lazy(function () {
12
- return import('@digigov/form/inputs/AutoComplete');
13
- });
14
- var FIELD_COMPONENTS = {
15
- text: {
16
- component: Input
17
- },
18
- string: {
19
- component: Input
20
- },
21
- file: {
22
- wrapper: 'fieldset',
23
- component: FileInput
24
- },
25
- date: {
26
- wrapper: 'fieldset',
27
- controlled: true,
28
- component: DateInput
29
- },
30
- otp: {
31
- wrapper: 'fieldset',
32
- controlled: true,
33
- component: OtpInput
34
- },
35
- 'choice:multiple': {
36
- wrapper: 'fieldset',
37
- controlled: true,
38
- component: Checkboxes
39
- },
40
- 'choice:single': {
41
- wrapper: 'fieldset',
42
- controlled: false,
43
- component: Radio
44
- }
45
- };
46
- var ALTERNATIVE_COMPONENTS = {
47
- Select: {
48
- component: Select,
49
- controlled: false
50
- },
51
- AutoComplete: {
52
- component: AutoComplete,
53
- controlled: true
54
- }
55
- };
56
- export function calculateField(children, field, componentRegistry) {
57
- var _field$extra;
58
-
59
- var calculatedField = _extends({}, field);
60
-
61
- var fieldComponentRegistry = _extends({}, FIELD_COMPONENTS, componentRegistry);
62
-
63
- if (children) {
64
- calculatedField.component = children;
65
- calculatedField.controlled = true;
66
- } else if (typeof field.component === 'function') {// leave as is
67
- } else if (!field.component && !field.type) {
68
- var _fieldComponentRegist;
69
-
70
- calculatedField.component = fieldComponentRegistry.string.component;
71
- calculatedField.controlled = ((_fieldComponentRegist = fieldComponentRegistry.string) === null || _fieldComponentRegist === void 0 ? void 0 : _fieldComponentRegist.controlled) || false;
72
- } else if (typeof (field === null || field === void 0 ? void 0 : (_field$extra = field.extra) === null || _field$extra === void 0 ? void 0 : _field$extra.component) === 'string' && ALTERNATIVE_COMPONENTS[field.extra.component]) {
73
- var _ALTERNATIVE_COMPONEN;
74
-
75
- calculatedField.controlled = ((_ALTERNATIVE_COMPONEN = ALTERNATIVE_COMPONENTS[field.extra.component]) === null || _ALTERNATIVE_COMPONEN === void 0 ? void 0 : _ALTERNATIVE_COMPONEN.controlled) || false;
76
- calculatedField.component = ALTERNATIVE_COMPONENTS[field.extra.component].component;
77
- } else if (!field.component && field.type && fieldComponentRegistry[field.type]) {
78
- var _fieldComponentRegist2;
79
-
80
- calculatedField.component = fieldComponentRegistry[field.type].component;
81
- calculatedField.wrapper = fieldComponentRegistry[field.type].wrapper;
82
- calculatedField.controlled = ((_fieldComponentRegist2 = fieldComponentRegistry[field.type]) === null || _fieldComponentRegist2 === void 0 ? void 0 : _fieldComponentRegist2.controlled) || false;
83
- } else {
84
- var _fieldComponentRegist3;
85
-
86
- calculatedField.component = fieldComponentRegistry.string.component;
87
- calculatedField.controlled = ((_fieldComponentRegist3 = fieldComponentRegistry.string) === null || _fieldComponentRegist3 === void 0 ? void 0 : _fieldComponentRegist3.controlled) || false;
88
- }
89
-
90
- return calculatedField;
91
- }
92
- export var useField = function useField(name, customField) {
93
- var _useContext = useContext(FormContext),
94
- fieldsMap = _useContext.fieldsMap,
95
- control = _useContext.control,
96
- register = _useContext.register,
97
- reset = _useContext.reset,
98
- trigger = _useContext.trigger,
99
- clearErrors = _useContext.clearErrors,
100
- errors = _useContext.errors,
101
- registerField = _useContext.registerField,
102
- watch = _useContext.watch,
103
- componentRegistry = _useContext.componentRegistry,
104
- getFieldState = _useContext.getFieldState,
105
- setValue = _useContext.setValue,
106
- getValues = _useContext.getValues,
107
- unregister = _useContext.unregister,
108
- formState = _useContext.formState;
109
-
110
- if (!registerField) {
111
- throw new Error("\n You can't use the Field component without wrapping it in FormBuilder.\n https://devs.pages.grnet.gr/digigov/digigov-sdk/sdk-docs/forms/create-simple-form/\n ");
112
- }
113
-
114
- useMemo(function () {
115
- return (customField === null || customField === void 0 ? void 0 : customField.type) && registerField(_extends({}, customField, {
116
- key: name
117
- }));
118
- }, [customField, name, registerField]);
119
- return {
120
- field: customField || fieldsMap[name],
121
- control: control,
122
- register: register,
123
- reset: reset,
124
- trigger: trigger,
125
- watch: watch,
126
- componentRegistry: componentRegistry,
127
- getFieldState: getFieldState,
128
- setValue: setValue,
129
- clearErrors: clearErrors,
130
- getValues: getValues,
131
- unregister: unregister,
132
- formState: formState,
133
- error: errors[name]
134
- };
135
- };
136
- export function evaluateFieldWithConditions(field, variables) {
137
- var newField = _extends({}, field);
138
-
139
- if (variables) {
140
- for (var key in variables) {
141
- if (field.condition[key] && field.condition[key].is) {
142
- var is = field.condition[key].is;
143
-
144
- if (is === variables[key] || Array.isArray(variables[key]) && variables[key].includes(is)) {
145
- var then = field.condition[key].then || {};
146
-
147
- for (var attr in then) {
148
- newField[attr] = then[attr];
149
- }
150
- }
151
- } else if (field.condition[key]) {
152
- var otherwise = field.condition[key]["else"] || {};
153
-
154
- for (var _attr in otherwise) {
155
- newField[_attr] = otherwise[_attr];
156
- }
157
- }
158
- }
159
- }
160
-
161
- return newField;
162
- }
@@ -1,8 +0,0 @@
1
- import FieldArray from '@digigov/form/FieldArray';
2
- export default {
3
- title: 'Digigov Form/FieldArray',
4
- component: FieldArray,
5
- displayName: 'FieldArray'
6
- };
7
- export * from '@digigov/form/FieldArray/__stories__/Default';
8
- export * from '@digigov/form/FieldArray/__stories__/WithExactLength';