@digigov/form 2.0.0-264e5fff → 2.0.0-290ada95

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 (621) hide show
  1. package/Field/ErrorGroup.d.ts +2 -2
  2. package/Field/ErrorGroup.js +53 -0
  3. package/Field/FieldBase.d.ts +1 -1
  4. package/Field/FieldBase.js +77 -0
  5. package/Field/FieldBaseContainer.d.ts +1 -1
  6. package/Field/FieldBaseContainer.js +43 -0
  7. package/Field/FieldConditional.d.ts +1 -1
  8. package/Field/FieldConditional.js +45 -0
  9. package/Field/index.d.ts +1 -1
  10. package/Field/index.js +69 -107
  11. package/Field/types.d.ts +3 -3
  12. package/Field/types.js +0 -0
  13. package/Field/utils/evaluateFieldWithConditions.d.ts +1 -1
  14. package/Field/utils/evaluateFieldWithConditions.js +19 -0
  15. package/Field/utils/resolveField.d.ts +2 -2
  16. package/Field/utils/resolveField.js +32 -0
  17. package/Field/utils/useField.d.ts +1 -1
  18. package/Field/utils/useField.js +47 -0
  19. package/FieldArray/BaseFieldArray.d.ts +1 -1
  20. package/FieldArray/BaseFieldArray.js +46 -0
  21. package/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay.js +13 -0
  22. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.js +117 -0
  23. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.js +6 -0
  24. package/FieldArray/FormDialog/ArrayDisplay/index.js +32 -57
  25. package/FieldArray/FormDialog/ArrayEditModal.d.ts +1 -1
  26. package/FieldArray/FormDialog/ArrayEditModal.js +138 -0
  27. package/FieldArray/FormDialog/index.d.ts +1 -1
  28. package/FieldArray/FormDialog/index.js +142 -177
  29. package/FieldArray/index.d.ts +2 -2
  30. package/FieldArray/index.js +59 -86
  31. package/FieldObject/index.d.ts +2 -2
  32. package/FieldObject/index.js +52 -77
  33. package/Fieldset/FieldsetWithContext.js +27 -0
  34. package/Fieldset/index.d.ts +1 -1
  35. package/Fieldset/index.js +18 -30
  36. package/Fieldset/types.js +0 -0
  37. package/FormBuilder/index.d.ts +2 -2
  38. package/FormBuilder/index.js +226 -254
  39. package/FormContext.d.ts +1 -1
  40. package/FormContext.js +7 -0
  41. package/MultiplicityField/add-objects.d.ts +1 -1
  42. package/MultiplicityField/add-objects.js +107 -0
  43. package/MultiplicityField/index.d.ts +1 -1
  44. package/MultiplicityField/index.js +81 -119
  45. package/MultiplicityField/types.d.ts +1 -1
  46. package/MultiplicityField/types.js +0 -0
  47. package/Questions/Questions.d.ts +1 -1
  48. package/Questions/Questions.js +48 -0
  49. package/Questions/QuestionsContext.d.ts +1 -1
  50. package/Questions/QuestionsContext.js +10 -0
  51. package/Questions/Step/ReviewStep.js +32 -0
  52. package/Questions/Step/Step.d.ts +1 -1
  53. package/Questions/Step/Step.js +39 -0
  54. package/Questions/Step/StepArrayReview.d.ts +1 -1
  55. package/Questions/Step/StepArrayReview.js +35 -0
  56. package/Questions/Step/StepContext.d.ts +1 -1
  57. package/Questions/Step/StepContext.js +28 -0
  58. package/Questions/Step/StepDescription.js +18 -0
  59. package/Questions/Step/StepForm.d.ts +2 -2
  60. package/Questions/Step/StepForm.js +29 -0
  61. package/Questions/Step/StepQuote.js +5 -0
  62. package/Questions/Step/StepTitle.js +25 -0
  63. package/Questions/Step/getAddMoreFields.d.ts +2 -2
  64. package/Questions/Step/getAddMoreFields.js +24 -0
  65. package/Questions/Step/index.d.ts +11 -11
  66. package/Questions/Step/index.js +13 -16
  67. package/Questions/Step/types.d.ts +1 -1
  68. package/Questions/Step/types.js +0 -0
  69. package/Questions/getNextStep.d.ts +1 -1
  70. package/Questions/getNextStep.js +13 -0
  71. package/Questions/index.d.ts +2 -2
  72. package/Questions/index.js +4 -7
  73. package/Questions/types.d.ts +1 -1
  74. package/Questions/types.js +0 -0
  75. package/hooks/useFieldFocusManager.js +83 -0
  76. package/hooks/utils.js +60 -0
  77. package/index.d.ts +5 -5
  78. package/index.js +8 -13
  79. package/inputs/AutoCompleteInput/index.d.ts +2 -2
  80. package/inputs/AutoCompleteInput/index.js +38 -60
  81. package/inputs/Checkboxes/index.d.ts +2 -2
  82. package/inputs/Checkboxes/index.js +43 -76
  83. package/inputs/DateInput/index.d.ts +1 -1
  84. package/inputs/DateInput/index.js +123 -147
  85. package/inputs/DateTimeInput/index.d.ts +1 -1
  86. package/inputs/DateTimeInput/index.js +177 -207
  87. package/inputs/FileInput/index.d.ts +1 -1
  88. package/inputs/FileInput/index.js +54 -70
  89. package/inputs/ImageInput/index.d.ts +1 -1
  90. package/inputs/ImageInput/index.js +74 -74
  91. package/inputs/Input/index.d.ts +1 -1
  92. package/inputs/Input/index.js +60 -73
  93. package/inputs/Label/index.d.ts +1 -1
  94. package/inputs/Label/index.js +13 -16
  95. package/inputs/OtpInput/index.js +116 -145
  96. package/inputs/Radio/index.d.ts +2 -2
  97. package/inputs/Radio/index.js +70 -103
  98. package/inputs/Select/index.d.ts +2 -2
  99. package/inputs/Select/index.js +23 -32
  100. package/inputs/index.d.ts +9 -9
  101. package/inputs/index.js +10 -21
  102. package/inputs/registry.d.ts +1 -1
  103. package/inputs/registry.js +80 -0
  104. package/internal.d.ts +5 -5
  105. package/internal.js +6 -0
  106. package/lazy.d.ts +97 -0
  107. package/lazy.js +163 -0
  108. package/package.json +8 -8
  109. package/registry.d.ts +82 -0
  110. package/registry.js +170 -0
  111. package/src/Field/ErrorGroup.tsx +1 -1
  112. package/src/FormBuilder/doc.mdx +1 -1
  113. package/src/inputs/AutoCompleteInput/doc.mdx +2 -2
  114. package/src/inputs/Checkboxes/doc.mdx +3 -3
  115. package/src/inputs/DateInput/doc.mdx +1 -1
  116. package/src/inputs/DateTimeInput/doc.mdx +1 -1
  117. package/src/inputs/FileInput/doc.mdx +1 -1
  118. package/src/inputs/ImageInput/doc.mdx +3 -3
  119. package/src/inputs/Input/doc.mdx +10 -10
  120. package/src/inputs/Label/doc.mdx +1 -1
  121. package/src/inputs/OtpInput/doc.mdx +1 -1
  122. package/src/inputs/Radio/doc.mdx +3 -3
  123. package/src/inputs/Select/doc.mdx +1 -1
  124. package/{lazy/index.js → src/lazy.ts} +0 -25
  125. package/types.d.ts +4 -4
  126. package/types.js +1 -0
  127. package/utils.js +56 -0
  128. package/validators/index.d.ts +2 -2
  129. package/validators/index.js +112 -159
  130. package/validators/types.js +0 -0
  131. package/validators/utils/afm.js +19 -0
  132. package/validators/utils/amka.js +27 -0
  133. package/validators/utils/date.d.ts +2 -2
  134. package/validators/utils/date.js +95 -0
  135. package/validators/utils/datetime.d.ts +2 -2
  136. package/validators/utils/datetime.js +121 -0
  137. package/validators/utils/email.js +10 -0
  138. package/validators/utils/file.d.ts +2 -2
  139. package/validators/utils/file.js +31 -0
  140. package/validators/utils/iban.d.ts +2 -2
  141. package/validators/utils/iban.js +104 -0
  142. package/validators/utils/image.d.ts +2 -2
  143. package/validators/utils/image.js +65 -0
  144. package/validators/utils/index.d.ts +14 -14
  145. package/validators/utils/index.js +58 -96
  146. package/validators/utils/int.d.ts +1 -1
  147. package/validators/utils/int.js +13 -0
  148. package/validators/utils/number.d.ts +1 -1
  149. package/validators/utils/number.js +12 -0
  150. package/validators/utils/otp.d.ts +2 -2
  151. package/validators/utils/otp.js +21 -0
  152. package/validators/utils/phone.d.ts +2 -2
  153. package/validators/utils/phone.js +198 -0
  154. package/validators/utils/postal_code.d.ts +2 -2
  155. package/validators/utils/postal_code.js +18 -0
  156. package/validators/utils/text_limit.d.ts +2 -2
  157. package/validators/utils/text_limit.js +34 -0
  158. package/validators/utils/uuid4.js +14 -0
  159. package/Field/ErrorGroup/index.js +0 -48
  160. package/Field/ErrorGroup/package.json +0 -6
  161. package/Field/ErrorGroup.js.map +0 -7
  162. package/Field/FieldBase/index.js +0 -122
  163. package/Field/FieldBase/package.json +0 -6
  164. package/Field/FieldBase.js.map +0 -7
  165. package/Field/FieldBaseContainer/index.js +0 -52
  166. package/Field/FieldBaseContainer/package.json +0 -6
  167. package/Field/FieldBaseContainer.js.map +0 -7
  168. package/Field/FieldConditional/index.js +0 -89
  169. package/Field/FieldConditional/package.json +0 -6
  170. package/Field/FieldConditional.js.map +0 -7
  171. package/Field/index.js.map +0 -7
  172. package/Field/package.json +0 -6
  173. package/Field/types/index.js +0 -1
  174. package/Field/types/package.json +0 -6
  175. package/Field/types.js.map +0 -7
  176. package/Field/utils/evaluateFieldWithConditions/index.js +0 -26
  177. package/Field/utils/evaluateFieldWithConditions/package.json +0 -6
  178. package/Field/utils/evaluateFieldWithConditions.js.map +0 -7
  179. package/Field/utils/resolveField/index.js +0 -35
  180. package/Field/utils/resolveField/package.json +0 -6
  181. package/Field/utils/resolveField.js.map +0 -7
  182. package/Field/utils/useField/index.js +0 -66
  183. package/Field/utils/useField/package.json +0 -6
  184. package/Field/utils/useField.js.map +0 -7
  185. package/FieldArray/BaseFieldArray/index.js +0 -76
  186. package/FieldArray/BaseFieldArray/package.json +0 -6
  187. package/FieldArray/BaseFieldArray.js.map +0 -7
  188. package/FieldArray/FieldArray.stories.d.ts +0 -11
  189. package/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay/index.js +0 -23
  190. package/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay/package.json +0 -6
  191. package/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay.js.map +0 -7
  192. package/FieldArray/FormDialog/ArrayDisplay/ArrayDisplay.stories.d.ts +0 -13
  193. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay/index.js +0 -184
  194. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay/package.json +0 -6
  195. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.js.map +0 -7
  196. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader/index.js +0 -11
  197. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader/package.json +0 -6
  198. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.js.map +0 -7
  199. package/FieldArray/FormDialog/ArrayDisplay/__stories__/Cards.d.ts +0 -2
  200. package/FieldArray/FormDialog/ArrayDisplay/__stories__/Default.d.ts +0 -2
  201. package/FieldArray/FormDialog/ArrayDisplay/__stories__/ReadOnly.d.ts +0 -2
  202. package/FieldArray/FormDialog/ArrayDisplay/__stories__/ReadOnlyCards.d.ts +0 -2
  203. package/FieldArray/FormDialog/ArrayDisplay/__stories__/Sortable.d.ts +0 -2
  204. package/FieldArray/FormDialog/ArrayDisplay/__stories__/SortableCards.d.ts +0 -2
  205. package/FieldArray/FormDialog/ArrayDisplay/index.js.map +0 -7
  206. package/FieldArray/FormDialog/ArrayDisplay/package.json +0 -6
  207. package/FieldArray/FormDialog/ArrayEditModal/index.js +0 -158
  208. package/FieldArray/FormDialog/ArrayEditModal/package.json +0 -6
  209. package/FieldArray/FormDialog/ArrayEditModal.js.map +0 -7
  210. package/FieldArray/FormDialog/index.js.map +0 -7
  211. package/FieldArray/FormDialog/package.json +0 -6
  212. package/FieldArray/__stories__/CardsWithError.d.ts +0 -15
  213. package/FieldArray/__stories__/Default.d.ts +0 -2
  214. package/FieldArray/__stories__/WithExactLength.d.ts +0 -2
  215. package/FieldArray/__stories__/WithModal.d.ts +0 -2
  216. package/FieldArray/index.js.map +0 -7
  217. package/FieldArray/package.json +0 -6
  218. package/FieldObject/index.js.map +0 -7
  219. package/FieldObject/package.json +0 -6
  220. package/Fieldset/FieldsetWithContext/index.js +0 -31
  221. package/Fieldset/FieldsetWithContext/package.json +0 -6
  222. package/Fieldset/FieldsetWithContext.js.map +0 -7
  223. package/Fieldset/index.js.map +0 -7
  224. package/Fieldset/package.json +0 -6
  225. package/Fieldset/types/index.js +0 -1
  226. package/Fieldset/types/package.json +0 -6
  227. package/Fieldset/types.js.map +0 -7
  228. package/Form.stories.d.ts +0 -4
  229. package/FormBuilder/FormBuilder.stories.d.ts +0 -12
  230. package/FormBuilder/__stories__/AutoErrorGrouping.d.ts +0 -3
  231. package/FormBuilder/__stories__/Default.d.ts +0 -3
  232. package/FormBuilder/__stories__/ErrorGrouping.d.ts +0 -3
  233. package/FormBuilder/index.js.map +0 -7
  234. package/FormBuilder/package.json +0 -6
  235. package/FormContext/index.js +0 -13
  236. package/FormContext/package.json +0 -6
  237. package/FormContext.js.map +0 -7
  238. package/MultiplicityField/MultiplicityField.stories.d.ts +0 -15
  239. package/MultiplicityField/__stories__/Default.d.ts +0 -2
  240. package/MultiplicityField/__stories__/PreviewDisplay.d.ts +0 -2
  241. package/MultiplicityField/__stories__/WithExactLength.d.ts +0 -2
  242. package/MultiplicityField/__stories__/WithMaxLength.d.ts +0 -2
  243. package/MultiplicityField/__stories__/WithMinAndMaxLength.d.ts +0 -2
  244. package/MultiplicityField/__stories__/WithMinLength.d.ts +0 -2
  245. package/MultiplicityField/add-objects/index.js +0 -146
  246. package/MultiplicityField/add-objects/package.json +0 -6
  247. package/MultiplicityField/add-objects.js.map +0 -7
  248. package/MultiplicityField/index.js.map +0 -7
  249. package/MultiplicityField/package.json +0 -6
  250. package/MultiplicityField/types/index.js +0 -1
  251. package/MultiplicityField/types/package.json +0 -6
  252. package/MultiplicityField/types.js.map +0 -7
  253. package/Questions/Questions/index.js +0 -67
  254. package/Questions/Questions/package.json +0 -6
  255. package/Questions/Questions.js.map +0 -7
  256. package/Questions/Questions.stories.d.ts +0 -10
  257. package/Questions/QuestionsContext/index.js +0 -11
  258. package/Questions/QuestionsContext/package.json +0 -6
  259. package/Questions/QuestionsContext.js.map +0 -7
  260. package/Questions/Step/ReviewStep/index.js +0 -38
  261. package/Questions/Step/ReviewStep/package.json +0 -6
  262. package/Questions/Step/ReviewStep.js.map +0 -7
  263. package/Questions/Step/Step/index.js +0 -54
  264. package/Questions/Step/Step/package.json +0 -6
  265. package/Questions/Step/Step.js.map +0 -7
  266. package/Questions/Step/StepArrayReview/index.js +0 -42
  267. package/Questions/Step/StepArrayReview/package.json +0 -6
  268. package/Questions/Step/StepArrayReview.js.map +0 -7
  269. package/Questions/Step/StepContext/index.js +0 -23
  270. package/Questions/Step/StepContext/package.json +0 -6
  271. package/Questions/Step/StepContext.js.map +0 -7
  272. package/Questions/Step/StepDescription/index.js +0 -24
  273. package/Questions/Step/StepDescription/package.json +0 -6
  274. package/Questions/Step/StepDescription.js.map +0 -7
  275. package/Questions/Step/StepForm/index.js +0 -34
  276. package/Questions/Step/StepForm/package.json +0 -6
  277. package/Questions/Step/StepForm.js.map +0 -7
  278. package/Questions/Step/StepQuote/index.js +0 -11
  279. package/Questions/Step/StepQuote/package.json +0 -6
  280. package/Questions/Step/StepQuote.js.map +0 -7
  281. package/Questions/Step/StepTitle/index.js +0 -44
  282. package/Questions/Step/StepTitle/package.json +0 -6
  283. package/Questions/Step/StepTitle.js.map +0 -7
  284. package/Questions/Step/getAddMoreFields/index.js +0 -29
  285. package/Questions/Step/getAddMoreFields/package.json +0 -6
  286. package/Questions/Step/getAddMoreFields.js.map +0 -7
  287. package/Questions/Step/index.js.map +0 -7
  288. package/Questions/Step/package.json +0 -6
  289. package/Questions/Step/types/index.js +0 -1
  290. package/Questions/Step/types/package.json +0 -6
  291. package/Questions/Step/types.js.map +0 -7
  292. package/Questions/__stories__/Default.d.ts +0 -3
  293. package/Questions/getNextStep/index.js +0 -22
  294. package/Questions/getNextStep/package.json +0 -6
  295. package/Questions/getNextStep.js.map +0 -7
  296. package/Questions/index.js.map +0 -7
  297. package/Questions/package.json +0 -6
  298. package/Questions/types/index.js +0 -1
  299. package/Questions/types/package.json +0 -6
  300. package/Questions/types.js.map +0 -7
  301. package/cjs/Field/ErrorGroup/index.js +0 -82
  302. package/cjs/Field/ErrorGroup.js.map +0 -7
  303. package/cjs/Field/FieldBase/index.js +0 -155
  304. package/cjs/Field/FieldBase.js.map +0 -7
  305. package/cjs/Field/FieldBaseContainer/index.js +0 -85
  306. package/cjs/Field/FieldBaseContainer.js.map +0 -7
  307. package/cjs/Field/FieldConditional/index.js +0 -122
  308. package/cjs/Field/FieldConditional.js.map +0 -7
  309. package/cjs/Field/index.js +0 -143
  310. package/cjs/Field/index.js.map +0 -7
  311. package/cjs/Field/types/index.js +0 -16
  312. package/cjs/Field/types.js.map +0 -7
  313. package/cjs/Field/utils/evaluateFieldWithConditions/index.js +0 -49
  314. package/cjs/Field/utils/evaluateFieldWithConditions.js.map +0 -7
  315. package/cjs/Field/utils/resolveField/index.js +0 -55
  316. package/cjs/Field/utils/resolveField.js.map +0 -7
  317. package/cjs/Field/utils/useField/index.js +0 -89
  318. package/cjs/Field/utils/useField.js.map +0 -7
  319. package/cjs/FieldArray/BaseFieldArray/index.js +0 -109
  320. package/cjs/FieldArray/BaseFieldArray.js.map +0 -7
  321. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay/index.js +0 -56
  322. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay.js.map +0 -7
  323. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay/index.js +0 -209
  324. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.js.map +0 -7
  325. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader/index.js +0 -44
  326. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.js.map +0 -7
  327. package/cjs/FieldArray/FormDialog/ArrayDisplay/index.js +0 -90
  328. package/cjs/FieldArray/FormDialog/ArrayDisplay/index.js.map +0 -7
  329. package/cjs/FieldArray/FormDialog/ArrayEditModal/index.js +0 -186
  330. package/cjs/FieldArray/FormDialog/ArrayEditModal.js.map +0 -7
  331. package/cjs/FieldArray/FormDialog/index.js +0 -261
  332. package/cjs/FieldArray/FormDialog/index.js.map +0 -7
  333. package/cjs/FieldArray/index.js +0 -126
  334. package/cjs/FieldArray/index.js.map +0 -7
  335. package/cjs/FieldObject/index.js +0 -113
  336. package/cjs/FieldObject/index.js.map +0 -7
  337. package/cjs/Fieldset/FieldsetWithContext/index.js +0 -59
  338. package/cjs/Fieldset/FieldsetWithContext.js.map +0 -7
  339. package/cjs/Fieldset/index.js +0 -66
  340. package/cjs/Fieldset/index.js.map +0 -7
  341. package/cjs/Fieldset/types/index.js +0 -16
  342. package/cjs/Fieldset/types.js.map +0 -7
  343. package/cjs/FormBuilder/index.js +0 -303
  344. package/cjs/FormBuilder/index.js.map +0 -7
  345. package/cjs/FormContext/index.js +0 -37
  346. package/cjs/FormContext.js.map +0 -7
  347. package/cjs/MultiplicityField/add-objects/index.js +0 -179
  348. package/cjs/MultiplicityField/add-objects.js.map +0 -7
  349. package/cjs/MultiplicityField/index.js +0 -153
  350. package/cjs/MultiplicityField/index.js.map +0 -7
  351. package/cjs/MultiplicityField/types/index.js +0 -16
  352. package/cjs/MultiplicityField/types.js.map +0 -7
  353. package/cjs/Questions/Questions/index.js +0 -100
  354. package/cjs/Questions/Questions.js.map +0 -7
  355. package/cjs/Questions/QuestionsContext/index.js +0 -34
  356. package/cjs/Questions/QuestionsContext.js.map +0 -7
  357. package/cjs/Questions/Step/ReviewStep/index.js +0 -65
  358. package/cjs/Questions/Step/ReviewStep.js.map +0 -7
  359. package/cjs/Questions/Step/Step/index.js +0 -87
  360. package/cjs/Questions/Step/Step.js.map +0 -7
  361. package/cjs/Questions/Step/StepArrayReview/index.js +0 -67
  362. package/cjs/Questions/Step/StepArrayReview.js.map +0 -7
  363. package/cjs/Questions/Step/StepContext/index.js +0 -46
  364. package/cjs/Questions/Step/StepContext.js.map +0 -7
  365. package/cjs/Questions/Step/StepDescription/index.js +0 -58
  366. package/cjs/Questions/Step/StepDescription.js.map +0 -7
  367. package/cjs/Questions/Step/StepForm/index.js +0 -67
  368. package/cjs/Questions/Step/StepForm.js.map +0 -7
  369. package/cjs/Questions/Step/StepQuote/index.js +0 -44
  370. package/cjs/Questions/Step/StepQuote.js.map +0 -7
  371. package/cjs/Questions/Step/StepTitle/index.js +0 -76
  372. package/cjs/Questions/Step/StepTitle.js.map +0 -7
  373. package/cjs/Questions/Step/getAddMoreFields/index.js +0 -52
  374. package/cjs/Questions/Step/getAddMoreFields.js.map +0 -7
  375. package/cjs/Questions/Step/index.js +0 -59
  376. package/cjs/Questions/Step/index.js.map +0 -7
  377. package/cjs/Questions/Step/types/index.js +0 -16
  378. package/cjs/Questions/Step/types.js.map +0 -7
  379. package/cjs/Questions/getNextStep/index.js +0 -45
  380. package/cjs/Questions/getNextStep.js.map +0 -7
  381. package/cjs/Questions/index.js +0 -31
  382. package/cjs/Questions/index.js.map +0 -7
  383. package/cjs/Questions/types/index.js +0 -16
  384. package/cjs/Questions/types.js.map +0 -7
  385. package/cjs/hooks/useFieldFocusManager/index.js +0 -135
  386. package/cjs/hooks/useFieldFocusManager.js.map +0 -7
  387. package/cjs/hooks/utils/index.js +0 -98
  388. package/cjs/hooks/utils.js.map +0 -7
  389. package/cjs/index.js +0 -49
  390. package/cjs/index.js.map +0 -7
  391. package/cjs/inputs/AutoCompleteInput/index.js +0 -98
  392. package/cjs/inputs/AutoCompleteInput/index.js.map +0 -7
  393. package/cjs/inputs/Checkboxes/index.js +0 -112
  394. package/cjs/inputs/Checkboxes/index.js.map +0 -7
  395. package/cjs/inputs/DateInput/index.js +0 -188
  396. package/cjs/inputs/DateInput/index.js.map +0 -7
  397. package/cjs/inputs/DateTimeInput/index.js +0 -250
  398. package/cjs/inputs/DateTimeInput/index.js.map +0 -7
  399. package/cjs/inputs/FileInput/index.js +0 -110
  400. package/cjs/inputs/FileInput/index.js.map +0 -7
  401. package/cjs/inputs/ImageInput/__stories__/logo.d/index.js +0 -1
  402. package/cjs/inputs/ImageInput/__stories__/logo.d.js.map +0 -7
  403. package/cjs/inputs/ImageInput/index.js +0 -130
  404. package/cjs/inputs/ImageInput/index.js.map +0 -7
  405. package/cjs/inputs/Input/index.js +0 -115
  406. package/cjs/inputs/Input/index.js.map +0 -7
  407. package/cjs/inputs/Label/index.js +0 -50
  408. package/cjs/inputs/Label/index.js.map +0 -7
  409. package/cjs/inputs/OtpInput/index.js +0 -186
  410. package/cjs/inputs/OtpInput/index.js.map +0 -7
  411. package/cjs/inputs/Radio/index.js +0 -136
  412. package/cjs/inputs/Radio/index.js.map +0 -7
  413. package/cjs/inputs/Select/index.js +0 -63
  414. package/cjs/inputs/Select/index.js.map +0 -7
  415. package/cjs/inputs/index.js +0 -62
  416. package/cjs/inputs/index.js.map +0 -7
  417. package/cjs/inputs/registry/index.js +0 -121
  418. package/cjs/inputs/registry.js.map +0 -7
  419. package/cjs/internal/index.js +0 -38
  420. package/cjs/internal.js.map +0 -7
  421. package/cjs/lazy/index.js +0 -114
  422. package/cjs/lazy.js.map +0 -7
  423. package/cjs/registry/index.js +0 -209
  424. package/cjs/registry.js.map +0 -7
  425. package/cjs/types/index.js +0 -22
  426. package/cjs/types.js.map +0 -7
  427. package/cjs/utils/index.js +0 -106
  428. package/cjs/utils.js.map +0 -7
  429. package/cjs/validators/index.js +0 -179
  430. package/cjs/validators/index.js.map +0 -7
  431. package/cjs/validators/types/index.js +0 -16
  432. package/cjs/validators/types.js.map +0 -7
  433. package/cjs/validators/utils/afm/index.js +0 -55
  434. package/cjs/validators/utils/afm.js.map +0 -7
  435. package/cjs/validators/utils/amka/index.js +0 -60
  436. package/cjs/validators/utils/amka.js.map +0 -7
  437. package/cjs/validators/utils/date/index.js +0 -161
  438. package/cjs/validators/utils/date.js.map +0 -7
  439. package/cjs/validators/utils/datetime/index.js +0 -245
  440. package/cjs/validators/utils/datetime.js.map +0 -7
  441. package/cjs/validators/utils/email/index.js +0 -39
  442. package/cjs/validators/utils/email.js.map +0 -7
  443. package/cjs/validators/utils/file/index.js +0 -61
  444. package/cjs/validators/utils/file.js.map +0 -7
  445. package/cjs/validators/utils/iban/index.js +0 -142
  446. package/cjs/validators/utils/iban.js.map +0 -7
  447. package/cjs/validators/utils/image/index.js +0 -102
  448. package/cjs/validators/utils/image.js.map +0 -7
  449. package/cjs/validators/utils/index.js +0 -152
  450. package/cjs/validators/utils/index.js.map +0 -7
  451. package/cjs/validators/utils/int/index.js +0 -48
  452. package/cjs/validators/utils/int.js.map +0 -7
  453. package/cjs/validators/utils/number/index.js +0 -44
  454. package/cjs/validators/utils/number.js.map +0 -7
  455. package/cjs/validators/utils/otp/index.js +0 -54
  456. package/cjs/validators/utils/otp.js.map +0 -7
  457. package/cjs/validators/utils/phone/index.js +0 -198
  458. package/cjs/validators/utils/phone.js.map +0 -7
  459. package/cjs/validators/utils/postal_code/index.js +0 -54
  460. package/cjs/validators/utils/postal_code.js.map +0 -7
  461. package/cjs/validators/utils/text_limit/index.js +0 -69
  462. package/cjs/validators/utils/text_limit.js.map +0 -7
  463. package/cjs/validators/utils/uuid4/index.js +0 -46
  464. package/cjs/validators/utils/uuid4.js.map +0 -7
  465. package/hooks/__tests__/utils.spec.d.ts +0 -1
  466. package/hooks/useFieldFocusManager/index.js +0 -116
  467. package/hooks/useFieldFocusManager/package.json +0 -6
  468. package/hooks/useFieldFocusManager.js.map +0 -7
  469. package/hooks/utils/index.js +0 -73
  470. package/hooks/utils/package.json +0 -6
  471. package/hooks/utils.js.map +0 -7
  472. package/index.js.map +0 -7
  473. package/inputs/AutoCompleteInput/AutoComplete.stories.d.ts +0 -11
  474. package/inputs/AutoCompleteInput/__stories__/Default.d.ts +0 -3
  475. package/inputs/AutoCompleteInput/__stories__/Multiple.d.ts +0 -3
  476. package/inputs/AutoCompleteInput/index.js.map +0 -7
  477. package/inputs/AutoCompleteInput/package.json +0 -6
  478. package/inputs/Checkboxes/Checkboxes.stories.d.ts +0 -12
  479. package/inputs/Checkboxes/__stories__/Conditional.d.ts +0 -3
  480. package/inputs/Checkboxes/__stories__/Default.d.ts +0 -3
  481. package/inputs/Checkboxes/__stories__/WithDivider.d.ts +0 -3
  482. package/inputs/Checkboxes/index.js.map +0 -7
  483. package/inputs/Checkboxes/package.json +0 -6
  484. package/inputs/DateInput/DateInput.stories.d.ts +0 -14
  485. package/inputs/DateInput/__stories__/Default.d.ts +0 -3
  486. package/inputs/DateInput/__stories__/WithDefaultValue.d.ts +0 -3
  487. package/inputs/DateInput/__stories__/WithInitialValue.d.ts +0 -3
  488. package/inputs/DateInput/__stories__/WithWrongDefaultValue.d.ts +0 -3
  489. package/inputs/DateInput/__stories__/WithWrongInitialValue.d.ts +0 -3
  490. package/inputs/DateInput/index.js.map +0 -7
  491. package/inputs/DateInput/package.json +0 -6
  492. package/inputs/DateTimeInput/DateTimeInput.stories.d.ts +0 -14
  493. package/inputs/DateTimeInput/__stories__/Default.d.ts +0 -3
  494. package/inputs/DateTimeInput/__stories__/WithDefaultValue.d.ts +0 -3
  495. package/inputs/DateTimeInput/__stories__/WithInitialValue.d.ts +0 -3
  496. package/inputs/DateTimeInput/__stories__/WithWrongDefaultValue.d.ts +0 -3
  497. package/inputs/DateTimeInput/__stories__/WithWrongInitialValue.d.ts +0 -3
  498. package/inputs/DateTimeInput/index.js.map +0 -7
  499. package/inputs/DateTimeInput/package.json +0 -6
  500. package/inputs/FileInput/FileInput.stories.d.ts +0 -11
  501. package/inputs/FileInput/__stories__/Default.d.ts +0 -3
  502. package/inputs/FileInput/__stories__/WithBorderAndLink.d.ts +0 -3
  503. package/inputs/FileInput/index.js.map +0 -7
  504. package/inputs/FileInput/package.json +0 -6
  505. package/inputs/ImageInput/ImageInput.stories.d.ts +0 -13
  506. package/inputs/ImageInput/__stories__/Default.d.ts +0 -3
  507. package/inputs/ImageInput/__stories__/MaxSize.d.ts +0 -3
  508. package/inputs/ImageInput/__stories__/WithInitialValues.d.ts +0 -3
  509. package/inputs/ImageInput/__stories__/WithInvalidImageDimension.d.ts +0 -3
  510. package/inputs/ImageInput/__stories__/logo.d/index.js +0 -1
  511. package/inputs/ImageInput/__stories__/logo.d/package.json +0 -6
  512. package/inputs/ImageInput/__stories__/logo.d.js.map +0 -7
  513. package/inputs/ImageInput/index.js.map +0 -7
  514. package/inputs/ImageInput/package.json +0 -6
  515. package/inputs/Input/Input.stories.d.ts +0 -23
  516. package/inputs/Input/__stories__/AFM.d.ts +0 -3
  517. package/inputs/Input/__stories__/AMKA.d.ts +0 -3
  518. package/inputs/Input/__stories__/Boolean.d.ts +0 -3
  519. package/inputs/Input/__stories__/Email.d.ts +0 -3
  520. package/inputs/Input/__stories__/IBAN.d.ts +0 -3
  521. package/inputs/Input/__stories__/Integer.d.ts +0 -3
  522. package/inputs/Input/__stories__/LandlineNumber.d.ts +0 -3
  523. package/inputs/Input/__stories__/MobilePhone.d.ts +0 -3
  524. package/inputs/Input/__stories__/PhoneNumber.d.ts +0 -3
  525. package/inputs/Input/__stories__/PostalCode.d.ts +0 -3
  526. package/inputs/Input/__stories__/Rate.d.ts +0 -3
  527. package/inputs/Input/__stories__/String.d.ts +0 -3
  528. package/inputs/Input/__stories__/StringWithTrimValidation.d.ts +0 -3
  529. package/inputs/Input/__stories__/TextWithLimit.d.ts +0 -3
  530. package/inputs/Input/index.js.map +0 -7
  531. package/inputs/Input/package.json +0 -6
  532. package/inputs/Label/Label.stories.d.ts +0 -10
  533. package/inputs/Label/__stories__/Default.d.ts +0 -3
  534. package/inputs/Label/index.js.map +0 -7
  535. package/inputs/Label/package.json +0 -6
  536. package/inputs/OtpInput/OtpInput.stories.d.ts +0 -10
  537. package/inputs/OtpInput/__stories__/Default.d.ts +0 -3
  538. package/inputs/OtpInput/index.js.map +0 -7
  539. package/inputs/OtpInput/package.json +0 -6
  540. package/inputs/Radio/Radio.stories.d.ts +0 -12
  541. package/inputs/Radio/__stories__/Conditional.d.ts +0 -3
  542. package/inputs/Radio/__stories__/Default.d.ts +0 -3
  543. package/inputs/Radio/__stories__/WithDivider.d.ts +0 -3
  544. package/inputs/Radio/index.js.map +0 -7
  545. package/inputs/Radio/package.json +0 -6
  546. package/inputs/Select/Select.stories.d.ts +0 -10
  547. package/inputs/Select/__stories__/Default.d.ts +0 -3
  548. package/inputs/Select/index.js.map +0 -7
  549. package/inputs/Select/package.json +0 -6
  550. package/inputs/index.js.map +0 -7
  551. package/inputs/package.json +0 -6
  552. package/inputs/registry/index.js +0 -86
  553. package/inputs/registry/package.json +0 -6
  554. package/inputs/registry.js.map +0 -7
  555. package/internal/index.js +0 -10
  556. package/internal/package.json +0 -6
  557. package/internal.js.map +0 -7
  558. package/lazy/package.json +0 -6
  559. package/registry/index.js +0 -179
  560. package/registry/package.json +0 -6
  561. package/src/lazy.js +0 -81
  562. package/types/index.js +0 -2
  563. package/types/package.json +0 -6
  564. package/types.js.map +0 -7
  565. package/utils/index.js +0 -82
  566. package/utils/package.json +0 -6
  567. package/utils.js.map +0 -7
  568. package/validators/index.js.map +0 -7
  569. package/validators/package.json +0 -6
  570. package/validators/types/index.js +0 -1
  571. package/validators/types/package.json +0 -6
  572. package/validators/types.js.map +0 -7
  573. package/validators/utils/afm/index.js +0 -31
  574. package/validators/utils/afm/package.json +0 -6
  575. package/validators/utils/afm.js.map +0 -7
  576. package/validators/utils/amka/index.js +0 -36
  577. package/validators/utils/amka/package.json +0 -6
  578. package/validators/utils/amka.js.map +0 -7
  579. package/validators/utils/date/index.js +0 -126
  580. package/validators/utils/date/package.json +0 -6
  581. package/validators/utils/date.js.map +0 -7
  582. package/validators/utils/datetime/index.js +0 -210
  583. package/validators/utils/datetime/package.json +0 -6
  584. package/validators/utils/datetime.js.map +0 -7
  585. package/validators/utils/email/index.js +0 -16
  586. package/validators/utils/email/package.json +0 -6
  587. package/validators/utils/email.js.map +0 -7
  588. package/validators/utils/file/index.js +0 -38
  589. package/validators/utils/file/package.json +0 -6
  590. package/validators/utils/file.js.map +0 -7
  591. package/validators/utils/iban/index.js +0 -118
  592. package/validators/utils/iban/package.json +0 -6
  593. package/validators/utils/iban.js.map +0 -7
  594. package/validators/utils/image/index.js +0 -79
  595. package/validators/utils/image/package.json +0 -6
  596. package/validators/utils/image.js.map +0 -7
  597. package/validators/utils/index.js.map +0 -7
  598. package/validators/utils/int/index.js +0 -24
  599. package/validators/utils/int/package.json +0 -6
  600. package/validators/utils/int.js.map +0 -7
  601. package/validators/utils/number/index.js +0 -20
  602. package/validators/utils/number/package.json +0 -6
  603. package/validators/utils/number.js.map +0 -7
  604. package/validators/utils/otp/index.js +0 -30
  605. package/validators/utils/otp/package.json +0 -6
  606. package/validators/utils/otp.js.map +0 -7
  607. package/validators/utils/package.json +0 -6
  608. package/validators/utils/phone/index.js +0 -172
  609. package/validators/utils/phone/package.json +0 -6
  610. package/validators/utils/phone.js.map +0 -7
  611. package/validators/utils/postal_code/index.js +0 -30
  612. package/validators/utils/postal_code/package.json +0 -6
  613. package/validators/utils/postal_code.js.map +0 -7
  614. package/validators/utils/text_limit/index.js +0 -45
  615. package/validators/utils/text_limit/package.json +0 -6
  616. package/validators/utils/text_limit.js.map +0 -7
  617. package/validators/utils/uuid4/index.js +0 -22
  618. package/validators/utils/uuid4/package.json +0 -6
  619. package/validators/utils/uuid4.js.map +0 -7
  620. package/validators/validators.spec.d.ts +0 -1
  621. package/src/{registry.js → registry.ts} +6 -6
