@digigov/form 2.0.0-555d1027 → 2.0.0-5e7a6790

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 (396) hide show
  1. package/Field/ErrorGroup.d.ts +3 -3
  2. package/Field/ErrorGroup.js.map +1 -1
  3. package/Field/FieldBase/index.js +0 -1
  4. package/Field/FieldBase.d.ts +1 -1
  5. package/Field/FieldBase.js.map +2 -2
  6. package/Field/FieldBaseContainer/index.js +36 -34
  7. package/Field/FieldBaseContainer.d.ts +2 -2
  8. package/Field/FieldBaseContainer.js.map +2 -2
  9. package/Field/FieldConditional.d.ts +1 -1
  10. package/Field/FieldConditional.js.map +1 -1
  11. package/Field/index.d.ts +1 -1
  12. package/Field/index.js +15 -25
  13. package/Field/index.js.map +2 -2
  14. package/Field/types.d.ts +11 -10
  15. package/Field/utils/evaluateFieldWithConditions.d.ts +2 -2
  16. package/Field/utils/evaluateFieldWithConditions.js.map +2 -2
  17. package/Field/utils/resolveField/index.js +35 -0
  18. package/Field/utils/{calculateField → resolveField}/package.json +1 -1
  19. package/Field/utils/resolveField.d.ts +3 -0
  20. package/Field/utils/resolveField.js.map +7 -0
  21. package/Field/utils/useField/index.js +4 -2
  22. package/Field/utils/useField.d.ts +1 -1
  23. package/Field/utils/useField.js.map +2 -2
  24. package/FieldArray/BaseFieldArray/index.js +76 -0
  25. package/{inputs/inputsScenarios → FieldArray/BaseFieldArray}/package.json +1 -1
  26. package/FieldArray/BaseFieldArray.d.ts +5 -0
  27. package/FieldArray/BaseFieldArray.js.map +7 -0
  28. package/FieldArray/FormDialog/ArrayDisplay/ArrayDisplay.stories.d.ts +10 -0
  29. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay/index.js +97 -0
  30. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay/package.json +6 -0
  31. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.d.ts +22 -0
  32. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.js.map +7 -0
  33. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader/index.js +11 -0
  34. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader/package.json +6 -0
  35. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.d.ts +5 -0
  36. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.js.map +7 -0
  37. package/FieldArray/FormDialog/ArrayDisplay/__stories__/Default.d.ts +2 -0
  38. package/FieldArray/FormDialog/ArrayDisplay/__stories__/ReadOnly.d.ts +2 -0
  39. package/FieldArray/FormDialog/ArrayDisplay/__stories__/Sortable.d.ts +2 -0
  40. package/FieldArray/FormDialog/ArrayDisplay/index.d.ts +14 -0
  41. package/FieldArray/FormDialog/ArrayDisplay/index.js +51 -0
  42. package/FieldArray/FormDialog/ArrayDisplay/index.js.map +7 -0
  43. package/FieldArray/FormDialog/ArrayDisplay/package.json +6 -0
  44. package/FieldArray/FormDialog/ArrayEditModal/index.js +149 -0
  45. package/FieldArray/FormDialog/ArrayEditModal/package.json +6 -0
  46. package/FieldArray/FormDialog/ArrayEditModal.d.ts +26 -0
  47. package/FieldArray/FormDialog/ArrayEditModal.js.map +7 -0
  48. package/FieldArray/FormDialog/index.d.ts +19 -0
  49. package/FieldArray/FormDialog/index.js +139 -348
  50. package/FieldArray/FormDialog/index.js.map +7 -0
  51. package/FieldArray/index.d.ts +4 -2
  52. package/FieldArray/index.js +28 -54
  53. package/FieldArray/index.js.map +2 -2
  54. package/FieldObject/index.d.ts +4 -4
  55. package/FieldObject/index.js +5 -12
  56. package/FieldObject/index.js.map +2 -2
  57. package/Fieldset/FieldsetWithContext.js.map +1 -1
  58. package/Fieldset/index.d.ts +1 -1
  59. package/Fieldset/index.js.map +1 -1
  60. package/Fieldset/types.d.ts +2 -2
  61. package/FormBuilder/index.d.ts +1 -1
  62. package/FormBuilder/index.js +155 -130
  63. package/FormBuilder/index.js.map +2 -2
  64. package/FormContext.d.ts +2 -2
  65. package/FormContext.js.map +2 -2
  66. package/MultiplicityField/add-objects/index.js +10 -19
  67. package/MultiplicityField/add-objects.d.ts +1 -1
  68. package/MultiplicityField/add-objects.js.map +2 -2
  69. package/MultiplicityField/index.d.ts +2 -2
  70. package/MultiplicityField/index.js.map +2 -2
  71. package/MultiplicityField/types.d.ts +2 -2
  72. package/Questions/Questions.d.ts +1 -1
  73. package/Questions/Questions.js.map +1 -1
  74. package/Questions/QuestionsContext.d.ts +1 -1
  75. package/Questions/QuestionsContext.js.map +1 -1
  76. package/Questions/Step/Step.d.ts +1 -1
  77. package/Questions/Step/Step.js.map +1 -1
  78. package/Questions/Step/StepArrayReview.d.ts +1 -1
  79. package/Questions/Step/StepArrayReview.js.map +1 -1
  80. package/Questions/Step/StepContext.d.ts +1 -1
  81. package/Questions/Step/StepContext.js.map +1 -1
  82. package/Questions/Step/StepDescription.d.ts +1 -1
  83. package/Questions/Step/StepDescription.js.map +2 -2
  84. package/Questions/Step/StepForm.d.ts +2 -2
  85. package/Questions/Step/StepForm.js.map +1 -1
  86. package/Questions/Step/StepQuote.d.ts +1 -1
  87. package/Questions/Step/StepQuote.js.map +2 -2
  88. package/Questions/Step/StepTitle.d.ts +1 -1
  89. package/Questions/Step/StepTitle.js.map +2 -2
  90. package/Questions/Step/getAddMoreFields.d.ts +2 -2
  91. package/Questions/Step/getAddMoreFields.js.map +1 -1
  92. package/Questions/Step/types.d.ts +1 -1
  93. package/Questions/getNextStep.d.ts +1 -1
  94. package/Questions/getNextStep.js.map +1 -1
  95. package/Questions/types.d.ts +1 -1
  96. package/cjs/Field/ErrorGroup.js.map +1 -1
  97. package/cjs/Field/FieldBase/index.js +0 -1
  98. package/cjs/Field/FieldBase.js.map +2 -2
  99. package/cjs/Field/FieldBaseContainer/index.js +36 -34
  100. package/cjs/Field/FieldBaseContainer.js.map +2 -2
  101. package/cjs/Field/FieldConditional.js.map +1 -1
  102. package/cjs/Field/index.js +15 -22
  103. package/cjs/Field/index.js.map +2 -2
  104. package/cjs/Field/types.js.map +1 -1
  105. package/cjs/Field/utils/evaluateFieldWithConditions.js.map +2 -2
  106. package/cjs/Field/utils/resolveField/index.js +55 -0
  107. package/cjs/Field/utils/resolveField.js.map +7 -0
  108. package/cjs/Field/utils/useField/index.js +4 -2
  109. package/cjs/Field/utils/useField.js.map +2 -2
  110. package/cjs/FieldArray/BaseFieldArray/index.js +109 -0
  111. package/cjs/FieldArray/BaseFieldArray.js.map +7 -0
  112. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay/index.js +130 -0
  113. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.js.map +7 -0
  114. package/cjs/{locales/el → FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader}/index.js +16 -7
  115. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.js.map +7 -0
  116. package/cjs/FieldArray/FormDialog/ArrayDisplay/index.js +84 -0
  117. package/cjs/FieldArray/FormDialog/ArrayDisplay/index.js.map +7 -0
  118. package/cjs/FieldArray/FormDialog/ArrayEditModal/index.js +177 -0
  119. package/cjs/FieldArray/FormDialog/ArrayEditModal.js.map +7 -0
  120. package/cjs/FieldArray/FormDialog/index.js +130 -331
  121. package/cjs/FieldArray/FormDialog/index.js.map +7 -0
  122. package/cjs/FieldArray/index.js +27 -53
  123. package/cjs/FieldArray/index.js.map +3 -3
  124. package/cjs/FieldObject/index.js +5 -9
  125. package/cjs/FieldObject/index.js.map +2 -2
  126. package/cjs/Fieldset/FieldsetWithContext.js.map +1 -1
  127. package/cjs/Fieldset/index.js.map +1 -1
  128. package/cjs/Fieldset/types.js.map +1 -1
  129. package/cjs/FormBuilder/index.js +156 -131
  130. package/cjs/FormBuilder/index.js.map +3 -3
  131. package/cjs/FormContext.js.map +2 -2
  132. package/cjs/MultiplicityField/add-objects/index.js +9 -13
  133. package/cjs/MultiplicityField/add-objects.js.map +2 -2
  134. package/cjs/MultiplicityField/index.js.map +2 -2
  135. package/cjs/MultiplicityField/types.js.map +1 -1
  136. package/cjs/Questions/Questions.js.map +1 -1
  137. package/cjs/Questions/QuestionsContext.js.map +1 -1
  138. package/cjs/Questions/Step/Step.js.map +1 -1
  139. package/cjs/Questions/Step/StepArrayReview.js.map +1 -1
  140. package/cjs/Questions/Step/StepContext.js.map +1 -1
  141. package/cjs/Questions/Step/StepDescription.js.map +2 -2
  142. package/cjs/Questions/Step/StepForm.js.map +1 -1
  143. package/cjs/Questions/Step/StepQuote.js.map +2 -2
  144. package/cjs/Questions/Step/StepTitle.js.map +2 -2
  145. package/cjs/Questions/Step/getAddMoreFields.js.map +1 -1
  146. package/cjs/Questions/Step/types.js.map +1 -1
  147. package/cjs/Questions/getNextStep.js.map +1 -1
  148. package/cjs/Questions/types.js.map +1 -1
  149. package/cjs/hooks/useFieldFocusManager/index.js +135 -0
  150. package/cjs/hooks/useFieldFocusManager.js.map +7 -0
  151. package/cjs/hooks/utils/index.js +98 -0
  152. package/cjs/hooks/utils.js.map +7 -0
  153. package/cjs/inputs/AutoCompleteInput/index.js.map +2 -2
  154. package/cjs/inputs/Checkboxes/index.js +67 -63
  155. package/cjs/inputs/Checkboxes/index.js.map +2 -2
  156. package/cjs/inputs/DateInput/index.js +10 -5
  157. package/cjs/inputs/DateInput/index.js.map +2 -2
  158. package/cjs/inputs/DateTimeInput/index.js +10 -5
  159. package/cjs/inputs/DateTimeInput/index.js.map +2 -2
  160. package/cjs/inputs/FileInput/index.js.map +2 -2
  161. package/cjs/inputs/ImageInput/index.js.map +1 -1
  162. package/cjs/inputs/Input/index.js +54 -56
  163. package/cjs/inputs/Input/index.js.map +2 -2
  164. package/cjs/inputs/Label/index.js.map +1 -1
  165. package/cjs/inputs/OtpInput/index.js +36 -31
  166. package/cjs/inputs/OtpInput/index.js.map +2 -2
  167. package/cjs/inputs/Radio/index.js +5 -4
  168. package/cjs/inputs/Radio/index.js.map +3 -3
  169. package/cjs/inputs/Select/index.js.map +1 -1
  170. package/cjs/{Field/utils → inputs/registry}/index.js +4 -4
  171. package/cjs/inputs/registry.js.map +7 -0
  172. package/cjs/{lazy/index.js → lazy.js} +10 -9
  173. package/cjs/lazy.js.map +2 -2
  174. package/cjs/{registry/index.js → registry.js} +23 -13
  175. package/cjs/registry.js.map +2 -2
  176. package/cjs/types.js.map +1 -1
  177. package/cjs/utils.js.map +2 -2
  178. package/cjs/validators/index.js.map +2 -2
  179. package/cjs/validators/types.js.map +1 -1
  180. package/cjs/validators/utils/date/index.js +6 -1
  181. package/cjs/validators/utils/date.js.map +2 -2
  182. package/cjs/validators/utils/datetime/index.js +6 -1
  183. package/cjs/validators/utils/datetime.js.map +2 -2
  184. package/cjs/validators/utils/file.js.map +1 -1
  185. package/cjs/validators/utils/iban.js.map +1 -1
  186. package/cjs/validators/utils/image.js.map +1 -1
  187. package/cjs/validators/utils/index.js.map +1 -1
  188. package/cjs/validators/utils/int.js.map +1 -1
  189. package/cjs/validators/utils/number.js.map +1 -1
  190. package/cjs/validators/utils/otp.js.map +1 -1
  191. package/cjs/validators/utils/phone.js.map +1 -1
  192. package/cjs/validators/utils/postal_code.js.map +1 -1
  193. package/cjs/validators/utils/text_limit.js.map +1 -1
  194. package/hooks/useFieldFocusManager/index.js +116 -0
  195. package/hooks/useFieldFocusManager/package.json +6 -0
  196. package/hooks/useFieldFocusManager.d.ts +25 -0
  197. package/hooks/useFieldFocusManager.js.map +7 -0
  198. package/hooks/utils/index.js +73 -0
  199. package/{Field → hooks}/utils/package.json +1 -1
  200. package/hooks/utils.d.ts +18 -0
  201. package/hooks/utils.js.map +7 -0
  202. package/index.js +1 -1
  203. package/inputs/AutoCompleteInput/index.d.ts +3 -3
  204. package/inputs/AutoCompleteInput/index.js +1 -3
  205. package/inputs/AutoCompleteInput/index.js.map +2 -2
  206. package/inputs/Checkboxes/index.d.ts +3 -3
  207. package/inputs/Checkboxes/index.js +67 -63
  208. package/inputs/Checkboxes/index.js.map +2 -2
  209. package/inputs/DateInput/index.d.ts +2 -5
  210. package/inputs/DateInput/index.js +10 -5
  211. package/inputs/DateInput/index.js.map +2 -2
  212. package/inputs/DateTimeInput/index.d.ts +2 -5
  213. package/inputs/DateTimeInput/index.js +10 -5
  214. package/inputs/DateTimeInput/index.js.map +2 -2
  215. package/inputs/FileInput/index.d.ts +4 -4
  216. package/inputs/FileInput/index.js +1 -4
  217. package/inputs/FileInput/index.js.map +2 -2
  218. package/inputs/ImageInput/index.d.ts +2 -2
  219. package/inputs/ImageInput/index.js.map +1 -1
  220. package/inputs/Input/index.d.ts +2 -2
  221. package/inputs/Input/index.js +54 -56
  222. package/inputs/Input/index.js.map +2 -2
  223. package/inputs/Label/index.d.ts +1 -1
  224. package/inputs/Label/index.js.map +1 -1
  225. package/inputs/OtpInput/index.d.ts +1 -5
  226. package/inputs/OtpInput/index.js +36 -31
  227. package/inputs/OtpInput/index.js.map +2 -2
  228. package/inputs/Radio/index.d.ts +4 -4
  229. package/inputs/Radio/index.js +5 -4
  230. package/inputs/Radio/index.js.map +3 -3
  231. package/inputs/Select/index.d.ts +2 -2
  232. package/inputs/Select/index.js.map +1 -1
  233. package/{Field/utils → inputs/registry}/index.js +1 -1
  234. package/{locales/el → inputs/registry}/package.json +1 -1
  235. package/{Field/utils/index.d.ts → inputs/registry.d.ts} +2 -1
  236. package/inputs/registry.js.map +7 -0
  237. package/lazy/index.js +10 -9
  238. package/package.json +4 -4
  239. package/registry/index.js +23 -13
  240. package/src/Field/ErrorGroup.tsx +3 -3
  241. package/src/Field/FieldBase.tsx +1 -2
  242. package/src/Field/FieldBaseContainer.tsx +68 -58
  243. package/src/Field/FieldConditional.tsx +1 -1
  244. package/src/Field/index.tsx +15 -33
  245. package/src/Field/types.tsx +11 -12
  246. package/src/Field/utils/evaluateFieldWithConditions.ts +5 -2
  247. package/src/Field/utils/resolveField.ts +58 -0
  248. package/src/Field/utils/useField.ts +3 -1
  249. package/src/FieldArray/BaseFieldArray.tsx +97 -0
  250. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayDisplay.stories.js +11 -0
  251. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.tsx +165 -0
  252. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.tsx +15 -0
  253. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/Default.tsx +93 -0
  254. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/ReadOnly.tsx +79 -0
  255. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/Sortable.tsx +93 -0
  256. package/src/FieldArray/FormDialog/ArrayDisplay/index.tsx +75 -0
  257. package/src/FieldArray/FormDialog/ArrayEditModal.tsx +233 -0
  258. package/src/FieldArray/FormDialog/index.tsx +247 -0
  259. package/src/FieldArray/__tests__/fieldset-multiplicity.spec.tsx +271 -0
  260. package/src/FieldArray/__tests__/multiplicity-attachment.spec.tsx +280 -0
  261. package/src/FieldArray/__tests__/multiplicity-required.spec.tsx +131 -0
  262. package/src/FieldArray/__tests__/nested-fieldset-multiplicity.spec.tsx +627 -0
  263. package/src/FieldArray/__tests__/preference-multiple-choice.spec.tsx +222 -0
  264. package/src/FieldArray/index.spec.tsx +355 -0
  265. package/src/FieldArray/index.tsx +34 -61
  266. package/src/FieldObject/index.tsx +9 -17
  267. package/src/Fieldset/FieldsetWithContext.tsx +1 -1
  268. package/src/Fieldset/index.tsx +1 -1
  269. package/src/Fieldset/types.tsx +2 -2
  270. package/src/FormBuilder/index.tsx +188 -142
  271. package/src/FormBuilder/scenarios.test.tsx +759 -1
  272. package/src/FormContext.tsx +3 -2
  273. package/src/MultiplicityField/add-objects.tsx +12 -21
  274. package/src/MultiplicityField/index.tsx +3 -2
  275. package/src/MultiplicityField/types.ts +5 -2
  276. package/src/Questions/Questions.tsx +2 -2
  277. package/src/Questions/QuestionsContext.tsx +1 -1
  278. package/src/Questions/Step/Step.tsx +1 -1
  279. package/src/Questions/Step/StepArrayReview.tsx +2 -2
  280. package/src/Questions/Step/StepContext.tsx +1 -1
  281. package/src/Questions/Step/StepDescription.tsx +2 -1
  282. package/src/Questions/Step/StepForm.tsx +2 -2
  283. package/src/Questions/Step/StepQuote.tsx +2 -1
  284. package/src/Questions/Step/StepTitle.tsx +2 -1
  285. package/src/Questions/Step/getAddMoreFields.tsx +2 -2
  286. package/src/Questions/Step/types.tsx +1 -1
  287. package/src/Questions/getNextStep.tsx +1 -1
  288. package/src/Questions/types.tsx +1 -1
  289. package/src/hooks/__tests__/useFieldFocusManager.spec.tsx +1079 -0
  290. package/src/hooks/__tests__/utils.spec.ts +568 -0
  291. package/src/hooks/useFieldFocusManager.ts +162 -0
  292. package/src/hooks/utils.ts +122 -0
  293. package/src/inputs/AutoCompleteInput/index.tsx +4 -6
  294. package/src/inputs/Checkboxes/index.tsx +95 -87
  295. package/src/inputs/DateInput/index.tsx +19 -6
  296. package/src/inputs/DateTimeInput/index.tsx +19 -6
  297. package/src/inputs/FileInput/index.tsx +9 -7
  298. package/src/inputs/ImageInput/index.tsx +2 -2
  299. package/src/inputs/Input/index.tsx +72 -71
  300. package/src/inputs/Label/index.tsx +1 -1
  301. package/src/inputs/OtpInput/index.tsx +43 -34
  302. package/src/inputs/Radio/index.tsx +29 -21
  303. package/src/inputs/Select/index.tsx +2 -2
  304. package/src/{Field/utils/index.ts → inputs/registry.ts} +3 -1
  305. package/src/lazy.js +10 -9
  306. package/src/registry.js +23 -13
  307. package/src/types.tsx +12 -5
  308. package/src/utils.ts +3 -2
  309. package/src/validators/index.ts +10 -9
  310. package/src/validators/types.ts +1 -1
  311. package/src/validators/utils/date.ts +8 -3
  312. package/src/validators/utils/datetime.ts +8 -3
  313. package/src/validators/utils/file.ts +2 -2
  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 +2 -2
  317. package/src/validators/utils/int.ts +1 -1
  318. package/src/validators/utils/number.ts +1 -1
  319. package/src/validators/utils/otp.ts +2 -2
  320. package/src/validators/utils/phone.ts +2 -2
  321. package/src/validators/utils/postal_code.ts +2 -2
  322. package/src/validators/utils/text_limit.ts +2 -2
  323. package/types.d.ts +8 -4
  324. package/types.js.map +1 -1
  325. package/utils.d.ts +1 -1
  326. package/utils.js.map +2 -2
  327. package/validators/index.d.ts +5 -5
  328. package/validators/index.js.map +2 -2
  329. package/validators/types.d.ts +1 -1
  330. package/validators/utils/date/index.js +6 -1
  331. package/validators/utils/date.d.ts +2 -2
  332. package/validators/utils/date.js.map +2 -2
  333. package/validators/utils/datetime/index.js +6 -1
  334. package/validators/utils/datetime.d.ts +2 -2
  335. package/validators/utils/datetime.js.map +2 -2
  336. package/validators/utils/file.d.ts +2 -2
  337. package/validators/utils/file.js.map +1 -1
  338. package/validators/utils/iban.d.ts +2 -2
  339. package/validators/utils/iban.js.map +1 -1
  340. package/validators/utils/image.d.ts +2 -2
  341. package/validators/utils/image.js.map +1 -1
  342. package/validators/utils/index.d.ts +2 -2
  343. package/validators/utils/index.js.map +1 -1
  344. package/validators/utils/int.d.ts +1 -1
  345. package/validators/utils/int.js.map +1 -1
  346. package/validators/utils/number.d.ts +1 -1
  347. package/validators/utils/number.js.map +1 -1
  348. package/validators/utils/otp.d.ts +2 -2
  349. package/validators/utils/otp.js.map +1 -1
  350. package/validators/utils/phone.d.ts +2 -2
  351. package/validators/utils/phone.js.map +1 -1
  352. package/validators/utils/postal_code.d.ts +2 -2
  353. package/validators/utils/postal_code.js.map +1 -1
  354. package/validators/utils/text_limit.d.ts +2 -2
  355. package/validators/utils/text_limit.js.map +1 -1
  356. package/Field/utils/calculateField/index.js +0 -27
  357. package/Field/utils/calculateField.d.ts +0 -2
  358. package/Field/utils/calculateField.js.map +0 -7
  359. package/Field/utils/index.js.map +0 -7
  360. package/FieldArray/FormDialog.d.ts +0 -67
  361. package/FieldArray/FormDialog.js.map +0 -7
  362. package/FormBuilder/index.test.d.ts +0 -1
  363. package/FormBuilder/interaction.test.d.ts +0 -1
  364. package/FormBuilder/scenarios.test.d.ts +0 -88
  365. package/MultiplicityField/index.test.d.ts +0 -1
  366. package/Questions/index.spec.d.ts +0 -1
  367. package/Questions/index.test.d.ts +0 -1
  368. package/cjs/Field/utils/calculateField/index.js +0 -50
  369. package/cjs/Field/utils/calculateField.js.map +0 -7
  370. package/cjs/Field/utils/index.js.map +0 -7
  371. package/cjs/FieldArray/FormDialog.js.map +0 -7
  372. package/cjs/inputs/inputsScenarios/index.js +0 -533
  373. package/cjs/inputs/inputsScenarios.js.map +0 -7
  374. package/cjs/locales/el.js.map +0 -7
  375. package/inputs/AutoCompleteInput/index.test.d.ts +0 -1
  376. package/inputs/Checkboxes/index.test.d.ts +0 -1
  377. package/inputs/DateInput/index.test.d.ts +0 -1
  378. package/inputs/DateTimeInput/index.test.d.ts +0 -1
  379. package/inputs/FileInput/index.test.d.ts +0 -1
  380. package/inputs/ImageInput/index.test.d.ts +0 -1
  381. package/inputs/Input/index.test.d.ts +0 -1
  382. package/inputs/Label/index.test.d.ts +0 -1
  383. package/inputs/OtpInput/index.test.d.ts +0 -1
  384. package/inputs/Radio/index.test.d.ts +0 -1
  385. package/inputs/Select/index.test.d.ts +0 -1
  386. package/inputs/inputsScenarios/index.js +0 -499
  387. package/inputs/inputsScenarios.d.ts +0 -296
  388. package/inputs/inputsScenarios.js.map +0 -7
  389. package/locales/el/index.js +0 -6
  390. package/locales/el.d.ts +0 -2
  391. package/locales/el.js.map +0 -7
  392. package/src/Field/utils/calculateField.ts +0 -49
  393. package/src/FieldArray/FormDialog.tsx +0 -568
  394. package/src/inputs/inputsScenarios.ts +0 -496
  395. package/src/locales/el.ts +0 -3
  396. /package/{FieldArray/index.test.d.ts → hooks/__tests__/utils.spec.d.ts} +0 -0
