@digigov/form 2.0.0-2445d5cb → 2.0.0-254f7786

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 (524) hide show
  1. package/Field/FieldBase/index.js +1 -0
  2. package/Field/FieldBase.js.map +2 -2
  3. package/Field/FieldBaseContainer/index.js +2 -2
  4. package/Field/FieldBaseContainer.js.map +2 -2
  5. package/Field/FieldConditional/index.js +7 -3
  6. package/Field/FieldConditional.js.map +2 -2
  7. package/Field/index.js +5 -2
  8. package/Field/index.js.map +2 -2
  9. package/Field/types.d.ts +10 -8
  10. package/Field/utils/index.d.ts +1 -0
  11. package/Field/utils/index.js +18 -1
  12. package/Field/utils/index.js.map +2 -2
  13. package/FieldArray/index.d.ts +1 -0
  14. package/FieldArray/index.js +7 -6
  15. package/FieldArray/index.js.map +2 -2
  16. package/FieldObject/index.d.ts +2 -0
  17. package/FieldObject/index.js +9 -5
  18. package/FieldObject/index.js.map +2 -2
  19. package/Fieldset/index.d.ts +1 -1
  20. package/Fieldset/index.js +5 -5
  21. package/Fieldset/index.js.map +2 -2
  22. package/Fieldset/types.d.ts +2 -3
  23. package/FormBuilder/index.d.ts +8 -2
  24. package/FormBuilder/index.js +150 -6
  25. package/FormBuilder/index.js.map +3 -3
  26. package/FormContext.js.map +2 -2
  27. package/MultiplicityField/add-objects/index.js +11 -7
  28. package/MultiplicityField/add-objects.js.map +2 -2
  29. package/MultiplicityField/index.js +16 -12
  30. package/MultiplicityField/index.js.map +2 -2
  31. package/MultiplicityField/types.d.ts +1 -2
  32. package/Questions/Questions/index.js +5 -4
  33. package/Questions/Questions.js.map +2 -2
  34. package/Questions/QuestionsContext.d.ts +0 -1
  35. package/Questions/Step/StepArrayReview.js.map +2 -2
  36. package/Questions/Step/StepContext.d.ts +0 -1
  37. package/Questions/Step/StepTitle/index.js +4 -3
  38. package/Questions/Step/StepTitle.d.ts +1 -1
  39. package/Questions/Step/StepTitle.js.map +2 -2
  40. package/Questions/Step/types.d.ts +0 -1
  41. package/Questions/types.d.ts +0 -1
  42. package/cjs/Field/FieldBase/index.js +1 -0
  43. package/cjs/Field/FieldBase.js.map +2 -2
  44. package/cjs/Field/FieldBaseContainer/index.js +4 -4
  45. package/cjs/Field/FieldBaseContainer.js.map +3 -3
  46. package/cjs/Field/FieldConditional/index.js +7 -3
  47. package/cjs/Field/FieldConditional.js.map +2 -2
  48. package/cjs/Field/index.js +5 -2
  49. package/cjs/Field/index.js.map +2 -2
  50. package/cjs/Field/types.js.map +1 -1
  51. package/cjs/Field/utils/index.js +18 -0
  52. package/cjs/Field/utils/index.js.map +2 -2
  53. package/cjs/FieldArray/index.js +8 -7
  54. package/cjs/FieldArray/index.js.map +3 -3
  55. package/cjs/FieldObject/index.js +10 -6
  56. package/cjs/FieldObject/index.js.map +3 -3
  57. package/cjs/Fieldset/index.js +10 -10
  58. package/cjs/Fieldset/index.js.map +3 -3
  59. package/cjs/Fieldset/types.js.map +1 -1
  60. package/cjs/FormBuilder/index.js +165 -5
  61. package/cjs/FormBuilder/index.js.map +3 -3
  62. package/cjs/FormContext/index.js +2 -2
  63. package/cjs/FormContext.js.map +3 -3
  64. package/cjs/MultiplicityField/add-objects/index.js +15 -11
  65. package/cjs/MultiplicityField/add-objects.js.map +3 -3
  66. package/cjs/MultiplicityField/index.js +15 -16
  67. package/cjs/MultiplicityField/index.js.map +3 -3
  68. package/cjs/MultiplicityField/types.js.map +1 -1
  69. package/cjs/Questions/Questions/index.js +5 -4
  70. package/cjs/Questions/Questions.js.map +2 -2
  71. package/cjs/Questions/Step/StepArrayReview.js.map +2 -2
  72. package/cjs/Questions/Step/StepTitle/index.js +5 -5
  73. package/cjs/Questions/Step/StepTitle.js.map +3 -3
  74. package/cjs/index.js +11 -155
  75. package/cjs/index.js.map +4 -4
  76. package/cjs/inputs/AutoCompleteInput/index.js +10 -8
  77. package/cjs/inputs/AutoCompleteInput/index.js.map +3 -3
  78. package/cjs/inputs/Checkboxes/index.js +7 -9
  79. package/cjs/inputs/Checkboxes/index.js.map +3 -3
  80. package/cjs/inputs/DateInput/index.js +4 -5
  81. package/cjs/inputs/DateInput/index.js.map +3 -3
  82. package/cjs/inputs/FileInput/index.js +8 -9
  83. package/cjs/inputs/FileInput/index.js.map +3 -3
  84. package/cjs/inputs/ImageInput/index.js +9 -9
  85. package/cjs/inputs/ImageInput/index.js.map +3 -3
  86. package/cjs/inputs/Input/index.js +19 -6
  87. package/cjs/inputs/Input/index.js.map +3 -3
  88. package/cjs/inputs/Input/inputsInputScenarios.js.map +2 -2
  89. package/cjs/inputs/Label/index.js +3 -3
  90. package/cjs/inputs/Label/index.js.map +3 -3
  91. package/cjs/inputs/OtpInput/index.js.map +2 -2
  92. package/cjs/inputs/Radio/index.js +56 -10
  93. package/cjs/inputs/Radio/index.js.map +3 -3
  94. package/cjs/inputs/Select/index.js +3 -4
  95. package/cjs/inputs/Select/index.js.map +3 -3
  96. package/cjs/inputs/inputsScenarios/index.js +4 -11
  97. package/cjs/inputs/inputsScenarios.js.map +2 -2
  98. package/cjs/lazy/index.js +40 -35
  99. package/cjs/lazy.js.map +3 -3
  100. package/cjs/locales/el.js.map +1 -1
  101. package/cjs/registry/index.js +64 -62
  102. package/cjs/registry.js.map +3 -3
  103. package/cjs/types.js.map +1 -1
  104. package/cjs/utils/index.js +2 -1
  105. package/cjs/utils.js.map +2 -2
  106. package/cjs/validators/index.js +16 -66
  107. package/cjs/validators/index.js.map +3 -3
  108. package/cjs/validators/utils/date/index.js +138 -0
  109. package/cjs/validators/utils/date.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 +3 -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.d.ts +5 -8
  118. package/index.js +9 -152
  119. package/index.js.map +4 -4
  120. package/inputs/AutoCompleteInput/index.d.ts +1 -1
  121. package/inputs/AutoCompleteInput/index.js +12 -8
  122. package/inputs/AutoCompleteInput/index.js.map +2 -2
  123. package/inputs/Checkboxes/index.d.ts +1 -1
  124. package/inputs/Checkboxes/index.js +8 -6
  125. package/inputs/Checkboxes/index.js.map +2 -2
  126. package/inputs/DateInput/index.d.ts +1 -2
  127. package/inputs/DateInput/index.js +6 -4
  128. package/inputs/DateInput/index.js.map +2 -2
  129. package/inputs/FileInput/index.js +6 -7
  130. package/inputs/FileInput/index.js.map +2 -2
  131. package/inputs/ImageInput/ImageInput.stories.d.ts +1 -1
  132. package/inputs/ImageInput/__stories__/MaxSize.d.ts +3 -0
  133. package/inputs/ImageInput/index.js +8 -8
  134. package/inputs/ImageInput/index.js.map +2 -2
  135. package/inputs/Input/index.js +17 -4
  136. package/inputs/Input/index.js.map +3 -3
  137. package/inputs/Input/inputsInputScenarios.js.map +2 -2
  138. package/inputs/Label/index.d.ts +0 -2
  139. package/inputs/Label/index.js +2 -2
  140. package/inputs/Label/index.js.map +2 -2
  141. package/inputs/OtpInput/index.js.map +2 -2
  142. package/inputs/Radio/index.d.ts +5 -1
  143. package/inputs/Radio/index.js +57 -8
  144. package/inputs/Radio/index.js.map +2 -2
  145. package/inputs/Select/index.d.ts +1 -1
  146. package/inputs/Select/index.js +4 -2
  147. package/inputs/Select/index.js.map +2 -2
  148. package/inputs/inputsScenarios/index.js +4 -11
  149. package/inputs/inputsScenarios.d.ts +0 -42
  150. package/inputs/inputsScenarios.js.map +2 -2
  151. package/lazy/index.js +66 -65
  152. package/locales/el.js.map +1 -1
  153. package/package.json +4 -4
  154. package/registry/index.js +108 -107
  155. package/src/Field/FieldBase.tsx +1 -0
  156. package/src/Field/FieldBaseContainer.tsx +2 -2
  157. package/src/Field/FieldConditional.tsx +4 -0
  158. package/src/Field/index.tsx +4 -1
  159. package/src/Field/types.tsx +10 -8
  160. package/src/Field/utils/index.ts +18 -1
  161. package/src/FieldArray/index.test.tsx +14 -13
  162. package/src/FieldArray/index.tsx +9 -6
  163. package/src/FieldObject/index.tsx +8 -2
  164. package/src/Fieldset/index.tsx +5 -5
  165. package/src/Fieldset/types.tsx +2 -2
  166. package/src/FormBuilder/{FormBuilder.mdx → doc.mdx} +20 -33
  167. package/src/FormBuilder/index.test.tsx +11 -10
  168. package/src/FormBuilder/index.tsx +178 -7
  169. package/src/FormBuilder/scenarios.test.tsx +2 -2
  170. package/src/FormContext.tsx +1 -2
  171. package/src/MultiplicityField/add-objects.tsx +10 -8
  172. package/src/MultiplicityField/{MultiplicityField.mdx → doc.mdx} +12 -16
  173. package/src/MultiplicityField/index.test.tsx +26 -25
  174. package/src/MultiplicityField/index.tsx +15 -12
  175. package/src/MultiplicityField/types.ts +1 -2
  176. package/src/Questions/Questions.tsx +4 -4
  177. package/src/Questions/Step/StepArrayReview.tsx +1 -1
  178. package/src/Questions/Step/StepTitle.tsx +4 -3
  179. package/src/Questions/__snapshots__/index.spec.tsx.snap +8 -4
  180. package/src/Questions/{index.mdx → doc.mdx} +9 -12
  181. package/src/Questions/index.spec.tsx +6 -2
  182. package/src/Questions/index.test.tsx +11 -10
  183. package/src/create-simple-form.mdx +2 -6
  184. package/src/{index.mdx → doc.mdx} +4 -8
  185. package/src/index.ts +6 -0
  186. package/src/inputs/AutoCompleteInput/__stories__/Default.tsx +2 -10
  187. package/src/inputs/AutoCompleteInput/__stories__/Multiple.tsx +1 -8
  188. package/src/inputs/AutoCompleteInput/{index.mdx → doc.mdx} +2 -13
  189. package/src/inputs/AutoCompleteInput/index.test.tsx +14 -13
  190. package/src/inputs/AutoCompleteInput/index.tsx +36 -31
  191. package/src/inputs/Checkboxes/{index.mdx → doc.mdx} +5 -15
  192. package/src/inputs/Checkboxes/index.tsx +10 -8
  193. package/src/inputs/DateInput/__stories__/Default.tsx +7 -12
  194. package/src/inputs/DateInput/{index.mdx → doc.mdx} +1 -8
  195. package/src/inputs/DateInput/index.test.tsx +11 -10
  196. package/src/inputs/DateInput/index.tsx +6 -4
  197. package/src/inputs/FileInput/{index.mdx → doc.mdx} +1 -5
  198. package/src/inputs/FileInput/index.test.tsx +11 -10
  199. package/src/inputs/FileInput/index.tsx +7 -8
  200. package/src/inputs/ImageInput/ImageInput.stories.js +1 -1
  201. package/src/inputs/ImageInput/__stories__/MaxSize.tsx +37 -0
  202. package/src/inputs/ImageInput/__stories__/WithInvalidImageDimension.tsx +2 -0
  203. package/src/inputs/ImageInput/doc.mdx +23 -0
  204. package/src/inputs/ImageInput/index.test.tsx +21 -16
  205. package/src/inputs/ImageInput/index.tsx +10 -15
  206. package/src/inputs/Input/__stories__/LandlineNumber.tsx +2 -1
  207. package/src/inputs/Input/__stories__/MobilePhone.tsx +1 -0
  208. package/src/inputs/Input/__stories__/PhoneNumber.tsx +1 -0
  209. package/src/inputs/Input/__stories__/PostalCode.tsx +1 -0
  210. package/src/inputs/Input/doc.mdx +56 -0
  211. package/src/inputs/Input/index.test.tsx +38 -37
  212. package/src/inputs/Input/index.tsx +32 -29
  213. package/src/inputs/Input/inputsInputScenarios.ts +244 -245
  214. package/src/inputs/Label/doc.mdx +14 -0
  215. package/src/inputs/Label/index.test.tsx +11 -10
  216. package/src/inputs/Label/index.tsx +2 -6
  217. package/src/inputs/OtpInput/{index.mdx → doc.mdx} +1 -8
  218. package/src/inputs/OtpInput/index.test.tsx +11 -10
  219. package/src/inputs/OtpInput/index.tsx +2 -1
  220. package/src/inputs/Radio/__stories__/Conditional.tsx +2 -1
  221. package/src/inputs/Radio/{index.mdx → doc.mdx} +5 -15
  222. package/src/inputs/Radio/index.test.tsx +17 -16
  223. package/src/inputs/Radio/index.tsx +76 -10
  224. package/src/inputs/Select/{index.mdx → doc.mdx} +1 -5
  225. package/src/inputs/Select/index.test.tsx +11 -10
  226. package/src/inputs/Select/index.tsx +5 -3
  227. package/src/inputs/inputsScenarios.ts +174 -181
  228. package/src/installation.mdx +2 -5
  229. package/src/locales/el.ts +1 -1
  230. package/src/types.tsx +3 -2
  231. package/src/utils.ts +2 -2
  232. package/src/validators/index.ts +33 -71
  233. package/src/validators/utils/date.ts +107 -0
  234. package/src/validators/utils/file.ts +5 -3
  235. package/src/validators/utils/index.ts +1 -0
  236. package/src/validators/utils/phone.ts +1 -1
  237. package/src/validators/utils/postal_code.ts +1 -1
  238. package/src/validators/utils/uuid4.ts +2 -1
  239. package/src/validators/validators.spec.ts +3 -3
  240. package/types.d.ts +3 -3
  241. package/types.js.map +1 -1
  242. package/utils/index.js +2 -1
  243. package/utils.js.map +2 -2
  244. package/validators/index.js +20 -67
  245. package/validators/index.js.map +2 -2
  246. package/validators/utils/date/index.js +103 -0
  247. package/{Form.stories → validators/utils/date}/package.json +1 -1
  248. package/validators/utils/date.d.ts +9 -0
  249. package/validators/utils/date.js.map +7 -0
  250. package/validators/utils/file/index.js +1 -1
  251. package/validators/utils/file.js.map +2 -2
  252. package/validators/utils/index.d.ts +1 -0
  253. package/validators/utils/index.js +1 -0
  254. package/validators/utils/index.js.map +2 -2
  255. package/validators/utils/phone.d.ts +1 -1
  256. package/validators/utils/phone.js.map +2 -2
  257. package/validators/utils/postal_code.d.ts +1 -1
  258. package/validators/utils/postal_code.js.map +1 -1
  259. package/validators/utils/uuid4.js.map +2 -2
  260. package/FieldArray/FieldArray.stories/index.js +0 -14
  261. package/FieldArray/FieldArray.stories/package.json +0 -6
  262. package/FieldArray/FieldArray.stories.js.map +0 -7
  263. package/FieldArray/__stories__/Default/index.js +0 -95
  264. package/FieldArray/__stories__/Default/package.json +0 -6
  265. package/FieldArray/__stories__/Default.js.map +0 -7
  266. package/FieldArray/__stories__/WithExactLength/index.js +0 -95
  267. package/FieldArray/__stories__/WithExactLength/package.json +0 -6
  268. package/FieldArray/__stories__/WithExactLength.js.map +0 -7
  269. package/Form.stories/index.js +0 -7
  270. package/Form.stories.js.map +0 -7
  271. package/FormBuilder/FormBuilder.stories/index.js +0 -12
  272. package/FormBuilder/FormBuilder.stories/package.json +0 -6
  273. package/FormBuilder/FormBuilder.stories.js.map +0 -7
  274. package/FormBuilder/__stories__/Default/index.js +0 -32
  275. package/FormBuilder/__stories__/Default/package.json +0 -6
  276. package/FormBuilder/__stories__/Default.js.map +0 -7
  277. package/MultiplicityField/MultiplicityField.stories/index.js +0 -22
  278. package/MultiplicityField/MultiplicityField.stories/package.json +0 -6
  279. package/MultiplicityField/MultiplicityField.stories.js.map +0 -7
  280. package/MultiplicityField/__stories__/Default/index.js +0 -100
  281. package/MultiplicityField/__stories__/Default/package.json +0 -6
  282. package/MultiplicityField/__stories__/Default.js.map +0 -7
  283. package/MultiplicityField/__stories__/PreviewDisplay/index.js +0 -70
  284. package/MultiplicityField/__stories__/PreviewDisplay/package.json +0 -6
  285. package/MultiplicityField/__stories__/PreviewDisplay.js.map +0 -7
  286. package/MultiplicityField/__stories__/WithExactLength/index.js +0 -97
  287. package/MultiplicityField/__stories__/WithExactLength/package.json +0 -6
  288. package/MultiplicityField/__stories__/WithExactLength.js.map +0 -7
  289. package/MultiplicityField/__stories__/WithMaxLength/index.js +0 -100
  290. package/MultiplicityField/__stories__/WithMaxLength/package.json +0 -6
  291. package/MultiplicityField/__stories__/WithMaxLength.js.map +0 -7
  292. package/MultiplicityField/__stories__/WithMinAndMaxLength/index.js +0 -101
  293. package/MultiplicityField/__stories__/WithMinAndMaxLength/package.json +0 -6
  294. package/MultiplicityField/__stories__/WithMinAndMaxLength.js.map +0 -7
  295. package/MultiplicityField/__stories__/WithMinLength/index.js +0 -100
  296. package/MultiplicityField/__stories__/WithMinLength/package.json +0 -6
  297. package/MultiplicityField/__stories__/WithMinLength.js.map +0 -7
  298. package/Questions/Questions.stories/index.js +0 -12
  299. package/Questions/Questions.stories/package.json +0 -6
  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 -84
  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__/WithInvalidImageDimension/index.js +0 -71
  361. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension.js.map +0 -7
  362. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +0 -68
  363. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageSize.js.map +0 -7
  364. package/cjs/inputs/Input/Input.stories/index.js +0 -72
  365. package/cjs/inputs/Input/Input.stories.js.map +0 -7
  366. package/cjs/inputs/Input/__stories__/AFM/index.js +0 -63
  367. package/cjs/inputs/Input/__stories__/AFM.js.map +0 -7
  368. package/cjs/inputs/Input/__stories__/Boolean/index.js +0 -64
  369. package/cjs/inputs/Input/__stories__/Boolean.js.map +0 -7
  370. package/cjs/inputs/Input/__stories__/IBAN/index.js +0 -64
  371. package/cjs/inputs/Input/__stories__/IBAN.js.map +0 -7
  372. package/cjs/inputs/Input/__stories__/Integer/index.js +0 -78
  373. package/cjs/inputs/Input/__stories__/Integer.js.map +0 -7
  374. package/cjs/inputs/Input/__stories__/LandlineNumber/index.js +0 -67
  375. package/cjs/inputs/Input/__stories__/LandlineNumber.js.map +0 -7
  376. package/cjs/inputs/Input/__stories__/MobilePhone/index.js +0 -67
  377. package/cjs/inputs/Input/__stories__/MobilePhone.js.map +0 -7
  378. package/cjs/inputs/Input/__stories__/PhoneNumber/index.js +0 -66
  379. package/cjs/inputs/Input/__stories__/PhoneNumber.js.map +0 -7
  380. package/cjs/inputs/Input/__stories__/PostalCode/index.js +0 -64
  381. package/cjs/inputs/Input/__stories__/PostalCode.js.map +0 -7
  382. package/cjs/inputs/Input/__stories__/String/index.js +0 -64
  383. package/cjs/inputs/Input/__stories__/String.js.map +0 -7
  384. package/cjs/inputs/Input/__stories__/TextWithLimit/index.js +0 -64
  385. package/cjs/inputs/Input/__stories__/TextWithLimit.js.map +0 -7
  386. package/cjs/inputs/Label/Label.stories/index.js +0 -45
  387. package/cjs/inputs/Label/Label.stories.js.map +0 -7
  388. package/cjs/inputs/Label/__stories__/Default/index.js +0 -72
  389. package/cjs/inputs/Label/__stories__/Default.js.map +0 -7
  390. package/cjs/inputs/OtpInput/OtpInput.stories/index.js +0 -45
  391. package/cjs/inputs/OtpInput/OtpInput.stories.js.map +0 -7
  392. package/cjs/inputs/OtpInput/__stories__/Default/index.js +0 -64
  393. package/cjs/inputs/OtpInput/__stories__/Default.js.map +0 -7
  394. package/cjs/inputs/Radio/Radio.stories/index.js +0 -51
  395. package/cjs/inputs/Radio/Radio.stories.js.map +0 -7
  396. package/cjs/inputs/Radio/__stories__/Conditional/index.js +0 -133
  397. package/cjs/inputs/Radio/__stories__/Conditional.js.map +0 -7
  398. package/cjs/inputs/Radio/__stories__/Default/index.js +0 -81
  399. package/cjs/inputs/Radio/__stories__/Default.js.map +0 -7
  400. package/cjs/inputs/Radio/__stories__/WithDivider/index.js +0 -82
  401. package/cjs/inputs/Radio/__stories__/WithDivider.js.map +0 -7
  402. package/cjs/inputs/Select/Select.stories/index.js +0 -45
  403. package/cjs/inputs/Select/Select.stories.js.map +0 -7
  404. package/cjs/inputs/Select/__stories__/Default/index.js +0 -86
  405. package/cjs/inputs/Select/__stories__/Default.js.map +0 -7
  406. package/inputs/AutoCompleteInput/AutoComplete.stories/index.js +0 -14
  407. package/inputs/AutoCompleteInput/AutoComplete.stories/package.json +0 -6
  408. package/inputs/AutoCompleteInput/AutoComplete.stories.js.map +0 -7
  409. package/inputs/AutoCompleteInput/__stories__/Default/index.js +0 -50
  410. package/inputs/AutoCompleteInput/__stories__/Default/package.json +0 -6
  411. package/inputs/AutoCompleteInput/__stories__/Default.js.map +0 -7
  412. package/inputs/AutoCompleteInput/__stories__/Multiple/index.js +0 -51
  413. package/inputs/AutoCompleteInput/__stories__/Multiple/package.json +0 -6
  414. package/inputs/AutoCompleteInput/__stories__/Multiple.js.map +0 -7
  415. package/inputs/Checkboxes/Checkboxes.stories/index.js +0 -16
  416. package/inputs/Checkboxes/Checkboxes.stories/package.json +0 -6
  417. package/inputs/Checkboxes/Checkboxes.stories.js.map +0 -7
  418. package/inputs/Checkboxes/__stories__/Conditional/index.js +0 -100
  419. package/inputs/Checkboxes/__stories__/Conditional/package.json +0 -6
  420. package/inputs/Checkboxes/__stories__/Conditional.js.map +0 -7
  421. package/inputs/Checkboxes/__stories__/Default/index.js +0 -44
  422. package/inputs/Checkboxes/__stories__/Default/package.json +0 -6
  423. package/inputs/Checkboxes/__stories__/Default.js.map +0 -7
  424. package/inputs/Checkboxes/__stories__/WithDivider/index.js +0 -45
  425. package/inputs/Checkboxes/__stories__/WithDivider/package.json +0 -6
  426. package/inputs/Checkboxes/__stories__/WithDivider.js.map +0 -7
  427. package/inputs/DateInput/DateInput.stories/index.js +0 -12
  428. package/inputs/DateInput/DateInput.stories/package.json +0 -6
  429. package/inputs/DateInput/DateInput.stories.js.map +0 -7
  430. package/inputs/DateInput/__stories__/Default/index.js +0 -28
  431. package/inputs/DateInput/__stories__/Default/package.json +0 -6
  432. package/inputs/DateInput/__stories__/Default.js.map +0 -7
  433. package/inputs/FileInput/FileInput.stories/index.js +0 -12
  434. package/inputs/FileInput/FileInput.stories/package.json +0 -6
  435. package/inputs/FileInput/FileInput.stories.js.map +0 -7
  436. package/inputs/FileInput/__stories__/Default/index.js +0 -28
  437. package/inputs/FileInput/__stories__/Default/package.json +0 -6
  438. package/inputs/FileInput/__stories__/Default.js.map +0 -7
  439. package/inputs/ImageInput/ImageInput.stories/index.js +0 -16
  440. package/inputs/ImageInput/ImageInput.stories/package.json +0 -6
  441. package/inputs/ImageInput/ImageInput.stories.js.map +0 -7
  442. package/inputs/ImageInput/__stories__/Default/index.js +0 -30
  443. package/inputs/ImageInput/__stories__/Default/package.json +0 -6
  444. package/inputs/ImageInput/__stories__/Default.js.map +0 -7
  445. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +0 -38
  446. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/package.json +0 -6
  447. package/inputs/ImageInput/__stories__/WithInvalidImageDimension.js.map +0 -7
  448. package/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +0 -35
  449. package/inputs/ImageInput/__stories__/WithInvalidImageSize/package.json +0 -6
  450. package/inputs/ImageInput/__stories__/WithInvalidImageSize.js.map +0 -7
  451. package/inputs/Input/Input.stories/index.js +0 -30
  452. package/inputs/Input/Input.stories/package.json +0 -6
  453. package/inputs/Input/Input.stories.js.map +0 -7
  454. package/inputs/Input/__stories__/AFM/index.js +0 -30
  455. package/inputs/Input/__stories__/AFM/package.json +0 -6
  456. package/inputs/Input/__stories__/AFM.js.map +0 -7
  457. package/inputs/Input/__stories__/Boolean/index.js +0 -31
  458. package/inputs/Input/__stories__/Boolean/package.json +0 -6
  459. package/inputs/Input/__stories__/Boolean.js.map +0 -7
  460. package/inputs/Input/__stories__/IBAN/index.js +0 -31
  461. package/inputs/Input/__stories__/IBAN/package.json +0 -6
  462. package/inputs/Input/__stories__/IBAN.js.map +0 -7
  463. package/inputs/Input/__stories__/Integer/index.js +0 -45
  464. package/inputs/Input/__stories__/Integer/package.json +0 -6
  465. package/inputs/Input/__stories__/Integer.js.map +0 -7
  466. package/inputs/Input/__stories__/LandlineNumber/index.js +0 -34
  467. package/inputs/Input/__stories__/LandlineNumber/package.json +0 -6
  468. package/inputs/Input/__stories__/LandlineNumber.js.map +0 -7
  469. package/inputs/Input/__stories__/MobilePhone/index.js +0 -34
  470. package/inputs/Input/__stories__/MobilePhone/package.json +0 -6
  471. package/inputs/Input/__stories__/MobilePhone.js.map +0 -7
  472. package/inputs/Input/__stories__/PhoneNumber/index.js +0 -33
  473. package/inputs/Input/__stories__/PhoneNumber/package.json +0 -6
  474. package/inputs/Input/__stories__/PhoneNumber.js.map +0 -7
  475. package/inputs/Input/__stories__/PostalCode/index.js +0 -31
  476. package/inputs/Input/__stories__/PostalCode/package.json +0 -6
  477. package/inputs/Input/__stories__/PostalCode.js.map +0 -7
  478. package/inputs/Input/__stories__/String/index.js +0 -31
  479. package/inputs/Input/__stories__/String/package.json +0 -6
  480. package/inputs/Input/__stories__/String.js.map +0 -7
  481. package/inputs/Input/__stories__/TextWithLimit/index.js +0 -31
  482. package/inputs/Input/__stories__/TextWithLimit/package.json +0 -6
  483. package/inputs/Input/__stories__/TextWithLimit.js.map +0 -7
  484. package/inputs/Label/Label.stories/index.js +0 -12
  485. package/inputs/Label/Label.stories/package.json +0 -6
  486. package/inputs/Label/Label.stories.js.map +0 -7
  487. package/inputs/Label/__stories__/Default/index.js +0 -39
  488. package/inputs/Label/__stories__/Default/package.json +0 -6
  489. package/inputs/Label/__stories__/Default.js.map +0 -7
  490. package/inputs/OtpInput/OtpInput.stories/index.js +0 -12
  491. package/inputs/OtpInput/OtpInput.stories/package.json +0 -6
  492. package/inputs/OtpInput/OtpInput.stories.js.map +0 -7
  493. package/inputs/OtpInput/__stories__/Default/index.js +0 -31
  494. package/inputs/OtpInput/__stories__/Default/package.json +0 -6
  495. package/inputs/OtpInput/__stories__/Default.js.map +0 -7
  496. package/inputs/Radio/Radio.stories/index.js +0 -16
  497. package/inputs/Radio/Radio.stories/package.json +0 -6
  498. package/inputs/Radio/Radio.stories.js.map +0 -7
  499. package/inputs/Radio/__stories__/Conditional/index.js +0 -100
  500. package/inputs/Radio/__stories__/Conditional/package.json +0 -6
  501. package/inputs/Radio/__stories__/Conditional.js.map +0 -7
  502. package/inputs/Radio/__stories__/Default/index.js +0 -48
  503. package/inputs/Radio/__stories__/Default/package.json +0 -6
  504. package/inputs/Radio/__stories__/Default.js.map +0 -7
  505. package/inputs/Radio/__stories__/WithDivider/index.js +0 -49
  506. package/inputs/Radio/__stories__/WithDivider/package.json +0 -6
  507. package/inputs/Radio/__stories__/WithDivider.js.map +0 -7
  508. package/inputs/Select/Select.stories/index.js +0 -12
  509. package/inputs/Select/Select.stories/package.json +0 -6
  510. package/inputs/Select/Select.stories.js.map +0 -7
  511. package/inputs/Select/__stories__/Default/index.js +0 -53
  512. package/inputs/Select/__stories__/Default/package.json +0 -6
  513. package/inputs/Select/__stories__/Default.js.map +0 -7
  514. package/lazy.d.ts +0 -72
  515. package/lazy.js.map +0 -7
  516. package/registry.d.ts +0 -70
  517. package/registry.js.map +0 -7
  518. package/src/index.tsx +0 -178
  519. package/src/inputs/ImageInput/index.mdx +0 -19
  520. package/src/inputs/Input/index.mdx +0 -95
  521. package/src/inputs/Label/index.mdx +0 -0
  522. package/src/lazy.js +0 -63
  523. package/src/registry.js +0 -157
  524. /package/src/Field/{index.mdx → doc.mdx} +0 -0