@@ -0,0 +1,198 @@
1
+ const countryPhoneData = {
2
+ GR: [
3
+ '30',
4
+ '00',
5
+ '5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}',
6
+ [
7
+ 10,
8
+ 11,
9
+ 12
10
+ ],
11
+ [
12
+ [
13
+ '(\\d{2})(\\d{4})(\\d{4})',
14
+ '$1 $2 $3',
15
+ [
16
+ '21|7'
17
+ ]
18
+ ],
19
+ [
20
+ '(\\d{4})(\\d{6})',
21
+ '$1 $2',
22
+ [
23
+ '2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5'
24
+ ]
25
+ ],
26
+ [
27
+ '(\\d{3})(\\d{3})(\\d{4})',
28
+ '$1 $2 $3',
29
+ [
30
+ '[2689]'
31
+ ]
32
+ ],
33
+ [
34
+ '(\\d{3})(\\d{3,4})(\\d{5})',
35
+ '$1 $2 $3',
36
+ [
37
+ '8'
38
+ ]
39
+ ]
40
+ ],
41
+ 0,
42
+ 0,
43
+ 0,
44
+ 0,
45
+ 0,
46
+ 0,
47
+ [
48
+ [
49
+ '2(?:1\\d\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-57]))\\d{6}',
50
+ [
51
+ 10
52
+ ]
53
+ ],
54
+ [
55
+ '68[57-9]\\d{7}|(?:69|94)\\d{8}',
56
+ [
57
+ 10
58
+ ]
59
+ ],
60
+ [
61
+ '800\\d{7,9}'
62
+ ],
63
+ [
64
+ '90[19]\\d{7}',
65
+ [
66
+ 10
67
+ ]
68
+ ],
69
+ [
70
+ '70\\d{8}',
71
+ [
72
+ 10
73
+ ]
74
+ ],
75
+ 0,
76
+ [
77
+ '5005000\\d{3}',
78
+ [
79
+ 10
80
+ ]
81
+ ],
82
+ 0,
83
+ 0,
84
+ [
85
+ '8(?:0[16]|12|[27]5|50)\\d{7}',
86
+ [
87
+ 10
88
+ ]
89
+ ]
90
+ ]
91
+ ]
92
+ };
93
+ function expandPhoneNumberStructure(compressed) {
94
+ const countries = Object.keys(compressed);
95
+ const expanded = {};
96
+ for (const country of countries)expanded[country] = {
97
+ fixedLine: {
98
+ possibleLengths: {
99
+ _national: compressed[country][3].map(String)
100
+ },
101
+ nationalNumberPattern: compressed[country][11][0][0]
102
+ },
103
+ mobile: {
104
+ nationalNumberPattern: compressed[country][11][1][0]
105
+ },
106
+ tollFree: {
107
+ nationalNumberPattern: compressed[country][11][2][0]
108
+ },
109
+ premiumRate: {
110
+ nationalNumberPattern: compressed[country][11][3][0]
111
+ },
112
+ sharedCost: {
113
+ nationalNumberPattern: compressed[country][11][9][0]
114
+ },
115
+ personalNumber: {
116
+ nationalNumberPattern: compressed[country][11][4][0]
117
+ },
118
+ uan: {
119
+ nationalNumberPattern: compressed[country][11][6][0]
120
+ },
121
+ id: country,
122
+ countryCode: compressed[country][0],
123
+ internationalPrefix: compressed[country][1]
124
+ };
125
+ return expanded;
126
+ }
127
+ const PHONENUMBER_SPEC = expandPhoneNumberStructure(countryPhoneData);
128
+ function discoverPhoneType(phoneNumber, config) {
129
+ const cleanNumber = phoneNumber.replace(/\D/g, '').replace(/\s/g, '').replace(/^\+/, '').replace(new RegExp('^' + config.internationalPrefix, ''), '').replace(new RegExp('^' + config.countryCode, ''), '');
130
+ const categories = {
131
+ landline: config.fixedLine,
132
+ mobile: config.mobile,
133
+ 'toll-free': config.tollFree,
134
+ 'premium-rate': config.premiumRate
135
+ };
136
+ for (const [categoryName, categoryDetails] of Object.entries(categories)){
137
+ const pattern = new RegExp('^(' + categoryDetails.nationalNumberPattern.replace(/\s/g, '') + ')$', '');
138
+ if (cleanNumber.match(pattern)) return categoryName;
139
+ }
140
+ return 'unknown';
141
+ }
142
+ function getNumberType(phoneNumber, country) {
143
+ const spec = PHONENUMBER_SPEC[country.toUpperCase()];
144
+ if (!spec) throw new Error(`Country ${country} is not supported`);
145
+ const type = discoverPhoneType(phoneNumber, spec);
146
+ return type;
147
+ }
148
+ function isPhoneNumberValid(phoneNumber, countries, types = [
149
+ 'mobile',
150
+ 'landline'
151
+ ]) {
152
+ return countries.some((country)=>{
153
+ const numberType = getNumberType(phoneNumber, country);
154
+ if (numberType && types.includes(numberType)) return true;
155
+ return false;
156
+ });
157
+ }
158
+ function isNumberOfType(phoneNumber, country, type) {
159
+ const numberType = getNumberType(phoneNumber, country);
160
+ if (numberType === type) return true;
161
+ return false;
162
+ }
163
+ function validatePhoneNumber(phoneNumber, countries = [
164
+ 'gr'
165
+ ], typeOfPhoneNumber) {
166
+ if (!countries || 0 === countries.length) return true;
167
+ return isPhoneNumberValid(phoneNumber, countries, typeOfPhoneNumber ? [
168
+ typeOfPhoneNumber
169
+ ] : void 0);
170
+ }
171
+ function validateMobile(value) {
172
+ return isNumberOfType(value, 'gr', 'mobile');
173
+ }
174
+ const MOBILE_PHONE_VALIDATOR = {
175
+ name: 'mobile-phone-validator',
176
+ message: 'form.error.mobile_phone',
177
+ test: (value)=>{
178
+ if (value) return validateMobile(value);
179
+ return true;
180
+ }
181
+ };
182
+ const PHONE_NUMBER_VALIDATOR = (field)=>{
183
+ const countryCodes = field?.extra?.countries;
184
+ const typeOfPhone = field?.extra?.phoneType;
185
+ return {
186
+ name: 'phone-number-validator',
187
+ message: ()=>{
188
+ if ('mobile' === typeOfPhone) return 'form.error.mobile_phone';
189
+ if ('landline' === typeOfPhone) return 'form.error.landline';
190
+ return 'form.error.phone_number';
191
+ },
192
+ test: (value)=>{
193
+ if (!value) return true;
194
+ return validatePhoneNumber(value, countryCodes, typeOfPhone);
195
+ }
196
+ };
197
+ };
198
+ export { MOBILE_PHONE_VALIDATOR, PHONE_NUMBER_VALIDATOR, discoverPhoneType, validatePhoneNumber };
@@ -1,4 +1,4 @@
1
- import type { FieldSpec } from '@digigov/form/types';
2
- import type { ValidatorSchema } from '@digigov/form/validators/types';
1
+ import type { FieldSpec } from '../../types.js';
2
+ import type { ValidatorSchema } from '../types.js';
3
3
  export declare function validatePostalCode(number: string, countries: string[]): boolean;