@@ -41,7 +41,7 @@ var _digigov_form_Field_FieldBaseContainer = __toESM(require("@digigov/form/Fiel
41
41
  var _digigov_form_Field_FieldConditional = __toESM(require("@digigov/form/Field/FieldConditional"));
42
42
  var _digigov_form_Field = __toESM(require("@digigov/form/Field"));
43
43
  var _digigov_form_Field_types = __toESM(require("@digigov/form/Field/types"));
44
- var _digigov_form_FieldArray_FormDialog = __toESM(require("@digigov/form/FieldArray/FormDialog"));
44
+ var _digigov_form_FieldArray_BaseFieldArray = __toESM(require("@digigov/form/FieldArray/BaseFieldArray"));
45
45
  var _digigov_form_FieldArray = __toESM(require("@digigov/form/FieldArray"));
46
46
  var _digigov_form_FieldObject = __toESM(require("@digigov/form/FieldObject"));
47
47
  var _digigov_form_Fieldset_FieldsetWithContext = __toESM(require("@digigov/form/Fieldset/FieldsetWithContext"));
@@ -56,15 +56,17 @@ var _digigov_form_Questions_QuestionsContext = __toESM(require("@digigov/form/Qu
56
56
  var _digigov_form_Questions_getNextStep = __toESM(require("@digigov/form/Questions/getNextStep"));
57
57
  var _digigov_form_Questions = __toESM(require("@digigov/form/Questions"));
58
58
  var _digigov_form_Questions_types = __toESM(require("@digigov/form/Questions/types"));
59
+ var _digigov_form_hooks_useFieldFocusManager = __toESM(require("@digigov/form/hooks/useFieldFocusManager"));
60
+ var _digigov_form_hooks_utils = __toESM(require("@digigov/form/hooks/utils"));
59
61
  var _digigov_form_inputs = __toESM(require("@digigov/form/inputs"));
60
- var _digigov_form_inputs_inputsScenarios = __toESM(require("@digigov/form/inputs/inputsScenarios"));
61
- var _digigov_form_locales_el = __toESM(require("@digigov/form/locales/el"));
62
+ var _digigov_form_inputs_registry = __toESM(require("@digigov/form/inputs/registry"));
62
63
  var _digigov_form_validators = __toESM(require("@digigov/form/validators"));
63
64
  var _digigov_form_validators_types = __toESM(require("@digigov/form/validators/types"));
64
- var _digigov_form_Field_utils_calculateField = __toESM(require("@digigov/form/Field/utils/calculateField"));
65
65
  var _digigov_form_Field_utils_evaluateFieldWithConditions = __toESM(require("@digigov/form/Field/utils/evaluateFieldWithConditions"));
66
- var _digigov_form_Field_utils = __toESM(require("@digigov/form/Field/utils"));
66
+ var _digigov_form_Field_utils_resolveField = __toESM(require("@digigov/form/Field/utils/resolveField"));
67
67
  var _digigov_form_Field_utils_useField = __toESM(require("@digigov/form/Field/utils/useField"));
68
+ var _digigov_form_FieldArray_FormDialog_ArrayEditModal = __toESM(require("@digigov/form/FieldArray/FormDialog/ArrayEditModal"));
69
+ var _digigov_form_FieldArray_FormDialog = __toESM(require("@digigov/form/FieldArray/FormDialog"));
68
70
  var _digigov_form_Questions_Step_ReviewStep = __toESM(require("@digigov/form/Questions/Step/ReviewStep"));
69
71
  var _digigov_form_Questions_Step_Step = __toESM(require("@digigov/form/Questions/Step/Step"));
70
72
  var _digigov_form_Questions_Step_StepArrayReview = __toESM(require("@digigov/form/Questions/Step/StepArrayReview"));
@@ -76,8 +78,8 @@ var _digigov_form_Questions_Step_StepTitle = __toESM(require("@digigov/form/Ques
76
78
  var _digigov_form_Questions_Step_getAddMoreFields = __toESM(require("@digigov/form/Questions/Step/getAddMoreFields"));
77
79
  var _digigov_form_Questions_Step = __toESM(require("@digigov/form/Questions/Step"));
78
80
  var _digigov_form_Questions_Step_types = __toESM(require("@digigov/form/Questions/Step/types"));
79
- var _digigov_form_inputs_AutoCompleteInput = __toESM(require("@digigov/form/inputs/AutoCompleteInput"));
80
81
  var _digigov_form_inputs_Checkboxes = __toESM(require("@digigov/form/inputs/Checkboxes"));
82
+ var _digigov_form_inputs_AutoCompleteInput = __toESM(require("@digigov/form/inputs/AutoCompleteInput"));
81
83
  var _digigov_form_inputs_DateInput = __toESM(require("@digigov/form/inputs/DateInput"));
82
84
  var _digigov_form_inputs_DateTimeInput = __toESM(require("@digigov/form/inputs/DateTimeInput"));
83
85
  var _digigov_form_inputs_FileInput = __toESM(require("@digigov/form/inputs/FileInput"));
@@ -102,6 +104,9 @@ var _digigov_form_validators_utils_phone = __toESM(require("@digigov/form/valida
102
104
  var _digigov_form_validators_utils_postal_code = __toESM(require("@digigov/form/validators/utils/postal_code"));
103
105
  var _digigov_form_validators_utils_text_limit = __toESM(require("@digigov/form/validators/utils/text_limit"));
104
106
  var _digigov_form_validators_utils_uuid4 = __toESM(require("@digigov/form/validators/utils/uuid4"));
107
+ var _digigov_form_FieldArray_FormDialog_ArrayDisplay_ArrayItemDisplay = __toESM(require("@digigov/form/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay"));
108
+ var _digigov_form_FieldArray_FormDialog_ArrayDisplay_ArrayItemHeader = __toESM(require("@digigov/form/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader"));
109
+ var _digigov_form_FieldArray_FormDialog_ArrayDisplay = __toESM(require("@digigov/form/FieldArray/FormDialog/ArrayDisplay"));
105
110
  function lazyImport(pkgImport) {
106
111
  return new Proxy(
107
112
  {},
@@ -130,7 +135,7 @@ var registry_default = {
130
135
  "@digigov/form/Field/FieldConditional": lazyImport(_digigov_form_Field_FieldConditional),
131
136
  "@digigov/form/Field": lazyImport(_digigov_form_Field),
132
137
  "@digigov/form/Field/types": lazyImport(_digigov_form_Field_types),
133
- "@digigov/form/FieldArray/FormDialog": lazyImport(_digigov_form_FieldArray_FormDialog),
138
+ "@digigov/form/FieldArray/BaseFieldArray": lazyImport(_digigov_form_FieldArray_BaseFieldArray),
134
139
  "@digigov/form/FieldArray": lazyImport(_digigov_form_FieldArray),
135
140
  "@digigov/form/FieldObject": lazyImport(_digigov_form_FieldObject),
136
141
  "@digigov/form/Fieldset/FieldsetWithContext": lazyImport(_digigov_form_Fieldset_FieldsetWithContext),
@@ -145,15 +150,17 @@ var registry_default = {
145
150
  "@digigov/form/Questions/getNextStep": lazyImport(_digigov_form_Questions_getNextStep),
146
151
  "@digigov/form/Questions": lazyImport(_digigov_form_Questions),
147
152
  "@digigov/form/Questions/types": lazyImport(_digigov_form_Questions_types),
153
+ "@digigov/form/hooks/useFieldFocusManager": lazyImport(_digigov_form_hooks_useFieldFocusManager),
154
+ "@digigov/form/hooks/utils": lazyImport(_digigov_form_hooks_utils),
148
155
  "@digigov/form/inputs": lazyImport(_digigov_form_inputs),
149
- "@digigov/form/inputs/inputsScenarios": lazyImport(_digigov_form_inputs_inputsScenarios),
150
- "@digigov/form/locales/el": lazyImport(_digigov_form_locales_el),
156
+ "@digigov/form/inputs/registry": lazyImport(_digigov_form_inputs_registry),
151
157
  "@digigov/form/validators": lazyImport(_digigov_form_validators),
152
158
  "@digigov/form/validators/types": lazyImport(_digigov_form_validators_types),
153
- "@digigov/form/Field/utils/calculateField": lazyImport(_digigov_form_Field_utils_calculateField),
154
159
  "@digigov/form/Field/utils/evaluateFieldWithConditions": lazyImport(_digigov_form_Field_utils_evaluateFieldWithConditions),
155
- "@digigov/form/Field/utils": lazyImport(_digigov_form_Field_utils),
160
+ "@digigov/form/Field/utils/resolveField": lazyImport(_digigov_form_Field_utils_resolveField),
156
161
  "@digigov/form/Field/utils/useField": lazyImport(_digigov_form_Field_utils_useField),
162
+ "@digigov/form/FieldArray/FormDialog/ArrayEditModal": lazyImport(_digigov_form_FieldArray_FormDialog_ArrayEditModal),
163
+ "@digigov/form/FieldArray/FormDialog": lazyImport(_digigov_form_FieldArray_FormDialog),
157
164
  "@digigov/form/Questions/Step/ReviewStep": lazyImport(_digigov_form_Questions_Step_ReviewStep),
158
165
  "@digigov/form/Questions/Step/Step": lazyImport(_digigov_form_Questions_Step_Step),
159
166
  "@digigov/form/Questions/Step/StepArrayReview": lazyImport(_digigov_form_Questions_Step_StepArrayReview),
@@ -165,8 +172,8 @@ var registry_default = {
165
172
  "@digigov/form/Questions/Step/getAddMoreFields": lazyImport(_digigov_form_Questions_Step_getAddMoreFields),
166
173
  "@digigov/form/Questions/Step": lazyImport(_digigov_form_Questions_Step),
167
174
  "@digigov/form/Questions/Step/types": lazyImport(_digigov_form_Questions_Step_types),
168
- "@digigov/form/inputs/AutoCompleteInput": lazyImport(_digigov_form_inputs_AutoCompleteInput),
169
175
  "@digigov/form/inputs/Checkboxes": lazyImport(_digigov_form_inputs_Checkboxes),
176
+ "@digigov/form/inputs/AutoCompleteInput": lazyImport(_digigov_form_inputs_AutoCompleteInput),
170
177
  "@digigov/form/inputs/DateInput": lazyImport(_digigov_form_inputs_DateInput),
171
178
  "@digigov/form/inputs/DateTimeInput": lazyImport(_digigov_form_inputs_DateTimeInput),
172
179
  "@digigov/form/inputs/FileInput": lazyImport(_digigov_form_inputs_FileInput),
@@ -190,6 +197,9 @@ var registry_default = {
190
197
  "@digigov/form/validators/utils/phone": lazyImport(_digigov_form_validators_utils_phone),
191
198
  "@digigov/form/validators/utils/postal_code": lazyImport(_digigov_form_validators_utils_postal_code),
192
199
  "@digigov/form/validators/utils/text_limit": lazyImport(_digigov_form_validators_utils_text_limit),
193
- "@digigov/form/validators/utils/uuid4": lazyImport(_digigov_form_validators_utils_uuid4)
200
+ "@digigov/form/validators/utils/uuid4": lazyImport(_digigov_form_validators_utils_uuid4),
201
+ "@digigov/form/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay": lazyImport(_digigov_form_FieldArray_FormDialog_ArrayDisplay_ArrayItemDisplay),
202
+ "@digigov/form/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader": lazyImport(_digigov_form_FieldArray_FormDialog_ArrayDisplay_ArrayItemHeader),
203
+ "@digigov/form/FieldArray/FormDialog/ArrayDisplay": lazyImport(_digigov_form_FieldArray_FormDialog_ArrayDisplay)
194
204
  };
195
205
  //# sourceMappingURL=registry.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../registry.js"],
4
- "sourcesContent": ["\nimport * as _digigov_form_FormContext from \"@digigov/form/FormContext\";\nimport * as _digigov_form from \"@digigov/form\";\nimport * as _digigov_form_internal from \"@digigov/form/internal\";\nimport * as _digigov_form_types from \"@digigov/form/types\";\nimport * as _digigov_form_utils from \"@digigov/form/utils\";\nimport * as _digigov_form_Field_ErrorGroup from \"@digigov/form/Field/ErrorGroup\";\nimport * as _digigov_form_Field_FieldBase from \"@digigov/form/Field/FieldBase\";\nimport * as _digigov_form_Field_FieldBaseContainer from \"@digigov/form/Field/FieldBaseContainer\";\nimport * as _digigov_form_Field_FieldConditional from \"@digigov/form/Field/FieldConditional\";\nimport * as _digigov_form_Field from \"@digigov/form/Field\";\nimport * as _digigov_form_Field_types from \"@digigov/form/Field/types\";\nimport * as _digigov_form_FieldArray_FormDialog from \"@digigov/form/FieldArray/FormDialog\";\nimport * as _digigov_form_FieldArray from \"@digigov/form/FieldArray\";\nimport * as _digigov_form_FieldObject from \"@digigov/form/FieldObject\";\nimport * as _digigov_form_Fieldset_FieldsetWithContext from \"@digigov/form/Fieldset/FieldsetWithContext\";\nimport * as _digigov_form_Fieldset from \"@digigov/form/Fieldset\";\nimport * as _digigov_form_Fieldset_types from \"@digigov/form/Fieldset/types\";\nimport * as _digigov_form_FormBuilder from \"@digigov/form/FormBuilder\";\nimport * as _digigov_form_MultiplicityField_add_objects from \"@digigov/form/MultiplicityField/add-objects\";\nimport * as _digigov_form_MultiplicityField from \"@digigov/form/MultiplicityField\";\nimport * as _digigov_form_MultiplicityField_types from \"@digigov/form/MultiplicityField/types\";\nimport * as _digigov_form_Questions_Questions from \"@digigov/form/Questions/Questions\";\nimport * as _digigov_form_Questions_QuestionsContext from \"@digigov/form/Questions/QuestionsContext\";\nimport * as _digigov_form_Questions_getNextStep from \"@digigov/form/Questions/getNextStep\";\nimport * as _digigov_form_Questions from \"@digigov/form/Questions\";\nimport * as _digigov_form_Questions_types from \"@digigov/form/Questions/types\";\nimport * as _digigov_form_inputs from \"@digigov/form/inputs\";\nimport * as _digigov_form_inputs_inputsScenarios from \"@digigov/form/inputs/inputsScenarios\";\nimport * as _digigov_form_locales_el from \"@digigov/form/locales/el\";\nimport * as _digigov_form_validators from \"@digigov/form/validators\";\nimport * as _digigov_form_validators_types from \"@digigov/form/validators/types\";\nimport * as _digigov_form_Field_utils_calculateField from \"@digigov/form/Field/utils/calculateField\";\nimport * as _digigov_form_Field_utils_evaluateFieldWithConditions from \"@digigov/form/Field/utils/evaluateFieldWithConditions\";\nimport * as _digigov_form_Field_utils from \"@digigov/form/Field/utils\";\nimport * as _digigov_form_Field_utils_useField from \"@digigov/form/Field/utils/useField\";\nimport * as _digigov_form_Questions_Step_ReviewStep from \"@digigov/form/Questions/Step/ReviewStep\";\nimport * as _digigov_form_Questions_Step_Step from \"@digigov/form/Questions/Step/Step\";\nimport * as _digigov_form_Questions_Step_StepArrayReview from \"@digigov/form/Questions/Step/StepArrayReview\";\nimport * as _digigov_form_Questions_Step_StepContext from \"@digigov/form/Questions/Step/StepContext\";\nimport * as _digigov_form_Questions_Step_StepDescription from \"@digigov/form/Questions/Step/StepDescription\";\nimport * as _digigov_form_Questions_Step_StepForm from \"@digigov/form/Questions/Step/StepForm\";\nimport * as _digigov_form_Questions_Step_StepQuote from \"@digigov/form/Questions/Step/StepQuote\";\nimport * as _digigov_form_Questions_Step_StepTitle from \"@digigov/form/Questions/Step/StepTitle\";\nimport * as _digigov_form_Questions_Step_getAddMoreFields from \"@digigov/form/Questions/Step/getAddMoreFields\";\nimport * as _digigov_form_Questions_Step from \"@digigov/form/Questions/Step\";\nimport * as _digigov_form_Questions_Step_types from \"@digigov/form/Questions/Step/types\";\nimport * as _digigov_form_inputs_AutoCompleteInput from \"@digigov/form/inputs/AutoCompleteInput\";\nimport * as _digigov_form_inputs_Checkboxes from \"@digigov/form/inputs/Checkboxes\";\nimport * as _digigov_form_inputs_DateInput from \"@digigov/form/inputs/DateInput\";\nimport * as _digigov_form_inputs_DateTimeInput from \"@digigov/form/inputs/DateTimeInput\";\nimport * as _digigov_form_inputs_FileInput from \"@digigov/form/inputs/FileInput\";\nimport * as _digigov_form_inputs_ImageInput from \"@digigov/form/inputs/ImageInput\";\nimport * as _digigov_form_inputs_Input from \"@digigov/form/inputs/Input\";\nimport * as _digigov_form_inputs_Label from \"@digigov/form/inputs/Label\";\nimport * as _digigov_form_inputs_OtpInput from \"@digigov/form/inputs/OtpInput\";\nimport * as _digigov_form_inputs_Radio from \"@digigov/form/inputs/Radio\";\nimport * as _digigov_form_inputs_Select from \"@digigov/form/inputs/Select\";\nimport * as _digigov_form_validators_utils_afm from \"@digigov/form/validators/utils/afm\";\nimport * as _digigov_form_validators_utils_amka from \"@digigov/form/validators/utils/amka\";\nimport * as _digigov_form_validators_utils_date from \"@digigov/form/validators/utils/date\";\nimport * as _digigov_form_validators_utils_datetime from \"@digigov/form/validators/utils/datetime\";\nimport * as _digigov_form_validators_utils_file from \"@digigov/form/validators/utils/file\";\nimport * as _digigov_form_validators_utils_iban from \"@digigov/form/validators/utils/iban\";\nimport * as _digigov_form_validators_utils_image from \"@digigov/form/validators/utils/image\";\nimport * as _digigov_form_validators_utils from \"@digigov/form/validators/utils\";\nimport * as _digigov_form_validators_utils_int from \"@digigov/form/validators/utils/int\";\nimport * as _digigov_form_validators_utils_number from \"@digigov/form/validators/utils/number\";\nimport * as _digigov_form_validators_utils_otp from \"@digigov/form/validators/utils/otp\";\nimport * as _digigov_form_validators_utils_phone from \"@digigov/form/validators/utils/phone\";\nimport * as _digigov_form_validators_utils_postal_code from \"@digigov/form/validators/utils/postal_code\";\nimport * as _digigov_form_validators_utils_text_limit from \"@digigov/form/validators/utils/text_limit\";\nimport * as _digigov_form_validators_utils_uuid4 from \"@digigov/form/validators/utils/uuid4\";\nfunction lazyImport(pkgImport) {\n return new Proxy(\n {},\n {\n get: (_target, name) => {\n if (name === '__esModule' || name === 'default') {\n return pkgImport.default;\n } else if(\n name === '*'\n ) {\n return pkgImport;\n } else {\n return pkgImport[name];\n }\n },\n }\n )\n}\nexport default {\n '@digigov/form/FormContext': lazyImport(_digigov_form_FormContext),\n '@digigov/form': lazyImport(_digigov_form),\n '@digigov/form/internal': lazyImport(_digigov_form_internal),\n '@digigov/form/types': lazyImport(_digigov_form_types),\n '@digigov/form/utils': lazyImport(_digigov_form_utils),\n '@digigov/form/Field/ErrorGroup': lazyImport(_digigov_form_Field_ErrorGroup),\n '@digigov/form/Field/FieldBase': lazyImport(_digigov_form_Field_FieldBase),\n '@digigov/form/Field/FieldBaseContainer': lazyImport(_digigov_form_Field_FieldBaseContainer),\n '@digigov/form/Field/FieldConditional': lazyImport(_digigov_form_Field_FieldConditional),\n '@digigov/form/Field': lazyImport(_digigov_form_Field),\n '@digigov/form/Field/types': lazyImport(_digigov_form_Field_types),\n '@digigov/form/FieldArray/FormDialog': lazyImport(_digigov_form_FieldArray_FormDialog),\n '@digigov/form/FieldArray': lazyImport(_digigov_form_FieldArray),\n '@digigov/form/FieldObject': lazyImport(_digigov_form_FieldObject),\n '@digigov/form/Fieldset/FieldsetWithContext': lazyImport(_digigov_form_Fieldset_FieldsetWithContext),\n '@digigov/form/Fieldset': lazyImport(_digigov_form_Fieldset),\n '@digigov/form/Fieldset/types': lazyImport(_digigov_form_Fieldset_types),\n '@digigov/form/FormBuilder': lazyImport(_digigov_form_FormBuilder),\n '@digigov/form/MultiplicityField/add-objects': lazyImport(_digigov_form_MultiplicityField_add_objects),\n '@digigov/form/MultiplicityField': lazyImport(_digigov_form_MultiplicityField),\n '@digigov/form/MultiplicityField/types': lazyImport(_digigov_form_MultiplicityField_types),\n '@digigov/form/Questions/Questions': lazyImport(_digigov_form_Questions_Questions),\n '@digigov/form/Questions/QuestionsContext': lazyImport(_digigov_form_Questions_QuestionsContext),\n '@digigov/form/Questions/getNextStep': lazyImport(_digigov_form_Questions_getNextStep),\n '@digigov/form/Questions': lazyImport(_digigov_form_Questions),\n '@digigov/form/Questions/types': lazyImport(_digigov_form_Questions_types),\n '@digigov/form/inputs': lazyImport(_digigov_form_inputs),\n '@digigov/form/inputs/inputsScenarios': lazyImport(_digigov_form_inputs_inputsScenarios),\n '@digigov/form/locales/el': lazyImport(_digigov_form_locales_el),\n '@digigov/form/validators': lazyImport(_digigov_form_validators),\n '@digigov/form/validators/types': lazyImport(_digigov_form_validators_types),\n '@digigov/form/Field/utils/calculateField': lazyImport(_digigov_form_Field_utils_calculateField),\n '@digigov/form/Field/utils/evaluateFieldWithConditions': lazyImport(_digigov_form_Field_utils_evaluateFieldWithConditions),\n '@digigov/form/Field/utils': lazyImport(_digigov_form_Field_utils),\n '@digigov/form/Field/utils/useField': lazyImport(_digigov_form_Field_utils_useField),\n '@digigov/form/Questions/Step/ReviewStep': lazyImport(_digigov_form_Questions_Step_ReviewStep),\n '@digigov/form/Questions/Step/Step': lazyImport(_digigov_form_Questions_Step_Step),\n '@digigov/form/Questions/Step/StepArrayReview': lazyImport(_digigov_form_Questions_Step_StepArrayReview),\n '@digigov/form/Questions/Step/StepContext': lazyImport(_digigov_form_Questions_Step_StepContext),\n '@digigov/form/Questions/Step/StepDescription': lazyImport(_digigov_form_Questions_Step_StepDescription),\n '@digigov/form/Questions/Step/StepForm': lazyImport(_digigov_form_Questions_Step_StepForm),\n '@digigov/form/Questions/Step/StepQuote': lazyImport(_digigov_form_Questions_Step_StepQuote),\n '@digigov/form/Questions/Step/StepTitle': lazyImport(_digigov_form_Questions_Step_StepTitle),\n '@digigov/form/Questions/Step/getAddMoreFields': lazyImport(_digigov_form_Questions_Step_getAddMoreFields),\n '@digigov/form/Questions/Step': lazyImport(_digigov_form_Questions_Step),\n '@digigov/form/Questions/Step/types': lazyImport(_digigov_form_Questions_Step_types),\n '@digigov/form/inputs/AutoCompleteInput': lazyImport(_digigov_form_inputs_AutoCompleteInput),\n '@digigov/form/inputs/Checkboxes': lazyImport(_digigov_form_inputs_Checkboxes),\n '@digigov/form/inputs/DateInput': lazyImport(_digigov_form_inputs_DateInput),\n '@digigov/form/inputs/DateTimeInput': lazyImport(_digigov_form_inputs_DateTimeInput),\n '@digigov/form/inputs/FileInput': lazyImport(_digigov_form_inputs_FileInput),\n '@digigov/form/inputs/ImageInput': lazyImport(_digigov_form_inputs_ImageInput),\n '@digigov/form/inputs/Input': lazyImport(_digigov_form_inputs_Input),\n '@digigov/form/inputs/Label': lazyImport(_digigov_form_inputs_Label),\n '@digigov/form/inputs/OtpInput': lazyImport(_digigov_form_inputs_OtpInput),\n '@digigov/form/inputs/Radio': lazyImport(_digigov_form_inputs_Radio),\n '@digigov/form/inputs/Select': lazyImport(_digigov_form_inputs_Select),\n '@digigov/form/validators/utils/afm': lazyImport(_digigov_form_validators_utils_afm),\n '@digigov/form/validators/utils/amka': lazyImport(_digigov_form_validators_utils_amka),\n '@digigov/form/validators/utils/date': lazyImport(_digigov_form_validators_utils_date),\n '@digigov/form/validators/utils/datetime': lazyImport(_digigov_form_validators_utils_datetime),\n '@digigov/form/validators/utils/file': lazyImport(_digigov_form_validators_utils_file),\n '@digigov/form/validators/utils/iban': lazyImport(_digigov_form_validators_utils_iban),\n '@digigov/form/validators/utils/image': lazyImport(_digigov_form_validators_utils_image),\n '@digigov/form/validators/utils': lazyImport(_digigov_form_validators_utils),\n '@digigov/form/validators/utils/int': lazyImport(_digigov_form_validators_utils_int),\n '@digigov/form/validators/utils/number': lazyImport(_digigov_form_validators_utils_number),\n '@digigov/form/validators/utils/otp': lazyImport(_digigov_form_validators_utils_otp),\n '@digigov/form/validators/utils/phone': lazyImport(_digigov_form_validators_utils_phone),\n '@digigov/form/validators/utils/postal_code': lazyImport(_digigov_form_validators_utils_postal_code),\n '@digigov/form/validators/utils/text_limit': lazyImport(_digigov_form_validators_utils_text_limit),\n '@digigov/form/validators/utils/uuid4': lazyImport(_digigov_form_validators_utils_uuid4)\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["\nimport * as _digigov_form_FormContext from \"@digigov/form/FormContext\";\nimport * as _digigov_form from \"@digigov/form\";\nimport * as _digigov_form_internal from \"@digigov/form/internal\";\nimport * as _digigov_form_types from \"@digigov/form/types\";\nimport * as _digigov_form_utils from \"@digigov/form/utils\";\nimport * as _digigov_form_Field_ErrorGroup from \"@digigov/form/Field/ErrorGroup\";\nimport * as _digigov_form_Field_FieldBase from \"@digigov/form/Field/FieldBase\";\nimport * as _digigov_form_Field_FieldBaseContainer from \"@digigov/form/Field/FieldBaseContainer\";\nimport * as _digigov_form_Field_FieldConditional from \"@digigov/form/Field/FieldConditional\";\nimport * as _digigov_form_Field from \"@digigov/form/Field\";\nimport * as _digigov_form_Field_types from \"@digigov/form/Field/types\";\nimport * as _digigov_form_FieldArray_BaseFieldArray from \"@digigov/form/FieldArray/BaseFieldArray\";\nimport * as _digigov_form_FieldArray from \"@digigov/form/FieldArray\";\nimport * as _digigov_form_FieldObject from \"@digigov/form/FieldObject\";\nimport * as _digigov_form_Fieldset_FieldsetWithContext from \"@digigov/form/Fieldset/FieldsetWithContext\";\nimport * as _digigov_form_Fieldset from \"@digigov/form/Fieldset\";\nimport * as _digigov_form_Fieldset_types from \"@digigov/form/Fieldset/types\";\nimport * as _digigov_form_FormBuilder from \"@digigov/form/FormBuilder\";\nimport * as _digigov_form_MultiplicityField_add_objects from \"@digigov/form/MultiplicityField/add-objects\";\nimport * as _digigov_form_MultiplicityField from \"@digigov/form/MultiplicityField\";\nimport * as _digigov_form_MultiplicityField_types from \"@digigov/form/MultiplicityField/types\";\nimport * as _digigov_form_Questions_Questions from \"@digigov/form/Questions/Questions\";\nimport * as _digigov_form_Questions_QuestionsContext from \"@digigov/form/Questions/QuestionsContext\";\nimport * as _digigov_form_Questions_getNextStep from \"@digigov/form/Questions/getNextStep\";\nimport * as _digigov_form_Questions from \"@digigov/form/Questions\";\nimport * as _digigov_form_Questions_types from \"@digigov/form/Questions/types\";\nimport * as _digigov_form_hooks_useFieldFocusManager from \"@digigov/form/hooks/useFieldFocusManager\";\nimport * as _digigov_form_hooks_utils from \"@digigov/form/hooks/utils\";\nimport * as _digigov_form_inputs from \"@digigov/form/inputs\";\nimport * as _digigov_form_inputs_registry from \"@digigov/form/inputs/registry\";\nimport * as _digigov_form_validators from \"@digigov/form/validators\";\nimport * as _digigov_form_validators_types from \"@digigov/form/validators/types\";\nimport * as _digigov_form_Field_utils_evaluateFieldWithConditions from \"@digigov/form/Field/utils/evaluateFieldWithConditions\";\nimport * as _digigov_form_Field_utils_resolveField from \"@digigov/form/Field/utils/resolveField\";\nimport * as _digigov_form_Field_utils_useField from \"@digigov/form/Field/utils/useField\";\nimport * as _digigov_form_FieldArray_FormDialog_ArrayEditModal from \"@digigov/form/FieldArray/FormDialog/ArrayEditModal\";\nimport * as _digigov_form_FieldArray_FormDialog from \"@digigov/form/FieldArray/FormDialog\";\nimport * as _digigov_form_Questions_Step_ReviewStep from \"@digigov/form/Questions/Step/ReviewStep\";\nimport * as _digigov_form_Questions_Step_Step from \"@digigov/form/Questions/Step/Step\";\nimport * as _digigov_form_Questions_Step_StepArrayReview from \"@digigov/form/Questions/Step/StepArrayReview\";\nimport * as _digigov_form_Questions_Step_StepContext from \"@digigov/form/Questions/Step/StepContext\";\nimport * as _digigov_form_Questions_Step_StepDescription from \"@digigov/form/Questions/Step/StepDescription\";\nimport * as _digigov_form_Questions_Step_StepForm from \"@digigov/form/Questions/Step/StepForm\";\nimport * as _digigov_form_Questions_Step_StepQuote from \"@digigov/form/Questions/Step/StepQuote\";\nimport * as _digigov_form_Questions_Step_StepTitle from \"@digigov/form/Questions/Step/StepTitle\";\nimport * as _digigov_form_Questions_Step_getAddMoreFields from \"@digigov/form/Questions/Step/getAddMoreFields\";\nimport * as _digigov_form_Questions_Step from \"@digigov/form/Questions/Step\";\nimport * as _digigov_form_Questions_Step_types from \"@digigov/form/Questions/Step/types\";\nimport * as _digigov_form_inputs_Checkboxes from \"@digigov/form/inputs/Checkboxes\";\nimport * as _digigov_form_inputs_AutoCompleteInput from \"@digigov/form/inputs/AutoCompleteInput\";\nimport * as _digigov_form_inputs_DateInput from \"@digigov/form/inputs/DateInput\";\nimport * as _digigov_form_inputs_DateTimeInput from \"@digigov/form/inputs/DateTimeInput\";\nimport * as _digigov_form_inputs_FileInput from \"@digigov/form/inputs/FileInput\";\nimport * as _digigov_form_inputs_ImageInput from \"@digigov/form/inputs/ImageInput\";\nimport * as _digigov_form_inputs_Input from \"@digigov/form/inputs/Input\";\nimport * as _digigov_form_inputs_Label from \"@digigov/form/inputs/Label\";\nimport * as _digigov_form_inputs_OtpInput from \"@digigov/form/inputs/OtpInput\";\nimport * as _digigov_form_inputs_Radio from \"@digigov/form/inputs/Radio\";\nimport * as _digigov_form_inputs_Select from \"@digigov/form/inputs/Select\";\nimport * as _digigov_form_validators_utils_afm from \"@digigov/form/validators/utils/afm\";\nimport * as _digigov_form_validators_utils_amka from \"@digigov/form/validators/utils/amka\";\nimport * as _digigov_form_validators_utils_date from \"@digigov/form/validators/utils/date\";\nimport * as _digigov_form_validators_utils_datetime from \"@digigov/form/validators/utils/datetime\";\nimport * as _digigov_form_validators_utils_file from \"@digigov/form/validators/utils/file\";\nimport * as _digigov_form_validators_utils_iban from \"@digigov/form/validators/utils/iban\";\nimport * as _digigov_form_validators_utils_image from \"@digigov/form/validators/utils/image\";\nimport * as _digigov_form_validators_utils from \"@digigov/form/validators/utils\";\nimport * as _digigov_form_validators_utils_int from \"@digigov/form/validators/utils/int\";\nimport * as _digigov_form_validators_utils_number from \"@digigov/form/validators/utils/number\";\nimport * as _digigov_form_validators_utils_otp from \"@digigov/form/validators/utils/otp\";\nimport * as _digigov_form_validators_utils_phone from \"@digigov/form/validators/utils/phone\";\nimport * as _digigov_form_validators_utils_postal_code from \"@digigov/form/validators/utils/postal_code\";\nimport * as _digigov_form_validators_utils_text_limit from \"@digigov/form/validators/utils/text_limit\";\nimport * as _digigov_form_validators_utils_uuid4 from \"@digigov/form/validators/utils/uuid4\";\nimport * as _digigov_form_FieldArray_FormDialog_ArrayDisplay_ArrayItemDisplay from \"@digigov/form/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay\";\nimport * as _digigov_form_FieldArray_FormDialog_ArrayDisplay_ArrayItemHeader from \"@digigov/form/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader\";\nimport * as _digigov_form_FieldArray_FormDialog_ArrayDisplay from \"@digigov/form/FieldArray/FormDialog/ArrayDisplay\";\nfunction lazyImport(pkgImport) {\n return new Proxy(\n {},\n {\n get: (_target, name) => {\n if (name === '__esModule' || name === 'default') {\n return pkgImport.default;\n } else if(\n name === '*'\n ) {\n return pkgImport;\n } else {\n return pkgImport[name];\n }\n },\n }\n )\n}\nexport default {\n '@digigov/form/FormContext': lazyImport(_digigov_form_FormContext),\n '@digigov/form': lazyImport(_digigov_form),\n '@digigov/form/internal': lazyImport(_digigov_form_internal),\n '@digigov/form/types': lazyImport(_digigov_form_types),\n '@digigov/form/utils': lazyImport(_digigov_form_utils),\n '@digigov/form/Field/ErrorGroup': lazyImport(_digigov_form_Field_ErrorGroup),\n '@digigov/form/Field/FieldBase': lazyImport(_digigov_form_Field_FieldBase),\n '@digigov/form/Field/FieldBaseContainer': lazyImport(_digigov_form_Field_FieldBaseContainer),\n '@digigov/form/Field/FieldConditional': lazyImport(_digigov_form_Field_FieldConditional),\n '@digigov/form/Field': lazyImport(_digigov_form_Field),\n '@digigov/form/Field/types': lazyImport(_digigov_form_Field_types),\n '@digigov/form/FieldArray/BaseFieldArray': lazyImport(_digigov_form_FieldArray_BaseFieldArray),\n '@digigov/form/FieldArray': lazyImport(_digigov_form_FieldArray),\n '@digigov/form/FieldObject': lazyImport(_digigov_form_FieldObject),\n '@digigov/form/Fieldset/FieldsetWithContext': lazyImport(_digigov_form_Fieldset_FieldsetWithContext),\n '@digigov/form/Fieldset': lazyImport(_digigov_form_Fieldset),\n '@digigov/form/Fieldset/types': lazyImport(_digigov_form_Fieldset_types),\n '@digigov/form/FormBuilder': lazyImport(_digigov_form_FormBuilder),\n '@digigov/form/MultiplicityField/add-objects': lazyImport(_digigov_form_MultiplicityField_add_objects),\n '@digigov/form/MultiplicityField': lazyImport(_digigov_form_MultiplicityField),\n '@digigov/form/MultiplicityField/types': lazyImport(_digigov_form_MultiplicityField_types),\n '@digigov/form/Questions/Questions': lazyImport(_digigov_form_Questions_Questions),\n '@digigov/form/Questions/QuestionsContext': lazyImport(_digigov_form_Questions_QuestionsContext),\n '@digigov/form/Questions/getNextStep': lazyImport(_digigov_form_Questions_getNextStep),\n '@digigov/form/Questions': lazyImport(_digigov_form_Questions),\n '@digigov/form/Questions/types': lazyImport(_digigov_form_Questions_types),\n '@digigov/form/hooks/useFieldFocusManager': lazyImport(_digigov_form_hooks_useFieldFocusManager),\n '@digigov/form/hooks/utils': lazyImport(_digigov_form_hooks_utils),\n '@digigov/form/inputs': lazyImport(_digigov_form_inputs),\n '@digigov/form/inputs/registry': lazyImport(_digigov_form_inputs_registry),\n '@digigov/form/validators': lazyImport(_digigov_form_validators),\n '@digigov/form/validators/types': lazyImport(_digigov_form_validators_types),\n '@digigov/form/Field/utils/evaluateFieldWithConditions': lazyImport(_digigov_form_Field_utils_evaluateFieldWithConditions),\n '@digigov/form/Field/utils/resolveField': lazyImport(_digigov_form_Field_utils_resolveField),\n '@digigov/form/Field/utils/useField': lazyImport(_digigov_form_Field_utils_useField),\n '@digigov/form/FieldArray/FormDialog/ArrayEditModal': lazyImport(_digigov_form_FieldArray_FormDialog_ArrayEditModal),\n '@digigov/form/FieldArray/FormDialog': lazyImport(_digigov_form_FieldArray_FormDialog),\n '@digigov/form/Questions/Step/ReviewStep': lazyImport(_digigov_form_Questions_Step_ReviewStep),\n '@digigov/form/Questions/Step/Step': lazyImport(_digigov_form_Questions_Step_Step),\n '@digigov/form/Questions/Step/StepArrayReview': lazyImport(_digigov_form_Questions_Step_StepArrayReview),\n '@digigov/form/Questions/Step/StepContext': lazyImport(_digigov_form_Questions_Step_StepContext),\n '@digigov/form/Questions/Step/StepDescription': lazyImport(_digigov_form_Questions_Step_StepDescription),\n '@digigov/form/Questions/Step/StepForm': lazyImport(_digigov_form_Questions_Step_StepForm),\n '@digigov/form/Questions/Step/StepQuote': lazyImport(_digigov_form_Questions_Step_StepQuote),\n '@digigov/form/Questions/Step/StepTitle': lazyImport(_digigov_form_Questions_Step_StepTitle),\n '@digigov/form/Questions/Step/getAddMoreFields': lazyImport(_digigov_form_Questions_Step_getAddMoreFields),\n '@digigov/form/Questions/Step': lazyImport(_digigov_form_Questions_Step),\n '@digigov/form/Questions/Step/types': lazyImport(_digigov_form_Questions_Step_types),\n '@digigov/form/inputs/Checkboxes': lazyImport(_digigov_form_inputs_Checkboxes),\n '@digigov/form/inputs/AutoCompleteInput': lazyImport(_digigov_form_inputs_AutoCompleteInput),\n '@digigov/form/inputs/DateInput': lazyImport(_digigov_form_inputs_DateInput),\n '@digigov/form/inputs/DateTimeInput': lazyImport(_digigov_form_inputs_DateTimeInput),\n '@digigov/form/inputs/FileInput': lazyImport(_digigov_form_inputs_FileInput),\n '@digigov/form/inputs/ImageInput': lazyImport(_digigov_form_inputs_ImageInput),\n '@digigov/form/inputs/Input': lazyImport(_digigov_form_inputs_Input),\n '@digigov/form/inputs/Label': lazyImport(_digigov_form_inputs_Label),\n '@digigov/form/inputs/OtpInput': lazyImport(_digigov_form_inputs_OtpInput),\n '@digigov/form/inputs/Radio': lazyImport(_digigov_form_inputs_Radio),\n '@digigov/form/inputs/Select': lazyImport(_digigov_form_inputs_Select),\n '@digigov/form/validators/utils/afm': lazyImport(_digigov_form_validators_utils_afm),\n '@digigov/form/validators/utils/amka': lazyImport(_digigov_form_validators_utils_amka),\n '@digigov/form/validators/utils/date': lazyImport(_digigov_form_validators_utils_date),\n '@digigov/form/validators/utils/datetime': lazyImport(_digigov_form_validators_utils_datetime),\n '@digigov/form/validators/utils/file': lazyImport(_digigov_form_validators_utils_file),\n '@digigov/form/validators/utils/iban': lazyImport(_digigov_form_validators_utils_iban),\n '@digigov/form/validators/utils/image': lazyImport(_digigov_form_validators_utils_image),\n '@digigov/form/validators/utils': lazyImport(_digigov_form_validators_utils),\n '@digigov/form/validators/utils/int': lazyImport(_digigov_form_validators_utils_int),\n '@digigov/form/validators/utils/number': lazyImport(_digigov_form_validators_utils_number),\n '@digigov/form/validators/utils/otp': lazyImport(_digigov_form_validators_utils_otp),\n '@digigov/form/validators/utils/phone': lazyImport(_digigov_form_validators_utils_phone),\n '@digigov/form/validators/utils/postal_code': lazyImport(_digigov_form_validators_utils_postal_code),\n '@digigov/form/validators/utils/text_limit': lazyImport(_digigov_form_validators_utils_text_limit),\n '@digigov/form/validators/utils/uuid4': lazyImport(_digigov_form_validators_utils_uuid4),\n '@digigov/form/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay': lazyImport(_digigov_form_FieldArray_FormDialog_ArrayDisplay_ArrayItemDisplay),\n '@digigov/form/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader': lazyImport(_digigov_form_FieldArray_FormDialog_ArrayDisplay_ArrayItemHeader),\n '@digigov/form/FieldArray/FormDialog/ArrayDisplay': lazyImport(_digigov_form_FieldArray_FormDialog_ArrayDisplay)\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/cjs/types.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/types.tsx"],
4
- "sourcesContent": ["import { UseFormReturn, UseFormProps, ErrorOption } from 'react-hook-form';\nimport {\n FieldComponentRegistry,\n FieldLabelProps,\n FieldSpec,\n FormData,\n} from '@digigov/form/Field/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\nexport * from '@digigov/form/Field/types';\nexport interface FieldError {\n message: string;\n}\n\nexport interface FieldsetSpec {\n key: string;\n fields: string[];\n label?: FieldLabelProps;\n body?: React.ReactNode;\n}\n\nexport interface FormContextProps {\n fieldsetsMap?: Record<string, FieldsetSpec>;\n fieldsMap: Record<string, FieldSpec>;\n control: UseFormReturn['control'];\n register: UseFormReturn['register'];\n trigger: UseFormReturn['trigger'];\n clearErrors: UseFormReturn['clearErrors'];\n watch: UseFormReturn['watch'];\n getFieldState: UseFormReturn['getFieldState'];\n setValue: UseFormReturn['setValue'];\n getValues: UseFormReturn['getValues'];\n unregister: UseFormReturn['unregister'];\n formState: UseFormReturn['formState'];\n reset: UseFormReturn['reset'];\n resetField: UseFormReturn['resetField'];\n registerField: (field: FieldSpec) => void;\n errors: UseFormReturn['formState']['errors'];\n componentRegistry?: FieldComponentRegistry;\n submit: () => Promise<void>;\n}\n\nexport interface FormBuilderProps {\n fields?: FieldSpec[];\n fieldsets?: FieldsetSpec[];\n initial?: FormData;\n onSubmit?: (data: FormData) => void | null | FieldError[];\n mode?: UseFormProps['mode'];\n reValidateMode?: UseFormProps['reValidateMode'];\n criteriaMode?: UseFormProps['criteriaMode'];\n children?: React.ReactNode;\n shouldFocusError?: boolean;\n auto?: boolean;\n validatorRegistry?: Record<string, ValidatorSchema[]>;\n componentRegistry?: FieldComponentRegistry;\n grid?: boolean;\n controlledFieldsOnly?: boolean;\n errors?: ErrorOption;\n}\n\nexport interface FormBaseProps\n extends Omit<FormBuilderProps, 'fields' | 'fieldsets' | 'auto'> {\n fieldsetsMap?: Record<string, FieldsetSpec>;\n fieldsMap: Record<string, FieldSpec>;\n registerField: (field: FieldSpec) => void;\n resolver: any;\n}\n"],
4
+ "sourcesContent": ["import type { UseFormReturn, UseFormProps, ErrorOption } from 'react-hook-form';\nimport type {\n FieldLabelProps,\n FieldSpec,\n FormData,\n} from '@digigov/form/Field/types';\nimport type { FieldComponentRegistry } from '@digigov/form/inputs/registry';\nimport type { ValidatorSchema } from '@digigov/form/validators/types';\nexport * from '@digigov/form/Field/types';\nexport interface FieldError {\n message: string;\n}\n\nexport interface FieldsetSpec {\n key: string;\n fields: string[];\n label?: FieldLabelProps;\n body?: React.ReactNode;\n}\n\nexport type registerFieldFocus = (\n fieldName: string,\n element: HTMLElement\n) => (name: string) => void;\n\nexport interface FormContextProps {\n fieldsetsMap?: Record<string, FieldsetSpec>;\n fieldsMap: Record<string, FieldSpec>;\n control: UseFormReturn['control'];\n register: UseFormReturn['register'];\n trigger: UseFormReturn['trigger'];\n clearErrors: UseFormReturn['clearErrors'];\n watch: UseFormReturn['watch'];\n getFieldState: UseFormReturn['getFieldState'];\n setValue: UseFormReturn['setValue'];\n getValues: UseFormReturn['getValues'];\n getValuesFromParentForm?: UseFormReturn['getValues'];\n unregister: UseFormReturn['unregister'];\n formState: UseFormReturn['formState'];\n reset: UseFormReturn['reset'];\n resetField: UseFormReturn['resetField'];\n registerField: (field: FieldSpec) => void;\n registerFieldFocus: registerFieldFocus;\n errors: UseFormReturn['formState']['errors'];\n componentRegistry?: FieldComponentRegistry;\n submit: () => Promise<void> | void;\n}\n\nexport interface FormBuilderProps {\n fields?: FieldSpec[];\n fieldsets?: FieldsetSpec[];\n initial?: FormData;\n onSubmit?: (data: FormData) => void | null | FieldError[];\n mode?: UseFormProps['mode'];\n reValidateMode?: UseFormProps['reValidateMode'];\n criteriaMode?: UseFormProps['criteriaMode'];\n children?: React.ReactNode;\n shouldFocusError?: boolean;\n auto?: boolean;\n validatorRegistry?: Record<string, ValidatorSchema[]>;\n componentRegistry?: FieldComponentRegistry;\n grid?: boolean;\n controlledFieldsOnly?: boolean;\n errors?: ErrorOption;\n}\n\nexport interface FormBaseProps\n extends Omit<FormBuilderProps, 'fields' | 'fieldsets' | 'auto'> {\n fieldsetsMap?: Record<string, FieldsetSpec>;\n fieldsMap: Record<string, FieldSpec>;\n registerField: (field: FieldSpec) => void;\n resolver: any;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAQA,0BAAc,sCARd;",
6
6
  "names": []
7
7
  }
package/cjs/utils.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils.ts"],
4
- "sourcesContent": ["import { validateFieldsNatively } from '@hookform/resolvers';\nimport { appendErrors, FieldError } from 'react-hook-form';\nimport * as Yup from 'yup';\n\n/**\n * Why `path!` ? because it could be `undefined` in some case\n * https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string\n */\nconst parseErrorSchema = (\n error: Yup.ValidationError,\n validateAllFieldCriteria: boolean\n) => {\n return (error.inner || []).reduce<Record<string, FieldError>>(\n (previous, error) => {\n error.path = error.path?.replace(/\\[([0-9]+)\\]/g, '.$1');\n // error.path = error.path?.replace(/\\[\"(.*?)\"\\]/g, '$1');\n if (!previous[error.path!]) {\n previous[error.path!] = { message: error.message, type: error.type! };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[error.path!].types;\n const messages = types && types[error.type!];\n\n previous[error.path!] = appendErrors(\n error.path!,\n validateAllFieldCriteria,\n previous,\n error.type!,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message\n ) as FieldError;\n }\n\n return previous;\n },\n {}\n );\n};\nfunction isPlainObject(obj) {\n return (\n typeof obj === 'object' &&\n obj !== null &&\n Object.prototype.toString.call(obj) === '[object Object]'\n );\n}\nfunction flattenObject(obj, prefix = '') {\n return Object.keys(obj).reduce((acc, key) => {\n const prefixedKey = prefix ? `${prefix}.${key}` : key;\n\n if (isPlainObject(obj[key])) {\n Object.assign(acc, flattenObject(obj[key], prefixedKey));\n } else {\n acc[prefixedKey] = obj[key];\n }\n\n return acc;\n }, {});\n}\n\nexport const yupResolver =\n (schema: any, schemaOptions: any = {}, resolverOptions: any = {}) =>\n async (values, context, options) => {\n try {\n if (schemaOptions.context && process.env.NODE_ENV === 'development') {\n console.warn(\n \"You should not used the yup options context. Please, use the 'useForm' context object instead\"\n );\n }\n\n const result = await schema[\n resolverOptions.mode === 'sync' ? 'validateSync' : 'validate'\n ](\n flattenObject(values),\n Object.assign({ abortEarly: false }, schemaOptions, { context })\n );\n\n if (options.shouldUseNativeValidation)\n validateFieldsNatively({}, options);\n\n return {\n values: resolverOptions.rawValues ? values : result,\n errors: {},\n };\n } catch (e) {\n if (!e.inner) {\n throw e;\n }\n\n return {\n values: {},\n errors: parseErrorSchema(\n e,\n !options.shouldUseNativeValidation && options.criteriaMode === 'all'\n ),\n options,\n };\n }\n };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAuC;AACvC,6BAAyC;AAOzC,MAAM,mBAAmB,CACvB,OACA,6BACG;AACH,UAAQ,MAAM,SAAS,CAAC,GAAG;AAAA,IACzB,CAAC,UAAUA,WAAU;AACnB,MAAAA,OAAM,OAAOA,OAAM,MAAM,QAAQ,iBAAiB,KAAK;AAEvD,UAAI,CAAC,SAASA,OAAM,IAAK,GAAG;AAC1B,iBAASA,OAAM,IAAK,IAAI,EAAE,SAASA,OAAM,SAAS,MAAMA,OAAM,KAAM;AAAA,MACtE;AAEA,UAAI,0BAA0B;AAC5B,cAAM,QAAQ,SAASA,OAAM,IAAK,EAAE;AACpC,cAAM,WAAW,SAAS,MAAMA,OAAM,IAAK;AAE3C,iBAASA,OAAM,IAAK,QAAI;AAAA,UACtBA,OAAM;AAAA,UACN;AAAA,UACA;AAAA,UACAA,OAAM;AAAA,UACN,WACK,CAAC,EAAe,OAAO,UAAsBA,OAAM,OAAO,IAC3DA,OAAM;AAAA,QACZ;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAAA,IACA,CAAC;AAAA,EACH;AACF;AACA,SAAS,cAAc,KAAK;AAC1B,SACE,OAAO,QAAQ,YACf,QAAQ,QACR,OAAO,UAAU,SAAS,KAAK,GAAG,MAAM;AAE5C;AACA,SAAS,cAAc,KAAK,SAAS,IAAI;AACvC,SAAO,OAAO,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,QAAQ;AAC3C,UAAM,cAAc,SAAS,GAAG,MAAM,IAAI,GAAG,KAAK;AAElD,QAAI,cAAc,IAAI,GAAG,CAAC,GAAG;AAC3B,aAAO,OAAO,KAAK,cAAc,IAAI,GAAG,GAAG,WAAW,CAAC;AAAA,IACzD,OAAO;AACL,UAAI,WAAW,IAAI,IAAI,GAAG;AAAA,IAC5B;AAEA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;AAEO,MAAM,cACX,CAAC,QAAa,gBAAqB,CAAC,GAAG,kBAAuB,CAAC,MAC/D,OAAO,QAAQ,SAAS,YAAY;AAClC,MAAI;AACF,QAAI,cAAc,WAAW,QAAQ,IAAI,aAAa,eAAe;AACnE,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAEA,UAAM,SAAS,MAAM,OACnB,gBAAgB,SAAS,SAAS,iBAAiB,UACrD;AAAA,MACE,cAAc,MAAM;AAAA,MACpB,OAAO,OAAO,EAAE,YAAY,MAAM,GAAG,eAAe,EAAE,QAAQ,CAAC;AAAA,IACjE;AAEA,QAAI,QAAQ;AACV,mDAAuB,CAAC,GAAG,OAAO;AAEpC,WAAO;AAAA,MACL,QAAQ,gBAAgB,YAAY,SAAS;AAAA,MAC7C,QAAQ,CAAC;AAAA,IACX;AAAA,EACF,SAAS,GAAG;AACV,QAAI,CAAC,EAAE,OAAO;AACZ,YAAM;AAAA,IACR;AAEA,WAAO;AAAA,MACL,QAAQ,CAAC;AAAA,MACT,QAAQ;AAAA,QACN;AAAA,QACA,CAAC,QAAQ,6BAA6B,QAAQ,iBAAiB;AAAA,MACjE;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["import { validateFieldsNatively } from '@hookform/resolvers';\nimport type { FieldError } from 'react-hook-form';\nimport { appendErrors } from 'react-hook-form';\nimport type * as Yup from 'yup';\n\n/**\n * Why `path!` ? because it could be `undefined` in some case\n * https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string\n */\nconst parseErrorSchema = (\n error: Yup.ValidationError,\n validateAllFieldCriteria: boolean\n) => {\n return (error.inner || []).reduce<Record<string, FieldError>>(\n (previous, error) => {\n error.path = error.path?.replace(/\\[([0-9]+)\\]/g, '.$1');\n // error.path = error.path?.replace(/\\[\"(.*?)\"\\]/g, '$1');\n if (!previous[error.path!]) {\n previous[error.path!] = { message: error.message, type: error.type! };\n }\n\n if (validateAllFieldCriteria) {\n const types = previous[error.path!].types;\n const messages = types && types[error.type!];\n\n previous[error.path!] = appendErrors(\n error.path!,\n validateAllFieldCriteria,\n previous,\n error.type!,\n messages\n ? ([] as string[]).concat(messages as string[], error.message)\n : error.message\n ) as FieldError;\n }\n\n return previous;\n },\n {}\n );\n};\nfunction isPlainObject(obj) {\n return (\n typeof obj === 'object' &&\n obj !== null &&\n Object.prototype.toString.call(obj) === '[object Object]'\n );\n}\nfunction flattenObject(obj, prefix = '') {\n return Object.keys(obj).reduce((acc, key) => {\n const prefixedKey = prefix ? `${prefix}.${key}` : key;\n\n if (isPlainObject(obj[key])) {\n Object.assign(acc, flattenObject(obj[key], prefixedKey));\n } else {\n acc[prefixedKey] = obj[key];\n }\n\n return acc;\n }, {});\n}\n\nexport const yupResolver =\n (schema: any, schemaOptions: any = {}, resolverOptions: any = {}) =>\n async (values, context, options) => {\n try {\n if (schemaOptions.context && process.env.NODE_ENV === 'development') {\n console.warn(\n \"You should not used the yup options context. Please, use the 'useForm' context object instead\"\n );\n }\n\n const result = await schema[\n resolverOptions.mode === 'sync' ? 'validateSync' : 'validate'\n ](\n flattenObject(values),\n Object.assign({ abortEarly: false }, schemaOptions, { context })\n );\n\n if (options.shouldUseNativeValidation)\n validateFieldsNatively({}, options);\n\n return {\n values: resolverOptions.rawValues ? values : result,\n errors: {},\n };\n } catch (e) {\n if (!e.inner) {\n throw e;\n }\n\n return {\n values: {},\n errors: parseErrorSchema(\n e,\n !options.shouldUseNativeValidation && options.criteriaMode === 'all'\n ),\n options,\n };\n }\n };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAuC;AAEvC,6BAA6B;AAO7B,MAAM,mBAAmB,CACvB,OACA,6BACG;AACH,UAAQ,MAAM,SAAS,CAAC,GAAG;AAAA,IACzB,CAAC,UAAUA,WAAU;AACnB,MAAAA,OAAM,OAAOA,OAAM,MAAM,QAAQ,iBAAiB,KAAK;AAEvD,UAAI,CAAC,SAASA,OAAM,IAAK,GAAG;AAC1B,iBAASA,OAAM,IAAK,IAAI,EAAE,SAASA,OAAM,SAAS,MAAMA,OAAM,KAAM;AAAA,MACtE;AAEA,UAAI,0BAA0B;AAC5B,cAAM,QAAQ,SAASA,OAAM,IAAK,EAAE;AACpC,cAAM,WAAW,SAAS,MAAMA,OAAM,IAAK;AAE3C,iBAASA,OAAM,IAAK,QAAI;AAAA,UACtBA,OAAM;AAAA,UACN;AAAA,UACA;AAAA,UACAA,OAAM;AAAA,UACN,WACK,CAAC,EAAe,OAAO,UAAsBA,OAAM,OAAO,IAC3DA,OAAM;AAAA,QACZ;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAAA,IACA,CAAC;AAAA,EACH;AACF;AACA,SAAS,cAAc,KAAK;AAC1B,SACE,OAAO,QAAQ,YACf,QAAQ,QACR,OAAO,UAAU,SAAS,KAAK,GAAG,MAAM;AAE5C;AACA,SAAS,cAAc,KAAK,SAAS,IAAI;AACvC,SAAO,OAAO,KAAK,GAAG,EAAE,OAAO,CAAC,KAAK,QAAQ;AAC3C,UAAM,cAAc,SAAS,GAAG,MAAM,IAAI,GAAG,KAAK;AAElD,QAAI,cAAc,IAAI,GAAG,CAAC,GAAG;AAC3B,aAAO,OAAO,KAAK,cAAc,IAAI,GAAG,GAAG,WAAW,CAAC;AAAA,IACzD,OAAO;AACL,UAAI,WAAW,IAAI,IAAI,GAAG;AAAA,IAC5B;AAEA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;AAEO,MAAM,cACX,CAAC,QAAa,gBAAqB,CAAC,GAAG,kBAAuB,CAAC,MAC/D,OAAO,QAAQ,SAAS,YAAY;AAClC,MAAI;AACF,QAAI,cAAc,WAAW,QAAQ,IAAI,aAAa,eAAe;AACnE,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAEA,UAAM,SAAS,MAAM,OACnB,gBAAgB,SAAS,SAAS,iBAAiB,UACrD;AAAA,MACE,cAAc,MAAM;AAAA,MACpB,OAAO,OAAO,EAAE,YAAY,MAAM,GAAG,eAAe,EAAE,QAAQ,CAAC;AAAA,IACjE;AAEA,QAAI,QAAQ;AACV,mDAAuB,CAAC,GAAG,OAAO;AAEpC,WAAO;AAAA,MACL,QAAQ,gBAAgB,YAAY,SAAS;AAAA,MAC7C,QAAQ,CAAC;AAAA,IACX;AAAA,EACF,SAAS,GAAG;AACV,QAAI,CAAC,EAAE,OAAO;AACZ,YAAM;AAAA,IACR;AAEA,WAAO;AAAA,MACL,QAAQ,CAAC;AAAA,MACT,QAAQ;AAAA,QACN;AAAA,QACA,CAAC,QAAQ,6BAA6B,QAAQ,iBAAiB;AAAA,MACjE;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": ["error"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/validators/index.ts"],
4
- "sourcesContent": ["import { MutableRefObject, useMemo } from 'react';\nimport * as yup from 'yup';\nimport { AnyObjectSchema, StringSchema } from 'yup';\nimport { RequiredArraySchema } from 'yup/lib/array';\nimport Lazy from 'yup/lib/Lazy';\nimport { MixedSchema } from 'yup/lib/mixed';\nimport { TypeOfShape, AssertsShape } from 'yup/lib/object';\nimport { AnyObject } from 'yup/lib/types';\nimport { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\nimport {\n getYupObjectShape,\n AFM_VALIDATOR,\n AMKA_VALIDATOR,\n FILE_MAX_SIZE_VALIDATOR,\n IBAN_VALIDATOR,\n OTP_VALIDATOR,\n MOBILE_PHONE_VALIDATOR,\n PHONE_NUMBER_VALIDATOR,\n TEXT_LIMIT_VALIDATOR,\n POSTALCODE_VALIDATOR,\n UUID4_VALIDATOR,\n IMAGE_DIMENSION_VALIDATOR,\n DATE_VALIDATOR,\n LATER_THAN_VALIDATOR,\n EARLIER_THAN_VALIDATOR,\n DATETIME_VALIDATOR,\n LATER_THAN_DATETIME_VALIDATOR,\n EARLIER_THAN_DATETIME_VALIDATOR,\n} from '@digigov/form/validators/utils';\nimport { INT_VALIDATOR } from '@digigov/form/validators/utils/int';\nimport { NUMBER_VALIDATOR } from '@digigov/form/validators/utils/number';\n\nexport const getYUPTypeMap = (\n validatorRegistry?: Record<string, any>\n): Record<string, any> => {\n const yupTypeMap = {\n file: (field): MixedSchema => {\n return yup\n .mixed()\n .transform((value) => {\n if (!value || value.length === 0) {\n return null;\n }\n return value;\n })\n .nullable()\n .test(FILE_MAX_SIZE_VALIDATOR(field));\n },\n string: (field): yup.StringSchema => {\n if (field.trim) {\n return yup.string().trim();\n } else {\n return yup.string();\n }\n },\n boolean: (): yup.BooleanSchema<\n boolean | null | undefined,\n AnyObject,\n boolean | null | undefined\n > => {\n return yup\n .boolean()\n .nullable()\n .transform((value) => {\n if (value === '' || typeof value === 'string') return null;\n if (typeof value === 'boolean') return value;\n if (value === 0 || value === 1) return Boolean(value);\n return value;\n });\n },\n object: (\n field\n ):\n | yup.ObjectSchema<any, AnyObject, TypeOfShape<any>, AssertsShape<any>>\n | Lazy<any, unknown> => {\n return getYupObjectShape(field.extra.fields, yupTypeMap);\n },\n array: (\n field\n ):\n | yup.ArraySchema<any, AnyObject, any[] | undefined>\n | RequiredArraySchema<any, AnyObject, any[] | undefined> => {\n if (typeof field.extra.of === 'object') {\n // else if the field is an object then it is a scalar type\n // eg. number, string etc.\n if (field.required) {\n field.extra.min = 1;\n }\n let arrayValidator = yup\n .array()\n .nullable()\n .of(yupTypeMap[field.extra.of.type](field.extra.of));\n if (field.extra.length)\n arrayValidator = arrayValidator.length(field.extra.length, {\n key: 'form.error.array.length',\n context: {\n length: field.extra.length,\n },\n });\n if (field.extra.min)\n arrayValidator = arrayValidator.min(field.extra.min, {\n key: 'form.error.array.min',\n context: {\n min: field.extra.min,\n },\n });\n if (field.extra.max)\n arrayValidator = arrayValidator.max(field.extra.max, {\n key: 'form.error.array.max',\n context: {\n max: field.extra.max,\n },\n });\n return arrayValidator;\n } else if (typeof field.extra.of === 'string') {\n return yup.array().of(yupTypeMap[field.extra.of]());\n } else {\n // in any other case it will be string\n return yup.array().of(yup.string());\n }\n },\n number: (): MixedSchema =>\n yup\n .mixed()\n .transform((_, val) => (val !== '' ? Number(val) : undefined))\n .test(NUMBER_VALIDATOR()),\n int: (): MixedSchema =>\n yup\n .mixed()\n .transform((_, val) => (val !== '' ? Number(val) : undefined))\n .test(NUMBER_VALIDATOR())\n .test(INT_VALIDATOR()),\n email: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().email('form.error.email')\n : yup.string().email('form.error.email'),\n afm: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(AFM_VALIDATOR)\n : yup.string().test(AFM_VALIDATOR),\n amka: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(AMKA_VALIDATOR)\n : yup.string().test(AMKA_VALIDATOR),\n uuid4: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(UUID4_VALIDATOR)\n : yup.string().test(UUID4_VALIDATOR),\n iban: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(IBAN_VALIDATOR(field))\n : yup.string().trim().test(IBAN_VALIDATOR(field)),\n otp: (field): yup.StringSchema =>\n yup.string().trim().test(OTP_VALIDATOR(field)),\n text: (field): yup.StringSchema => {\n if (field?.extra?.limit?.max || !!field?.extra?.limit?.min) {\n return field.trim\n ? yup.string().trim().test(TEXT_LIMIT_VALIDATOR(field))\n : yup.string().test(TEXT_LIMIT_VALIDATOR(field));\n } else {\n return field.trim ? yup.string().trim() : yup.string();\n }\n },\n image: (field): MixedSchema => {\n return yup\n .mixed()\n .transform((value) => {\n if (!value.length || value.length === 0) {\n return null;\n }\n return value;\n })\n .nullable()\n .test(FILE_MAX_SIZE_VALIDATOR(field))\n .test(IMAGE_DIMENSION_VALIDATOR(field));\n },\n postal_code: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(POSTALCODE_VALIDATOR(field))\n : yup.string().test(POSTALCODE_VALIDATOR(field)),\n mobile_phone: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(MOBILE_PHONE_VALIDATOR)\n : yup.string().test(MOBILE_PHONE_VALIDATOR),\n phone_number: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(PHONE_NUMBER_VALIDATOR(field))\n : yup.string().test(PHONE_NUMBER_VALIDATOR(field)),\n 'choice:multiple': (): yup.ArraySchema<\n yup.StringSchema<string | undefined, AnyObject, string | undefined>,\n AnyObject,\n (string | undefined)[] | null | undefined,\n (string | undefined)[] | null | undefined\n > => yup.array().of(yup.string()).nullable(),\n 'choice:single': (): StringSchema<\n string | null | undefined,\n AnyObject,\n string | null | undefined\n > => yup.string().nullable(),\n date: (\n field\n ): yup.StringSchema<\n string | null | undefined,\n AnyObject,\n string | null | undefined\n > => {\n let schema = yup.string().nullable();\n if (field?.extra?.min) {\n schema = schema.test(LATER_THAN_VALIDATOR(field));\n }\n if (field?.extra?.max) {\n schema = schema.test(EARLIER_THAN_VALIDATOR(field));\n } else {\n schema = schema.test(DATE_VALIDATOR);\n }\n return schema;\n },\n datetime: (field): yup.StringSchema => {\n if (field?.extra?.min) {\n return yup.string().test(LATER_THAN_DATETIME_VALIDATOR(field));\n }\n if (field?.extra?.max) {\n return yup.string().test(EARLIER_THAN_DATETIME_VALIDATOR(field));\n }\n return yup.string().test(DATETIME_VALIDATOR);\n },\n ...validatorRegistry,\n };\n return yupTypeMap;\n};\n\nexport interface MutableRefObjectProps {}\n// Create a yup validation schema from given fields input\nexport function useValidationSchema(\n fields: FieldSpec[] | MutableRefObject<MutableRefObjectProps>,\n validatorRegistry?: Record<string, ValidatorSchema[]>\n): Lazy<any, unknown> | AnyObjectSchema | void {\n return useMemo(() => {\n const yupTypeMap = getYUPTypeMap(validatorRegistry);\n return getYupObjectShape(fields, yupTypeMap, validatorRegistry);\n }, [fields, validatorRegistry]);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { MutableRefObject } from 'react';\nimport { useMemo } from 'react';\nimport * as yup from 'yup';\nimport type { AnyObjectSchema, StringSchema } from 'yup';\nimport type { RequiredArraySchema } from 'yup/lib/array';\nimport type Lazy from 'yup/lib/Lazy';\nimport type { MixedSchema } from 'yup/lib/mixed';\nimport type { TypeOfShape, AssertsShape } from 'yup/lib/object';\nimport type { AnyObject } from 'yup/lib/types';\nimport type { FieldSpec } from '@digigov/form/types';\nimport type { ValidatorSchema } from '@digigov/form/validators/types';\nimport {\n getYupObjectShape,\n AFM_VALIDATOR,\n AMKA_VALIDATOR,\n FILE_MAX_SIZE_VALIDATOR,\n IBAN_VALIDATOR,\n OTP_VALIDATOR,\n MOBILE_PHONE_VALIDATOR,\n PHONE_NUMBER_VALIDATOR,\n TEXT_LIMIT_VALIDATOR,\n POSTALCODE_VALIDATOR,\n UUID4_VALIDATOR,\n IMAGE_DIMENSION_VALIDATOR,\n DATE_VALIDATOR,\n LATER_THAN_VALIDATOR,\n EARLIER_THAN_VALIDATOR,\n DATETIME_VALIDATOR,\n LATER_THAN_DATETIME_VALIDATOR,\n EARLIER_THAN_DATETIME_VALIDATOR,\n} from '@digigov/form/validators/utils';\nimport { INT_VALIDATOR } from '@digigov/form/validators/utils/int';\nimport { NUMBER_VALIDATOR } from '@digigov/form/validators/utils/number';\n\nexport const getYUPTypeMap = (\n validatorRegistry?: Record<string, any>\n): Record<string, any> => {\n const yupTypeMap = {\n file: (field): MixedSchema => {\n return yup\n .mixed()\n .transform((value) => {\n if (!value || value.length === 0) {\n return null;\n }\n return value;\n })\n .nullable()\n .test(FILE_MAX_SIZE_VALIDATOR(field));\n },\n string: (field): yup.StringSchema => {\n if (field.trim) {\n return yup.string().trim();\n } else {\n return yup.string();\n }\n },\n boolean: (): yup.BooleanSchema<\n boolean | null | undefined,\n AnyObject,\n boolean | null | undefined\n > => {\n return yup\n .boolean()\n .nullable()\n .transform((value) => {\n if (value === '' || typeof value === 'string') return null;\n if (typeof value === 'boolean') return value;\n if (value === 0 || value === 1) return Boolean(value);\n return value;\n });\n },\n object: (\n field\n ):\n | yup.ObjectSchema<any, AnyObject, TypeOfShape<any>, AssertsShape<any>>\n | Lazy<any, unknown> => {\n return getYupObjectShape(field.extra.fields, yupTypeMap);\n },\n array: (\n field\n ):\n | yup.ArraySchema<any, AnyObject, any[] | undefined>\n | RequiredArraySchema<any, AnyObject, any[] | undefined> => {\n if (typeof field.extra.of === 'object') {\n // else if the field is an object then it is a scalar type\n // eg. number, string etc.\n if (field.required) {\n field.extra.min = 1;\n }\n let arrayValidator = yup\n .array()\n .nullable()\n .of(yupTypeMap[field.extra.of.type](field.extra.of));\n if (field.extra.length)\n arrayValidator = arrayValidator.length(field.extra.length, {\n key: 'form.error.array.length',\n context: {\n length: field.extra.length,\n },\n });\n if (field.extra.min)\n arrayValidator = arrayValidator.min(field.extra.min, {\n key: 'form.error.array.min',\n context: {\n min: field.extra.min,\n },\n });\n if (field.extra.max)\n arrayValidator = arrayValidator.max(field.extra.max, {\n key: 'form.error.array.max',\n context: {\n max: field.extra.max,\n },\n });\n return arrayValidator;\n } else if (typeof field.extra.of === 'string') {\n return yup.array().of(yupTypeMap[field.extra.of]());\n } else {\n // in any other case it will be string\n return yup.array().of(yup.string());\n }\n },\n number: (): MixedSchema =>\n yup\n .mixed()\n .transform((_, val) => (val !== '' ? Number(val) : undefined))\n .test(NUMBER_VALIDATOR()),\n int: (): MixedSchema =>\n yup\n .mixed()\n .transform((_, val) => (val !== '' ? Number(val) : undefined))\n .test(NUMBER_VALIDATOR())\n .test(INT_VALIDATOR()),\n email: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().email('form.error.email')\n : yup.string().email('form.error.email'),\n afm: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(AFM_VALIDATOR)\n : yup.string().test(AFM_VALIDATOR),\n amka: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(AMKA_VALIDATOR)\n : yup.string().test(AMKA_VALIDATOR),\n uuid4: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(UUID4_VALIDATOR)\n : yup.string().test(UUID4_VALIDATOR),\n iban: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(IBAN_VALIDATOR(field))\n : yup.string().trim().test(IBAN_VALIDATOR(field)),\n otp: (field): yup.StringSchema =>\n yup.string().trim().test(OTP_VALIDATOR(field)),\n text: (field): yup.StringSchema => {\n if (field?.extra?.limit?.max || !!field?.extra?.limit?.min) {\n return field.trim\n ? yup.string().trim().test(TEXT_LIMIT_VALIDATOR(field))\n : yup.string().test(TEXT_LIMIT_VALIDATOR(field));\n } else {\n return field.trim ? yup.string().trim() : yup.string();\n }\n },\n image: (field): MixedSchema => {\n return yup\n .mixed()\n .transform((value) => {\n if (!value.length || value.length === 0) {\n return null;\n }\n return value;\n })\n .nullable()\n .test(FILE_MAX_SIZE_VALIDATOR(field))\n .test(IMAGE_DIMENSION_VALIDATOR(field));\n },\n postal_code: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(POSTALCODE_VALIDATOR(field))\n : yup.string().test(POSTALCODE_VALIDATOR(field)),\n mobile_phone: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(MOBILE_PHONE_VALIDATOR)\n : yup.string().test(MOBILE_PHONE_VALIDATOR),\n phone_number: (field): yup.StringSchema =>\n field.trim\n ? yup.string().trim().test(PHONE_NUMBER_VALIDATOR(field))\n : yup.string().test(PHONE_NUMBER_VALIDATOR(field)),\n 'choice:multiple': (): yup.ArraySchema<\n yup.StringSchema<string | undefined, AnyObject, string | undefined>,\n AnyObject,\n (string | undefined)[] | null | undefined,\n (string | undefined)[] | null | undefined\n > => yup.array().of(yup.string()).nullable(),\n 'choice:single': (): StringSchema<\n string | null | undefined,\n AnyObject,\n string | null | undefined\n > => yup.string().nullable(),\n date: (\n field\n ): yup.StringSchema<\n string | null | undefined,\n AnyObject,\n string | null | undefined\n > => {\n let schema = yup.string().nullable();\n if (field?.extra?.min) {\n schema = schema.test(LATER_THAN_VALIDATOR(field));\n }\n if (field?.extra?.max) {\n schema = schema.test(EARLIER_THAN_VALIDATOR(field));\n } else {\n schema = schema.test(DATE_VALIDATOR);\n }\n return schema;\n },\n datetime: (field): yup.StringSchema => {\n if (field?.extra?.min) {\n return yup.string().test(LATER_THAN_DATETIME_VALIDATOR(field));\n }\n if (field?.extra?.max) {\n return yup.string().test(EARLIER_THAN_DATETIME_VALIDATOR(field));\n }\n return yup.string().test(DATETIME_VALIDATOR);\n },\n ...validatorRegistry,\n };\n return yupTypeMap;\n};\n\nexport interface MutableRefObjectProps {}\n// Create a yup validation schema from given fields input\nexport function useValidationSchema(\n fields: FieldSpec[] | MutableRefObject<MutableRefObjectProps>,\n validatorRegistry?: Record<string, ValidatorSchema[]>\n): Lazy<any, unknown> | AnyObjectSchema | void {\n return useMemo(() => {\n const yupTypeMap = getYUPTypeMap(validatorRegistry);\n return getYupObjectShape(fields, yupTypeMap, validatorRegistry);\n }, [fields, validatorRegistry]);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/validators/types.ts"],
4
- "sourcesContent": ["import * as yup from 'yup';\nexport type ValidatorSchema = yup.TestConfig;\n"],
4
+ "sourcesContent": ["import type * as yup from 'yup';\nexport type ValidatorSchema = yup.TestConfig;\n"],
5
5
  "mappings": ";;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -37,6 +37,7 @@ var import_customParseFormat = __toESM(require("dayjs/plugin/customParseFormat")
37
37
  import_dayjs.default.extend(import_customParseFormat.default);
38
38
  const VALID_DATE_FORMATS = ["DD/MM/YYYY"];
39
39
  const DATE_CACHE = {};
40
+ const onlyNumbersRegex = /^\d+$/;
40
41
  const getDate = (v) => {
41
42
  return DATE_CACHE[v] ? DATE_CACHE[v] : (0, import_dayjs.default)(v, VALID_DATE_FORMATS, true);
42
43
  };
@@ -66,7 +67,11 @@ const checkPartialDate = (value) => {
66
67
  if (day && month) {
67
68
  const dayNum = parseInt(day);
68
69
  const monthNum = parseInt(month);
69
- const yearNum = parseInt(year);
70
+ const validYear = onlyNumbersRegex.test(year) ? year : void 0;
71
+ if (!validYear || year.length < 4) {
72
+ return "form.error.date.invalid";
73
+ }
74
+ const yearNum = parseInt(validYear);
70
75
  const maxDay = getDaysInMonth(monthNum, yearNum);
71
76
  if (dayNum < 1 || dayNum > maxDay) {
72
77
  return {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/validators/utils/date.ts"],
4
- "sourcesContent": ["import dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\n\ndayjs.extend(customParseFormat);\n\nconst VALID_DATE_FORMATS = ['DD/MM/YYYY'];\nconst DATE_CACHE = {};\n\nconst getDate = (v: string) => {\n return DATE_CACHE[v] ? DATE_CACHE[v] : dayjs(v, VALID_DATE_FORMATS, true);\n};\n\nconst getDaysInMonth = (month: number, year: number): number => {\n return dayjs(`${year}-${month}-01`).daysInMonth(); // e.g. 29 for Feb 2024\n};\n\n// Function to check partial date completion\nconst checkPartialDate = (value: string) => {\n const [day, month, year] = value.split('/');\n if (day && !month && !year) {\n return 'form.error.date.invalid_month_year';\n }\n if (!day && month && !year) {\n return 'form.error.date.invalid_day_year';\n }\n if (!day && !month && year) {\n return 'form.error.date.invalid_day_month';\n }\n if (day && month && !year) {\n return 'form.error.date.invalid_year';\n }\n if (day && !month && year) {\n return 'form.error.date.invalid_month';\n }\n if (!day && month && year) {\n return 'form.error.date.invalid_day';\n }\n if (day && month) {\n const dayNum = parseInt(day);\n const monthNum = parseInt(month);\n const yearNum = parseInt(year);\n const maxDay = getDaysInMonth(monthNum, yearNum);\n if (dayNum < 1 || dayNum > maxDay) {\n return {\n key: 'form.error.date.invalid_day_range',\n context: {\n maxDay: maxDay,\n },\n };\n }\n if (monthNum < 1 || monthNum > 12) {\n return 'form.error.datetime.invalid_month_range';\n }\n }\n return 'form.error.date.invalid';\n};\n\nexport const LATER_THAN_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n let minDate;\n const params = field.extra || {};\n if (params.min === 'now') {\n const today = new Date();\n minDate = new Date(today);\n } else {\n minDate = getDate(params.min).toDate();\n }\n const minPreviousDate = new Date(minDate);\n minPreviousDate.setDate(minDate.getDate() - 1);\n return {\n name: 'later-than',\n message: {\n key: 'form.error.date.later_than',\n context: {\n minDate: minPreviousDate.toLocaleDateString(),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const date = getDate(value);\n const isValid = +date.toDate() > +minDate;\n return isValid;\n },\n };\n};\n\nexport const EARLIER_THAN_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n let maxDate;\n const params = field.extra || {};\n if (params.max === 'now') {\n const today = new Date();\n maxDate = new Date(today);\n } else {\n maxDate = getDate(params.max).toDate();\n }\n const maxNextDate = new Date(maxDate);\n maxNextDate.setDate(maxDate.getDate() + 1);\n return {\n name: 'earlier-than',\n message: {\n key: 'form.error.date.earlier_than',\n context: {\n maxDate: maxNextDate.toLocaleDateString(),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const date = getDate(value);\n const isValid = +date.toDate() < +maxDate;\n return isValid;\n },\n };\n};\n\nexport const DATE_VALIDATOR = {\n name: 'date-validator',\n message: (v): string | object => {\n return checkPartialDate(v.value);\n },\n test: function (value: string) {\n if (!value) return true;\n const date = getDate(value);\n return date.isValid();\n },\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport type { FieldSpec } from '@digigov/form/types';\nimport type { ValidatorSchema } from '@digigov/form/validators/types';\n\ndayjs.extend(customParseFormat);\n\nconst VALID_DATE_FORMATS = ['DD/MM/YYYY'];\nconst DATE_CACHE = {};\nconst onlyNumbersRegex = /^\\d+$/;\n\nconst getDate = (v: string) => {\n return DATE_CACHE[v] ? DATE_CACHE[v] : dayjs(v, VALID_DATE_FORMATS, true);\n};\n\nconst getDaysInMonth = (month: number, year: number): number => {\n return dayjs(`${year}-${month}-01`).daysInMonth(); // e.g. 29 for Feb 2024\n};\n\n// Function to check partial date completion\nconst checkPartialDate = (value: string) => {\n const [day, month, year] = value.split('/');\n if (day && !month && !year) {\n return 'form.error.date.invalid_month_year';\n }\n if (!day && month && !year) {\n return 'form.error.date.invalid_day_year';\n }\n if (!day && !month && year) {\n return 'form.error.date.invalid_day_month';\n }\n if (day && month && !year) {\n return 'form.error.date.invalid_year';\n }\n if (day && !month && year) {\n return 'form.error.date.invalid_month';\n }\n if (!day && month && year) {\n return 'form.error.date.invalid_day';\n }\n if (day && month) {\n const dayNum = parseInt(day);\n const monthNum = parseInt(month);\n const validYear = onlyNumbersRegex.test(year) ? year : undefined;\n if (!validYear || year.length < 4) {\n return 'form.error.date.invalid';\n }\n const yearNum = parseInt(validYear);\n const maxDay = getDaysInMonth(monthNum, yearNum);\n if (dayNum < 1 || dayNum > maxDay) {\n return {\n key: 'form.error.date.invalid_day_range',\n context: {\n maxDay: maxDay,\n },\n };\n }\n if (monthNum < 1 || monthNum > 12) {\n return 'form.error.datetime.invalid_month_range';\n }\n }\n return 'form.error.date.invalid';\n};\n\nexport const LATER_THAN_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n let minDate;\n const params = field.extra || {};\n if (params.min === 'now') {\n const today = new Date();\n minDate = new Date(today);\n } else {\n minDate = getDate(params.min).toDate();\n }\n const minPreviousDate = new Date(minDate);\n minPreviousDate.setDate(minDate.getDate() - 1);\n return {\n name: 'later-than',\n message: {\n key: 'form.error.date.later_than',\n context: {\n minDate: minPreviousDate.toLocaleDateString(),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const date = getDate(value);\n const isValid = +date.toDate() > +minDate;\n return isValid;\n },\n };\n};\n\nexport const EARLIER_THAN_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n let maxDate;\n const params = field.extra || {};\n if (params.max === 'now') {\n const today = new Date();\n maxDate = new Date(today);\n } else {\n maxDate = getDate(params.max).toDate();\n }\n const maxNextDate = new Date(maxDate);\n maxNextDate.setDate(maxDate.getDate() + 1);\n return {\n name: 'earlier-than',\n message: {\n key: 'form.error.date.earlier_than',\n context: {\n maxDate: maxNextDate.toLocaleDateString(),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const date = getDate(value);\n const isValid = +date.toDate() < +maxDate;\n return isValid;\n },\n };\n};\n\nexport const DATE_VALIDATOR = {\n name: 'date-validator',\n message: (v): string | object => {\n return checkPartialDate(v.value);\n },\n test: function (value: string) {\n if (!value) return true;\n const date = getDate(value);\n return date.isValid();\n },\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["dayjs", "customParseFormat"]
7
7
  }
@@ -37,6 +37,7 @@ var import_customParseFormat = __toESM(require("dayjs/plugin/customParseFormat")
37
37
  import_dayjs.default.extend(import_customParseFormat.default);
38
38
  const VALID_DATETIME_FORMATS = ["DD/MM/YYYY HH:mm"];
39
39
  const DATETIME_CACHE = {};
40
+ const onlyNumbersRegex = /^\d+$/;
40
41
  const getDateTime = (v) => {
41
42
  return DATETIME_CACHE[v] ? DATETIME_CACHE[v] : (0, import_dayjs.default)(v, VALID_DATETIME_FORMATS, true);
42
43
  };
@@ -148,7 +149,11 @@ const checkPartialDateTime = (value) => {
148
149
  if (day && month) {
149
150
  const dayNum = parseInt(day);
150
151
  const monthNum = parseInt(month);
151
- const yearNum = parseInt(year);
152
+ const validYear = onlyNumbersRegex.test(year) ? year : void 0;
153
+ if (!validYear || year.length < 4) {
154
+ return "form.error.datetime.invalid";
155
+ }
156
+ const yearNum = parseInt(validYear);
152
157
  const maxDay = getDaysInMonth(monthNum, yearNum);
153
158
  if (dayNum < 1 || dayNum > maxDay) {
154
159
  return {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/validators/utils/datetime.ts"],
4
- "sourcesContent": ["import dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\n\ndayjs.extend(customParseFormat);\n\nconst VALID_DATETIME_FORMATS = ['DD/MM/YYYY HH:mm'];\nconst DATETIME_CACHE = {};\n\nconst getDateTime = (v: string) => {\n return DATETIME_CACHE[v]\n ? DATETIME_CACHE[v]\n : dayjs(v, VALID_DATETIME_FORMATS, true);\n};\n\nconst getDaysInMonth = (month: number, year: number): number => {\n return dayjs(`${year}-${month}-01`).daysInMonth(); // e.g. 29 for Feb 2024\n};\n\nconst checkPartialDateTime = (value: string) => {\n const [datePart, timePart] = value.split(' ');\n const [day, month, year] = datePart?.split('/') ?? [];\n const [hours, minutes] = timePart?.split(':') ?? [];\n\n const hasDay = Boolean(day);\n const hasMonth = Boolean(month);\n const hasYear = Boolean(year);\n const hasHours = Boolean(hours);\n const hasMinutes = Boolean(minutes);\n\n if (hasDay && !hasMonth && !hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_month_year_hours_minutes';\n }\n if (!hasDay && hasMonth && !hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_year_hours_minutes';\n }\n if (!hasDay && !hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_month_hours_minutes';\n }\n if (hasDay && hasMonth && !hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_year_hours_minutes';\n }\n if (hasDay && !hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_month_hours_minutes';\n }\n if (!hasDay && hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_hours_minutes';\n }\n if (hasDay && hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid__hours_minutes';\n }\n if (hasDay && hasMonth && hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_minutes';\n }\n if (hasDay && hasMonth && hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_hours';\n }\n if (hasDay && !hasMonth && !hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_month_year_minutes';\n }\n if (hasDay && !hasMonth && !hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_month_year_hours';\n }\n if (hasDay && !hasMonth && !hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_month_year';\n }\n if (!hasDay && hasMonth && !hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_year_minutes';\n }\n if (!hasDay && hasMonth && !hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_year_hours';\n }\n if (!hasDay && hasMonth && !hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_year';\n }\n if (!hasDay && !hasMonth && hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_month_minutes';\n }\n if (!hasDay && !hasMonth && hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_month_hours';\n }\n if (!hasDay && !hasMonth && hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_month';\n }\n if (!hasDay && !hasMonth && !hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_month_year';\n }\n if (!hasDay && !hasMonth && !hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_month_year_hours';\n }\n if (hasDay && hasMonth && !hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_year_minutes';\n }\n if (hasDay && hasMonth && !hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_year_hours';\n }\n if (hasDay && hasMonth && !hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_year';\n }\n if (hasDay && !hasMonth && hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_month_minutes';\n }\n if (hasDay && !hasMonth && hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_month_hours';\n }\n if (hasDay && !hasMonth && hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_month';\n }\n if (!hasDay && hasMonth && hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_minutes';\n }\n if (!hasDay && hasMonth && hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_hours';\n }\n if (!hasDay && hasMonth && hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day';\n }\n if (!hasDay && !hasMonth && !hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_month_year_minutes';\n }\n if (hasDay && hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_hours_minutes';\n }\n if (day && month) {\n const dayNum = parseInt(day);\n const monthNum = parseInt(month);\n const yearNum = parseInt(year);\n const maxDay = getDaysInMonth(monthNum, yearNum);\n if (dayNum < 1 || dayNum > maxDay) {\n return {\n key: 'form.error.datetime.invalid_day_range',\n context: {\n maxDay: maxDay,\n },\n };\n }\n if (monthNum < 1 || monthNum > 12) {\n return 'form.error.datetime.invalid_month_range';\n }\n }\n if (hours && minutes) {\n const hoursNum = parseInt(hours);\n const minutesNum = parseInt(minutes);\n if (hoursNum < 0 || hoursNum > 23) {\n return 'form.error.datetime.invalid_hours_range';\n }\n if (minutesNum < 0 || minutesNum > 59) {\n return 'form.error.datetime.invalid_minutes_range';\n }\n }\n return 'form.error.datetime.invalid';\n};\n\nexport const LATER_THAN_DATETIME_VALIDATOR = (\n field: FieldSpec\n): ValidatorSchema => {\n let minDateTime;\n const params = field.extra || {};\n if (params.min === 'now') {\n minDateTime = dayjs();\n } else {\n minDateTime = getDateTime(params.min);\n }\n return {\n name: 'later-than-datetime',\n message: {\n key: 'form.error.datetime.later_than',\n context: {\n minDateTime: minDateTime.format('DD/MM/YYYY HH:mm'),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const datetime = getDateTime(value);\n return datetime.isValid() && datetime.isAfter(minDateTime);\n },\n };\n};\n\nexport const EARLIER_THAN_DATETIME_VALIDATOR = (\n field: FieldSpec\n): ValidatorSchema => {\n let maxDateTime;\n const params = field.extra || {};\n if (params.max === 'now') {\n maxDateTime = dayjs();\n } else {\n maxDateTime = getDateTime(params.max);\n }\n return {\n name: 'earlier-than-datetime',\n message: {\n key: 'form.error.datetime.earlier_than',\n context: {\n maxDateTime: maxDateTime.format('DD/MM/YYYY HH:mm'),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const datetime = getDateTime(value);\n return datetime.isValid() && datetime.isBefore(maxDateTime);\n },\n };\n};\n\nexport const DATETIME_VALIDATOR = {\n name: 'datetime-validator',\n message: (v): string | object => {\n return checkPartialDateTime(v.value);\n },\n test: function (value: string) {\n if (!value) return true;\n const datetime = getDateTime(value);\n return datetime.isValid();\n },\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport type { FieldSpec } from '@digigov/form/types';\nimport type { ValidatorSchema } from '@digigov/form/validators/types';\n\ndayjs.extend(customParseFormat);\n\nconst VALID_DATETIME_FORMATS = ['DD/MM/YYYY HH:mm'];\nconst DATETIME_CACHE = {};\nconst onlyNumbersRegex = /^\\d+$/;\n\nconst getDateTime = (v: string) => {\n return DATETIME_CACHE[v]\n ? DATETIME_CACHE[v]\n : dayjs(v, VALID_DATETIME_FORMATS, true);\n};\n\nconst getDaysInMonth = (month: number, year: number): number => {\n return dayjs(`${year}-${month}-01`).daysInMonth(); // e.g. 29 for Feb 2024\n};\n\nconst checkPartialDateTime = (value: string) => {\n const [datePart, timePart] = value.split(' ');\n const [day, month, year] = datePart?.split('/') ?? [];\n const [hours, minutes] = timePart?.split(':') ?? [];\n\n const hasDay = Boolean(day);\n const hasMonth = Boolean(month);\n const hasYear = Boolean(year);\n const hasHours = Boolean(hours);\n const hasMinutes = Boolean(minutes);\n\n if (hasDay && !hasMonth && !hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_month_year_hours_minutes';\n }\n if (!hasDay && hasMonth && !hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_year_hours_minutes';\n }\n if (!hasDay && !hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_month_hours_minutes';\n }\n if (hasDay && hasMonth && !hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_year_hours_minutes';\n }\n if (hasDay && !hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_month_hours_minutes';\n }\n if (!hasDay && hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_hours_minutes';\n }\n if (hasDay && hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid__hours_minutes';\n }\n if (hasDay && hasMonth && hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_minutes';\n }\n if (hasDay && hasMonth && hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_hours';\n }\n if (hasDay && !hasMonth && !hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_month_year_minutes';\n }\n if (hasDay && !hasMonth && !hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_month_year_hours';\n }\n if (hasDay && !hasMonth && !hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_month_year';\n }\n if (!hasDay && hasMonth && !hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_year_minutes';\n }\n if (!hasDay && hasMonth && !hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_year_hours';\n }\n if (!hasDay && hasMonth && !hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_year';\n }\n if (!hasDay && !hasMonth && hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_month_minutes';\n }\n if (!hasDay && !hasMonth && hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_month_hours';\n }\n if (!hasDay && !hasMonth && hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_month';\n }\n if (!hasDay && !hasMonth && !hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_month_year';\n }\n if (!hasDay && !hasMonth && !hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_month_year_hours';\n }\n if (hasDay && hasMonth && !hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_year_minutes';\n }\n if (hasDay && hasMonth && !hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_year_hours';\n }\n if (hasDay && hasMonth && !hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_year';\n }\n if (hasDay && !hasMonth && hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_month_minutes';\n }\n if (hasDay && !hasMonth && hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_month_hours';\n }\n if (hasDay && !hasMonth && hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_month';\n }\n if (!hasDay && hasMonth && hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_minutes';\n }\n if (!hasDay && hasMonth && hasYear && !hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day_hours';\n }\n if (!hasDay && hasMonth && hasYear && hasHours && hasMinutes) {\n return 'form.error.datetime.invalid_day';\n }\n if (!hasDay && !hasMonth && !hasYear && hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_day_month_year_minutes';\n }\n if (hasDay && hasMonth && hasYear && !hasHours && !hasMinutes) {\n return 'form.error.datetime.invalid_hours_minutes';\n }\n if (day && month) {\n const dayNum = parseInt(day);\n const monthNum = parseInt(month);\n const validYear = onlyNumbersRegex.test(year) ? year : undefined;\n if (!validYear || year.length < 4) {\n return 'form.error.datetime.invalid';\n }\n const yearNum = parseInt(validYear);\n const maxDay = getDaysInMonth(monthNum, yearNum);\n if (dayNum < 1 || dayNum > maxDay) {\n return {\n key: 'form.error.datetime.invalid_day_range',\n context: {\n maxDay: maxDay,\n },\n };\n }\n if (monthNum < 1 || monthNum > 12) {\n return 'form.error.datetime.invalid_month_range';\n }\n }\n if (hours && minutes) {\n const hoursNum = parseInt(hours);\n const minutesNum = parseInt(minutes);\n if (hoursNum < 0 || hoursNum > 23) {\n return 'form.error.datetime.invalid_hours_range';\n }\n if (minutesNum < 0 || minutesNum > 59) {\n return 'form.error.datetime.invalid_minutes_range';\n }\n }\n return 'form.error.datetime.invalid';\n};\n\nexport const LATER_THAN_DATETIME_VALIDATOR = (\n field: FieldSpec\n): ValidatorSchema => {\n let minDateTime;\n const params = field.extra || {};\n if (params.min === 'now') {\n minDateTime = dayjs();\n } else {\n minDateTime = getDateTime(params.min);\n }\n return {\n name: 'later-than-datetime',\n message: {\n key: 'form.error.datetime.later_than',\n context: {\n minDateTime: minDateTime.format('DD/MM/YYYY HH:mm'),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const datetime = getDateTime(value);\n return datetime.isValid() && datetime.isAfter(minDateTime);\n },\n };\n};\n\nexport const EARLIER_THAN_DATETIME_VALIDATOR = (\n field: FieldSpec\n): ValidatorSchema => {\n let maxDateTime;\n const params = field.extra || {};\n if (params.max === 'now') {\n maxDateTime = dayjs();\n } else {\n maxDateTime = getDateTime(params.max);\n }\n return {\n name: 'earlier-than-datetime',\n message: {\n key: 'form.error.datetime.earlier_than',\n context: {\n maxDateTime: maxDateTime.format('DD/MM/YYYY HH:mm'),\n },\n },\n test: function (value: string) {\n if (!value) return true;\n const datetime = getDateTime(value);\n return datetime.isValid() && datetime.isBefore(maxDateTime);\n },\n };\n};\n\nexport const DATETIME_VALIDATOR = {\n name: 'datetime-validator',\n message: (v): string | object => {\n return checkPartialDateTime(v.value);\n },\n test: function (value: string) {\n if (!value) return true;\n const datetime = getDateTime(value);\n return datetime.isValid();\n },\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["dayjs", "customParseFormat"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/validators/utils/file.ts"],
4
- "sourcesContent": ["import { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\n\nconst DEFAULT_FILE_MAX_SIZE = 10000000;\n\nexport const FILE_MAX_SIZE_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n const maxSizeInBytes = field?.extra?.limit?.maxSize || DEFAULT_FILE_MAX_SIZE;\n let maxSizeTransformed = maxSizeInBytes / (1024 * 1024); // In MB\n let maxSizeText = 'MB';\n if (Math.round(maxSizeTransformed) === 0) {\n maxSizeTransformed = Math.round(maxSizeInBytes / 1024);\n maxSizeText = 'KB';\n }\n if (Math.round(maxSizeTransformed) === 0) {\n maxSizeTransformed = maxSizeInBytes;\n maxSizeText = 'Bytes';\n }\n return {\n name: 'file-max-size-validator',\n message: {\n key:\n field.type === 'file'\n ? 'form.error.file_size'\n : 'form.error.image_size',\n context: {\n maxSize: `${maxSizeTransformed} ${maxSizeText}`,\n },\n },\n test: (value: File[]): boolean => {\n if (value) {\n for (const file of Array.from(value)) {\n const maxSize = field?.extra?.limit?.maxSize || DEFAULT_FILE_MAX_SIZE;\n if (file.size > maxSize) {\n return false;\n }\n }\n }\n return true;\n },\n };\n};\n"],
4
+ "sourcesContent": ["import type { FieldSpec } from '@digigov/form/types';\nimport type { ValidatorSchema } from '@digigov/form/validators/types';\n\nconst DEFAULT_FILE_MAX_SIZE = 10000000;\n\nexport const FILE_MAX_SIZE_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n const maxSizeInBytes = field?.extra?.limit?.maxSize || DEFAULT_FILE_MAX_SIZE;\n let maxSizeTransformed = maxSizeInBytes / (1024 * 1024); // In MB\n let maxSizeText = 'MB';\n if (Math.round(maxSizeTransformed) === 0) {\n maxSizeTransformed = Math.round(maxSizeInBytes / 1024);\n maxSizeText = 'KB';\n }\n if (Math.round(maxSizeTransformed) === 0) {\n maxSizeTransformed = maxSizeInBytes;\n maxSizeText = 'Bytes';\n }\n return {\n name: 'file-max-size-validator',\n message: {\n key:\n field.type === 'file'\n ? 'form.error.file_size'\n : 'form.error.image_size',\n context: {\n maxSize: `${maxSizeTransformed} ${maxSizeText}`,\n },\n },\n test: (value: File[]): boolean => {\n if (value) {\n for (const file of Array.from(value)) {\n const maxSize = field?.extra?.limit?.maxSize || DEFAULT_FILE_MAX_SIZE;\n if (file.size > maxSize) {\n return false;\n }\n }\n }\n return true;\n },\n };\n};\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,MAAM,wBAAwB;AAEvB,MAAM,0BAA0B,CAAC,UAAsC;AAC5E,QAAM,iBAAiB,OAAO,OAAO,OAAO,WAAW;AACvD,MAAI,qBAAqB,kBAAkB,OAAO;AAClD,MAAI,cAAc;AAClB,MAAI,KAAK,MAAM,kBAAkB,MAAM,GAAG;AACxC,yBAAqB,KAAK,MAAM,iBAAiB,IAAI;AACrD,kBAAc;AAAA,EAChB;AACA,MAAI,KAAK,MAAM,kBAAkB,MAAM,GAAG;AACxC,yBAAqB;AACrB,kBAAc;AAAA,EAChB;AACA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,MACP,KACE,MAAM,SAAS,SACX,yBACA;AAAA,MACN,SAAS;AAAA,QACP,SAAS,GAAG,kBAAkB,IAAI,WAAW;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,MAAM,CAAC,UAA2B;AAChC,UAAI,OAAO;AACT,mBAAW,QAAQ,MAAM,KAAK,KAAK,GAAG;AACpC,gBAAM,UAAU,OAAO,OAAO,OAAO,WAAW;AAChD,cAAI,KAAK,OAAO,SAAS;AACvB,mBAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/validators/utils/iban.ts"],
4
- "sourcesContent": ["import { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\nexport function validateIban(value: string, countryCode: string): boolean {\n value = value.replace(/\\s/g, '').replace(/-/g, '');\n if (value.match(/^[0-9]*$/i)) {\n // this is for greek iban without the country code\n if (value.length !== 25) {\n return false;\n }\n } else {\n value = value.toUpperCase();\n if (countryCode) {\n if (!value.startsWith(countryCode.toUpperCase())) {\n return false;\n }\n if (value.length === ibanCountryCodesLengths[countryCode.toUpperCase()]) {\n return true;\n }\n }\n if (value.length !== 27) {\n // this is for greek iban\n return false;\n }\n }\n return true;\n}\n\nexport const IBAN_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n const countryCode = field?.extra?.country;\n return {\n name: 'iban-validator',\n message: 'form.error.iban',\n test: (value: string): boolean => {\n if (!value) {\n return true;\n }\n return validateIban(value, countryCode);\n },\n };\n};\n\nconst ibanCountryCodesLengths = {\n AD: 24,\n AT: 20,\n AZ: 28,\n BH: 22,\n BY: 28,\n BE: 16,\n BA: 20,\n BR: 29,\n BG: 22,\n CR: 22,\n HR: 21,\n CY: 28,\n CZ: 24,\n DK: 18,\n DO: 28,\n EG: 29,\n SV: 28,\n EE: 20,\n FO: 18,\n FI: 18,\n FR: 27,\n GE: 22,\n DE: 22,\n GI: 23,\n GR: 27,\n GL: 18,\n GT: 28,\n VA: 22,\n HU: 28,\n IS: 26,\n IQ: 23,\n IE: 22,\n IL: 23,\n IT: 27,\n JO: 30,\n KZ: 20,\n XK: 20,\n KW: 30,\n LV: 21,\n LB: 28,\n LI: 21,\n LT: 20,\n LU: 20,\n MT: 31,\n MR: 27,\n MU: 30,\n MD: 24,\n MC: 27,\n ME: 22,\n NL: 18,\n MK: 19,\n NO: 15,\n PK: 24,\n PS: 29,\n PL: 28,\n PT: 25,\n QA: 29,\n RO: 24,\n LC: 32,\n SM: 27,\n ST: 25,\n SA: 24,\n RS: 22,\n SC: 31,\n SK: 24,\n SI: 19,\n ES: 24,\n SE: 24,\n CH: 21,\n TL: 23,\n TN: 24,\n TR: 26,\n UA: 29,\n AE: 23,\n GB: 22,\n VG: 24,\n};\n"],
4
+ "sourcesContent": ["import type { FieldSpec } from '@digigov/form/types';\nimport type { ValidatorSchema } from '@digigov/form/validators/types';\nexport function validateIban(value: string, countryCode: string): boolean {\n value = value.replace(/\\s/g, '').replace(/-/g, '');\n if (value.match(/^[0-9]*$/i)) {\n // this is for greek iban without the country code\n if (value.length !== 25) {\n return false;\n }\n } else {\n value = value.toUpperCase();\n if (countryCode) {\n if (!value.startsWith(countryCode.toUpperCase())) {\n return false;\n }\n if (value.length === ibanCountryCodesLengths[countryCode.toUpperCase()]) {\n return true;\n }\n }\n if (value.length !== 27) {\n // this is for greek iban\n return false;\n }\n }\n return true;\n}\n\nexport const IBAN_VALIDATOR = (field: FieldSpec): ValidatorSchema => {\n const countryCode = field?.extra?.country;\n return {\n name: 'iban-validator',\n message: 'form.error.iban',\n test: (value: string): boolean => {\n if (!value) {\n return true;\n }\n return validateIban(value, countryCode);\n },\n };\n};\n\nconst ibanCountryCodesLengths = {\n AD: 24,\n AT: 20,\n AZ: 28,\n BH: 22,\n BY: 28,\n BE: 16,\n BA: 20,\n BR: 29,\n BG: 22,\n CR: 22,\n HR: 21,\n CY: 28,\n CZ: 24,\n DK: 18,\n DO: 28,\n EG: 29,\n SV: 28,\n EE: 20,\n FO: 18,\n FI: 18,\n FR: 27,\n GE: 22,\n DE: 22,\n GI: 23,\n GR: 27,\n GL: 18,\n GT: 28,\n VA: 22,\n HU: 28,\n IS: 26,\n IQ: 23,\n IE: 22,\n IL: 23,\n IT: 27,\n JO: 30,\n KZ: 20,\n XK: 20,\n KW: 30,\n LV: 21,\n LB: 28,\n LI: 21,\n LT: 20,\n LU: 20,\n MT: 31,\n MR: 27,\n MU: 30,\n MD: 24,\n MC: 27,\n ME: 22,\n NL: 18,\n MK: 19,\n NO: 15,\n PK: 24,\n PS: 29,\n PL: 28,\n PT: 25,\n QA: 29,\n RO: 24,\n LC: 32,\n SM: 27,\n ST: 25,\n SA: 24,\n RS: 22,\n SC: 31,\n SK: 24,\n SI: 19,\n ES: 24,\n SE: 24,\n CH: 21,\n TL: 23,\n TN: 24,\n TR: 26,\n UA: 29,\n AE: 23,\n GB: 22,\n VG: 24,\n};\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,SAAS,aAAa,OAAe,aAA8B;AACxE,UAAQ,MAAM,QAAQ,OAAO,EAAE,EAAE,QAAQ,MAAM,EAAE;AACjD,MAAI,MAAM,MAAM,WAAW,GAAG;AAE5B,QAAI,MAAM,WAAW,IAAI;AACvB,aAAO;AAAA,IACT;AAAA,EACF,OAAO;AACL,YAAQ,MAAM,YAAY;AAC1B,QAAI,aAAa;AACf,UAAI,CAAC,MAAM,WAAW,YAAY,YAAY,CAAC,GAAG;AAChD,eAAO;AAAA,MACT;AACA,UAAI,MAAM,WAAW,wBAAwB,YAAY,YAAY,CAAC,GAAG;AACvE,eAAO;AAAA,MACT;AAAA,IACF;AACA,QAAI,MAAM,WAAW,IAAI;AAEvB,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEO,MAAM,iBAAiB,CAAC,UAAsC;AACnE,QAAM,cAAc,OAAO,OAAO;AAClC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,MAAM,CAAC,UAA2B;AAChC,UAAI,CAAC,OAAO;AACV,eAAO;AAAA,MACT;AACA,aAAO,aAAa,OAAO,WAAW;AAAA,IACxC;AAAA,EACF;AACF;AAEA,MAAM,0BAA0B;AAAA,EAC9B,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/validators/utils/image.ts"],
4
- "sourcesContent": ["import { FieldSpec } from '@digigov/form/types';\nimport { ValidatorSchema } from '@digigov/form/validators/types';\n\nconst DEFAULT_IMAGE_MAX_HEIGHT_SIZE = 2000;\nconst DEFAULT_IMAGE_MAX_WIDTH_SIZE = 2000;\nconst DEFAULT_IMAGE_MIN_HEIGHT_SIZE = 100;\nconst DEFAULT_IMAGE_MIN_WIDTH_SIZE = 100;\n\nfunction getImageDimensions(\n file: File\n): Promise<{ width: number; height: number }> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = (event) => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.width, height: img.height });\n };\n img.onerror = reject;\n const result = event?.target?.result;\n if (result && typeof result === 'string') {\n img.src = result;\n } else {\n reject(new Error('Invalid file format'));\n }\n };\n reader.onerror = reject;\n reader.readAsDataURL(file);\n });\n}\n\nexport const IMAGE_DIMENSION_VALIDATOR = (\n field: FieldSpec\n): ValidatorSchema => ({\n name: 'image-dimension-validator',\n message: (value: any) => {\n const minHeight =\n field?.extra?.limit?.minHeight || DEFAULT_IMAGE_MIN_HEIGHT_SIZE;\n const minWidth =\n field?.extra?.limit?.minWidth || DEFAULT_IMAGE_MIN_WIDTH_SIZE;\n const maxHeight =\n field?.extra?.limit?.maxHeight || DEFAULT_IMAGE_MAX_HEIGHT_SIZE;\n const maxWidth =\n field?.extra?.limit?.maxWidth || DEFAULT_IMAGE_MAX_WIDTH_SIZE;\n if (!value || value.length === 0) {\n return {\n name: 'image-validator',\n message: 'form.error.required',\n };\n } else {\n return {\n key: 'form.error.image.image_dimension_size',\n context: {\n maxHeight: maxHeight,\n maxWidth: maxWidth,\n minHeight: minHeight,\n minWidth: minWidth,\n },\n };\n }\n },\n test: async (value: File[]): Promise<boolean> => {\n if (!value || value.length === 0) {\n return true;\n }\n const file = value[0];\n const { width, height } = await getImageDimensions(file);\n const maxHeight =\n field?.extra?.limit?.maxHeight || DEFAULT_IMAGE_MAX_HEIGHT_SIZE;\n const maxWidth =\n field?.extra?.limit?.maxWidth || DEFAULT_IMAGE_MAX_WIDTH_SIZE;\n const minHeight =\n field?.extra?.limit?.minHeight || DEFAULT_IMAGE_MIN_HEIGHT_SIZE;\n const minWidth =\n field?.extra?.limit?.minWidth || DEFAULT_IMAGE_MIN_WIDTH_SIZE;\n if (!file) {\n return true;\n }\n try {\n if (height > maxHeight || width > maxWidth) {\n return false;\n }\n if (height < minHeight || width < minWidth) {\n return false;\n }\n return true;\n } catch (error) {\n console.error('Error getting image dimensions:', error);\n return false; // Return false in case of an error.\n }\n },\n});\n"],
4
+ "sourcesContent": ["import type { FieldSpec } from '@digigov/form/types';\nimport type { ValidatorSchema } from '@digigov/form/validators/types';\n\nconst DEFAULT_IMAGE_MAX_HEIGHT_SIZE = 2000;\nconst DEFAULT_IMAGE_MAX_WIDTH_SIZE = 2000;\nconst DEFAULT_IMAGE_MIN_HEIGHT_SIZE = 100;\nconst DEFAULT_IMAGE_MIN_WIDTH_SIZE = 100;\n\nfunction getImageDimensions(\n file: File\n): Promise<{ width: number; height: number }> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = (event) => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.width, height: img.height });\n };\n img.onerror = reject;\n const result = event?.target?.result;\n if (result && typeof result === 'string') {\n img.src = result;\n } else {\n reject(new Error('Invalid file format'));\n }\n };\n reader.onerror = reject;\n reader.readAsDataURL(file);\n });\n}\n\nexport const IMAGE_DIMENSION_VALIDATOR = (\n field: FieldSpec\n): ValidatorSchema => ({\n name: 'image-dimension-validator',\n message: (value: any) => {\n const minHeight =\n field?.extra?.limit?.minHeight || DEFAULT_IMAGE_MIN_HEIGHT_SIZE;\n const minWidth =\n field?.extra?.limit?.minWidth || DEFAULT_IMAGE_MIN_WIDTH_SIZE;\n const maxHeight =\n field?.extra?.limit?.maxHeight || DEFAULT_IMAGE_MAX_HEIGHT_SIZE;\n const maxWidth =\n field?.extra?.limit?.maxWidth || DEFAULT_IMAGE_MAX_WIDTH_SIZE;\n if (!value || value.length === 0) {\n return {\n name: 'image-validator',\n message: 'form.error.required',\n };\n } else {\n return {\n key: 'form.error.image.image_dimension_size',\n context: {\n maxHeight: maxHeight,\n maxWidth: maxWidth,\n minHeight: minHeight,\n minWidth: minWidth,\n },\n };\n }\n },\n test: async (value: File[]): Promise<boolean> => {\n if (!value || value.length === 0) {\n return true;\n }\n const file = value[0];\n const { width, height } = await getImageDimensions(file);\n const maxHeight =\n field?.extra?.limit?.maxHeight || DEFAULT_IMAGE_MAX_HEIGHT_SIZE;\n const maxWidth =\n field?.extra?.limit?.maxWidth || DEFAULT_IMAGE_MAX_WIDTH_SIZE;\n const minHeight =\n field?.extra?.limit?.minHeight || DEFAULT_IMAGE_MIN_HEIGHT_SIZE;\n const minWidth =\n field?.extra?.limit?.minWidth || DEFAULT_IMAGE_MIN_WIDTH_SIZE;\n if (!file) {\n return true;\n }\n try {\n if (height > maxHeight || width > maxWidth) {\n return false;\n }\n if (height < minHeight || width < minWidth) {\n return false;\n }\n return true;\n } catch (error) {\n console.error('Error getting image dimensions:', error);\n return false; // Return false in case of an error.\n }\n },\n});\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,MAAM,gCAAgC;AACtC,MAAM,+BAA+B;AACrC,MAAM,gCAAgC;AACtC,MAAM,+BAA+B;AAErC,SAAS,mBACP,MAC4C;AAC5C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,SAAS,IAAI,WAAW;AAC9B,WAAO,SAAS,CAAC,UAAU;AACzB,YAAM,MAAM,IAAI,MAAM;AACtB,UAAI,SAAS,MAAM;AACjB,gBAAQ,EAAE,OAAO,IAAI,OAAO,QAAQ,IAAI,OAAO,CAAC;AAAA,MAClD;AACA,UAAI,UAAU;AACd,YAAM,SAAS,OAAO,QAAQ;AAC9B,UAAI,UAAU,OAAO,WAAW,UAAU;AACxC,YAAI,MAAM;AAAA,MACZ,OAAO;AACL,eAAO,IAAI,MAAM,qBAAqB,CAAC;AAAA,MACzC;AAAA,IACF;AACA,WAAO,UAAU;AACjB,WAAO,cAAc,IAAI;AAAA,EAC3B,CAAC;AACH;AAEO,MAAM,4BAA4B,CACvC,WACqB;AAAA,EACrB,MAAM;AAAA,EACN,SAAS,CAAC,UAAe;AACvB,UAAM,YACJ,OAAO,OAAO,OAAO,aAAa;AACpC,UAAM,WACJ,OAAO,OAAO,OAAO,YAAY;AACnC,UAAM,YACJ,OAAO,OAAO,OAAO,aAAa;AACpC,UAAM,WACJ,OAAO,OAAO,OAAO,YAAY;AACnC,QAAI,CAAC,SAAS,MAAM,WAAW,GAAG;AAChC,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF,OAAO;AACL,aAAO;AAAA,QACL,KAAK;AAAA,QACL,SAAS;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM,OAAO,UAAoC;AAC/C,QAAI,CAAC,SAAS,MAAM,WAAW,GAAG;AAChC,aAAO;AAAA,IACT;AACA,UAAM,OAAO,MAAM,CAAC;AACpB,UAAM,EAAE,OAAO,OAAO,IAAI,MAAM,mBAAmB,IAAI;AACvD,UAAM,YACJ,OAAO,OAAO,OAAO,aAAa;AACpC,UAAM,WACJ,OAAO,OAAO,OAAO,YAAY;AACnC,UAAM,YACJ,OAAO,OAAO,OAAO,aAAa;AACpC,UAAM,WACJ,OAAO,OAAO,OAAO,YAAY;AACnC,QAAI,CAAC,MAAM;AACT,aAAO;AAAA,IACT;AACA,QAAI;AACF,UAAI,SAAS,aAAa,QAAQ,UAAU;AAC1C,eAAO;AAAA,MACT;AACA,UAAI,SAAS,aAAa,QAAQ,UAAU;AAC1C,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,MAAM,mCAAmC,KAAK;AACtD,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }