@digigov/form 2.0.0-rc.7 → 2.0.2

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 (819) hide show
  1. package/CHANGELOG.md +113 -3
  2. package/Field/ErrorGroup.d.ts +15 -0
  3. package/Field/ErrorGroup.js +53 -0
  4. package/Field/FieldBase.d.ts +1 -1
  5. package/Field/FieldBase.js +77 -0
  6. package/Field/FieldBaseContainer.d.ts +2 -2
  7. package/Field/FieldBaseContainer.js +43 -0
  8. package/Field/FieldConditional.d.ts +1 -1
  9. package/Field/FieldConditional.js +45 -0
  10. package/Field/index.d.ts +1 -1
  11. package/Field/index.js +70 -68
  12. package/Field/types.d.ts +61 -11
  13. package/Field/utils/evaluateFieldWithConditions.d.ts +2 -0
  14. package/Field/utils/evaluateFieldWithConditions.js +19 -0
  15. package/Field/utils/resolveField.d.ts +3 -0
  16. package/Field/utils/resolveField.js +32 -0
  17. package/Field/utils/useField.d.ts +2 -0
  18. package/Field/utils/useField.js +47 -0
  19. package/FieldArray/BaseFieldArray.d.ts +5 -0
  20. package/FieldArray/BaseFieldArray.js +46 -0
  21. package/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay.d.ts +9 -0
  22. package/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay.js +13 -0
  23. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.d.ts +26 -0
  24. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.js +134 -0
  25. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.d.ts +5 -0
  26. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.js +6 -0
  27. package/FieldArray/FormDialog/ArrayDisplay/index.d.ts +15 -0
  28. package/FieldArray/FormDialog/ArrayDisplay/index.js +32 -0
  29. package/FieldArray/FormDialog/ArrayEditModal.d.ts +24 -0
  30. package/FieldArray/FormDialog/ArrayEditModal.js +138 -0
  31. package/FieldArray/FormDialog/index.d.ts +19 -0
  32. package/FieldArray/FormDialog/index.js +199 -0
  33. package/FieldArray/index.d.ts +11 -2
  34. package/FieldArray/index.js +65 -60
  35. package/FieldObject/index.d.ts +11 -3
  36. package/FieldObject/index.js +53 -52
  37. package/Fieldset/FieldsetWithContext.js +27 -0
  38. package/Fieldset/index.d.ts +2 -2
  39. package/Fieldset/index.js +18 -32
  40. package/Fieldset/types.d.ts +3 -2
  41. package/FormBuilder/index.d.ts +8 -1
  42. package/FormBuilder/index.js +239 -2
  43. package/FormContext.d.ts +3 -2
  44. package/FormContext.js +7 -0
  45. package/MultiplicityField/add-objects.d.ts +3 -2
  46. package/MultiplicityField/add-objects.js +107 -0
  47. package/MultiplicityField/index.d.ts +2 -19
  48. package/MultiplicityField/index.js +84 -111
  49. package/MultiplicityField/types.d.ts +19 -0
  50. package/Questions/Questions.d.ts +1 -1
  51. package/Questions/Questions.js +48 -0
  52. package/Questions/QuestionsContext.d.ts +1 -2
  53. package/Questions/QuestionsContext.js +10 -0
  54. package/Questions/Step/ReviewStep.js +32 -0
  55. package/Questions/Step/Step.d.ts +1 -1
  56. package/Questions/Step/Step.js +39 -0
  57. package/Questions/Step/StepArrayReview.d.ts +1 -1
  58. package/Questions/Step/StepArrayReview.js +35 -0
  59. package/Questions/Step/StepContext.d.ts +1 -2
  60. package/Questions/Step/StepContext.js +28 -0
  61. package/Questions/Step/StepDescription.d.ts +1 -1
  62. package/Questions/Step/StepDescription.js +18 -0
  63. package/Questions/Step/StepForm.d.ts +2 -2
  64. package/Questions/Step/StepForm.js +29 -0
  65. package/Questions/Step/StepQuote.d.ts +1 -1
  66. package/Questions/Step/StepQuote.js +5 -0
  67. package/Questions/Step/StepTitle.d.ts +2 -1
  68. package/Questions/Step/StepTitle.js +25 -0
  69. package/Questions/Step/getAddMoreFields.d.ts +2 -2
  70. package/Questions/Step/getAddMoreFields.js +24 -0
  71. package/Questions/Step/index.d.ts +11 -12
  72. package/Questions/Step/index.js +13 -13
  73. package/Questions/Step/types.d.ts +2 -1
  74. package/Questions/Step/types.js +0 -0
  75. package/Questions/getNextStep.d.ts +1 -1
  76. package/Questions/getNextStep.js +13 -0
  77. package/Questions/index.d.ts +2 -2
  78. package/Questions/index.js +4 -3
  79. package/Questions/types.d.ts +2 -1
  80. package/Questions/types.js +0 -0
  81. package/hooks/useFieldFocusManager.d.ts +25 -0
  82. package/hooks/useFieldFocusManager.js +83 -0
  83. package/hooks/utils.d.ts +18 -0
  84. package/hooks/utils.js +60 -0
  85. package/index.d.ts +5 -2
  86. package/index.js +8 -4
  87. package/inputs/AutoCompleteInput/index.d.ts +5 -5
  88. package/inputs/AutoCompleteInput/index.js +42 -44
  89. package/inputs/Checkboxes/index.d.ts +7 -4
  90. package/inputs/Checkboxes/index.js +50 -91
  91. package/inputs/DateInput/index.d.ts +3 -7
  92. package/inputs/DateInput/index.js +128 -125
  93. package/inputs/DateTimeInput/index.d.ts +10 -0
  94. package/inputs/DateTimeInput/index.js +190 -0
  95. package/inputs/FileInput/index.d.ts +18 -2
  96. package/inputs/FileInput/index.js +59 -56
  97. package/inputs/ImageInput/index.d.ts +10 -2
  98. package/inputs/ImageInput/index.js +94 -74
  99. package/inputs/Input/index.d.ts +5 -2
  100. package/inputs/Input/index.js +67 -67
  101. package/inputs/Label/index.d.ts +2 -4
  102. package/inputs/Label/index.js +13 -21
  103. package/inputs/OtpInput/index.d.ts +1 -5
  104. package/inputs/OtpInput/index.js +122 -139
  105. package/inputs/Radio/index.d.ts +10 -3
  106. package/inputs/Radio/index.js +72 -56
  107. package/inputs/Select/index.d.ts +7 -4
  108. package/inputs/Select/index.js +23 -30
  109. package/inputs/index.d.ts +9 -9
  110. package/inputs/index.js +10 -9
  111. package/inputs/registry.d.ts +5 -0
  112. package/inputs/registry.js +80 -0
  113. package/internal.d.ts +5 -34
  114. package/internal.js +6 -0
  115. package/lazy.d.ts +93 -65
  116. package/lazy.js +163 -0
  117. package/package.json +12 -13
  118. package/registry.d.ts +45 -27
  119. package/registry.js +170 -0
  120. package/src/Field/ErrorGroup.tsx +84 -0
  121. package/src/Field/FieldBase.tsx +43 -25
  122. package/src/Field/FieldBaseContainer.tsx +71 -47
  123. package/src/Field/FieldConditional.tsx +10 -2
  124. package/src/Field/doc.mdx +207 -0
  125. package/src/Field/index.tsx +37 -23
  126. package/src/Field/types.tsx +92 -13
  127. package/src/Field/utils/evaluateFieldWithConditions.ts +33 -0
  128. package/src/Field/utils/resolveField.ts +58 -0
  129. package/src/Field/utils/useField.ts +68 -0
  130. package/src/FieldArray/BaseFieldArray.tsx +97 -0
  131. package/src/FieldArray/FieldArray.stories.js +4 -2
  132. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay.tsx +45 -0
  133. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayDisplay.stories.js +14 -0
  134. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.tsx +370 -0
  135. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.tsx +15 -0
  136. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/Cards.tsx +88 -0
  137. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/Default.tsx +93 -0
  138. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/ReadOnly.tsx +79 -0
  139. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/ReadOnlyCards.tsx +75 -0
  140. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/Sortable.tsx +93 -0
  141. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/SortableCards.tsx +88 -0
  142. package/src/FieldArray/FormDialog/ArrayDisplay/index.test.tsx +44 -0
  143. package/src/FieldArray/FormDialog/ArrayDisplay/index.tsx +67 -0
  144. package/src/FieldArray/FormDialog/ArrayEditModal.tsx +241 -0
  145. package/src/FieldArray/FormDialog/index.tsx +302 -0
  146. package/src/FieldArray/__stories__/CardsWithError.tsx +110 -0
  147. package/src/FieldArray/__stories__/Default.tsx +2 -1
  148. package/src/FieldArray/__stories__/TableWithError.tsx +111 -0
  149. package/src/FieldArray/__stories__/WithExactLength.tsx +2 -1
  150. package/src/FieldArray/__stories__/WithModal.tsx +188 -0
  151. package/src/FieldArray/__tests__/fieldset-multiplicity.spec.tsx +271 -0
  152. package/src/FieldArray/__tests__/multiplicity-attachment.spec.tsx +280 -0
  153. package/src/FieldArray/__tests__/multiplicity-optional.spec.tsx +232 -0
  154. package/src/FieldArray/__tests__/multiplicity-required.spec.tsx +170 -0
  155. package/src/FieldArray/__tests__/nested-fieldset-multiplicity.spec.tsx +627 -0
  156. package/src/FieldArray/__tests__/preference-multiple-choice.spec.tsx +222 -0
  157. package/src/FieldArray/index.spec.tsx +355 -0
  158. package/src/FieldArray/index.test.tsx +43 -0
  159. package/src/FieldArray/index.tsx +84 -55
  160. package/src/FieldObject/index.tsx +53 -27
  161. package/src/Fieldset/FieldsetWithContext.tsx +1 -1
  162. package/src/Fieldset/index.tsx +6 -6
  163. package/src/Fieldset/types.tsx +5 -3
  164. package/src/FormBuilder/FormBuilder.stories.js +6 -1
  165. package/src/FormBuilder/__stories__/AutoErrorGrouping.tsx +63 -0
  166. package/src/FormBuilder/__stories__/Default.tsx +1 -1
  167. package/src/FormBuilder/__stories__/ErrorGrouping.tsx +43 -0
  168. package/src/FormBuilder/{FormBuilder.mdx → doc.mdx} +27 -35
  169. package/src/FormBuilder/index.test.tsx +32 -0
  170. package/src/FormBuilder/index.tsx +314 -1
  171. package/src/FormBuilder/interaction.test.tsx +40 -0
  172. package/src/FormBuilder/scenarios.test.tsx +2775 -0
  173. package/src/FormContext.tsx +7 -3
  174. package/src/MultiplicityField/MultiplicityField.stories.js +9 -6
  175. package/src/MultiplicityField/__stories__/Default.tsx +1 -1
  176. package/src/MultiplicityField/__stories__/PreviewDisplay.tsx +4 -6
  177. package/src/MultiplicityField/__stories__/WithExactLength.tsx +2 -2
  178. package/src/MultiplicityField/__stories__/WithMaxLength.tsx +2 -2
  179. package/src/MultiplicityField/__stories__/WithMinAndMaxLength.tsx +2 -2
  180. package/src/MultiplicityField/__stories__/WithMinLength.tsx +2 -2
  181. package/src/MultiplicityField/add-objects.tsx +39 -30
  182. package/{cjs/MultiplicityField/MultiplicityField.mdx → src/MultiplicityField/doc.mdx} +112 -98
  183. package/src/MultiplicityField/index.test.tsx +44 -0
  184. package/src/MultiplicityField/index.tsx +25 -34
  185. package/src/MultiplicityField/types.ts +25 -0
  186. package/src/Questions/Questions.stories.js +4 -1
  187. package/src/Questions/Questions.tsx +6 -6
  188. package/src/Questions/QuestionsContext.tsx +1 -1
  189. package/src/Questions/Step/Step.tsx +1 -1
  190. package/src/Questions/Step/StepArrayReview.tsx +3 -3
  191. package/src/Questions/Step/StepContext.tsx +1 -1
  192. package/src/Questions/Step/StepDescription.tsx +2 -1
  193. package/src/Questions/Step/StepForm.tsx +2 -2
  194. package/src/Questions/Step/StepQuote.tsx +2 -1
  195. package/src/Questions/Step/StepTitle.tsx +6 -3
  196. package/src/Questions/Step/getAddMoreFields.tsx +2 -2
  197. package/src/Questions/Step/index.ts +0 -1
  198. package/src/Questions/Step/types.tsx +2 -1
  199. package/src/Questions/__snapshots__/index.spec.tsx.snap +74 -587
  200. package/src/Questions/__stories__/Default.tsx +1 -1
  201. package/{Questions/index.mdx → src/Questions/doc.mdx} +34 -57
  202. package/src/Questions/getNextStep.tsx +1 -1
  203. package/src/Questions/index.spec.tsx +17 -5
  204. package/src/Questions/index.test.tsx +24 -0
  205. package/src/Questions/types.tsx +2 -1
  206. package/src/create-simple-form.mdx +2 -6
  207. package/src/{index.mdx → doc.mdx} +29 -18
  208. package/src/hooks/__tests__/useFieldFocusManager.spec.tsx +1079 -0
  209. package/src/hooks/__tests__/utils.spec.ts +568 -0
  210. package/src/hooks/useFieldFocusManager.ts +162 -0
  211. package/src/hooks/utils.ts +122 -0
  212. package/src/index.ts +4 -1
  213. package/src/inputs/AutoCompleteInput/AutoComplete.stories.js +5 -2
  214. package/src/inputs/AutoCompleteInput/__stories__/Default.tsx +3 -11
  215. package/src/inputs/AutoCompleteInput/__stories__/Multiple.tsx +3 -10
  216. package/{cjs/inputs/AutoCompleteInput/index.mdx → src/inputs/AutoCompleteInput/doc.mdx} +2 -13
  217. package/src/inputs/AutoCompleteInput/index.test.tsx +28 -0
  218. package/src/inputs/AutoCompleteInput/index.tsx +49 -35
  219. package/src/inputs/Checkboxes/Checkboxes.stories.js +6 -3
  220. package/src/inputs/Checkboxes/__stories__/Conditional.tsx +1 -1
  221. package/src/inputs/Checkboxes/__stories__/Default.tsx +1 -1
  222. package/src/inputs/Checkboxes/__stories__/WithDivider.tsx +1 -1
  223. package/src/inputs/Checkboxes/{index.mdx → doc.mdx} +5 -15
  224. package/src/inputs/Checkboxes/index.test.tsx +32 -0
  225. package/src/inputs/Checkboxes/index.tsx +106 -92
  226. package/src/inputs/DateInput/DateInput.stories.js +8 -1
  227. package/src/inputs/DateInput/__stories__/Default.tsx +17 -16
  228. package/src/inputs/DateInput/__stories__/WithDefaultValue.tsx +26 -0
  229. package/src/inputs/DateInput/__stories__/WithInitialValue.tsx +28 -0
  230. package/src/inputs/DateInput/__stories__/WithWrongDefaultValue.tsx +26 -0
  231. package/src/inputs/DateInput/__stories__/WithWrongInitialValue.tsx +28 -0
  232. package/src/inputs/DateInput/{index.mdx → doc.mdx} +1 -8
  233. package/src/inputs/DateInput/index.test.tsx +40 -0
  234. package/src/inputs/DateInput/index.tsx +77 -27
  235. package/src/inputs/DateTimeInput/DateTimeInput.stories.js +14 -0
  236. package/src/inputs/DateTimeInput/__stories__/Default.tsx +25 -0
  237. package/src/inputs/DateTimeInput/__stories__/WithDefaultValue.tsx +26 -0
  238. package/src/inputs/DateTimeInput/__stories__/WithInitialValue.tsx +28 -0
  239. package/src/inputs/DateTimeInput/__stories__/WithWrongDefaultValue.tsx +26 -0
  240. package/src/inputs/DateTimeInput/__stories__/WithWrongInitialValue.tsx +28 -0
  241. package/src/inputs/DateTimeInput/doc.mdx +16 -0
  242. package/src/inputs/DateTimeInput/index.test.tsx +40 -0
  243. package/src/inputs/DateTimeInput/index.tsx +246 -0
  244. package/src/inputs/FileInput/FileInput.stories.js +5 -1
  245. package/src/inputs/FileInput/__stories__/Default.tsx +1 -1
  246. package/src/inputs/FileInput/__stories__/WithBorderAndLink.tsx +34 -0
  247. package/{inputs/FileInput/index.mdx → src/inputs/FileInput/doc.mdx} +1 -5
  248. package/src/inputs/FileInput/index.test.tsx +28 -0
  249. package/src/inputs/FileInput/index.tsx +102 -43
  250. package/src/inputs/ImageInput/ImageInput.stories.js +7 -3
  251. package/src/inputs/ImageInput/__stories__/Default.tsx +1 -1
  252. package/src/inputs/ImageInput/__stories__/{WithInvalidImageSize.tsx → MaxSize.tsx} +5 -3
  253. package/src/inputs/ImageInput/__stories__/WithInitialValues.tsx +45 -0
  254. package/src/inputs/ImageInput/__stories__/WithInvalidImageDimension.tsx +3 -1
  255. package/src/inputs/ImageInput/__stories__/logo.d.ts +4 -0
  256. package/src/inputs/ImageInput/__stories__/logo.png +0 -0
  257. package/src/inputs/ImageInput/doc.mdx +23 -0
  258. package/src/inputs/ImageInput/index.test.tsx +36 -0
  259. package/src/inputs/ImageInput/index.tsx +105 -52
  260. package/src/inputs/Input/Input.stories.js +17 -10
  261. package/src/inputs/Input/__stories__/AFM.tsx +1 -1
  262. package/src/inputs/Input/__stories__/AMKA.tsx +23 -0
  263. package/src/inputs/Input/__stories__/Boolean.tsx +1 -1
  264. package/src/inputs/Input/__stories__/Email.tsx +23 -0
  265. package/src/inputs/Input/__stories__/IBAN.tsx +1 -1
  266. package/src/inputs/Input/__stories__/Integer.tsx +1 -1
  267. package/src/inputs/Input/__stories__/LandlineNumber.tsx +3 -2
  268. package/src/inputs/Input/__stories__/MobilePhone.tsx +2 -1
  269. package/src/inputs/Input/__stories__/PhoneNumber.tsx +2 -1
  270. package/src/inputs/Input/__stories__/PostalCode.tsx +2 -1
  271. package/src/inputs/Input/__stories__/Rate.tsx +25 -0
  272. package/src/inputs/Input/__stories__/{Default.tsx → String.tsx} +2 -2
  273. package/src/inputs/Input/__stories__/StringWithTrimValidation.tsx +26 -0
  274. package/src/inputs/Input/__stories__/{TextWithCharacterLimit.tsx → TextWithLimit.tsx} +3 -2
  275. package/src/inputs/Input/doc.mdx +56 -0
  276. package/src/inputs/Input/index.test.tsx +76 -0
  277. package/src/inputs/Input/index.tsx +55 -35
  278. package/src/inputs/Label/Label.stories.js +4 -1
  279. package/src/inputs/Label/__stories__/Default.tsx +4 -2
  280. package/src/inputs/Label/doc.mdx +14 -0
  281. package/src/inputs/Label/index.test.tsx +24 -0
  282. package/src/inputs/Label/index.tsx +4 -11
  283. package/src/inputs/OtpInput/OtpInput.stories.js +4 -1
  284. package/src/inputs/OtpInput/__stories__/Default.tsx +1 -1
  285. package/{cjs/inputs/OtpInput/index.mdx → src/inputs/OtpInput/doc.mdx} +1 -8
  286. package/src/inputs/OtpInput/index.test.tsx +24 -0
  287. package/src/inputs/OtpInput/index.tsx +45 -34
  288. package/src/inputs/Radio/Radio.stories.js +6 -3
  289. package/src/inputs/Radio/__stories__/Conditional.tsx +3 -2
  290. package/src/inputs/Radio/__stories__/Default.tsx +1 -1
  291. package/src/inputs/Radio/__stories__/WithDivider.tsx +1 -1
  292. package/{cjs/inputs/Radio/index.mdx → src/inputs/Radio/doc.mdx} +5 -15
  293. package/src/inputs/Radio/index.test.tsx +32 -0
  294. package/src/inputs/Radio/index.tsx +93 -12
  295. package/src/inputs/Select/Select.stories.js +4 -1
  296. package/src/inputs/Select/__stories__/Default.tsx +1 -1
  297. package/src/inputs/Select/{index.mdx → doc.mdx} +1 -5
  298. package/src/inputs/Select/index.test.tsx +24 -0
  299. package/src/inputs/Select/index.tsx +22 -9
  300. package/src/inputs/registry.ts +86 -0
  301. package/src/installation.mdx +2 -5
  302. package/src/internal.ts +2 -31
  303. package/src/lazy.ts +56 -0
  304. package/src/registry.ts +179 -0
  305. package/src/types.tsx +21 -65
  306. package/src/utils.ts +67 -33
  307. package/src/validators/index.ts +138 -99
  308. package/src/validators/types.ts +1 -1
  309. package/src/validators/utils/amka.ts +39 -0
  310. package/src/validators/utils/date.ts +131 -0
  311. package/src/validators/utils/datetime.ts +222 -0
  312. package/src/validators/utils/email.ts +11 -0
  313. package/src/validators/utils/file.ts +35 -19
  314. package/src/validators/utils/iban.ts +2 -2
  315. package/src/validators/utils/image.ts +2 -2
  316. package/src/validators/utils/index.ts +15 -6
  317. package/src/validators/utils/int.ts +2 -2
  318. package/src/validators/utils/number.ts +2 -2
  319. package/src/validators/utils/otp.ts +2 -2
  320. package/src/validators/utils/phone.ts +65 -74
  321. package/src/validators/utils/postal_code.ts +3 -3
  322. package/src/validators/utils/text_limit.ts +2 -2
  323. package/src/validators/utils/uuid4.ts +2 -1
  324. package/src/validators/validators.spec.ts +6 -40
  325. package/types.d.ts +14 -37
  326. package/types.js +1 -0
  327. package/utils.d.ts +4 -1
  328. package/utils.js +56 -0
  329. package/validators/index.d.ts +6 -6
  330. package/validators/index.js +115 -180
  331. package/validators/types.d.ts +1 -1
  332. package/validators/types.js +0 -0
  333. package/validators/utils/afm.js +19 -0
  334. package/validators/utils/amka.d.ts +6 -0
  335. package/validators/utils/amka.js +27 -0
  336. package/validators/utils/date.d.ts +9 -0
  337. package/validators/utils/date.js +95 -0
  338. package/validators/utils/datetime.d.ts +9 -0
  339. package/validators/utils/datetime.js +121 -0
  340. package/validators/utils/email.d.ts +5 -0
  341. package/validators/utils/email.js +10 -0
  342. package/validators/utils/file.d.ts +2 -2
  343. package/validators/utils/file.js +31 -0
  344. package/validators/utils/iban.d.ts +2 -2
  345. package/validators/utils/iban.js +104 -0
  346. package/validators/utils/image.d.ts +2 -2
  347. package/validators/utils/image.js +65 -0
  348. package/validators/utils/index.d.ts +14 -11
  349. package/validators/utils/index.js +62 -85
  350. package/validators/utils/int.d.ts +1 -1
  351. package/validators/utils/int.js +13 -0
  352. package/validators/utils/number.d.ts +1 -1
  353. package/validators/utils/number.js +12 -0
  354. package/validators/utils/otp.d.ts +2 -2
  355. package/validators/utils/otp.js +21 -0
  356. package/validators/utils/phone.d.ts +3 -3
  357. package/validators/utils/phone.js +198 -0
  358. package/validators/utils/postal_code.d.ts +3 -3
  359. package/validators/utils/postal_code.js +18 -0
  360. package/validators/utils/text_limit.d.ts +2 -2
  361. package/validators/utils/text_limit.js +34 -0
  362. package/validators/utils/uuid4.js +14 -0
  363. package/Field/FieldBase/index.js +0 -82
  364. package/Field/FieldBase/package.json +0 -6
  365. package/Field/FieldBaseContainer/index.js +0 -40
  366. package/Field/FieldBaseContainer/package.json +0 -6
  367. package/Field/FieldConditional/index.js +0 -59
  368. package/Field/FieldConditional/package.json +0 -6
  369. package/Field/index.mdx +0 -6
  370. package/Field/package.json +0 -6
  371. package/Field/types/index.js +0 -1
  372. package/Field/types/package.json +0 -6
  373. package/Field/utils/index.js +0 -153
  374. package/Field/utils/package.json +0 -6
  375. package/Field/utils.d.ts +0 -5
  376. package/FieldArray/FieldArray.stories/index.js +0 -8
  377. package/FieldArray/FieldArray.stories/package.json +0 -6
  378. package/FieldArray/FieldArray.stories.d.ts +0 -9
  379. package/FieldArray/FieldArray.stories.playwright.json +0 -353
  380. package/FieldArray/__stories__/Default/index.js +0 -88
  381. package/FieldArray/__stories__/Default/package.json +0 -6
  382. package/FieldArray/__stories__/Default.d.ts +0 -2
  383. package/FieldArray/__stories__/WithExactLength/index.js +0 -88
  384. package/FieldArray/__stories__/WithExactLength/package.json +0 -6
  385. package/FieldArray/__stories__/WithExactLength.d.ts +0 -2
  386. package/FieldArray/package.json +0 -6
  387. package/FieldObject/package.json +0 -6
  388. package/Fieldset/FieldsetWithContext/index.js +0 -35
  389. package/Fieldset/FieldsetWithContext/package.json +0 -6
  390. package/Fieldset/package.json +0 -6
  391. package/Fieldset/types/index.js +0 -1
  392. package/Fieldset/types/package.json +0 -6
  393. package/Form.stories/index.js +0 -3
  394. package/Form.stories/package.json +0 -6
  395. package/Form.stories.d.ts +0 -4
  396. package/FormBuilder/FormBuilder/index.js +0 -152
  397. package/FormBuilder/FormBuilder/package.json +0 -6
  398. package/FormBuilder/FormBuilder.d.ts +0 -5
  399. package/FormBuilder/FormBuilder.mdx +0 -256
  400. package/FormBuilder/FormBuilder.stories/index.js +0 -7
  401. package/FormBuilder/FormBuilder.stories/package.json +0 -6
  402. package/FormBuilder/FormBuilder.stories.d.ts +0 -8
  403. package/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  404. package/FormBuilder/__stories__/Default/index.js +0 -26
  405. package/FormBuilder/__stories__/Default/package.json +0 -6
  406. package/FormBuilder/__stories__/Default.d.ts +0 -3
  407. package/FormBuilder/package.json +0 -6
  408. package/FormContext/index.js +0 -5
  409. package/FormContext/package.json +0 -6
  410. package/MultiplicityField/MultiplicityField.mdx +0 -590
  411. package/MultiplicityField/MultiplicityField.stories/index.js +0 -12
  412. package/MultiplicityField/MultiplicityField.stories/package.json +0 -6
  413. package/MultiplicityField/MultiplicityField.stories.d.ts +0 -13
  414. package/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  415. package/MultiplicityField/__stories__/Default/index.js +0 -95
  416. package/MultiplicityField/__stories__/Default/package.json +0 -6
  417. package/MultiplicityField/__stories__/Default.d.ts +0 -2
  418. package/MultiplicityField/__stories__/PreviewDisplay/index.js +0 -72
  419. package/MultiplicityField/__stories__/PreviewDisplay/package.json +0 -6
  420. package/MultiplicityField/__stories__/PreviewDisplay.d.ts +0 -2
  421. package/MultiplicityField/__stories__/WithExactLength/index.js +0 -90
  422. package/MultiplicityField/__stories__/WithExactLength/package.json +0 -6
  423. package/MultiplicityField/__stories__/WithExactLength.d.ts +0 -2
  424. package/MultiplicityField/__stories__/WithMaxLength/index.js +0 -93
  425. package/MultiplicityField/__stories__/WithMaxLength/package.json +0 -6
  426. package/MultiplicityField/__stories__/WithMaxLength.d.ts +0 -2
  427. package/MultiplicityField/__stories__/WithMinAndMaxLength/index.js +0 -94
  428. package/MultiplicityField/__stories__/WithMinAndMaxLength/package.json +0 -6
  429. package/MultiplicityField/__stories__/WithMinAndMaxLength.d.ts +0 -2
  430. package/MultiplicityField/__stories__/WithMinLength/index.js +0 -93
  431. package/MultiplicityField/__stories__/WithMinLength/package.json +0 -6
  432. package/MultiplicityField/__stories__/WithMinLength.d.ts +0 -2
  433. package/MultiplicityField/add-objects/index.js +0 -148
  434. package/MultiplicityField/add-objects/package.json +0 -6
  435. package/MultiplicityField/package.json +0 -6
  436. package/Questions/Questions/index.js +0 -75
  437. package/Questions/Questions/package.json +0 -6
  438. package/Questions/Questions.stories/index.js +0 -7
  439. package/Questions/Questions.stories/package.json +0 -6
  440. package/Questions/Questions.stories.d.ts +0 -8
  441. package/Questions/QuestionsContext/index.js +0 -11
  442. package/Questions/QuestionsContext/package.json +0 -6
  443. package/Questions/Step/ReviewStep/index.js +0 -50
  444. package/Questions/Step/ReviewStep/package.json +0 -6
  445. package/Questions/Step/Step/index.js +0 -62
  446. package/Questions/Step/Step/package.json +0 -6
  447. package/Questions/Step/StepArrayReview/index.js +0 -46
  448. package/Questions/Step/StepArrayReview/package.json +0 -6
  449. package/Questions/Step/StepContext/index.js +0 -27
  450. package/Questions/Step/StepContext/package.json +0 -6
  451. package/Questions/Step/StepDescription/index.js +0 -24
  452. package/Questions/Step/StepDescription/package.json +0 -6
  453. package/Questions/Step/StepForm/index.js +0 -44
  454. package/Questions/Step/StepForm/package.json +0 -6
  455. package/Questions/Step/StepQuote/index.js +0 -10
  456. package/Questions/Step/StepQuote/package.json +0 -6
  457. package/Questions/Step/StepTitle/index.js +0 -41
  458. package/Questions/Step/StepTitle/package.json +0 -6
  459. package/Questions/Step/getAddMoreFields/index.js +0 -21
  460. package/Questions/Step/getAddMoreFields/package.json +0 -6
  461. package/Questions/Step/package.json +0 -6
  462. package/Questions/Step/types/index.js +0 -1
  463. package/Questions/Step/types/package.json +0 -6
  464. package/Questions/__snapshots__/index.spec.tsx.snap +0 -596
  465. package/Questions/__stories__/Default/index.js +0 -102
  466. package/Questions/__stories__/Default/package.json +0 -6
  467. package/Questions/__stories__/Default.d.ts +0 -3
  468. package/Questions/getNextStep/index.js +0 -20
  469. package/Questions/getNextStep/package.json +0 -6
  470. package/Questions/index.spec/index.js +0 -59
  471. package/Questions/index.spec/package.json +0 -6
  472. package/Questions/index.spec.d.ts +0 -1
  473. package/Questions/package.json +0 -6
  474. package/Questions/types/index.js +0 -1
  475. package/Questions/types/package.json +0 -6
  476. package/cjs/Field/FieldBase/index.js +0 -89
  477. package/cjs/Field/FieldBaseContainer/index.js +0 -47
  478. package/cjs/Field/FieldConditional/index.js +0 -66
  479. package/cjs/Field/index.js +0 -80
  480. package/cjs/Field/index.mdx +0 -6
  481. package/cjs/Field/types/index.js +0 -5
  482. package/cjs/Field/utils/index.js +0 -162
  483. package/cjs/FieldArray/FieldArray.stories/index.js +0 -38
  484. package/cjs/FieldArray/FieldArray.stories.playwright.json +0 -353
  485. package/cjs/FieldArray/__stories__/Default/index.js +0 -98
  486. package/cjs/FieldArray/__stories__/WithExactLength/index.js +0 -98
  487. package/cjs/FieldArray/index.js +0 -68
  488. package/cjs/FieldObject/index.js +0 -64
  489. package/cjs/Fieldset/FieldsetWithContext/index.js +0 -45
  490. package/cjs/Fieldset/index.js +0 -44
  491. package/cjs/Fieldset/types/index.js +0 -5
  492. package/cjs/Form.stories/index.js +0 -9
  493. package/cjs/FormBuilder/FormBuilder/index.js +0 -162
  494. package/cjs/FormBuilder/FormBuilder.mdx +0 -256
  495. package/cjs/FormBuilder/FormBuilder.stories/index.js +0 -26
  496. package/cjs/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  497. package/cjs/FormBuilder/__stories__/Default/index.js +0 -36
  498. package/cjs/FormBuilder/index.js +0 -8
  499. package/cjs/FormContext/index.js +0 -11
  500. package/cjs/MultiplicityField/MultiplicityField.stories/index.js +0 -86
  501. package/cjs/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  502. package/cjs/MultiplicityField/__stories__/Default/index.js +0 -105
  503. package/cjs/MultiplicityField/__stories__/PreviewDisplay/index.js +0 -82
  504. package/cjs/MultiplicityField/__stories__/WithExactLength/index.js +0 -100
  505. package/cjs/MultiplicityField/__stories__/WithMaxLength/index.js +0 -103
  506. package/cjs/MultiplicityField/__stories__/WithMinAndMaxLength/index.js +0 -104
  507. package/cjs/MultiplicityField/__stories__/WithMinLength/index.js +0 -103
  508. package/cjs/MultiplicityField/add-objects/index.js +0 -155
  509. package/cjs/MultiplicityField/index.js +0 -123
  510. package/cjs/Questions/Questions/index.js +0 -85
  511. package/cjs/Questions/Questions.stories/index.js +0 -26
  512. package/cjs/Questions/QuestionsContext/index.js +0 -17
  513. package/cjs/Questions/Step/ReviewStep/index.js +0 -60
  514. package/cjs/Questions/Step/Step/index.js +0 -72
  515. package/cjs/Questions/Step/StepArrayReview/index.js +0 -56
  516. package/cjs/Questions/Step/StepContext/index.js +0 -33
  517. package/cjs/Questions/Step/StepDescription/index.js +0 -34
  518. package/cjs/Questions/Step/StepForm/index.js +0 -54
  519. package/cjs/Questions/Step/StepQuote/index.js +0 -17
  520. package/cjs/Questions/Step/StepTitle/index.js +0 -51
  521. package/cjs/Questions/Step/getAddMoreFields/index.js +0 -27
  522. package/cjs/Questions/Step/index.js +0 -143
  523. package/cjs/Questions/Step/types/index.js +0 -5
  524. package/cjs/Questions/__snapshots__/index.spec.tsx.snap +0 -596
  525. package/cjs/Questions/__stories__/Default/index.js +0 -113
  526. package/cjs/Questions/getNextStep/index.js +0 -26
  527. package/cjs/Questions/index.js +0 -21
  528. package/cjs/Questions/index.mdx +0 -415
  529. package/cjs/Questions/index.spec/index.js +0 -63
  530. package/cjs/Questions/types/index.js +0 -5
  531. package/cjs/create-simple-form.mdx +0 -539
  532. package/cjs/index.js +0 -22
  533. package/cjs/index.mdx +0 -51
  534. package/cjs/inputs/AutoCompleteInput/AutoComplete.stories/index.js +0 -38
  535. package/cjs/inputs/AutoCompleteInput/__stories__/Default/index.js +0 -51
  536. package/cjs/inputs/AutoCompleteInput/__stories__/Multiple/index.js +0 -52
  537. package/cjs/inputs/AutoCompleteInput/index.js +0 -55
  538. package/cjs/inputs/Checkboxes/Checkboxes.stories/index.js +0 -50
  539. package/cjs/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  540. package/cjs/inputs/Checkboxes/__stories__/Conditional/index.js +0 -103
  541. package/cjs/inputs/Checkboxes/__stories__/Default/index.js +0 -50
  542. package/cjs/inputs/Checkboxes/__stories__/WithDivider/index.js +0 -51
  543. package/cjs/inputs/Checkboxes/index.js +0 -101
  544. package/cjs/inputs/Checkboxes/index.mdx +0 -33
  545. package/cjs/inputs/DateInput/DateInput.stories/index.js +0 -26
  546. package/cjs/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  547. package/cjs/inputs/DateInput/__stories__/Default/index.js +0 -33
  548. package/cjs/inputs/DateInput/index.js +0 -141
  549. package/cjs/inputs/DateInput/index.mdx +0 -23
  550. package/cjs/inputs/FileInput/FileInput.stories/index.js +0 -26
  551. package/cjs/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  552. package/cjs/inputs/FileInput/__stories__/Default/index.js +0 -30
  553. package/cjs/inputs/FileInput/index.js +0 -68
  554. package/cjs/inputs/FileInput/index.mdx +0 -19
  555. package/cjs/inputs/ImageInput/ImageInput.stories/index.js +0 -50
  556. package/cjs/inputs/ImageInput/ImageInput.stories.playwright.json +0 -77
  557. package/cjs/inputs/ImageInput/__stories__/Default/index.js +0 -38
  558. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +0 -46
  559. package/cjs/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +0 -43
  560. package/cjs/inputs/ImageInput/index.js +0 -86
  561. package/cjs/inputs/ImageInput/index.mdx +0 -19
  562. package/cjs/inputs/Input/Input.stories/index.js +0 -134
  563. package/cjs/inputs/Input/Input.stories.playwright.json +0 -376
  564. package/cjs/inputs/Input/__stories__/AFM/index.js +0 -32
  565. package/cjs/inputs/Input/__stories__/Boolean/index.js +0 -33
  566. package/cjs/inputs/Input/__stories__/Default/index.js +0 -33
  567. package/cjs/inputs/Input/__stories__/IBAN/index.js +0 -33
  568. package/cjs/inputs/Input/__stories__/Integer/index.js +0 -41
  569. package/cjs/inputs/Input/__stories__/LandlineNumber/index.js +0 -36
  570. package/cjs/inputs/Input/__stories__/MobilePhone/index.js +0 -36
  571. package/cjs/inputs/Input/__stories__/PhoneNumber/index.js +0 -35
  572. package/cjs/inputs/Input/__stories__/PostalCode/index.js +0 -35
  573. package/cjs/inputs/Input/__stories__/TextWithCharacterLimit/index.js +0 -39
  574. package/cjs/inputs/Input/index.js +0 -76
  575. package/cjs/inputs/Input/index.mdx +0 -95
  576. package/cjs/inputs/Label/Label.stories/index.js +0 -26
  577. package/cjs/inputs/Label/Label.stories.playwright.json +0 -40
  578. package/cjs/inputs/Label/__stories__/Default/index.js +0 -37
  579. package/cjs/inputs/Label/index.js +0 -29
  580. package/cjs/inputs/OtpInput/OtpInput.stories/index.js +0 -26
  581. package/cjs/inputs/OtpInput/__stories__/Default/index.js +0 -39
  582. package/cjs/inputs/OtpInput/index.js +0 -151
  583. package/cjs/inputs/Radio/Radio.stories/index.js +0 -50
  584. package/cjs/inputs/Radio/Radio.stories.playwright.json +0 -73
  585. package/cjs/inputs/Radio/__stories__/Conditional/index.js +0 -103
  586. package/cjs/inputs/Radio/__stories__/Default/index.js +0 -55
  587. package/cjs/inputs/Radio/__stories__/WithDivider/index.js +0 -56
  588. package/cjs/inputs/Radio/index.js +0 -64
  589. package/cjs/inputs/Select/Select.stories/index.js +0 -26
  590. package/cjs/inputs/Select/Select.stories.playwright.json +0 -22
  591. package/cjs/inputs/Select/__stories__/Default/index.js +0 -61
  592. package/cjs/inputs/Select/index.js +0 -38
  593. package/cjs/inputs/Select/index.mdx +0 -17
  594. package/cjs/inputs/index.js +0 -69
  595. package/cjs/installation.mdx +0 -68
  596. package/cjs/internal/index.js +0 -348
  597. package/cjs/lazy/index.js +0 -517
  598. package/cjs/registry/index.js +0 -147
  599. package/cjs/types/index.js +0 -5
  600. package/cjs/utils/index.js +0 -87
  601. package/cjs/validators/index.js +0 -193
  602. package/cjs/validators/types/index.js +0 -5
  603. package/cjs/validators/utils/afm/index.js +0 -38
  604. package/cjs/validators/utils/file/index.js +0 -43
  605. package/cjs/validators/utils/iban/index.js +0 -123
  606. package/cjs/validators/utils/image/index.js +0 -126
  607. package/cjs/validators/utils/index.js +0 -204
  608. package/cjs/validators/utils/int/index.js +0 -26
  609. package/cjs/validators/utils/number/index.js +0 -22
  610. package/cjs/validators/utils/otp/index.js +0 -32
  611. package/cjs/validators/utils/phone/index.js +0 -143
  612. package/cjs/validators/utils/postal_code/index.js +0 -34
  613. package/cjs/validators/utils/text_limit/index.js +0 -54
  614. package/cjs/validators/utils/uuid4/index.js +0 -25
  615. package/cjs/validators/validators.spec/index.js +0 -87
  616. package/create-simple-form.mdx +0 -539
  617. package/index.mdx +0 -51
  618. package/inputs/AutoCompleteInput/AutoComplete.stories/index.js +0 -8
  619. package/inputs/AutoCompleteInput/AutoComplete.stories/package.json +0 -6
  620. package/inputs/AutoCompleteInput/AutoComplete.stories.d.ts +0 -9
  621. package/inputs/AutoCompleteInput/__stories__/Default/index.js +0 -44
  622. package/inputs/AutoCompleteInput/__stories__/Default/package.json +0 -6
  623. package/inputs/AutoCompleteInput/__stories__/Default.d.ts +0 -3
  624. package/inputs/AutoCompleteInput/__stories__/Multiple/index.js +0 -45
  625. package/inputs/AutoCompleteInput/__stories__/Multiple/package.json +0 -6
  626. package/inputs/AutoCompleteInput/__stories__/Multiple.d.ts +0 -3
  627. package/inputs/AutoCompleteInput/index.mdx +0 -29
  628. package/inputs/AutoCompleteInput/package.json +0 -6
  629. package/inputs/Checkboxes/Checkboxes.stories/index.js +0 -9
  630. package/inputs/Checkboxes/Checkboxes.stories/package.json +0 -6
  631. package/inputs/Checkboxes/Checkboxes.stories.d.ts +0 -10
  632. package/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  633. package/inputs/Checkboxes/__stories__/Conditional/index.js +0 -93
  634. package/inputs/Checkboxes/__stories__/Conditional/package.json +0 -6
  635. package/inputs/Checkboxes/__stories__/Conditional.d.ts +0 -3
  636. package/inputs/Checkboxes/__stories__/Default/index.js +0 -40
  637. package/inputs/Checkboxes/__stories__/Default/package.json +0 -6
  638. package/inputs/Checkboxes/__stories__/Default.d.ts +0 -3
  639. package/inputs/Checkboxes/__stories__/WithDivider/index.js +0 -41
  640. package/inputs/Checkboxes/__stories__/WithDivider/package.json +0 -6
  641. package/inputs/Checkboxes/__stories__/WithDivider.d.ts +0 -3
  642. package/inputs/Checkboxes/index.mdx +0 -33
  643. package/inputs/Checkboxes/package.json +0 -6
  644. package/inputs/DateInput/DateInput.stories/index.js +0 -7
  645. package/inputs/DateInput/DateInput.stories/package.json +0 -6
  646. package/inputs/DateInput/DateInput.stories.d.ts +0 -8
  647. package/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  648. package/inputs/DateInput/__stories__/Default/index.js +0 -23
  649. package/inputs/DateInput/__stories__/Default/package.json +0 -6
  650. package/inputs/DateInput/__stories__/Default.d.ts +0 -3
  651. package/inputs/DateInput/index.mdx +0 -23
  652. package/inputs/DateInput/package.json +0 -6
  653. package/inputs/FileInput/FileInput.stories/index.js +0 -7
  654. package/inputs/FileInput/FileInput.stories/package.json +0 -6
  655. package/inputs/FileInput/FileInput.stories.d.ts +0 -8
  656. package/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  657. package/inputs/FileInput/__stories__/Default/index.js +0 -20
  658. package/inputs/FileInput/__stories__/Default/package.json +0 -6
  659. package/inputs/FileInput/__stories__/Default.d.ts +0 -3
  660. package/inputs/FileInput/package.json +0 -6
  661. package/inputs/ImageInput/ImageInput.stories/index.js +0 -9
  662. package/inputs/ImageInput/ImageInput.stories/package.json +0 -6
  663. package/inputs/ImageInput/ImageInput.stories.d.ts +0 -10
  664. package/inputs/ImageInput/ImageInput.stories.playwright.json +0 -77
  665. package/inputs/ImageInput/__stories__/Default/index.js +0 -28
  666. package/inputs/ImageInput/__stories__/Default/package.json +0 -6
  667. package/inputs/ImageInput/__stories__/Default.d.ts +0 -3
  668. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/index.js +0 -36
  669. package/inputs/ImageInput/__stories__/WithInvalidImageDimension/package.json +0 -6
  670. package/inputs/ImageInput/__stories__/WithInvalidImageDimension.d.ts +0 -3
  671. package/inputs/ImageInput/__stories__/WithInvalidImageSize/index.js +0 -33
  672. package/inputs/ImageInput/__stories__/WithInvalidImageSize/package.json +0 -6
  673. package/inputs/ImageInput/__stories__/WithInvalidImageSize.d.ts +0 -3
  674. package/inputs/ImageInput/index.mdx +0 -19
  675. package/inputs/ImageInput/package.json +0 -6
  676. package/inputs/Input/Input.stories/index.js +0 -16
  677. package/inputs/Input/Input.stories/package.json +0 -6
  678. package/inputs/Input/Input.stories.d.ts +0 -17
  679. package/inputs/Input/Input.stories.playwright.json +0 -376
  680. package/inputs/Input/__stories__/AFM/index.js +0 -22
  681. package/inputs/Input/__stories__/AFM/package.json +0 -6
  682. package/inputs/Input/__stories__/AFM.d.ts +0 -3
  683. package/inputs/Input/__stories__/Boolean/index.js +0 -23
  684. package/inputs/Input/__stories__/Boolean/package.json +0 -6
  685. package/inputs/Input/__stories__/Boolean.d.ts +0 -3
  686. package/inputs/Input/__stories__/Default/index.js +0 -23
  687. package/inputs/Input/__stories__/Default/package.json +0 -6
  688. package/inputs/Input/__stories__/Default.d.ts +0 -3
  689. package/inputs/Input/__stories__/IBAN/index.js +0 -23
  690. package/inputs/Input/__stories__/IBAN/package.json +0 -6
  691. package/inputs/Input/__stories__/IBAN.d.ts +0 -3
  692. package/inputs/Input/__stories__/Integer/index.js +0 -31
  693. package/inputs/Input/__stories__/Integer/package.json +0 -6
  694. package/inputs/Input/__stories__/Integer.d.ts +0 -3
  695. package/inputs/Input/__stories__/LandlineNumber/index.js +0 -26
  696. package/inputs/Input/__stories__/LandlineNumber/package.json +0 -6
  697. package/inputs/Input/__stories__/LandlineNumber.d.ts +0 -3
  698. package/inputs/Input/__stories__/MobilePhone/index.js +0 -26
  699. package/inputs/Input/__stories__/MobilePhone/package.json +0 -6
  700. package/inputs/Input/__stories__/MobilePhone.d.ts +0 -3
  701. package/inputs/Input/__stories__/PhoneNumber/index.js +0 -25
  702. package/inputs/Input/__stories__/PhoneNumber/package.json +0 -6
  703. package/inputs/Input/__stories__/PhoneNumber.d.ts +0 -3
  704. package/inputs/Input/__stories__/PostalCode/index.js +0 -25
  705. package/inputs/Input/__stories__/PostalCode/package.json +0 -6
  706. package/inputs/Input/__stories__/PostalCode.d.ts +0 -3
  707. package/inputs/Input/__stories__/TextWithCharacterLimit/index.js +0 -29
  708. package/inputs/Input/__stories__/TextWithCharacterLimit/package.json +0 -6
  709. package/inputs/Input/__stories__/TextWithCharacterLimit.d.ts +0 -3
  710. package/inputs/Input/index.mdx +0 -95
  711. package/inputs/Input/package.json +0 -6
  712. package/inputs/Label/Label.stories/index.js +0 -7
  713. package/inputs/Label/Label.stories/package.json +0 -6
  714. package/inputs/Label/Label.stories.d.ts +0 -8
  715. package/inputs/Label/Label.stories.playwright.json +0 -40
  716. package/inputs/Label/__stories__/Default/index.js +0 -27
  717. package/inputs/Label/__stories__/Default/package.json +0 -6
  718. package/inputs/Label/__stories__/Default.d.ts +0 -3
  719. package/inputs/Label/package.json +0 -6
  720. package/inputs/OtpInput/OtpInput.stories/index.js +0 -7
  721. package/inputs/OtpInput/OtpInput.stories/package.json +0 -6
  722. package/inputs/OtpInput/OtpInput.stories.d.ts +0 -8
  723. package/inputs/OtpInput/__stories__/Default/index.js +0 -29
  724. package/inputs/OtpInput/__stories__/Default/package.json +0 -6
  725. package/inputs/OtpInput/__stories__/Default.d.ts +0 -3
  726. package/inputs/OtpInput/index.mdx +0 -23
  727. package/inputs/OtpInput/package.json +0 -6
  728. package/inputs/Radio/Radio.stories/index.js +0 -9
  729. package/inputs/Radio/Radio.stories/package.json +0 -6
  730. package/inputs/Radio/Radio.stories.d.ts +0 -10
  731. package/inputs/Radio/Radio.stories.playwright.json +0 -73
  732. package/inputs/Radio/__stories__/Conditional/index.js +0 -93
  733. package/inputs/Radio/__stories__/Conditional/package.json +0 -6
  734. package/inputs/Radio/__stories__/Conditional.d.ts +0 -3
  735. package/inputs/Radio/__stories__/Default/index.js +0 -45
  736. package/inputs/Radio/__stories__/Default/package.json +0 -6
  737. package/inputs/Radio/__stories__/Default.d.ts +0 -3
  738. package/inputs/Radio/__stories__/WithDivider/index.js +0 -46
  739. package/inputs/Radio/__stories__/WithDivider/package.json +0 -6
  740. package/inputs/Radio/__stories__/WithDivider.d.ts +0 -3
  741. package/inputs/Radio/index.mdx +0 -33
  742. package/inputs/Radio/package.json +0 -6
  743. package/inputs/Select/Select.stories/index.js +0 -7
  744. package/inputs/Select/Select.stories/package.json +0 -6
  745. package/inputs/Select/Select.stories.d.ts +0 -8
  746. package/inputs/Select/Select.stories.playwright.json +0 -22
  747. package/inputs/Select/__stories__/Default/index.js +0 -51
  748. package/inputs/Select/__stories__/Default/package.json +0 -6
  749. package/inputs/Select/__stories__/Default.d.ts +0 -3
  750. package/inputs/Select/index.mdx +0 -17
  751. package/inputs/Select/package.json +0 -6
  752. package/inputs/package.json +0 -6
  753. package/installation.mdx +0 -68
  754. package/internal/index.js +0 -34
  755. package/internal/package.json +0 -6
  756. package/lazy/index.js +0 -395
  757. package/lazy/package.json +0 -6
  758. package/registry/index.js +0 -138
  759. package/registry/package.json +0 -6
  760. package/src/Field/index.mdx +0 -6
  761. package/src/Field/utils.ts +0 -191
  762. package/src/FieldArray/FieldArray.stories.playwright.json +0 -353
  763. package/src/FormBuilder/FormBuilder.stories.playwright.json +0 -52
  764. package/src/FormBuilder/FormBuilder.tsx +0 -166
  765. package/src/MultiplicityField/MultiplicityField.mdx +0 -590
  766. package/src/MultiplicityField/MultiplicityField.stories.playwright.json +0 -1370
  767. package/src/Questions/index.mdx +0 -415
  768. package/src/inputs/AutoCompleteInput/index.mdx +0 -29
  769. package/src/inputs/Checkboxes/Checkboxes.stories.playwright.json +0 -85
  770. package/src/inputs/DateInput/DateInput.stories.playwright.json +0 -72
  771. package/src/inputs/FileInput/FileInput.stories.playwright.json +0 -75
  772. package/src/inputs/FileInput/index.mdx +0 -19
  773. package/src/inputs/ImageInput/ImageInput.stories.playwright.json +0 -77
  774. package/src/inputs/ImageInput/index.mdx +0 -19
  775. package/src/inputs/Input/Input.stories.playwright.json +0 -376
  776. package/src/inputs/Input/index.mdx +0 -95
  777. package/src/inputs/Label/Label.stories.playwright.json +0 -40
  778. package/src/inputs/OtpInput/index.mdx +0 -23
  779. package/src/inputs/Radio/Radio.stories.playwright.json +0 -73
  780. package/src/inputs/Radio/index.mdx +0 -33
  781. package/src/inputs/Select/Select.stories.playwright.json +0 -22
  782. package/src/lazy.js +0 -60
  783. package/src/registry.js +0 -145
  784. package/types/index.js +0 -1
  785. package/types/package.json +0 -6
  786. package/utils/index.js +0 -80
  787. package/utils/package.json +0 -6
  788. package/validators/package.json +0 -6
  789. package/validators/types/index.js +0 -1
  790. package/validators/types/package.json +0 -6
  791. package/validators/utils/afm/index.js +0 -31
  792. package/validators/utils/afm/package.json +0 -6
  793. package/validators/utils/file/index.js +0 -37
  794. package/validators/utils/file/package.json +0 -6
  795. package/validators/utils/iban/index.js +0 -116
  796. package/validators/utils/iban/package.json +0 -6
  797. package/validators/utils/image/index.js +0 -119
  798. package/validators/utils/image/package.json +0 -6
  799. package/validators/utils/int/index.js +0 -19
  800. package/validators/utils/int/package.json +0 -6
  801. package/validators/utils/number/index.js +0 -15
  802. package/validators/utils/number/package.json +0 -6
  803. package/validators/utils/otp/index.js +0 -25
  804. package/validators/utils/otp/package.json +0 -6
  805. package/validators/utils/package.json +0 -6
  806. package/validators/utils/phone/index.js +0 -134
  807. package/validators/utils/phone/package.json +0 -6
  808. package/validators/utils/postal_code/index.js +0 -27
  809. package/validators/utils/postal_code/package.json +0 -6
  810. package/validators/utils/text_limit/index.js +0 -47
  811. package/validators/utils/text_limit/package.json +0 -6
  812. package/validators/utils/uuid4/index.js +0 -18
  813. package/validators/utils/uuid4/package.json +0 -6
  814. package/validators/validators.spec/index.js +0 -85
  815. package/validators/validators.spec/package.json +0 -6
  816. package/validators/validators.spec.d.ts +0 -1
  817. /package/{cjs/inputs/Label/index.mdx → Field/types.js} +0 -0
  818. /package/{inputs/Label/index.mdx → Fieldset/types.js} +0 -0
  819. /package/{src/inputs/Label/index.mdx → MultiplicityField/types.js} +0 -0