4
4
  export declare const POSTALCODE_VALIDATOR: (field: FieldSpec) => ValidatorSchema;
@@ -0,0 +1,18 @@
1
+ const CODE_REGEX = /^[12345678][0-9]{4}$/;
2
+ function validatePostalCode(number, countries) {
3
+ if (!countries) return false;
4
+ if (1 === countries.length && 'GR' === countries[0].toUpperCase()) return CODE_REGEX.test(number);
5
+ return true;
6
+ }
7
+ const POSTALCODE_VALIDATOR = (field)=>{
8
+ const countryCode = field?.extra?.countries;
9
+ return {
10
+ name: 'postal-code-validator',
11
+ message: 'form.error.postalCode',
12
+ test: (value)=>{
13
+ if (!value) return true;
14
+ return validatePostalCode(value, countryCode);
15
+ }
16
+ };
17
+ };
18
+ export { POSTALCODE_VALIDATOR, validatePostalCode };
@@ -1,4 +1,4 @@
1
- import type { FieldSpec } from '@digigov/form/types';
2
- import type { ValidatorSchema } from '@digigov/form/validators/types';
1
+ import type { FieldSpec } from '../../types.js';
2
+ import type { ValidatorSchema } from '../types.js';
3
3
  export declare function validateText(value: string, min: number, max: number): boolean;
