@digigov/form 1.2.0-a7ffb5dc → 2.0.0-07ee8440

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 (776) hide show
  1. package/Field/ErrorGroup/index.js +48 -0
  2. package/{Questions/index.spec → Field/ErrorGroup}/package.json +1 -1
  3. package/Field/ErrorGroup.d.ts +15 -0
  4. package/Field/ErrorGroup.js.map +7 -0
  5. package/Field/FieldBase/index.js +112 -76
  6. package/Field/FieldBase.js.map +7 -0
  7. package/Field/FieldBaseContainer/index.js +30 -37
  8. package/Field/FieldBaseContainer.js.map +7 -0
  9. package/Field/FieldConditional/index.js +79 -53
  10. package/Field/FieldConditional.js.map +7 -0
  11. package/Field/index.js +107 -63
  12. package/Field/index.js.map +7 -0
  13. package/Field/types/index.js +1 -1
  14. package/Field/types.d.ts +44 -5
  15. package/Field/types.js.map +7 -0
  16. package/Field/utils/calculateField/index.js +27 -0
  17. package/{FieldArray/FieldArray.stories → Field/utils/calculateField}/package.json +1 -1
  18. package/Field/utils/calculateField.d.ts +2 -0
  19. package/Field/utils/calculateField.js.map +7 -0
  20. package/Field/utils/evaluateFieldWithConditions/index.js +26 -0
  21. package/{inputs/DateInput/__stories__/Default → Field/utils/evaluateFieldWithConditions}/package.json +1 -1
  22. package/Field/utils/evaluateFieldWithConditions.d.ts +2 -0
  23. package/Field/utils/evaluateFieldWithConditions.js.map +7 -0
  24. package/Field/utils/index.d.ts +4 -0
  25. package/Field/utils/index.js +47 -116
  26. package/Field/utils/index.js.map +7 -0
  27. package/Field/utils/useField/index.js +57 -0
  28. package/{FormBuilder/FormBuilder → Field/utils/useField}/package.json +1 -1
  29. package/Field/utils/useField.d.ts +2 -0
  30. package/Field/utils/useField.js.map +7 -0
  31. package/FieldArray/FieldArray.stories.d.ts +3 -2
  32. package/FieldArray/FormDialog/index.js +279 -0
  33. package/{validators/validators.spec → FieldArray/FormDialog}/package.json +1 -1
  34. package/FieldArray/FormDialog.d.ts +53 -0
  35. package/FieldArray/FormDialog.js.map +7 -0
  36. package/FieldArray/__stories__/Default.d.ts +2 -2
  37. package/FieldArray/__stories__/WithExactLength.d.ts +2 -2
  38. package/FieldArray/__stories__/WithModal.d.ts +2 -0
  39. package/FieldArray/index.d.ts +6 -0
  40. package/FieldArray/index.js +108 -59
  41. package/FieldArray/index.js.map +7 -0
  42. package/FieldArray/index.test.d.ts +1 -0
  43. package/FieldObject/index.d.ts +5 -0
  44. package/FieldObject/index.js +74 -52
  45. package/FieldObject/index.js.map +7 -0
  46. package/Fieldset/FieldsetWithContext/index.js +27 -31
  47. package/Fieldset/FieldsetWithContext.js.map +7 -0
  48. package/Fieldset/index.d.ts +1 -1
  49. package/Fieldset/index.js +27 -29
  50. package/Fieldset/index.js.map +7 -0
  51. package/Fieldset/types/index.js +1 -1
  52. package/Fieldset/types.d.ts +3 -2
  53. package/Fieldset/types.js.map +7 -0
  54. package/FormBuilder/FormBuilder.stories.d.ts +3 -1
  55. package/FormBuilder/__stories__/AutoErrorGrouping.d.ts +3 -0
  56. package/FormBuilder/__stories__/Default.d.ts +2 -2
  57. package/FormBuilder/__stories__/ErrorGrouping.d.ts +3 -0
  58. package/FormBuilder/index.d.ts +8 -1
  59. package/FormBuilder/index.js +237 -2
  60. package/FormBuilder/index.js.map +7 -0
  61. package/FormBuilder/index.test.d.ts +1 -0
  62. package/FormBuilder/interaction.test.d.ts +1 -0
  63. package/FormBuilder/scenarios.test.d.ts +88 -0
  64. package/FormContext/index.js +7 -3
  65. package/FormContext.js.map +7 -0
  66. package/MultiplicityField/MultiplicityField.stories.d.ts +6 -6
  67. package/MultiplicityField/__stories__/Default.d.ts +2 -2
  68. package/MultiplicityField/__stories__/PreviewDisplay.d.ts +2 -2
  69. package/MultiplicityField/__stories__/WithExactLength.d.ts +2 -2
  70. package/MultiplicityField/__stories__/WithMaxLength.d.ts +2 -2
  71. package/MultiplicityField/__stories__/WithMinAndMaxLength.d.ts +2 -2
  72. package/MultiplicityField/__stories__/WithMinLength.d.ts +2 -2
  73. package/MultiplicityField/add-objects/index.js +137 -132
  74. package/MultiplicityField/add-objects.d.ts +2 -1
  75. package/MultiplicityField/add-objects.js.map +7 -0
  76. package/MultiplicityField/index.d.ts +2 -19
  77. package/MultiplicityField/index.js +114 -101
  78. package/MultiplicityField/index.js.map +7 -0
  79. package/MultiplicityField/index.test.d.ts +1 -0
  80. package/MultiplicityField/types/index.js +1 -0
  81. package/MultiplicityField/types/package.json +6 -0
  82. package/MultiplicityField/types.d.ts +18 -0
  83. package/MultiplicityField/types.js.map +7 -0
  84. package/Questions/Questions/index.js +48 -56
  85. package/Questions/Questions.js.map +7 -0
  86. package/Questions/Questions.stories.d.ts +1 -1
  87. package/Questions/QuestionsContext/index.js +9 -9
  88. package/Questions/QuestionsContext.d.ts +0 -1
  89. package/Questions/QuestionsContext.js.map +7 -0
  90. package/Questions/Step/ReviewStep/index.js +35 -47
  91. package/Questions/Step/ReviewStep.js.map +7 -0
  92. package/Questions/Step/Step/index.js +39 -47
  93. package/Questions/Step/Step.js.map +7 -0
  94. package/Questions/Step/StepArrayReview/index.js +41 -45
  95. package/Questions/Step/StepArrayReview.js.map +7 -0
  96. package/Questions/Step/StepContext/index.js +15 -19
  97. package/Questions/Step/StepContext.d.ts +0 -1
  98. package/Questions/Step/StepContext.js.map +7 -0
  99. package/Questions/Step/StepDescription/index.js +22 -22
  100. package/Questions/Step/StepDescription.js.map +7 -0
  101. package/Questions/Step/StepForm/index.js +33 -43
  102. package/Questions/Step/StepForm.js.map +7 -0
  103. package/Questions/Step/StepQuote/index.js +10 -9
  104. package/Questions/Step/StepQuote.js.map +7 -0
  105. package/Questions/Step/StepTitle/index.js +41 -38
  106. package/Questions/Step/StepTitle.d.ts +2 -1
  107. package/Questions/Step/StepTitle.js.map +7 -0
  108. package/Questions/Step/getAddMoreFields/index.js +28 -20
  109. package/Questions/Step/getAddMoreFields.js.map +7 -0
  110. package/Questions/Step/index.d.ts +0 -1
  111. package/Questions/Step/index.js +16 -13
  112. package/Questions/Step/index.js.map +7 -0
  113. package/Questions/Step/types/index.js +1 -1
  114. package/Questions/Step/types.d.ts +1 -0
  115. package/Questions/Step/types.js.map +7 -0
  116. package/Questions/__stories__/Default.d.ts +2 -2
  117. package/Questions/getNextStep/index.js +12 -10
  118. package/Questions/getNextStep.js.map +7 -0
  119. package/Questions/index.js +7 -3
  120. package/Questions/index.js.map +7 -0
  121. package/Questions/index.test.d.ts +1 -0
  122. package/Questions/types/index.js +1 -1
  123. package/Questions/types.d.ts +1 -0
  124. package/Questions/types.js.map +7 -0
  125. package/cjs/Field/ErrorGroup/index.js +82 -0
  126. package/cjs/Field/ErrorGroup.js.map +7 -0
  127. package/cjs/Field/FieldBase/index.js +144 -82
  128. package/cjs/Field/FieldBase.js.map +7 -0
  129. package/cjs/Field/FieldBaseContainer/index.js +62 -43
  130. package/cjs/Field/FieldBaseContainer.js.map +7 -0
  131. package/cjs/Field/FieldConditional/index.js +111 -59
  132. package/cjs/Field/FieldConditional.js.map +7 -0
  133. package/cjs/Field/index.js +136 -72
  134. package/cjs/Field/index.js.map +7 -0
  135. package/cjs/Field/types/index.js +16 -5
  136. package/cjs/Field/types.js.map +7 -0
  137. package/cjs/Field/utils/calculateField/index.js +50 -0
  138. package/cjs/Field/utils/calculateField.js.map +7 -0
  139. package/cjs/Field/utils/evaluateFieldWithConditions/index.js +49 -0
  140. package/cjs/Field/utils/evaluateFieldWithConditions.js.map +7 -0
  141. package/cjs/Field/utils/index.js +91 -139
  142. package/cjs/Field/utils/index.js.map +7 -0
  143. package/cjs/Field/utils/useField/index.js +80 -0
  144. package/cjs/Field/utils/useField.js.map +7 -0
  145. package/cjs/FieldArray/FormDialog/index.js +301 -0
  146. package/cjs/FieldArray/FormDialog.js.map +7 -0
  147. package/cjs/FieldArray/index.js +140 -65
  148. package/cjs/FieldArray/index.js.map +7 -0
  149. package/cjs/FieldObject/index.js +103 -61
  150. package/cjs/FieldObject/index.js.map +7 -0
  151. package/cjs/Fieldset/FieldsetWithContext/index.js +54 -40
  152. package/cjs/Fieldset/FieldsetWithContext.js.map +7 -0
  153. package/cjs/Fieldset/index.js +61 -39
  154. package/cjs/Fieldset/index.js.map +7 -0
  155. package/cjs/Fieldset/types/index.js +16 -5
  156. package/cjs/Fieldset/types.js.map +7 -0
  157. package/cjs/FormBuilder/index.js +273 -8
  158. package/cjs/FormBuilder/index.js.map +7 -0
  159. package/cjs/FormContext/index.js +29 -8
  160. package/cjs/FormContext.js.map +7 -0
  161. package/cjs/MultiplicityField/add-objects/index.js +164 -138
  162. package/cjs/MultiplicityField/add-objects.js.map +7 -0
  163. package/cjs/MultiplicityField/index.js +142 -110
  164. package/cjs/MultiplicityField/index.js.map +7 -0
  165. package/cjs/MultiplicityField/types/index.js +16 -0
  166. package/cjs/MultiplicityField/types.js.map +7 -0
  167. package/cjs/Questions/Questions/index.js +80 -65
  168. package/cjs/Questions/Questions.js.map +7 -0
  169. package/cjs/Questions/QuestionsContext/index.js +31 -14
  170. package/cjs/Questions/QuestionsContext.js.map +7 -0
  171. package/cjs/Questions/Step/ReviewStep/index.js +61 -56
  172. package/cjs/Questions/Step/ReviewStep.js.map +7 -0
  173. package/cjs/Questions/Step/Step/index.js +71 -56
  174. package/cjs/Questions/Step/Step.js.map +7 -0
  175. package/cjs/Questions/Step/StepArrayReview/index.js +65 -54
  176. package/cjs/Questions/Step/StepArrayReview.js.map +7 -0
  177. package/cjs/Questions/Step/StepContext/index.js +37 -24
  178. package/cjs/Questions/Step/StepContext.js.map +7 -0
  179. package/cjs/Questions/Step/StepDescription/index.js +55 -31
  180. package/cjs/Questions/Step/StepDescription.js.map +7 -0
  181. package/cjs/Questions/Step/StepForm/index.js +65 -52
  182. package/cjs/Questions/Step/StepForm.js.map +7 -0
  183. package/cjs/Questions/Step/StepQuote/index.js +42 -15
  184. package/cjs/Questions/Step/StepQuote.js.map +7 -0
  185. package/cjs/Questions/Step/StepTitle/index.js +72 -47
  186. package/cjs/Questions/Step/StepTitle.js.map +7 -0
  187. package/cjs/Questions/Step/getAddMoreFields/index.js +50 -25
  188. package/cjs/Questions/Step/getAddMoreFields.js.map +7 -0
  189. package/cjs/Questions/Step/index.js +59 -143
  190. package/cjs/Questions/Step/index.js.map +7 -0
  191. package/cjs/Questions/Step/types/index.js +16 -5
  192. package/cjs/Questions/Step/types.js.map +7 -0
  193. package/cjs/Questions/getNextStep/index.js +33 -14
  194. package/cjs/Questions/getNextStep.js.map +7 -0
  195. package/cjs/Questions/index.js +29 -19
  196. package/cjs/Questions/index.js.map +7 -0
  197. package/cjs/Questions/types/index.js +16 -5
  198. package/cjs/Questions/types.js.map +7 -0
  199. package/cjs/index.js +47 -20
  200. package/cjs/index.js.map +7 -0
  201. package/cjs/inputs/AutoCompleteInput/index.js +92 -46
  202. package/cjs/inputs/AutoCompleteInput/index.js.map +7 -0
  203. package/cjs/inputs/Checkboxes/index.js +101 -96
  204. package/cjs/inputs/Checkboxes/index.js.map +7 -0
  205. package/cjs/inputs/DateInput/index.js +121 -109
  206. package/cjs/inputs/DateInput/index.js.map +7 -0
  207. package/cjs/inputs/DateTimeInput/index.js +206 -0
  208. package/cjs/inputs/DateTimeInput/index.js.map +7 -0
  209. package/cjs/inputs/FileInput/index.js +75 -63
  210. package/cjs/inputs/FileInput/index.js.map +7 -0
  211. package/cjs/inputs/ImageInput/index.js +95 -83
  212. package/cjs/inputs/ImageInput/index.js.map +7 -0
  213. package/cjs/inputs/Input/index.js +105 -71
  214. package/cjs/inputs/Input/index.js.map +7 -0
  215. package/cjs/inputs/Input/inputsInputScenarios/index.js +439 -0
  216. package/cjs/inputs/Input/inputsInputScenarios.js.map +7 -0
  217. package/cjs/inputs/Label/index.js +45 -24
  218. package/cjs/inputs/Label/index.js.map +7 -0
  219. package/cjs/inputs/OtpInput/index.js +142 -112
  220. package/cjs/inputs/OtpInput/index.js.map +7 -0
  221. package/cjs/inputs/Radio/index.js +131 -61
  222. package/cjs/inputs/Radio/index.js.map +7 -0
  223. package/cjs/inputs/Select/index.js +59 -36
  224. package/cjs/inputs/Select/index.js.map +7 -0
  225. package/cjs/inputs/index.js +62 -69
  226. package/cjs/inputs/index.js.map +7 -0
  227. package/cjs/inputs/inputsScenarios/index.js +533 -0
  228. package/cjs/inputs/inputsScenarios.js.map +7 -0
  229. package/cjs/internal/index.js +36 -346
  230. package/cjs/internal.js.map +7 -0
  231. package/cjs/lazy/index.js +109 -516
  232. package/cjs/lazy.js.map +7 -0
  233. package/cjs/locales/el/index.js +35 -0
  234. package/cjs/locales/el.js.map +7 -0
  235. package/cjs/registry/index.js +190 -142
  236. package/cjs/registry.js.map +7 -0
  237. package/cjs/types/index.js +22 -5
  238. package/cjs/types.js.map +7 -0
  239. package/cjs/utils/index.js +79 -83
  240. package/cjs/utils.js.map +7 -0
  241. package/cjs/validators/index.js +131 -164
  242. package/cjs/validators/index.js.map +7 -0
  243. package/cjs/validators/types/index.js +16 -5
  244. package/cjs/validators/types.js.map +7 -0
  245. package/cjs/validators/utils/afm/index.js +38 -21
  246. package/cjs/validators/utils/afm.js.map +7 -0
  247. package/cjs/validators/utils/date/index.js +138 -0
  248. package/cjs/validators/utils/date.js.map +7 -0
  249. package/cjs/validators/utils/datetime/index.js +151 -0
  250. package/cjs/validators/utils/datetime.js.map +7 -0
  251. package/cjs/validators/utils/file/index.js +44 -47
  252. package/cjs/validators/utils/file.js.map +7 -0
  253. package/cjs/validators/utils/iban/index.js +36 -17
  254. package/cjs/validators/utils/iban.js.map +7 -0
  255. package/cjs/validators/utils/image/index.js +88 -112
  256. package/cjs/validators/utils/image.js.map +7 -0
  257. package/cjs/validators/utils/index.js +99 -159
  258. package/cjs/validators/utils/index.js.map +7 -0
  259. package/cjs/validators/utils/int/index.js +35 -13
  260. package/cjs/validators/utils/int.js.map +7 -0
  261. package/cjs/validators/utils/number/index.js +34 -12
  262. package/cjs/validators/utils/number.js.map +7 -0
  263. package/cjs/validators/utils/otp/index.js +35 -13
  264. package/cjs/validators/utils/otp.js.map +7 -0
  265. package/cjs/validators/utils/phone/index.js +113 -58
  266. package/cjs/validators/utils/phone.js.map +7 -0
  267. package/cjs/validators/utils/postal_code/index.js +36 -16
  268. package/cjs/validators/utils/postal_code.js.map +7 -0
  269. package/cjs/validators/utils/text_limit/index.js +40 -25
  270. package/cjs/validators/utils/text_limit.js.map +7 -0
  271. package/cjs/validators/utils/uuid4/index.js +34 -13
  272. package/cjs/validators/utils/uuid4.js.map +7 -0
  273. package/index.d.ts +4 -1
  274. package/index.js +13 -4
  275. package/index.js.map +7 -0
  276. package/inputs/AutoCompleteInput/AutoComplete.stories.d.ts +2 -1
  277. package/inputs/AutoCompleteInput/__stories__/Default.d.ts +3 -2
  278. package/inputs/AutoCompleteInput/__stories__/Multiple.d.ts +3 -0
  279. package/inputs/AutoCompleteInput/index.d.ts +2 -2
  280. package/inputs/AutoCompleteInput/index.js +62 -37
  281. package/inputs/AutoCompleteInput/index.js.map +7 -0
  282. package/inputs/AutoCompleteInput/index.test.d.ts +1 -0
  283. package/inputs/Checkboxes/Checkboxes.stories.d.ts +3 -3
  284. package/inputs/Checkboxes/__stories__/Conditional.d.ts +3 -2
  285. package/inputs/Checkboxes/__stories__/Default.d.ts +2 -2
  286. package/inputs/Checkboxes/__stories__/WithDivider.d.ts +2 -2
  287. package/inputs/Checkboxes/index.d.ts +2 -1
  288. package/inputs/Checkboxes/index.js +73 -87
  289. package/inputs/Checkboxes/index.js.map +7 -0
  290. package/inputs/Checkboxes/index.test.d.ts +1 -0
  291. package/inputs/DateInput/DateInput.stories.d.ts +1 -1
  292. package/inputs/DateInput/__stories__/Default.d.ts +2 -2
  293. package/inputs/DateInput/index.d.ts +3 -4
  294. package/inputs/DateInput/index.js +91 -99
  295. package/inputs/DateInput/index.js.map +7 -0
  296. package/inputs/DateInput/index.test.d.ts +1 -0
  297. package/inputs/DateTimeInput/DateTimeInput.stories.d.ts +7 -0
  298. package/inputs/DateTimeInput/__stories__/Default.d.ts +3 -0
  299. package/inputs/DateTimeInput/index.d.ts +13 -0
  300. package/inputs/DateTimeInput/index.js +176 -0
  301. package/inputs/DateTimeInput/index.js.map +7 -0
  302. package/inputs/DateTimeInput/index.test.d.ts +1 -0
  303. package/inputs/DateTimeInput/package.json +6 -0
  304. package/inputs/FileInput/FileInput.stories.d.ts +1 -1
  305. package/inputs/FileInput/__stories__/Default.d.ts +2 -2
  306. package/inputs/FileInput/index.js +43 -54
  307. package/inputs/FileInput/index.js.map +7 -0
  308. package/inputs/FileInput/index.test.d.ts +1 -0
  309. package/inputs/ImageInput/ImageInput.stories.d.ts +3 -3
  310. package/inputs/ImageInput/__stories__/Default.d.ts +2 -2
  311. package/inputs/ImageInput/__stories__/MaxSize.d.ts +3 -0
  312. package/inputs/ImageInput/__stories__/WithInvalidImageDimension.d.ts +2 -2
  313. package/inputs/ImageInput/__stories__/WithInvalidImageSize.d.ts +2 -2
  314. package/inputs/ImageInput/index.js +63 -75
  315. package/inputs/ImageInput/index.js.map +7 -0
  316. package/inputs/ImageInput/index.test.d.ts +1 -0
  317. package/inputs/Input/Input.stories.d.ts +11 -10
  318. package/inputs/Input/__stories__/AFM.d.ts +2 -2
  319. package/inputs/Input/__stories__/Boolean.d.ts +2 -2
  320. package/inputs/Input/__stories__/IBAN.d.ts +2 -2
  321. package/inputs/Input/__stories__/Integer.d.ts +2 -2
  322. package/inputs/Input/__stories__/LandlineNumber.d.ts +2 -2
  323. package/inputs/Input/__stories__/MobilePhone.d.ts +2 -2
  324. package/inputs/Input/__stories__/PhoneNumber.d.ts +2 -2
  325. package/inputs/Input/__stories__/PostalCode.d.ts +2 -2
  326. package/inputs/Input/__stories__/String.d.ts +3 -0
  327. package/inputs/Input/__stories__/StringWithTrimValidation.d.ts +3 -0
  328. package/inputs/Input/__stories__/TextWithLimit.d.ts +3 -0
  329. package/inputs/Input/index.js +74 -66
  330. package/inputs/Input/index.js.map +7 -0
  331. package/inputs/Input/index.test.d.ts +1 -0
  332. package/inputs/Input/inputsInputScenarios/index.js +406 -0
  333. package/{FieldArray/__stories__/Default → inputs/Input/inputsInputScenarios}/package.json +1 -1
  334. package/inputs/Input/inputsInputScenarios.d.ts +57 -0
  335. package/inputs/Input/inputsInputScenarios.js.map +7 -0
  336. package/inputs/Label/Label.stories.d.ts +1 -1
  337. package/inputs/Label/__stories__/Default.d.ts +2 -2
  338. package/inputs/Label/index.d.ts +1 -3
  339. package/inputs/Label/index.js +12 -17
  340. package/inputs/Label/index.js.map +7 -0
  341. package/inputs/Label/index.test.d.ts +1 -0
  342. package/inputs/OtpInput/OtpInput.stories.d.ts +1 -1
  343. package/inputs/OtpInput/__stories__/Default.d.ts +2 -2
  344. package/inputs/OtpInput/index.d.ts +9 -2
  345. package/inputs/OtpInput/index.js +109 -103
  346. package/inputs/OtpInput/index.js.map +7 -0
  347. package/inputs/OtpInput/index.test.d.ts +1 -0
  348. package/inputs/Radio/Radio.stories.d.ts +3 -3
  349. package/inputs/Radio/__stories__/Conditional.d.ts +3 -2
  350. package/inputs/Radio/__stories__/Default.d.ts +2 -2
  351. package/inputs/Radio/__stories__/WithDivider.d.ts +2 -2
  352. package/inputs/Radio/index.d.ts +6 -1
  353. package/inputs/Radio/index.js +102 -55
  354. package/inputs/Radio/index.js.map +7 -0
  355. package/inputs/Radio/index.test.d.ts +1 -0
  356. package/inputs/Select/Select.stories.d.ts +1 -1
  357. package/inputs/Select/__stories__/Default.d.ts +2 -2
  358. package/inputs/Select/index.d.ts +1 -1
  359. package/inputs/Select/index.js +31 -31
  360. package/inputs/Select/index.js.map +7 -0
  361. package/inputs/Select/index.test.d.ts +1 -0
  362. package/inputs/index.js +21 -9
  363. package/inputs/index.js.map +7 -0
  364. package/inputs/inputsScenarios/index.js +499 -0
  365. package/inputs/inputsScenarios/package.json +6 -0
  366. package/inputs/inputsScenarios.d.ts +296 -0
  367. package/inputs/inputsScenarios.js.map +7 -0
  368. package/internal/index.js +10 -34
  369. package/internal.d.ts +2 -31
  370. package/internal.js.map +7 -0
  371. package/lazy/index.js +75 -393
  372. package/locales/el/index.js +6 -0
  373. package/{Form.stories → locales/el}/package.json +1 -1
  374. package/locales/el.d.ts +2 -0
  375. package/locales/el.js.map +7 -0
  376. package/package.json +7 -8
  377. package/registry/index.js +126 -99
  378. package/src/Field/ErrorGroup.tsx +84 -0
  379. package/src/Field/FieldBase.tsx +36 -22
  380. package/src/Field/FieldBaseContainer.tsx +7 -4
  381. package/src/Field/FieldConditional.tsx +5 -1
  382. package/src/Field/index.tsx +27 -3
  383. package/src/Field/types.tsx +73 -5
  384. package/src/Field/utils/calculateField.ts +49 -0
  385. package/src/Field/utils/evaluateFieldWithConditions.ts +30 -0
  386. package/src/Field/utils/index.ts +82 -0
  387. package/src/Field/utils/useField.ts +58 -0
  388. package/src/FieldArray/FieldArray.stories.js +3 -2
  389. package/src/FieldArray/FormDialog.tsx +378 -0
  390. package/src/FieldArray/__stories__/Default.tsx +1 -0
  391. package/src/FieldArray/__stories__/WithExactLength.tsx +1 -0
  392. package/src/FieldArray/__stories__/WithModal.tsx +159 -0
  393. package/src/FieldArray/index.test.tsx +28 -0
  394. package/src/FieldArray/index.tsx +92 -39
  395. package/src/FieldObject/index.tsx +27 -8
  396. package/src/Fieldset/index.tsx +5 -5
  397. package/src/Fieldset/types.tsx +5 -3
  398. package/src/FormBuilder/FormBuilder.stories.js +3 -1
  399. package/src/FormBuilder/__stories__/AutoErrorGrouping.tsx +63 -0
  400. package/src/FormBuilder/__stories__/ErrorGrouping.tsx +43 -0
  401. package/{FormBuilder/FormBuilder.mdx → src/FormBuilder/doc.mdx} +20 -33
  402. package/src/FormBuilder/index.test.tsx +28 -0
  403. package/src/FormBuilder/index.tsx +263 -1
  404. package/src/FormBuilder/interaction.test.tsx +32 -0
  405. package/src/FormBuilder/scenarios.test.tsx +1978 -0
  406. package/src/FormContext.tsx +1 -2
  407. package/src/MultiplicityField/MultiplicityField.stories.js +6 -6
  408. package/src/MultiplicityField/__stories__/PreviewDisplay.tsx +2 -2
  409. package/src/MultiplicityField/__stories__/WithExactLength.tsx +1 -1
  410. package/src/MultiplicityField/__stories__/WithMaxLength.tsx +1 -1
  411. package/src/MultiplicityField/__stories__/WithMinAndMaxLength.tsx +1 -1
  412. package/src/MultiplicityField/__stories__/WithMinLength.tsx +1 -1
  413. package/src/MultiplicityField/add-objects.tsx +31 -15
  414. package/{MultiplicityField/MultiplicityField.mdx → src/MultiplicityField/doc.mdx} +12 -16
  415. package/src/MultiplicityField/index.test.tsx +40 -0
  416. package/src/MultiplicityField/index.tsx +17 -31
  417. package/src/MultiplicityField/types.ts +21 -0
  418. package/src/Questions/Questions.stories.js +1 -1
  419. package/src/Questions/Questions.tsx +4 -4
  420. package/src/Questions/Step/StepArrayReview.tsx +1 -1
  421. package/src/Questions/Step/StepTitle.tsx +5 -3
  422. package/src/Questions/Step/index.ts +0 -1
  423. package/src/Questions/Step/types.tsx +1 -0
  424. package/src/Questions/__snapshots__/index.spec.tsx.snap +73 -587
  425. package/src/Questions/{index.mdx → doc.mdx} +13 -16
  426. package/src/Questions/index.spec.tsx +17 -5
  427. package/src/Questions/index.test.tsx +20 -0
  428. package/src/Questions/types.tsx +1 -0
  429. package/src/create-simple-form.mdx +2 -6
  430. package/{index.mdx → src/doc.mdx} +4 -8
  431. package/src/index.ts +4 -1
  432. package/src/inputs/AutoCompleteInput/AutoComplete.stories.js +2 -1
  433. package/src/inputs/AutoCompleteInput/__stories__/Default.tsx +19 -18
  434. package/src/inputs/AutoCompleteInput/__stories__/Multiple.tsx +47 -0
  435. package/src/inputs/AutoCompleteInput/doc.mdx +18 -0
  436. package/src/inputs/AutoCompleteInput/index.test.tsx +24 -0
  437. package/src/inputs/AutoCompleteInput/index.tsx +46 -29
  438. package/src/inputs/Checkboxes/Checkboxes.stories.js +3 -3
  439. package/src/inputs/Checkboxes/__stories__/Conditional.tsx +2 -3
  440. package/src/inputs/Checkboxes/doc.mdx +23 -0
  441. package/src/inputs/Checkboxes/index.test.tsx +28 -0
  442. package/src/inputs/Checkboxes/index.tsx +39 -33
  443. package/src/inputs/DateInput/DateInput.stories.js +1 -1
  444. package/src/inputs/DateInput/__stories__/Default.tsx +16 -15
  445. package/src/inputs/DateInput/doc.mdx +16 -0
  446. package/src/inputs/DateInput/index.test.tsx +20 -0
  447. package/src/inputs/DateInput/index.tsx +11 -9
  448. package/src/inputs/DateTimeInput/DateTimeInput.stories.js +8 -0
  449. package/src/inputs/DateTimeInput/__stories__/Default.tsx +25 -0
  450. package/src/inputs/DateTimeInput/doc.mdx +16 -0
  451. package/src/inputs/DateTimeInput/index.test.tsx +20 -0
  452. package/src/inputs/DateTimeInput/index.tsx +189 -0
  453. package/src/inputs/FileInput/FileInput.stories.js +1 -1
  454. package/src/inputs/FileInput/doc.mdx +15 -0
  455. package/src/inputs/FileInput/index.test.tsx +20 -0
  456. package/src/inputs/FileInput/index.tsx +8 -9
  457. package/src/inputs/ImageInput/ImageInput.stories.js +3 -3
  458. package/src/inputs/ImageInput/__stories__/MaxSize.tsx +37 -0
  459. package/src/inputs/ImageInput/__stories__/WithInvalidImageDimension.tsx +2 -0
  460. package/src/inputs/ImageInput/doc.mdx +23 -0
  461. package/src/inputs/ImageInput/index.test.tsx +32 -0
  462. package/src/inputs/ImageInput/index.tsx +16 -16
  463. package/src/inputs/Input/Input.stories.js +11 -10
  464. package/src/inputs/Input/__stories__/LandlineNumber.tsx +2 -1
  465. package/src/inputs/Input/__stories__/MobilePhone.tsx +1 -0
  466. package/src/inputs/Input/__stories__/PhoneNumber.tsx +1 -0
  467. package/src/inputs/Input/__stories__/PostalCode.tsx +1 -0
  468. package/src/inputs/Input/__stories__/{Default.tsx → String.tsx} +2 -2
  469. package/src/inputs/Input/__stories__/StringWithTrimValidation.tsx +26 -0
  470. package/src/inputs/Input/__stories__/{TextWithCharacterLimit.tsx → TextWithLimit.tsx} +3 -2
  471. package/src/inputs/Input/doc.mdx +56 -0
  472. package/src/inputs/Input/index.test.tsx +60 -0
  473. package/src/inputs/Input/index.tsx +40 -30
  474. package/src/inputs/Input/inputsInputScenarios.ts +404 -0
  475. package/src/inputs/Label/Label.stories.js +1 -1
  476. package/src/inputs/Label/__stories__/Default.tsx +3 -1
  477. package/src/inputs/Label/doc.mdx +14 -0
  478. package/src/inputs/Label/index.test.tsx +20 -0
  479. package/src/inputs/Label/index.tsx +3 -10
  480. package/src/inputs/OtpInput/OtpInput.stories.js +1 -1
  481. package/src/inputs/OtpInput/doc.mdx +16 -0
  482. package/src/inputs/OtpInput/index.test.tsx +20 -0
  483. package/src/inputs/OtpInput/index.tsx +4 -3
  484. package/src/inputs/Radio/Radio.stories.js +3 -3
  485. package/src/inputs/Radio/__stories__/Conditional.tsx +4 -1
  486. package/src/inputs/Radio/doc.mdx +23 -0
  487. package/src/inputs/Radio/index.test.tsx +28 -0
  488. package/src/inputs/Radio/index.tsx +79 -9
  489. package/src/inputs/Select/Select.stories.js +1 -1
  490. package/src/inputs/Select/doc.mdx +13 -0
  491. package/src/inputs/Select/index.test.tsx +20 -0
  492. package/src/inputs/Select/index.tsx +11 -4
  493. package/src/inputs/inputsScenarios.ts +496 -0
  494. package/src/installation.mdx +2 -5
  495. package/src/internal.ts +2 -31
  496. package/src/lazy.js +76 -59
  497. package/src/locales/el.ts +3 -0
  498. package/src/registry.js +109 -89
  499. package/src/types.tsx +11 -64
  500. package/src/utils.ts +34 -33
  501. package/src/validators/index.ts +90 -84
  502. package/src/validators/utils/date.ts +107 -0
  503. package/src/validators/utils/datetime.ts +130 -0
  504. package/src/validators/utils/file.ts +11 -9
  505. package/src/validators/utils/index.ts +2 -0
  506. package/src/validators/utils/int.ts +1 -1
  507. package/src/validators/utils/number.ts +1 -1
  508. package/src/validators/utils/phone.ts +63 -72
  509. package/src/validators/utils/postal_code.ts +1 -1
  510. package/src/validators/utils/uuid4.ts +2 -1
  511. package/src/validators/validators.spec.ts +6 -40
  512. package/types/index.js +2 -1
  513. package/types.d.ts +6 -35
  514. package/types.js.map +7 -0
  515. package/utils/index.js +57 -77
  516. package/utils.js.map +7 -0
  517. package/validators/index.js +112 -150
  518. package/validators/index.js.map +7 -0
  519. package/validators/types/index.js +1 -1
  520. package/validators/types.js.map +7 -0
  521. package/validators/utils/afm/index.js +16 -16
  522. package/validators/utils/afm.js.map +7 -0
  523. package/validators/utils/date/index.js +103 -0
  524. package/validators/utils/date/package.json +6 -0
  525. package/validators/utils/date.d.ts +9 -0
  526. package/validators/utils/date.js.map +7 -0
  527. package/validators/utils/datetime/index.js +116 -0
  528. package/{Questions/Questions.stories → validators/utils/datetime}/package.json +1 -1
  529. package/validators/utils/datetime.d.ts +9 -0
  530. package/validators/utils/datetime.js.map +7 -0
  531. package/validators/utils/file/index.js +22 -42
  532. package/validators/utils/file.js.map +7 -0
  533. package/validators/utils/iban/index.js +14 -12
  534. package/validators/utils/iban.js.map +7 -0
  535. package/validators/utils/image/index.js +66 -106
  536. package/validators/utils/image.js.map +7 -0
  537. package/validators/utils/index.d.ts +2 -0
  538. package/validators/utils/index.js +56 -48
  539. package/validators/utils/index.js.map +7 -0
  540. package/validators/utils/int/index.js +13 -8
  541. package/validators/utils/int.js.map +7 -0
  542. package/validators/utils/number/index.js +12 -7
  543. package/validators/utils/number.js.map +7 -0
  544. package/validators/utils/otp/index.js +13 -8
  545. package/validators/utils/otp.js.map +7 -0
  546. package/validators/utils/phone/index.js +89 -51
  547. package/validators/utils/phone.d.ts +1 -1
  548. package/validators/utils/phone.js.map +7 -0
  549. package/validators/utils/postal_code/index.js +14 -11
  550. package/validators/utils/postal_code.d.ts +1 -1
  551. package/validators/utils/postal_code.js.map +7 -0
  552. package/validators/utils/text_limit/index.js +18 -20
  553. package/validators/utils/text_limit.js.map +7 -0
  554. package/validators/utils/uuid4/index.js +12 -8
  555. package/validators/utils/uuid4.js.map +7 -0
  556. package/Field/utils.d.ts +0 -5
  557. package/FieldArray/FieldArray.stories/index.js +0 -8
  558. package/FieldArray/FieldArray.stories.playwright.json +0 -353
  559. package/FieldArray/__stories__/Default/index.js +0 -88
  560. package/FieldArray/__stories__/WithExactLength/index.js +0 -88
  561. package/FieldArray/__stories__/WithExactLength/package.json +0 -6
  562. package/Form.stories/index.js +0 -3
  563. package/FormBuilder/FormBuilder/index.js +0 -152
  564. package/FormBuilder/FormBuilder.d.ts +0 -5
  565. package/FormBuilder/FormBuilder.stories/index.js +0 -7
  566. package/FormBuilder/FormBuilder.stories/package.json +0 -6
  567. package/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  568. package/FormBuilder/__stories__/Default/index.js +0 -26
  569. package/FormBuilder/__stories__/Default/package.json +0 -6
  570. package/MultiplicityField/MultiplicityField.stories/index.js +0 -12
  571. package/MultiplicityField/MultiplicityField.stories/package.json +0 -6
  572. package/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  573. package/MultiplicityField/__stories__/Default/index.js +0 -95
  574. package/MultiplicityField/__stories__/Default/package.json +0 -6
  575. package/MultiplicityField/__stories__/PreviewDisplay/index.js +0 -72
  576. package/MultiplicityField/__stories__/PreviewDisplay/package.json +0 -6
  577. package/MultiplicityField/__stories__/WithExactLength/index.js +0 -90
  578. package/MultiplicityField/__stories__/WithExactLength/package.json +0 -6
  579. package/MultiplicityField/__stories__/WithMaxLength/index.js +0 -93
  580. package/MultiplicityField/__stories__/WithMaxLength/package.json +0 -6
  581. package/MultiplicityField/__stories__/WithMinAndMaxLength/index.js +0 -94
  582. package/MultiplicityField/__stories__/WithMinAndMaxLength/package.json +0 -6
  583. package/MultiplicityField/__stories__/WithMinLength/index.js +0 -93
  584. package/MultiplicityField/__stories__/WithMinLength/package.json +0 -6
  585. package/Questions/Questions.stories/index.js +0 -7
  586. package/Questions/__snapshots__/index.spec.tsx.snap +0 -596
  587. package/Questions/__stories__/Default/index.js +0 -102
  588. package/Questions/__stories__/Default/package.json +0 -6
  589. package/Questions/index.mdx +0 -415
  590. package/Questions/index.spec/index.js +0 -59
  591. package/cjs/Field/index.mdx +0 -6
  592. package/cjs/FieldArray/FieldArray.stories/index.js +0 -38
  593. package/cjs/FieldArray/FieldArray.stories.playwright.json +0 -353
  594. package/cjs/FieldArray/__stories__/Default/index.js +0 -98
  595. package/cjs/FieldArray/__stories__/WithExactLength/index.js +0 -98
  596. package/cjs/Form.stories/index.js +0 -9
  597. package/cjs/FormBuilder/FormBuilder/index.js +0 -162
  598. package/cjs/FormBuilder/FormBuilder.mdx +0 -256
  599. package/cjs/FormBuilder/FormBuilder.stories/index.js +0 -26
  600. package/cjs/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  601. package/cjs/FormBuilder/__stories__/Default/index.js +0 -36
  602. package/cjs/MultiplicityField/MultiplicityField.mdx +0 -590
  603. package/cjs/MultiplicityField/MultiplicityField.stories/index.js +0 -86
  604. package/cjs/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  605. package/cjs/MultiplicityField/__stories__/Default/index.js +0 -105
  606. package/cjs/MultiplicityField/__stories__/PreviewDisplay/index.js +0 -82
  607. package/cjs/MultiplicityField/__stories__/WithExactLength/index.js +0 -100
  608. package/cjs/MultiplicityField/__stories__/WithMaxLength/index.js +0 -103
  609. package/cjs/MultiplicityField/__stories__/WithMinAndMaxLength/index.js +0 -104
  610. package/cjs/MultiplicityField/__stories__/WithMinLength/index.js +0 -103
  611. package/cjs/Questions/Questions.stories/index.js +0 -26
  612. package/cjs/Questions/__snapshots__/index.spec.tsx.snap +0 -596
  613. package/cjs/Questions/__stories__/Default/index.js +0 -113
  614. package/cjs/Questions/index.mdx +0 -415
  615. package/cjs/Questions/index.spec/index.js +0 -63
  616. package/cjs/create-simple-form.mdx +0 -539
  617. package/cjs/index.mdx +0 -51
  618. package/cjs/inputs/AutoCompleteInput/AutoComplete.stories/index.js +0 -26
  619. package/cjs/inputs/AutoCompleteInput/__stories__/Default/index.js +0 -56
  620. package/cjs/inputs/Checkboxes/Checkboxes.stories/index.js +0 -50
  621. package/cjs/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  622. package/cjs/inputs/Checkboxes/__stories__/Conditional/index.js +0 -102
  623. package/cjs/inputs/Checkboxes/__stories__/Default/index.js +0 -50
  624. package/cjs/inputs/Checkboxes/__stories__/WithDivider/index.js +0 -51
  625. package/cjs/inputs/Checkboxes/index.mdx +0 -0
  626. package/cjs/inputs/DateInput/DateInput.stories/index.js +0 -26
  627. package/cjs/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  628. package/cjs/inputs/DateInput/__stories__/Default/index.js +0 -33
  629. package/cjs/inputs/FileInput/FileInput.stories/index.js +0 -26
  630. package/cjs/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  631. package/cjs/inputs/FileInput/__stories__/Default/index.js +0 -30
  632. package/cjs/inputs/ImageInput/ImageInput.stories/index.js +0 -50
  633. package/cjs/inputs/ImageInput/ImageInput.stories.playwright.json +0 -77
  634. package/cjs/inputs/ImageInput/__stories__/Default/index.js +0 -38
  635. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +0 -46
  636. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +0 -43
  637. package/cjs/inputs/Input/Input.stories/index.js +0 -134
  638. package/cjs/inputs/Input/Input.stories.playwright.json +0 -376
  639. package/cjs/inputs/Input/__stories__/AFM/index.js +0 -32
  640. package/cjs/inputs/Input/__stories__/Boolean/index.js +0 -33
  641. package/cjs/inputs/Input/__stories__/Default/index.js +0 -33
  642. package/cjs/inputs/Input/__stories__/IBAN/index.js +0 -33
  643. package/cjs/inputs/Input/__stories__/Integer/index.js +0 -41
  644. package/cjs/inputs/Input/__stories__/LandlineNumber/index.js +0 -36
  645. package/cjs/inputs/Input/__stories__/MobilePhone/index.js +0 -36
  646. package/cjs/inputs/Input/__stories__/PhoneNumber/index.js +0 -35
  647. package/cjs/inputs/Input/__stories__/PostalCode/index.js +0 -35
  648. package/cjs/inputs/Input/__stories__/TextWithCharacterLimit/index.js +0 -39
  649. package/cjs/inputs/Input/index.mdx +0 -8
  650. package/cjs/inputs/Label/Label.stories/index.js +0 -26
  651. package/cjs/inputs/Label/Label.stories.playwright.json +0 -40
  652. package/cjs/inputs/Label/__stories__/Default/index.js +0 -37
  653. package/cjs/inputs/Label/index.mdx +0 -0
  654. package/cjs/inputs/OtpInput/OtpInput.stories/index.js +0 -26
  655. package/cjs/inputs/OtpInput/__stories__/Default/index.js +0 -39
  656. package/cjs/inputs/Radio/Radio.stories/index.js +0 -50
  657. package/cjs/inputs/Radio/Radio.stories.playwright.json +0 -73
  658. package/cjs/inputs/Radio/__stories__/Conditional/index.js +0 -102
  659. package/cjs/inputs/Radio/__stories__/Default/index.js +0 -55
  660. package/cjs/inputs/Radio/__stories__/WithDivider/index.js +0 -56
  661. package/cjs/inputs/Radio/index.mdx +0 -0
  662. package/cjs/inputs/Select/Select.stories/index.js +0 -26
  663. package/cjs/inputs/Select/Select.stories.playwright.json +0 -22
  664. package/cjs/inputs/Select/__stories__/Default/index.js +0 -61
  665. package/cjs/installation.mdx +0 -68
  666. package/cjs/validators/validators.spec/index.js +0 -87
  667. package/create-simple-form.mdx +0 -539
  668. package/inputs/AutoCompleteInput/AutoComplete.stories/index.js +0 -7
  669. package/inputs/AutoCompleteInput/AutoComplete.stories/package.json +0 -6
  670. package/inputs/AutoCompleteInput/__stories__/Default/index.js +0 -46
  671. package/inputs/AutoCompleteInput/__stories__/Default/package.json +0 -6
  672. package/inputs/Checkboxes/Checkboxes.stories/index.js +0 -9
  673. package/inputs/Checkboxes/Checkboxes.stories/package.json +0 -6
  674. package/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  675. package/inputs/Checkboxes/__stories__/Conditional/index.js +0 -92
  676. package/inputs/Checkboxes/__stories__/Conditional/package.json +0 -6
  677. package/inputs/Checkboxes/__stories__/Default/index.js +0 -40
  678. package/inputs/Checkboxes/__stories__/Default/package.json +0 -6
  679. package/inputs/Checkboxes/__stories__/WithDivider/index.js +0 -41
  680. package/inputs/Checkboxes/__stories__/WithDivider/package.json +0 -6
  681. package/inputs/Checkboxes/index.mdx +0 -0
  682. package/inputs/DateInput/DateInput.stories/index.js +0 -7
  683. package/inputs/DateInput/DateInput.stories/package.json +0 -6
  684. package/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  685. package/inputs/DateInput/__stories__/Default/index.js +0 -23
  686. package/inputs/FileInput/FileInput.stories/index.js +0 -7
  687. package/inputs/FileInput/FileInput.stories/package.json +0 -6
  688. package/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  689. package/inputs/FileInput/__stories__/Default/index.js +0 -20
  690. package/inputs/FileInput/__stories__/Default/package.json +0 -6
  691. package/inputs/ImageInput/ImageInput.stories/index.js +0 -9
  692. package/inputs/ImageInput/ImageInput.stories/package.json +0 -6
  693. package/inputs/ImageInput/ImageInput.stories.playwright.json +0 -77
  694. package/inputs/ImageInput/__stories__/Default/index.js +0 -28
  695. package/inputs/ImageInput/__stories__/Default/package.json +0 -6
  696. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +0 -36
  697. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/package.json +0 -6
  698. package/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +0 -33
  699. package/inputs/ImageInput/__stories__/WithInvalidImageSize/package.json +0 -6
  700. package/inputs/Input/Input.stories/index.js +0 -16
  701. package/inputs/Input/Input.stories/package.json +0 -6
  702. package/inputs/Input/Input.stories.playwright.json +0 -376
  703. package/inputs/Input/__stories__/AFM/index.js +0 -22
  704. package/inputs/Input/__stories__/AFM/package.json +0 -6
  705. package/inputs/Input/__stories__/Boolean/index.js +0 -23
  706. package/inputs/Input/__stories__/Boolean/package.json +0 -6
  707. package/inputs/Input/__stories__/Default/index.js +0 -23
  708. package/inputs/Input/__stories__/Default/package.json +0 -6
  709. package/inputs/Input/__stories__/Default.d.ts +0 -3
  710. package/inputs/Input/__stories__/IBAN/index.js +0 -23
  711. package/inputs/Input/__stories__/IBAN/package.json +0 -6
  712. package/inputs/Input/__stories__/Integer/index.js +0 -31
  713. package/inputs/Input/__stories__/Integer/package.json +0 -6
  714. package/inputs/Input/__stories__/LandlineNumber/index.js +0 -26
  715. package/inputs/Input/__stories__/LandlineNumber/package.json +0 -6
  716. package/inputs/Input/__stories__/MobilePhone/index.js +0 -26
  717. package/inputs/Input/__stories__/MobilePhone/package.json +0 -6
  718. package/inputs/Input/__stories__/PhoneNumber/index.js +0 -25
  719. package/inputs/Input/__stories__/PhoneNumber/package.json +0 -6
  720. package/inputs/Input/__stories__/PostalCode/index.js +0 -25
  721. package/inputs/Input/__stories__/PostalCode/package.json +0 -6
  722. package/inputs/Input/__stories__/TextWithCharacterLimit/index.js +0 -29
  723. package/inputs/Input/__stories__/TextWithCharacterLimit/package.json +0 -6
  724. package/inputs/Input/__stories__/TextWithCharacterLimit.d.ts +0 -3
  725. package/inputs/Input/index.mdx +0 -8
  726. package/inputs/Label/Label.stories/index.js +0 -7
  727. package/inputs/Label/Label.stories/package.json +0 -6
  728. package/inputs/Label/Label.stories.playwright.json +0 -40
  729. package/inputs/Label/__stories__/Default/index.js +0 -27
  730. package/inputs/Label/__stories__/Default/package.json +0 -6
  731. package/inputs/Label/index.mdx +0 -0
  732. package/inputs/OtpInput/OtpInput.stories/index.js +0 -7
  733. package/inputs/OtpInput/OtpInput.stories/package.json +0 -6
  734. package/inputs/OtpInput/__stories__/Default/index.js +0 -29
  735. package/inputs/OtpInput/__stories__/Default/package.json +0 -6
  736. package/inputs/Radio/Radio.stories/index.js +0 -9
  737. package/inputs/Radio/Radio.stories/package.json +0 -6
  738. package/inputs/Radio/Radio.stories.playwright.json +0 -73
  739. package/inputs/Radio/__stories__/Conditional/index.js +0 -92
  740. package/inputs/Radio/__stories__/Conditional/package.json +0 -6
  741. package/inputs/Radio/__stories__/Default/index.js +0 -45
  742. package/inputs/Radio/__stories__/Default/package.json +0 -6
  743. package/inputs/Radio/__stories__/WithDivider/index.js +0 -46
  744. package/inputs/Radio/__stories__/WithDivider/package.json +0 -6
  745. package/inputs/Radio/index.mdx +0 -0
  746. package/inputs/Select/Select.stories/index.js +0 -7
  747. package/inputs/Select/Select.stories/package.json +0 -6
  748. package/inputs/Select/Select.stories.playwright.json +0 -22
  749. package/inputs/Select/__stories__/Default/index.js +0 -51
  750. package/inputs/Select/__stories__/Default/package.json +0 -6
  751. package/installation.mdx +0 -68
  752. package/lazy.d.ts +0 -69
  753. package/registry.d.ts +0 -64
  754. package/src/Field/index.mdx +0 -6
  755. package/src/Field/utils.ts +0 -191
  756. package/src/FieldArray/FieldArray.stories.playwright.json +0 -353
  757. package/src/FormBuilder/FormBuilder.mdx +0 -256
  758. package/src/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  759. package/src/FormBuilder/FormBuilder.tsx +0 -166
  760. package/src/MultiplicityField/MultiplicityField.mdx +0 -590
  761. package/src/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  762. package/src/index.mdx +0 -51
  763. package/src/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  764. package/src/inputs/Checkboxes/index.mdx +0 -0
  765. package/src/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  766. package/src/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  767. package/src/inputs/ImageInput/ImageInput.stories.playwright.json +0 -77
  768. package/src/inputs/Input/Input.stories.playwright.json +0 -376
  769. package/src/inputs/Input/index.mdx +0 -8
  770. package/src/inputs/Label/Label.stories.playwright.json +0 -40
  771. package/src/inputs/Label/index.mdx +0 -0
  772. package/src/inputs/Radio/Radio.stories.playwright.json +0 -73
  773. package/src/inputs/Radio/index.mdx +0 -0
  774. package/src/inputs/Select/Select.stories.playwright.json +0 -22
  775. package/validators/validators.spec/index.js +0 -85
  776. /package/{Field/index.mdx → src/Field/doc.mdx} +0 -0