package/Field/types.d.ts CHANGED
@@ -1,11 +1,51 @@
1
- import React from 'react';
2
- import { ErrorOption, UseFormReturn } from 'react-hook-form';
3
- import { FieldSpec } from '@digigov/form/types';
4
- import { FieldCondition, FormData } from '@digigov/form/types';
1
+ import type React from 'react';
2
+ import type { ErrorOption, UseFormReturn, UseFormProps } from 'react-hook-form';
3
+ import type { FieldComponentRegistry } from '../inputs/registry.js';
4
+ import type { registerFieldFocus } from '../types.js';
5
+ import type { ValidatorSchema } from '../validators/types.js';
6
+ import type { FieldsetLegendProps } from '@digigov/ui/form/FieldContainer';
7
+ import type { GridProps } from '@digigov/ui/layouts/Grid';
8
+ export interface FieldLabelProps {
9
+ primary?: string;
10
+ secondary?: string;
11
+ hint?: string;
12
+ }
13
+ export interface FieldSpec {
14
+ key: string;
15
+ type?: 'int' | 'string' | 'text' | 'boolean' | 'email' | 'uuid4' | 'choice:multiple' | 'choice:single' | 'mobile_phone' | 'date' | 'datetime' | 'otp' | 'afm' | 'amka' | 'iban' | 'file' | 'rate' | 'image' | 'postal_code' | 'phone_number' | 'array' | 'object';
16
+ trim?: boolean;
17
+ component?: any;
18
+ autoComplete?: string;
19
+ placeholder?: string;
20
+ maxLength?: number;
21
+ condition?: Record<string, FieldCondition>;
22
+ controlled?: boolean;
23
+ label?: FieldLabelProps;
24
+ extra?: Record<string, any>;
25
+ editable?: boolean;
26
+ variant?: 'inline' | 'dialog';
27
+ required?: boolean;
28
+ enabled?: boolean;
29
+ disabled?: boolean;
30
+ layout?: Record<string, GridProps['xs'] | GridProps['sm'] | GridProps['md'] | GridProps['lg'] | GridProps['xl']>;
31
+ validators?: ValidatorSchema[];
32
+ wrapper?: 'label' | 'fieldset';
33
+ maxWidth?: string;
34
+ maxHeight?: string;
35
+ width?: string;
36
+ min?: number;
37
+ max?: number;
38
+ }
39
+ export interface FieldCondition {
40
+ is: string | string[] | number | number[] | boolean | boolean[];
41
+ then?: Partial<FieldSpec>;
42
+ else?: Partial<FieldSpec>;
43
+ }
5
44
  export interface ChildFieldMemoProps extends FieldConditionalProps {
6
45
  dependencies: FormData;
7
46
  }
