@digigov/form 2.0.0-rc.8 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (819) hide show
  1. package/CHANGELOG.md +118 -3
  2. package/Field/ErrorGroup.d.ts +15 -0
  3. package/Field/ErrorGroup.js +53 -0
  4. package/Field/FieldBase.d.ts +1 -1
  5. package/Field/FieldBase.js +77 -0
  6. package/Field/FieldBaseContainer.d.ts +2 -2
  7. package/Field/FieldBaseContainer.js +43 -0
  8. package/Field/FieldConditional.d.ts +1 -1
  9. package/Field/FieldConditional.js +45 -0
  10. package/Field/index.d.ts +1 -1
  11. package/Field/index.js +70 -68
  12. package/Field/types.d.ts +61 -11
  13. package/Field/utils/evaluateFieldWithConditions.d.ts +2 -0
  14. package/Field/utils/evaluateFieldWithConditions.js +19 -0
  15. package/Field/utils/resolveField.d.ts +3 -0
  16. package/Field/utils/resolveField.js +32 -0
  17. package/Field/utils/useField.d.ts +2 -0
  18. package/Field/utils/useField.js +47 -0
  19. package/FieldArray/BaseFieldArray.d.ts +5 -0
  20. package/FieldArray/BaseFieldArray.js +46 -0
  21. package/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay.d.ts +9 -0
  22. package/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay.js +13 -0
  23. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.d.ts +26 -0
  24. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.js +134 -0
  25. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.d.ts +5 -0
  26. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.js +6 -0
  27. package/FieldArray/FormDialog/ArrayDisplay/index.d.ts +15 -0
  28. package/FieldArray/FormDialog/ArrayDisplay/index.js +32 -0
  29. package/FieldArray/FormDialog/ArrayEditModal.d.ts +24 -0
  30. package/FieldArray/FormDialog/ArrayEditModal.js +138 -0
  31. package/FieldArray/FormDialog/index.d.ts +19 -0
  32. package/FieldArray/FormDialog/index.js +199 -0
  33. package/FieldArray/index.d.ts +11 -2
  34. package/FieldArray/index.js +65 -60
  35. package/FieldObject/index.d.ts +11 -3
  36. package/FieldObject/index.js +53 -52
  37. package/Fieldset/FieldsetWithContext.js +27 -0
  38. package/Fieldset/index.d.ts +2 -2
  39. package/Fieldset/index.js +18 -32
  40. package/Fieldset/types.d.ts +3 -2
  41. package/FormBuilder/index.d.ts +8 -1
  42. package/FormBuilder/index.js +239 -2
  43. package/FormContext.d.ts +3 -2
  44. package/FormContext.js +7 -0
  45. package/MultiplicityField/add-objects.d.ts +3 -2
  46. package/MultiplicityField/add-objects.js +107 -0
  47. package/MultiplicityField/index.d.ts +2 -19
  48. package/MultiplicityField/index.js +84 -111
  49. package/MultiplicityField/types.d.ts +19 -0
  50. package/Questions/Questions.d.ts +1 -1
  51. package/Questions/Questions.js +48 -0
  52. package/Questions/QuestionsContext.d.ts +1 -2
  53. package/Questions/QuestionsContext.js +10 -0
  54. package/Questions/Step/ReviewStep.js +32 -0
  55. package/Questions/Step/Step.d.ts +1 -1
  56. package/Questions/Step/Step.js +39 -0
  57. package/Questions/Step/StepArrayReview.d.ts +1 -1
  58. package/Questions/Step/StepArrayReview.js +35 -0
  59. package/Questions/Step/StepContext.d.ts +1 -2
  60. package/Questions/Step/StepContext.js +28 -0
  61. package/Questions/Step/StepDescription.d.ts +1 -1
  62. package/Questions/Step/StepDescription.js +18 -0
  63. package/Questions/Step/StepForm.d.ts +2 -2
  64. package/Questions/Step/StepForm.js +29 -0
  65. package/Questions/Step/StepQuote.d.ts +1 -1
  66. package/Questions/Step/StepQuote.js +5 -0
  67. package/Questions/Step/StepTitle.d.ts +2 -1
  68. package/Questions/Step/StepTitle.js +25 -0
  69. package/Questions/Step/getAddMoreFields.d.ts +2 -2
  70. package/Questions/Step/getAddMoreFields.js +24 -0
  71. package/Questions/Step/index.d.ts +11 -12
  72. package/Questions/Step/index.js +13 -13
  73. package/Questions/Step/types.d.ts +2 -1
  74. package/Questions/Step/types.js +0 -0
  75. package/Questions/getNextStep.d.ts +1 -1
  76. package/Questions/getNextStep.js +13 -0
  77. package/Questions/index.d.ts +2 -2
  78. package/Questions/index.js +4 -3
  79. package/Questions/types.d.ts +2 -1
  80. package/Questions/types.js +0 -0
  81. package/hooks/useFieldFocusManager.d.ts +25 -0
  82. package/hooks/useFieldFocusManager.js +83 -0
  83. package/hooks/utils.d.ts +18 -0
  84. package/hooks/utils.js +60 -0
  85. package/index.d.ts +5 -2
  86. package/index.js +8 -4
  87. package/inputs/AutoCompleteInput/index.d.ts +4 -4
  88. package/inputs/AutoCompleteInput/index.js +42 -55
  89. package/inputs/Checkboxes/index.d.ts +7 -4
  90. package/inputs/Checkboxes/index.js +50 -91
  91. package/inputs/DateInput/index.d.ts +3 -7
  92. package/inputs/DateInput/index.js +128 -125
  93. package/inputs/DateTimeInput/index.d.ts +10 -0
  94. package/inputs/DateTimeInput/index.js +190 -0
  95. package/inputs/FileInput/index.d.ts +18 -2
  96. package/inputs/FileInput/index.js +59 -56
  97. package/inputs/ImageInput/index.d.ts +10 -2
  98. package/inputs/ImageInput/index.js +94 -74
  99. package/inputs/Input/index.d.ts +5 -2
  100. package/inputs/Input/index.js +67 -67
  101. package/inputs/Label/index.d.ts +2 -4
  102. package/inputs/Label/index.js +13 -21
  103. package/inputs/OtpInput/index.d.ts +1 -5
  104. package/inputs/OtpInput/index.js +122 -139
  105. package/inputs/Radio/index.d.ts +10 -3
  106. package/inputs/Radio/index.js +72 -56
  107. package/inputs/Select/index.d.ts +7 -4
  108. package/inputs/Select/index.js +23 -30
  109. package/inputs/index.d.ts +9 -9
  110. package/inputs/index.js +10 -9
  111. package/inputs/registry.d.ts +5 -0
  112. package/inputs/registry.js +80 -0
  113. package/internal.d.ts +5 -34
  114. package/internal.js +6 -0
  115. package/lazy.d.ts +94 -66
  116. package/lazy.js +163 -0
  117. package/package.json +12 -13
  118. package/registry.d.ts +45 -27
  119. package/registry.js +170 -0
  120. package/src/Field/ErrorGroup.tsx +84 -0
  121. package/src/Field/FieldBase.tsx +43 -25
  122. package/src/Field/FieldBaseContainer.tsx +71 -47
  123. package/src/Field/FieldConditional.tsx +10 -2
  124. package/src/Field/doc.mdx +207 -0
  125. package/src/Field/index.tsx +37 -23
  126. package/src/Field/types.tsx +92 -13
  127. package/src/Field/utils/evaluateFieldWithConditions.ts +33 -0
  128. package/src/Field/utils/resolveField.ts +58 -0
  129. package/src/Field/utils/useField.ts +68 -0
  130. package/src/FieldArray/BaseFieldArray.tsx +97 -0
  131. package/src/FieldArray/FieldArray.stories.js +4 -2
  132. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay.tsx +45 -0
  133. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayDisplay.stories.js +14 -0
  134. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.tsx +370 -0
  135. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.tsx +15 -0
  136. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/Cards.tsx +88 -0
  137. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/Default.tsx +93 -0
  138. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/ReadOnly.tsx +79 -0
  139. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/ReadOnlyCards.tsx +75 -0
  140. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/Sortable.tsx +93 -0
  141. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/SortableCards.tsx +88 -0
  142. package/src/FieldArray/FormDialog/ArrayDisplay/index.test.tsx +44 -0
  143. package/src/FieldArray/FormDialog/ArrayDisplay/index.tsx +67 -0
  144. package/src/FieldArray/FormDialog/ArrayEditModal.tsx +241 -0
  145. package/src/FieldArray/FormDialog/index.tsx +302 -0
  146. package/src/FieldArray/__stories__/CardsWithError.tsx +110 -0
  147. package/src/FieldArray/__stories__/Default.tsx +2 -1
  148. package/src/FieldArray/__stories__/TableWithError.tsx +111 -0
  149. package/src/FieldArray/__stories__/WithExactLength.tsx +2 -1
  150. package/src/FieldArray/__stories__/WithModal.tsx +188 -0
  151. package/src/FieldArray/__tests__/fieldset-multiplicity.spec.tsx +271 -0
  152. package/src/FieldArray/__tests__/multiplicity-attachment.spec.tsx +280 -0
  153. package/src/FieldArray/__tests__/multiplicity-optional.spec.tsx +232 -0
  154. package/src/FieldArray/__tests__/multiplicity-required.spec.tsx +170 -0
  155. package/src/FieldArray/__tests__/nested-fieldset-multiplicity.spec.tsx +627 -0
  156. package/src/FieldArray/__tests__/preference-multiple-choice.spec.tsx +222 -0
  157. package/src/FieldArray/index.spec.tsx +355 -0
  158. package/src/FieldArray/index.test.tsx +43 -0
  159. package/src/FieldArray/index.tsx +84 -55
  160. package/src/FieldObject/index.tsx +53 -27
  161. package/src/Fieldset/FieldsetWithContext.tsx +1 -1
  162. package/src/Fieldset/index.tsx +6 -6
  163. package/src/Fieldset/types.tsx +5 -3
  164. package/src/FormBuilder/FormBuilder.stories.js +6 -1
  165. package/src/FormBuilder/__stories__/AutoErrorGrouping.tsx +63 -0
  166. package/src/FormBuilder/__stories__/Default.tsx +1 -1
  167. package/src/FormBuilder/__stories__/ErrorGrouping.tsx +43 -0
  168. package/src/FormBuilder/{FormBuilder.mdx → doc.mdx} +27 -35
  169. package/src/FormBuilder/index.test.tsx +32 -0
  170. package/src/FormBuilder/index.tsx +314 -1
  171. package/src/FormBuilder/interaction.test.tsx +40 -0
  172. package/src/FormBuilder/scenarios.test.tsx +2775 -0
  173. package/src/FormContext.tsx +7 -3
  174. package/src/MultiplicityField/MultiplicityField.stories.js +9 -6
  175. package/src/MultiplicityField/__stories__/Default.tsx +1 -1
  176. package/src/MultiplicityField/__stories__/PreviewDisplay.tsx +2 -4
  177. package/src/MultiplicityField/__stories__/WithExactLength.tsx +2 -2
  178. package/src/MultiplicityField/__stories__/WithMaxLength.tsx +2 -2
  179. package/src/MultiplicityField/__stories__/WithMinAndMaxLength.tsx +2 -2
  180. package/src/MultiplicityField/__stories__/WithMinLength.tsx +2 -2
  181. package/src/MultiplicityField/add-objects.tsx +39 -30
  182. package/{cjs/MultiplicityField/MultiplicityField.mdx → src/MultiplicityField/doc.mdx} +112 -98
  183. package/src/MultiplicityField/index.test.tsx +44 -0
  184. package/src/MultiplicityField/index.tsx +25 -34
  185. package/src/MultiplicityField/types.ts +25 -0
  186. package/src/Questions/Questions.stories.js +4 -1
  187. package/src/Questions/Questions.tsx +6 -6
  188. package/src/Questions/QuestionsContext.tsx +1 -1
  189. package/src/Questions/Step/Step.tsx +1 -1
  190. package/src/Questions/Step/StepArrayReview.tsx +3 -3
  191. package/src/Questions/Step/StepContext.tsx +1 -1
  192. package/src/Questions/Step/StepDescription.tsx +2 -1
  193. package/src/Questions/Step/StepForm.tsx +2 -2
  194. package/src/Questions/Step/StepQuote.tsx +2 -1
  195. package/src/Questions/Step/StepTitle.tsx +6 -3
  196. package/src/Questions/Step/getAddMoreFields.tsx +2 -2
  197. package/src/Questions/Step/index.ts +0 -1
  198. package/src/Questions/Step/types.tsx +2 -1
  199. package/src/Questions/__snapshots__/index.spec.tsx.snap +74 -587
  200. package/src/Questions/__stories__/Default.tsx +1 -1
  201. package/{Questions/index.mdx → src/Questions/doc.mdx} +34 -57
  202. package/src/Questions/getNextStep.tsx +1 -1
  203. package/src/Questions/index.spec.tsx +17 -5
  204. package/src/Questions/index.test.tsx +24 -0
  205. package/src/Questions/types.tsx +2 -1
  206. package/src/create-simple-form.mdx +2 -6
  207. package/src/{index.mdx → doc.mdx} +29 -18
  208. package/src/hooks/__tests__/useFieldFocusManager.spec.tsx +1079 -0
  209. package/src/hooks/__tests__/utils.spec.ts +568 -0
  210. package/src/hooks/useFieldFocusManager.ts +162 -0
  211. package/src/hooks/utils.ts +122 -0
  212. package/src/index.ts +4 -1
  213. package/src/inputs/AutoCompleteInput/AutoComplete.stories.js +5 -2
  214. package/src/inputs/AutoCompleteInput/__stories__/Default.tsx +3 -11
  215. package/src/inputs/AutoCompleteInput/__stories__/Multiple.tsx +2 -9
  216. package/{cjs/inputs/AutoCompleteInput/index.mdx → src/inputs/AutoCompleteInput/doc.mdx} +2 -13
  217. package/src/inputs/AutoCompleteInput/index.test.tsx +28 -0
  218. package/src/inputs/AutoCompleteInput/index.tsx +40 -35
  219. package/src/inputs/Checkboxes/Checkboxes.stories.js +6 -3
  220. package/src/inputs/Checkboxes/__stories__/Conditional.tsx +1 -1
  221. package/src/inputs/Checkboxes/__stories__/Default.tsx +1 -1
  222. package/src/inputs/Checkboxes/__stories__/WithDivider.tsx +1 -1
  223. package/src/inputs/Checkboxes/{index.mdx → doc.mdx} +5 -15
  224. package/src/inputs/Checkboxes/index.test.tsx +32 -0
  225. package/src/inputs/Checkboxes/index.tsx +106 -92
  226. package/src/inputs/DateInput/DateInput.stories.js +8 -1
  227. package/src/inputs/DateInput/__stories__/Default.tsx +17 -16
  228. package/src/inputs/DateInput/__stories__/WithDefaultValue.tsx +26 -0
  229. package/src/inputs/DateInput/__stories__/WithInitialValue.tsx +28 -0
  230. package/src/inputs/DateInput/__stories__/WithWrongDefaultValue.tsx +26 -0
  231. package/src/inputs/DateInput/__stories__/WithWrongInitialValue.tsx +28 -0
  232. package/src/inputs/DateInput/{index.mdx → doc.mdx} +1 -8
  233. package/src/inputs/DateInput/index.test.tsx +40 -0
  234. package/src/inputs/DateInput/index.tsx +77 -27
  235. package/src/inputs/DateTimeInput/DateTimeInput.stories.js +14 -0
  236. package/src/inputs/DateTimeInput/__stories__/Default.tsx +25 -0
  237. package/src/inputs/DateTimeInput/__stories__/WithDefaultValue.tsx +26 -0
  238. package/src/inputs/DateTimeInput/__stories__/WithInitialValue.tsx +28 -0
  239. package/src/inputs/DateTimeInput/__stories__/WithWrongDefaultValue.tsx +26 -0
  240. package/src/inputs/DateTimeInput/__stories__/WithWrongInitialValue.tsx +28 -0
  241. package/src/inputs/DateTimeInput/doc.mdx +16 -0
  242. package/src/inputs/DateTimeInput/index.test.tsx +40 -0
  243. package/src/inputs/DateTimeInput/index.tsx +246 -0
  244. package/src/inputs/FileInput/FileInput.stories.js +5 -1
  245. package/src/inputs/FileInput/__stories__/Default.tsx +1 -1
  246. package/src/inputs/FileInput/__stories__/WithBorderAndLink.tsx +34 -0
  247. package/{inputs/FileInput/index.mdx → src/inputs/FileInput/doc.mdx} +1 -5
  248. package/src/inputs/FileInput/index.test.tsx +28 -0
  249. package/src/inputs/FileInput/index.tsx +102 -43
  250. package/src/inputs/ImageInput/ImageInput.stories.js +7 -3
  251. package/src/inputs/ImageInput/__stories__/Default.tsx +1 -1
  252. package/src/inputs/ImageInput/__stories__/{WithInvalidImageSize.tsx → MaxSize.tsx} +5 -3
  253. package/src/inputs/ImageInput/__stories__/WithInitialValues.tsx +45 -0
  254. package/src/inputs/ImageInput/__stories__/WithInvalidImageDimension.tsx +3 -1
  255. package/src/inputs/ImageInput/__stories__/logo.d.ts +4 -0
  256. package/src/inputs/ImageInput/__stories__/logo.png +0 -0
  257. package/src/inputs/ImageInput/doc.mdx +23 -0
  258. package/src/inputs/ImageInput/index.test.tsx +36 -0
  259. package/src/inputs/ImageInput/index.tsx +105 -52
  260. package/src/inputs/Input/Input.stories.js +17 -10
  261. package/src/inputs/Input/__stories__/AFM.tsx +1 -1
  262. package/src/inputs/Input/__stories__/AMKA.tsx +23 -0
  263. package/src/inputs/Input/__stories__/Boolean.tsx +1 -1
  264. package/src/inputs/Input/__stories__/Email.tsx +23 -0
  265. package/src/inputs/Input/__stories__/IBAN.tsx +1 -1
  266. package/src/inputs/Input/__stories__/Integer.tsx +1 -1
  267. package/src/inputs/Input/__stories__/LandlineNumber.tsx +3 -2
  268. package/src/inputs/Input/__stories__/MobilePhone.tsx +2 -1
  269. package/src/inputs/Input/__stories__/PhoneNumber.tsx +2 -1
  270. package/src/inputs/Input/__stories__/PostalCode.tsx +2 -1
  271. package/src/inputs/Input/__stories__/Rate.tsx +25 -0
  272. package/src/inputs/Input/__stories__/{Default.tsx → String.tsx} +2 -2
  273. package/src/inputs/Input/__stories__/StringWithTrimValidation.tsx +26 -0
  274. package/src/inputs/Input/__stories__/{TextWithCharacterLimit.tsx → TextWithLimit.tsx} +3 -2
  275. package/src/inputs/Input/doc.mdx +56 -0
  276. package/src/inputs/Input/index.test.tsx +76 -0
  277. package/src/inputs/Input/index.tsx +55 -35
  278. package/src/inputs/Label/Label.stories.js +4 -1
  279. package/src/inputs/Label/__stories__/Default.tsx +4 -2
  280. package/src/inputs/Label/doc.mdx +14 -0
  281. package/src/inputs/Label/index.test.tsx +24 -0
  282. package/src/inputs/Label/index.tsx +4 -11
  283. package/src/inputs/OtpInput/OtpInput.stories.js +4 -1
  284. package/src/inputs/OtpInput/__stories__/Default.tsx +1 -1
  285. package/{cjs/inputs/OtpInput/index.mdx → src/inputs/OtpInput/doc.mdx} +1 -8
  286. package/src/inputs/OtpInput/index.test.tsx +24 -0
  287. package/src/inputs/OtpInput/index.tsx +45 -34
  288. package/src/inputs/Radio/Radio.stories.js +6 -3
  289. package/src/inputs/Radio/__stories__/Conditional.tsx +3 -2
  290. package/src/inputs/Radio/__stories__/Default.tsx +1 -1
  291. package/src/inputs/Radio/__stories__/WithDivider.tsx +1 -1
  292. package/{cjs/inputs/Radio/index.mdx → src/inputs/Radio/doc.mdx} +5 -15
  293. package/src/inputs/Radio/index.test.tsx +32 -0
  294. package/src/inputs/Radio/index.tsx +93 -12
  295. package/src/inputs/Select/Select.stories.js +4 -1
  296. package/src/inputs/Select/__stories__/Default.tsx +1 -1
  297. package/src/inputs/Select/{index.mdx → doc.mdx} +1 -5
  298. package/src/inputs/Select/index.test.tsx +24 -0
  299. package/src/inputs/Select/index.tsx +22 -9
  300. package/src/inputs/registry.ts +86 -0
  301. package/src/installation.mdx +2 -5
  302. package/src/internal.ts +2 -31
  303. package/src/lazy.ts +56 -0
  304. package/src/registry.ts +179 -0
  305. package/src/types.tsx +21 -65
  306. package/src/utils.ts +67 -33
  307. package/src/validators/index.ts +138 -99
  308. package/src/validators/types.ts +1 -1
  309. package/src/validators/utils/amka.ts +39 -0
  310. package/src/validators/utils/date.ts +131 -0
  311. package/src/validators/utils/datetime.ts +222 -0
  312. package/src/validators/utils/email.ts +11 -0
  313. package/src/validators/utils/file.ts +35 -19
  314. package/src/validators/utils/iban.ts +2 -2
  315. package/src/validators/utils/image.ts +2 -2
  316. package/src/validators/utils/index.ts +15 -6
  317. package/src/validators/utils/int.ts +2 -2
  318. package/src/validators/utils/number.ts +2 -2
  319. package/src/validators/utils/otp.ts +2 -2
  320. package/src/validators/utils/phone.ts +65 -74
  321. package/src/validators/utils/postal_code.ts +3 -3
  322. package/src/validators/utils/text_limit.ts +2 -2
  323. package/src/validators/utils/uuid4.ts +2 -1
  324. package/src/validators/validators.spec.ts +6 -40
  325. package/types.d.ts +14 -37
  326. package/types.js +1 -0
  327. package/utils.d.ts +4 -1
  328. package/utils.js +56 -0
  329. package/validators/index.d.ts +6 -6
  330. package/validators/index.js +115 -180
  331. package/validators/types.d.ts +1 -1
  332. package/validators/types.js +0 -0
  333. package/validators/utils/afm.js +19 -0
  334. package/validators/utils/amka.d.ts +6 -0
  335. package/validators/utils/amka.js +27 -0
  336. package/validators/utils/date.d.ts +9 -0
  337. package/validators/utils/date.js +95 -0
  338. package/validators/utils/datetime.d.ts +9 -0
  339. package/validators/utils/datetime.js +121 -0
  340. package/validators/utils/email.d.ts +5 -0
  341. package/validators/utils/email.js +10 -0
  342. package/validators/utils/file.d.ts +2 -2
  343. package/validators/utils/file.js +31 -0
  344. package/validators/utils/iban.d.ts +2 -2
  345. package/validators/utils/iban.js +104 -0
  346. package/validators/utils/image.d.ts +2 -2
  347. package/validators/utils/image.js +65 -0
  348. package/validators/utils/index.d.ts +14 -11
  349. package/validators/utils/index.js +62 -85
  350. package/validators/utils/int.d.ts +1 -1
  351. package/validators/utils/int.js +13 -0
  352. package/validators/utils/number.d.ts +1 -1
  353. package/validators/utils/number.js +12 -0
  354. package/validators/utils/otp.d.ts +2 -2
  355. package/validators/utils/otp.js +21 -0
  356. package/validators/utils/phone.d.ts +3 -3
  357. package/validators/utils/phone.js +198 -0
  358. package/validators/utils/postal_code.d.ts +3 -3
  359. package/validators/utils/postal_code.js +18 -0
  360. package/validators/utils/text_limit.d.ts +2 -2
  361. package/validators/utils/text_limit.js +34 -0
  362. package/validators/utils/uuid4.js +14 -0
  363. package/Field/FieldBase/index.js +0 -82
  364. package/Field/FieldBase/package.json +0 -6
  365. package/Field/FieldBaseContainer/index.js +0 -40
  366. package/Field/FieldBaseContainer/package.json +0 -6
  367. package/Field/FieldConditional/index.js +0 -59
  368. package/Field/FieldConditional/package.json +0 -6
  369. package/Field/index.mdx +0 -6
  370. package/Field/package.json +0 -6
  371. package/Field/types/index.js +0 -1
  372. package/Field/types/package.json +0 -6
  373. package/Field/utils/index.js +0 -153
  374. package/Field/utils/package.json +0 -6
  375. package/Field/utils.d.ts +0 -5
  376. package/FieldArray/FieldArray.stories/index.js +0 -8
  377. package/FieldArray/FieldArray.stories/package.json +0 -6
  378. package/FieldArray/FieldArray.stories.d.ts +0 -9
  379. package/FieldArray/FieldArray.stories.playwright.json +0 -353
  380. package/FieldArray/__stories__/Default/index.js +0 -88
  381. package/FieldArray/__stories__/Default/package.json +0 -6
  382. package/FieldArray/__stories__/Default.d.ts +0 -2
  383. package/FieldArray/__stories__/WithExactLength/index.js +0 -88
  384. package/FieldArray/__stories__/WithExactLength/package.json +0 -6
  385. package/FieldArray/__stories__/WithExactLength.d.ts +0 -2
  386. package/FieldArray/package.json +0 -6
  387. package/FieldObject/package.json +0 -6
  388. package/Fieldset/FieldsetWithContext/index.js +0 -35
  389. package/Fieldset/FieldsetWithContext/package.json +0 -6
  390. package/Fieldset/package.json +0 -6
  391. package/Fieldset/types/index.js +0 -1
  392. package/Fieldset/types/package.json +0 -6
  393. package/Form.stories/index.js +0 -3
  394. package/Form.stories/package.json +0 -6
  395. package/Form.stories.d.ts +0 -4
  396. package/FormBuilder/FormBuilder/index.js +0 -152
  397. package/FormBuilder/FormBuilder/package.json +0 -6
  398. package/FormBuilder/FormBuilder.d.ts +0 -5
  399. package/FormBuilder/FormBuilder.mdx +0 -256
  400. package/FormBuilder/FormBuilder.stories/index.js +0 -7
  401. package/FormBuilder/FormBuilder.stories/package.json +0 -6
  402. package/FormBuilder/FormBuilder.stories.d.ts +0 -8
  403. package/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  404. package/FormBuilder/__stories__/Default/index.js +0 -26
  405. package/FormBuilder/__stories__/Default/package.json +0 -6
  406. package/FormBuilder/__stories__/Default.d.ts +0 -3
  407. package/FormBuilder/package.json +0 -6
  408. package/FormContext/index.js +0 -5
  409. package/FormContext/package.json +0 -6
  410. package/MultiplicityField/MultiplicityField.mdx +0 -590
  411. package/MultiplicityField/MultiplicityField.stories/index.js +0 -12
  412. package/MultiplicityField/MultiplicityField.stories/package.json +0 -6
  413. package/MultiplicityField/MultiplicityField.stories.d.ts +0 -13
  414. package/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  415. package/MultiplicityField/__stories__/Default/index.js +0 -95
  416. package/MultiplicityField/__stories__/Default/package.json +0 -6
  417. package/MultiplicityField/__stories__/Default.d.ts +0 -2
  418. package/MultiplicityField/__stories__/PreviewDisplay/index.js +0 -78
  419. package/MultiplicityField/__stories__/PreviewDisplay/package.json +0 -6
  420. package/MultiplicityField/__stories__/PreviewDisplay.d.ts +0 -2
  421. package/MultiplicityField/__stories__/WithExactLength/index.js +0 -90
  422. package/MultiplicityField/__stories__/WithExactLength/package.json +0 -6
  423. package/MultiplicityField/__stories__/WithExactLength.d.ts +0 -2
  424. package/MultiplicityField/__stories__/WithMaxLength/index.js +0 -93
  425. package/MultiplicityField/__stories__/WithMaxLength/package.json +0 -6
  426. package/MultiplicityField/__stories__/WithMaxLength.d.ts +0 -2
  427. package/MultiplicityField/__stories__/WithMinAndMaxLength/index.js +0 -94
  428. package/MultiplicityField/__stories__/WithMinAndMaxLength/package.json +0 -6
  429. package/MultiplicityField/__stories__/WithMinAndMaxLength.d.ts +0 -2
  430. package/MultiplicityField/__stories__/WithMinLength/index.js +0 -93
  431. package/MultiplicityField/__stories__/WithMinLength/package.json +0 -6
  432. package/MultiplicityField/__stories__/WithMinLength.d.ts +0 -2
  433. package/MultiplicityField/add-objects/index.js +0 -148
  434. package/MultiplicityField/add-objects/package.json +0 -6
  435. package/MultiplicityField/package.json +0 -6
  436. package/Questions/Questions/index.js +0 -75
  437. package/Questions/Questions/package.json +0 -6
  438. package/Questions/Questions.stories/index.js +0 -7
  439. package/Questions/Questions.stories/package.json +0 -6
  440. package/Questions/Questions.stories.d.ts +0 -8
  441. package/Questions/QuestionsContext/index.js +0 -11
  442. package/Questions/QuestionsContext/package.json +0 -6
  443. package/Questions/Step/ReviewStep/index.js +0 -50
  444. package/Questions/Step/ReviewStep/package.json +0 -6
  445. package/Questions/Step/Step/index.js +0 -62
  446. package/Questions/Step/Step/package.json +0 -6
  447. package/Questions/Step/StepArrayReview/index.js +0 -46
  448. package/Questions/Step/StepArrayReview/package.json +0 -6
  449. package/Questions/Step/StepContext/index.js +0 -27
  450. package/Questions/Step/StepContext/package.json +0 -6
  451. package/Questions/Step/StepDescription/index.js +0 -24
  452. package/Questions/Step/StepDescription/package.json +0 -6
  453. package/Questions/Step/StepForm/index.js +0 -44
  454. package/Questions/Step/StepForm/package.json +0 -6
  455. package/Questions/Step/StepQuote/index.js +0 -10
  456. package/Questions/Step/StepQuote/package.json +0 -6
  457. package/Questions/Step/StepTitle/index.js +0 -41
  458. package/Questions/Step/StepTitle/package.json +0 -6
  459. package/Questions/Step/getAddMoreFields/index.js +0 -21
  460. package/Questions/Step/getAddMoreFields/package.json +0 -6
  461. package/Questions/Step/package.json +0 -6
  462. package/Questions/Step/types/index.js +0 -1
  463. package/Questions/Step/types/package.json +0 -6
  464. package/Questions/__snapshots__/index.spec.tsx.snap +0 -596
  465. package/Questions/__stories__/Default/index.js +0 -102
  466. package/Questions/__stories__/Default/package.json +0 -6
  467. package/Questions/__stories__/Default.d.ts +0 -3
  468. package/Questions/getNextStep/index.js +0 -20
  469. package/Questions/getNextStep/package.json +0 -6
  470. package/Questions/index.spec/index.js +0 -59
  471. package/Questions/index.spec/package.json +0 -6
  472. package/Questions/index.spec.d.ts +0 -1
  473. package/Questions/package.json +0 -6
  474. package/Questions/types/index.js +0 -1
  475. package/Questions/types/package.json +0 -6
  476. package/cjs/Field/FieldBase/index.js +0 -89
  477. package/cjs/Field/FieldBaseContainer/index.js +0 -47
  478. package/cjs/Field/FieldConditional/index.js +0 -66
  479. package/cjs/Field/index.js +0 -80
  480. package/cjs/Field/index.mdx +0 -6
  481. package/cjs/Field/types/index.js +0 -5
  482. package/cjs/Field/utils/index.js +0 -162
  483. package/cjs/FieldArray/FieldArray.stories/index.js +0 -38
  484. package/cjs/FieldArray/FieldArray.stories.playwright.json +0 -353
  485. package/cjs/FieldArray/__stories__/Default/index.js +0 -98
  486. package/cjs/FieldArray/__stories__/WithExactLength/index.js +0 -98
  487. package/cjs/FieldArray/index.js +0 -68
  488. package/cjs/FieldObject/index.js +0 -64
  489. package/cjs/Fieldset/FieldsetWithContext/index.js +0 -45
  490. package/cjs/Fieldset/index.js +0 -44
  491. package/cjs/Fieldset/types/index.js +0 -5
  492. package/cjs/Form.stories/index.js +0 -9
  493. package/cjs/FormBuilder/FormBuilder/index.js +0 -162
  494. package/cjs/FormBuilder/FormBuilder.mdx +0 -256
  495. package/cjs/FormBuilder/FormBuilder.stories/index.js +0 -26
  496. package/cjs/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  497. package/cjs/FormBuilder/__stories__/Default/index.js +0 -36
  498. package/cjs/FormBuilder/index.js +0 -8
  499. package/cjs/FormContext/index.js +0 -11
  500. package/cjs/MultiplicityField/MultiplicityField.stories/index.js +0 -86
  501. package/cjs/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  502. package/cjs/MultiplicityField/__stories__/Default/index.js +0 -105
  503. package/cjs/MultiplicityField/__stories__/PreviewDisplay/index.js +0 -88
  504. package/cjs/MultiplicityField/__stories__/WithExactLength/index.js +0 -100
  505. package/cjs/MultiplicityField/__stories__/WithMaxLength/index.js +0 -103
  506. package/cjs/MultiplicityField/__stories__/WithMinAndMaxLength/index.js +0 -104
  507. package/cjs/MultiplicityField/__stories__/WithMinLength/index.js +0 -103
  508. package/cjs/MultiplicityField/add-objects/index.js +0 -155
  509. package/cjs/MultiplicityField/index.js +0 -123
  510. package/cjs/Questions/Questions/index.js +0 -85
  511. package/cjs/Questions/Questions.stories/index.js +0 -26
  512. package/cjs/Questions/QuestionsContext/index.js +0 -17
  513. package/cjs/Questions/Step/ReviewStep/index.js +0 -60
  514. package/cjs/Questions/Step/Step/index.js +0 -72
  515. package/cjs/Questions/Step/StepArrayReview/index.js +0 -56
  516. package/cjs/Questions/Step/StepContext/index.js +0 -33
  517. package/cjs/Questions/Step/StepDescription/index.js +0 -34
  518. package/cjs/Questions/Step/StepForm/index.js +0 -54
  519. package/cjs/Questions/Step/StepQuote/index.js +0 -17
  520. package/cjs/Questions/Step/StepTitle/index.js +0 -51
  521. package/cjs/Questions/Step/getAddMoreFields/index.js +0 -27
  522. package/cjs/Questions/Step/index.js +0 -143
  523. package/cjs/Questions/Step/types/index.js +0 -5
  524. package/cjs/Questions/__snapshots__/index.spec.tsx.snap +0 -596
  525. package/cjs/Questions/__stories__/Default/index.js +0 -113
  526. package/cjs/Questions/getNextStep/index.js +0 -26
  527. package/cjs/Questions/index.js +0 -21
  528. package/cjs/Questions/index.mdx +0 -415
  529. package/cjs/Questions/index.spec/index.js +0 -63
  530. package/cjs/Questions/types/index.js +0 -5
  531. package/cjs/create-simple-form.mdx +0 -539
  532. package/cjs/index.js +0 -22
  533. package/cjs/index.mdx +0 -51
  534. package/cjs/inputs/AutoCompleteInput/AutoComplete.stories/index.js +0 -38
  535. package/cjs/inputs/AutoCompleteInput/__stories__/Default/index.js +0 -51
  536. package/cjs/inputs/AutoCompleteInput/__stories__/Multiple/index.js +0 -52
  537. package/cjs/inputs/AutoCompleteInput/index.js +0 -66
  538. package/cjs/inputs/Checkboxes/Checkboxes.stories/index.js +0 -50
  539. package/cjs/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  540. package/cjs/inputs/Checkboxes/__stories__/Conditional/index.js +0 -103
  541. package/cjs/inputs/Checkboxes/__stories__/Default/index.js +0 -50
  542. package/cjs/inputs/Checkboxes/__stories__/WithDivider/index.js +0 -51
  543. package/cjs/inputs/Checkboxes/index.js +0 -101
  544. package/cjs/inputs/Checkboxes/index.mdx +0 -33
  545. package/cjs/inputs/DateInput/DateInput.stories/index.js +0 -26
  546. package/cjs/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  547. package/cjs/inputs/DateInput/__stories__/Default/index.js +0 -33
  548. package/cjs/inputs/DateInput/index.js +0 -141
  549. package/cjs/inputs/DateInput/index.mdx +0 -23
  550. package/cjs/inputs/FileInput/FileInput.stories/index.js +0 -26
  551. package/cjs/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  552. package/cjs/inputs/FileInput/__stories__/Default/index.js +0 -30
  553. package/cjs/inputs/FileInput/index.js +0 -68
  554. package/cjs/inputs/FileInput/index.mdx +0 -19
  555. package/cjs/inputs/ImageInput/ImageInput.stories/index.js +0 -50
  556. package/cjs/inputs/ImageInput/ImageInput.stories.playwright.json +0 -77
  557. package/cjs/inputs/ImageInput/__stories__/Default/index.js +0 -38
  558. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +0 -46
  559. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +0 -43
  560. package/cjs/inputs/ImageInput/index.js +0 -86
  561. package/cjs/inputs/ImageInput/index.mdx +0 -19
  562. package/cjs/inputs/Input/Input.stories/index.js +0 -134
  563. package/cjs/inputs/Input/Input.stories.playwright.json +0 -376
  564. package/cjs/inputs/Input/__stories__/AFM/index.js +0 -32
  565. package/cjs/inputs/Input/__stories__/Boolean/index.js +0 -33
  566. package/cjs/inputs/Input/__stories__/Default/index.js +0 -33
  567. package/cjs/inputs/Input/__stories__/IBAN/index.js +0 -33
  568. package/cjs/inputs/Input/__stories__/Integer/index.js +0 -41
  569. package/cjs/inputs/Input/__stories__/LandlineNumber/index.js +0 -36
  570. package/cjs/inputs/Input/__stories__/MobilePhone/index.js +0 -36
  571. package/cjs/inputs/Input/__stories__/PhoneNumber/index.js +0 -35
  572. package/cjs/inputs/Input/__stories__/PostalCode/index.js +0 -35
  573. package/cjs/inputs/Input/__stories__/TextWithCharacterLimit/index.js +0 -39
  574. package/cjs/inputs/Input/index.js +0 -76
  575. package/cjs/inputs/Input/index.mdx +0 -95
  576. package/cjs/inputs/Label/Label.stories/index.js +0 -26
  577. package/cjs/inputs/Label/Label.stories.playwright.json +0 -40
  578. package/cjs/inputs/Label/__stories__/Default/index.js +0 -37
  579. package/cjs/inputs/Label/index.js +0 -29
  580. package/cjs/inputs/OtpInput/OtpInput.stories/index.js +0 -26
  581. package/cjs/inputs/OtpInput/__stories__/Default/index.js +0 -39
  582. package/cjs/inputs/OtpInput/index.js +0 -151
  583. package/cjs/inputs/Radio/Radio.stories/index.js +0 -50
  584. package/cjs/inputs/Radio/Radio.stories.playwright.json +0 -73
  585. package/cjs/inputs/Radio/__stories__/Conditional/index.js +0 -103
  586. package/cjs/inputs/Radio/__stories__/Default/index.js +0 -55
  587. package/cjs/inputs/Radio/__stories__/WithDivider/index.js +0 -56
  588. package/cjs/inputs/Radio/index.js +0 -64
  589. package/cjs/inputs/Select/Select.stories/index.js +0 -26
  590. package/cjs/inputs/Select/Select.stories.playwright.json +0 -22
  591. package/cjs/inputs/Select/__stories__/Default/index.js +0 -61
  592. package/cjs/inputs/Select/index.js +0 -38
  593. package/cjs/inputs/Select/index.mdx +0 -17
  594. package/cjs/inputs/index.js +0 -69
  595. package/cjs/installation.mdx +0 -68
  596. package/cjs/internal/index.js +0 -348
  597. package/cjs/lazy/index.js +0 -517
  598. package/cjs/registry/index.js +0 -147
  599. package/cjs/types/index.js +0 -5
  600. package/cjs/utils/index.js +0 -87
  601. package/cjs/validators/index.js +0 -193
  602. package/cjs/validators/types/index.js +0 -5
  603. package/cjs/validators/utils/afm/index.js +0 -38
  604. package/cjs/validators/utils/file/index.js +0 -43
  605. package/cjs/validators/utils/iban/index.js +0 -123
  606. package/cjs/validators/utils/image/index.js +0 -126
  607. package/cjs/validators/utils/index.js +0 -204
  608. package/cjs/validators/utils/int/index.js +0 -26
  609. package/cjs/validators/utils/number/index.js +0 -22
  610. package/cjs/validators/utils/otp/index.js +0 -32
  611. package/cjs/validators/utils/phone/index.js +0 -143
  612. package/cjs/validators/utils/postal_code/index.js +0 -34
  613. package/cjs/validators/utils/text_limit/index.js +0 -54
  614. package/cjs/validators/utils/uuid4/index.js +0 -25
  615. package/cjs/validators/validators.spec/index.js +0 -87
  616. package/create-simple-form.mdx +0 -539
  617. package/index.mdx +0 -51
  618. package/inputs/AutoCompleteInput/AutoComplete.stories/index.js +0 -8
  619. package/inputs/AutoCompleteInput/AutoComplete.stories/package.json +0 -6
  620. package/inputs/AutoCompleteInput/AutoComplete.stories.d.ts +0 -9
  621. package/inputs/AutoCompleteInput/__stories__/Default/index.js +0 -44
  622. package/inputs/AutoCompleteInput/__stories__/Default/package.json +0 -6
  623. package/inputs/AutoCompleteInput/__stories__/Default.d.ts +0 -3
  624. package/inputs/AutoCompleteInput/__stories__/Multiple/index.js +0 -45
  625. package/inputs/AutoCompleteInput/__stories__/Multiple/package.json +0 -6
  626. package/inputs/AutoCompleteInput/__stories__/Multiple.d.ts +0 -3
  627. package/inputs/AutoCompleteInput/index.mdx +0 -29
  628. package/inputs/AutoCompleteInput/package.json +0 -6
  629. package/inputs/Checkboxes/Checkboxes.stories/index.js +0 -9
  630. package/inputs/Checkboxes/Checkboxes.stories/package.json +0 -6
  631. package/inputs/Checkboxes/Checkboxes.stories.d.ts +0 -10
  632. package/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  633. package/inputs/Checkboxes/__stories__/Conditional/index.js +0 -93
  634. package/inputs/Checkboxes/__stories__/Conditional/package.json +0 -6
  635. package/inputs/Checkboxes/__stories__/Conditional.d.ts +0 -3
  636. package/inputs/Checkboxes/__stories__/Default/index.js +0 -40
  637. package/inputs/Checkboxes/__stories__/Default/package.json +0 -6
  638. package/inputs/Checkboxes/__stories__/Default.d.ts +0 -3
  639. package/inputs/Checkboxes/__stories__/WithDivider/index.js +0 -41
  640. package/inputs/Checkboxes/__stories__/WithDivider/package.json +0 -6
  641. package/inputs/Checkboxes/__stories__/WithDivider.d.ts +0 -3
  642. package/inputs/Checkboxes/index.mdx +0 -33
  643. package/inputs/Checkboxes/package.json +0 -6
  644. package/inputs/DateInput/DateInput.stories/index.js +0 -7
  645. package/inputs/DateInput/DateInput.stories/package.json +0 -6
  646. package/inputs/DateInput/DateInput.stories.d.ts +0 -8
  647. package/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  648. package/inputs/DateInput/__stories__/Default/index.js +0 -23
  649. package/inputs/DateInput/__stories__/Default/package.json +0 -6
  650. package/inputs/DateInput/__stories__/Default.d.ts +0 -3
  651. package/inputs/DateInput/index.mdx +0 -23
  652. package/inputs/DateInput/package.json +0 -6
  653. package/inputs/FileInput/FileInput.stories/index.js +0 -7
  654. package/inputs/FileInput/FileInput.stories/package.json +0 -6
  655. package/inputs/FileInput/FileInput.stories.d.ts +0 -8
  656. package/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  657. package/inputs/FileInput/__stories__/Default/index.js +0 -20
  658. package/inputs/FileInput/__stories__/Default/package.json +0 -6
  659. package/inputs/FileInput/__stories__/Default.d.ts +0 -3
  660. package/inputs/FileInput/package.json +0 -6
  661. package/inputs/ImageInput/ImageInput.stories/index.js +0 -9
  662. package/inputs/ImageInput/ImageInput.stories/package.json +0 -6
  663. package/inputs/ImageInput/ImageInput.stories.d.ts +0 -10
  664. package/inputs/ImageInput/ImageInput.stories.playwright.json +0 -77
  665. package/inputs/ImageInput/__stories__/Default/index.js +0 -28
  666. package/inputs/ImageInput/__stories__/Default/package.json +0 -6
  667. package/inputs/ImageInput/__stories__/Default.d.ts +0 -3
  668. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +0 -36
  669. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/package.json +0 -6
  670. package/inputs/ImageInput/__stories__/WithInvalidImageDimension.d.ts +0 -3
  671. package/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +0 -33
  672. package/inputs/ImageInput/__stories__/WithInvalidImageSize/package.json +0 -6
  673. package/inputs/ImageInput/__stories__/WithInvalidImageSize.d.ts +0 -3
  674. package/inputs/ImageInput/index.mdx +0 -19
  675. package/inputs/ImageInput/package.json +0 -6
  676. package/inputs/Input/Input.stories/index.js +0 -16
  677. package/inputs/Input/Input.stories/package.json +0 -6
  678. package/inputs/Input/Input.stories.d.ts +0 -17
  679. package/inputs/Input/Input.stories.playwright.json +0 -376
  680. package/inputs/Input/__stories__/AFM/index.js +0 -22
  681. package/inputs/Input/__stories__/AFM/package.json +0 -6
  682. package/inputs/Input/__stories__/AFM.d.ts +0 -3
  683. package/inputs/Input/__stories__/Boolean/index.js +0 -23
  684. package/inputs/Input/__stories__/Boolean/package.json +0 -6
  685. package/inputs/Input/__stories__/Boolean.d.ts +0 -3
  686. package/inputs/Input/__stories__/Default/index.js +0 -23
  687. package/inputs/Input/__stories__/Default/package.json +0 -6
  688. package/inputs/Input/__stories__/Default.d.ts +0 -3
  689. package/inputs/Input/__stories__/IBAN/index.js +0 -23
  690. package/inputs/Input/__stories__/IBAN/package.json +0 -6
  691. package/inputs/Input/__stories__/IBAN.d.ts +0 -3
  692. package/inputs/Input/__stories__/Integer/index.js +0 -31
  693. package/inputs/Input/__stories__/Integer/package.json +0 -6
  694. package/inputs/Input/__stories__/Integer.d.ts +0 -3
  695. package/inputs/Input/__stories__/LandlineNumber/index.js +0 -26
  696. package/inputs/Input/__stories__/LandlineNumber/package.json +0 -6
  697. package/inputs/Input/__stories__/LandlineNumber.d.ts +0 -3
  698. package/inputs/Input/__stories__/MobilePhone/index.js +0 -26
  699. package/inputs/Input/__stories__/MobilePhone/package.json +0 -6
  700. package/inputs/Input/__stories__/MobilePhone.d.ts +0 -3
  701. package/inputs/Input/__stories__/PhoneNumber/index.js +0 -25
  702. package/inputs/Input/__stories__/PhoneNumber/package.json +0 -6
  703. package/inputs/Input/__stories__/PhoneNumber.d.ts +0 -3
  704. package/inputs/Input/__stories__/PostalCode/index.js +0 -25
  705. package/inputs/Input/__stories__/PostalCode/package.json +0 -6
  706. package/inputs/Input/__stories__/PostalCode.d.ts +0 -3
  707. package/inputs/Input/__stories__/TextWithCharacterLimit/index.js +0 -29
  708. package/inputs/Input/__stories__/TextWithCharacterLimit/package.json +0 -6
  709. package/inputs/Input/__stories__/TextWithCharacterLimit.d.ts +0 -3
  710. package/inputs/Input/index.mdx +0 -95
  711. package/inputs/Input/package.json +0 -6
  712. package/inputs/Label/Label.stories/index.js +0 -7
  713. package/inputs/Label/Label.stories/package.json +0 -6
  714. package/inputs/Label/Label.stories.d.ts +0 -8
  715. package/inputs/Label/Label.stories.playwright.json +0 -40
  716. package/inputs/Label/__stories__/Default/index.js +0 -27
  717. package/inputs/Label/__stories__/Default/package.json +0 -6
  718. package/inputs/Label/__stories__/Default.d.ts +0 -3
  719. package/inputs/Label/package.json +0 -6
  720. package/inputs/OtpInput/OtpInput.stories/index.js +0 -7
  721. package/inputs/OtpInput/OtpInput.stories/package.json +0 -6
  722. package/inputs/OtpInput/OtpInput.stories.d.ts +0 -8
  723. package/inputs/OtpInput/__stories__/Default/index.js +0 -29
  724. package/inputs/OtpInput/__stories__/Default/package.json +0 -6
  725. package/inputs/OtpInput/__stories__/Default.d.ts +0 -3
  726. package/inputs/OtpInput/index.mdx +0 -23
  727. package/inputs/OtpInput/package.json +0 -6
  728. package/inputs/Radio/Radio.stories/index.js +0 -9
  729. package/inputs/Radio/Radio.stories/package.json +0 -6
  730. package/inputs/Radio/Radio.stories.d.ts +0 -10
  731. package/inputs/Radio/Radio.stories.playwright.json +0 -73
  732. package/inputs/Radio/__stories__/Conditional/index.js +0 -93
  733. package/inputs/Radio/__stories__/Conditional/package.json +0 -6
  734. package/inputs/Radio/__stories__/Conditional.d.ts +0 -3
  735. package/inputs/Radio/__stories__/Default/index.js +0 -45
  736. package/inputs/Radio/__stories__/Default/package.json +0 -6
  737. package/inputs/Radio/__stories__/Default.d.ts +0 -3
  738. package/inputs/Radio/__stories__/WithDivider/index.js +0 -46
  739. package/inputs/Radio/__stories__/WithDivider/package.json +0 -6
  740. package/inputs/Radio/__stories__/WithDivider.d.ts +0 -3
  741. package/inputs/Radio/index.mdx +0 -33
  742. package/inputs/Radio/package.json +0 -6
  743. package/inputs/Select/Select.stories/index.js +0 -7
  744. package/inputs/Select/Select.stories/package.json +0 -6
  745. package/inputs/Select/Select.stories.d.ts +0 -8
  746. package/inputs/Select/Select.stories.playwright.json +0 -22
  747. package/inputs/Select/__stories__/Default/index.js +0 -51
  748. package/inputs/Select/__stories__/Default/package.json +0 -6
  749. package/inputs/Select/__stories__/Default.d.ts +0 -3
  750. package/inputs/Select/index.mdx +0 -17
  751. package/inputs/Select/package.json +0 -6
  752. package/inputs/package.json +0 -6
  753. package/installation.mdx +0 -68
  754. package/internal/index.js +0 -34
  755. package/internal/package.json +0 -6
  756. package/lazy/index.js +0 -395
  757. package/lazy/package.json +0 -6
  758. package/registry/index.js +0 -138
  759. package/registry/package.json +0 -6
  760. package/src/Field/index.mdx +0 -6
  761. package/src/Field/utils.ts +0 -191
  762. package/src/FieldArray/FieldArray.stories.playwright.json +0 -353
  763. package/src/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  764. package/src/FormBuilder/FormBuilder.tsx +0 -166
  765. package/src/MultiplicityField/MultiplicityField.mdx +0 -590
  766. package/src/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  767. package/src/Questions/index.mdx +0 -415
  768. package/src/inputs/AutoCompleteInput/index.mdx +0 -29
  769. package/src/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  770. package/src/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  771. package/src/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  772. package/src/inputs/FileInput/index.mdx +0 -19
  773. package/src/inputs/ImageInput/ImageInput.stories.playwright.json +0 -77
  774. package/src/inputs/ImageInput/index.mdx +0 -19
  775. package/src/inputs/Input/Input.stories.playwright.json +0 -376
  776. package/src/inputs/Input/index.mdx +0 -95
  777. package/src/inputs/Label/Label.stories.playwright.json +0 -40
  778. package/src/inputs/OtpInput/index.mdx +0 -23
  779. package/src/inputs/Radio/Radio.stories.playwright.json +0 -73
  780. package/src/inputs/Radio/index.mdx +0 -33
  781. package/src/inputs/Select/Select.stories.playwright.json +0 -22
  782. package/src/lazy.js +0 -60
  783. package/src/registry.js +0 -145
  784. package/types/index.js +0 -1
  785. package/types/package.json +0 -6
  786. package/utils/index.js +0 -80
  787. package/utils/package.json +0 -6
  788. package/validators/package.json +0 -6
  789. package/validators/types/index.js +0 -1
  790. package/validators/types/package.json +0 -6
  791. package/validators/utils/afm/index.js +0 -31
  792. package/validators/utils/afm/package.json +0 -6
  793. package/validators/utils/file/index.js +0 -37
  794. package/validators/utils/file/package.json +0 -6
  795. package/validators/utils/iban/index.js +0 -116
  796. package/validators/utils/iban/package.json +0 -6
  797. package/validators/utils/image/index.js +0 -119
  798. package/validators/utils/image/package.json +0 -6
  799. package/validators/utils/int/index.js +0 -19
  800. package/validators/utils/int/package.json +0 -6
  801. package/validators/utils/number/index.js +0 -15
  802. package/validators/utils/number/package.json +0 -6
  803. package/validators/utils/otp/index.js +0 -25
  804. package/validators/utils/otp/package.json +0 -6
  805. package/validators/utils/package.json +0 -6
  806. package/validators/utils/phone/index.js +0 -134
  807. package/validators/utils/phone/package.json +0 -6
  808. package/validators/utils/postal_code/index.js +0 -27
  809. package/validators/utils/postal_code/package.json +0 -6
  810. package/validators/utils/text_limit/index.js +0 -47
  811. package/validators/utils/text_limit/package.json +0 -6
  812. package/validators/utils/uuid4/index.js +0 -18
  813. package/validators/utils/uuid4/package.json +0 -6
  814. package/validators/validators.spec/index.js +0 -85
  815. package/validators/validators.spec/package.json +0 -6
  816. package/validators/validators.spec.d.ts +0 -1
  817. /package/{cjs/inputs/Label/index.mdx → Field/types.js} +0 -0
  818. /package/{inputs/Label/index.mdx → Fieldset/types.js} +0 -0
  819. /package/{src/inputs/Label/index.mdx → MultiplicityField/types.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,11 +1,120 @@
1
1
  # Change Log - @digigov/form
2
2
 
3
- This log was last generated on Fri, 16 Feb 2024 09:57:32 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 21 Jan 2026 21:01:49 GMT and should not be manually modified.
4
+
5
+ ## 2.0.3
6
+ Wed, 21 Jan 2026 21:01:49 GMT
7
+
8
+ _Version update only_
9
+
10
+ ## 2.0.2
11
+ Wed, 21 Jan 2026 15:58:34 GMT
12
+
13
+ ### Breaking changes
14
+
15
+ - Rename govgr classes namespace to ds
16
+ - Reorganize exports to resolve circular dependencies
17
+ - Make lib "pure ESM"
18
+
19
+ ### Minor changes
20
+
21
+ - Add missing attributes and implement scenarios testing
22
+ - Add multiselect example at Autocomplete
23
+ - Rename index.mdx files
24
+ - Create Rate component, create rate validation
25
+ - Added props to file input
26
+ - Changes for dilosi integration
27
+ - Change FieldArray logic and implement DateTimeInput & FormDialog
28
+ - Upgrade react-hook-form from 7.33.1 to 7.56.1, @hookform/resolvers from 3.9.0 to 5.0.1 and react peer dependency version to include ^19.1.0 along with ^18.3.0. Fix multiplicity form state issue
29
+ - Add ErrorGroup mechanism, for fields when layout < 12
30
+ - Add image field support for stepwise
31
+ - Add card layout in FieldArray
32
+ - Add password in types map
33
+
34
+ ### Patches
35
+
36
+ - Add maxSize prop to message in file validator
37
+ - update react version
38
+ - Add ref as undefined at FieldBase, add wrapper at autocomplete at utils.ts file
39
+ - Modify code in AutoComplete to work properly in form
40
+ - Add noLastBorder prop in PreviewDisplay storybook example
41
+ - Remove @digigov/babel-ts-to-proptypes
42
+ - Αdd placeholder prop to field component
43
+ - add lazy import of react components
44
+ - Remove multiple prop from extra props add logic to AutocompleteInput
45
+ - register enum name for array items
46
+ - Remove Suspense, change labels, add results to AutoCompoleteInput stories
47
+ - fix issues with deprecated defaultprops
48
+ - minor fixes to remove warnings
49
+ - Replaced phone validator with custom one
50
+ - Update stories
51
+ - Add autoComplete attribute to FieldSpec props, add it to input examples
52
+ - Add trim func to validator inputs, add it to DateInput component to trim white spaces add reset func to onSubmit to reset the trimming data before submit form
53
+ - Fix error message in FieldObject used in Multiplicity fields
54
+ - Fix file validation, remove unused validation errors, modify image stories
55
+ - Update lazy.js file
56
+ - Create date utils file, remove logic from validators
57
+ - Replace all react-core component imports with ui component imports
58
+ - Fix date and boolean yap validator for nullable and string values respectively
59
+ - Refactor form component examples and docs
60
+ - Fix error goup heading title
61
+ - update test snapshots for Questions example
62
+ - Show doc page in stories
63
+ - Add margin bottom in Multiplicity header and hint
64
+ - Add email to storybook update incorrect input value test, delete unnecessary input scenario file
65
+ - Fix DateInput and DateTimeInput, add default and initial value example to storybook
66
+ - Make email validation stricter
67
+ - Fix an issue with checkboxes submitting empty values
68
+ - Fix an issue with FieldArray focus & Multiplicity modifications
69
+ - Fix issue when submitting file fields
70
+ - Fix all combination error messages for date and datetime input, add range for day and month input fields
71
+ - Add date and datetime test scenarios
72
+ - Isolate dialog field array by using nested form
73
+ - Fix issue when submitting fieldarray with empty item
74
+ - Fix form runtime warnings and errors
75
+ - Fix display of custom errors in FieldArrays
76
+ - Update lazy file
77
+ - Replace imports with code in scenario test
78
+ - Fix date validator
79
+ - Update form components test snapshots
80
+ - Remove named functions from components causin vite dev server to crash
81
+ - Fix integer and number validation
82
+ - Fix validations for date and datetime, fix scenarios errors
83
+ - Fix circular dependency issues related to date inputs
84
+ - Add trim prop to FieldSpec, fix validation trim errors
85
+ - Export useOtp hook
86
+ - Add register call in FieldBaseContainer
87
+ - Fix multiplicity to display label value in type choice component
88
+ - Make adjustments to be compatible in react-native
89
+ - Update radio tests
90
+ - Add support for React v18 & update stories
91
+ - Export default Conditional, AutocompleInput stories examples, create form's .mdx files
92
+ - Add disabled prop to Field components
93
+
94
+ ### Updates
95
+
96
+ - Generate registry and lazy files
97
+ - Update theme references in tailwind config
98
+ - Update build scriptUpdate build script & remove unnecessary dependency
99
+ - Fix build errors in stories
100
+ - Generate lazy file
101
+ - Update lazy files
102
+ - update lazy file
103
+ - Lint MultipleInput's file.
104
+ - Fix linter errors
105
+ - Remove registry files from src
106
+ - Update button styling in FormDialog
107
+ - Update playwright-related dependency versions
108
+ - Remove scenarios testing related files
109
+ - Update @types/node
110
+ - Replace jest with vitest
4
111
 
5
112
  ## 1.1.2
6
113
  Fri, 16 Feb 2024 09:57:32 GMT
7
114
 
8
- _Version update only_
115
+ ### Updates
116
+
117
+ - Upgrade ESLint & Prettier
9
118
 
10
119
  ## 1.1.1
11
120
  Mon, 29 Jan 2024 17:45:11 GMT
@@ -27,7 +136,9 @@ _Version update only_
27
136
  ## 1.0.1
28
137
  Tue, 19 Dec 2023 15:00:14 GMT
29
138
 
30
- _Version update only_
139
+ ### Updates
140
+
141
+ - Upgrade @types/node to v18
31
142
 
32
143
  ## 1.0.0
33
144
  Fri, 15 Dec 2023 15:23:56 GMT
@@ -372,6 +483,10 @@ Wed, 30 Mar 2022 12:28:30 GMT
372
483
 
373
484
  - Add support for `characterWidth` and `cellWidth` props in `@digigov/form/Field`, these props will be used by the `@digigov/react-core/TextInput`
374
485
 
486
+ ### Updates
487
+
488
+ - Fix linting issues
489
+
375
490
  ## 0.5.3
376
491
  Mon, 28 Feb 2022 15:04:49 GMT
377
492
 
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { ErrorOption } from 'react-hook-form';
3
+ import type { FieldLabelProps } from './types.js';
4
+ import type { Breakpoints } from '@digigov/ui/utils/hooks/useScreen';
5
+ export interface ErrorGroupContextType {
6
+ setError: (name?: string, label?: FieldLabelProps, error?: ErrorOption) => void;
7
+ }
8
+ export declare const ErrorGroupContext: React.Context<ErrorGroupContextType | null>;
9
+ export interface ErrorGroupProps {
10
+ children: React.ReactNode;
11
+ screenSize?: Breakpoints | undefined;
12
+ fieldOrder?: any[];
13
+ }
14
+ export declare const ErrorGroup: React.FC<ErrorGroupProps>;
15
+ export default ErrorGroup;
@@ -0,0 +1,53 @@
1
+ import react, { createContext, useEffect, useState } from "react";
2
+ import { List, ListItem } from "@digigov/ui/content/List/index.js";
3
+ import { ErrorSummary } from "@digigov/ui/feedback/ErrorSummary/index.js";
4
+ import { useTranslation } from "@digigov/ui/i18n/index.js";
5
+ import { Link } from "@digigov/ui/navigation/Link/index.js";
6
+ import { Heading } from "@digigov/ui/typography/Heading/index.js";
7
+ import { Base } from "@digigov/ui/utils/Base/index.js";
8
+ const ErrorGroupContext = /*#__PURE__*/ createContext(null);
9
+ const ErrorGroup = ({ children, screenSize, fieldOrder })=>{
10
+ const [errors, setErrors] = useState({});
11
+ const { t } = useTranslation();
12
+ const setError = (name, label, error)=>{
13
+ if (errors[name] !== error && errors[name]?.message !== error?.message) if (error?.message) setErrors({
14
+ ...errors,
15
+ [name]: {
16
+ ...error,
17
+ label: label.primary
18
+ }
19
+ });
20
+ else {
21
+ const updatedErrors = {
22
+ ...errors
23
+ };
24
+ delete updatedErrors[name];
25
+ setErrors(updatedErrors);
26
+ }
27
+ };
28
+ useEffect(()=>{
29
+ setErrors({});
30
+ }, [
31
+ screenSize
32
+ ]);
33
+ return /*#__PURE__*/ react.createElement(ErrorGroupContext.Provider, {
34
+ value: {
35
+ setError
36
+ }
37
+ }, 0 !== Object.keys(errors).length && /*#__PURE__*/ react.createElement(ErrorSummary, {
38
+ variant: "error-group"
39
+ }, /*#__PURE__*/ react.createElement(Heading, {
40
+ size: "sm"
41
+ }, "Τα παρακάτω πεδία της φόρμας ειναι λάθος.", ' '), /*#__PURE__*/ react.createElement(List, {
42
+ listStyle: "bullet"
43
+ }, (fieldOrder || Object.keys(errors).reverse()).filter((fieldName)=>errors[fieldName]).map((fieldName, index)=>/*#__PURE__*/ react.createElement(ListItem, {
44
+ key: index,
45
+ id: `${fieldName}-error`
46
+ }, /*#__PURE__*/ react.createElement(Base, {
47
+ as: "b"
48
+ }, t(errors[fieldName]?.label), ":"), ' ', /*#__PURE__*/ react.createElement(Link, {
49
+ href: `#${fieldName}`
50
+ }, t(errors[fieldName]?.message)))))), children);
51
+ };
52
+ const Field_ErrorGroup = ErrorGroup;
53
+ export { ErrorGroup, ErrorGroupContext, Field_ErrorGroup as default };
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- import { FieldBaseProps } from '@digigov/form/Field/types';
2
+ import type { FieldBaseProps } from './types.js';
3
3
  export declare const FieldBase: React.FC<FieldBaseProps>;
@@ -0,0 +1,77 @@
1
+ import react, { useContext, useEffect } from "react";
2
+ import { Controller } from "react-hook-form";
3
+ import { ErrorGroupContext } from "./ErrorGroup.js";
4
+ import FieldBaseContainer from "./FieldBaseContainer.js";
5
+ const FieldBase = ({ required, name, component: Component, wrapper, control, type, controlled = false, enabled = true, editable, defaultValue, label, extra = {}, layout, error, trim, register, ...componentProps })=>{
6
+ const errorGroupContext = useContext(ErrorGroupContext);
7
+ useEffect(()=>{
8
+ if (errorGroupContext) errorGroupContext.setError(name, label, error);
9
+ }, [
10
+ error,
11
+ name,
12
+ errorGroupContext?.setError
13
+ ]);
14
+ if (!enabled) return null;
15
+ if (controlled) return /*#__PURE__*/ react.createElement(FieldBaseContainer, {
16
+ label: label,
17
+ layout: layout,
18
+ register: register,
19
+ error: errorGroupContext ? void 0 : error,
20
+ hasError: !!error,
21
+ wrapper: wrapper,
22
+ name: name,
23
+ controlled: controlled
24
+ }, /*#__PURE__*/ react.createElement(Controller, {
25
+ control: control,
26
+ name: name,
27
+ render: ({ field })=>/*#__PURE__*/ react.createElement(Component, {
28
+ ...field,
29
+ control: control,
30
+ defaultValue: defaultValue ?? field.value,
31
+ extra: extra,
32
+ error: !!error,
33
+ type: type,
34
+ "aria-required": !!required,
35
+ "aria-describedby": error && `${name}-error`,
36
+ required: required,
37
+ disabled: false === editable,
38
+ trim: trim,
39
+ ...componentProps
40
+ })
41
+ }));
42
+ return /*#__PURE__*/ react.createElement(FieldBaseContainer, {
43
+ label: label,
44
+ layout: layout,
45
+ register: register,
46
+ error: errorGroupContext ? void 0 : error,
47
+ hasError: !!error,
48
+ wrapper: wrapper,
49
+ name: name
50
+ }, Component?.render ? /*#__PURE__*/ react.createElement(Component, {
51
+ ...register(name),
52
+ control: control,
53
+ error: !!error,
54
+ extra: extra,
55
+ type: type,
56
+ "aria-required": !!required,
57
+ "aria-describedby": error && `${name}-error`,
58
+ required: required,
59
+ disabled: false === editable,
60
+ defaultValue: defaultValue,
61
+ ...componentProps
62
+ }) : /*#__PURE__*/ react.createElement(Component, {
63
+ ...register(name),
64
+ register: register,
65
+ control: control,
66
+ error: !!error,
67
+ extra: extra,
68
+ type: type,
69
+ defaultValue: defaultValue,
70
+ "aria-required": !!required,
71
+ "aria-describedby": error && `${name}-error`,
72
+ required: required,
73
+ disabled: false === editable,
74
+ ...componentProps
75
+ }));
76
+ };
77
+ export { FieldBase };
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- import { FieldContainerProps } from '@digigov/form/Field/types';
3
- export declare const FieldBaseContainer: React.FC<FieldContainerProps>;
2
+ import type { FieldContainerProps } from './types.js';
3
+ export declare const FieldBaseContainer: React.ForwardRefExoticComponent<FieldContainerProps & React.RefAttributes<HTMLFieldSetElement>>;
4
4
  export default FieldBaseContainer;
@@ -0,0 +1,43 @@
1
+ import react from "react";
2
+ import Label from "../inputs/Label/index.js";
3
+ import { ErrorMessage } from "@digigov/react-core/ErrorMessage/index.js";
4
+ import FieldContainer from "@digigov/react-core/FieldContainer/index.js";
5
+ import Fieldset from "@digigov/react-core/Fieldset/index.js";
6
+ import FieldsetLegend from "@digigov/react-core/FieldsetLegend/index.js";
7
+ import LabelContainer from "@digigov/react-core/LabelContainer/index.js";
8
+ import { useTranslation } from "@digigov/ui/i18n/index.js";
9
+ import { Hint } from "@digigov/ui/typography/Hint/index.js";
10
+ const FieldBaseContainer_FieldBaseContainer = /*#__PURE__*/ react.forwardRef(({ name, wrapper, label, children, error, hasError, layout, controlled, labelSize = 'sm' }, ref)=>{
11
+ const { t } = useTranslation();
12
+ const errorMessage = error?.message.key ? error.message.key : error?.message || '';
13
+ const errorContext = error?.message.context || {};
14
+ if ('fieldset' === wrapper) return /*#__PURE__*/ react.createElement(FieldContainer, {
15
+ error: hasError,
16
+ ...layout
17
+ }, /*#__PURE__*/ react.createElement(Fieldset, {
18
+ ref: ref,
19
+ className: "outline-none",
20
+ ...controlled && {
21
+ tabIndex: -1
22
+ }
23
+ }, /*#__PURE__*/ react.createElement(FieldsetLegend, {
24
+ size: labelSize
25
+ }, label && label.primary), label && label.secondary && /*#__PURE__*/ react.createElement(Hint, null, t(label.secondary)), error && /*#__PURE__*/ react.createElement(ErrorMessage, {
26
+ id: `${name}-error`
27
+ }, t(errorMessage, errorContext)), children, label && label.hint && /*#__PURE__*/ react.createElement(Hint, {
28
+ size: "sm"
29
+ }, label.hint)));
30
+ return /*#__PURE__*/ react.createElement(FieldContainer, {
31
+ error: hasError,
32
+ ...layout
33
+ }, /*#__PURE__*/ react.createElement(LabelContainer, null, label && /*#__PURE__*/ react.createElement(Label, {
34
+ label: label
35
+ }), error && /*#__PURE__*/ react.createElement(ErrorMessage, {
36
+ id: `${name}-error`
37
+ }, t(errorMessage, errorContext)), children, label && label.hint && /*#__PURE__*/ react.createElement(Hint, {
38
+ size: "sm"
39
+ }, label.hint)));
40
+ });
41
+ FieldBaseContainer_FieldBaseContainer.displayName = 'FieldBaseContainer';
42
+ const FieldBaseContainer = FieldBaseContainer_FieldBaseContainer;
43
+ export { FieldBaseContainer_FieldBaseContainer as FieldBaseContainer, FieldBaseContainer as default };
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- import { FieldConditionalProps } from '@digigov/form/Field/types';
2
+ import type { FieldConditionalProps } from './types.js';
3
3
  export declare const FieldConditional: React.FC<FieldConditionalProps>;
4
4
  export default FieldConditional;
@@ -0,0 +1,45 @@
1
+ import react from "react";
2
+ import { useWatch } from "react-hook-form";
3
+ import { FieldBase } from "./FieldBase.js";
4
+ import { evaluateFieldWithConditions } from "./utils/evaluateFieldWithConditions.js";
5
+ const ChildFieldMemo = /*#__PURE__*/ react.memo(function({ dependencies, field, control, reset, resetField, register, error, Field }) {
6
+ const newField = evaluateFieldWithConditions(field, dependencies);
7
+ return /*#__PURE__*/ react.createElement(FieldBase, {
8
+ ...newField,
9
+ Field: Field,
10
+ name: newField.key,
11
+ reset: reset,
12
+ resetField: resetField,
13
+ control: control,
14
+ register: register,
15
+ error: error
16
+ });
17
+ }, (prev, next)=>{
18
+ if (!prev || !prev.dependencies) return false;
19
+ if (prev.error !== next.error) return false;
20
+ for(const dep in next.dependencies)if (next.dependencies[dep] !== prev.dependencies[dep]) return false;
21
+ return true;
22
+ });
23
+ const FieldConditional_FieldConditional = ({ control, field, register, reset, resetField, error, Field })=>{
24
+ const dependencyKeys = Object.keys(field.condition);
25
+ const dependencyValues = useWatch({
26
+ name: dependencyKeys,
27
+ control
28
+ });
29
+ const variables = dependencyKeys.reduce((data, fieldKey, index)=>({
30
+ ...data,
31
+ [fieldKey]: dependencyValues[index]
32
+ }), {});
33
+ return /*#__PURE__*/ react.createElement(ChildFieldMemo, {
34
+ dependencies: variables,
35
+ field: field,
36
+ control: control,
37
+ register: register,
38
+ reset: reset,
39
+ resetField: resetField,
40
+ error: error,
41
+ Field: Field
42
+ });
43
+ };
44
+ const FieldConditional = FieldConditional_FieldConditional;
45
+ export { FieldConditional_FieldConditional as FieldConditional, FieldConditional as default };
package/Field/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- import { FieldProps } from '@digigov/form/Field/types';
2
+ import type { FieldProps } from './types.js';
3
3
  export declare const Field: React.FC<FieldProps>;
4
4
  export default Field;
package/Field/index.js CHANGED
@@ -1,70 +1,72 @@
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
- var _useField = useField(name, customField !== null && customField !== void 0 && customField.type ? customField : null),
15
- field = _useField.field,
16
- control = _useField.control,
17
- register = _useField.register,
18
- reset = _useField.reset,
19
- error = _useField.error,
20
- componentRegistry = _useField.componentRegistry,
21
- formState = _useField.formState,
22
- setValue = _useField.setValue,
23
- getValues = _useField.getValues,
24
- unregister = _useField.unregister,
25
- trigger = _useField.trigger,
26
- clearErrors = _useField.clearErrors;
27
- var calculatedField = useMemo(function () {
28
- return calculateField(children, field, componentRegistry);
29
- }, [field]);
30
- if (calculatedField.condition) {
31
- return /*#__PURE__*/React.createElement(FieldConditional, {
32
- control: control,
33
- reset: reset,
34
- register: register,
35
- field: calculatedField,
36
- error: error
1
+ import react, { useMemo } from "react";
2
+ import { FieldBase } from "./FieldBase.js";
3
+ import FieldConditional from "./FieldConditional.js";
4
+ import { resolveField } from "./utils/resolveField.js";
5
+ import { useField } from "./utils/useField.js";
6
+ import FieldArray from "../FieldArray/index.js";
7
+ import MultiplicityField from "../MultiplicityField/index.js";
8
+ const Field_Field = ({ name, children, ...customField })=>{
9
+ const { field, control, register, reset, resetField, error, componentRegistry, formState, setValue, getValues, unregister, trigger, clearErrors, registerFieldFocus } = useField(name, customField?.type ? customField : null);
10
+ const resolvedField = useMemo(()=>resolveField(children, field, componentRegistry), [
11
+ field
12
+ ]);
13
+ if (resolvedField.condition) return /*#__PURE__*/ react.createElement(FieldConditional, {
14
+ control: control,
15
+ reset: reset,
16
+ resetField: resetField,
17
+ register: register,
18
+ field: resolvedField,
19
+ error: error,
20
+ Field: Field_Field
21
+ });
22
+ if ('array' === resolvedField.type && !resolvedField.multiplicity) {
23
+ resolvedField.name = name;
24
+ return /*#__PURE__*/ react.createElement(FieldArray, {
25
+ control: control,
26
+ trigger: trigger,
27
+ register: register,
28
+ clearErrors: clearErrors,
29
+ error: error,
30
+ getValues: getValues,
31
+ setValue: setValue,
32
+ formState: formState,
33
+ Field: Field_Field,
34
+ reset: reset,
35
+ resetField: resetField,
36
+ registerFieldFocus: registerFieldFocus,
37
+ ...resolvedField
38
+ });
39
+ }
40
+ if ('array' === resolvedField.type && true === resolvedField.multiplicity) {
41
+ resolvedField.name = name;
42
+ return /*#__PURE__*/ react.createElement(MultiplicityField, {
43
+ control: control,
44
+ register: register,
45
+ trigger: trigger,
46
+ clearErrors: clearErrors,
47
+ error: error,
48
+ formState: formState,
49
+ setValue: setValue,
50
+ getValues: getValues,
51
+ unregister: unregister,
52
+ resetField: resetField,
53
+ Field: Field_Field,
54
+ ...resolvedField
55
+ });
56
+ }
57
+ const editable = false !== customField.editable && true !== customField.disabled;
58
+ const customError = error ? error : formState?.errors[name];
59
+ return /*#__PURE__*/ react.createElement(FieldBase, {
60
+ ...resolvedField,
61
+ editable: editable,
62
+ name: name,
63
+ control: control,
64
+ register: register,
65
+ reset: reset,
66
+ error: customError,
67
+ resetField: resetField,
68
+ Field: Field_Field
37
69
  });
38
- }
39
- if (calculatedField.type === 'array' && !calculatedField.multiplicity) {
40
- calculatedField.name = name;
41
- return /*#__PURE__*/React.createElement(FieldArray, _extends({
42
- control: control,
43
- register: register,
44
- error: error,
45
- formState: formState
46
- }, calculatedField));
47
- }
48
- if (calculatedField.type === 'array' && calculatedField.multiplicity === true) {
49
- calculatedField.name = name;
50
- return /*#__PURE__*/React.createElement(Multiplicity, _extends({
51
- control: control,
52
- register: register,
53
- trigger: trigger,
54
- clearErrors: clearErrors,
55
- error: error,
56
- formState: formState,
57
- setValue: setValue,
58
- getValues: getValues,
59
- unregister: unregister
60
- }, calculatedField));
61
- }
62
- return /*#__PURE__*/React.createElement(FieldBase, _extends({}, calculatedField, {
63
- name: name,
64
- control: control,
65
- register: register,
66
- reset: reset,
67
- error: error
68
- }));
69
70
  };
70
- export default Field;
71
+ const Field = Field_Field;
72
+ export { Field_Field as Field, Field as default };