@digigov/form 2.0.0-555d1027 → 2.0.0-5701c39b

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 (433) hide show
  1. package/Field/ErrorGroup.d.ts +3 -3
  2. package/Field/ErrorGroup.js.map +1 -1
  3. package/Field/FieldBase/index.js +2 -1
  4. package/Field/FieldBase.d.ts +1 -1
  5. package/Field/FieldBase.js.map +2 -2
  6. package/Field/FieldBaseContainer/index.js +36 -34
  7. package/Field/FieldBaseContainer.d.ts +2 -2
  8. package/Field/FieldBaseContainer.js.map +2 -2
  9. package/Field/FieldConditional.d.ts +1 -1
  10. package/Field/FieldConditional.js.map +1 -1
  11. package/Field/index.d.ts +1 -1
  12. package/Field/index.js +16 -26
  13. package/Field/index.js.map +2 -2
  14. package/Field/types.d.ts +11 -10
  15. package/Field/utils/evaluateFieldWithConditions.d.ts +2 -2
  16. package/Field/utils/evaluateFieldWithConditions.js.map +2 -2
  17. package/Field/utils/resolveField/index.js +35 -0
  18. package/Field/utils/{calculateField → resolveField}/package.json +1 -1
  19. package/Field/utils/resolveField.d.ts +3 -0
  20. package/Field/utils/resolveField.js.map +7 -0
  21. package/Field/utils/useField/index.js +4 -2
  22. package/Field/utils/useField.d.ts +1 -1
  23. package/Field/utils/useField.js.map +2 -2
  24. package/FieldArray/BaseFieldArray/index.js +76 -0
  25. package/{inputs/inputsScenarios → FieldArray/BaseFieldArray}/package.json +1 -1
  26. package/FieldArray/BaseFieldArray.d.ts +5 -0
  27. package/FieldArray/BaseFieldArray.js.map +7 -0
  28. package/FieldArray/FieldArray.stories.d.ts +1 -0
  29. package/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay/index.js +23 -0
  30. package/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay/package.json +6 -0
  31. package/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay.d.ts +9 -0
  32. package/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay.js.map +7 -0
  33. package/FieldArray/FormDialog/ArrayDisplay/ArrayDisplay.stories.d.ts +13 -0
  34. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay/index.js +184 -0
  35. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay/package.json +6 -0
  36. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.d.ts +26 -0
  37. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.js.map +7 -0
  38. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader/index.js +11 -0
  39. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader/package.json +6 -0
  40. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.d.ts +5 -0
  41. package/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.js.map +7 -0
  42. package/FieldArray/FormDialog/ArrayDisplay/__stories__/Cards.d.ts +2 -0
  43. package/FieldArray/FormDialog/ArrayDisplay/__stories__/Default.d.ts +2 -0
  44. package/FieldArray/FormDialog/ArrayDisplay/__stories__/ReadOnly.d.ts +2 -0
  45. package/FieldArray/FormDialog/ArrayDisplay/__stories__/ReadOnlyCards.d.ts +2 -0
  46. package/FieldArray/FormDialog/ArrayDisplay/__stories__/Sortable.d.ts +2 -0
  47. package/FieldArray/FormDialog/ArrayDisplay/__stories__/SortableCards.d.ts +2 -0
  48. package/FieldArray/FormDialog/ArrayDisplay/index.d.ts +15 -0
  49. package/FieldArray/FormDialog/ArrayDisplay/index.js +57 -0
  50. package/FieldArray/FormDialog/ArrayDisplay/index.js.map +7 -0
  51. package/FieldArray/FormDialog/ArrayDisplay/package.json +6 -0
  52. package/FieldArray/FormDialog/ArrayEditModal/index.js +158 -0
  53. package/FieldArray/FormDialog/ArrayEditModal/package.json +6 -0
  54. package/FieldArray/FormDialog/ArrayEditModal.d.ts +24 -0
  55. package/FieldArray/FormDialog/ArrayEditModal.js.map +7 -0
  56. package/FieldArray/FormDialog/index.d.ts +19 -0
  57. package/FieldArray/FormDialog/index.js +183 -348
  58. package/FieldArray/FormDialog/index.js.map +7 -0
  59. package/FieldArray/__stories__/CardsWithError.d.ts +15 -0
  60. package/FieldArray/index.d.ts +4 -2
  61. package/FieldArray/index.js +34 -56
  62. package/FieldArray/index.js.map +2 -2
  63. package/FieldObject/index.d.ts +4 -4
  64. package/FieldObject/index.js +5 -12
  65. package/FieldObject/index.js.map +2 -2
  66. package/Fieldset/FieldsetWithContext.js.map +1 -1
  67. package/Fieldset/index.d.ts +1 -1
  68. package/Fieldset/index.js.map +1 -1
  69. package/Fieldset/types.d.ts +2 -2
  70. package/FormBuilder/index.d.ts +1 -1
  71. package/FormBuilder/index.js +158 -132
  72. package/FormBuilder/index.js.map +2 -2
  73. package/FormContext.d.ts +2 -2
  74. package/FormContext.js.map +2 -2
  75. package/MultiplicityField/add-objects/index.js +10 -19
  76. package/MultiplicityField/add-objects.d.ts +1 -1
  77. package/MultiplicityField/add-objects.js.map +2 -2
  78. package/MultiplicityField/index.d.ts +2 -2
  79. package/MultiplicityField/index.js.map +2 -2
  80. package/MultiplicityField/types.d.ts +2 -2
  81. package/Questions/Questions.d.ts +1 -1
  82. package/Questions/Questions.js.map +1 -1
  83. package/Questions/QuestionsContext.d.ts +1 -1
  84. package/Questions/QuestionsContext.js.map +1 -1
  85. package/Questions/Step/Step.d.ts +1 -1
  86. package/Questions/Step/Step.js.map +1 -1
  87. package/Questions/Step/StepArrayReview.d.ts +1 -1
  88. package/Questions/Step/StepArrayReview.js.map +1 -1
  89. package/Questions/Step/StepContext.d.ts +1 -1
  90. package/Questions/Step/StepContext.js.map +1 -1
  91. package/Questions/Step/StepDescription.d.ts +1 -1
  92. package/Questions/Step/StepDescription.js.map +2 -2
  93. package/Questions/Step/StepForm.d.ts +2 -2
  94. package/Questions/Step/StepForm.js.map +1 -1
  95. package/Questions/Step/StepQuote.d.ts +1 -1
  96. package/Questions/Step/StepQuote.js.map +2 -2
  97. package/Questions/Step/StepTitle.d.ts +1 -1
  98. package/Questions/Step/StepTitle.js.map +2 -2
  99. package/Questions/Step/getAddMoreFields.d.ts +2 -2
  100. package/Questions/Step/getAddMoreFields.js.map +1 -1
  101. package/Questions/Step/types.d.ts +1 -1
  102. package/Questions/getNextStep.d.ts +1 -1
  103. package/Questions/getNextStep.js.map +1 -1
  104. package/Questions/types.d.ts +1 -1
  105. package/cjs/Field/ErrorGroup.js.map +1 -1
  106. package/cjs/Field/FieldBase/index.js +2 -1
  107. package/cjs/Field/FieldBase.js.map +2 -2
  108. package/cjs/Field/FieldBaseContainer/index.js +36 -34
  109. package/cjs/Field/FieldBaseContainer.js.map +2 -2
  110. package/cjs/Field/FieldConditional.js.map +1 -1
  111. package/cjs/Field/index.js +16 -23
  112. package/cjs/Field/index.js.map +2 -2
  113. package/cjs/Field/types.js.map +1 -1
  114. package/cjs/Field/utils/evaluateFieldWithConditions.js.map +2 -2
  115. package/cjs/Field/utils/resolveField/index.js +55 -0
  116. package/cjs/Field/utils/resolveField.js.map +7 -0
  117. package/cjs/Field/utils/useField/index.js +4 -2
  118. package/cjs/Field/utils/useField.js.map +2 -2
  119. package/cjs/FieldArray/BaseFieldArray/index.js +109 -0
  120. package/cjs/FieldArray/BaseFieldArray.js.map +7 -0
  121. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay/index.js +56 -0
  122. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay.js.map +7 -0
  123. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay/index.js +209 -0
  124. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.js.map +7 -0
  125. package/cjs/{locales/el → FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader}/index.js +16 -7
  126. package/cjs/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.js.map +7 -0
  127. package/cjs/FieldArray/FormDialog/ArrayDisplay/index.js +90 -0
  128. package/cjs/FieldArray/FormDialog/ArrayDisplay/index.js.map +7 -0
  129. package/cjs/FieldArray/FormDialog/ArrayEditModal/index.js +186 -0
  130. package/cjs/FieldArray/FormDialog/ArrayEditModal.js.map +7 -0
  131. package/cjs/FieldArray/FormDialog/index.js +174 -331
  132. package/cjs/FieldArray/FormDialog/index.js.map +7 -0
  133. package/cjs/FieldArray/index.js +33 -55
  134. package/cjs/FieldArray/index.js.map +3 -3
  135. package/cjs/FieldObject/index.js +5 -9
  136. package/cjs/FieldObject/index.js.map +2 -2
  137. package/cjs/Fieldset/FieldsetWithContext.js.map +1 -1
  138. package/cjs/Fieldset/index.js.map +1 -1
  139. package/cjs/Fieldset/types.js.map +1 -1
  140. package/cjs/FormBuilder/index.js +159 -133
  141. package/cjs/FormBuilder/index.js.map +3 -3
  142. package/cjs/FormContext.js.map +2 -2
  143. package/cjs/MultiplicityField/add-objects/index.js +9 -13
  144. package/cjs/MultiplicityField/add-objects.js.map +2 -2
  145. package/cjs/MultiplicityField/index.js.map +2 -2
  146. package/cjs/MultiplicityField/types.js.map +1 -1
  147. package/cjs/Questions/Questions.js.map +1 -1
  148. package/cjs/Questions/QuestionsContext.js.map +1 -1
  149. package/cjs/Questions/Step/Step.js.map +1 -1
  150. package/cjs/Questions/Step/StepArrayReview.js.map +1 -1
  151. package/cjs/Questions/Step/StepContext.js.map +1 -1
  152. package/cjs/Questions/Step/StepDescription.js.map +2 -2
  153. package/cjs/Questions/Step/StepForm.js.map +1 -1
  154. package/cjs/Questions/Step/StepQuote.js.map +2 -2
  155. package/cjs/Questions/Step/StepTitle.js.map +2 -2
  156. package/cjs/Questions/Step/getAddMoreFields.js.map +1 -1
  157. package/cjs/Questions/Step/types.js.map +1 -1
  158. package/cjs/Questions/getNextStep.js.map +1 -1
  159. package/cjs/Questions/types.js.map +1 -1
  160. package/cjs/hooks/useFieldFocusManager/index.js +135 -0
  161. package/cjs/hooks/useFieldFocusManager.js.map +7 -0
  162. package/cjs/hooks/utils/index.js +98 -0
  163. package/cjs/hooks/utils.js.map +7 -0
  164. package/cjs/inputs/AutoCompleteInput/index.js.map +2 -2
  165. package/cjs/inputs/Checkboxes/index.js +68 -63
  166. package/cjs/inputs/Checkboxes/index.js.map +2 -2
  167. package/cjs/inputs/DateInput/index.js +10 -5
  168. package/cjs/inputs/DateInput/index.js.map +2 -2
  169. package/cjs/inputs/DateTimeInput/index.js +10 -5
  170. package/cjs/inputs/DateTimeInput/index.js.map +2 -2
  171. package/cjs/inputs/FileInput/index.js +6 -14
  172. package/cjs/inputs/FileInput/index.js.map +2 -2
  173. package/cjs/inputs/ImageInput/index.js +4 -4
  174. package/cjs/inputs/ImageInput/index.js.map +2 -2
  175. package/cjs/inputs/Input/index.js +5 -4
  176. package/cjs/inputs/Input/index.js.map +2 -2
  177. package/cjs/inputs/Label/index.js.map +1 -1
  178. package/cjs/inputs/OtpInput/index.js +36 -31
  179. package/cjs/inputs/OtpInput/index.js.map +2 -2
  180. package/cjs/inputs/Radio/index.js +7 -5
  181. package/cjs/inputs/Radio/index.js.map +3 -3
  182. package/cjs/inputs/Select/index.js +2 -2
  183. package/cjs/inputs/Select/index.js.map +2 -2
  184. package/cjs/{Field/utils → inputs/registry}/index.js +4 -4
  185. package/cjs/inputs/registry.js.map +7 -0
  186. package/cjs/lazy/index.js +12 -9
  187. package/cjs/lazy.js.map +2 -2
  188. package/cjs/registry/index.js +25 -11
  189. package/cjs/registry.js.map +2 -2
  190. package/cjs/types.js.map +1 -1
  191. package/cjs/utils/index.js +9 -0
  192. package/cjs/utils.js.map +2 -2
  193. package/cjs/validators/index.js +5 -2
  194. package/cjs/validators/index.js.map +2 -2
  195. package/cjs/validators/types.js.map +1 -1
  196. package/cjs/validators/utils/date/index.js +6 -1
  197. package/cjs/validators/utils/date.js.map +2 -2
  198. package/cjs/validators/utils/datetime/index.js +6 -1
  199. package/cjs/validators/utils/datetime.js.map +2 -2
  200. package/cjs/validators/utils/email/index.js +39 -0
  201. package/cjs/validators/utils/email.js.map +7 -0
  202. package/cjs/validators/utils/file.js.map +1 -1
  203. package/cjs/validators/utils/iban.js.map +1 -1
  204. package/cjs/validators/utils/image.js.map +1 -1
  205. package/cjs/validators/utils/index.js.map +1 -1
  206. package/cjs/validators/utils/int.js.map +1 -1
  207. package/cjs/validators/utils/number.js.map +1 -1
  208. package/cjs/validators/utils/otp.js.map +1 -1
  209. package/cjs/validators/utils/phone.js.map +1 -1
  210. package/cjs/validators/utils/postal_code.js.map +1 -1
  211. package/cjs/validators/utils/text_limit.js.map +1 -1
  212. package/hooks/useFieldFocusManager/index.js +116 -0
  213. package/hooks/useFieldFocusManager/package.json +6 -0
  214. package/hooks/useFieldFocusManager.d.ts +25 -0
  215. package/hooks/useFieldFocusManager.js.map +7 -0
  216. package/hooks/utils/index.js +73 -0
  217. package/{Field → hooks}/utils/package.json +1 -1
  218. package/hooks/utils.d.ts +18 -0
  219. package/hooks/utils.js.map +7 -0
  220. package/index.js +1 -1
  221. package/inputs/AutoCompleteInput/index.d.ts +3 -3
  222. package/inputs/AutoCompleteInput/index.js +1 -3
  223. package/inputs/AutoCompleteInput/index.js.map +2 -2
  224. package/inputs/Checkboxes/index.d.ts +5 -3
  225. package/inputs/Checkboxes/index.js +68 -63
  226. package/inputs/Checkboxes/index.js.map +2 -2
  227. package/inputs/DateInput/index.d.ts +2 -5
  228. package/inputs/DateInput/index.js +10 -5
  229. package/inputs/DateInput/index.js.map +2 -2
  230. package/inputs/DateTimeInput/index.d.ts +2 -5
  231. package/inputs/DateTimeInput/index.js +10 -5
  232. package/inputs/DateTimeInput/index.js.map +2 -2
  233. package/inputs/FileInput/index.d.ts +4 -4
  234. package/inputs/FileInput/index.js +7 -18
  235. package/inputs/FileInput/index.js.map +2 -2
  236. package/inputs/ImageInput/index.d.ts +2 -2
  237. package/inputs/ImageInput/index.js +4 -4
  238. package/inputs/ImageInput/index.js.map +2 -2
  239. package/inputs/Input/index.d.ts +3 -1
  240. package/inputs/Input/index.js +5 -4
  241. package/inputs/Input/index.js.map +2 -2
  242. package/inputs/Label/index.d.ts +1 -1
  243. package/inputs/Label/index.js.map +1 -1
  244. package/inputs/OtpInput/index.d.ts +1 -5
  245. package/inputs/OtpInput/index.js +36 -31
  246. package/inputs/OtpInput/index.js.map +2 -2
  247. package/inputs/Radio/index.d.ts +6 -4
  248. package/inputs/Radio/index.js +7 -5
  249. package/inputs/Radio/index.js.map +3 -3
  250. package/inputs/Select/index.d.ts +4 -2
  251. package/inputs/Select/index.js +2 -2
  252. package/inputs/Select/index.js.map +2 -2
  253. package/{Field/utils → inputs/registry}/index.js +1 -1
  254. package/{locales/el → inputs/registry}/package.json +1 -1
  255. package/{Field/utils/index.d.ts → inputs/registry.d.ts} +2 -1
  256. package/inputs/registry.js.map +7 -0
  257. package/lazy/index.js +12 -9
  258. package/package.json +4 -4
  259. package/registry/index.js +25 -11
  260. package/src/Field/ErrorGroup.tsx +3 -3
  261. package/src/Field/FieldBase.tsx +3 -2
  262. package/src/Field/FieldBaseContainer.tsx +68 -58
  263. package/src/Field/FieldConditional.tsx +1 -1
  264. package/src/Field/index.tsx +16 -36
  265. package/src/Field/types.tsx +11 -12
  266. package/src/Field/utils/evaluateFieldWithConditions.ts +5 -2
  267. package/src/Field/utils/resolveField.ts +58 -0
  268. package/src/Field/utils/useField.ts +3 -1
  269. package/src/FieldArray/BaseFieldArray.tsx +97 -0
  270. package/src/FieldArray/FieldArray.stories.js +1 -0
  271. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayContainerDisplay.tsx +45 -0
  272. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayDisplay.stories.js +14 -0
  273. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayItemDisplay.tsx +337 -0
  274. package/src/FieldArray/FormDialog/ArrayDisplay/ArrayItemHeader.tsx +15 -0
  275. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/Cards.tsx +88 -0
  276. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/Default.tsx +93 -0
  277. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/ReadOnly.tsx +79 -0
  278. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/ReadOnlyCards.tsx +75 -0
  279. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/Sortable.tsx +93 -0
  280. package/src/FieldArray/FormDialog/ArrayDisplay/__stories__/SortableCards.tsx +88 -0
  281. package/src/FieldArray/FormDialog/ArrayDisplay/index.test.tsx +44 -0
  282. package/src/FieldArray/FormDialog/ArrayDisplay/index.tsx +67 -0
  283. package/src/FieldArray/FormDialog/ArrayEditModal.tsx +241 -0
  284. package/src/FieldArray/FormDialog/index.tsx +302 -0
  285. package/src/FieldArray/__stories__/CardsWithError.tsx +124 -0
  286. package/src/FieldArray/__tests__/fieldset-multiplicity.spec.tsx +271 -0
  287. package/src/FieldArray/__tests__/multiplicity-attachment.spec.tsx +280 -0
  288. package/src/FieldArray/__tests__/multiplicity-optional.spec.tsx +232 -0
  289. package/src/FieldArray/__tests__/multiplicity-required.spec.tsx +170 -0
  290. package/src/FieldArray/__tests__/nested-fieldset-multiplicity.spec.tsx +627 -0
  291. package/src/FieldArray/__tests__/preference-multiple-choice.spec.tsx +222 -0
  292. package/src/FieldArray/index.spec.tsx +355 -0
  293. package/src/FieldArray/index.test.tsx +4 -0
  294. package/src/FieldArray/index.tsx +43 -63
  295. package/src/FieldObject/index.tsx +9 -17
  296. package/src/Fieldset/FieldsetWithContext.tsx +1 -1
  297. package/src/Fieldset/index.tsx +1 -1
  298. package/src/Fieldset/types.tsx +2 -2
  299. package/src/FormBuilder/index.tsx +190 -144
  300. package/src/FormBuilder/scenarios.test.tsx +760 -1
  301. package/src/FormContext.tsx +3 -2
  302. package/src/MultiplicityField/__stories__/PreviewDisplay.tsx +1 -3
  303. package/src/MultiplicityField/add-objects.tsx +12 -21
  304. package/src/MultiplicityField/index.tsx +3 -2
  305. package/src/MultiplicityField/types.ts +5 -2
  306. package/src/Questions/Questions.tsx +2 -2
  307. package/src/Questions/QuestionsContext.tsx +1 -1
  308. package/src/Questions/Step/Step.tsx +1 -1
  309. package/src/Questions/Step/StepArrayReview.tsx +2 -2
  310. package/src/Questions/Step/StepContext.tsx +1 -1
  311. package/src/Questions/Step/StepDescription.tsx +2 -1
  312. package/src/Questions/Step/StepForm.tsx +2 -2
  313. package/src/Questions/Step/StepQuote.tsx +2 -1
  314. package/src/Questions/Step/StepTitle.tsx +2 -1
  315. package/src/Questions/Step/getAddMoreFields.tsx +2 -2
  316. package/src/Questions/Step/types.tsx +1 -1
  317. package/src/Questions/getNextStep.tsx +1 -1
  318. package/src/Questions/types.tsx +1 -1
  319. package/src/hooks/__tests__/useFieldFocusManager.spec.tsx +1079 -0
  320. package/src/hooks/__tests__/utils.spec.ts +568 -0
  321. package/src/hooks/useFieldFocusManager.ts +162 -0
  322. package/src/hooks/utils.ts +122 -0
  323. package/src/inputs/AutoCompleteInput/index.tsx +4 -6
  324. package/src/inputs/Checkboxes/index.tsx +98 -87
  325. package/src/inputs/DateInput/index.tsx +19 -6
  326. package/src/inputs/DateTimeInput/index.tsx +19 -6
  327. package/src/inputs/FileInput/index.tsx +15 -21
  328. package/src/inputs/ImageInput/index.tsx +6 -6
  329. package/src/inputs/Input/index.tsx +12 -8
  330. package/src/inputs/Label/index.tsx +1 -1
  331. package/src/inputs/OtpInput/index.tsx +43 -34
  332. package/src/inputs/Radio/index.tsx +33 -22
  333. package/src/inputs/Select/index.tsx +6 -4
  334. package/src/{Field/utils/index.ts → inputs/registry.ts} +3 -1
  335. package/src/lazy.js +12 -9
  336. package/src/registry.js +25 -11
  337. package/src/types.tsx +13 -5
  338. package/src/utils.ts +14 -2
  339. package/src/validators/index.ts +15 -11
  340. package/src/validators/types.ts +1 -1
  341. package/src/validators/utils/date.ts +8 -3
  342. package/src/validators/utils/datetime.ts +8 -3
  343. package/src/validators/utils/email.ts +11 -0
  344. package/src/validators/utils/file.ts +2 -2
  345. package/src/validators/utils/iban.ts +2 -2
  346. package/src/validators/utils/image.ts +2 -2
  347. package/src/validators/utils/index.ts +2 -2
  348. package/src/validators/utils/int.ts +1 -1
  349. package/src/validators/utils/number.ts +1 -1
  350. package/src/validators/utils/otp.ts +2 -2
  351. package/src/validators/utils/phone.ts +2 -2
  352. package/src/validators/utils/postal_code.ts +2 -2
  353. package/src/validators/utils/text_limit.ts +2 -2
  354. package/types.d.ts +9 -4
  355. package/types.js.map +1 -1
  356. package/utils/index.js +8 -0
  357. package/utils.d.ts +2 -1
  358. package/utils.js.map +2 -2
  359. package/validators/index.d.ts +5 -5
  360. package/validators/index.js +5 -2
  361. package/validators/index.js.map +2 -2
  362. package/validators/types.d.ts +1 -1
  363. package/validators/utils/date/index.js +6 -1
  364. package/validators/utils/date.d.ts +2 -2
  365. package/validators/utils/date.js.map +2 -2
  366. package/validators/utils/datetime/index.js +6 -1
  367. package/validators/utils/datetime.d.ts +2 -2
  368. package/validators/utils/datetime.js.map +2 -2
  369. package/validators/utils/email/index.js +16 -0
  370. package/validators/utils/email/package.json +6 -0
  371. package/validators/utils/email.d.ts +5 -0
  372. package/validators/utils/email.js.map +7 -0
  373. package/validators/utils/file.d.ts +2 -2
  374. package/validators/utils/file.js.map +1 -1
  375. package/validators/utils/iban.d.ts +2 -2
  376. package/validators/utils/iban.js.map +1 -1
  377. package/validators/utils/image.d.ts +2 -2
  378. package/validators/utils/image.js.map +1 -1
  379. package/validators/utils/index.d.ts +2 -2
  380. package/validators/utils/index.js.map +1 -1
  381. package/validators/utils/int.d.ts +1 -1
  382. package/validators/utils/int.js.map +1 -1
  383. package/validators/utils/number.d.ts +1 -1
  384. package/validators/utils/number.js.map +1 -1
  385. package/validators/utils/otp.d.ts +2 -2
  386. package/validators/utils/otp.js.map +1 -1
  387. package/validators/utils/phone.d.ts +2 -2
  388. package/validators/utils/phone.js.map +1 -1
  389. package/validators/utils/postal_code.d.ts +2 -2
  390. package/validators/utils/postal_code.js.map +1 -1
  391. package/validators/utils/text_limit.d.ts +2 -2
  392. package/validators/utils/text_limit.js.map +1 -1
  393. package/Field/utils/calculateField/index.js +0 -27
  394. package/Field/utils/calculateField.d.ts +0 -2
  395. package/Field/utils/calculateField.js.map +0 -7
  396. package/Field/utils/index.js.map +0 -7
  397. package/FieldArray/FormDialog.d.ts +0 -67
  398. package/FieldArray/FormDialog.js.map +0 -7
  399. package/FormBuilder/index.test.d.ts +0 -1
  400. package/FormBuilder/interaction.test.d.ts +0 -1
  401. package/FormBuilder/scenarios.test.d.ts +0 -88
  402. package/MultiplicityField/index.test.d.ts +0 -1
  403. package/Questions/index.spec.d.ts +0 -1
  404. package/Questions/index.test.d.ts +0 -1
  405. package/cjs/Field/utils/calculateField/index.js +0 -50
  406. package/cjs/Field/utils/calculateField.js.map +0 -7
  407. package/cjs/Field/utils/index.js.map +0 -7
  408. package/cjs/FieldArray/FormDialog.js.map +0 -7
  409. package/cjs/inputs/inputsScenarios/index.js +0 -533
  410. package/cjs/inputs/inputsScenarios.js.map +0 -7
  411. package/cjs/locales/el.js.map +0 -7
  412. package/inputs/AutoCompleteInput/index.test.d.ts +0 -1
  413. package/inputs/Checkboxes/index.test.d.ts +0 -1
  414. package/inputs/DateInput/index.test.d.ts +0 -1
  415. package/inputs/DateTimeInput/index.test.d.ts +0 -1
  416. package/inputs/FileInput/index.test.d.ts +0 -1
  417. package/inputs/ImageInput/index.test.d.ts +0 -1
  418. package/inputs/Input/index.test.d.ts +0 -1
  419. package/inputs/Label/index.test.d.ts +0 -1
  420. package/inputs/OtpInput/index.test.d.ts +0 -1
  421. package/inputs/Radio/index.test.d.ts +0 -1
  422. package/inputs/Select/index.test.d.ts +0 -1
  423. package/inputs/inputsScenarios/index.js +0 -499
  424. package/inputs/inputsScenarios.d.ts +0 -296
  425. package/inputs/inputsScenarios.js.map +0 -7
  426. package/locales/el/index.js +0 -6
  427. package/locales/el.d.ts +0 -2
  428. package/locales/el.js.map +0 -7
  429. package/src/Field/utils/calculateField.ts +0 -49
  430. package/src/FieldArray/FormDialog.tsx +0 -568
  431. package/src/inputs/inputsScenarios.ts +0 -496
  432. package/src/locales/el.ts +0 -3
  433. /package/{FieldArray/index.test.d.ts → hooks/__tests__/utils.spec.d.ts} +0 -0
