@digigov/form 0.6.10 → 0.8.0

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 (309) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/Field/FieldBase.js +102 -0
  3. package/Field/FieldConditional.js +72 -0
  4. package/Field/FieldContainer.js +65 -0
  5. package/Field/index.js +50 -327
  6. package/Field/utils.js +162 -0
  7. package/FieldArray/FieldArray.stories.js +44 -0
  8. package/FieldArray/__stories__/Default.js +109 -0
  9. package/FieldArray/__stories__/WithExactLength.js +108 -0
  10. package/FieldArray/index.js +88 -0
  11. package/FieldObject/index.js +80 -0
  12. package/FormBuilder.js +34 -24
  13. package/MultiplicityField/MultiplicityField.stories.js +86 -0
  14. package/MultiplicityField/__stories__/Default.js +121 -0
  15. package/MultiplicityField/__stories__/WithExactLength.js +116 -0
  16. package/MultiplicityField/__stories__/WithMaxLength.js +119 -0
  17. package/MultiplicityField/__stories__/WithMinAndMaxLength.js +120 -0
  18. package/MultiplicityField/__stories__/WithMinLength.js +119 -0
  19. package/MultiplicityField/add-objects.js +180 -0
  20. package/MultiplicityField/index.js +146 -0
  21. package/Questions/__snapshots__/index.spec.tsx.snap +461 -2499
  22. package/es/Field/FieldBase.js +85 -0
  23. package/es/Field/FieldConditional.js +54 -0
  24. package/es/Field/FieldContainer.js +43 -0
  25. package/es/Field/index.js +46 -309
  26. package/es/Field/utils.js +138 -0
  27. package/es/FieldArray/FieldArray.stories.js +7 -0
  28. package/es/FieldArray/__stories__/Default.js +88 -0
  29. package/es/FieldArray/__stories__/WithExactLength.js +87 -0
  30. package/es/FieldArray/index.js +65 -0
  31. package/es/FieldObject/index.js +55 -0
  32. package/es/FormBuilder.js +33 -22
  33. package/es/MultiplicityField/MultiplicityField.stories.js +10 -0
  34. package/es/MultiplicityField/__stories__/Default.js +100 -0
  35. package/es/MultiplicityField/__stories__/WithExactLength.js +95 -0
  36. package/es/MultiplicityField/__stories__/WithMaxLength.js +98 -0
  37. package/es/MultiplicityField/__stories__/WithMinAndMaxLength.js +99 -0
  38. package/es/MultiplicityField/__stories__/WithMinLength.js +98 -0
  39. package/es/MultiplicityField/add-objects.js +156 -0
  40. package/es/MultiplicityField/index.js +116 -0
  41. package/es/Questions/__snapshots__/index.spec.tsx.snap +461 -2499
  42. package/es/inputs/Radio/index.js +8 -13
  43. package/es/internal.js +4 -0
  44. package/es/utils.js +65 -48
  45. package/es/validators/index.js +171 -0
  46. package/es/validators/types.js +1 -0
  47. package/es/validators/utils/afm.js +35 -0
  48. package/es/validators/utils/file.js +52 -0
  49. package/es/validators/utils/iban.js +123 -0
  50. package/es/validators/utils/index.js +87 -0
  51. package/es/validators/utils/phone.js +122 -0
  52. package/es/validators/utils/postal_code.js +29 -0
  53. package/es/validators/utils/uuid4.js +20 -0
  54. package/es/{validators.spec.js → validators/validators.spec.js} +1 -1
  55. package/esm/Field/FieldBase.js +85 -0
  56. package/esm/Field/FieldConditional.js +54 -0
  57. package/esm/Field/FieldContainer.js +43 -0
  58. package/esm/Field/index.js +46 -309
  59. package/esm/Field/utils.js +138 -0
  60. package/esm/FieldArray/FieldArray.stories.js +7 -0
  61. package/esm/FieldArray/__stories__/Default.js +88 -0
  62. package/esm/FieldArray/__stories__/WithExactLength.js +87 -0
  63. package/esm/FieldArray/index.js +65 -0
  64. package/esm/FieldObject/index.js +55 -0
  65. package/esm/FormBuilder.js +33 -22
  66. package/esm/MultiplicityField/MultiplicityField.stories.js +10 -0
  67. package/esm/MultiplicityField/__stories__/Default.js +100 -0
  68. package/esm/MultiplicityField/__stories__/WithExactLength.js +95 -0
  69. package/esm/MultiplicityField/__stories__/WithMaxLength.js +98 -0
  70. package/esm/MultiplicityField/__stories__/WithMinAndMaxLength.js +99 -0
  71. package/esm/MultiplicityField/__stories__/WithMinLength.js +98 -0
  72. package/esm/MultiplicityField/add-objects.js +156 -0
  73. package/esm/MultiplicityField/index.js +116 -0
  74. package/esm/Questions/__snapshots__/index.spec.tsx.snap +461 -2499
  75. package/esm/index.js +1 -1
  76. package/esm/inputs/Radio/index.js +8 -13
  77. package/esm/internal.js +4 -0
  78. package/esm/utils.js +65 -48
  79. package/esm/validators/index.js +171 -0
  80. package/esm/validators/types.js +1 -0
  81. package/esm/validators/utils/afm.js +35 -0
  82. package/esm/validators/utils/file.js +52 -0
  83. package/esm/validators/utils/iban.js +123 -0
  84. package/esm/validators/utils/index.js +87 -0
  85. package/esm/validators/utils/phone.js +122 -0
  86. package/esm/validators/utils/postal_code.js +29 -0
  87. package/esm/validators/utils/uuid4.js +20 -0
  88. package/esm/{validators.spec.js → validators/validators.spec.js} +1 -1
  89. package/inputs/Radio/index.js +8 -20
  90. package/internal.js +42 -0
  91. package/libs/form/src/Field/FieldBase.d.ts +3 -0
  92. package/libs/form/src/Field/FieldConditional.d.ts +4 -0
  93. package/libs/form/src/Field/FieldContainer.d.ts +4 -0
  94. package/libs/form/src/Field/index.d.ts +1 -3
  95. package/libs/form/src/Field/types.d.ts +23 -15
  96. package/libs/form/src/Field/utils.d.ts +5 -0
  97. package/libs/form/src/FieldArray/FieldArray.stories.d.ts +8 -0
  98. package/libs/form/src/FieldArray/__stories__/Default.d.ts +1 -0
  99. package/libs/form/src/FieldArray/__stories__/WithExactLength.d.ts +1 -0
  100. package/libs/form/src/FieldArray/index.d.ts +11 -0
  101. package/libs/form/src/FieldObject/index.d.ts +20 -0
  102. package/libs/form/src/FormContext.d.ts +2 -2
  103. package/libs/form/src/MultiplicityField/MultiplicityField.stories.d.ts +11 -0
  104. package/libs/form/src/MultiplicityField/__stories__/Default.d.ts +1 -0
  105. package/libs/form/src/MultiplicityField/__stories__/WithExactLength.d.ts +1 -0
  106. package/libs/form/src/MultiplicityField/__stories__/WithMaxLength.d.ts +1 -0
  107. package/libs/form/src/MultiplicityField/__stories__/WithMinAndMaxLength.d.ts +1 -0
  108. package/libs/form/src/MultiplicityField/__stories__/WithMinLength.d.ts +1 -0
  109. package/libs/form/src/MultiplicityField/add-objects.d.ts +13 -0
  110. package/libs/form/src/MultiplicityField/index.d.ts +32 -0
  111. package/libs/form/src/inputs/DateInput/index.d.ts +0 -1
  112. package/libs/form/src/inputs/Label/index.d.ts +1 -0
  113. package/libs/form/src/internal.d.ts +4 -0
  114. package/libs/form/src/types.d.ts +22 -13
  115. package/libs/form/src/utils.d.ts +8 -3
  116. package/libs/form/src/validators/index.d.ts +9 -0
  117. package/libs/form/src/validators/types.d.ts +2 -0
  118. package/libs/form/src/validators/utils/afm.d.ts +6 -0
  119. package/libs/form/src/validators/utils/file.d.ts +3 -0
  120. package/libs/form/src/validators/utils/iban.d.ts +4 -0
  121. package/libs/form/src/validators/utils/index.d.ts +24 -0
  122. package/libs/form/src/validators/utils/phone.d.ts +11 -0
  123. package/libs/form/src/validators/utils/postal_code.d.ts +4 -0
  124. package/libs/form/src/validators/utils/uuid4.d.ts +6 -0
  125. package/libs/form/src/{validators.spec.d.ts → validators/validators.spec.d.ts} +0 -0
  126. package/libs/ui/src/app/i18n.d.ts +2 -2
  127. package/libs/ui/src/core/Accordion/index.d.ts +3 -3
  128. package/libs/ui/src/core/Base/index.d.ts +3 -0
  129. package/libs/ui/src/core/Blockquote/index.d.ts +1 -1
  130. package/libs/ui/src/core/Button/BackButton.d.ts +1 -1
  131. package/libs/ui/src/core/Button/ButtonLink.d.ts +1 -1
  132. package/libs/ui/src/core/Button/index.d.ts +1 -1
  133. package/libs/ui/src/core/Divider/index.d.ts +1 -1
  134. package/libs/ui/src/core/Form/index.d.ts +3 -0
  135. package/libs/ui/src/core/Label/index.d.ts +4 -0
  136. package/libs/ui/src/core/Link/index.d.ts +1 -0
  137. package/libs/ui/src/core/NavList/NavHorizontal.d.ts +3 -0
  138. package/libs/ui/src/core/NavList/NavHorizontalList.d.ts +3 -0
  139. package/libs/ui/src/core/NavList/NavHorizontalListItem.d.ts +3 -0
  140. package/libs/ui/src/core/NavList/NavListItem.d.ts +1 -0
  141. package/libs/ui/src/core/NavList/NavListItemBase.d.ts +2 -1
  142. package/libs/ui/src/core/NavList/NavVertical.d.ts +3 -0
  143. package/libs/ui/src/core/NavList/NavVerticalItem.d.ts +3 -0
  144. package/libs/ui/src/core/NavList/index.d.ts +5 -0
  145. package/libs/ui/src/core/NavList/types.d.ts +1 -0
  146. package/libs/ui/src/core/SkipLink/index.d.ts +3 -0
  147. package/libs/ui/src/core/SvgIcon/index.d.ts +1 -0
  148. package/libs/ui/src/core/Table/TableFloatingScroll.d.ts +0 -1
  149. package/libs/ui/src/core/index.d.ts +4 -0
  150. package/libs/ui/src/locales/el.d.ts +6 -0
  151. package/libs/ui/src/typography/Caption/index.d.ts +3 -2
  152. package/libs/ui/src/typography/Title/index.d.ts +2 -1
  153. package/libs-ui/react-core/src/Accordion/index.d.ts +3 -3
  154. package/libs-ui/react-core/src/AccordionControls/index.d.ts +3 -3
  155. package/libs-ui/react-core/src/AccordionSection/index.d.ts +3 -3
  156. package/libs-ui/react-core/src/AccordionSectionContent/index.d.ts +3 -3
  157. package/libs-ui/react-core/src/AccordionSectionHeader/index.d.ts +3 -3
  158. package/libs-ui/react-core/src/AccordionSectionSummary/index.d.ts +4 -3
  159. package/libs-ui/react-core/src/AccordionSectionSummaryHeading/index.d.ts +3 -3
  160. package/libs-ui/react-core/src/Aside/index.d.ts +10 -0
  161. package/libs-ui/react-core/src/BackLink/index.d.ts +3 -3
  162. package/libs-ui/react-core/src/Base/index.d.ts +43 -0
  163. package/libs-ui/react-core/src/Blockquote/index.d.ts +3 -3
  164. package/libs-ui/react-core/src/Bottom/index.d.ts +9 -0
  165. package/libs-ui/react-core/src/Breadcrumbs/index.d.ts +3 -3
  166. package/libs-ui/react-core/src/BreadcrumbsList/index.d.ts +3 -3
  167. package/libs-ui/react-core/src/BreadcrumbsListItem/index.d.ts +3 -3
  168. package/libs-ui/react-core/src/Button/index.d.ts +3 -3
  169. package/libs-ui/react-core/src/ButtonGroup/index.d.ts +3 -3
  170. package/libs-ui/react-core/src/ButtonLink/index.d.ts +3 -3
  171. package/libs-ui/react-core/src/CallToAction/index.d.ts +1 -1
  172. package/libs-ui/react-core/src/Card/index.d.ts +3 -3
  173. package/libs-ui/react-core/src/CardAction/index.d.ts +3 -3
  174. package/libs-ui/react-core/src/CardHeading/index.d.ts +3 -3
  175. package/libs-ui/react-core/src/CardText/index.d.ts +3 -3
  176. package/libs-ui/react-core/src/CheckIcon/index.d.ts +15 -0
  177. package/libs-ui/react-core/src/Checkbox/index.d.ts +3 -3
  178. package/libs-ui/react-core/src/CheckboxConditional/index.d.ts +11 -0
  179. package/libs-ui/react-core/src/CheckboxItem/index.d.ts +3 -3
  180. package/libs-ui/react-core/src/Confirmation/index.d.ts +3 -3
  181. package/libs-ui/react-core/src/ConfirmationBody/index.d.ts +3 -3
  182. package/libs-ui/react-core/src/ConfirmationTitle/index.d.ts +3 -3
  183. package/libs-ui/react-core/src/Container/index.d.ts +17 -0
  184. package/libs-ui/react-core/src/Copyright/index.d.ts +10 -0
  185. package/libs-ui/react-core/src/DateInput/index.d.ts +3 -3
  186. package/libs-ui/react-core/src/DateInputItem/index.d.ts +3 -3
  187. package/libs-ui/react-core/src/Details/index.d.ts +3 -3
  188. package/libs-ui/react-core/src/DetailsContent/index.d.ts +3 -3
  189. package/libs-ui/react-core/src/DetailsSummary/index.d.ts +3 -3
  190. package/libs-ui/react-core/src/ErrorMessage/index.d.ts +3 -3
  191. package/libs-ui/react-core/src/ErrorSummary/index.d.ts +3 -3
  192. package/libs-ui/react-core/src/Field/index.d.ts +3 -3
  193. package/libs-ui/react-core/src/Fieldset/index.d.ts +3 -3
  194. package/libs-ui/react-core/src/FieldsetLegend/index.d.ts +3 -3
  195. package/libs-ui/react-core/src/FileUpload/index.d.ts +3 -3
  196. package/libs-ui/react-core/src/Footer/index.d.ts +9 -0
  197. package/libs-ui/react-core/src/FooterContainer/index.d.ts +16 -0
  198. package/libs-ui/react-core/src/FooterContent/index.d.ts +10 -0
  199. package/libs-ui/react-core/src/FooterContentLogos/index.d.ts +11 -0
  200. package/libs-ui/react-core/src/FooterHeading/index.d.ts +15 -0
  201. package/libs-ui/react-core/src/FooterImage/index.d.ts +15 -0
  202. package/libs-ui/react-core/src/FooterInlineList/index.d.ts +11 -0
  203. package/libs-ui/react-core/src/FooterInlineListItem/index.d.ts +9 -0
  204. package/libs-ui/react-core/src/FooterLink/index.d.ts +13 -0
  205. package/libs-ui/react-core/src/FooterList/index.d.ts +15 -0
  206. package/libs-ui/react-core/src/FooterListItem/index.d.ts +10 -0
  207. package/libs-ui/react-core/src/FooterMeta/index.d.ts +11 -0
  208. package/libs-ui/react-core/src/FooterMetaItem/index.d.ts +14 -0
  209. package/libs-ui/react-core/src/FooterNavigation/index.d.ts +11 -0
  210. package/libs-ui/react-core/src/FooterSection/index.d.ts +11 -0
  211. package/libs-ui/react-core/src/Form/index.d.ts +11 -0
  212. package/libs-ui/react-core/src/GovGRFooter/index.d.ts +9 -0
  213. package/libs-ui/react-core/src/GovGRLogo/index.d.ts +9 -0
  214. package/libs-ui/react-core/src/Grid/index.d.ts +3 -3
  215. package/libs-ui/react-core/src/Header/index.d.ts +10 -0
  216. package/libs-ui/react-core/src/HeaderContent/index.d.ts +9 -0
  217. package/libs-ui/react-core/src/HeaderLogo/index.d.ts +21 -0
  218. package/libs-ui/react-core/src/HeaderSecondaryLogo/index.d.ts +21 -0
  219. package/libs-ui/react-core/src/HeaderSection/index.d.ts +9 -0
  220. package/libs-ui/react-core/src/HeaderSubtitle/index.d.ts +9 -0
  221. package/libs-ui/react-core/src/HeaderTitle/index.d.ts +13 -0
  222. package/libs-ui/react-core/src/Heading/index.d.ts +3 -3
  223. package/libs-ui/react-core/src/HeadingCaption/index.d.ts +3 -3
  224. package/libs-ui/react-core/src/HellenicRepublicLogo/index.d.ts +20 -0
  225. package/libs-ui/react-core/src/HellenicRepublicLogo/logo-el.d.ts +2 -0
  226. package/libs-ui/react-core/src/HellenicRepublicLogo/logo-en.d.ts +2 -0
  227. package/libs-ui/react-core/src/Hidden/index.d.ts +3 -3
  228. package/libs-ui/react-core/src/Hint/index.d.ts +3 -3
  229. package/libs-ui/react-core/src/Label/index.d.ts +3 -3
  230. package/libs-ui/react-core/src/LabelTitle/index.d.ts +7 -7
  231. package/libs-ui/react-core/src/Layout/index.d.ts +10 -0
  232. package/libs-ui/react-core/src/Link/index.d.ts +3 -3
  233. package/libs-ui/react-core/src/List/index.d.ts +3 -3
  234. package/libs-ui/react-core/src/ListItem/index.d.ts +3 -3
  235. package/libs-ui/react-core/src/Main/index.d.ts +9 -0
  236. package/libs-ui/react-core/src/Masthead/index.d.ts +9 -0
  237. package/libs-ui/react-core/src/MastheadBody/index.d.ts +9 -0
  238. package/libs-ui/react-core/src/NavHorizontal/index.d.ts +16 -0
  239. package/libs-ui/react-core/src/NavHorizontalList/index.d.ts +10 -0
  240. package/libs-ui/react-core/src/NavHorizontalListItem/index.d.ts +18 -0
  241. package/libs-ui/react-core/src/NavVertical/index.d.ts +11 -0
  242. package/libs-ui/react-core/src/NavVerticalItem/index.d.ts +14 -0
  243. package/libs-ui/react-core/src/NormalText/index.d.ts +3 -3
  244. package/libs-ui/react-core/src/NotificationBanner/index.d.ts +3 -3
  245. package/libs-ui/react-core/src/NotificationBannerContent/index.d.ts +3 -3
  246. package/libs-ui/react-core/src/NotificationBannerHeader/index.d.ts +3 -3
  247. package/libs-ui/react-core/src/NotificationBannerHeading/index.d.ts +3 -3
  248. package/libs-ui/react-core/src/NotificationBannerLink/index.d.ts +3 -3
  249. package/libs-ui/react-core/src/PageTitle/index.d.ts +9 -0
  250. package/libs-ui/react-core/src/PageTitleCaption/index.d.ts +14 -0
  251. package/libs-ui/react-core/src/PageTitleHeading/index.d.ts +13 -0
  252. package/libs-ui/react-core/src/PageTitleSection/index.d.ts +10 -0
  253. package/libs-ui/react-core/src/Paragraph/index.d.ts +3 -3
  254. package/libs-ui/react-core/src/PhaseBanner/index.d.ts +3 -3
  255. package/libs-ui/react-core/src/PhaseBannerHeaderContainer/index.d.ts +3 -3
  256. package/libs-ui/react-core/src/PhaseBannerTag/index.d.ts +3 -3
  257. package/libs-ui/react-core/src/PhaseBannerText/index.d.ts +3 -3
  258. package/libs-ui/react-core/src/Radio/index.d.ts +3 -3
  259. package/libs-ui/react-core/src/RadioConditional/index.d.ts +11 -0
  260. package/libs-ui/react-core/src/RadioItem/index.d.ts +3 -3
  261. package/libs-ui/react-core/src/SectionBreak/index.d.ts +3 -3
  262. package/libs-ui/react-core/src/Select/index.d.ts +3 -3
  263. package/libs-ui/react-core/src/SelectOption/index.d.ts +3 -3
  264. package/libs-ui/react-core/src/ServiceBadge/index.d.ts +11 -0
  265. package/libs-ui/react-core/src/SkipLink/index.d.ts +10 -0
  266. package/libs-ui/react-core/src/SummaryList/index.d.ts +3 -3
  267. package/libs-ui/react-core/src/SummaryListItem/index.d.ts +3 -3
  268. package/libs-ui/react-core/src/SummaryListItemAction/index.d.ts +3 -3
  269. package/libs-ui/react-core/src/SummaryListItemKey/index.d.ts +3 -3
  270. package/libs-ui/react-core/src/SummaryListItemValue/index.d.ts +3 -3
  271. package/libs-ui/react-core/src/SvgIcon/index.d.ts +3 -3
  272. package/libs-ui/react-core/src/Table/index.d.ts +3 -3
  273. package/libs-ui/react-core/src/TableBody/index.d.ts +3 -3
  274. package/libs-ui/react-core/src/TableCaption/index.d.ts +3 -3
  275. package/libs-ui/react-core/src/TableContainer/index.d.ts +3 -3
  276. package/libs-ui/react-core/src/TableDataCell/index.d.ts +3 -3
  277. package/libs-ui/react-core/src/TableHead/index.d.ts +3 -3
  278. package/libs-ui/react-core/src/TableHeadCell/index.d.ts +3 -3
  279. package/libs-ui/react-core/src/TableNoDataRow/index.d.ts +3 -3
  280. package/libs-ui/react-core/src/TableRow/index.d.ts +3 -3
  281. package/libs-ui/react-core/src/Tabs/index.d.ts +3 -3
  282. package/libs-ui/react-core/src/TabsHeading/index.d.ts +3 -3
  283. package/libs-ui/react-core/src/TabsList/index.d.ts +3 -3
  284. package/libs-ui/react-core/src/TabsListItem/index.d.ts +3 -3
  285. package/libs-ui/react-core/src/TabsPanel/index.d.ts +3 -3
  286. package/libs-ui/react-core/src/TextArea/index.d.ts +3 -3
  287. package/libs-ui/react-core/src/TextInput/index.d.ts +3 -3
  288. package/libs-ui/react-core/src/Top/index.d.ts +9 -0
  289. package/libs-ui/react-core/src/UncheckIcon/index.d.ts +4 -4
  290. package/libs-ui/react-core/src/VisuallyHidden/index.d.ts +3 -3
  291. package/libs-ui/react-core/src/WarningText/index.d.ts +3 -3
  292. package/libs-ui/react-core/src/index.d.ts +141 -0
  293. package/package.json +7 -5
  294. package/utils.js +64 -48
  295. package/validators/index.js +197 -0
  296. package/validators/types.js +5 -0
  297. package/validators/utils/afm.js +45 -0
  298. package/validators/utils/file.js +62 -0
  299. package/validators/utils/iban.js +134 -0
  300. package/validators/utils/index.js +188 -0
  301. package/validators/utils/phone.js +144 -0
  302. package/validators/utils/postal_code.js +40 -0
  303. package/validators/utils/uuid4.js +30 -0
  304. package/validators/validators.spec.js +88 -0
  305. package/es/validators.js +0 -626
  306. package/esm/validators.js +0 -626
  307. package/libs/form/src/validators.d.ts +0 -14
  308. package/validators.js +0 -662
  309. package/validators.spec.js +0 -88
