@digigov/form 2.0.0-b4cd6916 → 2.0.0-d0adc9fb

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 (525) hide show
  1. package/Field/FieldBaseContainer/index.js +3 -3
  2. package/Field/FieldBaseContainer.js.map +2 -2
  3. package/Field/FieldConditional.js.map +1 -1
  4. package/Field/index.js +5 -0
  5. package/Field/index.js.map +2 -2
  6. package/Field/types.d.ts +9 -8
  7. package/Field/utils/index.js +6 -0
  8. package/Field/utils/index.js.map +2 -2
  9. package/Field/utils/useField/index.js +7 -1
  10. package/Field/utils/useField.js.map +2 -2
  11. package/FieldArray/FormDialog/index.js +280 -0
  12. package/{Questions/Questions.stories → FieldArray/FormDialog}/package.json +1 -1
  13. package/FieldArray/FormDialog.d.ts +53 -0
  14. package/FieldArray/FormDialog.js.map +7 -0
  15. package/FieldArray/index.d.ts +5 -0
  16. package/FieldArray/index.js +57 -24
  17. package/FieldArray/index.js.map +2 -2
  18. package/FieldObject/index.d.ts +2 -0
  19. package/FieldObject/index.js +10 -5
  20. package/FieldObject/index.js.map +2 -2
  21. package/Fieldset/index.d.ts +1 -1
  22. package/Fieldset/index.js +5 -5
  23. package/Fieldset/index.js.map +2 -2
  24. package/Fieldset/types.d.ts +2 -2
  25. package/FormBuilder/index.js +7 -4
  26. package/FormBuilder/index.js.map +2 -2
  27. package/FormContext.js.map +2 -2
  28. package/MultiplicityField/add-objects/index.js +8 -6
  29. package/MultiplicityField/add-objects.js.map +2 -2
  30. package/MultiplicityField/index.js +13 -11
  31. package/MultiplicityField/index.js.map +2 -2
  32. package/MultiplicityField/types.d.ts +1 -2
  33. package/Questions/Questions/index.js +5 -4
  34. package/Questions/Questions.js.map +2 -2
  35. package/Questions/Step/StepArrayReview.js.map +2 -2
  36. package/Questions/Step/StepTitle/index.js +4 -3
  37. package/Questions/Step/StepTitle.d.ts +1 -1
  38. package/Questions/Step/StepTitle.js.map +2 -2
  39. package/cjs/Field/FieldBaseContainer/index.js +3 -3
  40. package/cjs/Field/FieldBaseContainer.js.map +3 -3
  41. package/cjs/Field/FieldConditional.js.map +1 -1
  42. package/cjs/Field/index.js +5 -0
  43. package/cjs/Field/index.js.map +2 -2
  44. package/cjs/Field/types.js.map +1 -1
  45. package/cjs/Field/utils/index.js +6 -0
  46. package/cjs/Field/utils/index.js.map +3 -3
  47. package/cjs/Field/utils/useField/index.js +7 -1
  48. package/cjs/Field/utils/useField.js.map +2 -2
  49. package/cjs/FieldArray/FormDialog/index.js +302 -0
  50. package/cjs/FieldArray/FormDialog.js.map +7 -0
  51. package/cjs/FieldArray/index.js +56 -23
  52. package/cjs/FieldArray/index.js.map +3 -3
  53. package/cjs/FieldObject/index.js +11 -6
  54. package/cjs/FieldObject/index.js.map +3 -3
  55. package/cjs/Fieldset/index.js +10 -10
  56. package/cjs/Fieldset/index.js.map +3 -3
  57. package/cjs/Fieldset/types.js.map +1 -1
  58. package/cjs/FormBuilder/index.js +9 -6
  59. package/cjs/FormBuilder/index.js.map +3 -3
  60. package/cjs/FormContext/index.js +2 -2
  61. package/cjs/FormContext.js.map +3 -3
  62. package/cjs/MultiplicityField/add-objects/index.js +12 -10
  63. package/cjs/MultiplicityField/add-objects.js.map +3 -3
  64. package/cjs/MultiplicityField/index.js +11 -14
  65. package/cjs/MultiplicityField/index.js.map +3 -3
  66. package/cjs/MultiplicityField/types.js.map +1 -1
  67. package/cjs/Questions/Questions/index.js +5 -4
  68. package/cjs/Questions/Questions.js.map +2 -2
  69. package/cjs/Questions/Step/StepArrayReview.js.map +2 -2
  70. package/cjs/Questions/Step/StepTitle/index.js +5 -5
  71. package/cjs/Questions/Step/StepTitle.js.map +3 -3
  72. package/cjs/inputs/AutoCompleteInput/index.js +8 -7
  73. package/cjs/inputs/AutoCompleteInput/index.js.map +3 -3
  74. package/cjs/inputs/Checkboxes/index.js +7 -8
  75. package/cjs/inputs/Checkboxes/index.js.map +3 -3
  76. package/cjs/inputs/DateInput/index.js +7 -8
  77. package/cjs/inputs/DateInput/index.js.map +3 -3
  78. package/cjs/inputs/DateTimeInput/index.js +206 -0
  79. package/cjs/inputs/DateTimeInput/index.js.map +7 -0
  80. package/cjs/inputs/FileInput/index.js +9 -10
  81. package/cjs/inputs/FileInput/index.js.map +3 -3
  82. package/cjs/inputs/ImageInput/index.js +14 -10
  83. package/cjs/inputs/ImageInput/index.js.map +3 -3
  84. package/cjs/inputs/Input/index.js +11 -5
  85. package/cjs/inputs/Input/index.js.map +2 -2
  86. package/cjs/inputs/Input/inputsInputScenarios.js.map +2 -2
  87. package/cjs/inputs/Label/index.js +3 -3
  88. package/cjs/inputs/Label/index.js.map +3 -3
  89. package/cjs/inputs/OtpInput/index.js.map +2 -2
  90. package/cjs/inputs/Radio/index.js +12 -13
  91. package/cjs/inputs/Radio/index.js.map +3 -3
  92. package/cjs/inputs/Select/index.js +9 -5
  93. package/cjs/inputs/Select/index.js.map +3 -3
  94. package/cjs/inputs/inputsScenarios/index.js +4 -10
  95. package/cjs/inputs/inputsScenarios.js.map +2 -2
  96. package/cjs/lazy/index.js +46 -35
  97. package/cjs/lazy.js.map +3 -3
  98. package/cjs/locales/el.js.map +1 -1
  99. package/cjs/registry/index.js +70 -62
  100. package/cjs/registry.js.map +3 -3
  101. package/cjs/types.js.map +1 -1
  102. package/cjs/utils/index.js +2 -1
  103. package/cjs/utils.js.map +2 -2
  104. package/cjs/validators/index.js +33 -74
  105. package/cjs/validators/index.js.map +3 -3
  106. package/cjs/validators/utils/date/index.js +138 -0
  107. package/cjs/validators/utils/date.js.map +7 -0
  108. package/cjs/validators/utils/datetime/index.js +151 -0
  109. package/cjs/validators/utils/datetime.js.map +7 -0
  110. package/cjs/validators/utils/file/index.js +1 -1
  111. package/cjs/validators/utils/file.js.map +2 -2
  112. package/cjs/validators/utils/index.js +5 -1
  113. package/cjs/validators/utils/index.js.map +2 -2
  114. package/cjs/validators/utils/phone.js.map +2 -2
  115. package/cjs/validators/utils/postal_code.js.map +1 -1
  116. package/cjs/validators/utils/uuid4.js.map +2 -2
  117. package/index.js +1 -1
  118. package/inputs/AutoCompleteInput/index.d.ts +1 -1
  119. package/inputs/AutoCompleteInput/index.js +10 -7
  120. package/inputs/AutoCompleteInput/index.js.map +2 -2
  121. package/inputs/Checkboxes/index.d.ts +1 -1
  122. package/inputs/Checkboxes/index.js +8 -5
  123. package/inputs/Checkboxes/index.js.map +2 -2
  124. package/inputs/DateInput/index.d.ts +1 -2
  125. package/inputs/DateInput/index.js +9 -7
  126. package/inputs/DateInput/index.js.map +2 -2
  127. package/inputs/DateTimeInput/DateTimeInput.stories.d.ts +7 -0
  128. package/inputs/DateTimeInput/__stories__/Default.d.ts +3 -0
  129. package/inputs/DateTimeInput/index.d.ts +13 -0
  130. package/inputs/DateTimeInput/index.js +176 -0
  131. package/inputs/DateTimeInput/index.js.map +7 -0
  132. package/inputs/DateTimeInput/index.test.d.ts +1 -0
  133. package/{Form.stories → inputs/DateTimeInput}/package.json +1 -1
  134. package/inputs/FileInput/index.js +7 -8
  135. package/inputs/FileInput/index.js.map +2 -2
  136. package/inputs/ImageInput/index.js +13 -9
  137. package/inputs/ImageInput/index.js.map +2 -2
  138. package/inputs/Input/index.js +11 -5
  139. package/inputs/Input/index.js.map +2 -2
  140. package/inputs/Input/inputsInputScenarios.js.map +2 -2
  141. package/inputs/Label/index.d.ts +0 -2
  142. package/inputs/Label/index.js +2 -2
  143. package/inputs/Label/index.js.map +2 -2
  144. package/inputs/OtpInput/index.js.map +2 -2
  145. package/inputs/Radio/index.d.ts +1 -1
  146. package/inputs/Radio/index.js +8 -5
  147. package/inputs/Radio/index.js.map +2 -2
  148. package/inputs/Select/index.d.ts +1 -1
  149. package/inputs/Select/index.js +10 -3
  150. package/inputs/Select/index.js.map +2 -2
  151. package/inputs/inputsScenarios/index.js +4 -10
  152. package/inputs/inputsScenarios.js.map +2 -2
  153. package/lazy/index.js +74 -67
  154. package/locales/el.js.map +1 -1
  155. package/package.json +4 -4
  156. package/registry/index.js +114 -107
  157. package/src/Field/FieldBaseContainer.tsx +4 -2
  158. package/src/Field/FieldConditional.tsx +2 -2
  159. package/src/Field/index.tsx +5 -0
  160. package/src/Field/types.tsx +28 -26
  161. package/src/Field/utils/index.ts +6 -0
  162. package/src/Field/utils/useField.ts +7 -3
  163. package/src/FieldArray/FormDialog.tsx +379 -0
  164. package/src/FieldArray/__stories__/Default.tsx +1 -0
  165. package/src/FieldArray/__stories__/WithExactLength.tsx +77 -13
  166. package/src/FieldArray/index.tsx +88 -47
  167. package/src/FieldObject/index.tsx +12 -5
  168. package/src/Fieldset/index.tsx +5 -5
  169. package/src/Fieldset/types.tsx +2 -2
  170. package/src/FormBuilder/{FormBuilder.mdx → doc.mdx} +20 -33
  171. package/src/FormBuilder/index.tsx +7 -5
  172. package/src/FormBuilder/scenarios.test.tsx +2 -2
  173. package/src/FormContext.tsx +1 -2
  174. package/src/MultiplicityField/add-objects.tsx +9 -9
  175. package/src/MultiplicityField/{MultiplicityField.mdx → doc.mdx} +12 -16
  176. package/src/MultiplicityField/index.tsx +14 -13
  177. package/src/MultiplicityField/types.ts +1 -2
  178. package/src/Questions/Questions.tsx +4 -4
  179. package/src/Questions/Step/StepArrayReview.tsx +1 -1
  180. package/src/Questions/Step/StepTitle.tsx +4 -3
  181. package/src/Questions/__snapshots__/index.spec.tsx.snap +8 -4
  182. package/src/Questions/{index.mdx → doc.mdx} +9 -12
  183. package/src/Questions/index.spec.tsx +6 -2
  184. package/src/create-simple-form.mdx +2 -6
  185. package/src/{index.mdx → doc.mdx} +4 -8
  186. package/src/inputs/AutoCompleteInput/__stories__/Default.tsx +2 -10
  187. package/src/inputs/AutoCompleteInput/__stories__/Multiple.tsx +1 -7
  188. package/src/inputs/AutoCompleteInput/{index.mdx → doc.mdx} +2 -13
  189. package/src/inputs/AutoCompleteInput/index.tsx +32 -28
  190. package/src/inputs/Checkboxes/{index.mdx → doc.mdx} +5 -15
  191. package/src/inputs/Checkboxes/index.tsx +31 -28
  192. package/src/inputs/DateInput/__stories__/Default.tsx +7 -12
  193. package/src/inputs/DateInput/{index.mdx → doc.mdx} +1 -8
  194. package/src/inputs/DateInput/index.tsx +9 -7
  195. package/src/inputs/DateTimeInput/DateTimeInput.stories.js +8 -0
  196. package/src/inputs/DateTimeInput/__stories__/Default.tsx +25 -0
  197. package/src/inputs/DateTimeInput/doc.mdx +16 -0
  198. package/src/inputs/DateTimeInput/index.test.tsx +18 -0
  199. package/src/inputs/DateTimeInput/index.tsx +189 -0
  200. package/src/inputs/FileInput/{index.mdx → doc.mdx} +1 -5
  201. package/src/inputs/FileInput/index.tsx +8 -9
  202. package/src/inputs/ImageInput/ImageInput.stories.js +0 -1
  203. package/src/inputs/ImageInput/__stories__/MaxSize.tsx +2 -2
  204. package/src/inputs/ImageInput/__stories__/WithInvalidImageDimension.tsx +2 -0
  205. package/src/inputs/ImageInput/doc.mdx +23 -0
  206. package/src/inputs/ImageInput/index.tsx +16 -16
  207. package/src/inputs/Input/__stories__/LandlineNumber.tsx +2 -1
  208. package/src/inputs/Input/__stories__/MobilePhone.tsx +1 -0
  209. package/src/inputs/Input/__stories__/PhoneNumber.tsx +1 -0
  210. package/src/inputs/Input/__stories__/PostalCode.tsx +1 -0
  211. package/src/inputs/Input/doc.mdx +56 -0
  212. package/src/inputs/Input/index.tsx +25 -11
  213. package/src/inputs/Input/inputsInputScenarios.ts +244 -245
  214. package/src/inputs/Label/doc.mdx +14 -0
  215. package/src/inputs/Label/index.tsx +2 -6
  216. package/src/inputs/OtpInput/{index.mdx → doc.mdx} +1 -8
  217. package/src/inputs/OtpInput/index.tsx +2 -1
  218. package/src/inputs/Radio/{index.mdx → doc.mdx} +5 -15
  219. package/src/inputs/Radio/index.tsx +59 -56
  220. package/src/inputs/Select/{index.mdx → doc.mdx} +1 -5
  221. package/src/inputs/Select/index.tsx +11 -4
  222. package/src/inputs/inputsScenarios.ts +36 -42
  223. package/src/installation.mdx +2 -5
  224. package/src/lazy.js +74 -64
  225. package/src/locales/el.ts +1 -1
  226. package/src/registry.js +106 -100
  227. package/src/types.tsx +2 -2
  228. package/src/utils.ts +2 -2
  229. package/src/validators/index.ts +55 -79
  230. package/src/validators/utils/date.ts +107 -0
  231. package/src/validators/utils/datetime.ts +130 -0
  232. package/src/validators/utils/file.ts +5 -3
  233. package/src/validators/utils/index.ts +2 -0
  234. package/src/validators/utils/phone.ts +1 -1
  235. package/src/validators/utils/postal_code.ts +1 -1
  236. package/src/validators/utils/uuid4.ts +2 -1
  237. package/src/validators/validators.spec.ts +3 -3
  238. package/types.d.ts +2 -2
  239. package/types.js.map +1 -1
  240. package/utils/index.js +2 -1
  241. package/utils.js.map +2 -2
  242. package/validators/index.js +40 -75
  243. package/validators/index.js.map +2 -2
  244. package/validators/utils/date/index.js +103 -0
  245. package/{inputs/Input/Input.stories → validators/utils/date}/package.json +1 -1
  246. package/validators/utils/date.d.ts +9 -0
  247. package/validators/utils/date.js.map +7 -0
  248. package/validators/utils/datetime/index.js +116 -0
  249. package/{FieldArray/FieldArray.stories → validators/utils/datetime}/package.json +1 -1
  250. package/validators/utils/datetime.d.ts +9 -0
  251. package/validators/utils/datetime.js.map +7 -0
  252. package/validators/utils/file/index.js +1 -1
  253. package/validators/utils/file.js.map +2 -2
  254. package/validators/utils/index.d.ts +2 -0
  255. package/validators/utils/index.js +2 -0
  256. package/validators/utils/index.js.map +2 -2
  257. package/validators/utils/phone.d.ts +1 -1
  258. package/validators/utils/phone.js.map +2 -2
  259. package/validators/utils/postal_code.d.ts +1 -1
  260. package/validators/utils/postal_code.js.map +1 -1
  261. package/validators/utils/uuid4.js.map +2 -2
  262. package/FieldArray/FieldArray.stories/index.js +0 -14
  263. package/FieldArray/FieldArray.stories.js.map +0 -7
  264. package/FieldArray/__stories__/Default/index.js +0 -95
  265. package/FieldArray/__stories__/Default/package.json +0 -6
  266. package/FieldArray/__stories__/Default.js.map +0 -7
  267. package/FieldArray/__stories__/WithExactLength/index.js +0 -95
  268. package/FieldArray/__stories__/WithExactLength/package.json +0 -6
  269. package/FieldArray/__stories__/WithExactLength.js.map +0 -7
  270. package/Form.stories/index.js +0 -7
  271. package/Form.stories.js.map +0 -7
  272. package/FormBuilder/FormBuilder.stories/index.js +0 -12
  273. package/FormBuilder/FormBuilder.stories/package.json +0 -6
  274. package/FormBuilder/FormBuilder.stories.js.map +0 -7
  275. package/FormBuilder/__stories__/Default/index.js +0 -32
  276. package/FormBuilder/__stories__/Default/package.json +0 -6
  277. package/FormBuilder/__stories__/Default.js.map +0 -7
  278. package/MultiplicityField/MultiplicityField.stories/index.js +0 -22
  279. package/MultiplicityField/MultiplicityField.stories/package.json +0 -6
  280. package/MultiplicityField/MultiplicityField.stories.js.map +0 -7
  281. package/MultiplicityField/__stories__/Default/index.js +0 -100
  282. package/MultiplicityField/__stories__/Default/package.json +0 -6
  283. package/MultiplicityField/__stories__/Default.js.map +0 -7
  284. package/MultiplicityField/__stories__/PreviewDisplay/index.js +0 -70
  285. package/MultiplicityField/__stories__/PreviewDisplay/package.json +0 -6
  286. package/MultiplicityField/__stories__/PreviewDisplay.js.map +0 -7
  287. package/MultiplicityField/__stories__/WithExactLength/index.js +0 -97
  288. package/MultiplicityField/__stories__/WithExactLength/package.json +0 -6
  289. package/MultiplicityField/__stories__/WithExactLength.js.map +0 -7
  290. package/MultiplicityField/__stories__/WithMaxLength/index.js +0 -100
  291. package/MultiplicityField/__stories__/WithMaxLength/package.json +0 -6
  292. package/MultiplicityField/__stories__/WithMaxLength.js.map +0 -7
  293. package/MultiplicityField/__stories__/WithMinAndMaxLength/index.js +0 -101
  294. package/MultiplicityField/__stories__/WithMinAndMaxLength/package.json +0 -6
  295. package/MultiplicityField/__stories__/WithMinAndMaxLength.js.map +0 -7
  296. package/MultiplicityField/__stories__/WithMinLength/index.js +0 -100
  297. package/MultiplicityField/__stories__/WithMinLength/package.json +0 -6
  298. package/MultiplicityField/__stories__/WithMinLength.js.map +0 -7
  299. package/Questions/Questions.stories/index.js +0 -12
  300. package/Questions/Questions.stories.js.map +0 -7
  301. package/Questions/__stories__/Default/index.js +0 -108
  302. package/Questions/__stories__/Default/package.json +0 -6
  303. package/Questions/__stories__/Default.js.map +0 -7
  304. package/cjs/FieldArray/FieldArray.stories/index.js +0 -48
  305. package/cjs/FieldArray/FieldArray.stories.js.map +0 -7
  306. package/cjs/FieldArray/__stories__/Default/index.js +0 -128
  307. package/cjs/FieldArray/__stories__/Default.js.map +0 -7
  308. package/cjs/FieldArray/__stories__/WithExactLength/index.js +0 -128
  309. package/cjs/FieldArray/__stories__/WithExactLength.js.map +0 -7
  310. package/cjs/Form.stories/index.js +0 -26
  311. package/cjs/Form.stories.js.map +0 -7
  312. package/cjs/FormBuilder/FormBuilder.stories/index.js +0 -45
  313. package/cjs/FormBuilder/FormBuilder.stories.js.map +0 -7
  314. package/cjs/FormBuilder/__stories__/Default/index.js +0 -65
  315. package/cjs/FormBuilder/__stories__/Default.js.map +0 -7
  316. package/cjs/MultiplicityField/MultiplicityField.stories/index.js +0 -60
  317. package/cjs/MultiplicityField/MultiplicityField.stories.js.map +0 -7
  318. package/cjs/MultiplicityField/__stories__/Default/index.js +0 -133
  319. package/cjs/MultiplicityField/__stories__/Default.js.map +0 -7
  320. package/cjs/MultiplicityField/__stories__/PreviewDisplay/index.js +0 -86
  321. package/cjs/MultiplicityField/__stories__/PreviewDisplay.js.map +0 -7
  322. package/cjs/MultiplicityField/__stories__/WithExactLength/index.js +0 -130
  323. package/cjs/MultiplicityField/__stories__/WithExactLength.js.map +0 -7
  324. package/cjs/MultiplicityField/__stories__/WithMaxLength/index.js +0 -133
  325. package/cjs/MultiplicityField/__stories__/WithMaxLength.js.map +0 -7
  326. package/cjs/MultiplicityField/__stories__/WithMinAndMaxLength/index.js +0 -134
  327. package/cjs/MultiplicityField/__stories__/WithMinAndMaxLength.js.map +0 -7
  328. package/cjs/MultiplicityField/__stories__/WithMinLength/index.js +0 -133
  329. package/cjs/MultiplicityField/__stories__/WithMinLength.js.map +0 -7
  330. package/cjs/Questions/Questions.stories/index.js +0 -45
  331. package/cjs/Questions/Questions.stories.js.map +0 -7
  332. package/cjs/Questions/__stories__/Default/index.js +0 -136
  333. package/cjs/Questions/__stories__/Default.js.map +0 -7
  334. package/cjs/inputs/AutoCompleteInput/AutoComplete.stories/index.js +0 -48
  335. package/cjs/inputs/AutoCompleteInput/AutoComplete.stories.js.map +0 -7
  336. package/cjs/inputs/AutoCompleteInput/__stories__/Default/index.js +0 -83
  337. package/cjs/inputs/AutoCompleteInput/__stories__/Default.js.map +0 -7
  338. package/cjs/inputs/AutoCompleteInput/__stories__/Multiple/index.js +0 -83
  339. package/cjs/inputs/AutoCompleteInput/__stories__/Multiple.js.map +0 -7
  340. package/cjs/inputs/Checkboxes/Checkboxes.stories/index.js +0 -51
  341. package/cjs/inputs/Checkboxes/Checkboxes.stories.js.map +0 -7
  342. package/cjs/inputs/Checkboxes/__stories__/Conditional/index.js +0 -133
  343. package/cjs/inputs/Checkboxes/__stories__/Conditional.js.map +0 -7
  344. package/cjs/inputs/Checkboxes/__stories__/Default/index.js +0 -77
  345. package/cjs/inputs/Checkboxes/__stories__/Default.js.map +0 -7
  346. package/cjs/inputs/Checkboxes/__stories__/WithDivider/index.js +0 -78
  347. package/cjs/inputs/Checkboxes/__stories__/WithDivider.js.map +0 -7
  348. package/cjs/inputs/DateInput/DateInput.stories/index.js +0 -45
  349. package/cjs/inputs/DateInput/DateInput.stories.js.map +0 -7
  350. package/cjs/inputs/DateInput/__stories__/Default/index.js +0 -61
  351. package/cjs/inputs/DateInput/__stories__/Default.js.map +0 -7
  352. package/cjs/inputs/FileInput/FileInput.stories/index.js +0 -45
  353. package/cjs/inputs/FileInput/FileInput.stories.js.map +0 -7
  354. package/cjs/inputs/FileInput/__stories__/Default/index.js +0 -61
  355. package/cjs/inputs/FileInput/__stories__/Default.js.map +0 -7
  356. package/cjs/inputs/ImageInput/ImageInput.stories/index.js +0 -51
  357. package/cjs/inputs/ImageInput/ImageInput.stories.js.map +0 -7
  358. package/cjs/inputs/ImageInput/__stories__/Default/index.js +0 -63
  359. package/cjs/inputs/ImageInput/__stories__/Default.js.map +0 -7
  360. package/cjs/inputs/ImageInput/__stories__/MaxSize/index.js +0 -69
  361. package/cjs/inputs/ImageInput/__stories__/MaxSize.js.map +0 -7
  362. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +0 -71
  363. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension.js.map +0 -7
  364. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +0 -68
  365. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageSize.js.map +0 -7
  366. package/cjs/inputs/Input/Input.stories/index.js +0 -72
  367. package/cjs/inputs/Input/Input.stories.js.map +0 -7
  368. package/cjs/inputs/Input/__stories__/AFM/index.js +0 -63
  369. package/cjs/inputs/Input/__stories__/AFM.js.map +0 -7
  370. package/cjs/inputs/Input/__stories__/Boolean/index.js +0 -64
  371. package/cjs/inputs/Input/__stories__/Boolean.js.map +0 -7
  372. package/cjs/inputs/Input/__stories__/IBAN/index.js +0 -64
  373. package/cjs/inputs/Input/__stories__/IBAN.js.map +0 -7
  374. package/cjs/inputs/Input/__stories__/Integer/index.js +0 -78
  375. package/cjs/inputs/Input/__stories__/Integer.js.map +0 -7
  376. package/cjs/inputs/Input/__stories__/LandlineNumber/index.js +0 -67
  377. package/cjs/inputs/Input/__stories__/LandlineNumber.js.map +0 -7
  378. package/cjs/inputs/Input/__stories__/MobilePhone/index.js +0 -67
  379. package/cjs/inputs/Input/__stories__/MobilePhone.js.map +0 -7
  380. package/cjs/inputs/Input/__stories__/PhoneNumber/index.js +0 -66
  381. package/cjs/inputs/Input/__stories__/PhoneNumber.js.map +0 -7
  382. package/cjs/inputs/Input/__stories__/PostalCode/index.js +0 -64
  383. package/cjs/inputs/Input/__stories__/PostalCode.js.map +0 -7
  384. package/cjs/inputs/Input/__stories__/String/index.js +0 -64
  385. package/cjs/inputs/Input/__stories__/String.js.map +0 -7
  386. package/cjs/inputs/Input/__stories__/TextWithLimit/index.js +0 -64
  387. package/cjs/inputs/Input/__stories__/TextWithLimit.js.map +0 -7
  388. package/cjs/inputs/Label/Label.stories/index.js +0 -45
  389. package/cjs/inputs/Label/Label.stories.js.map +0 -7
  390. package/cjs/inputs/Label/__stories__/Default/index.js +0 -72
  391. package/cjs/inputs/Label/__stories__/Default.js.map +0 -7
  392. package/cjs/inputs/OtpInput/OtpInput.stories/index.js +0 -45
  393. package/cjs/inputs/OtpInput/OtpInput.stories.js.map +0 -7
  394. package/cjs/inputs/OtpInput/__stories__/Default/index.js +0 -64
  395. package/cjs/inputs/OtpInput/__stories__/Default.js.map +0 -7
  396. package/cjs/inputs/Radio/Radio.stories/index.js +0 -51
  397. package/cjs/inputs/Radio/Radio.stories.js.map +0 -7
  398. package/cjs/inputs/Radio/__stories__/Conditional/index.js +0 -133
  399. package/cjs/inputs/Radio/__stories__/Conditional.js.map +0 -7
  400. package/cjs/inputs/Radio/__stories__/Default/index.js +0 -81
  401. package/cjs/inputs/Radio/__stories__/Default.js.map +0 -7
  402. package/cjs/inputs/Radio/__stories__/WithDivider/index.js +0 -82
  403. package/cjs/inputs/Radio/__stories__/WithDivider.js.map +0 -7
  404. package/cjs/inputs/Select/Select.stories/index.js +0 -45
  405. package/cjs/inputs/Select/Select.stories.js.map +0 -7
  406. package/cjs/inputs/Select/__stories__/Default/index.js +0 -86
  407. package/cjs/inputs/Select/__stories__/Default.js.map +0 -7
  408. package/inputs/AutoCompleteInput/AutoComplete.stories/index.js +0 -14
  409. package/inputs/AutoCompleteInput/AutoComplete.stories/package.json +0 -6
  410. package/inputs/AutoCompleteInput/AutoComplete.stories.js.map +0 -7
  411. package/inputs/AutoCompleteInput/__stories__/Default/index.js +0 -50
  412. package/inputs/AutoCompleteInput/__stories__/Default/package.json +0 -6
  413. package/inputs/AutoCompleteInput/__stories__/Default.js.map +0 -7
  414. package/inputs/AutoCompleteInput/__stories__/Multiple/index.js +0 -50
  415. package/inputs/AutoCompleteInput/__stories__/Multiple/package.json +0 -6
  416. package/inputs/AutoCompleteInput/__stories__/Multiple.js.map +0 -7
  417. package/inputs/Checkboxes/Checkboxes.stories/index.js +0 -16
  418. package/inputs/Checkboxes/Checkboxes.stories/package.json +0 -6
  419. package/inputs/Checkboxes/Checkboxes.stories.js.map +0 -7
  420. package/inputs/Checkboxes/__stories__/Conditional/index.js +0 -100
  421. package/inputs/Checkboxes/__stories__/Conditional/package.json +0 -6
  422. package/inputs/Checkboxes/__stories__/Conditional.js.map +0 -7
  423. package/inputs/Checkboxes/__stories__/Default/index.js +0 -44
  424. package/inputs/Checkboxes/__stories__/Default/package.json +0 -6
  425. package/inputs/Checkboxes/__stories__/Default.js.map +0 -7
  426. package/inputs/Checkboxes/__stories__/WithDivider/index.js +0 -45
  427. package/inputs/Checkboxes/__stories__/WithDivider/package.json +0 -6
  428. package/inputs/Checkboxes/__stories__/WithDivider.js.map +0 -7
  429. package/inputs/DateInput/DateInput.stories/index.js +0 -12
  430. package/inputs/DateInput/DateInput.stories/package.json +0 -6
  431. package/inputs/DateInput/DateInput.stories.js.map +0 -7
  432. package/inputs/DateInput/__stories__/Default/index.js +0 -28
  433. package/inputs/DateInput/__stories__/Default/package.json +0 -6
  434. package/inputs/DateInput/__stories__/Default.js.map +0 -7
  435. package/inputs/FileInput/FileInput.stories/index.js +0 -12
  436. package/inputs/FileInput/FileInput.stories/package.json +0 -6
  437. package/inputs/FileInput/FileInput.stories.js.map +0 -7
  438. package/inputs/FileInput/__stories__/Default/index.js +0 -28
  439. package/inputs/FileInput/__stories__/Default/package.json +0 -6
  440. package/inputs/FileInput/__stories__/Default.js.map +0 -7
  441. package/inputs/ImageInput/ImageInput.stories/index.js +0 -16
  442. package/inputs/ImageInput/ImageInput.stories/package.json +0 -6
  443. package/inputs/ImageInput/ImageInput.stories.js.map +0 -7
  444. package/inputs/ImageInput/__stories__/Default/index.js +0 -30
  445. package/inputs/ImageInput/__stories__/Default/package.json +0 -6
  446. package/inputs/ImageInput/__stories__/Default.js.map +0 -7
  447. package/inputs/ImageInput/__stories__/MaxSize/index.js +0 -36
  448. package/inputs/ImageInput/__stories__/MaxSize/package.json +0 -6
  449. package/inputs/ImageInput/__stories__/MaxSize.js.map +0 -7
  450. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +0 -38
  451. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/package.json +0 -6
  452. package/inputs/ImageInput/__stories__/WithInvalidImageDimension.js.map +0 -7
  453. package/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +0 -35
  454. package/inputs/ImageInput/__stories__/WithInvalidImageSize/package.json +0 -6
  455. package/inputs/ImageInput/__stories__/WithInvalidImageSize.js.map +0 -7
  456. package/inputs/Input/Input.stories/index.js +0 -30
  457. package/inputs/Input/Input.stories.js.map +0 -7
  458. package/inputs/Input/__stories__/AFM/index.js +0 -30
  459. package/inputs/Input/__stories__/AFM/package.json +0 -6
  460. package/inputs/Input/__stories__/AFM.js.map +0 -7
  461. package/inputs/Input/__stories__/Boolean/index.js +0 -31
  462. package/inputs/Input/__stories__/Boolean/package.json +0 -6
  463. package/inputs/Input/__stories__/Boolean.js.map +0 -7
  464. package/inputs/Input/__stories__/IBAN/index.js +0 -31
  465. package/inputs/Input/__stories__/IBAN/package.json +0 -6
  466. package/inputs/Input/__stories__/IBAN.js.map +0 -7
  467. package/inputs/Input/__stories__/Integer/index.js +0 -45
  468. package/inputs/Input/__stories__/Integer/package.json +0 -6
  469. package/inputs/Input/__stories__/Integer.js.map +0 -7
  470. package/inputs/Input/__stories__/LandlineNumber/index.js +0 -34
  471. package/inputs/Input/__stories__/LandlineNumber/package.json +0 -6
  472. package/inputs/Input/__stories__/LandlineNumber.js.map +0 -7
  473. package/inputs/Input/__stories__/MobilePhone/index.js +0 -34
  474. package/inputs/Input/__stories__/MobilePhone/package.json +0 -6
  475. package/inputs/Input/__stories__/MobilePhone.js.map +0 -7
  476. package/inputs/Input/__stories__/PhoneNumber/index.js +0 -33
  477. package/inputs/Input/__stories__/PhoneNumber/package.json +0 -6
  478. package/inputs/Input/__stories__/PhoneNumber.js.map +0 -7
  479. package/inputs/Input/__stories__/PostalCode/index.js +0 -31
  480. package/inputs/Input/__stories__/PostalCode/package.json +0 -6
  481. package/inputs/Input/__stories__/PostalCode.js.map +0 -7
  482. package/inputs/Input/__stories__/String/index.js +0 -31
  483. package/inputs/Input/__stories__/String/package.json +0 -6
  484. package/inputs/Input/__stories__/String.js.map +0 -7
  485. package/inputs/Input/__stories__/TextWithLimit/index.js +0 -31
  486. package/inputs/Input/__stories__/TextWithLimit/package.json +0 -6
  487. package/inputs/Input/__stories__/TextWithLimit.js.map +0 -7
  488. package/inputs/Label/Label.stories/index.js +0 -12
  489. package/inputs/Label/Label.stories/package.json +0 -6
  490. package/inputs/Label/Label.stories.js.map +0 -7
  491. package/inputs/Label/__stories__/Default/index.js +0 -39
  492. package/inputs/Label/__stories__/Default/package.json +0 -6
  493. package/inputs/Label/__stories__/Default.js.map +0 -7
  494. package/inputs/OtpInput/OtpInput.stories/index.js +0 -12
  495. package/inputs/OtpInput/OtpInput.stories/package.json +0 -6
  496. package/inputs/OtpInput/OtpInput.stories.js.map +0 -7
  497. package/inputs/OtpInput/__stories__/Default/index.js +0 -31
  498. package/inputs/OtpInput/__stories__/Default/package.json +0 -6
  499. package/inputs/OtpInput/__stories__/Default.js.map +0 -7
  500. package/inputs/Radio/Radio.stories/index.js +0 -16
  501. package/inputs/Radio/Radio.stories/package.json +0 -6
  502. package/inputs/Radio/Radio.stories.js.map +0 -7
  503. package/inputs/Radio/__stories__/Conditional/index.js +0 -100
  504. package/inputs/Radio/__stories__/Conditional/package.json +0 -6
  505. package/inputs/Radio/__stories__/Conditional.js.map +0 -7
  506. package/inputs/Radio/__stories__/Default/index.js +0 -48
  507. package/inputs/Radio/__stories__/Default/package.json +0 -6
  508. package/inputs/Radio/__stories__/Default.js.map +0 -7
  509. package/inputs/Radio/__stories__/WithDivider/index.js +0 -49
  510. package/inputs/Radio/__stories__/WithDivider/package.json +0 -6
  511. package/inputs/Radio/__stories__/WithDivider.js.map +0 -7
  512. package/inputs/Select/Select.stories/index.js +0 -12
  513. package/inputs/Select/Select.stories/package.json +0 -6
  514. package/inputs/Select/Select.stories.js.map +0 -7
  515. package/inputs/Select/__stories__/Default/index.js +0 -53
  516. package/inputs/Select/__stories__/Default/package.json +0 -6
  517. package/inputs/Select/__stories__/Default.js.map +0 -7
  518. package/lazy.d.ts +0 -77
  519. package/lazy.js.map +0 -7
  520. package/registry.d.ts +0 -70
  521. package/registry.js.map +0 -7
  522. package/src/inputs/ImageInput/index.mdx +0 -19
  523. package/src/inputs/Input/index.mdx +0 -95
  524. package/src/inputs/Label/index.mdx +0 -0
  525. /package/src/Field/{index.mdx → doc.mdx} +0 -0