@@ -0,0 +1,337 @@
1
+ import React from 'react';
2
+ import type { ErrorOption, UseFieldArrayMove } from 'react-hook-form';
3
+ import { omit } from '@digigov/form/utils';
4
+ import { ErrorMessage } from '@digigov/ui';
5
+ import {
6
+ Card,
7
+ SummaryList,
8
+ SummaryListItem,
9
+ SummaryListItemKey,
10
+ SummaryListItemValue,
11
+ TableDataCell,
12
+ TableRow,
13
+ } from '@digigov/ui/content';
14
+ import { Button, ButtonGroup } from '@digigov/ui/form/Button';
15
+ import type { StackProps } from '@digigov/ui/layouts';
16
+ import { Grid, SectionBreak, Stack } from '@digigov/ui/layouts';
17
+ import Heading from '@digigov/ui/typography/Heading';
18
+ import { NormalText } from '@digigov/ui/typography/NormalText';
19
+
20
+ export interface ArrayItemDisplayProps {
21
+ data: any;
22
+ name: string;
23
+ edit: (name: string) => void;
24
+ remove: (name: string) => void;
25
+ disabledEdit?: boolean;
26
+ disabledDelete?: boolean;
27
+ disabled?: boolean;
28
+ sortable: boolean;
29
+ index: number;
30
+ isFirst: boolean;
31
+ isLast: boolean;
32
+ move: UseFieldArrayMove;
33
+ valueDisplay?: (value) => React.ReactNode;
34
+ border: boolean;
35
+ wordBreak?: 'break-all' | 'none';
36
+ stackProps?: StackProps;
37
+ customField: any;
38
+ ofField: any;
39
+ fieldArrayValues: any[];
40
+ error?: Record<string, ErrorOption> | undefined;
41
+ }
42
+
43
+ export const ArrayItemDisplay = ({
44
+ name,
45
+ data,
46
+ edit,
47
+ remove,
48
+ disabledEdit,
49
+ disabledDelete,
50
+ disabled,
51
+ sortable,
52
+ index,
53
+ isFirst,
54
+ isLast,
55
+ move,
56
+ valueDisplay,
57
+ border = true,
58
+ wordBreak = 'break-all',
59
+ stackProps = {
60
+ spacing: 4,
61
+ alignItems: 'flex-end',
62
+ justifyContent: 'flex-end',
63
+ direction: 'column',
64
+ },
65
+ customField,
66
+ ofField,
67
+ fieldArrayValues,
68
+ error,
69
+ }: ArrayItemDisplayProps) => {
70
+ if (data === undefined || data === null) {
71
+ return null;
72
+ }
73
+ if (
74
+ Object.keys(data).length === 0 ||
75
+ (Object.keys(data).length === 1 && data.id)
76
+ ) {
77
+ return null;
78
+ }
79
+ const values: (string | Record<string, any>)[] =
80
+ typeof data === 'string'
81
+ ? [data]
82
+ : Object.values(data ? omit(data, ['id']) : {});
83
+ const borderVariant = border === false || sortable ? 'none' : 'border';
84
+ // Show last border if there are action buttons to separate buttons from item values
85
+ const hasItemButtons = !disabled && (!disabledEdit || !disabledDelete);
86
+
87
+ const fieldLabel: Record<string, string> | string =
88
+ ofField?.type === 'object'
89
+ ? ofField?.extra?.fields.reduce(
90
+ (acc: Record<string, string>, { key, label }) => ({
91
+ ...acc,
92
+ [key]: label.primary,
93
+ }),
94
+ {}
95
+ )
96
+ : ofField?.label?.primary;
97
+
98
+ return (
99
+ <>
100
+ {customField?.extra?.layout === 'card' ? (
101
+ <Card
102
+ borderColor="light"
103
+ variant="border"
104
+ dense
105
+ {...customField?.extra.cardContainer}
106
+ >
107
+ {sortable && <Heading size="sm">Επιλογή #{index + 1}</Heading>}
108
+ <SummaryList mb={0} noLastBorder={!hasItemButtons} error={!!error}>
109
+ {error &&
110
+ Object.keys(error).length > 0 &&
111
+ Object.entries(error).map(([fieldKey, fieldError]) => (
112
+ <ErrorMessage key={fieldKey} id={`${name}-error`}>
113
+ {`${
114
+ ofField?.type === 'object' && ofField?.extra?.fields
115
+ ? `${fieldLabel[fieldKey] || fieldKey}: `
116
+ : ''
117
+ }`}
118
+ {
119
+ fieldError.message /* This is expected to be a SafeHTML component, not a string */
120
+ }
121
+ </ErrorMessage>
122
+ ))}
123
+ {values?.map?.((value, valueIndex) => {
124
+ const key =
125
+ ofField?.type === 'object'
126
+ ? ofField?.extra?.fields?.[valueIndex]?.key
127
+ : ofField?.key;
128
+ const label =
129
+ ofField?.type === 'object' ? fieldLabel[key] : fieldLabel;
130
+
131
+ const shouldShowKey =
132
+ !customField?.extra?.noHeader &&
133
+ ofField?.extra &&
134
+ fieldArrayValues?.length > 0;
135
+
136
+ return (
137
+ <SummaryListItem key={valueIndex}>
138
+ {shouldShowKey && (
139
+ <SummaryListItemKey
140
+ error={!!error && Object.keys(error)?.includes(key)}
141
+ >
142
+ {label}
143
+ </SummaryListItemKey>
144
+ )}
145
+ <SummaryListItemValue
146
+ error={
147
+ !shouldShowKey &&
148
+ !!error &&
149
+ Object.keys(error)?.includes(key)
150
+ }
151
+ >
152
+ {(value as Record<string, any>)?.name ||
153
+ (Array.isArray(value)
154
+ ? value.join('\n')
155
+ : valueDisplay
156
+ ? valueDisplay(value)
157
+ : value) ||
158
+ ''}
159
+ </SummaryListItemValue>
160
+ </SummaryListItem>
161
+ );
162
+ })}
163
+ </SummaryList>
164
+ {disabled === true ||
165
+ (disabledEdit === true && disabledDelete === true) ? null : (
166
+ <ButtonGroup mb={0} {...customField?.extra?.cardButtonGroup}>
167
+ {disabledEdit !== true && (
168
+ <Button
169
+ variant="link"
170
+ type="button"
171
+ onClick={() => {
172
+ edit(name);
173
+ }}
174
+ >
175
+ Επεξεργασία
176
+ </Button>
177
+ )}
178
+ {disabledDelete !== true && (
179
+ <Button
180
+ variant="link"
181
+ type="button"
182
+ onClick={() => remove(name)}
183
+ >
184
+ Διαγραφή
185
+ </Button>
186
+ )}
187
+ </ButtonGroup>
188
+ )}
189
+ {sortable && (
190
+ <>
191
+ <SectionBreak />
192
+ {sortable && !disabled && !(isFirst && isLast) && (
193
+ <NormalText mb={0}>
194
+ Μετακίνηση{' '}
195
+ {!isFirst && (
196
+ <>
197
+ προς τα{' '}
198
+ <Button
199
+ type="button"
200
+ variant="link"
201
+ onClick={() => move(index, index - 1)}
202
+ >
203
+ πάνω
204
+ </Button>
205
+ </>
206
+ )}
207
+ {!isFirst && !isLast && ' ή '}
208
+ {!isLast && (
209
+ <>
210
+ προς τα{' '}
211
+ <Button
212
+ type="button"
213
+ variant="link"
214
+ onClick={() => move(index, index + 1)}
215
+ >
216
+ κάτω
217
+ </Button>
218
+ </>
219
+ )}
220
+ </NormalText>
221
+ )}
222
+ </>
223
+ )}
224
+ </Card>
225
+ ) : (
226
+ <>
227
+ <TableRow>
228
+ {values?.map?.((value, valueIndex) => {
229
+ const fieldKey =
230
+ ofField?.type === 'object'
231
+ ? ofField?.extra?.fields?.[valueIndex]?.key
232
+ : ofField?.key;
233
+ return (
234
+ <TableDataCell
235
+ key={valueIndex}
236
+ variant={borderVariant}
237
+ wordBreak={wordBreak}
238
+ pb={sortable ? 0 : undefined}
239
+ pt={sortable ? 4 : undefined}
240
+ highlight={
241
+ !!error && Object.keys(error)?.includes(fieldKey)
242
+ ? 'error'
243
+ : undefined
244
+ }
245
+ >
246
+ {sortable && valueIndex === 0 && (
247
+ <Heading size="sm" mb={2}>
248
+ Επιλογή #{index + 1}
249
+ </Heading>
250
+ )}
251
+ {(value as Record<string, any>)?.name ||
252
+ (Array.isArray(value)
253
+ ? value.join('\n')
254
+ : valueDisplay
255
+ ? valueDisplay(value)
256
+ : value) ||
257
+ ''}
258
+ </TableDataCell>
259
+ );
260
+ })}
261
+ {disabled === true ||
262
+ (disabledEdit === true && disabledDelete === true) ? null : (
263
+ <TableDataCell variant={borderVariant}>
264
+ <Stack {...stackProps}>
265
+ {disabledEdit !== true && (
266
+ <Button
267
+ variant="link"
268
+ type="button"
269
+ onClick={() => {
270
+ edit(name);
271
+ }}
272
+ >
273
+ Επεξεργασία
274
+ </Button>
275
+ )}
276
+ {disabledDelete !== true && (
277
+ <Button
278
+ variant="link"
279
+ type="button"
280
+ onClick={() => remove(name)}
281
+ >
282
+ Διαγραφή
283
+ </Button>
284
+ )}
285
+ </Stack>
286
+ </TableDataCell>
287
+ )}
288
+ </TableRow>
289
+ {sortable && (
290
+ <TableRow>
291
+ <TableDataCell
292
+ variant={isLast ? 'none' : 'border'}
293
+ colSpan={
294
+ disabled === true ||
295
+ (disabledEdit === true && disabledDelete === true)
296
+ ? values.length
297
+ : values.length + 1
298
+ }
299
+ >
300
+ {sortable && !disabled && !(isFirst && isLast) && (
301
+ <Grid xs={12} mt={2}>
302
+ Μετακίνηση{' '}
303
+ {!isFirst && (
304
+ <>
305
+ προς τα{' '}
306
+ <Button
307
+ type="button"
308
+ variant="link"
309
+ onClick={() => move(index, index - 1)}
310
+ >
311
+ πάνω
312
+ </Button>
313
+ </>
314
+ )}
315
+ {!isFirst && !isLast && ' ή '}
316
+ {!isLast && (
317
+ <>
318
+ προς τα{' '}
319
+ <Button
320
+ type="button"
321
+ variant="link"
322
+ onClick={() => move(index, index + 1)}
323
+ >
324
+ κάτω
325
+ </Button>
326
+ </>
327
+ )}
328
+ </Grid>
329
+ )}
330
+ </TableDataCell>
331
+ </TableRow>
332
+ )}
333
+ </>
334
+ )}
335
+ </>
336
+ );
337
+ };
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { TableHead, TableHeadCell, TableRow } from '@digigov/ui/content';
3
+
4
+ export const ArrayItemHeader = ({ labels, disabled }) => {
5
+ return (
6
+ <TableHead>
7
+ <TableRow>
8
+ {labels.map((label, index) => {
9
+ return <TableHeadCell key={index}>{label}</TableHeadCell>;
10
+ })}
11
+ {!disabled && <TableHeadCell>Ενέργειες</TableHeadCell>}
12
+ </TableRow>
13
+ </TableHead>
14
+ );
15
+ };
@@ -0,0 +1,88 @@
1
+ import React, { useState } from 'react';
2
+ import { ArrayDisplay } from '@digigov/form/FieldArray/FormDialog/ArrayDisplay/';
3
+
4
+ const mockOfField = {
5
+ type: 'object',
6
+ label: { primary: 'Item' },
7
+ extra: {
8
+ fields: [
9
+ { key: 'afm', label: { primary: 'ΑΦΜ' } },
10
+ { key: 'firstName', label: { primary: 'Όνομα' } },
11
+ { key: 'lastName', label: { primary: 'Επώνυμο' } },
12
+ ],
13
+ },
14
+ };
15
+
16
+ const mockCustomField = {
17
+ editable: true,
18
+ extra: {
19
+ noHeader: false,
20
+ noEdit: false,
21
+ noDelete: false,
22
+ border: true,
23
+ verticalAlign: 'top',
24
+ wordBreak: 'break-all',
25
+ layout: 'card',
26
+ },
27
+ };
28
+
29
+ const initialValues = [
30
+ {
31
+ afm: '123456789',
32
+ firstName: 'Γιάννης',
33
+ lastName: 'Παπαδόπουλος',
34
+ },
35
+ {
36
+ afm: '987654321',
37
+ firstName: 'Μαρία',
38
+ lastName: 'Κωνσταντίνου',
39
+ },
40
+ {
41
+ afm: '456789123',
42
+ firstName: 'Δημήτρης',
43
+ lastName: 'Αθανασίου',
44
+ },
45
+ ];
46
+
47
+ export const Cards = () => {
48
+ const [fieldArrayValues, setFieldArrayValues] = useState(initialValues);
49
+
50
+ const handleEdit = (index: number) => {
51
+ const newFirstName = prompt(
52
+ '[TEST INTERFACE] Εισάγετε νέο όνομα:',
53
+ fieldArrayValues[index].firstName
54
+ );
55
+ if (newFirstName !== null) {
56
+ const newValues = [...fieldArrayValues];
57
+ newValues[index] = { ...newValues[index], firstName: newFirstName };
58
+ setFieldArrayValues(newValues);
59
+ }
60
+ };
61
+
62
+ const handleRemove = (index: number) => {
63
+ if (confirm('Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το στοιχείο;')) {
64
+ const newValues = fieldArrayValues.filter((_, i) => i !== index);
65
+ setFieldArrayValues(newValues);
66
+ }
67
+ };
68
+
69
+ const handleMove = (fromIndex: number, toIndex: number) => {
70
+ const newValues = [...fieldArrayValues];
71
+ const [movedItem] = newValues.splice(fromIndex, 1);
72
+ newValues.splice(toIndex, 0, movedItem);
73
+ setFieldArrayValues(newValues);
74
+ };
75
+
76
+ return (
77
+ <ArrayDisplay
78
+ fieldArrayName="signatories"
79
+ fieldArrayValues={fieldArrayValues}
80
+ ofField={mockOfField}
81
+ customField={mockCustomField}
82
+ onEdit={handleEdit}
83
+ onRemove={handleRemove}
84
+ move={handleMove}
85
+ sortable={false}
86
+ />
87
+ );
88
+ };
@@ -0,0 +1,93 @@
1
+ import React, { useState } from 'react';
2
+ import { ArrayDisplay } from '@digigov/form/FieldArray/FormDialog/ArrayDisplay/';
3
+
4
+ const mockOfField = {
5
+ type: 'object',
6
+ label: { primary: 'Item' },
7
+ extra: {
8
+ fields: [
9
+ { key: 'afm', label: { primary: 'ΑΦΜ' } },
10
+ { key: 'firstName', label: { primary: 'Όνομα' } },
11
+ { key: 'lastName', label: { primary: 'Επώνυμο' } },
12
+ ],
13
+ },
14
+ };
15
+
16
+ const mockCustomField = {
17
+ editable: true,
18
+ extra: {
19
+ noHeader: false,
20
+ noEdit: false,
21
+ noDelete: false,
22
+ border: true,
23
+ verticalAlign: 'top',
24
+ wordBreak: 'break-all',
25
+ stackProps: {
26
+ spacing: 4,
27
+ alignItems: 'flex-end',
28
+ justifyContent: 'flex-end',
29
+ direction: 'column',
30
+ },
31
+ },
32
+ };
33
+
34
+ const initialValues = [
35
+ {
36
+ afm: '123456789',
37
+ firstName: 'Γιάννης',
38
+ lastName: 'Παπαδόπουλος',
39
+ },
40
+ {
41
+ afm: '987654321',
42
+ firstName: 'Μαρία',
43
+ lastName: 'Κωνσταντίνου',
44
+ },
45
+ {
46
+ afm: '456789123',
47
+ firstName: 'Δημήτρης',
48
+ lastName: 'Αθανασίου',
49
+ },
50
+ ];
51
+
52
+ export const Default = () => {
53
+ const [fieldArrayValues, setFieldArrayValues] = useState(initialValues);
54
+
55
+ const handleEdit = (index: number) => {
56
+ const newFirstName = prompt(
57
+ '[TEST INTERFACE] Εισάγετε νέο όνομα:',
58
+ fieldArrayValues[index].firstName
59
+ );
60
+ if (newFirstName !== null) {
61
+ const newValues = [...fieldArrayValues];
62
+ newValues[index] = { ...newValues[index], firstName: newFirstName };
63
+ setFieldArrayValues(newValues);
64
+ }
65
+ };
66
+
67
+ const handleRemove = (index: number) => {
68
+ if (confirm('Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το στοιχείο;')) {
69
+ const newValues = fieldArrayValues.filter((_, i) => i !== index);
70
+ setFieldArrayValues(newValues);
71
+ }
72
+ };
73
+
74
+ const handleMove = (fromIndex: number, toIndex: number) => {
75
+ const newValues = [...fieldArrayValues];
76
+ const [movedItem] = newValues.splice(fromIndex, 1);
77
+ newValues.splice(toIndex, 0, movedItem);
78
+ setFieldArrayValues(newValues);
79
+ };
80
+
81
+ return (
82
+ <ArrayDisplay
83
+ fieldArrayName="signatories"
84
+ fieldArrayValues={fieldArrayValues}
85
+ ofField={mockOfField}
86
+ customField={mockCustomField}
87
+ onEdit={handleEdit}
88
+ onRemove={handleRemove}
89
+ move={handleMove}
90
+ sortable={false}
91
+ />
92
+ );
93
+ };
@@ -0,0 +1,79 @@
1
+ import React, { useState } from 'react';
2
+ import { ArrayDisplay } from '@digigov/form/FieldArray/FormDialog/ArrayDisplay/';
3
+
4
+ const mockOfField = {
5
+ type: 'object',
6
+ label: { primary: 'Item' },
7
+ extra: {
8
+ fields: [
9
+ { key: 'afm', label: { primary: 'ΑΦΜ' } },
10
+ { key: 'firstName', label: { primary: 'Όνομα' } },
11
+ { key: 'lastName', label: { primary: 'Επώνυμο' } },
12
+ ],
13
+ },
14
+ };
15
+
16
+ const mockCustomField = {
17
+ editable: false,
18
+ extra: {
19
+ noHeader: false,
20
+ noEdit: false,
21
+ noDelete: false,
22
+ border: true,
23
+ verticalAlign: 'top',
24
+ wordBreak: 'break-all',
25
+ stackProps: {
26
+ spacing: 4,
27
+ alignItems: 'flex-end',
28
+ justifyContent: 'flex-end',
29
+ direction: 'column',
30
+ },
31
+ },
32
+ };
33
+
34
+ const initialValues = [
35
+ {
36
+ afm: '123456789',
37
+ firstName: 'Γιάννης',
38
+ lastName: 'Παπαδόπουλος',
39
+ },
40
+ {
41
+ afm: '987654321',
42
+ firstName: 'Μαρία',
43
+ lastName: 'Κωνσταντίνου',
44
+ },
45
+ {
46
+ afm: '456789123',
47
+ firstName: 'Δημήτρης',
48
+ lastName: 'Αθανασίου',
49
+ },
50
+ ];
51
+
52
+ export const ReadOnly = () => {
53
+ const [fieldArrayValues] = useState(initialValues);
54
+
55
+ const handleEdit = () => {
56
+ console.log('Edit is disabled');
57
+ };
58
+
59
+ const handleRemove = () => {
60
+ console.log('Remove is disabled');
61
+ };
62
+
63
+ const handleMove = () => {
64
+ console.log('Move is disabled');
65
+ };
66
+
67
+ return (
68
+ <ArrayDisplay
69
+ fieldArrayName="signatories"
70
+ fieldArrayValues={fieldArrayValues}
71
+ ofField={mockOfField}
72
+ customField={mockCustomField}
73
+ onEdit={handleEdit}
74
+ onRemove={handleRemove}
75
+ move={handleMove}
76
+ sortable={false}
77
+ />
78
+ );
79
+ };
@@ -0,0 +1,75 @@
1
+ import React, { useState } from 'react';
2
+ import { ArrayDisplay } from '@digigov/form/FieldArray/FormDialog/ArrayDisplay/';
3
+
4
+ const mockOfField = {
5
+ type: 'object',
6
+ label: { primary: 'Item' },
7
+ extra: {
8
+ fields: [
9
+ { key: 'afm', label: { primary: 'ΑΦΜ' } },
10
+ { key: 'firstName', label: { primary: 'Όνομα' } },
11
+ { key: 'lastName', label: { primary: 'Επώνυμο' } },
12
+ ],
13
+ layout: 'card',
14
+ },
15
+ };
16
+
17
+ const mockCustomField = {
18
+ editable: false,
19
+ extra: {
20
+ noHeader: false,
21
+ noEdit: false,
22
+ noDelete: false,
23
+ border: true,
24
+ verticalAlign: 'top',
25
+ wordBreak: 'break-all',
26
+ layout: 'card',
27
+ },
28
+ };
29
+
30
+ const initialValues = [
31
+ {
32
+ afm: '123456789',
33
+ firstName: 'Γιάννης',
34
+ lastName: 'Παπαδόπουλος',
35
+ },
36
+ {
37
+ afm: '987654321',
38
+ firstName: 'Μαρία',
39
+ lastName: 'Κωνσταντίνου',
40
+ },
41
+ {
42
+ afm: '456789123',
43
+ firstName: 'Δημήτρης',
44
+ lastName: 'Αθανασίου',
45
+ },
46
+ ];
47
+
48
+ export const ReadOnlyCards = () => {
49
+ const [fieldArrayValues] = useState(initialValues);
50
+
51
+ const handleEdit = () => {
52
+ console.log('Edit is disabled');
53
+ };
54
+
55
+ const handleRemove = () => {
56
+ console.log('Remove is disabled');
57
+ };
58
+
59
+ const handleMove = () => {
60
+ console.log('Move is disabled');
61
+ };
62
+
63
+ return (
64
+ <ArrayDisplay
65
+ fieldArrayName="signatories"
66
+ fieldArrayValues={fieldArrayValues}
67
+ ofField={mockOfField}
68
+ customField={mockCustomField}
69
+ onEdit={handleEdit}
70
+ onRemove={handleRemove}
71
+ move={handleMove}
72
+ sortable={false}
73
+ />
74
+ );
75
+ };