@@ -1,167 +1,119 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.calculateField = calculateField;
8
- exports.evaluateFieldWithConditions = evaluateFieldWithConditions;
9
- exports.useField = void 0;
10
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
- var _react = require("react");
13
- var _FormContext = require("@digigov/form/FormContext");
14
- var _Checkboxes = _interopRequireDefault(require("@digigov/form/inputs/Checkboxes"));
15
- var _DateInput = _interopRequireDefault(require("@digigov/form/inputs/DateInput"));
16
- var _FileInput = _interopRequireDefault(require("@digigov/form/inputs/FileInput"));
17
- var _ImageInput = _interopRequireDefault(require("@digigov/form/inputs/ImageInput"));
18
- var _Input = _interopRequireDefault(require("@digigov/form/inputs/Input"));
19
- var _OtpInput = _interopRequireDefault(require("@digigov/form/inputs/OtpInput"));
20
- var _Radio = _interopRequireDefault(require("@digigov/form/inputs/Radio"));
21
- var _Select = _interopRequireDefault(require("@digigov/form/inputs/Select"));
22
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != (0, _typeof2["default"])(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
24
- var AutoCompleteInput = /*#__PURE__*/(0, _react.lazy)(function () {
25
- return Promise.resolve().then(function () {
26
- return _interopRequireWildcard(require('@digigov/form/inputs/AutoCompleteInput'));
27
- });
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var utils_exports = {};
29
+ __export(utils_exports, {
30
+ ALTERNATIVE_COMPONENTS: () => ALTERNATIVE_COMPONENTS,
31
+ CONTROLLED_FIELD_COMPONENTS: () => CONTROLLED_FIELD_COMPONENTS,
32
+ FIELD_COMPONENTS: () => FIELD_COMPONENTS
28
33
  });
29
- var FIELD_COMPONENTS = {
34
+ module.exports = __toCommonJS(utils_exports);
35
+ var import_AutoCompleteInput = __toESM(require("@digigov/form/inputs/AutoCompleteInput"));
36
+ var import_Checkboxes = __toESM(require("@digigov/form/inputs/Checkboxes"));
37
+ var import_DateInput = __toESM(require("@digigov/form/inputs/DateInput"));
38
+ var import_DateTimeInput = __toESM(require("@digigov/form/inputs/DateTimeInput"));
39
+ var import_FileInput = __toESM(require("@digigov/form/inputs/FileInput"));
40
+ var import_ImageInput = __toESM(require("@digigov/form/inputs/ImageInput"));
41
+ var import_Input = __toESM(require("@digigov/form/inputs/Input"));
42
+ var import_OtpInput = __toESM(require("@digigov/form/inputs/OtpInput"));
43
+ var import_Radio = __toESM(require("@digigov/form/inputs/Radio"));
44
+ var import_Select = __toESM(require("@digigov/form/inputs/Select"));
45
+ const FIELD_COMPONENTS = {
30
46
  text: {
31
- component: _Input["default"]
47
+ component: import_Input.default
32
48
  },
33
49
  string: {
34
- component: _Input["default"]
50
+ component: import_Input.default
35
51
  },
36
52
  file: {
37
- wrapper: 'fieldset',
38
- component: _FileInput["default"]
53
+ wrapper: "fieldset",
54
+ component: import_FileInput.default
39
55
  },
40
56
  image: {
41
- wrapper: 'fieldset',
42
- component: _ImageInput["default"]
57
+ wrapper: "fieldset",
58
+ component: import_ImageInput.default
43
59
  },
44
60
  date: {
45
- wrapper: 'fieldset',
61
+ wrapper: "fieldset",
46
62
  controlled: true,
47
- component: _DateInput["default"]
63
+ component: import_DateInput.default
64
+ },
65
+ datetime: {
66
+ wrapper: "fieldset",
67
+ controlled: true,
68
+ component: import_DateTimeInput.default
48
69
  },
49
70
  otp: {
50
- wrapper: 'fieldset',
71
+ wrapper: "fieldset",
51
72
  controlled: true,
52
- component: _OtpInput["default"]
73
+ component: import_OtpInput.default
53
74
  },
54
- 'choice:multiple': {
55
- wrapper: 'fieldset',
75
+ "choice:multiple": {
76
+ wrapper: "fieldset",
56
77
  controlled: true,
57
- component: _Checkboxes["default"]
78
+ component: import_Checkboxes.default
58
79
  },
59
- 'choice:single': {
60
- wrapper: 'fieldset',
80
+ "choice:single": {
81
+ wrapper: "fieldset",
61
82
  controlled: false,
62
- component: _Radio["default"]
83
+ component: import_Radio.default
63
84
  }
64
85
  };
65
- var ALTERNATIVE_COMPONENTS = {
86
+ const ALTERNATIVE_COMPONENTS = {
66
87
  Select: {
67
- component: _Select["default"],
88
+ component: import_Select.default,
68
89
  controlled: false
69
90
  },
70
91
  AutoComplete: {
71
- component: AutoCompleteInput,
72
- controlled: true
92
+ component: import_AutoCompleteInput.default,
93
+ controlled: true,
94
+ wrapper: "fieldset"
73
95
  }
74
96
  };
75
- function calculateField(children, field, componentRegistry) {
76
- var _field$extra;
77
- var calculatedField = (0, _extends2["default"])({}, field);
78
- var fieldComponentRegistry = (0, _extends2["default"])({}, FIELD_COMPONENTS, componentRegistry);
79
- if (children) {
80
- calculatedField.component = children;
81
- calculatedField.controlled = true;
82
- } else if (typeof field.component === 'function') {
83
- // leave as is
84
- } else if (!field.component && !field.type) {
85
- var _fieldComponentRegist;
86
- calculatedField.component = fieldComponentRegistry.string.component;
87
- calculatedField.controlled = ((_fieldComponentRegist = fieldComponentRegistry.string) === null || _fieldComponentRegist === void 0 ? void 0 : _fieldComponentRegist.controlled) || false;
88
- } 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]) {
89
- var _ALTERNATIVE_COMPONEN;
90
- calculatedField.controlled = ((_ALTERNATIVE_COMPONEN = ALTERNATIVE_COMPONENTS[field.extra.component]) === null || _ALTERNATIVE_COMPONEN === void 0 ? void 0 : _ALTERNATIVE_COMPONEN.controlled) || false;
91
- calculatedField.component = ALTERNATIVE_COMPONENTS[field.extra.component].component;
92
- } else if (!field.component && field.type && fieldComponentRegistry[field.type]) {
93
- var _fieldComponentRegist2;
94
- calculatedField.component = fieldComponentRegistry[field.type].component;
95
- calculatedField.wrapper = fieldComponentRegistry[field.type].wrapper;
96
- calculatedField.controlled = ((_fieldComponentRegist2 = fieldComponentRegistry[field.type]) === null || _fieldComponentRegist2 === void 0 ? void 0 : _fieldComponentRegist2.controlled) || false;
97
- } else {
98
- var _fieldComponentRegist3;
99
- calculatedField.component = fieldComponentRegistry.string.component;
100
- calculatedField.controlled = ((_fieldComponentRegist3 = fieldComponentRegistry.string) === null || _fieldComponentRegist3 === void 0 ? void 0 : _fieldComponentRegist3.controlled) || false;
101
- }
102
- return calculatedField;
103
- }
104
- var useField = exports.useField = function useField(name, customField) {
105
- var _useContext = (0, _react.useContext)(_FormContext.FormContext),
106
- fieldsMap = _useContext.fieldsMap,
107
- control = _useContext.control,
108
- register = _useContext.register,
109
- reset = _useContext.reset,
110
- trigger = _useContext.trigger,
111
- clearErrors = _useContext.clearErrors,
112
- errors = _useContext.errors,
113
- registerField = _useContext.registerField,
114
- watch = _useContext.watch,
115
- componentRegistry = _useContext.componentRegistry,
116
- getFieldState = _useContext.getFieldState,
117
- setValue = _useContext.setValue,
118
- getValues = _useContext.getValues,
119
- unregister = _useContext.unregister,
120
- formState = _useContext.formState;
121
- if (!registerField) {
122
- 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 ");
97
+ const CONTROLLED_FIELD_COMPONENTS = {
98
+ ...FIELD_COMPONENTS,
99
+ "choice:single": {
100
+ wrapper: "fieldset",
101
+ controlled: true,
102
+ component: import_Radio.ControlledRadioButtonsGroup
103
+ },
104
+ text: {
105
+ component: import_Input.default,
106
+ controlled: true
107
+ },
108
+ string: {
109
+ component: import_Input.default,
110
+ controlled: true
123
111
  }
124
- (0, _react.useMemo)(function () {
125
- return (customField === null || customField === void 0 ? void 0 : customField.type) && registerField((0, _extends2["default"])({}, customField, {
126
- key: name
127
- }));
128
- }, [customField, name, registerField]);
129
- return {
130
- field: customField || fieldsMap[name],
131
- control: control,
132
- register: register,
133
- reset: reset,
134
- trigger: trigger,
135
- watch: watch,
136
- componentRegistry: componentRegistry,
137
- getFieldState: getFieldState,
138
- setValue: setValue,
139
- clearErrors: clearErrors,
140
- getValues: getValues,
141
- unregister: unregister,
142
- formState: formState,
143
- error: errors[name]
144
- };
145
112
  };
146
- function evaluateFieldWithConditions(field, variables) {
147
- var newField = (0, _extends2["default"])({}, field);
148
- if (variables) {
149
- for (var key in variables) {
150
- if (field.condition[key] && field.condition[key].is) {
151
- var is = field.condition[key].is;
152
- if (is === variables[key] || Array.isArray(variables[key]) && variables[key].includes(is)) {
153
- var then = field.condition[key].then || {};
154
- for (var attr in then) {
155
- newField[attr] = then[attr];
156
- }
157
- }
158
- } else if (field.condition[key]) {
159
- var otherwise = field.condition[key]["else"] || {};
160
- for (var _attr in otherwise) {
161
- newField[_attr] = otherwise[_attr];
162
- }
163
- }
164
- }
165
- }
166
- return newField;
167
- }
113
+ // Annotate the CommonJS export names for ESM import in node:
114
+ 0 && (module.exports = {
115
+ ALTERNATIVE_COMPONENTS,
116
+ CONTROLLED_FIELD_COMPONENTS,
117
+ FIELD_COMPONENTS
118
+ });
119
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/Field/utils/index.ts"],
4
+ "sourcesContent": ["import { FieldComponentRegistry } from '@digigov/form/Field/types';\nimport AutoCompleteInput from '@digigov/form/inputs/AutoCompleteInput';\nimport Checkboxes from '@digigov/form/inputs/Checkboxes';\nimport DateInput from '@digigov/form/inputs/DateInput';\nimport DateTimeInput from '@digigov/form/inputs/DateTimeInput';\nimport FileInput from '@digigov/form/inputs/FileInput';\nimport ImageInput from '@digigov/form/inputs/ImageInput';\nimport Input from '@digigov/form/inputs/Input';\nimport OtpInput from '@digigov/form/inputs/OtpInput';\nimport Radio, { ControlledRadioButtonsGroup } from '@digigov/form/inputs/Radio';\nimport Select from '@digigov/form/inputs/Select';\n\nexport const FIELD_COMPONENTS: FieldComponentRegistry = {\n text: {\n component: Input,\n },\n string: {\n component: Input,\n },\n file: {\n wrapper: 'fieldset',\n component: FileInput,\n },\n image: {\n wrapper: 'fieldset',\n component: ImageInput,\n },\n date: {\n wrapper: 'fieldset',\n controlled: true,\n component: DateInput,\n },\n datetime: {\n wrapper: 'fieldset',\n controlled: true,\n component: DateTimeInput,\n },\n otp: {\n wrapper: 'fieldset',\n controlled: true,\n component: OtpInput,\n },\n 'choice:multiple': {\n wrapper: 'fieldset',\n controlled: true,\n component: Checkboxes,\n },\n 'choice:single': {\n wrapper: 'fieldset',\n controlled: false,\n component: Radio,\n },\n};\n\nexport const ALTERNATIVE_COMPONENTS: FieldComponentRegistry = {\n Select: {\n component: Select,\n controlled: false,\n },\n AutoComplete: {\n component: AutoCompleteInput,\n controlled: true,\n wrapper: 'fieldset',\n },\n};\n\nexport const CONTROLLED_FIELD_COMPONENTS: FieldComponentRegistry = {\n ...FIELD_COMPONENTS,\n 'choice:single': {\n wrapper: 'fieldset',\n controlled: true,\n component: ControlledRadioButtonsGroup,\n },\n text: {\n component: Input,\n controlled: true,\n },\n string: {\n component: Input,\n controlled: true,\n },\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,+BAA8B;AAC9B,wBAAuB;AACvB,uBAAsB;AACtB,2BAA0B;AAC1B,uBAAsB;AACtB,wBAAuB;AACvB,mBAAkB;AAClB,sBAAqB;AACrB,mBAAmD;AACnD,oBAAmB;AAEZ,MAAM,mBAA2C;AAAA,EACtD,MAAM;AAAA,IACJ,WAAW,aAAAA;AAAA,EACb;AAAA,EACA,QAAQ;AAAA,IACN,WAAW,aAAAA;AAAA,EACb;AAAA,EACA,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,WAAW,iBAAAC;AAAA,EACb;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,IACT,WAAW,kBAAAC;AAAA,EACb;AAAA,EACA,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,WAAW,iBAAAC;AAAA,EACb;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,WAAW,qBAAAC;AAAA,EACb;AAAA,EACA,KAAK;AAAA,IACH,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,WAAW,gBAAAC;AAAA,EACb;AAAA,EACA,mBAAmB;AAAA,IACjB,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,WAAW,kBAAAC;AAAA,EACb;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,WAAW,aAAAC;AAAA,EACb;AACF;AAEO,MAAM,yBAAiD;AAAA,EAC5D,QAAQ;AAAA,IACN,WAAW,cAAAC;AAAA,IACX,YAAY;AAAA,EACd;AAAA,EACA,cAAc;AAAA,IACZ,WAAW,yBAAAC;AAAA,IACX,YAAY;AAAA,IACZ,SAAS;AAAA,EACX;AACF;AAEO,MAAM,8BAAsD;AAAA,EACjE,GAAG;AAAA,EACH,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,WAAW;AAAA,EACb;AAAA,EACA,MAAM;AAAA,IACJ,WAAW,aAAAT;AAAA,IACX,YAAY;AAAA,EACd;AAAA,EACA,QAAQ;AAAA,IACN,WAAW,aAAAA;AAAA,IACX,YAAY;AAAA,EACd;AACF;",
6
+ "names": ["Input", "FileInput", "ImageInput", "DateInput", "DateTimeInput", "OtpInput", "Checkboxes", "Radio", "Select", "AutoCompleteInput"]
7
+ }
@@ -0,0 +1,80 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var useField_exports = {};
19
+ __export(useField_exports, {
20
+ useField: () => useField
21
+ });
22
+ module.exports = __toCommonJS(useField_exports);
23
+ var import_react = require("react");
24
+ var import_FormContext = require("@digigov/form/FormContext");
25
+ const useField = (name, customField) => {
26
+ const {
27
+ fieldsMap,
28
+ control,
29
+ register,
30
+ reset,
31
+ trigger,
32
+ clearErrors,
33
+ errors,
34
+ registerField,
35
+ watch,
36
+ componentRegistry,
37
+ getFieldState,
38
+ setValue,
39
+ getValues,
40
+ unregister,
41
+ formState
42
+ } = (0, import_react.useContext)(import_FormContext.FormContext);
43
+ if (!registerField) {
44
+ throw new Error(`
45
+ You can't use the Field component without wrapping it in FormBuilder.
46
+ https://devs.pages.grnet.gr/digigov/digigov-sdk/sdk-docs/forms/create-simple-form/
47
+ `);
48
+ }
49
+ let error = errors[name];
50
+ const nameIndexRegex = name.match(/^(.*?)\.(\d+)$/);
51
+ if (nameIndexRegex) {
52
+ const [, fieldArrayName, indexStr] = nameIndexRegex;
53
+ error = errors[fieldArrayName]?.[Number(indexStr)];
54
+ }
55
+ (0, import_react.useMemo)(
56
+ () => customField?.type && registerField({ ...customField, key: name }),
57
+ [customField, name, registerField]
58
+ );
59
+ return {
60
+ field: customField || fieldsMap[name],
61
+ control,
62
+ register,
63
+ reset,
64
+ trigger,
65
+ watch,
66
+ componentRegistry,
67
+ getFieldState,
68
+ setValue,
69
+ clearErrors,
70
+ getValues,
71
+ unregister,
72
+ formState,
73
+ error
74
+ };
75
+ };
76
+ // Annotate the CommonJS export names for ESM import in node:
77
+ 0 && (module.exports = {
78
+ useField
79
+ });
80
+ //# sourceMappingURL=useField.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/Field/utils/useField.ts"],
4
+ "sourcesContent": ["import { useContext, useMemo } from 'react';\nimport { FieldSpec, UseFieldProps } from '@digigov/form/Field/types';\nimport { FormContext } from '@digigov/form/FormContext';\n\nexport const useField = (\n name: string,\n customField: FieldSpec | null\n): UseFieldProps => {\n const {\n fieldsMap,\n control,\n register,\n reset,\n trigger,\n clearErrors,\n errors,\n registerField,\n watch,\n componentRegistry,\n getFieldState,\n setValue,\n getValues,\n unregister,\n formState,\n } = useContext(FormContext);\n if (!registerField) {\n 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 `);\n }\n let error = errors[name];\n const nameIndexRegex = name.match(/^(.*?)\\.(\\d+)$/);\n if (nameIndexRegex) {\n const [, fieldArrayName, indexStr] = nameIndexRegex;\n error = errors[fieldArrayName]?.[Number(indexStr)];\n }\n useMemo(\n () => customField?.type && registerField({ ...customField, key: name }),\n [customField, name, registerField]\n );\n return {\n field: customField || fieldsMap[name],\n control,\n register,\n reset,\n trigger,\n watch,\n componentRegistry,\n getFieldState,\n setValue,\n clearErrors,\n getValues,\n unregister,\n formState,\n error,\n };\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoC;AAEpC,yBAA4B;AAErB,MAAM,WAAW,CACtB,MACA,gBACkB;AAClB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,8BAAW;AAC1B,MAAI,CAAC,eAAe;AAClB,UAAM,IAAI,MAAM;AAAA;AAAA;AAAA,KAGf;AAAA,EACH;AACA,MAAI,QAAQ,OAAO,IAAI;AACvB,QAAM,iBAAiB,KAAK,MAAM,gBAAgB;AAClD,MAAI,gBAAgB;AAClB,UAAM,CAAC,EAAE,gBAAgB,QAAQ,IAAI;AACrC,YAAQ,OAAO,cAAc,IAAI,OAAO,QAAQ,CAAC;AAAA,EACnD;AACA;AAAA,IACE,MAAM,aAAa,QAAQ,cAAc,EAAE,GAAG,aAAa,KAAK,KAAK,CAAC;AAAA,IACtE,CAAC,aAAa,MAAM,aAAa;AAAA,EACnC;AACA,SAAO;AAAA,IACL,OAAO,eAAe,UAAU,IAAI;AAAA,IACpC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,301 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var FormDialog_exports = {};
29
+ __export(FormDialog_exports, {
30
+ ArrayItemDisplay: () => ArrayItemDisplay,
31
+ ArrayItemHeader: () => ArrayItemHeader,
32
+ ArrayItemModal: () => ArrayItemModal,
33
+ FormDialog: () => FormDialog,
34
+ default: () => FormDialog_default
35
+ });
36
+ module.exports = __toCommonJS(FormDialog_exports);
37
+ var import_react = __toESM(require("react"));
38
+ var import_react_hook_form = require("react-hook-form");
39
+ var import_FieldObject = require("@digigov/form/FieldObject");
40
+ var import_Fieldset = require("@digigov/form/Fieldset");
41
+ var import_Modal = require("@digigov/ui/app/Modal");
42
+ var import_content = require("@digigov/ui/content");
43
+ var import_Button = require("@digigov/ui/form/Button");
44
+ var import_Hint = require("@digigov/ui/typography/Hint");
45
+ const FormDialog = ({
46
+ name,
47
+ trigger,
48
+ register,
49
+ control,
50
+ formState,
51
+ error,
52
+ getValues,
53
+ Field,
54
+ reset,
55
+ ...customField
56
+ }) => {
57
+ const [isAppending, setIsAppending] = (0, import_react.useState)(false);
58
+ const [currentIndex, setCurrentIndex] = (0, import_react.useState)(0);
59
+ const { fields, append, remove, update } = (0, import_react_hook_form.useFieldArray)({
60
+ control,
61
+ name
62
+ });
63
+ const { open, close, registerModal } = (0, import_Modal.useModal)();
64
+ const currentLength = fields.length > 0 ? fields.length - 1 : fields.length;
65
+ const currentName = isAppending ? `${name}.${currentLength}` : `${name}.${currentIndex}`;
66
+ (0, import_react.useEffect)(() => {
67
+ if (isAppending) {
68
+ setCurrentIndex(currentLength);
69
+ open(`modal-${name}`);
70
+ }
71
+ }, [isAppending]);
72
+ const valuesRef = (0, import_react.useRef)(null);
73
+ if (!error) {
74
+ const values2 = getValues(currentName);
75
+ if (typeof values2 === "object") {
76
+ valuesRef.current = { ...values2 };
77
+ } else {
78
+ valuesRef.current = values2;
79
+ }
80
+ }
81
+ const values = getValues(name);
82
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
83
+ ArrayItemModal,
84
+ {
85
+ title: customField.extra?.label.object.title && `${customField.extra?.label.object.title} ${currentLength + 1}`,
86
+ hint: customField.label?.secondary,
87
+ name,
88
+ editOrAppend: async () => {
89
+ const hasNoErrors = await trigger(
90
+ customField.extra?.of.extra ? customField.extra?.of.extra.fields.map(
91
+ ({ key }) => `${currentName}.${key}`
92
+ ) : currentName
93
+ );
94
+ if (hasNoErrors) {
95
+ const newValues = getValues(currentName);
96
+ if (isAppending) {
97
+ setIsAppending(false);
98
+ }
99
+ if (customField?.extra?.of?.extra) {
100
+ update(currentIndex, newValues);
101
+ } else {
102
+ update(currentIndex, newValues);
103
+ }
104
+ close();
105
+ }
106
+ },
107
+ cancel: () => {
108
+ if (isAppending) {
109
+ setIsAppending(false);
110
+ remove(currentIndex);
111
+ close();
112
+ return;
113
+ }
114
+ update(currentIndex, valuesRef.current);
115
+ reset(void 0, {
116
+ keepTouched: true,
117
+ keepDefaultValues: true,
118
+ keepIsValid: true,
119
+ keepIsSubmitted: true,
120
+ keepValues: true
121
+ });
122
+ close();
123
+ },
124
+ type: isAppending ? "append" : "edit",
125
+ appendLabel: customField.extra?.label.object.append.label,
126
+ appendProps: customField.extra?.label.object.append.props,
127
+ editLabel: customField.extra?.label.object.edit.label,
128
+ editProps: customField.extra?.label.object.edit.props,
129
+ cancelLabel: customField.extra?.label.object.cancel.label,
130
+ cancelProps: customField.extra?.label.object.cancel.props,
131
+ ...registerModal(`modal-${name}`)
132
+ },
133
+ /* @__PURE__ */ import_react.default.createElement(import_Fieldset.Fieldset, null, customField.extra?.of?.type === "object" ? /* @__PURE__ */ import_react.default.createElement(
134
+ import_FieldObject.FieldObject,
135
+ {
136
+ defaultValue: getValues(currentName) || void 0,
137
+ name: currentName,
138
+ error: error && error[currentIndex],
139
+ formState,
140
+ register,
141
+ control,
142
+ ...customField.extra?.of,
143
+ Field
144
+ }
145
+ ) : /* @__PURE__ */ import_react.default.createElement(
146
+ Field,
147
+ {
148
+ name: currentName,
149
+ ...customField.extra?.of,
150
+ error: error && error[currentIndex],
151
+ key: currentName
152
+ }
153
+ ))
154
+ ), /* @__PURE__ */ import_react.default.createElement(import_content.TableContainer, null, /* @__PURE__ */ import_react.default.createElement(import_content.Table, null, !customField.extra?.noHeader && customField.extra?.of?.extra && /* @__PURE__ */ import_react.default.createElement(
155
+ ArrayItemHeader,
156
+ {
157
+ labels: customField.extra?.of.extra.fields.map(
158
+ ({ label }) => label.primary
159
+ ),
160
+ disabled: customField.extra?.editable === false
161
+ }
162
+ ), /* @__PURE__ */ import_react.default.createElement(import_content.TableBody, null, values?.map((field, index) => {
163
+ return /* @__PURE__ */ import_react.default.createElement(
164
+ ArrayItemDisplay,
165
+ {
166
+ key: index,
167
+ name: `${name}.${index}`,
168
+ data: field,
169
+ edit: () => {
170
+ setCurrentIndex(index);
171
+ open(`modal-${name}`);
172
+ },
173
+ remove: () => {
174
+ remove(index);
175
+ },
176
+ disabledEdit: customField.extra?.noEdit ?? false,
177
+ disabledDelete: customField.extra?.noDelete ?? false,
178
+ disabled: customField.extra?.editable ?? false
179
+ }
180
+ );
181
+ })))), /* @__PURE__ */ import_react.default.createElement(
182
+ "div",
183
+ {
184
+ className: customField.extra?.label.object?.addButtonVariant === "link" ? "px-2 py-2 bg-gray-200 border-t border-b border-gray-400" : ""
185
+ },
186
+ /* @__PURE__ */ import_react.default.createElement(
187
+ import_Button.Button,
188
+ {
189
+ type: "button",
190
+ name: `${name}-add-object`,
191
+ color: "secondary",
192
+ variant: customField.extra?.label.object?.addButtonVariant,
193
+ onClick: (ev) => {
194
+ ev.preventDefault();
195
+ if (customField.extra?.of?.extra) {
196
+ append({});
197
+ } else {
198
+ append("");
199
+ }
200
+ setCurrentIndex(currentLength + 1);
201
+ setIsAppending(true);
202
+ },
203
+ disabled: !customField?.editable
204
+ },
205
+ customField.extra?.label.object?.add
206
+ )
207
+ ));
208
+ };
209
+ const ArrayItemModal = ({
210
+ type,
211
+ name,
212
+ title,
213
+ hint,
214
+ editOrAppend,
215
+ cancel,
216
+ editLabel,
217
+ editProps,
218
+ appendLabel,
219
+ appendProps,
220
+ cancelLabel,
221
+ cancelProps,
222
+ children,
223
+ ...props
224
+ }) => {
225
+ return /* @__PURE__ */ import_react.default.createElement(import_Modal.Modal, { ...props, "aria-labelledby": "modal-label" }, /* @__PURE__ */ import_react.default.createElement(import_Modal.ModalHeading, { id: "modal-label" }, title ? title : type === "edit" ? "\u0395\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1" : "\u03A0\u03C1\u03BF\u03C3\u03B8\u03AE\u03BA\u03B7"), /* @__PURE__ */ import_react.default.createElement(import_Modal.ModalContent, null, hint && /* @__PURE__ */ import_react.default.createElement(import_Hint.Hint, null, hint), children), /* @__PURE__ */ import_react.default.createElement(import_Modal.ModalAction, null, type === "edit" ? /* @__PURE__ */ import_react.default.createElement(
226
+ import_Button.Button,
227
+ {
228
+ color: "secondary",
229
+ ...editProps,
230
+ onClick: async (e) => {
231
+ e.preventDefault();
232
+ editOrAppend(name);
233
+ }
234
+ },
235
+ editLabel || "\u0391\u03C0\u03BF\u03B8\u03AE\u03BA\u03B5\u03C5\u03C3\u03B7"
236
+ ) : /* @__PURE__ */ import_react.default.createElement(
237
+ import_Button.Button,
238
+ {
239
+ color: "primary",
240
+ ...appendProps,
241
+ onClick: async (e) => {
242
+ e.preventDefault();
243
+ editOrAppend(name);
244
+ }
245
+ },
246
+ appendLabel || "\u03A0\u03C1\u03BF\u03C3\u03B8\u03AE\u03BA\u03B7"
247
+ ), /* @__PURE__ */ import_react.default.createElement(
248
+ import_Button.Button,
249
+ {
250
+ variant: "link",
251
+ ...cancelProps,
252
+ onClick: (e) => {
253
+ e.preventDefault();
254
+ cancel(name);
255
+ }
256
+ },
257
+ cancelLabel || "\u0391\u03BA\u03CD\u03C1\u03C9\u03C3\u03B7"
258
+ )));
259
+ };
260
+ const ArrayItemHeader = ({ labels, disabled }) => {
261
+ return /* @__PURE__ */ import_react.default.createElement(import_content.TableHead, null, /* @__PURE__ */ import_react.default.createElement(import_content.TableRow, null, labels.map((label, index) => {
262
+ return /* @__PURE__ */ import_react.default.createElement(import_content.TableHeadCell, { key: index }, label);
263
+ }), !disabled && /* @__PURE__ */ import_react.default.createElement(import_content.TableHeadCell, null, "\u0395\u03BD\u03AD\u03C1\u03B3\u03B5\u03B9\u03B5\u03C2")));
264
+ };
265
+ const ArrayItemDisplay = ({
266
+ name,
267
+ data,
268
+ edit,
269
+ remove,
270
+ disabledEdit,
271
+ disabledDelete,
272
+ disabled
273
+ }) => {
274
+ if (Object.keys(data).length === 0 || Object.keys(data).length === 1 && data.id) {
275
+ return null;
276
+ }
277
+ delete data.id;
278
+ const values = typeof data === "string" ? [data] : Object.values(data);
279
+ return /* @__PURE__ */ import_react.default.createElement(import_content.TableRow, null, values.map((value, index) => {
280
+ return /* @__PURE__ */ import_react.default.createElement(import_content.TableDataCell, { key: index }, value || "");
281
+ }), disabled === true || disabledEdit === true && disabledDelete === true ? null : /* @__PURE__ */ import_react.default.createElement(import_content.TableDataCell, null, /* @__PURE__ */ import_react.default.createElement(import_Button.ButtonGroup, null, disabledEdit !== true && /* @__PURE__ */ import_react.default.createElement(
282
+ import_Button.Button,
283
+ {
284
+ variant: "link",
285
+ type: "button",
286
+ onClick: () => {
287
+ edit(name);
288
+ }
289
+ },
290
+ "\u0395\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1"
291
+ ), disabledDelete !== true && /* @__PURE__ */ import_react.default.createElement(import_Button.Button, { variant: "link", type: "button", onClick: () => remove(name) }, "\u0394\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03AE"))));
292
+ };
293
+ var FormDialog_default = FormDialog;
294
+ // Annotate the CommonJS export names for ESM import in node:
295
+ 0 && (module.exports = {
296
+ ArrayItemDisplay,
297
+ ArrayItemHeader,
298
+ ArrayItemModal,
299
+ FormDialog
300
+ });
301
+ //# sourceMappingURL=FormDialog.js.map