@@ -0,0 +1,116 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import React, { useState } from 'react';
5
+ import { Card, CardText, CardAction, Button, Heading, CardHeading } from '@digigov/react-core';
6
+ import AddObjects from '@digigov/form/MultiplicityField/add-objects';
7
+ import { useFieldArray } from 'react-hook-form';
8
+ import { DevTool } from '@hookform/devtools';
9
+ import FieldObject from '@digigov/form/FieldObject';
10
+ import FieldContainer from '@digigov/form/Field/FieldContainer';
11
+ // epeidh einai forwardRef to ref mas to dinei xwrista apo ta props
12
+ export var Multiplicity = function Multiplicity(_ref) {
13
+ var extra = _ref.extra,
14
+ name = _ref.name,
15
+ control = _ref.control,
16
+ error = _ref.error,
17
+ register = _ref.register,
18
+ trigger = _ref.trigger,
19
+ clearErrors = _ref.clearErrors,
20
+ formState = _ref.formState,
21
+ label = _ref.label,
22
+ layout = _ref.layout,
23
+ setValue = _ref.setValue,
24
+ getValues = _ref.getValues,
25
+ unregister = _ref.unregister;
26
+
27
+ var _useFieldArray = useFieldArray({
28
+ control: control,
29
+ name: name
30
+ }),
31
+ fields = _useFieldArray.fields,
32
+ append = _useFieldArray.append,
33
+ remove = _useFieldArray.remove;
34
+
35
+ var _useState = useState([]),
36
+ _useState2 = _slicedToArray(_useState, 2),
37
+ stashedObjects = _useState2[0],
38
+ setStashedObjects = _useState2[1];
39
+
40
+ var handleStash = function handleStash(data) {
41
+ setStashedObjects([].concat(_toConsumableArray(stashedObjects), [data]));
42
+ };
43
+
44
+ var handleDelete = function handleDelete(index) {
45
+ remove(index); // creating a new array to maintain immutability
46
+
47
+ var newStashedObjects = _toConsumableArray(stashedObjects);
48
+
49
+ newStashedObjects.splice(index, 1);
50
+ setStashedObjects(newStashedObjects);
51
+ };
52
+
53
+ return /*#__PURE__*/React.createElement(FieldContainer, {
54
+ label: label,
55
+ layout: layout,
56
+ error: formState.isSubmitted && !formState.isSubmitting && error !== null && error !== void 0 && error.message ? error : undefined,
57
+ wrapper: "fieldset",
58
+ name: name
59
+ }, /*#__PURE__*/React.createElement(DevTool, {
60
+ control: control
61
+ }), stashedObjects.length > 0 ? /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Heading, {
62
+ size: "m"
63
+ }, extra === null || extra === void 0 ? void 0 : extra.label.object.title_added), stashedObjects.map(function (_Object, index) {
64
+ return /*#__PURE__*/React.createElement(ListObject, {
65
+ key: "".concat(name, ".").concat(index),
66
+ index: index,
67
+ name: name,
68
+ extra: extra,
69
+ control: control,
70
+ register: register,
71
+ formState: formState,
72
+ onDelete: handleDelete
73
+ });
74
+ })) : '', /*#__PURE__*/React.createElement(AddObjects, {
75
+ name: name,
76
+ register: register,
77
+ control: control,
78
+ fields: fields,
79
+ error: error,
80
+ stashedObjects: stashedObjects,
81
+ extra: extra,
82
+ append: append,
83
+ remove: remove,
84
+ onStash: handleStash,
85
+ setValue: setValue,
86
+ getValues: getValues,
87
+ unregister: unregister,
88
+ trigger: trigger,
89
+ clearErrors: clearErrors
90
+ }));
91
+ };
92
+ export default Multiplicity;
93
+ export var ListObject = function ListObject(_ref2) {
94
+ var index = _ref2.index,
95
+ name = _ref2.name,
96
+ extra = _ref2.extra,
97
+ control = _ref2.control,
98
+ register = _ref2.register,
99
+ onDelete = _ref2.onDelete,
100
+ formState = _ref2.formState;
101
+ var currentName = "".concat(name, ".").concat(index);
102
+ return /*#__PURE__*/React.createElement(Card, {
103
+ variant: (extra === null || extra === void 0 ? void 0 : extra.border) && 'border'
104
+ }, /*#__PURE__*/React.createElement(CardHeading, null, extra === null || extra === void 0 ? void 0 : extra.label.object.title, " #", index + 1), /*#__PURE__*/React.createElement(CardText, null, /*#__PURE__*/React.createElement(FieldObject, _extends({
105
+ name: currentName,
106
+ formState: formState,
107
+ register: register,
108
+ control: control
109
+ }, extra === null || extra === void 0 ? void 0 : extra.of))), /*#__PURE__*/React.createElement(CardAction, null, /*#__PURE__*/React.createElement(Button, {
110
+ type: "button",
111
+ variant: "link",
112
+ onClick: function onClick() {
113
+ return onDelete(index);
114
+ }
115
+ }, extra === null || extra === void 0 ? void 0 : extra.label.object["delete"])));
116
+ };