4
4
  export declare const TEXT_LIMIT_VALIDATOR: (field: FieldSpec) => ValidatorSchema;
@@ -0,0 +1,34 @@
1
+ function validateText(value, min, max) {
2
+ let validator;
3
+ if (min || max) if (value.length < min || value.length > max) return false;
4
+ else return true;
5
+ return validator;
6
+ }
7
+ const TEXT_LIMIT_VALIDATOR = (field)=>{
8
+ const min = field?.extra?.limit?.min;
9
+ const max = field?.extra?.limit?.max;
10
+ return {
11
+ name: 'text-limit-validator',
12
+ message: (v)=>{
13
+ if (min || max) {
14
+ if (v.value.length < min) return {
15
+ key: 'form.error.text.less_than',
16
+ context: {
17
+ min: field?.extra?.limit?.min
18
+ }
19
+ };
20
+ if (v.value.length > max) return {
21
+ key: 'form.error.text.more_than',
22
+ context: {
23
+ max: field?.extra?.limit?.max
24
+ }
25
+ };
26
+ }
27
+ },
28
+ test: (value)=>{
29
+ if (!value) return true;
30
+ return validateText(value, min, max);
31
+ }
32
+ };
33
+ };
34
+ export { TEXT_LIMIT_VALIDATOR, validateText };
@@ -0,0 +1,14 @@
1
+ const UUID4_PATTERN = /^[0-9A-F]{8}-[0-9A-F]{4}-[4][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i;
2
+ function validateUUID4(uuid4) {
3
+ if (36 !== uuid4.length) return false;
4
+ return UUID4_PATTERN.test(uuid4);
5
+ }
6
+ const UUID4_VALIDATOR = {
7
+ name: 'uuid4-validator',
8
+ message: 'form.error.uuid4',
9
+ test: (value)=>{
10
+ if (value) return validateUUID4(value);
11
+ return true;
12
+ }
13
+ };
14
+ export { UUID4_VALIDATOR, validateUUID4 };
@@ -1,48 +0,0 @@
1
- import React, { createContext, useEffect, useState } from "react";
2
- import { List, ListItem } from "@digigov/ui/content/List";
3
- import { ErrorSummary } from "@digigov/ui/feedback/ErrorSummary";
4
- import { useTranslation } from "@digigov/ui/i18n";
5
- import { Link } from "@digigov/ui/navigation/Link";
6
- import { Heading } from "@digigov/ui/typography/Heading";
7
- import { Base } from "@digigov/ui/utils/Base";
8
- const ErrorGroupContext = createContext(
9
- null
10
- );
11
- const ErrorGroup = ({
12
- children,
13
- screenSize,
14
- fieldOrder
15
- }) => {
16
- const [errors, setErrors] = useState({});
17
- const { t } = useTranslation();
18
- const setError = (name, label, error) => {
19
- if (errors[name] !== error && errors[name]?.message !== error?.message) {
20
- if (!error?.message) {
21
- const updatedErrors = { ...errors };
22
- delete updatedErrors[name];
23
- setErrors(updatedErrors);
24
- } else {
25
- setErrors({
26
- ...errors,
27
- [name]: {
28
- ...error,
29
- label: label.primary
30
- }
31
- });
32
- }
33
- }
34
- };
35
- useEffect(() => {
36
- setErrors({});
37
- }, [screenSize]);
38
- return /* @__PURE__ */ React.createElement(ErrorGroupContext.Provider, { value: { setError } }, Object.keys(errors).length !== 0 && /* @__PURE__ */ React.createElement(ErrorSummary, { variant: "error-group" }, /* @__PURE__ */ React.createElement(Heading, { size: "sm" }, "\u03A4\u03B1 \u03C0\u03B1\u03C1\u03B1\u03BA\u03AC\u03C4\u03C9 \u03C0\u03B5\u03B4\u03AF\u03B1 \u03C4\u03B7\u03C2 \u03C6\u03CC\u03C1\u03BC\u03B1\u03C2 \u03B5\u03B9\u03BD\u03B1\u03B9 \u03BB\u03AC\u03B8\u03BF\u03C2.", " "), /* @__PURE__ */ React.createElement(List, { listStyle: "bullet" }, (fieldOrder || Object.keys(errors).reverse()).filter((fieldName) => errors[fieldName]).map((fieldName, index) => {
39
- return /* @__PURE__ */ React.createElement(ListItem, { key: index, id: `${fieldName}-error` }, /* @__PURE__ */ React.createElement(Base, { as: "b" }, t(errors[fieldName]?.label), ":"), " ", /* @__PURE__ */ React.createElement(Link, { href: `#${fieldName}` }, t(errors[fieldName]?.message)));
40
- }))), children);
41
- };
42
- var ErrorGroup_default = ErrorGroup;
43
- export {
44
- ErrorGroup,
45
- ErrorGroupContext,
46
- ErrorGroup_default as default
47
- };
48
- //# sourceMappingURL=ErrorGroup.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/Field/ErrorGroup/index.js"
6
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Field/ErrorGroup.tsx"],
4
- "sourcesContent": ["import React, { createContext, useEffect, useState } from 'react';\nimport type { ErrorOption } from 'react-hook-form';\nimport type { FieldLabelProps } from '@digigov/form/Field/types';\nimport { List, ListItem } from '@digigov/ui/content/List';\nimport { ErrorSummary } from '@digigov/ui/feedback/ErrorSummary';\nimport { useTranslation } from '@digigov/ui/i18n';\nimport { Link } from '@digigov/ui/navigation/Link';\nimport { Heading } from '@digigov/ui/typography/Heading';\nimport { Base } from '@digigov/ui/utils/Base';\nimport type { Breakpoints } from '@digigov/ui/utils/hooks/useScreen';\ninterface ErrorGroupContextType {\n setError: (\n name?: string,\n label?: FieldLabelProps,\n error?: ErrorOption\n ) => void;\n}\nexport const ErrorGroupContext = createContext<ErrorGroupContextType | null>(\n null\n);\n\nexport interface ErrorGroupProps {\n children: React.ReactNode;\n screenSize?: Breakpoints | undefined;\n fieldOrder?: any[];\n}\n\nexport const ErrorGroup: React.FC<ErrorGroupProps> = ({\n children,\n screenSize,\n fieldOrder,\n}) => {\n const [errors, setErrors] = useState<ErrorOption>({});\n const { t } = useTranslation();\n const setError = (name, label, error) => {\n if (errors[name] !== error && errors[name]?.message !== error?.message) {\n if (!error?.message) {\n const updatedErrors = { ...errors };\n delete updatedErrors[name];\n setErrors(updatedErrors);\n } else {\n setErrors({\n ...errors,\n [name]: {\n ...error,\n label: label.primary,\n },\n });\n }\n }\n };\n\n useEffect(() => {\n setErrors({});\n }, [screenSize]);\n return (\n <ErrorGroupContext.Provider value={{ setError }}>\n {Object.keys(errors).length !== 0 && (\n <ErrorSummary variant=\"error-group\">\n <Heading size=\"sm\">\n \u03A4\u03B1 \u03C0\u03B1\u03C1\u03B1\u03BA\u03AC\u03C4\u03C9 \u03C0\u03B5\u03B4\u03AF\u03B1 \u03C4\u03B7\u03C2 \u03C6\u03CC\u03C1\u03BC\u03B1\u03C2 \u03B5\u03B9\u03BD\u03B1\u03B9 \u03BB\u03AC\u03B8\u03BF\u03C2.{' '}\n </Heading>\n <List listStyle=\"bullet\">\n {(fieldOrder || Object.keys(errors).reverse())\n .filter((fieldName) => errors[fieldName])\n .map((fieldName, index) => {\n return (\n <ListItem key={index} id={`${fieldName}-error`}>\n <Base as=\"b\">{t(errors[fieldName]?.label)}:</Base>{' '}\n <Link href={`#${fieldName}`}>\n {t(errors[fieldName]?.message)}\n </Link>\n </ListItem>\n );\n })}\n </List>\n </ErrorSummary>\n )}\n {children}\n </ErrorGroupContext.Provider>\n );\n};\n\nexport default ErrorGroup;\n"],
5
- "mappings": "AAAA,OAAO,SAAS,eAAe,WAAW,gBAAgB;AAG1D,SAAS,MAAM,gBAAgB;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,YAAY;AACrB,SAAS,eAAe;AACxB,SAAS,YAAY;AASd,MAAM,oBAAoB;AAAA,EAC/B;AACF;AAQO,MAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAsB,CAAC,CAAC;AACpD,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,WAAW,CAAC,MAAM,OAAO,UAAU;AACvC,QAAI,OAAO,IAAI,MAAM,SAAS,OAAO,IAAI,GAAG,YAAY,OAAO,SAAS;AACtE,UAAI,CAAC,OAAO,SAAS;AACnB,cAAM,gBAAgB,EAAE,GAAG,OAAO;AAClC,eAAO,cAAc,IAAI;AACzB,kBAAU,aAAa;AAAA,MACzB,OAAO;AACL,kBAAU;AAAA,UACR,GAAG;AAAA,UACH,CAAC,IAAI,GAAG;AAAA,YACN,GAAG;AAAA,YACH,OAAO,MAAM;AAAA,UACf;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEA,YAAU,MAAM;AACd,cAAU,CAAC,CAAC;AAAA,EACd,GAAG,CAAC,UAAU,CAAC;AACf,SACE,oCAAC,kBAAkB,UAAlB,EAA2B,OAAO,EAAE,SAAS,KAC3C,OAAO,KAAK,MAAM,EAAE,WAAW,KAC9B,oCAAC,gBAAa,SAAQ,iBACpB,oCAAC,WAAQ,MAAK,QAAK,uNACyB,GAC5C,GACA,oCAAC,QAAK,WAAU,aACZ,cAAc,OAAO,KAAK,MAAM,EAAE,QAAQ,GACzC,OAAO,CAAC,cAAc,OAAO,SAAS,CAAC,EACvC,IAAI,CAAC,WAAW,UAAU;AACzB,WACE,oCAAC,YAAS,KAAK,OAAO,IAAI,GAAG,SAAS,YACpC,oCAAC,QAAK,IAAG,OAAK,EAAE,OAAO,SAAS,GAAG,KAAK,GAAE,GAAC,GAAQ,KACnD,oCAAC,QAAK,MAAM,IAAI,SAAS,MACtB,EAAE,OAAO,SAAS,GAAG,OAAO,CAC/B,CACF;AAAA,EAEJ,CAAC,CACL,CACF,GAED,QACH;AAEJ;AAEA,IAAO,qBAAQ;",
6
- "names": []
7
- }
@@ -1,122 +0,0 @@
1
- import React, { useContext, useEffect } from "react";
2
- import { Controller } from "react-hook-form";
3
- import { ErrorGroupContext } from "@digigov/form/Field/ErrorGroup";
4
- import FieldBaseContainer from "@digigov/form/Field/FieldBaseContainer";
5
- const FieldBase = ({
6
- required,
7
- name,
8
- component: Component,
9
- wrapper,
10
- control,
11
- type,
12
- controlled = false,
13
- enabled = true,
14
- editable,
15
- defaultValue,
16
- label,
17
- extra = {},
18
- layout,
19
- error,
20
- trim,
21
- register,
22
- ...componentProps
23
- }) => {
24
- const errorGroupContext = useContext(ErrorGroupContext);
25
- useEffect(() => {
26
- if (errorGroupContext) {
27
- errorGroupContext.setError(name, label, error);
28
- }
29
- }, [error, name, errorGroupContext?.setError]);
30
- if (!enabled) {
31
- return null;
32
- }
33
- if (controlled) {
34
- return /* @__PURE__ */ React.createElement(
35
- FieldBaseContainer,
36
- {
37
- label,
38
- layout,
39
- register,
40
- error: errorGroupContext ? void 0 : error,
41
- hasError: !!error,
42
- wrapper,
43
- name,
44
- controlled
45
- },
46
- /* @__PURE__ */ React.createElement(
47
- Controller,
48
- {
49
- control,
50
- name,
51
- render: ({ field }) => {
52
- return /* @__PURE__ */ React.createElement(
53
- Component,
54
- {
55
- ...field,
56
- control,
57
- defaultValue: defaultValue ?? field.value,
58
- extra,
59
- error: !!error,
60
- type,
61
- "aria-required": !!required,
62
- "aria-describedby": error && `${name}-error`,
63
- required,
64
- disabled: editable === false,
65
- trim,
66
- ...componentProps
67
- }
68
- );
69
- }
70
- }
71
- )
72
- );
73
- }
74
- return /* @__PURE__ */ React.createElement(
75
- FieldBaseContainer,
76
- {
77
- label,
78
- layout,
79
- register,
80
- error: errorGroupContext ? void 0 : error,
81
- hasError: !!error,
82
- wrapper,
83
- name
84
- },
85
- Component?.render ? /* @__PURE__ */ React.createElement(
86
- Component,
87
- {
88
- ...register(name),
89
- control,
90
- error: !!error,
91
- extra,
92
- type,
93
- "aria-required": !!required,
94
- "aria-describedby": error && `${name}-error`,
95
- required,
96
- disabled: editable === false,
97
- defaultValue,
98
- ...componentProps
99
- }
100
- ) : /* @__PURE__ */ React.createElement(
101
- Component,
102
- {
103
- ...register(name),
104
- register,
105
- control,
106
- error: !!error,
107
- extra,
108
- type,
109
- defaultValue,
110
- "aria-required": !!required,
111
- "aria-describedby": error && `${name}-error`,
112
- required,
113
- disabled: editable === false,
114
- ...componentProps
115
- }
116
- )
117
- );
118
- };
119
- export {
120
- FieldBase
121
- };
122
- //# sourceMappingURL=FieldBase.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/Field/FieldBase/index.js"
6
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Field/FieldBase.tsx"],
4
- "sourcesContent": ["import React, { useContext, useEffect } from 'react';\nimport { Controller } from 'react-hook-form';\nimport { ErrorGroupContext } from '@digigov/form/Field/ErrorGroup';\nimport FieldBaseContainer from '@digigov/form/Field/FieldBaseContainer';\nimport type { FieldBaseProps } from '@digigov/form/Field/types';\n\nexport const FieldBase: React.FC<FieldBaseProps> = ({\n required,\n name,\n component: Component,\n wrapper,\n control,\n type,\n controlled = false,\n enabled = true,\n editable,\n defaultValue,\n label,\n extra = {},\n layout,\n error,\n trim,\n register,\n ...componentProps\n}) => {\n const errorGroupContext = useContext(ErrorGroupContext);\n\n useEffect(() => {\n if (errorGroupContext) {\n errorGroupContext.setError(name, label, error);\n }\n }, [error, name, errorGroupContext?.setError]);\n\n if (!enabled) {\n return null;\n }\n\n if (controlled) {\n return (\n <FieldBaseContainer\n label={label}\n layout={layout}\n register={register}\n error={errorGroupContext ? undefined : error}\n hasError={!!error}\n wrapper={wrapper}\n name={name}\n controlled={controlled}\n >\n <Controller\n control={control}\n name={name}\n render={({ field }) => {\n return (\n <Component\n {...field}\n control={control}\n defaultValue={defaultValue ?? field.value}\n extra={extra}\n error={!!error}\n type={type}\n aria-required={!!required}\n aria-describedby={error && `${name}-error`}\n required={required}\n disabled={editable === false}\n trim={trim}\n {...componentProps}\n />\n );\n }}\n />\n </FieldBaseContainer>\n );\n }\n\n return (\n <FieldBaseContainer\n label={label}\n layout={layout}\n register={register}\n error={errorGroupContext ? undefined : error}\n hasError={!!error}\n wrapper={wrapper}\n name={name}\n >\n {Component?.render ? (\n <Component\n {...register(name)}\n control={control}\n error={!!error}\n extra={extra}\n type={type}\n aria-required={!!required}\n aria-describedby={error && `${name}-error`}\n required={required}\n disabled={editable === false}\n defaultValue={defaultValue}\n {...componentProps}\n />\n ) : (\n <Component\n {...register(name)}\n register={register}\n control={control}\n error={!!error}\n extra={extra}\n type={type}\n defaultValue={defaultValue}\n aria-required={!!required}\n aria-describedby={error && `${name}-error`}\n required={required}\n disabled={editable === false}\n {...componentProps}\n />\n )}\n </FieldBaseContainer>\n );\n};\n"],
5
- "mappings": "AAAA,OAAO,SAAS,YAAY,iBAAiB;AAC7C,SAAS,kBAAkB;AAC3B,SAAS,yBAAyB;AAClC,OAAO,wBAAwB;AAGxB,MAAM,YAAsC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,oBAAoB,WAAW,iBAAiB;AAEtD,YAAU,MAAM;AACd,QAAI,mBAAmB;AACrB,wBAAkB,SAAS,MAAM,OAAO,KAAK;AAAA,IAC/C;AAAA,EACF,GAAG,CAAC,OAAO,MAAM,mBAAmB,QAAQ,CAAC;AAE7C,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AAEA,MAAI,YAAY;AACd,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,oBAAoB,SAAY;AAAA,QACvC,UAAU,CAAC,CAAC;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,QAAQ,CAAC,EAAE,MAAM,MAAM;AACrB,mBACE;AAAA,cAAC;AAAA;AAAA,gBACE,GAAG;AAAA,gBACJ;AAAA,gBACA,cAAc,gBAAgB,MAAM;AAAA,gBACpC;AAAA,gBACA,OAAO,CAAC,CAAC;AAAA,gBACT;AAAA,gBACA,iBAAe,CAAC,CAAC;AAAA,gBACjB,oBAAkB,SAAS,GAAG,IAAI;AAAA,gBAClC;AAAA,gBACA,UAAU,aAAa;AAAA,gBACvB;AAAA,gBACC,GAAG;AAAA;AAAA,YACN;AAAA,UAEJ;AAAA;AAAA,MACF;AAAA,IACF;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,oBAAoB,SAAY;AAAA,MACvC,UAAU,CAAC,CAAC;AAAA,MACZ;AAAA,MACA;AAAA;AAAA,IAEC,WAAW,SACV;AAAA,MAAC;AAAA;AAAA,QACE,GAAG,SAAS,IAAI;AAAA,QACjB;AAAA,QACA,OAAO,CAAC,CAAC;AAAA,QACT;AAAA,QACA;AAAA,QACA,iBAAe,CAAC,CAAC;AAAA,QACjB,oBAAkB,SAAS,GAAG,IAAI;AAAA,QAClC;AAAA,QACA,UAAU,aAAa;AAAA,QACvB;AAAA,QACC,GAAG;AAAA;AAAA,IACN,IAEA;AAAA,MAAC;AAAA;AAAA,QACE,GAAG,SAAS,IAAI;AAAA,QACjB;AAAA,QACA;AAAA,QACA,OAAO,CAAC,CAAC;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA,iBAAe,CAAC,CAAC;AAAA,QACjB,oBAAkB,SAAS,GAAG,IAAI;AAAA,QAClC;AAAA,QACA,UAAU,aAAa;AAAA,QACtB,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AAEJ;",
6
- "names": []
7
- }
@@ -1,52 +0,0 @@
1
- import React from "react";
2
- import Label from "@digigov/form/inputs/Label";
3
- import { ErrorMessage } from "@digigov/react-core/ErrorMessage";
4
- import FieldContainer from "@digigov/react-core/FieldContainer";
5
- import Fieldset from "@digigov/react-core/Fieldset";
6
- import FieldsetLegend from "@digigov/react-core/FieldsetLegend";
7
- import LabelContainer from "@digigov/react-core/LabelContainer";
8
- import { useTranslation } from "@digigov/ui/i18n";
9
- import { Hint } from "@digigov/ui/typography/Hint";
10
- const FieldBaseContainer = React.forwardRef(
11
- ({
12
- name,
13
- wrapper,
14
- label,
15
- children,
16
- error,
17
- hasError,
18
- layout,
19
- controlled,
20
- labelSize = "sm"
21
- }, ref) => {
22
- const { t } = useTranslation();
23
- const errorMessage = error?.message.key ? error.message.key : error?.message || "";
24
- const errorContext = error?.message.context || {};
25
- if (wrapper === "fieldset") {
26
- return /* @__PURE__ */ React.createElement(FieldContainer, { error: hasError, ...layout }, /* @__PURE__ */ React.createElement(
27
- Fieldset,
28
- {
29
- ref,
30
- className: "outline-none",
31
- ...controlled && {
32
- tabIndex: -1
33
- }
34
- },
35
- /* @__PURE__ */ React.createElement(FieldsetLegend, { size: labelSize }, label && label.primary),
36
- label && label.secondary && /* @__PURE__ */ React.createElement(Hint, null, t(label.secondary)),
37
- error && /* @__PURE__ */ React.createElement(ErrorMessage, { id: `${name}-error` }, t(errorMessage, errorContext)),
38
- children,
39
- label && label.hint && /* @__PURE__ */ React.createElement(Hint, { size: "sm" }, label.hint)
40
- ));
41
- } else {
42
- return /* @__PURE__ */ React.createElement(FieldContainer, { error: hasError, ...layout }, /* @__PURE__ */ React.createElement(LabelContainer, null, label && /* @__PURE__ */ React.createElement(Label, { label }), error && /* @__PURE__ */ React.createElement(ErrorMessage, { id: `${name}-error` }, t(errorMessage, errorContext)), children, label && label.hint && /* @__PURE__ */ React.createElement(Hint, { size: "sm" }, label.hint)));
43
- }
44
- }
45
- );
46
- FieldBaseContainer.displayName = "FieldBaseContainer";
47
- var FieldBaseContainer_default = FieldBaseContainer;
48
- export {
49
- FieldBaseContainer,
50
- FieldBaseContainer_default as default
51
- };
52
- //# sourceMappingURL=FieldBaseContainer.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/Field/FieldBaseContainer/index.js"
6
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Field/FieldBaseContainer.tsx"],
4
- "sourcesContent": ["import type { ComponentRef } from 'react';\nimport React from 'react';\nimport type { FieldContainerProps } from '@digigov/form/Field/types';\nimport Label from '@digigov/form/inputs/Label';\nimport { ErrorMessage } from '@digigov/react-core/ErrorMessage';\nimport FieldContainer from '@digigov/react-core/FieldContainer';\nimport Fieldset from '@digigov/react-core/Fieldset';\nimport FieldsetLegend from '@digigov/react-core/FieldsetLegend';\nimport LabelContainer from '@digigov/react-core/LabelContainer';\nimport { useTranslation } from '@digigov/ui/i18n';\nimport { Hint } from '@digigov/ui/typography/Hint';\n\nexport const FieldBaseContainer = React.forwardRef<\n ComponentRef<typeof Fieldset>,\n FieldContainerProps\n>(\n (\n {\n name,\n wrapper,\n label,\n children,\n error,\n hasError,\n layout,\n controlled,\n labelSize = 'sm',\n },\n ref\n ) => {\n const { t } = useTranslation();\n const errorMessage = error?.message.key\n ? error.message.key\n : error?.message || '';\n const errorContext = error?.message.context || {};\n if (wrapper === 'fieldset') {\n return (\n <FieldContainer error={hasError} {...layout}>\n <Fieldset\n ref={ref}\n className=\"outline-none\"\n {...(controlled && {\n tabIndex: -1,\n })}\n >\n <FieldsetLegend size={labelSize}>\n {label && label.primary}\n </FieldsetLegend>\n {label && label.secondary && <Hint>{t(label.secondary)}</Hint>}\n {error && (\n <ErrorMessage id={`${name}-error`}>\n {t(errorMessage, errorContext)}\n </ErrorMessage>\n )}\n {children}\n {label && label.hint && <Hint size=\"sm\">{label.hint}</Hint>}\n </Fieldset>\n </FieldContainer>\n );\n } else {\n return (\n <FieldContainer error={hasError} {...layout}>\n <LabelContainer>\n {label && <Label label={label} />}\n {error && (\n <ErrorMessage id={`${name}-error`}>\n {t(errorMessage, errorContext)}\n </ErrorMessage>\n )}\n {children}\n {label && label.hint && <Hint size=\"sm\">{label.hint}</Hint>}\n </LabelContainer>\n </FieldContainer>\n );\n }\n }\n);\n\nFieldBaseContainer.displayName = 'FieldBaseContainer';\n\nexport default FieldBaseContainer;\n"],
5
- "mappings": "AACA,OAAO,WAAW;AAElB,OAAO,WAAW;AAClB,SAAS,oBAAoB;AAC7B,OAAO,oBAAoB;AAC3B,OAAO,cAAc;AACrB,OAAO,oBAAoB;AAC3B,OAAO,oBAAoB;AAC3B,SAAS,sBAAsB;AAC/B,SAAS,YAAY;AAEd,MAAM,qBAAqB,MAAM;AAAA,EAItC,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,EACd,GACA,QACG;AACH,UAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,UAAM,eAAe,OAAO,QAAQ,MAChC,MAAM,QAAQ,MACd,OAAO,WAAW;AACtB,UAAM,eAAe,OAAO,QAAQ,WAAW,CAAC;AAChD,QAAI,YAAY,YAAY;AAC1B,aACE,oCAAC,kBAAe,OAAO,UAAW,GAAG,UACnC;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,WAAU;AAAA,UACT,GAAI,cAAc;AAAA,YACjB,UAAU;AAAA,UACZ;AAAA;AAAA,QAEA,oCAAC,kBAAe,MAAM,aACnB,SAAS,MAAM,OAClB;AAAA,QACC,SAAS,MAAM,aAAa,oCAAC,YAAM,EAAE,MAAM,SAAS,CAAE;AAAA,QACtD,SACC,oCAAC,gBAAa,IAAI,GAAG,IAAI,YACtB,EAAE,cAAc,YAAY,CAC/B;AAAA,QAED;AAAA,QACA,SAAS,MAAM,QAAQ,oCAAC,QAAK,MAAK,QAAM,MAAM,IAAK;AAAA,MACtD,CACF;AAAA,IAEJ,OAAO;AACL,aACE,oCAAC,kBAAe,OAAO,UAAW,GAAG,UACnC,oCAAC,sBACE,SAAS,oCAAC,SAAM,OAAc,GAC9B,SACC,oCAAC,gBAAa,IAAI,GAAG,IAAI,YACtB,EAAE,cAAc,YAAY,CAC/B,GAED,UACA,SAAS,MAAM,QAAQ,oCAAC,QAAK,MAAK,QAAM,MAAM,IAAK,CACtD,CACF;AAAA,IAEJ;AAAA,EACF;AACF;AAEA,mBAAmB,cAAc;AAEjC,IAAO,6BAAQ;",
6
- "names": []
7
- }
@@ -1,89 +0,0 @@
1
- import React from "react";
2
- import { useWatch } from "react-hook-form";
3
- import { FieldBase } from "@digigov/form/Field/FieldBase";
4
- import { evaluateFieldWithConditions } from "@digigov/form/Field/utils/evaluateFieldWithConditions";
5
- const ChildFieldMemo = React.memo(
6
- function ChildField({
7
- dependencies,
8
- field,
9
- control,
10
- reset,
11
- resetField,
12
- register,
13
- error,
14
- Field
15
- }) {
16
- const newField = evaluateFieldWithConditions(
17
- field,
18
- dependencies
19
- );
20
- return /* @__PURE__ */ React.createElement(
21
- FieldBase,
22
- {
23
- ...newField,
24
- Field,
25
- name: newField.key,
26
- reset,
27
- resetField,
28
- control,
29
- register,
30
- error
31
- }
32
- );
33
- },
34
- (prev, next) => {
35
- if (!prev || !prev.dependencies) {
36
- return false;
37
- }
38
- if (prev.error !== next.error) {
39
- return false;
40
- }
41
- for (const dep in next.dependencies) {
42
- if (next.dependencies[dep] !== prev.dependencies[dep]) {
43
- return false;
44
- }
45
- }
46
- return true;
47
- }
48
- );
49
- const FieldConditional = ({
50
- control,
51
- field,
52
- register,
53
- reset,
54
- resetField,
55
- error,
56
- Field
57
- }) => {
58
- const dependencyKeys = Object.keys(field.condition);
59
- const dependencyValues = useWatch({
60
- name: dependencyKeys,
61
- control
62
- });
63
- const variables = dependencyKeys.reduce(
64
- (data, fieldKey, index) => ({
65
- ...data,
66
- [fieldKey]: dependencyValues[index]
67
- }),
68
- {}
69
- );
70
- return /* @__PURE__ */ React.createElement(
71
- ChildFieldMemo,
72
- {
73
- dependencies: variables,
74
- field,
75
- control,
76
- register,
77
- reset,
78
- resetField,
79
- error,
80
- Field
81
- }
82
- );
83
- };
84
- var FieldConditional_default = FieldConditional;
85
- export {
86
- FieldConditional,
87
- FieldConditional_default as default
88
- };
89
- //# sourceMappingURL=FieldConditional.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "types": "./index.d.ts",
5
- "main": "../../cjs/Field/FieldConditional/index.js"
6
- }