@@ -1,19 +1,24 @@
1
1
  import React from "react";
2
2
  import { useFieldArray } from "react-hook-form";
3
- import FieldContainer from "@digigov/form/Field/FieldBaseContainer";
4
- import FieldObject from "@digigov/form/FieldObject";
5
- import { FieldsetLabel } from "@digigov/form/Fieldset";
6
- import Fieldset from "@digigov/react-core/Fieldset";
3
+ import { FieldBaseContainer } from "@digigov/form/Field/FieldBaseContainer";
4
+ import { FormDialog } from "@digigov/form/FieldArray/FormDialog";
5
+ import { FieldObject } from "@digigov/form/FieldObject";
6
+ import { FieldsetLabel, Fieldset } from "@digigov/form/Fieldset";
7
7
  import { Card } from "@digigov/ui/content/Card";
8
8
  import { Button } from "@digigov/ui/form/Button";
9
9
  import { Hint } from "@digigov/ui/typography/Hint";
10
10
  const FieldArray = ({
11
11
  name,
12
+ trigger,
12
13
  register,
14
+ clearErrors,
13
15
  control,
14
16
  formState,
15
17
  error,
18
+ getValues,
19
+ setValue,
16
20
  layout,
21
+ reset,
17
22
  label,
18
23
  Field,
19
24
  ...customField
@@ -23,7 +28,7 @@ const FieldArray = ({
23
28
  name
24
29
  });
25
30
  return /* @__PURE__ */ React.createElement(
26
- FieldContainer,
31
+ FieldBaseContainer,
27
32
  {
28
33
  label,
29
34
  layout,
@@ -31,41 +36,69 @@ const FieldArray = ({
31
36
  wrapper: "fieldset",
32
37
  name
33
38
  },
34
- fields.length === 0 && /* @__PURE__ */ React.createElement(Hint, null, customField.extra?.label.object?.nothing_added),
35
- fields.map((field, index) => /* @__PURE__ */ React.createElement(Card, { variant: "border", key: field.id }, /* @__PURE__ */ React.createElement(Fieldset, null, /* @__PURE__ */ React.createElement(FieldsetLabel, null, customField.extra?.label.object.title, " ", index + 1), /* @__PURE__ */ React.createElement(
36
- FieldObject,
39
+ fields.length === 0 && /* @__PURE__ */ React.createElement(Hint, { ...customField.extra?.label.object?.nothing_added_props }, customField.extra?.label.object?.nothing_added),
40
+ customField.extra?.variant === "dialog" ? /* @__PURE__ */ React.createElement(
41
+ FormDialog,
37
42
  {
38
- name: `${name}.${index}`,
39
- error: Array.isArray(error) && error[index],
40
- formState,
43
+ name,
44
+ trigger,
41
45
  register,
46
+ clearErrors,
42
47
  control,
43
- ...customField.extra?.of,
44
- Field
48
+ formState,
49
+ error,
50
+ getValues,
51
+ setValue,
52
+ layout,
53
+ label,
54
+ Field,
55
+ reset,
56
+ ...customField
45
57
  }
46
- ), /* @__PURE__ */ React.createElement(
47
- Button,
58
+ ) : /* @__PURE__ */ React.createElement(React.Fragment, null, fields.map((field, index) => /* @__PURE__ */ React.createElement(
59
+ Card,
48
60
  {
49
- name: `${name}-object-remove`,
50
- type: "button",
51
- color: "warning",
52
- onClick: () => remove(index)
61
+ variant: customField.extra?.border ? "border" : "divider",
62
+ key: field.id
53
63
  },
54
- customField.extra?.label.object?.delete
55
- )))),
56
- /* @__PURE__ */ React.createElement(
64
+ /* @__PURE__ */ React.createElement(Fieldset, null, /* @__PURE__ */ React.createElement(FieldsetLabel, null, customField.extra?.label.object.title, " ", !customField.extra?.noIndex && index + 1), /* @__PURE__ */ React.createElement(
65
+ FieldObject,
66
+ {
67
+ name: `${name}.${index}`,
68
+ error: Array.isArray(error) && error[index],
69
+ formState,
70
+ register,
71
+ control,
72
+ ...customField.extra?.of,
73
+ Field
74
+ }
75
+ ), /* @__PURE__ */ React.createElement(
76
+ Button,
77
+ {
78
+ name: `${name}-object-remove`,
79
+ variant: customField.extra?.label.object?.deleteButtonVariant,
80
+ type: "button",
81
+ color: "warning",
82
+ onClick: () => remove(index),
83
+ disabled: !customField?.editable
84
+ },
85
+ customField.extra?.label.object?.delete
86
+ ))
87
+ )), /* @__PURE__ */ React.createElement(
57
88
  Button,
58
89
  {
59
90
  type: "button",
60
91
  name: `${name}-add-object`,
61
92
  color: "secondary",
93
+ variant: customField.extra?.label.object?.addButtonVariant,
62
94
  onClick: (ev) => {
63
95
  ev.preventDefault();
64
96
  append({});
65
- }
97
+ },
98
+ disabled: !customField?.editable
66
99
  },
67
100
  customField.extra?.label.object?.add
68
- )
101
+ ))
69
102
  );
70
103
  };
71
104
  var FieldArray_default = FieldArray;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/FieldArray/index.tsx"],
4
- "sourcesContent": ["import React from 'react';\nimport { ErrorOption, useFieldArray, UseFormReturn } from 'react-hook-form';\nimport FieldContainer from '@digigov/form/Field/FieldBaseContainer';\nimport { FieldProps } from '@digigov/form/Field/types';\nimport FieldObject from '@digigov/form/FieldObject';\nimport { FieldsetLabel } from '@digigov/form/Fieldset';\nimport Fieldset from '@digigov/react-core/Fieldset';\nimport { Card } from '@digigov/ui/content/Card';\nimport { Button } from '@digigov/ui/form/Button';\nimport { Hint } from '@digigov/ui/typography/Hint';\nexport interface FieldArrayProps extends FieldProps {\n control: UseFormReturn['control'];\n register: UseFormReturn['register'];\n formState: UseFormReturn['formState'];\n error?: ErrorOption;\n Field: React.FC<FieldProps>;\n}\nexport const FieldArray: React.FC<FieldArrayProps> = ({\n name,\n register,\n control,\n formState,\n error,\n layout,\n label,\n Field,\n ...customField\n}) => {\n const { fields, append, remove } = useFieldArray({\n control,\n name,\n });\n\n return (\n <FieldContainer\n label={label}\n layout={layout}\n error={\n formState.isSubmitted &&\n !formState.isSubmitting &&\n error?.message &&\n error\n ? error\n : undefined\n }\n wrapper=\"fieldset\"\n name={name}\n >\n {fields.length === 0 && (\n <Hint>{customField.extra?.label.object?.nothing_added}</Hint>\n )}\n {fields.map((field, index) => (\n <Card variant=\"border\" key={field.id}>\n <Fieldset>\n <FieldsetLabel>\n {customField.extra?.label.object.title} {index + 1}\n </FieldsetLabel>\n <FieldObject\n name={`${name}.${index}`}\n error={Array.isArray(error) && error[index]}\n formState={formState}\n register={register}\n control={control}\n {...customField.extra?.of}\n Field={Field}\n />\n <Button\n name={`${name}-object-remove`}\n type=\"button\"\n color=\"warning\"\n onClick={() => remove(index)}\n >\n {customField.extra?.label.object?.delete}\n </Button>\n </Fieldset>\n </Card>\n ))}\n\n <Button\n type=\"button\"\n name={`${name}-add-object`}\n color=\"secondary\"\n onClick={(ev) => {\n ev.preventDefault();\n append({});\n }}\n >\n {customField.extra?.label.object?.add}\n </Button>\n </FieldContainer>\n );\n};\n\nexport default FieldArray;\n"],
5
- "mappings": "AAAA,OAAO,WAAW;AAClB,SAAsB,qBAAoC;AAC1D,OAAO,oBAAoB;AAE3B,OAAO,iBAAiB;AACxB,SAAS,qBAAqB;AAC9B,OAAO,cAAc;AACrB,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,SAAS,YAAY;AAQd,MAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,QAAQ,QAAQ,OAAO,IAAI,cAAc;AAAA,IAC/C;AAAA,IACA;AAAA,EACF,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,OACE,UAAU,eACR,CAAC,UAAU,gBACX,OAAO,WACP,QACE,QACA;AAAA,MAEN,SAAQ;AAAA,MACR;AAAA;AAAA,IAEC,OAAO,WAAW,KACjB,oCAAC,YAAM,YAAY,OAAO,MAAM,QAAQ,aAAc;AAAA,IAEvD,OAAO,IAAI,CAAC,OAAO,UAClB,oCAAC,QAAK,SAAQ,UAAS,KAAK,MAAM,MAChC,oCAAC,gBACC,oCAAC,qBACE,YAAY,OAAO,MAAM,OAAO,OAAM,KAAE,QAAQ,CACnD,GACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,GAAG,IAAI,IAAI,KAAK;AAAA,QACtB,OAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,KAAK;AAAA,QAC1C;AAAA,QACA;AAAA,QACA;AAAA,QACC,GAAG,YAAY,OAAO;AAAA,QACvB;AAAA;AAAA,IACF,GACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,GAAG,IAAI;AAAA,QACb,MAAK;AAAA,QACL,OAAM;AAAA,QACN,SAAS,MAAM,OAAO,KAAK;AAAA;AAAA,MAE1B,YAAY,OAAO,MAAM,QAAQ;AAAA,IACpC,CACF,CACF,CACD;AAAA,IAED;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,MAAM,GAAG,IAAI;AAAA,QACb,OAAM;AAAA,QACN,SAAS,CAAC,OAAO;AACf,aAAG,eAAe;AAClB,iBAAO,CAAC,CAAC;AAAA,QACX;AAAA;AAAA,MAEC,YAAY,OAAO,MAAM,QAAQ;AAAA,IACpC;AAAA,EACF;AAEJ;AAEA,IAAO,qBAAQ;",
4
+ "sourcesContent": ["import React from 'react';\nimport { ErrorOption, useFieldArray, UseFormReturn } from 'react-hook-form';\nimport { FieldBaseContainer } from '@digigov/form/Field/FieldBaseContainer';\nimport { FieldProps } from '@digigov/form/Field/types';\nimport { FormDialog } from '@digigov/form/FieldArray/FormDialog';\nimport { FieldObject } from '@digigov/form/FieldObject';\nimport { FieldsetLabel, Fieldset } from '@digigov/form/Fieldset';\nimport { Card } from '@digigov/ui/content/Card';\nimport { Button } from '@digigov/ui/form/Button';\nimport { Hint } from '@digigov/ui/typography/Hint';\n\nexport interface FieldArrayProps extends FieldProps {\n control: UseFormReturn['control'];\n trigger: UseFormReturn['trigger'];\n register: UseFormReturn['register'];\n clearErrors: UseFormReturn['clearErrors'];\n formState: UseFormReturn['formState'];\n error?: ErrorOption;\n getValues: UseFormReturn['getValues'];\n setValue: UseFormReturn['setValue'];\n reset: UseFormReturn['reset'];\n Field: React.FC<FieldProps>;\n}\nexport const FieldArray: React.FC<FieldArrayProps> = ({\n name,\n trigger,\n register,\n clearErrors,\n control,\n formState,\n error,\n getValues,\n setValue,\n layout,\n reset,\n label,\n Field,\n ...customField\n}) => {\n const { fields, append, remove } = useFieldArray({\n control,\n name,\n });\n\n return (\n <FieldBaseContainer\n label={label}\n layout={layout}\n error={\n formState.isSubmitted &&\n !formState.isSubmitting &&\n error?.message &&\n error\n ? error\n : undefined\n }\n wrapper=\"fieldset\"\n name={name}\n >\n {fields.length === 0 && (\n <Hint {...customField.extra?.label.object?.nothing_added_props}>\n {customField.extra?.label.object?.nothing_added}\n </Hint>\n )}\n {customField.extra?.variant === 'dialog' ? (\n <FormDialog\n name={name}\n trigger={trigger}\n register={register}\n clearErrors={clearErrors}\n control={control}\n formState={formState}\n error={error}\n getValues={getValues}\n setValue={setValue}\n layout={layout}\n label={label}\n Field={Field}\n reset={reset}\n {...customField}\n />\n ) : (\n <>\n {fields.map((field, index) => (\n <Card\n variant={customField.extra?.border ? 'border' : 'divider'}\n key={field.id}\n >\n <Fieldset>\n <FieldsetLabel>\n {customField.extra?.label.object.title}{' '}\n {!customField.extra?.noIndex && index + 1}\n </FieldsetLabel>\n <FieldObject\n name={`${name}.${index}`}\n error={Array.isArray(error) && error[index]}\n formState={formState}\n register={register}\n control={control}\n {...customField.extra?.of}\n Field={Field}\n />\n <Button\n name={`${name}-object-remove`}\n variant={customField.extra?.label.object?.deleteButtonVariant}\n type=\"button\"\n color=\"warning\"\n onClick={() => remove(index)}\n disabled={!customField?.editable}\n >\n {customField.extra?.label.object?.delete}\n </Button>\n </Fieldset>\n </Card>\n ))}\n <Button\n type=\"button\"\n name={`${name}-add-object`}\n color=\"secondary\"\n variant={customField.extra?.label.object?.addButtonVariant}\n onClick={(ev) => {\n ev.preventDefault();\n append({});\n }}\n disabled={!customField?.editable}\n >\n {customField.extra?.label.object?.add}\n </Button>\n </>\n )}\n </FieldBaseContainer>\n );\n};\n\nexport default FieldArray;\n"],
5
+ "mappings": "AAAA,OAAO,WAAW;AAClB,SAAsB,qBAAoC;AAC1D,SAAS,0BAA0B;AAEnC,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAC5B,SAAS,eAAe,gBAAgB;AACxC,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,SAAS,YAAY;AAcd,MAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,QAAQ,QAAQ,OAAO,IAAI,cAAc;AAAA,IAC/C;AAAA,IACA;AAAA,EACF,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,OACE,UAAU,eACV,CAAC,UAAU,gBACX,OAAO,WACP,QACI,QACA;AAAA,MAEN,SAAQ;AAAA,MACR;AAAA;AAAA,IAEC,OAAO,WAAW,KACjB,oCAAC,QAAM,GAAG,YAAY,OAAO,MAAM,QAAQ,uBACxC,YAAY,OAAO,MAAM,QAAQ,aACpC;AAAA,IAED,YAAY,OAAO,YAAY,WAC9B;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACC,GAAG;AAAA;AAAA,IACN,IAEA,0DACG,OAAO,IAAI,CAAC,OAAO,UAClB;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,YAAY,OAAO,SAAS,WAAW;AAAA,QAChD,KAAK,MAAM;AAAA;AAAA,MAEX,oCAAC,gBACC,oCAAC,qBACE,YAAY,OAAO,MAAM,OAAO,OAAO,KACvC,CAAC,YAAY,OAAO,WAAW,QAAQ,CAC1C,GACA;AAAA,QAAC;AAAA;AAAA,UACC,MAAM,GAAG,IAAI,IAAI,KAAK;AAAA,UACtB,OAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,KAAK;AAAA,UAC1C;AAAA,UACA;AAAA,UACA;AAAA,UACC,GAAG,YAAY,OAAO;AAAA,UACvB;AAAA;AAAA,MACF,GACA;AAAA,QAAC;AAAA;AAAA,UACC,MAAM,GAAG,IAAI;AAAA,UACb,SAAS,YAAY,OAAO,MAAM,QAAQ;AAAA,UAC1C,MAAK;AAAA,UACL,OAAM;AAAA,UACN,SAAS,MAAM,OAAO,KAAK;AAAA,UAC3B,UAAU,CAAC,aAAa;AAAA;AAAA,QAEvB,YAAY,OAAO,MAAM,QAAQ;AAAA,MACpC,CACF;AAAA,IACF,CACD,GACD;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,MAAM,GAAG,IAAI;AAAA,QACb,OAAM;AAAA,QACN,SAAS,YAAY,OAAO,MAAM,QAAQ;AAAA,QAC1C,SAAS,CAAC,OAAO;AACf,aAAG,eAAe;AAClB,iBAAO,CAAC,CAAC;AAAA,QACX;AAAA,QACA,UAAU,CAAC,aAAa;AAAA;AAAA,MAEvB,YAAY,OAAO,MAAM,QAAQ;AAAA,IACpC,CACF;AAAA,EAEJ;AAEJ;AAEA,IAAO,qBAAQ;",
6
6
  "names": []
7
7
  }
@@ -8,6 +8,7 @@ export interface FieldObjectProps extends Omit<FieldProps, 'key'> {
8
8
  reset: UseFormReturn['reset'];
9
9
  formState: UseFormReturn['formState'];
10
10
  error?: ErrorOption;
11
+ defaultValue?: undefined;
11
12
  Field: React.FC<FieldProps>;
12
13
  }
13
14
  export declare const FieldObject: React.FC<FieldObjectProps>;
@@ -20,6 +21,7 @@ export interface FieldObjectItemProps {
20
21
  formState: UseFormReturn['formState'];
21
22
  error?: ErrorOption;
22
23
  children?: React.ReactNode;
24
+ defaultValue?: undefined;
23
25
  Field: React.FC<FieldProps>;
24
26
  }
25
27
  export default FieldObject;
@@ -5,8 +5,8 @@ import {
5
5
  ALTERNATIVE_COMPONENTS
6
6
  } from "@digigov/form/Field/utils";
7
7
  import { calculateField } from "@digigov/form/Field/utils/calculateField";
8
- import Fieldset, { FieldsetCaption } from "@digigov/form/Fieldset";
9
- import { FieldsetLegend } from "@digigov/react-core/FieldsetLegend";
8
+ import { Fieldset, FieldsetCaption } from "@digigov/form/Fieldset";
9
+ import { FieldsetLegend } from "@digigov/ui/form/FieldContainer";
10
10
  import { useTranslation } from "@digigov/ui/i18n";
11
11
  const FieldObject = ({
12
12
  name,
@@ -17,20 +17,22 @@ const FieldObject = ({
17
17
  reset,
18
18
  formState,
19
19
  error,
20
+ defaultValue,
20
21
  Field
21
22
  }) => {
22
23
  const { t } = useTranslation();
23
24
  return /* @__PURE__ */ React.createElement(Fieldset, null, label?.primary && /* @__PURE__ */ React.createElement(FieldsetLegend, { size: "sm" }, t(label.primary)), label?.secondary && /* @__PURE__ */ React.createElement(FieldsetCaption, null, t(label.secondary)), extra?.fields.map((field) => /* @__PURE__ */ React.createElement(
24
25
  FieldObjectItem,
25
26
  {
26
- key: `${name}.${field.key}`,
27
- name: `${name}.${field.key}`,
27
+ key: `${name}${field.key ? `.${field.key}` : ""}`,
28
+ name: `${name}${field.key ? `.${field.key}` : ""}`,
28
29
  control,
29
30
  register,
30
31
  reset,
31
32
  field,
32
33
  error: error && error[field.key],
33
34
  formState,
35
+ defaultValue,
34
36
  Field
35
37
  }
36
38
  )));
@@ -44,12 +46,14 @@ const FieldObjectItem = ({
44
46
  formState,
45
47
  reset,
46
48
  register,
49
+ defaultValue,
47
50
  Field
48
51
  }) => {
49
52
  const calculatedField = useMemo(
50
53
  () => calculateField(children, field, FIELD_COMPONENTS, ALTERNATIVE_COMPONENTS),
51
54
  [field]
52
55
  );
56
+ console.log(field);
53
57
  const customError = error ? error : formState?.errors[name];
54
58
  return /* @__PURE__ */ React.createElement(
55
59
  FieldBase,
@@ -60,7 +64,8 @@ const FieldObjectItem = ({
60
64
  control,
61
65
  reset,
62
66
  register,
63
- error: customError
67
+ error: customError,
68
+ defaultValue
64
69
  }
65
70
  );
66
71
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/FieldObject/index.tsx"],
4
- "sourcesContent": ["import React, { useMemo } from 'react';\nimport { ErrorOption, UseFormReturn } from 'react-hook-form';\nimport { FieldBase } from '@digigov/form/Field/FieldBase';\nimport { CalculatedField, FieldProps } from '@digigov/form/Field/types';\nimport {\n FIELD_COMPONENTS,\n ALTERNATIVE_COMPONENTS,\n} from '@digigov/form/Field/utils';\nimport { calculateField } from '@digigov/form/Field/utils/calculateField';\nimport Fieldset, { FieldsetCaption } from '@digigov/form/Fieldset';\nimport { FieldSpec } from '@digigov/form/types';\nimport { FieldsetLegend } from '@digigov/react-core/FieldsetLegend';\nimport { useTranslation } from '@digigov/ui/i18n';\n\nexport interface FieldObjectProps extends Omit<FieldProps, 'key'> {\n control: UseFormReturn['control'];\n register: UseFormReturn['register'];\n reset: UseFormReturn['reset'];\n formState: UseFormReturn['formState'];\n error?: ErrorOption;\n Field: React.FC<FieldProps>;\n}\n\nexport const FieldObject: React.FC<FieldObjectProps> = ({\n name,\n label,\n extra,\n control,\n register,\n reset,\n formState,\n error,\n Field,\n}) => {\n const { t } = useTranslation();\n\n return (\n <Fieldset>\n {label?.primary && (\n <FieldsetLegend size=\"sm\">{t(label.primary)}</FieldsetLegend>\n )}\n {label?.secondary && (\n <FieldsetCaption>{t(label.secondary)}</FieldsetCaption>\n )}\n {extra?.fields.map((field) => (\n <FieldObjectItem\n key={`${name}.${field.key}`}\n name={`${name}.${field.key}`}\n control={control}\n register={register}\n reset={reset}\n field={field}\n error={error && error[field.key]}\n formState={formState}\n Field={Field}\n />\n ))}\n </Fieldset>\n );\n};\n\nexport interface FieldObjectItemProps {\n name: string;\n field: FieldSpec;\n control: UseFormReturn['control'];\n register: UseFormReturn['register'];\n reset: UseFormReturn['reset'];\n formState: UseFormReturn['formState'];\n error?: ErrorOption;\n children?: React.ReactNode;\n Field: React.FC<FieldProps>;\n}\n\nconst FieldObjectItem: React.FC<FieldObjectItemProps> = ({\n name,\n children,\n field,\n error,\n control,\n formState,\n reset,\n register,\n Field,\n}) => {\n const calculatedField: CalculatedField = useMemo(\n () =>\n calculateField(children, field, FIELD_COMPONENTS, ALTERNATIVE_COMPONENTS),\n [field]\n );\n\n const customError = error ? error : formState?.errors[name];\n return (\n <FieldBase\n {...calculatedField}\n name={name}\n Field={Field}\n control={control}\n reset={reset}\n register={register}\n error={customError}\n />\n );\n};\n\nexport default FieldObject;\n"],
5
- "mappings": "AAAA,OAAO,SAAS,eAAe;AAE/B,SAAS,iBAAiB;AAE1B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB;AAC/B,OAAO,YAAY,uBAAuB;AAE1C,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAWxB,MAAM,cAA0C,CAAC;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,SACE,oCAAC,gBACE,OAAO,WACN,oCAAC,kBAAe,MAAK,QAAM,EAAE,MAAM,OAAO,CAAE,GAE7C,OAAO,aACN,oCAAC,uBAAiB,EAAE,MAAM,SAAS,CAAE,GAEtC,OAAO,OAAO,IAAI,CAAC,UAClB;AAAA,IAAC;AAAA;AAAA,MACC,KAAK,GAAG,IAAI,IAAI,MAAM,GAAG;AAAA,MACzB,MAAM,GAAG,IAAI,IAAI,MAAM,GAAG;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,SAAS,MAAM,MAAM,GAAG;AAAA,MAC/B;AAAA,MACA;AAAA;AAAA,EACF,CACD,CACH;AAEJ;AAcA,MAAM,kBAAkD,CAAC;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,kBAAmC;AAAA,IACvC,MACE,eAAe,UAAU,OAAO,kBAAkB,sBAAsB;AAAA,IAC1E,CAAC,KAAK;AAAA,EACR;AAEA,QAAM,cAAc,QAAQ,QAAQ,WAAW,OAAO,IAAI;AAC1D,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA;AAAA,EACT;AAEJ;AAEA,IAAO,sBAAQ;",
4
+ "sourcesContent": ["import React, { useMemo } from 'react';\nimport { ErrorOption, UseFormReturn } from 'react-hook-form';\nimport { FieldBase } from '@digigov/form/Field/FieldBase';\nimport { CalculatedField, FieldProps } from '@digigov/form/Field/types';\nimport {\n FIELD_COMPONENTS,\n ALTERNATIVE_COMPONENTS,\n} from '@digigov/form/Field/utils';\nimport { calculateField } from '@digigov/form/Field/utils/calculateField';\nimport { Fieldset, FieldsetCaption } from '@digigov/form/Fieldset';\nimport { FieldSpec } from '@digigov/form/types';\nimport { FieldsetLegend } from '@digigov/ui/form/FieldContainer';\nimport { useTranslation } from '@digigov/ui/i18n';\n\nexport interface FieldObjectProps extends Omit<FieldProps, 'key'> {\n control: UseFormReturn['control'];\n register: UseFormReturn['register'];\n reset: UseFormReturn['reset'];\n formState: UseFormReturn['formState'];\n error?: ErrorOption;\n defaultValue?: undefined;\n Field: React.FC<FieldProps>;\n}\n\nexport const FieldObject: React.FC<FieldObjectProps> = ({\n name,\n label,\n extra,\n control,\n register,\n reset,\n formState,\n error,\n defaultValue,\n Field,\n}) => {\n const { t } = useTranslation();\n\n return (\n <Fieldset>\n {label?.primary && (\n <FieldsetLegend size=\"sm\">{t(label.primary)}</FieldsetLegend>\n )}\n {label?.secondary && (\n <FieldsetCaption>{t(label.secondary)}</FieldsetCaption>\n )}\n {extra?.fields.map((field) => (\n <FieldObjectItem\n key={`${name}${field.key ? `.${field.key}` : ''}`}\n name={`${name}${field.key ? `.${field.key}` : ''}`}\n control={control}\n register={register}\n reset={reset}\n field={field}\n error={error && error[field.key]}\n formState={formState}\n defaultValue={defaultValue}\n Field={Field}\n />\n ))}\n </Fieldset>\n );\n};\n\nexport interface FieldObjectItemProps {\n name: string;\n field: FieldSpec;\n control: UseFormReturn['control'];\n register: UseFormReturn['register'];\n reset: UseFormReturn['reset'];\n formState: UseFormReturn['formState'];\n error?: ErrorOption;\n children?: React.ReactNode;\n // defaultValue?: FormData | undefined;\n defaultValue?: undefined;\n Field: React.FC<FieldProps>;\n}\n\nconst FieldObjectItem: React.FC<FieldObjectItemProps> = ({\n name,\n children,\n field,\n error,\n control,\n formState,\n reset,\n register,\n defaultValue,\n Field,\n}) => {\n const calculatedField: CalculatedField = useMemo(\n () =>\n calculateField(children, field, FIELD_COMPONENTS, ALTERNATIVE_COMPONENTS),\n [field]\n );\n console.log(field);\n const customError = error ? error : formState?.errors[name];\n return (\n <FieldBase\n {...calculatedField}\n name={name}\n Field={Field}\n control={control}\n reset={reset}\n register={register}\n error={customError}\n defaultValue={defaultValue}\n />\n );\n};\n\nexport default FieldObject;\n"],
5
+ "mappings": "AAAA,OAAO,SAAS,eAAe;AAE/B,SAAS,iBAAiB;AAE1B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB;AAC/B,SAAS,UAAU,uBAAuB;AAE1C,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAYxB,MAAM,cAA0C,CAAC;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,SACE,oCAAC,gBACE,OAAO,WACN,oCAAC,kBAAe,MAAK,QAAM,EAAE,MAAM,OAAO,CAAE,GAE7C,OAAO,aACN,oCAAC,uBAAiB,EAAE,MAAM,SAAS,CAAE,GAEtC,OAAO,OAAO,IAAI,CAAC,UAClB;AAAA,IAAC;AAAA;AAAA,MACC,KAAK,GAAG,IAAI,GAAG,MAAM,MAAM,IAAI,MAAM,GAAG,KAAK,EAAE;AAAA,MAC/C,MAAM,GAAG,IAAI,GAAG,MAAM,MAAM,IAAI,MAAM,GAAG,KAAK,EAAE;AAAA,MAChD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,SAAS,MAAM,MAAM,GAAG;AAAA,MAC/B;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF,CACD,CACH;AAEJ;AAgBA,MAAM,kBAAkD,CAAC;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,kBAAmC;AAAA,IACvC,MACE,eAAe,UAAU,OAAO,kBAAkB,sBAAsB;AAAA,IAC1E,CAAC,KAAK;AAAA,EACR;AACA,UAAQ,IAAI,KAAK;AACjB,QAAM,cAAc,QAAQ,QAAQ,WAAW,OAAO,IAAI;AAC1D,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,sBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { FieldsetLabelProps, FieldsetCaptionProps, FieldsetBodyProps } from '@digigov/form/Fieldset/types';
3
- import Fieldset from '@digigov/react-core/Fieldset';
3
+ import { Fieldset } from '@digigov/react-core/Fieldset';
4
4
  export declare const FieldsetLabel: React.FC<FieldsetLabelProps>;
5
5
  export declare const FieldsetCaption: React.FC<FieldsetCaptionProps>;
6
6
  export declare const FieldsetBody: React.FC<FieldsetBodyProps>;
package/Fieldset/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
- import Fieldset from "@digigov/react-core/Fieldset";
3
- import FieldsetLegend from "@digigov/react-core/FieldsetLegend";
4
- import Hint from "@digigov/react-core/Hint";
5
- import Grid from "@digigov/ui/layouts/Grid";
6
- import NormalText from "@digigov/ui/typography/NormalText";
2
+ import { Fieldset } from "@digigov/react-core/Fieldset";
3
+ import { FieldsetLegend } from "@digigov/ui/form/FieldContainer";
4
+ import { Grid } from "@digigov/ui/layouts/Grid";
5
+ import { Hint } from "@digigov/ui/typography/Hint";
6
+ import { NormalText } from "@digigov/ui/typography/NormalText";
7
7
  const FieldsetLabel = ({
8
8
  children,
9
9
  ...props
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Fieldset/index.tsx"],
4
- "sourcesContent": ["import React from 'react';\nimport {\n FieldsetLabelProps,\n FieldsetCaptionProps,\n FieldsetBodyProps,\n} from '@digigov/form/Fieldset/types';\nimport Fieldset from '@digigov/react-core/Fieldset';\nimport FieldsetLegend from '@digigov/react-core/FieldsetLegend';\nimport Hint from '@digigov/react-core/Hint';\nimport Grid from '@digigov/ui/layouts/Grid';\nimport NormalText from '@digigov/ui/typography/NormalText';\n\nexport const FieldsetLabel: React.FC<FieldsetLabelProps> = ({\n children,\n ...props\n}) => {\n return (\n <FieldsetLegend heading size=\"xl\" {...props}>\n {children}\n </FieldsetLegend>\n );\n};\n\nexport const FieldsetCaption: React.FC<FieldsetCaptionProps> = ({\n children,\n ...props\n}) => {\n return <Hint {...props}>{children}</Hint>;\n};\n\nexport const FieldsetBody: React.FC<FieldsetBodyProps> = ({ children }) => {\n return (\n <Grid item xs={12}>\n <NormalText>{children}</NormalText>\n </Grid>\n );\n};\n\nexport { Fieldset };\nexport default Fieldset;\n"],
5
- "mappings": "AAAA,OAAO,WAAW;AAMlB,OAAO,cAAc;AACrB,OAAO,oBAAoB;AAC3B,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AAEhB,MAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACE,oCAAC,kBAAe,SAAO,MAAC,MAAK,MAAM,GAAG,SACnC,QACH;AAEJ;AAEO,MAAM,kBAAkD,CAAC;AAAA,EAC9D;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SAAO,oCAAC,QAAM,GAAG,SAAQ,QAAS;AACpC;AAEO,MAAM,eAA4C,CAAC,EAAE,SAAS,MAAM;AACzE,SACE,oCAAC,QAAK,MAAI,MAAC,IAAI,MACb,oCAAC,kBAAY,QAAS,CACxB;AAEJ;AAGA,IAAO,mBAAQ;",
4
+ "sourcesContent": ["import React from 'react';\nimport {\n FieldsetLabelProps,\n FieldsetCaptionProps,\n FieldsetBodyProps,\n} from '@digigov/form/Fieldset/types';\nimport { Fieldset } from '@digigov/react-core/Fieldset';\nimport { FieldsetLegend } from '@digigov/ui/form/FieldContainer';\nimport { Grid } from '@digigov/ui/layouts/Grid';\nimport { Hint } from '@digigov/ui/typography/Hint';\nimport { NormalText } from '@digigov/ui/typography/NormalText';\n\nexport const FieldsetLabel: React.FC<FieldsetLabelProps> = ({\n children,\n ...props\n}) => {\n return (\n <FieldsetLegend heading size=\"xl\" {...props}>\n {children}\n </FieldsetLegend>\n );\n};\n\nexport const FieldsetCaption: React.FC<FieldsetCaptionProps> = ({\n children,\n ...props\n}) => {\n return <Hint {...props}>{children}</Hint>;\n};\n\nexport const FieldsetBody: React.FC<FieldsetBodyProps> = ({ children }) => {\n return (\n <Grid item xs={12}>\n <NormalText>{children}</NormalText>\n </Grid>\n );\n};\n\nexport { Fieldset };\nexport default Fieldset;\n"],
5
+ "mappings": "AAAA,OAAO,WAAW;AAMlB,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,SAAS,YAAY;AACrB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAEpB,MAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACE,oCAAC,kBAAe,SAAO,MAAC,MAAK,MAAM,GAAG,SACnC,QACH;AAEJ;AAEO,MAAM,kBAAkD,CAAC;AAAA,EAC9D;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SAAO,oCAAC,QAAM,GAAG,SAAQ,QAAS;AACpC;AAEO,MAAM,eAA4C,CAAC,EAAE,SAAS,MAAM;AACzE,SACE,oCAAC,QAAK,MAAI,MAAC,IAAI,MACb,oCAAC,kBAAY,QAAS,CACxB;AAEJ;AAGA,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,5 @@
1
- import { FieldsetLegendProps } from '@digigov/react-core/FieldsetLegend';
2
- import { HintProps } from '@digigov/react-core/Hint';
1
+ import { FieldsetLegendProps } from '@digigov/ui/form/FieldContainer';
2
+ import { HintProps } from '@digigov/ui/typography/Hint';
3
3
  export interface FieldsetLabelProps extends FieldsetLegendProps {
4
4
  }
5
5
  export interface FieldsetCaptionProps extends HintProps {
@@ -1,13 +1,13 @@
1
1
  import React, { useCallback, useContext, useRef } from "react";
2
2
  import { useForm } from "react-hook-form";
3
- import Field from "@digigov/form/Field";
3
+ import { Field } from "@digigov/form/Field";
4
4
  import { CONTROLLED_FIELD_COMPONENTS } from "@digigov/form/Field/utils";
5
- import Fieldset from "@digigov/form/Fieldset";
5
+ import { Fieldset } from "@digigov/form/Fieldset";
6
6
  import { FormContext } from "@digigov/form/FormContext";
7
7
  import { yupResolver } from "@digigov/form/utils";
8
8
  import { useValidationSchema } from "@digigov/form/validators";
9
- import { Form } from "@digigov/react-core/Form";
10
9
  import { Button } from "@digigov/ui/form/Button";
10
+ import { Form } from "@digigov/ui/form/Form";
11
11
  const FormBase = React.forwardRef(function FormBase2({
12
12
  onSubmit,
13
13
  children,
@@ -34,7 +34,10 @@ const FormBase = React.forwardRef(function FormBase2({
34
34
  });
35
35
  const handleSubmit = useCallback(
36
36
  (data) => {
37
- onSubmit && onSubmit(data);
37
+ if (onSubmit) {
38
+ form.reset(data);
39
+ onSubmit(data);
40
+ }
38
41
  },
39
42
  [onSubmit]
40
43
  );
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/FormBuilder/index.tsx"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useCallback, useContext, useRef } from 'react';\nimport { useForm } from 'react-hook-form';\nimport Field from '@digigov/form/Field';\nimport { CONTROLLED_FIELD_COMPONENTS } from '@digigov/form/Field/utils';\nimport Fieldset from '@digigov/form/Fieldset';\nimport { FormContext } from '@digigov/form/FormContext';\nimport { FormBaseProps, FormData, FormBuilderProps } from '@digigov/form/types';\nimport { yupResolver } from '@digigov/form/utils';\nimport { useValidationSchema } from '@digigov/form/validators';\nimport { Form } from '@digigov/react-core/Form';\nimport { Button } from '@digigov/ui/form/Button';\n\nconst FormBase = React.forwardRef(function FormBase(\n {\n onSubmit,\n children,\n registerField,\n fieldsMap,\n fieldsetsMap,\n resolver,\n mode,\n initial,\n reValidateMode,\n shouldFocusError,\n criteriaMode,\n componentRegistry,\n grid,\n ...props\n }: FormBaseProps,\n ref: React.Ref<HTMLFormElement>\n) {\n const form = useForm({\n resolver,\n mode,\n defaultValues: initial,\n reValidateMode,\n shouldFocusError,\n criteriaMode,\n });\n\n const handleSubmit = useCallback(\n (data: FormData): void => {\n onSubmit && onSubmit(data);\n },\n [onSubmit]\n );\n const submit = form.handleSubmit(handleSubmit);\n const ctx = {\n fieldsMap,\n fieldsetsMap,\n control: form.control,\n register: form.register,\n watch: form.watch,\n resetField: form.resetField,\n registerField: registerField,\n errors: form.formState.errors,\n formState: form.formState,\n reset: form.reset,\n trigger: form.trigger,\n getFieldState: form.getFieldState,\n setValue: form.setValue,\n clearErrors: form.clearErrors,\n getValues: form.getValues,\n unregister: form.unregister,\n componentRegistry,\n setError: form.setError,\n formRef: ref,\n submit,\n };\n return (\n <FormContext.Provider value={ctx}>\n <Form grid={grid} onSubmit={submit} ref={ref} {...props}>\n {children}\n </Form>\n </FormContext.Provider>\n );\n});\n\nconst useFormContext = () => {\n return useContext(FormContext);\n};\nconst useFormValues = () => {\n const ctx = useFormContext();\n return ctx.getValues();\n};\nconst FormBuilder = React.forwardRef(function FormBuilder(\n {\n fields = [],\n fieldsets,\n initial = {},\n onSubmit,\n children,\n reValidateMode = 'onSubmit',\n mode = 'onSubmit',\n shouldFocusError = true,\n criteriaMode = 'all',\n auto = false,\n validatorRegistry,\n componentRegistry,\n grid = false,\n ...props\n }: FormBuilderProps,\n ref: React.Ref<HTMLFormElement>\n): React.ReactElement {\n const fieldsState = useRef(fields);\n const setFieldsState = useCallback((newFields) => {\n fieldsState.current = newFields;\n }, []);\n const schema = useValidationSchema(fieldsState, validatorRegistry);\n const registerField = useCallback((field) => {\n const fieldIndex = fieldsState.current.findIndex(\n (f) => f.key === field.key\n );\n if (fieldIndex > -1) {\n fieldsState.current[fieldIndex] = field;\n } else {\n fieldsState.current.push(field);\n }\n setFieldsState(fieldsState.current);\n }, []);\n let resolver;\n let fieldsMap;\n let fieldsetsMap;\n let fieldChildren;\n if (schema) {\n resolver = yupResolver(schema);\n fieldsMap = fields\n ? fields.reduce((map, field) => ({ ...map, [field.key]: field }), {})\n : {};\n fieldsetsMap =\n fieldsets &&\n fieldsets.reduce(\n (map, fieldset) => ({ ...map, [fieldset.key]: fieldset }),\n {}\n );\n\n if (auto) {\n if (fieldsets) {\n fieldChildren = fieldsets.map((fieldset) => (\n <Fieldset key={fieldset.key} />\n ));\n } else if (fields) {\n fieldChildren = fields.map((field) => (\n <Field key={field.key} name={field.key} />\n ));\n }\n }\n }\n return (\n <FormBase\n resolver={resolver}\n fieldsetsMap={fieldsetsMap}\n fieldsMap={fieldsMap}\n registerField={registerField}\n initial={initial}\n reValidateMode={reValidateMode}\n mode={mode}\n shouldFocusError={shouldFocusError}\n criteriaMode={criteriaMode}\n onSubmit={onSubmit}\n componentRegistry={componentRegistry}\n ref={ref}\n grid={grid}\n {...props}\n >\n {fieldChildren}\n {auto && <Button type=\"submit\">\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1</Button>}\n {children}\n </FormBase>\n );\n});\nexport const ControlledFormBuilder = (props) => {\n return (\n <FormBuilder {...props} componentRegistry={CONTROLLED_FIELD_COMPONENTS} />\n );\n};\nexport default FormBuilder;\n\nexport { useFormContext, useFormValues, FormBase };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import React, { useCallback, useContext, useRef } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { Field } from '@digigov/form/Field';\nimport { CONTROLLED_FIELD_COMPONENTS } from '@digigov/form/Field/utils';\nimport { Fieldset } from '@digigov/form/Fieldset';\nimport { FormContext } from '@digigov/form/FormContext';\nimport { FormBaseProps, FormData, FormBuilderProps } from '@digigov/form/types';\nimport { yupResolver } from '@digigov/form/utils';\nimport { useValidationSchema } from '@digigov/form/validators';\nimport { Button } from '@digigov/ui/form/Button';\nimport { Form } from '@digigov/ui/form/Form';\n\nconst FormBase = React.forwardRef(function FormBase(\n {\n onSubmit,\n children,\n registerField,\n fieldsMap,\n fieldsetsMap,\n resolver,\n mode,\n initial,\n reValidateMode,\n shouldFocusError,\n criteriaMode,\n componentRegistry,\n grid,\n ...props\n }: FormBaseProps,\n ref: React.Ref<HTMLFormElement>\n) {\n const form = useForm({\n resolver,\n mode,\n defaultValues: initial,\n reValidateMode,\n shouldFocusError,\n criteriaMode,\n });\n\n const handleSubmit = useCallback(\n (data: FormData): void => {\n if (onSubmit) {\n form.reset(data);\n onSubmit(data);\n }\n },\n [onSubmit]\n );\n const submit = form.handleSubmit(handleSubmit);\n const ctx = {\n fieldsMap,\n fieldsetsMap,\n control: form.control,\n register: form.register,\n watch: form.watch,\n resetField: form.resetField,\n registerField: registerField,\n errors: form.formState.errors,\n formState: form.formState,\n reset: form.reset,\n trigger: form.trigger,\n getFieldState: form.getFieldState,\n setValue: form.setValue,\n clearErrors: form.clearErrors,\n getValues: form.getValues,\n unregister: form.unregister,\n componentRegistry,\n setError: form.setError,\n formRef: ref,\n submit,\n };\n return (\n <FormContext.Provider value={ctx}>\n <Form grid={grid} onSubmit={submit} ref={ref} {...props}>\n {children}\n </Form>\n </FormContext.Provider>\n );\n});\n\nconst useFormContext = () => {\n return useContext(FormContext);\n};\nconst useFormValues = () => {\n const ctx = useFormContext();\n return ctx.getValues();\n};\nconst FormBuilder = React.forwardRef(function FormBuilder(\n {\n fields = [],\n fieldsets,\n initial = {},\n onSubmit,\n children,\n reValidateMode = 'onSubmit',\n mode = 'onSubmit',\n shouldFocusError = true,\n criteriaMode = 'all',\n auto = false,\n validatorRegistry,\n componentRegistry,\n grid = false,\n ...props\n }: FormBuilderProps,\n ref: React.Ref<HTMLFormElement>\n): React.ReactElement {\n const fieldsState = useRef(fields);\n const setFieldsState = useCallback((newFields) => {\n fieldsState.current = newFields;\n }, []);\n const schema = useValidationSchema(fieldsState, validatorRegistry);\n const registerField = useCallback((field) => {\n const fieldIndex = fieldsState.current.findIndex(\n (f) => f.key === field.key\n );\n if (fieldIndex > -1) {\n fieldsState.current[fieldIndex] = field;\n } else {\n fieldsState.current.push(field);\n }\n setFieldsState(fieldsState.current);\n }, []);\n let resolver;\n let fieldsMap;\n let fieldsetsMap;\n let fieldChildren;\n if (schema) {\n resolver = yupResolver(schema);\n fieldsMap = fields\n ? fields.reduce((map, field) => ({ ...map, [field.key]: field }), {})\n : {};\n fieldsetsMap =\n fieldsets &&\n fieldsets.reduce(\n (map, fieldset) => ({ ...map, [fieldset.key]: fieldset }),\n {}\n );\n\n if (auto) {\n if (fieldsets) {\n fieldChildren = fieldsets.map((fieldset) => (\n <Fieldset key={fieldset.key} />\n ));\n } else if (fields) {\n fieldChildren = fields.map((field) => (\n <Field key={field.key} name={field.key} />\n ));\n }\n }\n }\n return (\n <FormBase\n resolver={resolver}\n fieldsetsMap={fieldsetsMap}\n fieldsMap={fieldsMap}\n registerField={registerField}\n initial={initial}\n reValidateMode={reValidateMode}\n mode={mode}\n shouldFocusError={shouldFocusError}\n criteriaMode={criteriaMode}\n onSubmit={onSubmit}\n componentRegistry={componentRegistry}\n ref={ref}\n grid={grid}\n {...props}\n >\n {fieldChildren}\n {auto && <Button type=\"submit\">\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1</Button>}\n {children}\n </FormBase>\n );\n});\nexport const ControlledFormBuilder = (props) => {\n return (\n <FormBuilder {...props} componentRegistry={CONTROLLED_FIELD_COMPONENTS} />\n );\n};\nexport default FormBuilder;\n\nexport { useFormContext, useFormValues, FormBase };\n"],
5
+ "mappings": "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",
6
6
  "names": ["FormBase", "FormBuilder"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/FormContext.tsx"],
4
- "sourcesContent": ["import React from 'react';\nimport { createContext } from 'react';\nimport { FormContextProps } from '@digigov/form/types';\n\nexport const FormContext: React.Context<FormContextProps> = createContext({\n fieldsMap: {},\n fieldsetsMap: {},\n} as FormContextProps);\n"],
5
- "mappings": "AACA,SAAS,qBAAqB;AAGvB,MAAM,cAA+C,cAAc;AAAA,EACxE,WAAW,CAAC;AAAA,EACZ,cAAc,CAAC;AACjB,CAAqB;",
4
+ "sourcesContent": ["import React, { createContext } from 'react';\nimport { FormContextProps } from '@digigov/form/types';\n\nexport const FormContext: React.Context<FormContextProps> = createContext({\n fieldsMap: {},\n fieldsetsMap: {},\n} as FormContextProps);\n"],
5
+ "mappings": "AAAA,SAAgB,qBAAqB;AAG9B,MAAM,cAA+C,cAAc;AAAA,EACxE,WAAW,CAAC;AAAA,EACZ,cAAc,CAAC;AACjB,CAAqB;",
6
6
  "names": []
7
7
  }
@@ -9,10 +9,10 @@ import {
9
9
  } from "@digigov/form/Field/utils";
10
10
  import { calculateField } from "@digigov/form/Field/utils/calculateField";
11
11
  import { useField } from "@digigov/form/Field/utils/useField";
12
- import FieldObject from "@digigov/form/FieldObject";
13
- import Fieldset from "@digigov/react-core/Fieldset";
14
- import RadioConditional from "@digigov/react-core/RadioConditional";
15
- import Button from "@digigov/ui/form/Button";
12
+ import { FieldObject } from "@digigov/form/FieldObject";
13
+ import { Fieldset } from "@digigov/form/Fieldset";
14
+ import { Button } from "@digigov/ui/form/Button";
15
+ import { RadioConditional } from "@digigov/ui/form/RadioContainer";
16
16
  const AddObjects = ({
17
17
  name,
18
18
  fields,
@@ -82,8 +82,10 @@ const AddObjects = ({
82
82
  (f) => `${currentName}.${f.key}`
83
83
  );
84
84
  const result = await trigger(nestedFields);
85
- result && setValue("needs-more", "");
86
- result && onStash(getValues(currentName));
85
+ if (result) {
86
+ setValue("needs-more", "");
87
+ onStash(getValues(currentName));
88
+ }
87
89
  }
88
90
  },
89
91
  extra?.label.object.add
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/MultiplicityField/add-objects.tsx"],
4
- "sourcesContent": ["/* eslint-disable react/prop-types */\nimport React, { useEffect, useMemo } from 'react';\nimport {\n ErrorOption,\n FieldArrayWithId,\n UseFieldArrayReturn,\n useWatch,\n} from 'react-hook-form';\nimport { FieldBase } from '@digigov/form/Field/FieldBase';\nimport { CalculatedField } from '@digigov/form/Field/types';\nimport {\n FIELD_COMPONENTS,\n ALTERNATIVE_COMPONENTS,\n} from '@digigov/form/Field/utils';\nimport { calculateField } from '@digigov/form/Field/utils/calculateField';\nimport { useField } from '@digigov/form/Field/utils/useField';\n\nimport FieldObject from '@digigov/form/FieldObject';\nimport type {\n MultiplicityProps,\n StashedObject,\n} from '@digigov/form/MultiplicityField/types';\nimport { FieldSpec } from '@digigov/form/types';\nimport Fieldset from '@digigov/react-core/Fieldset';\nimport RadioConditional from '@digigov/react-core/RadioConditional';\nimport Button from '@digigov/ui/form/Button';\n\nexport interface AddObjectsProps\n extends Omit<MultiplicityProps, 'key' | 'component'> {\n fields: FieldArrayWithId[];\n error?: ErrorOption;\n append: UseFieldArrayReturn['append'];\n remove: UseFieldArrayReturn['remove'];\n stashedObjects: StashedObject[];\n onStash: (arg0: StashedObject) => void;\n children?: React.ReactNode;\n}\n\nexport const AddObjects: React.FC<AddObjectsProps> = ({\n name,\n fields,\n formState,\n extra,\n append,\n remove,\n trigger,\n clearErrors,\n children,\n setValue,\n stashedObjects,\n getValues,\n onStash,\n error,\n Field\n}) => {\n const currentIndex = fields.length > 0 ? fields.length - 1 : fields.length;\n const currentName = `${name}.${currentIndex}`;\n const radioField: FieldSpec = {\n key: 'needs-more',\n type: 'choice:single',\n label: {\n primary: extra?.label.question.title,\n },\n required: true,\n validators: [\n {\n name: 'is-locked',\n message: 'form.error.needs-more',\n test: (data) => {\n return data === 'no';\n },\n },\n ],\n extra: {\n options: [\n {\n label: { primary: extra?.label.question.yes },\n id: `radio-input-${name}-yes`,\n value: 'yes',\n selected: function RadioSelected() {\n return (\n <RadioConditional\n hidden={\n needsMore !== 'yes' ||\n (extra?.max && extra?.max - stashedObjects.length === 0)\n }\n >\n {needsMore === 'yes' && fields.length > 0 && (\n <>\n <FieldObject\n name={currentName}\n error={error && error[currentIndex]}\n register={register}\n formState={formState}\n control={control}\n {...extra?.of}\n label={\n extra?.label.question.objectLabel || extra?.of.label\n }\n />\n <Button\n color=\"secondary\"\n name={`${currentName}-add-object`}\n onClick={async (e) => {\n e.preventDefault();\n const nestedFields = extra?.of.extra.fields.map(\n (f) => `${currentName}.${f.key}`\n );\n const result = await trigger(nestedFields);\n result && setValue('needs-more', '');\n result && onStash(getValues(currentName));\n }}\n >\n {extra?.label.object.add}\n </Button>\n </>\n )}\n </RadioConditional>\n );\n },\n },\n {\n label: { primary: extra?.label.question.no },\n id: `radio-input-${name}-no`,\n value: 'no',\n },\n ],\n },\n };\n\n const {\n field,\n control,\n register,\n reset,\n error: needsMoreError,\n } = useField(radioField.key, radioField?.type ? radioField : null);\n\n const calculatedField: CalculatedField = useMemo(\n () =>\n calculateField(children, field, FIELD_COMPONENTS, ALTERNATIVE_COMPONENTS),\n [field]\n );\n const needsMore = useWatch({ name: field.key, control });\n\n useEffect(() => {\n if (needsMore === 'yes') {\n append({ afm: '', firstName: '', lastName: '' });\n }\n if (needsMore === 'no' && stashedObjects.length < fields.length) {\n remove(currentIndex);\n }\n if (needsMore === '') clearErrors('needs-more');\n }, [needsMore]);\n\n // TODO: Refactor types so that label is always required, the following\n // assignment is a temp fix for typescript build to run\n calculatedField.label = calculatedField.label || {};\n if (extra?.length) {\n calculatedField.label.secondary = `\u0388\u03C7\u03B5\u03C4\u03B5 \u03C0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03B5\u03B9 ${\n stashedObjects.length\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2 \u03BA\u03B1\u03B9 \u03C3\u03B1\u03C2 \u03B1\u03C0\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5\u03BD \u03B1\u03BA\u03CC\u03BC\u03B1 ${\n extra.length - stashedObjects.length\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2.`;\n } else if (extra?.min && extra?.max) {\n calculatedField.label.secondary = `\u03A4\u03BF \u03C0\u03B5\u03B4\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 \u03B1\u03BA\u03CC\u03BC\u03B1 ${\n extra?.min - stashedObjects.length\n } \u03BA\u03B1\u03B9 \u03C4\u03BF \u03BC\u03AD\u03B3\u03B9\u03C3\u03C4\u03BF ${\n extra?.max\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2. \u03A0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03C4\u03B5 \u03BC\u03B9\u03B1 \u03B1\u03BA\u03CC\u03BC\u03B1 \u03B5\u03C0\u03B9\u03BB\u03AD\u03B3\u03BF\u03BD\u03C4\u03B1\u03C2 \u03C4\u03B7\u03BD \u03B1\u03C0\u03AC\u03BD\u03C4\u03B7\u03C3\u03B7 \u00AB\u039D\u03B1\u03B9\u00BB \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03B5\u03C1\u03CE\u03C4\u03B7\u03C3\u03B7.`;\n } else if (extra?.min) {\n calculatedField.label.secondary = `\u03A4\u03BF \u03C0\u03B5\u03B4\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 \u03B1\u03BA\u03CC\u03BC\u03B1 ${\n extra?.min - stashedObjects.length\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2. \u03A0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03C4\u03B5 \u03BC\u03B9\u03B1 \u03B1\u03BA\u03CC\u03BC\u03B1 \u03B5\u03C0\u03B9\u03BB\u03AD\u03B3\u03BF\u03BD\u03C4\u03B1\u03C2 \u03C4\u03B7\u03BD \u03B1\u03C0\u03AC\u03BD\u03C4\u03B7\u03C3\u03B7 \u00AB\u039D\u03B1\u03B9\u00BB \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03B5\u03C1\u03CE\u03C4\u03B7\u03C3\u03B7.`;\n } else if (extra?.max) {\n calculatedField.label.secondary = ` \u0388\u03C7\u03B5\u03C4\u03B5 \u03C0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03B5\u03B9 ${\n stashedObjects.length\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2 \u03BA\u03B1\u03B9 \u03C3\u03B1\u03C2 \u03B1\u03C0\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5\u03BD ${\n extra.max - stashedObjects.length\n } \u03B5\u03C0\u03B9\u03C0\u03BB\u03AD\u03BF\u03BD \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2.`;\n }\n return (\n <Fieldset>\n <FieldBase\n {...calculatedField}\n name={calculatedField.key}\n control={control}\n register={register}\n reset={reset}\n Field={Field}\n error={\n extra?.max - stashedObjects.length === 0 ||\n extra?.length - stashedObjects.length === 0\n ? error\n : needsMoreError\n }\n />\n </Fieldset>\n );\n};\n\nexport default AddObjects;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import React, { useEffect, useMemo } from 'react';\nimport {\n ErrorOption,\n FieldArrayWithId,\n UseFieldArrayReturn,\n useWatch,\n} from 'react-hook-form';\nimport { FieldBase } from '@digigov/form/Field/FieldBase';\nimport { CalculatedField } from '@digigov/form/Field/types';\nimport {\n FIELD_COMPONENTS,\n ALTERNATIVE_COMPONENTS,\n} from '@digigov/form/Field/utils';\nimport { calculateField } from '@digigov/form/Field/utils/calculateField';\nimport { useField } from '@digigov/form/Field/utils/useField';\nimport { FieldObject } from '@digigov/form/FieldObject';\nimport { Fieldset } from '@digigov/form/Fieldset';\nimport type {\n MultiplicityProps,\n StashedObject,\n} from '@digigov/form/MultiplicityField/types';\nimport { FieldSpec } from '@digigov/form/types';\nimport { Button } from '@digigov/ui/form/Button';\nimport { RadioConditional } from '@digigov/ui/form/RadioContainer';\n\nexport interface AddObjectsProps\n extends Omit<MultiplicityProps, 'key' | 'component'> {\n fields: FieldArrayWithId[];\n error?: ErrorOption;\n append: UseFieldArrayReturn['append'];\n remove: UseFieldArrayReturn['remove'];\n stashedObjects: StashedObject[];\n onStash: (arg0: StashedObject) => void;\n children?: React.ReactNode;\n}\n\nexport const AddObjects: React.FC<AddObjectsProps> = ({\n name,\n fields,\n formState,\n extra,\n append,\n remove,\n trigger,\n clearErrors,\n children,\n setValue,\n stashedObjects,\n getValues,\n onStash,\n error,\n Field,\n}) => {\n const currentIndex = fields.length > 0 ? fields.length - 1 : fields.length;\n const currentName = `${name}.${currentIndex}`;\n const radioField: FieldSpec = {\n key: 'needs-more',\n type: 'choice:single',\n label: {\n primary: extra?.label.question.title,\n },\n required: true,\n validators: [\n {\n name: 'is-locked',\n message: 'form.error.needs-more',\n test: (data) => {\n return data === 'no';\n },\n },\n ],\n extra: {\n options: [\n {\n label: { primary: extra?.label.question.yes },\n id: `radio-input-${name}-yes`,\n value: 'yes',\n selected: function RadioSelected() {\n return (\n <RadioConditional\n hidden={\n needsMore !== 'yes' ||\n (extra?.max && extra?.max - stashedObjects.length === 0)\n }\n >\n {needsMore === 'yes' && fields.length > 0 && (\n <>\n <FieldObject\n name={currentName}\n error={error && error[currentIndex]}\n register={register}\n formState={formState}\n control={control}\n {...extra?.of}\n label={\n extra?.label.question.objectLabel || extra?.of.label\n }\n />\n <Button\n color=\"secondary\"\n name={`${currentName}-add-object`}\n onClick={async (e) => {\n e.preventDefault();\n const nestedFields = extra?.of.extra.fields.map(\n (f) => `${currentName}.${f.key}`\n );\n const result = await trigger(nestedFields);\n if (result) {\n setValue('needs-more', '');\n onStash(getValues(currentName));\n }\n }}\n >\n {extra?.label.object.add}\n </Button>\n </>\n )}\n </RadioConditional>\n );\n },\n },\n {\n label: { primary: extra?.label.question.no },\n id: `radio-input-${name}-no`,\n value: 'no',\n },\n ],\n },\n };\n\n const {\n field,\n control,\n register,\n reset,\n error: needsMoreError,\n } = useField(radioField.key, radioField?.type ? radioField : null);\n\n const calculatedField: CalculatedField = useMemo(\n () =>\n calculateField(children, field, FIELD_COMPONENTS, ALTERNATIVE_COMPONENTS),\n [field]\n );\n const needsMore = useWatch({ name: field.key, control });\n\n useEffect(() => {\n if (needsMore === 'yes') {\n append({ afm: '', firstName: '', lastName: '' });\n }\n if (needsMore === 'no' && stashedObjects.length < fields.length) {\n remove(currentIndex);\n }\n if (needsMore === '') clearErrors('needs-more');\n }, [needsMore]);\n\n // TODO: Refactor types so that label is always required, the following\n // assignment is a temp fix for typescript build to run\n calculatedField.label = calculatedField.label || {};\n if (extra?.length) {\n calculatedField.label.secondary = `\u0388\u03C7\u03B5\u03C4\u03B5 \u03C0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03B5\u03B9 ${\n stashedObjects.length\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2 \u03BA\u03B1\u03B9 \u03C3\u03B1\u03C2 \u03B1\u03C0\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5\u03BD \u03B1\u03BA\u03CC\u03BC\u03B1 ${\n extra.length - stashedObjects.length\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2.`;\n } else if (extra?.min && extra?.max) {\n calculatedField.label.secondary = `\u03A4\u03BF \u03C0\u03B5\u03B4\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 \u03B1\u03BA\u03CC\u03BC\u03B1 ${\n extra?.min - stashedObjects.length\n } \u03BA\u03B1\u03B9 \u03C4\u03BF \u03BC\u03AD\u03B3\u03B9\u03C3\u03C4\u03BF ${\n extra?.max\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2. \u03A0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03C4\u03B5 \u03BC\u03B9\u03B1 \u03B1\u03BA\u03CC\u03BC\u03B1 \u03B5\u03C0\u03B9\u03BB\u03AD\u03B3\u03BF\u03BD\u03C4\u03B1\u03C2 \u03C4\u03B7\u03BD \u03B1\u03C0\u03AC\u03BD\u03C4\u03B7\u03C3\u03B7 \u00AB\u039D\u03B1\u03B9\u00BB \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03B5\u03C1\u03CE\u03C4\u03B7\u03C3\u03B7.`;\n } else if (extra?.min) {\n calculatedField.label.secondary = `\u03A4\u03BF \u03C0\u03B5\u03B4\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 \u03B1\u03BA\u03CC\u03BC\u03B1 ${\n extra?.min - stashedObjects.length\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2. \u03A0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03C4\u03B5 \u03BC\u03B9\u03B1 \u03B1\u03BA\u03CC\u03BC\u03B1 \u03B5\u03C0\u03B9\u03BB\u03AD\u03B3\u03BF\u03BD\u03C4\u03B1\u03C2 \u03C4\u03B7\u03BD \u03B1\u03C0\u03AC\u03BD\u03C4\u03B7\u03C3\u03B7 \u00AB\u039D\u03B1\u03B9\u00BB \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03B5\u03C1\u03CE\u03C4\u03B7\u03C3\u03B7.`;\n } else if (extra?.max) {\n calculatedField.label.secondary = ` \u0388\u03C7\u03B5\u03C4\u03B5 \u03C0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03B5\u03B9 ${\n stashedObjects.length\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2 \u03BA\u03B1\u03B9 \u03C3\u03B1\u03C2 \u03B1\u03C0\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5\u03BD ${\n extra.max - stashedObjects.length\n } \u03B5\u03C0\u03B9\u03C0\u03BB\u03AD\u03BF\u03BD \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2.`;\n }\n return (\n <Fieldset>\n <FieldBase\n {...calculatedField}\n name={calculatedField.key}\n control={control}\n register={register}\n reset={reset}\n Field={Field}\n error={\n extra?.max - stashedObjects.length === 0 ||\n extra?.length - stashedObjects.length === 0\n ? error\n : needsMoreError\n }\n />\n </Fieldset>\n );\n};\n\nexport default AddObjects;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,14 +1,16 @@
1
1
  import React, { useState } from "react";
2
2
  import { useFieldArray } from "react-hook-form";
3
- import FieldContainer from "@digigov/form/Field/FieldBaseContainer";
4
- import FieldObject from "@digigov/form/FieldObject";
5
- import AddObjects from "@digigov/form/MultiplicityField/add-objects";
6
- import { Button } from "@digigov/react-core/Button";
7
- import { Card } from "@digigov/react-core/Card";
8
- import { CardAction } from "@digigov/react-core/CardAction";
9
- import { CardContent } from "@digigov/react-core/CardContent";
10
- import { CardHeading } from "@digigov/react-core/CardHeading";
11
- import { Heading } from "@digigov/react-core/Heading";
3
+ import { FieldBaseContainer } from "@digigov/form/Field/FieldBaseContainer";
4
+ import { FieldObject } from "@digigov/form/FieldObject";
5
+ import { AddObjects } from "@digigov/form/MultiplicityField/add-objects";
6
+ import {
7
+ Card,
8
+ CardHeading,
9
+ CardContent,
10
+ CardAction
11
+ } from "@digigov/ui/content/Card";
12
+ import { Button } from "@digigov/ui/form/Button";
13
+ import { Heading } from "@digigov/ui/typography/Heading";
12
14
  const Multiplicity = ({
13
15
  extra,
14
16
  name,
@@ -40,7 +42,7 @@ const Multiplicity = ({
40
42
  setStashedObjects(newStashedObjects);
41
43
  };
42
44
  return /* @__PURE__ */ React.createElement(
43
- FieldContainer,
45
+ FieldBaseContainer,
44
46
  {
45
47
  label,
46
48
  layout,
@@ -99,7 +101,7 @@ const ListObject = ({
99
101
  // onEdit,
100
102
  }) => {
101
103
  const currentName = `${name}.${index}`;
102
- return /* @__PURE__ */ React.createElement(Card, { variant: extra?.border && "border" }, /* @__PURE__ */ React.createElement(CardHeading, null, extra?.label.object.title, " #", index + 1), /* @__PURE__ */ React.createElement(CardContent, null, /* @__PURE__ */ React.createElement(
104
+ return /* @__PURE__ */ React.createElement(Card, { variant: extra?.border ? "border" : "divider" }, /* @__PURE__ */ React.createElement(CardHeading, null, extra?.label.object.title, " #", index + 1), /* @__PURE__ */ React.createElement(CardContent, null, /* @__PURE__ */ React.createElement(
103
105
  FieldObject,
104
106
  {
105
107
  name: currentName,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/MultiplicityField/index.tsx"],
4
- "sourcesContent": ["import React, { useState } from 'react';\nimport { useFieldArray, UseFormReturn } from 'react-hook-form';\nimport FieldContainer from '@digigov/form/Field/FieldBaseContainer';\n\nimport FieldObject from '@digigov/form/FieldObject';\nimport AddObjects from '@digigov/form/MultiplicityField/add-objects';\nimport {\n MultiplicityProps,\n StashedObject,\n} from '@digigov/form/MultiplicityField/types';\nimport { Button } from '@digigov/react-core/Button';\nimport { Card } from '@digigov/react-core/Card';\nimport { CardAction } from '@digigov/react-core/CardAction';\nimport { CardContent } from '@digigov/react-core/CardContent';\nimport { CardHeading } from '@digigov/react-core/CardHeading';\nimport { Heading } from '@digigov/react-core/Heading';\n\n// epeidh einai forwardRef to ref mas to dinei xwrista apo ta props\nexport const Multiplicity: React.FC<MultiplicityProps> = ({\n extra,\n name,\n control,\n error,\n register,\n trigger,\n clearErrors,\n formState,\n label,\n layout,\n setValue,\n getValues,\n unregister,\n Field,\n}) => {\n const { fields, append, remove } = useFieldArray({\n control,\n name,\n });\n const [stashedObjects, setStashedObjects] = useState<StashedObject[]>([]);\n const handleStash = (data) => {\n setStashedObjects([...stashedObjects, data]);\n };\n const handleDelete = (index) => {\n remove(index);\n // creating a new array to maintain immutability\n const newStashedObjects = [...stashedObjects];\n newStashedObjects.splice(index, 1);\n setStashedObjects(newStashedObjects);\n };\n return (\n <FieldContainer\n label={label}\n layout={layout}\n error={\n formState.isSubmitted && !formState.isSubmitting && error?.message\n ? error\n : undefined\n }\n wrapper=\"fieldset\"\n name={name}\n >\n {stashedObjects.length > 0 ? (\n <div>\n <Heading size=\"md\">{extra?.label.object.title_added}</Heading>\n {stashedObjects.map((_Object, index) => {\n return (\n <ListObject\n key={`${name}.${index}`}\n index={index}\n name={name}\n extra={extra}\n control={control}\n register={register}\n formState={formState}\n onDelete={handleDelete}\n />\n );\n })}\n </div>\n ) : (\n ''\n )}\n <AddObjects\n name={name}\n register={register}\n control={control}\n fields={fields}\n formState={formState}\n error={error}\n stashedObjects={stashedObjects}\n extra={extra}\n append={append}\n remove={remove}\n onStash={handleStash}\n setValue={setValue}\n getValues={getValues}\n unregister={unregister}\n trigger={trigger}\n clearErrors={clearErrors}\n Field={Field}\n />\n </FieldContainer>\n );\n};\n\nexport default Multiplicity;\n\nexport interface ListObjectProps {\n index: number;\n name: string;\n control: UseFormReturn['control'];\n register: UseFormReturn['register'];\n formState: UseFormReturn['formState'];\n onDelete: (index: number) => void;\n extra?: Record<string, any>;\n}\n\nexport const ListObject: React.FC<ListObjectProps> = ({\n index,\n name,\n extra,\n control,\n register,\n onDelete,\n formState,\n // onEdit,\n}) => {\n const currentName = `${name}.${index}`;\n return (\n <Card variant={extra?.border && 'border'}>\n <CardHeading>\n {extra?.label.object.title} #{index + 1}\n </CardHeading>\n <CardContent>\n <FieldObject\n name={currentName}\n formState={formState}\n register={register}\n control={control}\n {...extra?.of}\n />\n </CardContent>\n <CardAction>\n <Button type=\"button\" variant=\"link\" onClick={() => onDelete(index)}>\n {extra?.label.object.delete}\n </Button>\n </CardAction>\n </Card>\n );\n};\n"],
5
- "mappings": "AAAA,OAAO,SAAS,gBAAgB;AAChC,SAAS,qBAAoC;AAC7C,OAAO,oBAAoB;AAE3B,OAAO,iBAAiB;AACxB,OAAO,gBAAgB;AAKvB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAC5B,SAAS,eAAe;AAGjB,MAAM,eAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,QAAQ,QAAQ,OAAO,IAAI,cAAc;AAAA,IAC/C;AAAA,IACA;AAAA,EACF,CAAC;AACD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAA0B,CAAC,CAAC;AACxE,QAAM,cAAc,CAAC,SAAS;AAC5B,sBAAkB,CAAC,GAAG,gBAAgB,IAAI,CAAC;AAAA,EAC7C;AACA,QAAM,eAAe,CAAC,UAAU;AAC9B,WAAO,KAAK;AAEZ,UAAM,oBAAoB,CAAC,GAAG,cAAc;AAC5C,sBAAkB,OAAO,OAAO,CAAC;AACjC,sBAAkB,iBAAiB;AAAA,EACrC;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,OACE,UAAU,eAAe,CAAC,UAAU,gBAAgB,OAAO,UACvD,QACA;AAAA,MAEN,SAAQ;AAAA,MACR;AAAA;AAAA,IAEC,eAAe,SAAS,IACvB,oCAAC,aACC,oCAAC,WAAQ,MAAK,QAAM,OAAO,MAAM,OAAO,WAAY,GACnD,eAAe,IAAI,CAAC,SAAS,UAAU;AACtC,aACE;AAAA,QAAC;AAAA;AAAA,UACC,KAAK,GAAG,IAAI,IAAI,KAAK;AAAA,UACrB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU;AAAA;AAAA,MACZ;AAAA,IAEJ,CAAC,CACH,IAEA;AAAA,IAEF;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,EACF;AAEJ;AAEA,IAAO,4BAAQ;AAYR,MAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAEF,MAAM;AACJ,QAAM,cAAc,GAAG,IAAI,IAAI,KAAK;AACpC,SACE,oCAAC,QAAK,SAAS,OAAO,UAAU,YAC9B,oCAAC,mBACE,OAAO,MAAM,OAAO,OAAM,MAAG,QAAQ,CACxC,GACA,oCAAC,mBACC;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG,OAAO;AAAA;AAAA,EACb,CACF,GACA,oCAAC,kBACC,oCAAC,UAAO,MAAK,UAAS,SAAQ,QAAO,SAAS,MAAM,SAAS,KAAK,KAC/D,OAAO,MAAM,OAAO,MACvB,CACF,CACF;AAEJ;",
4
+ "sourcesContent": ["import React, { useState } from 'react';\nimport { useFieldArray, UseFormReturn } from 'react-hook-form';\nimport { FieldBaseContainer } from '@digigov/form/Field/FieldBaseContainer';\nimport { FieldObject } from '@digigov/form/FieldObject';\nimport { AddObjects } from '@digigov/form/MultiplicityField/add-objects';\nimport {\n MultiplicityProps,\n StashedObject,\n} from '@digigov/form/MultiplicityField/types';\nimport {\n Card,\n CardHeading,\n CardContent,\n CardAction,\n} from '@digigov/ui/content/Card';\nimport { Button } from '@digigov/ui/form/Button';\nimport { Heading } from '@digigov/ui/typography/Heading';\n\n// epeidh einai forwardRef to ref mas to dinei xwrista apo ta props\nexport const Multiplicity: React.FC<MultiplicityProps> = ({\n extra,\n name,\n control,\n error,\n register,\n trigger,\n clearErrors,\n formState,\n label,\n layout,\n setValue,\n getValues,\n unregister,\n Field,\n}) => {\n const { fields, append, remove } = useFieldArray({\n control,\n name,\n });\n const [stashedObjects, setStashedObjects] = useState<StashedObject[]>([]);\n const handleStash = (data) => {\n setStashedObjects([...stashedObjects, data]);\n };\n const handleDelete = (index) => {\n remove(index);\n // creating a new array to maintain immutability\n const newStashedObjects = [...stashedObjects];\n newStashedObjects.splice(index, 1);\n setStashedObjects(newStashedObjects);\n };\n return (\n <FieldBaseContainer\n label={label}\n layout={layout}\n error={\n formState.isSubmitted && !formState.isSubmitting && error?.message\n ? error\n : undefined\n }\n wrapper=\"fieldset\"\n name={name}\n >\n {stashedObjects.length > 0 ? (\n <div>\n <Heading size=\"md\">{extra?.label.object.title_added}</Heading>\n {stashedObjects.map((_Object, index) => {\n return (\n <ListObject\n key={`${name}.${index}`}\n index={index}\n name={name}\n extra={extra}\n control={control}\n register={register}\n formState={formState}\n onDelete={handleDelete}\n />\n );\n })}\n </div>\n ) : (\n ''\n )}\n <AddObjects\n name={name}\n register={register}\n control={control}\n fields={fields}\n formState={formState}\n error={error}\n stashedObjects={stashedObjects}\n extra={extra}\n append={append}\n remove={remove}\n onStash={handleStash}\n setValue={setValue}\n getValues={getValues}\n unregister={unregister}\n trigger={trigger}\n clearErrors={clearErrors}\n Field={Field}\n />\n </FieldBaseContainer>\n );\n};\n\nexport default Multiplicity;\n\nexport interface ListObjectProps {\n index: number;\n name: string;\n control: UseFormReturn['control'];\n register: UseFormReturn['register'];\n formState: UseFormReturn['formState'];\n onDelete: (index: number) => void;\n extra?: Record<string, any>;\n}\n\nexport const ListObject: React.FC<ListObjectProps> = ({\n index,\n name,\n extra,\n control,\n register,\n onDelete,\n formState,\n // onEdit,\n}) => {\n const currentName = `${name}.${index}`;\n return (\n <Card variant={extra?.border ? 'border' : 'divider'}>\n <CardHeading>\n {extra?.label.object.title} #{index + 1}\n </CardHeading>\n <CardContent>\n <FieldObject\n name={currentName}\n formState={formState}\n register={register}\n control={control}\n {...extra?.of}\n />\n </CardContent>\n <CardAction>\n <Button type=\"button\" variant=\"link\" onClick={() => onDelete(index)}>\n {extra?.label.object.delete}\n </Button>\n </CardAction>\n </Card>\n );\n};\n"],
5
+ "mappings": "AAAA,OAAO,SAAS,gBAAgB;AAChC,SAAS,qBAAoC;AAC7C,SAAS,0BAA0B;AACnC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAK3B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AACvB,SAAS,eAAe;AAGjB,MAAM,eAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,QAAQ,QAAQ,OAAO,IAAI,cAAc;AAAA,IAC/C;AAAA,IACA;AAAA,EACF,CAAC;AACD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAA0B,CAAC,CAAC;AACxE,QAAM,cAAc,CAAC,SAAS;AAC5B,sBAAkB,CAAC,GAAG,gBAAgB,IAAI,CAAC;AAAA,EAC7C;AACA,QAAM,eAAe,CAAC,UAAU;AAC9B,WAAO,KAAK;AAEZ,UAAM,oBAAoB,CAAC,GAAG,cAAc;AAC5C,sBAAkB,OAAO,OAAO,CAAC;AACjC,sBAAkB,iBAAiB;AAAA,EACrC;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,OACE,UAAU,eAAe,CAAC,UAAU,gBAAgB,OAAO,UACvD,QACA;AAAA,MAEN,SAAQ;AAAA,MACR;AAAA;AAAA,IAEC,eAAe,SAAS,IACvB,oCAAC,aACC,oCAAC,WAAQ,MAAK,QAAM,OAAO,MAAM,OAAO,WAAY,GACnD,eAAe,IAAI,CAAC,SAAS,UAAU;AACtC,aACE;AAAA,QAAC;AAAA;AAAA,UACC,KAAK,GAAG,IAAI,IAAI,KAAK;AAAA,UACrB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU;AAAA;AAAA,MACZ;AAAA,IAEJ,CAAC,CACH,IAEA;AAAA,IAEF;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,EACF;AAEJ;AAEA,IAAO,4BAAQ;AAYR,MAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAEF,MAAM;AACJ,QAAM,cAAc,GAAG,IAAI,IAAI,KAAK;AACpC,SACE,oCAAC,QAAK,SAAS,OAAO,SAAS,WAAW,aACxC,oCAAC,mBACE,OAAO,MAAM,OAAO,OAAM,MAAG,QAAQ,CACxC,GACA,oCAAC,mBACC;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG,OAAO;AAAA;AAAA,EACb,CACF,GACA,oCAAC,kBACC,oCAAC,UAAO,MAAK,UAAS,SAAQ,QAAO,SAAS,MAAM,SAAS,KAAK,KAC/D,OAAO,MAAM,OAAO,MACvB,CACF,CACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,5 @@
1
1
  import { ErrorOption, UseFormReturn } from 'react-hook-form';
2
- import { FieldSpec } from '@digigov/form/Field/types';
3
- import { ControlledFieldProps } from '@digigov/form/Field/types';
2
+ import { FieldSpec, ControlledFieldProps } from '@digigov/form/Field/types';
4
3
  export interface MultiplicityProps extends Omit<ControlledFieldProps, 'value' | 'onChange' | 'error' | 'extra'> {
5
4
  name: string;
6
5
  control: UseFormReturn['control'];