@@ -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
 
4
4
  export interface FieldsetLabelProps extends FieldsetLegendProps {}
5
5
  export interface FieldsetCaptionProps extends HintProps {}
@@ -8,11 +8,8 @@ sidebar_label: FormBuilder
8
8
 
9
9
  `stepForm` component:
10
10
 
11
- <Story
12
- packageName="@digigov/form"
13
- component="FormBuilder"
14
- story="Default.tsx"
15
- />
11
+ <code src="@digigov/form/FormBuilder/__stories__/Default.tsx" />
12
+
16
13
 
17
14
  ### Importing and using FormBuilder Component
18
15
 
@@ -34,18 +31,14 @@ import BasicLayout, {
34
31
  import {FormBuilder} from '@digigov/form';
35
32
 
36
33
  export default function MyComponent({ props }) {
37
-
38
34
  return (
39
35
  <BasicLayout>
40
- .
41
- .
36
+ /* code */
42
37
  <Container>
43
38
  <Main>
44
- .
45
- .
39
+ /* code */
46
40
  <FormBuilder></FormBuilder>
47
- .
48
- .
41
+ /* code */
49
42
  </Main>
50
43
  </Container>
51
44
  <Bottom>
@@ -54,7 +47,6 @@ export default function MyComponent({ props }) {
54
47
  </BasicLayout>
55
48
  );
56
49
  }
57
- }
58
50
  ```
59
51
 
60
52
  ### Props
@@ -83,7 +75,7 @@ Below are demostrated some examples for each type of field
83
75
 
84
76
  The examples above are implemented by using the code below
85
77
 
86
- ```javascript
78
+ ```jsx
87
79
  import React, { useState } from 'react';
88
80
  import BasicLayout, {
89
81
  Top,
@@ -91,7 +83,7 @@ import BasicLayout, {
91
83
  Main,
92
84
  Bottom,
93
85
  } from '@digigov/ui/layouts/Basic';
94
- import Header, { HeaderTitle } from '@digigov/ui/app/Header';
86
+ import Header, { HeaderTitle, HeaderContent, HeaderSection } from '@digigov/ui/app/Header';
95
87
  import GovGRLogo from '@digigov/ui/govgr/GovGRLogo';
96
88
  import GovGRFooter from '@digigov/ui/govgr/Footer';
97
89
  import Button from '@digigov/ui/form/Button';
@@ -99,8 +91,9 @@ import PageTitleContainer, {
99
91
  PageTitleCaption,
100
92
  PageTitleHeading,
101
93
  } from '@digigov/ui/app/PageTitleContainer';
102
- import BackButton from '@digigov/ui/form/Button/BackButton';
103
- import FormBuilder, { Fieldset, FieldsetLabel, Field } from '@digigov/form';
94
+ import BackLink from '@digigov/ui/navigation/BackLink';
95
+ import FormBuilder, { Fieldset, Field } from '@digigov/form';
96
+ import { FieldsetLabel } from '@digigov/form/Fieldset';
104
97
  import { useTranslation } from '@digigov/ui/i18n';
105
98
 
106
99
  const FIELDS = [
@@ -203,30 +196,24 @@ const initialValues = {
203
196
  string: 'default content',
204
197
  };
205
198
 
206
- const useStyles = makeStyles(
207
- {
208
- top: { minHeight: '75px' },
209
- main: {},
210
- side: {},
211
- },
212
- { name: 'MuiSite' }
213
- );
214
-
215
199
  export default function Index() {
216
- const styles = useStyles();
217
200
  const [data, setData] = useState(null);
218
201
  const { t } = useTranslation();
219
202
  return (
220
203
  <BasicLayout>
221
- <Top className={styles.top}>
204
+ <Top>
222
205
  <Header>
223
- <GovGRLogo />
224
- <HeaderTitle>Service name</HeaderTitle>
206
+ <HeaderContent>
207
+ <HeaderSection>
208
+ <GovGRLogo />
209
+ <HeaderTitle>Service name</HeaderTitle>
210
+ </HeaderSection>
211
+ </HeaderContent>
225
212
  </Header>
226
213
  </Top>
227
214
  <Container>
228
- <Main className={styles.main}>
229
- <BackButton>{t('button.back')}</BackButton>
215
+ <Main>
216
+ <BackLink>Back</BackLink>
230
217
  <PageTitleContainer>
231
218
  <PageTitleCaption>Before we start</PageTitleCaption>
232
219
  <PageTitleHeading>Submit a form</PageTitleHeading>
@@ -237,7 +224,7 @@ export default function Index() {
237
224
  initial={initialValues}
238
225
  >
239
226
  <Fieldset>
240
- <FieldsetLabel>This is a fieldset</FieldsetLabel>
227
+ <FieldsetLabel size="lg">This is a fieldset</FieldsetLabel>
241
228
  {FIELDS.map((field) => (
242
229
  <Field key={field.key} name={field.key} />
243
230
  ))}
@@ -1,20 +1,21 @@
1
1
  import React from 'react';
2
2
  import { test, expect } from '@playwright/experimental-ct-react';
3
- import TestVariant from '@digigov/ui/utils/TestVariant'
4
3
  import { Default } from '@digigov/form/FormBuilder/__stories__/Default';
4
+ import TestVariant from '@digigov/ui/utils/TestVariant';
5
5
 
6
6
  test('renders the All FormBuilder variants', async ({ mount, page }) => {
7
7
  await mount(
8
-
9
- <div>
10
- <TestVariant title="Default">
11
- <Default />
12
- </TestVariant>
13
- </div>
14
- )
8
+ <div>
9
+ <TestVariant title="Default">
10
+ <Default />
11
+ </TestVariant>
12
+ </div>
13
+ );
15
14
  await page.evaluate(() => document.fonts.ready);
16
15
 
17
- const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
16
+ const screenshot = await page.screenshot({
17
+ fullPage: true,
18
+ animations: 'disabled',
19
+ });
18
20
  expect(screenshot).toMatchSnapshot();
19
21
  });
20
-
@@ -1,8 +1,179 @@
1
- import {
2
- FormBuilder,
3
- useFormContext,
4
- useFormValues,
5
- FormBase,
6
- } from '@digigov/form';
7
- export { useFormContext, useFormValues, FormBase };
1
+ import React, { useCallback, useContext, useRef } from 'react';
2
+ import { useForm } from 'react-hook-form';
3
+ import { Field } from '@digigov/form/Field';
4
+ import { CONTROLLED_FIELD_COMPONENTS } from '@digigov/form/Field/utils';
5
+ import { Fieldset } from '@digigov/form/Fieldset';
6
+ import { FormContext } from '@digigov/form/FormContext';
7
+ import { FormBaseProps, FormData, FormBuilderProps } from '@digigov/form/types';
8
+ import { yupResolver } from '@digigov/form/utils';
9
+ import { useValidationSchema } from '@digigov/form/validators';
10
+ import { Button } from '@digigov/ui/form/Button';
11
+ import { Form } from '@digigov/ui/form/Form';
12
+
13
+ const FormBase = React.forwardRef(function FormBase(
14
+ {
15
+ onSubmit,
16
+ children,
17
+ registerField,
18
+ fieldsMap,
19
+ fieldsetsMap,
20
+ resolver,
21
+ mode,
22
+ initial,
23
+ reValidateMode,
24
+ shouldFocusError,
25
+ criteriaMode,
26
+ componentRegistry,
27
+ grid,
28
+ ...props
29
+ }: FormBaseProps,
30
+ ref: React.Ref<HTMLFormElement>
31
+ ) {
32
+ const form = useForm({
33
+ resolver,
34
+ mode,
35
+ defaultValues: initial,
36
+ reValidateMode,
37
+ shouldFocusError,
38
+ criteriaMode,
39
+ });
40
+
41
+ const handleSubmit = useCallback(
42
+ (data: FormData): void => {
43
+ if (onSubmit) onSubmit(data);
44
+ },
45
+ [onSubmit]
46
+ );
47
+ const submit = form.handleSubmit(handleSubmit);
48
+ const ctx = {
49
+ fieldsMap,
50
+ fieldsetsMap,
51
+ control: form.control,
52
+ register: form.register,
53
+ watch: form.watch,
54
+ resetField: form.resetField,
55
+ registerField: registerField,
56
+ errors: form.formState.errors,
57
+ formState: form.formState,
58
+ reset: form.reset,
59
+ trigger: form.trigger,
60
+ getFieldState: form.getFieldState,
61
+ setValue: form.setValue,
62
+ clearErrors: form.clearErrors,
63
+ getValues: form.getValues,
64
+ unregister: form.unregister,
65
+ componentRegistry,
66
+ setError: form.setError,
67
+ formRef: ref,
68
+ submit,
69
+ };
70
+ return (
71
+ <FormContext.Provider value={ctx}>
72
+ <Form grid={grid} onSubmit={submit} ref={ref} {...props}>
73
+ {children}
74
+ </Form>
75
+ </FormContext.Provider>
76
+ );
77
+ });
78
+
79
+ const useFormContext = () => {
80
+ return useContext(FormContext);
81
+ };
82
+ const useFormValues = () => {
83
+ const ctx = useFormContext();
84
+ return ctx.getValues();
85
+ };
86
+ const FormBuilder = React.forwardRef(function FormBuilder(
87
+ {
88
+ fields = [],
89
+ fieldsets,
90
+ initial = {},
91
+ onSubmit,
92
+ children,
93
+ reValidateMode = 'onSubmit',
94
+ mode = 'onSubmit',
95
+ shouldFocusError = true,
96
+ criteriaMode = 'all',
97
+ auto = false,
98
+ validatorRegistry,
99
+ componentRegistry,
100
+ grid = false,
101
+ ...props
102
+ }: FormBuilderProps,
103
+ ref: React.Ref<HTMLFormElement>
104
+ ): React.ReactElement {
105
+ const fieldsState = useRef(fields);
106
+ const setFieldsState = useCallback((newFields) => {
107
+ fieldsState.current = newFields;
108
+ }, []);
109
+ const schema = useValidationSchema(fieldsState, validatorRegistry);
110
+ const registerField = useCallback((field) => {
111
+ const fieldIndex = fieldsState.current.findIndex(
112
+ (f) => f.key === field.key
113
+ );
114
+ if (fieldIndex > -1) {
115
+ fieldsState.current[fieldIndex] = field;
116
+ } else {
117
+ fieldsState.current.push(field);
118
+ }
119
+ setFieldsState(fieldsState.current);
120
+ }, []);
121
+ let resolver;
122
+ let fieldsMap;
123
+ let fieldsetsMap;
124
+ let fieldChildren;
125
+ if (schema) {
126
+ resolver = yupResolver(schema);
127
+ fieldsMap = fields
128
+ ? fields.reduce((map, field) => ({ ...map, [field.key]: field }), {})
129
+ : {};
130
+ fieldsetsMap =
131
+ fieldsets &&
132
+ fieldsets.reduce(
133
+ (map, fieldset) => ({ ...map, [fieldset.key]: fieldset }),
134
+ {}
135
+ );
136
+
137
+ if (auto) {
138
+ if (fieldsets) {
139
+ fieldChildren = fieldsets.map((fieldset) => (
140
+ <Fieldset key={fieldset.key} />
141
+ ));
142
+ } else if (fields) {
143
+ fieldChildren = fields.map((field) => (
144
+ <Field key={field.key} name={field.key} />
145
+ ));
146
+ }
147
+ }
148
+ }
149
+ return (
150
+ <FormBase
151
+ resolver={resolver}
152
+ fieldsetsMap={fieldsetsMap}
153
+ fieldsMap={fieldsMap}
154
+ registerField={registerField}
155
+ initial={initial}
156
+ reValidateMode={reValidateMode}
157
+ mode={mode}
158
+ shouldFocusError={shouldFocusError}
159
+ criteriaMode={criteriaMode}
160
+ onSubmit={onSubmit}
161
+ componentRegistry={componentRegistry}
162
+ ref={ref}
163
+ grid={grid}
164
+ {...props}
165
+ >
166
+ {fieldChildren}
167
+ {auto && <Button type="submit">Συνέχεια</Button>}
168
+ {children}
169
+ </FormBase>
170
+ );
171
+ });
172
+ export const ControlledFormBuilder = (props) => {
173
+ return (
174
+ <FormBuilder {...props} componentRegistry={CONTROLLED_FIELD_COMPONENTS} />
175
+ );
176
+ };
8
177
  export default FormBuilder;
178
+
179
+ export { useFormContext, useFormValues, FormBase };
@@ -589,7 +589,7 @@ const generateScenarios = (
589
589
  };
590
590
  scenarioFill.push(finalScenarioFill);
591
591
  for (const multiplicityField of fillTemplate?.value?.of?.extra
592
- ?.fields) {
592
+ ?.fields ?? []) {
593
593
  scenarioExpect.push({
594
594
  type: 'success',
595
595
  fieldKey: `${fillTemplate.fieldKey}\\.${i}\\.${multiplicityField.fieldKey}`,
@@ -1120,7 +1120,7 @@ const inputsScenarios = [
1120
1120
  args: {
1121
1121
  maxSizeToMb: 0.0003,
1122
1122
  },
1123
- text: el.form.error.file_size,
1123
+ text: el.form.error.image_size,
1124
1124
  },
1125
1125
  {
1126
1126
  type: 'error',
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
- import { createContext } from 'react';
1
+ import React, { createContext } from 'react';
3
2
  import { FormContextProps } from '@digigov/form/types';
4
3
 
5
4
  export const FormContext: React.Context<FormContextProps> = createContext({
@@ -1,4 +1,3 @@
1
- /* eslint-disable react/prop-types */
2
1
  import React, { useEffect, useMemo } from 'react';
3
2
  import {
4
3
  ErrorOption,
@@ -14,16 +13,15 @@ import {
14
13
  } from '@digigov/form/Field/utils';
15
14
  import { calculateField } from '@digigov/form/Field/utils/calculateField';
16
15
  import { useField } from '@digigov/form/Field/utils/useField';
17
-
18
- import FieldObject from '@digigov/form/FieldObject';
16
+ import { FieldObject } from '@digigov/form/FieldObject';
17
+ import { Fieldset } from '@digigov/form/Fieldset';
19
18
  import type {
20
19
  MultiplicityProps,
21
20
  StashedObject,
22
21
  } from '@digigov/form/MultiplicityField/types';
23
22
  import { FieldSpec } from '@digigov/form/types';
24
- import Fieldset from '@digigov/react-core/Fieldset';
25
- import RadioConditional from '@digigov/react-core/RadioConditional';
26
- import Button from '@digigov/ui/form/Button';
23
+ import { Button } from '@digigov/ui/form/Button';
24
+ import { RadioConditional } from '@digigov/ui/form/RadioContainer';
27
25
 
28
26
  export interface AddObjectsProps
29
27
  extends Omit<MultiplicityProps, 'key' | 'component'> {
@@ -51,6 +49,7 @@ export const AddObjects: React.FC<AddObjectsProps> = ({
51
49
  getValues,
52
50
  onStash,
53
51
  error,
52
+ Field,
54
53
  }) => {
55
54
  const currentIndex = fields.length > 0 ? fields.length - 1 : fields.length;
56
55
  const currentName = `${name}.${currentIndex}`;
@@ -106,8 +105,10 @@ export const AddObjects: React.FC<AddObjectsProps> = ({
106
105
  (f) => `${currentName}.${f.key}`
107
106
  );
108
107
  const result = await trigger(nestedFields);
109
- result && setValue('needs-more', '');
110
- result && onStash(getValues(currentName));
108
+ if (result) {
109
+ setValue('needs-more', '');
110
+ onStash(getValues(currentName));
111
+ }
111
112
  }}
112
113
  >
113
114
  {extra?.label.object.add}
@@ -186,6 +187,7 @@ export const AddObjects: React.FC<AddObjectsProps> = ({
186
187
  control={control}
187
188
  register={register}
188
189
  reset={reset}
190
+ Field={Field}
189
191
  error={
190
192
  extra?.max - stashedObjects.length === 0 ||
191
193
  extra?.length - stashedObjects.length === 0
@@ -3,13 +3,9 @@ id: ask-users-recursive
3
3
  title: Ask users for recursive data
4
4
  ---
5
5
 
6
- import LeadText from '@site/src/components/LeadText';
7
-
8
- <LeadText>
9
- Multiplicity & FieldArray fields allow users to input data described by a
10
- particular schema for an arbitrary number of times until they are done. It can
11
- be used to input a fixed, a minimum, and a maximum length of instances.
12
- </LeadText>
6
+ Multiplicity & FieldArray fields allow users to input data described by a
7
+ particular schema for an arbitrary number of times until they are done. It can
8
+ be used to input a fixed, a minimum, and a maximum length of instances.
13
9
 
14
10
  ## What we are trying to achieve
15
11
 
@@ -108,7 +104,7 @@ This field is the most complex component we currently offer, and it uses the
108
104
  react-hook-form under the hood. First, let's take a look at what it looks like, and then we can
109
105
  break down its functionality and how you can use it.
110
106
 
111
- ```jsx live
107
+ ```jsx
112
108
  import React from 'react';
113
109
  import Form, { Field } from '@digigov/form';
114
110
  import Button from '@digigov/ui/form/Button';
@@ -209,7 +205,7 @@ are asking users for information about their vehicles, we can also fill in the `
209
205
  `label.primary`, as well as the `type` and `required`
210
206
  props.
211
207
 
212
- ```jsx
208
+ ```jsx pure
213
209
  <Field
214
210
  key="vehicles"
215
211
  name="vehicles"
@@ -232,7 +228,7 @@ inner form, respectively.
232
228
  Inside the `of` key you can add an `extra` key that will then contain a `fields`
233
229
  key describing the field props for all inputs needed.
234
230
 
235
- ```js
231
+ ```js pure
236
232
  // this will be used as value for the `extra` prop
237
233
  {
238
234
  of: {
@@ -290,7 +286,7 @@ As a result, if you learn how to use one, you can easily use the other, and
290
286
  naturally, you can also change their behaviour by changing a single prop in your
291
287
  React code.
292
288
 
293
- ```jsx
289
+ ```jsx pure
294
290
  <Field
295
291
  key="vehicles"
296
292
  name="vehicles"
@@ -305,7 +301,7 @@ React code.
305
301
  The end result looks very different from Multiplicity at first glance, but you
306
302
  can achieve the same results with both of them.
307
303
 
308
- ```jsx live
304
+ ```jsx
309
305
  import React from 'react';
310
306
  import Form, { Field } from '@digigov/form';
311
307
  import Button from '@digigov/ui/form/Button';
@@ -396,7 +392,7 @@ should expect to need some length validation sooner than later.
396
392
  You can easily validate the exact length of the items added to the multipliticy
397
393
  array, simply by using the `extra.length` prop.
398
394
 
399
- ```jsx
395
+ ```jsx pure
400
396
  <Field
401
397
  extra={{
402
398
  length: 2,
@@ -409,7 +405,7 @@ array, simply by using the `extra.length` prop.
409
405
  The example below will validate this and show all the error messages necessary
410
406
  to make sure that the users understand what is going wrong with the process.
411
407
 
412
- ```jsx live
408
+ ```jsx
413
409
  import React from 'react';
414
410
  import Form, { Field } from '@digigov/form';
415
411
  import Button from '@digigov/ui/form/Button';
@@ -497,7 +493,7 @@ Do not mix and match the exact `length` validation with the `min` or `max`.
497
493
 
498
494
  :::
499
495
 
500
- ```jsx
496
+ ```jsx pure
501
497
  <Field
502
498
  extra={{
503
499
  min: 2,
@@ -511,7 +507,7 @@ Do not mix and match the exact `length` validation with the `min` or `max`.
511
507
  The example below will validate this and show all the error messages necessary
512
508
  to make sure that the users understand what is going wrong with the process.
513
509
 
514
- ```jsx live
510
+ ```jsx
515
511
  import React from 'react';
516
512
  import Form, { Field } from '@digigov/form';
517
513
  import Button from '@digigov/ui/form/Button';
@@ -1,40 +1,41 @@
1
1
  import React from 'react';
2
2
  import { test, expect } from '@playwright/experimental-ct-react';
3
- import TestVariant from '@digigov/ui/utils/TestVariant'
4
3
  import { Default } from '@digigov/form/MultiplicityField/__stories__/Default';
5
4
  import { PreviewDisplay } from '@digigov/form/MultiplicityField/__stories__/PreviewDisplay';
6
5
  import { WithExactLength } from '@digigov/form/MultiplicityField/__stories__/WithExactLength';
7
6
  import { WithMaxLength } from '@digigov/form/MultiplicityField/__stories__/WithMaxLength';
8
7
  import { WithMinAndMaxLength } from '@digigov/form/MultiplicityField/__stories__/WithMinAndMaxLength';
9
8
  import { WithMinLength } from '@digigov/form/MultiplicityField/__stories__/WithMinLength';
9
+ import TestVariant from '@digigov/ui/utils/TestVariant';
10
10
 
11
11
  test('renders the All MultiplicityField variants', async ({ mount, page }) => {
12
12
  await mount(
13
-
14
- <div>
15
- <TestVariant title="Default">
16
- <Default />
17
- </TestVariant>
18
- <TestVariant title="PreviewDisplay">
19
- <PreviewDisplay />
20
- </TestVariant>
21
- <TestVariant title="WithExactLength">
22
- <WithExactLength />
23
- </TestVariant>
24
- <TestVariant title="WithMaxLength">
25
- <WithMaxLength />
26
- </TestVariant>
27
- <TestVariant title="WithMinAndMaxLength">
28
- <WithMinAndMaxLength />
29
- </TestVariant>
30
- <TestVariant title="WithMinLength">
31
- <WithMinLength />
32
- </TestVariant>
33
- </div>
34
- )
13
+ <div>
14
+ <TestVariant title="Default">
15
+ <Default />
16
+ </TestVariant>
17
+ <TestVariant title="PreviewDisplay">
18
+ <PreviewDisplay />
19
+ </TestVariant>
20
+ <TestVariant title="WithExactLength">
21
+ <WithExactLength />
22
+ </TestVariant>
23
+ <TestVariant title="WithMaxLength">
24
+ <WithMaxLength />
25
+ </TestVariant>
26
+ <TestVariant title="WithMinAndMaxLength">
27
+ <WithMinAndMaxLength />
28
+ </TestVariant>
29
+ <TestVariant title="WithMinLength">
30
+ <WithMinLength />
31
+ </TestVariant>
32
+ </div>
33
+ );
35
34
  await page.evaluate(() => document.fonts.ready);
36
35
 
37
- const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
36
+ const screenshot = await page.screenshot({
37
+ fullPage: true,
38
+ animations: 'disabled',
39
+ });
38
40
  expect(screenshot).toMatchSnapshot();
39
41
  });
40
-
@@ -1,19 +1,20 @@
1
1
  import React, { useState } from 'react';
2
2
  import { useFieldArray, UseFormReturn } from 'react-hook-form';
3
- import FieldContainer from '@digigov/form/Field/FieldBaseContainer';
4
-
5
- import FieldObject from '@digigov/form/FieldObject';
6
- import AddObjects from '@digigov/form/MultiplicityField/add-objects';
3
+ import { FieldBaseContainer } from '@digigov/form/Field/FieldBaseContainer';
4
+ import { FieldObject } from '@digigov/form/FieldObject';
5
+ import { AddObjects } from '@digigov/form/MultiplicityField/add-objects';
7
6
  import {
8
7
  MultiplicityProps,
9
8
  StashedObject,
10
9
  } from '@digigov/form/MultiplicityField/types';
11
- import { Button } from '@digigov/react-core/Button';
12
- import { Card } from '@digigov/react-core/Card';
13
- import { CardAction } from '@digigov/react-core/CardAction';
14
- import { CardContent } from '@digigov/react-core/CardContent';
15
- import { CardHeading } from '@digigov/react-core/CardHeading';
16
- import { Heading } from '@digigov/react-core/Heading';
10
+ import {
11
+ Card,
12
+ CardHeading,
13
+ CardContent,
14
+ CardAction,
15
+ } from '@digigov/ui/content/Card';
16
+ import { Button } from '@digigov/ui/form/Button';
17
+ import { Heading } from '@digigov/ui/typography/Heading';
17
18
 
18
19
  // epeidh einai forwardRef to ref mas to dinei xwrista apo ta props
19
20
  export const Multiplicity: React.FC<MultiplicityProps> = ({
@@ -30,6 +31,7 @@ export const Multiplicity: React.FC<MultiplicityProps> = ({
30
31
  setValue,
31
32
  getValues,
32
33
  unregister,
34
+ Field,
33
35
  }) => {
34
36
  const { fields, append, remove } = useFieldArray({
35
37
  control,
@@ -47,7 +49,7 @@ export const Multiplicity: React.FC<MultiplicityProps> = ({
47
49
  setStashedObjects(newStashedObjects);
48
50
  };
49
51
  return (
50
- <FieldContainer
52
+ <FieldBaseContainer
51
53
  label={label}
52
54
  layout={layout}
53
55
  error={
@@ -96,8 +98,9 @@ export const Multiplicity: React.FC<MultiplicityProps> = ({
96
98
  unregister={unregister}
97
99
  trigger={trigger}
98
100
  clearErrors={clearErrors}
101
+ Field={Field}
99
102
  />
100
- </FieldContainer>
103
+ </FieldBaseContainer>
101
104
  );
102
105
  };
103
106
 
@@ -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
 
5
4
  export interface MultiplicityProps
6
5
  extends Omit<ControlledFieldProps, 'value' | 'onChange' | 'error' | 'extra'> {