8
- export interface FieldWithCondition extends Omit<CalculatedField, 'condition'> {
47
+ export type FormData = UseFormProps['defaultValues'];
48
+ export interface FieldWithCondition extends Omit<ResolvedField, 'condition'> {
9
49
  condition: Record<string, FieldCondition>;
10
50
  }
11
51
  export interface FieldConditionalProps {
@@ -13,23 +53,27 @@ export interface FieldConditionalProps {
13
53
  control: UseFormReturn['control'];
14
54
  register: UseFormReturn['register'];
15
55
  reset: UseFormReturn['reset'];
56
+ resetField?: UseFormReturn['resetField'];
16
57
  error?: ErrorOption;
58
+ Field: React.FC<FieldProps>;
17
59
  }
18
- export type FieldComponentItem = {
60
+ export interface FieldComponentItem {
19
61
  component: any;
20
62
  controlled?: boolean;
21
63
  wrapper?: FieldSpec['wrapper'];
22
- };
64
+ }
23
65
  export interface FieldContainerProps {
24
66
  name?: FieldSpec['key'];
67
+ register: FieldBaseProps['register'];
25
68
  layout?: FieldSpec['layout'];
26
69
  label?: FieldSpec['label'];
27
70
  error?: ErrorOption | Record<string, any>;
71
+ hasError?: boolean;
28
72
  children?: React.ReactNode;
73
+ controlled?: boolean;
29
74
  wrapper?: FieldSpec['wrapper'];
75
+ labelSize?: FieldsetLegendProps['size'];
30
76
  }
31
- export type FieldComponentRegistry = Record<string, FieldComponentItem>;
32
- export type OmittedFieldSpec = Omit<FieldSpec, 'component'>;
33
77
  export type UnknownValue = never | never[];
34
78
  export interface ControlledFieldProps {
35
79
  type?: string;
@@ -41,6 +85,7 @@ export interface ControlledFieldProps {
41
85
  error?: boolean;
42
86
  name?: string;
43
87
  disabled?: boolean;
88
+ Field?: React.FC<FieldProps>;
44
89
  }
45
90
  export interface UncontrolledFieldProps {
46
91
  name: string;
@@ -50,8 +95,9 @@ export interface UncontrolledFieldProps {
50
95
  extra?: Record<string, never>;
51
96
  type?: string;
52
97
  disabled?: boolean;
98
+ Field: React.FC<FieldProps>;
53
99
  }
54
- export interface CalculatedField extends OmittedFieldSpec {
100
+ export interface ResolvedField extends Omit<FieldSpec, 'component'> {
55
101
  name: string;
56
102
  component: any;
57
103
  defaultValue?: never;
@@ -59,10 +105,12 @@ export interface CalculatedField extends OmittedFieldSpec {
59
105
  wrapper?: FieldComponentItem['wrapper'];
60
106
  multiplicity?: boolean;
61
107
  }
62
- export interface FieldBaseProps extends CalculatedField {
108
+ export interface FieldBaseProps extends ResolvedField {
63
109
  control: UseFormReturn['control'];
64
110
  register: UseFormReturn['register'];
65
111
  reset: UseFormReturn['reset'];
112
+ resetField?: UseFormReturn['resetField'];
113
+ Field?: React.FC<FieldProps>;
66
114
  }
67
115
  export interface FieldProps extends FieldSpec {
68
116
  name: string;
@@ -73,6 +121,7 @@ export interface UseFieldProps {
73
121
  control: FieldBaseProps['control'];
74
122
  register: FieldBaseProps['register'];
75
123
  reset: FieldBaseProps['reset'];
124
+ resetField: FieldBaseProps['resetField'];
76
125
  watch: UseFormReturn['watch'];
77
126
  formState: UseFormReturn['formState'];
78
127
  getFieldState: UseFormReturn['getFieldState'];
@@ -82,5 +131,6 @@ export interface UseFieldProps {
82
131
  trigger: UseFormReturn['trigger'];
83
132
  clearErrors: UseFormReturn['clearErrors'];
84
133
  error?: ErrorOption;
134
+ registerFieldFocus: registerFieldFocus;
85
135
  componentRegistry?: FieldComponentRegistry;
86
136
  }
@@ -0,0 +1,2 @@
1
+ import type { FieldWithCondition, ResolvedField } from '../types.js';
2
+ export declare function evaluateFieldWithConditions(field: FieldWithCondition, variables: FormData): ResolvedField;
@@ -0,0 +1,19 @@
1
+ function evaluateFieldWithConditions(field, variables) {
2
+ const newField = {
3
+ ...field
4
+ };
5
+ if (variables) {
6
+ for(const key in variables)if (field.condition[key] && field.condition[key].is) {
7
+ const is = field.condition[key].is;
8
+ if (is === variables[key] || Array.isArray(variables[key]) && variables[key].includes(is)) {
9
+ const then = field.condition[key].then || {};
10
+ for(const attr in then)newField[attr] = then[attr];
11
+ }
12
+ } else if (field.condition[key]) {
13
+ const otherwise = field.condition[key].else || {};
14
+ for(const attr in otherwise)newField[attr] = otherwise[attr];
15
+ }
16
+ }
17
+ return newField;
18
+ }
19
+ export { evaluateFieldWithConditions };
@@ -0,0 +1,3 @@
1
+ import type { FieldProps, FieldSpec, ResolvedField } from '../types.js';
2
+ import { type FieldComponentRegistry } from '../../inputs/registry.js';
3
+ export declare function resolveField(children: FieldProps['children'], field: FieldSpec, customComponentRegistry?: FieldComponentRegistry): ResolvedField;
@@ -0,0 +1,32 @@
1
+ import { ALTERNATIVE_COMPONENTS, FIELD_COMPONENTS } from "../../inputs/registry.js";
2
+ function resolveField(children, field, customComponentRegistry) {
3
+ const fieldComponentRegistry = {
4
+ ...FIELD_COMPONENTS,
5
+ ...customComponentRegistry ?? {}
6
+ };
7
+ const resolvedField = {
8
+ ...field
9
+ };
10
+ if (children) {
11
+ resolvedField.component = children;
12
+ resolvedField.controlled = true;
13
+ } else if ('function' == typeof field.component) ;
14
+ else if (field.component || field.type) if ('string' == typeof field?.extra?.component && ALTERNATIVE_COMPONENTS[field.extra.component]) {
15
+ resolvedField.controlled = ALTERNATIVE_COMPONENTS[field.extra.component]?.controlled || false;
16
+ resolvedField.component = ALTERNATIVE_COMPONENTS[field.extra.component].component;
17
+ resolvedField.wrapper = ALTERNATIVE_COMPONENTS[field.extra.component].wrapper;
18
+ } else if (!field.component && field.type && fieldComponentRegistry[field.type]) {
19
+ resolvedField.component = fieldComponentRegistry[field.type].component;
20
+ resolvedField.wrapper = fieldComponentRegistry[field.type].wrapper;
21
+ resolvedField.controlled = fieldComponentRegistry[field.type]?.controlled || false;
22
+ } else {
23
+ resolvedField.component = fieldComponentRegistry.string.component;
24
+ resolvedField.controlled = fieldComponentRegistry.string?.controlled || false;
25
+ }
26
+ else {
27
+ resolvedField.component = fieldComponentRegistry.string.component;
28
+ resolvedField.controlled = fieldComponentRegistry.string?.controlled || false;
29
+ }
30
+ return resolvedField;
31
+ }
32
+ export { resolveField };
@@ -0,0 +1,2 @@
1
+ import type { FieldSpec, UseFieldProps } from '../types.js';
2
+ export declare const useField: (name: string, customField: FieldSpec | null) => UseFieldProps;
@@ -0,0 +1,47 @@
1
+ import { useContext, useMemo } from "react";
2
+ import { FormContext } from "../../FormContext.js";
3
+ const useField = (name, customField)=>{
4
+ const { fieldsMap, control, register, reset, resetField, trigger, clearErrors, errors, registerField, watch, componentRegistry, getFieldState, setValue, getValues, unregister, formState, registerFieldFocus } = useContext(FormContext);
5
+ if (!registerField) throw new Error(`
6
+ You can't use the Field component without wrapping it in FormBuilder.
7
+ https://devs.pages.grnet.gr/digigov/digigov-sdk/sdk-docs/forms/create-simple-form/
8
+ `);
9
+ let error = errors[name];
10
+ const nameIndexRegex = name.match(/^\[*(.*?)\.(\d+)\]*$/);
11
+ if (nameIndexRegex) {
12
+ const [, fieldArrayName, indexStr] = nameIndexRegex;
13
+ error = errors[fieldArrayName]?.[Number(indexStr)];
14
+ }
15
+ const nestedNameIndexRegex = name.match(/^\[*(.*?)\.(\d+)\.(.*?)\]*$/);
16
+ if (nestedNameIndexRegex) {
17
+ const [, fieldArrayName, indexStr, fieldItemName] = nestedNameIndexRegex;
18
+ error = errors[fieldArrayName]?.[Number(indexStr)]?.[fieldItemName];
19
+ }
20
+ useMemo(()=>customField?.type && registerField({
21
+ ...customField,
22
+ key: name
23
+ }), [
24
+ customField,
25
+ name,
26
+ registerField
27
+ ]);
28
+ return {
29
+ field: customField || fieldsMap[name],
30
+ control,
31
+ register,
32
+ reset,
33
+ resetField,
34
+ trigger,
35
+ watch,
36
+ componentRegistry,
37
+ getFieldState,
38
+ setValue,
39
+ clearErrors,
40
+ getValues,
41
+ unregister,
42
+ formState,
43
+ error,
44
+ registerFieldFocus
45
+ };
46
+ };
47
+ export { useField };
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { FieldArrayProps } from './index.js';
3
+ type BaseFieldArrayProps = Omit<FieldArrayProps, 'registerFieldFocus' | 'trigger' | 'clearErrors' | 'setValue' | 'reset' | 'resetField'>;
4
+ export declare const BaseFieldArray: React.ForwardRefExoticComponent<BaseFieldArrayProps & React.RefAttributes<HTMLButtonElement>>;
5
+ export default BaseFieldArray;
@@ -0,0 +1,46 @@
1
+ import react from "react";
2
+ import { useFieldArray } from "react-hook-form";
3
+ import { FieldObject } from "../FieldObject/index.js";
4
+ import { Fieldset, FieldsetLabel } from "../Fieldset/index.js";
5
+ import { Card } from "@digigov/ui/content/Card/index.js";
6
+ import { Button } from "@digigov/ui/form/Button/index.js";
7
+ const BaseFieldArray_BaseFieldArray = /*#__PURE__*/ react.forwardRef(({ name, register, control, formState, error, getValues, Field, ...customField }, ref)=>{
8
+ const { append, remove } = useFieldArray({
9
+ control,
10
+ name
11
+ });
12
+ const fields = getValues(name) || [];
13
+ return /*#__PURE__*/ react.createElement(react.Fragment, null, fields.map((field, index)=>/*#__PURE__*/ react.createElement(Card, {
14
+ variant: customField.extra?.border ? 'border' : 'divider',
15
+ key: field.id || index
16
+ }, /*#__PURE__*/ react.createElement(Fieldset, null, /*#__PURE__*/ react.createElement(FieldsetLabel, null, `${customField.extra?.label.object.title}${!customField.extra?.noIndex ? ' ' + String(index + 1) : ''}`), /*#__PURE__*/ react.createElement(FieldObject, {
17
+ name: `${name}.${index}`,
18
+ error: Array.isArray(error) && error[index],
19
+ formState: formState,
20
+ register: register,
21
+ control: control,
22
+ ...customField.extra?.of,
23
+ Field: Field
24
+ }), /*#__PURE__*/ react.createElement(Button, {
25
+ name: `${name}-object-remove`,
26
+ variant: customField.extra?.label.object?.deleteButtonVariant,
27
+ type: "button",
28
+ color: "warning",
29
+ onClick: ()=>remove(index),
30
+ disabled: !customField?.editable
31
+ }, customField.extra?.label.object?.delete)))), customField.editable && /*#__PURE__*/ react.createElement(Button, {
32
+ ref: ref,
33
+ type: "button",
34
+ name: `${name}-add-object`,
35
+ color: "secondary",
36
+ variant: customField.extra?.label.object?.addButtonVariant,
37
+ onClick: (ev)=>{
38
+ ev.preventDefault();
39
+ append({});
40
+ },
41
+ disabled: !customField?.editable
42
+ }, customField.extra?.label.object?.add));
43
+ });
44
+ BaseFieldArray_BaseFieldArray.displayName = 'BaseFieldArray';
45
+ const BaseFieldArray = BaseFieldArray_BaseFieldArray;
46
+ export { BaseFieldArray_BaseFieldArray as BaseFieldArray, BaseFieldArray as default };
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ export interface ArrayContainerDisplayProps {
3
+ fieldArrayValues: any[];
4
+ ofField: any;
5
+ customField: any;
6
+ children: React.ReactNode;
7
+ }
8
+ export declare const ArrayContainerDisplay: ({ fieldArrayValues, ofField, customField, children, }: ArrayContainerDisplayProps) => React.JSX.Element;
9
+ export default ArrayContainerDisplay;
@@ -0,0 +1,13 @@
1
+ import react from "react";
2
+ import { ArrayItemHeader } from "./ArrayItemHeader.js";
3
+ import { Table, TableBody, TableContainer } from "@digigov/ui/content/index.js";
4
+ const ArrayContainerDisplay = ({ fieldArrayValues, ofField, customField, children })=>/*#__PURE__*/ react.createElement(react.Fragment, null, customField?.extra?.layout === 'card' ? children : /*#__PURE__*/ react.createElement(TableContainer, customField.extra?.tableContainer, /*#__PURE__*/ react.createElement(Table, {
5
+ verticalAlign: customField.extra?.verticalAlign
6
+ }, !customField.extra?.noHeader && ofField?.extra && fieldArrayValues?.length > 0 && /*#__PURE__*/ react.createElement(ArrayItemHeader, {
7
+ labels: 'object' === ofField.type ? ofField.extra.fields.map(({ label })=>label.primary) : [
8
+ ofField.label.primary
9
+ ],
10
+ disabled: customField?.editable === false
11
+ }), /*#__PURE__*/ react.createElement(TableBody, null, children))));
12
+ const ArrayDisplay_ArrayContainerDisplay = ArrayContainerDisplay;
13
+ export { ArrayContainerDisplay, ArrayDisplay_ArrayContainerDisplay as default };
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import type { ErrorOption, UseFieldArrayMove } from 'react-hook-form';
3
+ import type { StackProps } from '@digigov/ui/layouts';
4
+ export interface ArrayItemDisplayProps {
5
+ data: any;
6
+ name: string;
7
+ edit: (name: string) => void;
8
+ remove: (name: string) => void;
9
+ disabledEdit?: boolean;
10
+ disabledDelete?: boolean;
11
+ disabled?: boolean;
12
+ sortable: boolean;
13
+ index: number;
14
+ isFirst: boolean;
15
+ isLast: boolean;
16
+ move: UseFieldArrayMove;
17
+ valueDisplay?: (value: any) => React.ReactNode;
18
+ border: boolean;
19
+ wordBreak?: 'break-all' | 'none';
20
+ stackProps?: StackProps;
21
+ customField: any;
22
+ ofField: any;
23
+ fieldArrayValues: any[];
24
+ error?: Record<string, ErrorOption> | undefined;
25
+ }
26
+ export declare const ArrayItemDisplay: ({ name, data, edit, remove, disabledEdit, disabledDelete, disabled, sortable, index, isFirst, isLast, move, valueDisplay, border, wordBreak, stackProps, customField, ofField, fieldArrayValues, error, }: ArrayItemDisplayProps) => React.JSX.Element | null;
@@ -0,0 +1,134 @@
1
+ import react from "react";
2
+ import { omit } from "../../../utils.js";
3
+ import { ErrorMessage } from "@digigov/ui/index.js";
4
+ import { Card, SummaryList, SummaryListItem, SummaryListItemKey, SummaryListItemValue, TableDataCell, TableRow } from "@digigov/ui/content/index.js";
5
+ import { Button, ButtonGroup } from "@digigov/ui/form/Button/index.js";
6
+ import { Grid, SectionBreak, Stack } from "@digigov/ui/layouts/index.js";
7
+ import Heading from "@digigov/ui/typography/Heading/index.js";
8
+ import { NormalText } from "@digigov/ui/typography/NormalText/index.js";
9
+ const getFieldKey = (ofField, valueIndex)=>ofField?.type === 'object' ? ofField?.extra?.fields?.[valueIndex]?.key : ofField?.key;
10
+ const getFieldValue = (value, valueIndex, ofField, valueDisplay)=>{
11
+ if (Array.isArray(value)) return value.join('\n');
12
+ if ('object' == typeof value) return value?.name;
13
+ if (valueDisplay) return valueDisplay(value);
14
+ const option = ofField?.extra?.fields?.[valueIndex]?.extra?.options?.find?.((option)=>option.value === value);
15
+ if (option) return option.label?.primary ?? value;
16
+ return value;
17
+ };
18
+ const ArrayItemDisplay = ({ name, data, edit, remove, disabledEdit, disabledDelete, disabled, sortable, index, isFirst, isLast, move, valueDisplay, border = true, wordBreak = 'break-all', stackProps = {
19
+ spacing: 4,
20
+ alignItems: 'flex-end',
21
+ justifyContent: 'flex-end',
22
+ direction: 'column'
23
+ }, customField, ofField, fieldArrayValues, error })=>{
24
+ console.log('error', error);
25
+ if (null == data) return null;
26
+ if (0 === Object.keys(data).length || 1 === Object.keys(data).length && data.id) return null;
27
+ const values = 'string' == typeof data ? [
28
+ data
29
+ ] : Object.values(data ? omit(data, [
30
+ 'id'
31
+ ]) : {});
32
+ const borderVariant = false === border || sortable ? 'none' : 'border';
33
+ const hasItemButtons = !disabled && (!disabledEdit || !disabledDelete);
34
+ const fieldLabel = ofField?.type === 'object' ? ofField?.extra?.fields.reduce((acc, { key, label })=>({
35
+ ...acc,
36
+ [key]: label.primary
37
+ }), {}) : ofField?.label?.primary;
38
+ return /*#__PURE__*/ react.createElement(react.Fragment, null, customField?.extra?.layout === 'card' ? /*#__PURE__*/ react.createElement(Card, {
39
+ borderColor: "light",
40
+ variant: "border",
41
+ dense: true,
42
+ ...customField?.extra.cardContainer
43
+ }, sortable && /*#__PURE__*/ react.createElement(Heading, {
44
+ size: "sm"
45
+ }, "Επιλογή #", index + 1), /*#__PURE__*/ react.createElement(SummaryList, {
46
+ mb: 0,
47
+ noLastBorder: !hasItemButtons,
48
+ error: !!error
49
+ }, error && Object.keys(error).length > 0 && Object.entries(error).map(([fieldKey, fieldError])=>/*#__PURE__*/ react.createElement(ErrorMessage, {
50
+ key: fieldKey,
51
+ id: `${name}-error`
52
+ }, `${ofField?.type === 'object' && ofField?.extra?.fields ? `${fieldLabel[fieldKey] || fieldKey}: ` : ''}`, fieldError.message)), values?.map?.((value, valueIndex)=>{
53
+ const key = getFieldKey(ofField, valueIndex);
54
+ console.log('key', key);
55
+ const label = ofField?.type === 'object' ? fieldLabel[key] : fieldLabel;
56
+ console.log('label', label);
57
+ const fieldValue = getFieldValue(value, valueIndex, ofField, valueDisplay);
58
+ console.log('fieldValue', fieldValue);
59
+ const shouldShowKey = !customField?.extra?.noHeader && ofField?.extra && fieldArrayValues?.length > 0;
60
+ return /*#__PURE__*/ react.createElement(SummaryListItem, {
61
+ key: valueIndex
62
+ }, shouldShowKey && /*#__PURE__*/ react.createElement(SummaryListItemKey, {
63
+ error: !!error && Object.keys(error)?.includes(key)
64
+ }, label), /*#__PURE__*/ react.createElement(SummaryListItemValue, {
65
+ error: !shouldShowKey && !!error && Object.keys(error)?.includes(key)
66
+ }, fieldValue || ''));
67
+ })), true === disabled || true === disabledEdit && true === disabledDelete ? null : /*#__PURE__*/ react.createElement(ButtonGroup, {
68
+ mb: 0,
69
+ ...customField?.extra?.cardButtonGroup
70
+ }, true !== disabledEdit && /*#__PURE__*/ react.createElement(Button, {
71
+ variant: "link",
72
+ type: "button",
73
+ onClick: ()=>{
74
+ edit(name);
75
+ }
76
+ }, "Επεξεργασία"), true !== disabledDelete && /*#__PURE__*/ react.createElement(Button, {
77
+ variant: "link",
78
+ type: "button",
79
+ onClick: ()=>remove(name)
80
+ }, "Διαγραφή")), sortable && /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(SectionBreak, null), sortable && !disabled && !(isFirst && isLast) && /*#__PURE__*/ react.createElement(NormalText, {
81
+ mb: 0
82
+ }, "Μετακίνηση", ' ', !isFirst && /*#__PURE__*/ react.createElement(react.Fragment, null, "προς τα", ' ', /*#__PURE__*/ react.createElement(Button, {
83
+ type: "button",
84
+ variant: "link",
85
+ onClick: ()=>move(index, index - 1)
86
+ }, "πάνω")), !isFirst && !isLast && ' ή ', !isLast && /*#__PURE__*/ react.createElement(react.Fragment, null, "προς τα", ' ', /*#__PURE__*/ react.createElement(Button, {
87
+ type: "button",
88
+ variant: "link",
89
+ onClick: ()=>move(index, index + 1)
90
+ }, "κάτω"))))) : /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(TableRow, null, values?.map?.((value, valueIndex)=>{
91
+ const fieldKey = getFieldKey(ofField, valueIndex);
92
+ console.log('fieldKey', fieldKey);
93
+ const fieldValue = getFieldValue(value, valueIndex, ofField, valueDisplay);
94
+ console.log('fieldValue', fieldValue);
95
+ return /*#__PURE__*/ react.createElement(TableDataCell, {
96
+ key: valueIndex,
97
+ variant: borderVariant,
98
+ wordBreak: wordBreak,
99
+ pb: sortable ? 0 : void 0,
100
+ pt: sortable ? 4 : void 0,
101
+ highlight: !!error && Object.keys(error)?.includes(fieldKey) ? 'error' : void 0
102
+ }, sortable && 0 === valueIndex && /*#__PURE__*/ react.createElement(Heading, {
103
+ size: "sm",
104
+ mb: 2
105
+ }, "Επιλογή #", index + 1), fieldValue || '');
106
+ }), true === disabled || true === disabledEdit && true === disabledDelete ? null : /*#__PURE__*/ react.createElement(TableDataCell, {
107
+ variant: borderVariant
108
+ }, /*#__PURE__*/ react.createElement(Stack, stackProps, true !== disabledEdit && /*#__PURE__*/ react.createElement(Button, {
109
+ variant: "link",
110
+ type: "button",
111
+ onClick: ()=>{
112
+ edit(name);
113
+ }
114
+ }, "Επεξεργασία"), true !== disabledDelete && /*#__PURE__*/ react.createElement(Button, {
115
+ variant: "link",
116
+ type: "button",
117
+ onClick: ()=>remove(name)
118
+ }, "Διαγραφή")))), sortable && /*#__PURE__*/ react.createElement(TableRow, null, /*#__PURE__*/ react.createElement(TableDataCell, {
119
+ variant: isLast ? 'none' : 'border',
120
+ colSpan: true === disabled || true === disabledEdit && true === disabledDelete ? values.length : values.length + 1
121
+ }, sortable && !disabled && !(isFirst && isLast) && /*#__PURE__*/ react.createElement(Grid, {
122
+ xs: 12,
123
+ mt: 2
124
+ }, "Μετακίνηση", ' ', !isFirst && /*#__PURE__*/ react.createElement(react.Fragment, null, "προς τα", ' ', /*#__PURE__*/ react.createElement(Button, {
125
+ type: "button",
126
+ variant: "link",
127
+ onClick: ()=>move(index, index - 1)
128
+ }, "πάνω")), !isFirst && !isLast && ' ή ', !isLast && /*#__PURE__*/ react.createElement(react.Fragment, null, "προς τα", ' ', /*#__PURE__*/ react.createElement(Button, {
129
+ type: "button",
130
+ variant: "link",
131
+ onClick: ()=>move(index, index + 1)
132
+ }, "κάτω")))))));
133
+ };
134
+ export { ArrayItemDisplay };
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare const ArrayItemHeader: ({ labels, disabled }: {
3
+ labels: any;
4
+ disabled: any;
5
+ }) => React.JSX.Element;
@@ -0,0 +1,6 @@
1
+ import react from "react";
2
+ import { TableHead, TableHeadCell, TableRow } from "@digigov/ui/content/index.js";
3
+ const ArrayItemHeader = ({ labels, disabled })=>/*#__PURE__*/ react.createElement(TableHead, null, /*#__PURE__*/ react.createElement(TableRow, null, labels.map((label, index)=>/*#__PURE__*/ react.createElement(TableHeadCell, {
4
+ key: index
5
+ }, label)), !disabled && /*#__PURE__*/ react.createElement(TableHeadCell, null, "Ενέργειες")));
6
+ export { ArrayItemHeader };
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { UseFieldArrayMove } from 'react-hook-form';
3
+ export interface ArrayDisplayProps {
4
+ fieldArrayName: string;
5
+ fieldArrayValues: any[];
6
+ ofField: any;
7
+ customField: any;
8
+ onEdit: (index: number) => void;
9
+ onRemove: (index: number) => void;
10
+ move: UseFieldArrayMove;
11
+ sortable: boolean;
12
+ error?: any;
13
+ }
14
+ export declare const ArrayDisplay: ({ fieldArrayName, fieldArrayValues, ofField, customField, onEdit, onRemove, move, sortable, error, }: ArrayDisplayProps) => React.JSX.Element;
15
+ export default ArrayDisplay;
@@ -0,0 +1,32 @@
1
+ import react from "react";
2
+ import { ArrayContainerDisplay } from "./ArrayContainerDisplay.js";
3
+ import { ArrayItemDisplay } from "./ArrayItemDisplay.js";
4
+ const ArrayDisplay = ({ fieldArrayName, fieldArrayValues, ofField, customField, onEdit, onRemove, move, sortable, error })=>/*#__PURE__*/ react.createElement(ArrayContainerDisplay, {
5
+ fieldArrayValues: fieldArrayValues,
6
+ ofField: ofField,
7
+ customField: customField
8
+ }, fieldArrayValues?.map?.((field, index)=>/*#__PURE__*/ react.createElement(ArrayItemDisplay, {
9
+ error: error && error[index] ? error[index] : void 0,
10
+ key: index,
11
+ name: `${fieldArrayName}.${index}`,
12
+ index: index,
13
+ isFirst: 0 === index,
14
+ isLast: index === fieldArrayValues.length - 1,
15
+ data: field,
16
+ edit: ()=>onEdit(index),
17
+ stackProps: customField?.extra?.stackProps,
18
+ wordBreak: customField?.extra?.wordBreak,
19
+ valueDisplay: customField?.extra?.valueDisplay,
20
+ remove: ()=>onRemove(index),
21
+ border: customField.extra?.border,
22
+ move: move,
23
+ sortable: sortable,
24
+ disabledEdit: sortable ? true : customField.extra?.noEdit ?? false,
25
+ disabledDelete: customField.extra?.noDelete ?? false,
26
+ disabled: customField?.editable === false,
27
+ fieldArrayValues: fieldArrayValues,
28
+ ofField: ofField,
29
+ customField: customField
30
+ })));
31
+ const FormDialog_ArrayDisplay = ArrayDisplay;
32
+ export { ArrayDisplay, FormDialog_ArrayDisplay as default };
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import type { ErrorOption } from 'react-hook-form';
3
+ import type { FieldProps, FormData } from '../../Field/types.js';
4
+ import type { ModalProps } from '@digigov/ui/app/Modal';
5
+ export interface ArrayEditModalProps extends Omit<ModalProps, 'children'> {
6
+ type: 'append' | 'edit';
7
+ name: string;
8
+ title?: string;
9
+ hint?: string;
10
+ editOrAppend: (data: FormData) => void;
11
+ cancel: () => void;
12
+ addTitle?: string;
13
+ editLabel?: string;
14
+ editProps?: any;
15
+ appendLabel?: string;
16
+ appendProps?: any;
17
+ cancelLabel?: string;
18
+ cancelProps?: any;
19
+ ofField?: any;
20
+ defaultValue?: any;
21
+ Field: React.FC<FieldProps>;
22
+ error?: ErrorOption;
23
+ }
24
+ export declare const ArrayEditModal: React.ForwardRefExoticComponent<Omit<ArrayEditModalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;