@digigov/form 0.6.9 → 0.7.1

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 (307) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/Field/FieldBase.js +110 -0
  3. package/Field/{ConditionalField.js → FieldConditional.js} +9 -29
  4. package/Field/FieldContainer.js +62 -0
  5. package/Field/index.js +11 -251
  6. package/Field/types.js +5 -0
  7. package/Field/utils.js +146 -0
  8. package/Fieldset/FieldsetWithContext.js +63 -0
  9. package/Fieldset/index.js +4 -63
  10. package/Fieldset/types.js +5 -0
  11. package/FormBuilder.js +178 -0
  12. package/FormContext.js +14 -0
  13. package/Questions/Questions.js +105 -0
  14. package/Questions/QuestionsContext.js +20 -0
  15. package/Questions/Step/ReviewStep.js +11 -7
  16. package/Questions/Step/Step.js +93 -0
  17. package/Questions/Step/StepArrayReview.js +79 -0
  18. package/Questions/Step/StepContext.js +37 -0
  19. package/Questions/Step/StepDescription.js +2 -2
  20. package/Questions/Step/StepForm.js +10 -6
  21. package/Questions/Step/StepTitle.js +2 -2
  22. package/Questions/Step/getAddMoreFields.js +31 -0
  23. package/Questions/Step/index.js +81 -200
  24. package/Questions/Step/types.js +5 -0
  25. package/Questions/__snapshots__/index.spec.tsx.snap +461 -2499
  26. package/Questions/getNextStep.js +30 -0
  27. package/Questions/index.js +4 -150
  28. package/Questions/types.js +5 -0
  29. package/es/Field/FieldBase.js +93 -0
  30. package/es/Field/{ConditionalField.js → FieldConditional.js} +5 -28
  31. package/es/Field/FieldContainer.js +40 -0
  32. package/es/Field/index.js +8 -233
  33. package/es/Field/types.js +1 -0
  34. package/es/Field/utils.js +122 -0
  35. package/es/Fieldset/FieldsetWithContext.js +41 -0
  36. package/es/Fieldset/index.js +3 -51
  37. package/es/Fieldset/types.js +1 -0
  38. package/es/FormBuilder.js +148 -0
  39. package/es/FormContext.js +5 -0
  40. package/es/Questions/Questions.js +84 -0
  41. package/es/Questions/QuestionsContext.js +11 -0
  42. package/es/Questions/Step/ReviewStep.js +5 -3
  43. package/es/Questions/Step/Step.js +69 -0
  44. package/es/Questions/Step/StepArrayReview.js +50 -0
  45. package/es/Questions/Step/StepContext.js +27 -0
  46. package/es/Questions/Step/StepDescription.js +1 -1
  47. package/es/Questions/Step/StepForm.js +4 -2
  48. package/es/Questions/Step/StepTitle.js +1 -1
  49. package/es/Questions/Step/getAddMoreFields.js +22 -0
  50. package/es/Questions/Step/index.js +13 -165
  51. package/es/Questions/Step/types.js +1 -0
  52. package/es/Questions/__snapshots__/index.spec.tsx.snap +461 -2499
  53. package/es/Questions/getNextStep.js +23 -0
  54. package/es/Questions/index.js +2 -119
  55. package/es/Questions/index.spec.js +2 -1
  56. package/es/Questions/types.js +1 -0
  57. package/es/index.js +2 -153
  58. package/es/inputs/index.js +5 -4
  59. package/es/internal.js +31 -0
  60. package/es/types.js +1 -0
  61. package/es/utils.js +5 -3
  62. package/es/validators/index.js +155 -0
  63. package/es/validators/types.js +1 -0
  64. package/es/validators/utils/afm.js +35 -0
  65. package/es/validators/utils/file.js +52 -0
  66. package/es/validators/utils/iban.js +123 -0
  67. package/es/validators/utils/index.js +105 -0
  68. package/es/validators/utils/phone.js +122 -0
  69. package/es/validators/utils/postal_code.js +29 -0
  70. package/es/validators/utils/uuid4.js +20 -0
  71. package/{esm → es/validators}/validators.spec.js +1 -1
  72. package/esm/Field/FieldBase.js +93 -0
  73. package/esm/Field/{ConditionalField.js → FieldConditional.js} +5 -28
  74. package/esm/Field/FieldContainer.js +40 -0
  75. package/esm/Field/index.js +8 -233
  76. package/esm/Field/types.js +1 -0
  77. package/esm/Field/utils.js +122 -0
  78. package/esm/Fieldset/FieldsetWithContext.js +41 -0
  79. package/esm/Fieldset/index.js +3 -51
  80. package/esm/Fieldset/types.js +1 -0
  81. package/esm/FormBuilder.js +148 -0
  82. package/esm/FormContext.js +5 -0
  83. package/esm/Questions/Questions.js +84 -0
  84. package/esm/Questions/QuestionsContext.js +11 -0
  85. package/esm/Questions/Step/ReviewStep.js +5 -3
  86. package/esm/Questions/Step/Step.js +69 -0
  87. package/esm/Questions/Step/StepArrayReview.js +50 -0
  88. package/esm/Questions/Step/StepContext.js +27 -0
  89. package/esm/Questions/Step/StepDescription.js +1 -1
  90. package/esm/Questions/Step/StepForm.js +4 -2
  91. package/esm/Questions/Step/StepTitle.js +1 -1
  92. package/esm/Questions/Step/getAddMoreFields.js +22 -0
  93. package/esm/Questions/Step/index.js +13 -165
  94. package/esm/Questions/Step/types.js +1 -0
  95. package/esm/Questions/__snapshots__/index.spec.tsx.snap +461 -2499
  96. package/esm/Questions/getNextStep.js +23 -0
  97. package/esm/Questions/index.js +2 -119
  98. package/esm/Questions/index.spec.js +2 -1
  99. package/esm/Questions/types.js +1 -0
  100. package/esm/index.js +3 -154
  101. package/esm/inputs/index.js +5 -4
  102. package/esm/internal.js +31 -0
  103. package/esm/types.js +1 -0
  104. package/esm/utils.js +5 -3
  105. package/esm/validators/index.js +155 -0
  106. package/esm/validators/types.js +1 -0
  107. package/esm/validators/utils/afm.js +35 -0
  108. package/esm/validators/utils/file.js +52 -0
  109. package/esm/validators/utils/iban.js +123 -0
  110. package/esm/validators/utils/index.js +105 -0
  111. package/esm/validators/utils/phone.js +122 -0
  112. package/esm/validators/utils/postal_code.js +29 -0
  113. package/esm/validators/utils/uuid4.js +20 -0
  114. package/{es → esm/validators}/validators.spec.js +1 -1
  115. package/index.js +8 -191
  116. package/inputs/index.js +13 -5
  117. package/internal.js +356 -0
  118. package/libs/form/src/Field/FieldBase.d.ts +3 -0
  119. package/libs/form/src/Field/FieldConditional.d.ts +4 -0
  120. package/libs/form/src/Field/FieldContainer.d.ts +4 -0
  121. package/libs/form/src/Field/index.d.ts +1 -62
  122. package/libs/form/src/Field/types.d.ts +75 -0
  123. package/libs/form/src/Field/utils.d.ts +5 -0
  124. package/libs/form/src/Fieldset/FieldsetWithContext.d.ts +4 -0
  125. package/libs/form/src/Fieldset/index.d.ts +2 -12
  126. package/libs/form/src/Fieldset/types.d.ts +6 -0
  127. package/libs/form/src/FormBuilder.d.ts +5 -0
  128. package/libs/form/src/FormContext.d.ts +3 -0
  129. package/libs/form/src/Questions/Questions.d.ts +8 -0
  130. package/libs/form/src/Questions/QuestionsContext.d.ts +3 -0
  131. package/libs/form/src/Questions/Step/ReviewStep.d.ts +1 -0
  132. package/libs/form/src/Questions/Step/Step.d.ts +9 -0
  133. package/libs/form/src/Questions/Step/StepArrayReview.d.ts +4 -0
  134. package/libs/form/src/Questions/Step/StepContext.d.ts +4 -0
  135. package/libs/form/src/Questions/Step/StepForm.d.ts +2 -1
  136. package/libs/form/src/Questions/Step/getAddMoreFields.d.ts +3 -0
  137. package/libs/form/src/Questions/Step/index.d.ts +12 -47
  138. package/libs/form/src/Questions/Step/types.d.ts +31 -0
  139. package/libs/form/src/Questions/getNextStep.d.ts +2 -0
  140. package/libs/form/src/Questions/index.d.ts +1 -28
  141. package/libs/form/src/Questions/types.d.ts +19 -0
  142. package/libs/form/src/index.d.ts +2 -73
  143. package/libs/form/src/inputs/Checkboxes/index.d.ts +1 -1
  144. package/libs/form/src/inputs/DateInput/index.d.ts +1 -2
  145. package/libs/form/src/inputs/FileInput/index.d.ts +1 -1
  146. package/libs/form/src/inputs/Input/index.d.ts +1 -1
  147. package/libs/form/src/inputs/Label/index.d.ts +2 -1
  148. package/libs/form/src/inputs/Radio/index.d.ts +1 -1
  149. package/libs/form/src/inputs/Select/index.d.ts +1 -1
  150. package/libs/form/src/inputs/index.d.ts +4 -3
  151. package/libs/form/src/internal.d.ts +31 -0
  152. package/libs/form/src/types.d.ts +70 -0
  153. package/libs/form/src/validators/index.d.ts +8 -0
  154. package/libs/form/src/validators/types.d.ts +2 -0
  155. package/libs/form/src/validators/utils/afm.d.ts +6 -0
  156. package/libs/form/src/validators/utils/file.d.ts +1 -0
  157. package/libs/form/src/validators/utils/iban.d.ts +2 -0
  158. package/libs/form/src/validators/utils/index.d.ts +12 -0
  159. package/libs/form/src/validators/utils/phone.d.ts +9 -0
  160. package/libs/form/src/validators/utils/postal_code.d.ts +2 -0
  161. package/libs/form/src/validators/utils/uuid4.d.ts +6 -0
  162. package/libs/form/src/{validators.spec.d.ts → validators/validators.spec.d.ts} +0 -0
  163. package/libs/ui/src/core/Accordion/index.d.ts +3 -3
  164. package/libs/ui/src/core/Base/index.d.ts +3 -0
  165. package/libs/ui/src/core/Blockquote/index.d.ts +1 -1
  166. package/libs/ui/src/core/Button/BackButton.d.ts +1 -1
  167. package/libs/ui/src/core/Button/ButtonLink.d.ts +1 -1
  168. package/libs/ui/src/core/Button/index.d.ts +1 -1
  169. package/libs/ui/src/core/Divider/index.d.ts +1 -1
  170. package/libs/ui/src/core/Form/index.d.ts +3 -0
  171. package/libs/ui/src/core/Label/index.d.ts +4 -0
  172. package/libs/ui/src/core/Link/index.d.ts +1 -0
  173. package/libs/ui/src/core/NavList/NavHorizontal.d.ts +3 -0
  174. package/libs/ui/src/core/NavList/NavHorizontalList.d.ts +3 -0
  175. package/libs/ui/src/core/NavList/NavHorizontalListItem.d.ts +3 -0
  176. package/libs/ui/src/core/NavList/NavList.d.ts +1 -14
  177. package/libs/ui/src/core/NavList/NavListBase.d.ts +4 -0
  178. package/libs/ui/src/core/NavList/NavListItem.d.ts +1 -0
  179. package/libs/ui/src/core/NavList/NavListItemBase.d.ts +2 -1
  180. package/libs/ui/src/core/NavList/NavListSubMenu.d.ts +1 -1
  181. package/libs/ui/src/core/NavList/NavVertical.d.ts +3 -0
  182. package/libs/ui/src/core/NavList/NavVerticalItem.d.ts +3 -0
  183. package/libs/ui/src/core/NavList/index.d.ts +5 -0
  184. package/libs/ui/src/core/NavList/types.d.ts +14 -0
  185. package/libs/ui/src/core/SkipLink/index.d.ts +3 -0
  186. package/libs/ui/src/core/SvgIcon/index.d.ts +1 -0
  187. package/libs/ui/src/core/Table/TableFloatingScroll.d.ts +2 -0
  188. package/libs/ui/src/core/Table/index.d.ts +1 -0
  189. package/libs/ui/src/core/index.d.ts +4 -0
  190. package/libs/ui/src/layouts/Grid/index.d.ts +1 -0
  191. package/libs/ui/src/typography/Caption/index.d.ts +3 -2
  192. package/libs/ui/src/typography/Title/index.d.ts +2 -1
  193. package/libs-ui/react-core/src/Accordion/index.d.ts +3 -3
  194. package/libs-ui/react-core/src/AccordionControls/index.d.ts +3 -3
  195. package/libs-ui/react-core/src/AccordionSection/index.d.ts +3 -3
  196. package/libs-ui/react-core/src/AccordionSectionContent/index.d.ts +3 -3
  197. package/libs-ui/react-core/src/AccordionSectionHeader/index.d.ts +3 -3
  198. package/libs-ui/react-core/src/AccordionSectionSummary/index.d.ts +4 -3
  199. package/libs-ui/react-core/src/AccordionSectionSummaryHeading/index.d.ts +3 -3
  200. package/libs-ui/react-core/src/BackLink/index.d.ts +3 -3
  201. package/libs-ui/react-core/src/Base/index.d.ts +43 -0
  202. package/libs-ui/react-core/src/Blockquote/index.d.ts +3 -3
  203. package/libs-ui/react-core/src/Breadcrumbs/index.d.ts +3 -3
  204. package/libs-ui/react-core/src/BreadcrumbsList/index.d.ts +3 -3
  205. package/libs-ui/react-core/src/BreadcrumbsListItem/index.d.ts +3 -3
  206. package/libs-ui/react-core/src/Button/index.d.ts +3 -3
  207. package/libs-ui/react-core/src/ButtonGroup/index.d.ts +3 -3
  208. package/libs-ui/react-core/src/ButtonLink/index.d.ts +3 -3
  209. package/libs-ui/react-core/src/CallToAction/index.d.ts +1 -1
  210. package/libs-ui/react-core/src/Card/index.d.ts +3 -3
  211. package/libs-ui/react-core/src/CardAction/index.d.ts +3 -3
  212. package/libs-ui/react-core/src/CardHeading/index.d.ts +3 -3
  213. package/libs-ui/react-core/src/CardText/index.d.ts +3 -3
  214. package/libs-ui/react-core/src/CheckIcon/index.d.ts +15 -0
  215. package/libs-ui/react-core/src/Checkbox/index.d.ts +3 -3
  216. package/libs-ui/react-core/src/CheckboxItem/index.d.ts +3 -3
  217. package/libs-ui/react-core/src/Confirmation/index.d.ts +3 -3
  218. package/libs-ui/react-core/src/ConfirmationBody/index.d.ts +3 -3
  219. package/libs-ui/react-core/src/ConfirmationTitle/index.d.ts +3 -3
  220. package/libs-ui/react-core/src/DateInput/index.d.ts +3 -3
  221. package/libs-ui/react-core/src/DateInputItem/index.d.ts +3 -3
  222. package/libs-ui/react-core/src/Details/index.d.ts +3 -3
  223. package/libs-ui/react-core/src/DetailsContent/index.d.ts +3 -3
  224. package/libs-ui/react-core/src/DetailsSummary/index.d.ts +3 -3
  225. package/libs-ui/react-core/src/ErrorMessage/index.d.ts +3 -3
  226. package/libs-ui/react-core/src/ErrorSummary/index.d.ts +3 -3
  227. package/libs-ui/react-core/src/Field/index.d.ts +3 -3
  228. package/libs-ui/react-core/src/Fieldset/index.d.ts +3 -3
  229. package/libs-ui/react-core/src/FieldsetLegend/index.d.ts +3 -3
  230. package/libs-ui/react-core/src/FileUpload/index.d.ts +3 -3
  231. package/libs-ui/react-core/src/Form/index.d.ts +11 -0
  232. package/libs-ui/react-core/src/Grid/index.d.ts +3 -3
  233. package/libs-ui/react-core/src/Heading/index.d.ts +3 -3
  234. package/libs-ui/react-core/src/HeadingCaption/index.d.ts +3 -3
  235. package/libs-ui/react-core/src/Hidden/index.d.ts +3 -3
  236. package/libs-ui/react-core/src/Hint/index.d.ts +3 -3
  237. package/libs-ui/react-core/src/Label/index.d.ts +3 -3
  238. package/libs-ui/react-core/src/LabelTitle/index.d.ts +7 -7
  239. package/libs-ui/react-core/src/Link/index.d.ts +3 -3
  240. package/libs-ui/react-core/src/List/index.d.ts +3 -3
  241. package/libs-ui/react-core/src/ListItem/index.d.ts +3 -3
  242. package/libs-ui/react-core/src/NavHorizontal/index.d.ts +16 -0
  243. package/libs-ui/react-core/src/NavHorizontalList/index.d.ts +10 -0
  244. package/libs-ui/react-core/src/NavHorizontalListItem/index.d.ts +18 -0
  245. package/libs-ui/react-core/src/NavVertical/index.d.ts +11 -0
  246. package/libs-ui/react-core/src/NavVerticalItem/index.d.ts +14 -0
  247. package/libs-ui/react-core/src/NormalText/index.d.ts +3 -3
  248. package/libs-ui/react-core/src/NotificationBanner/index.d.ts +3 -3
  249. package/libs-ui/react-core/src/NotificationBannerContent/index.d.ts +3 -3
  250. package/libs-ui/react-core/src/NotificationBannerHeader/index.d.ts +3 -3
  251. package/libs-ui/react-core/src/NotificationBannerHeading/index.d.ts +3 -3
  252. package/libs-ui/react-core/src/NotificationBannerLink/index.d.ts +3 -3
  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/RadioItem/index.d.ts +3 -3
  260. package/libs-ui/react-core/src/SectionBreak/index.d.ts +3 -3
  261. package/libs-ui/react-core/src/Select/index.d.ts +3 -3
  262. package/libs-ui/react-core/src/SelectOption/index.d.ts +3 -3
  263. package/libs-ui/react-core/src/SkipLink/index.d.ts +10 -0
  264. package/libs-ui/react-core/src/SummaryList/index.d.ts +3 -3
  265. package/libs-ui/react-core/src/SummaryListItem/index.d.ts +3 -3
  266. package/libs-ui/react-core/src/SummaryListItemAction/index.d.ts +3 -3
  267. package/libs-ui/react-core/src/SummaryListItemKey/index.d.ts +3 -3
  268. package/libs-ui/react-core/src/SummaryListItemValue/index.d.ts +3 -3
  269. package/libs-ui/react-core/src/SvgIcon/index.d.ts +3 -3
  270. package/libs-ui/react-core/src/Table/index.d.ts +3 -3
  271. package/libs-ui/react-core/src/TableBody/index.d.ts +3 -3
  272. package/libs-ui/react-core/src/TableCaption/index.d.ts +3 -3
  273. package/libs-ui/react-core/src/TableContainer/index.d.ts +3 -3
  274. package/libs-ui/react-core/src/TableDataCell/index.d.ts +3 -3
  275. package/libs-ui/react-core/src/TableHead/index.d.ts +3 -3
  276. package/libs-ui/react-core/src/TableHeadCell/index.d.ts +3 -3
  277. package/libs-ui/react-core/src/TableNoDataRow/index.d.ts +3 -3
  278. package/libs-ui/react-core/src/TableRow/index.d.ts +3 -3
  279. package/libs-ui/react-core/src/Tabs/index.d.ts +3 -3
  280. package/libs-ui/react-core/src/TabsHeading/index.d.ts +3 -3
  281. package/libs-ui/react-core/src/TabsList/index.d.ts +3 -3
  282. package/libs-ui/react-core/src/TabsListItem/index.d.ts +3 -3
  283. package/libs-ui/react-core/src/TabsPanel/index.d.ts +3 -3
  284. package/libs-ui/react-core/src/TextArea/index.d.ts +3 -3
  285. package/libs-ui/react-core/src/TextInput/index.d.ts +3 -3
  286. package/libs-ui/react-core/src/UncheckIcon/index.d.ts +4 -4
  287. package/libs-ui/react-core/src/VisuallyHidden/index.d.ts +3 -3
  288. package/libs-ui/react-core/src/WarningText/index.d.ts +3 -3
  289. package/package.json +3 -2
  290. package/types.js +5 -0
  291. package/utils.js +6 -4
  292. package/validators/index.js +181 -0
  293. package/validators/types.js +5 -0
  294. package/validators/utils/afm.js +45 -0
  295. package/validators/utils/file.js +62 -0
  296. package/validators/utils/iban.js +134 -0
  297. package/validators/utils/index.js +210 -0
  298. package/validators/utils/phone.js +144 -0
  299. package/validators/utils/postal_code.js +40 -0
  300. package/validators/utils/uuid4.js +30 -0
  301. package/validators/validators.spec.js +88 -0
  302. package/es/validators.js +0 -626
  303. package/esm/validators.js +0 -626
  304. package/libs/form/src/Field/ConditionalField.d.ts +0 -17
  305. package/libs/form/src/validators.d.ts +0 -14
  306. package/validators.js +0 -662
  307. package/validators.spec.js +0 -88
@@ -1,239 +1,14 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["required", "name", "component", "wrapper", "control", "type", "controlled", "enabled", "editable", "defaultValue", "label", "extra", "layout", "error", "register"],
4
- _excluded2 = ["name", "children"];
5
- import React, { useContext, useMemo } from 'react';
6
- import { ConditionalField } from '@digigov/form/Field/ConditionalField';
7
- import { Controller } from 'react-hook-form';
8
- import { FormContext } from '@digigov/form';
9
- import CoreField from '@digigov/react-core/Field';
10
- import CoreLabel from '@digigov/react-core/Label';
11
- import CoreFieldset from '@digigov/react-core/Fieldset';
12
- import Hint from '@digigov/react-core/Hint';
13
- import FieldsetLegend from '@digigov/react-core/FieldsetLegend';
14
- import ErrorMessage from '@digigov/react-core/ErrorMessage';
15
- import Input from '@digigov/form/inputs/Input';
16
- import Checkboxes from '@digigov/form/inputs/Checkboxes';
17
- import Radio from '@digigov/form/inputs/Radio';
18
- import Select from '@digigov/form/inputs/Select';
19
- import FileInput from '@digigov/form/inputs/FileInput';
20
- import DateInput from '@digigov/form/inputs/DateInput';
21
- import Label from '@digigov/form/inputs/Label';
22
- import { useTranslation } from '@digigov/ui/app/i18n';
23
- var FIELD_COMPONENTS = {
24
- text: {
25
- component: Input
26
- },
27
- string: {
28
- component: Input
29
- },
30
- file: {
31
- wrapper: 'fieldset',
32
- component: FileInput
33
- },
34
- date: {
35
- wrapper: 'fieldset',
36
- controlled: true,
37
- component: DateInput
38
- },
39
- 'choice:multiple': {
40
- wrapper: 'fieldset',
41
- controlled: true,
42
- component: Checkboxes
43
- },
44
- 'choice:single': {
45
- wrapper: 'fieldset',
46
- controlled: false,
47
- component: Radio
48
- }
49
- };
50
- var ALTERNATIVE_COMPONENTS = {
51
- Select: {
52
- component: Select,
53
- controlled: false
54
- }
55
- };
56
-
57
- var FieldContainer = function FieldContainer(_ref) {
3
+ var _excluded = ["name", "children"];
4
+ import React, { useMemo } from 'react';
5
+ import { FieldBase } from '@digigov/form/Field/FieldBase';
6
+ import FieldConditional from '@digigov/form/Field/FieldConditional';
7
+ import { useField, calculateField } from '@digigov/form/Field/utils';
8
+ export var Field = function Field(_ref) {
58
9
  var name = _ref.name,
59
- wrapper = _ref.wrapper,
60
- label = _ref.label,
61
10
  children = _ref.children,
62
- error = _ref.error;
63
-
64
- var _useTranslation = useTranslation(),
65
- t = _useTranslation.t;
66
-
67
- if (wrapper === 'fieldset') {
68
- return /*#__PURE__*/React.createElement(CoreField, {
69
- error: !!error
70
- }, /*#__PURE__*/React.createElement(CoreFieldset, null, /*#__PURE__*/React.createElement(FieldsetLegend, {
71
- size: "s"
72
- }, label && label.primary, label && label.secondary && /*#__PURE__*/React.createElement(Hint, null, t(label.secondary)), error && /*#__PURE__*/React.createElement(ErrorMessage, {
73
- id: "".concat(name, "-error")
74
- }, t((error === null || error === void 0 ? void 0 : error.message) || ''))), children));
75
- } else {
76
- return /*#__PURE__*/React.createElement(CoreField, {
77
- error: !!error
78
- }, /*#__PURE__*/React.createElement(CoreLabel, null, label && /*#__PURE__*/React.createElement(Label, {
79
- label: label
80
- }), error && /*#__PURE__*/React.createElement(ErrorMessage, {
81
- id: "".concat(name, "-error")
82
- }, t((error === null || error === void 0 ? void 0 : error.message) || '')), children));
83
- }
84
- };
85
-
86
- export var FieldBase = function FieldBase(props) {
87
- var required = props.required,
88
- name = props.name,
89
- Component = props.component,
90
- wrapper = props.wrapper,
91
- control = props.control,
92
- type = props.type,
93
- _props$controlled = props.controlled,
94
- controlled = _props$controlled === void 0 ? false : _props$controlled,
95
- _props$enabled = props.enabled,
96
- enabled = _props$enabled === void 0 ? true : _props$enabled,
97
- editable = props.editable,
98
- defaultValue = props.defaultValue,
99
- label = props.label,
100
- _props$extra = props.extra,
101
- extra = _props$extra === void 0 ? {} : _props$extra,
102
- layout = props.layout,
103
- error = props.error,
104
- register = props.register,
105
- componentProps = _objectWithoutProperties(props, _excluded);
106
-
107
- if (!enabled) {
108
- return null;
109
- }
110
-
111
- if (controlled) {
112
- return /*#__PURE__*/React.createElement(FieldContainer, {
113
- label: label,
114
- layout: layout,
115
- error: error,
116
- wrapper: wrapper,
117
- name: name
118
- }, /*#__PURE__*/React.createElement(Controller, {
119
- control: control,
120
- name: name,
121
- render: function render(_ref2) {
122
- var onChange = _ref2.onChange,
123
- onBlur = _ref2.onBlur,
124
- value = _ref2.value;
125
- return /*#__PURE__*/React.createElement(Component, _extends({
126
- name: name,
127
- onChange: onChange,
128
- onBlur: onBlur,
129
- value: value,
130
- defaultValue: defaultValue,
131
- extra: extra,
132
- error: !!error,
133
- type: type,
134
- "aria-required": !!required,
135
- "aria-describedby": error && "".concat(name, "-error"),
136
- required: required,
137
- disabled: editable === false
138
- }, componentProps));
139
- }
140
- }));
141
- }
142
-
143
- return /*#__PURE__*/React.createElement(FieldContainer, {
144
- label: label,
145
- layout: layout,
146
- error: error,
147
- wrapper: wrapper,
148
- name: name
149
- }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/React.createElement(Component, _extends({
150
- name: name,
151
- ref: register,
152
- control: control,
153
- error: !!error,
154
- extra: extra,
155
- type: type,
156
- "aria-required": !!required,
157
- "aria-describedby": error && "".concat(name, "-error"),
158
- required: required,
159
- disabled: editable === false
160
- }, componentProps)) : /*#__PURE__*/React.createElement(Component, _extends({
161
- name: name,
162
- register: register,
163
- control: control,
164
- error: !!error,
165
- extra: extra,
166
- type: type,
167
- "aria-required": !!required,
168
- "aria-describedby": error && "".concat(name, "-error"),
169
- required: required,
170
- disabled: editable === false
171
- }, componentProps)));
172
- };
173
-
174
- var useField = function useField(name, customField) {
175
- var _useContext = useContext(FormContext),
176
- fieldsMap = _useContext.fieldsMap,
177
- control = _useContext.control,
178
- register = _useContext.register,
179
- errors = _useContext.errors,
180
- registerField = _useContext.registerField,
181
- componentRegistry = _useContext.componentRegistry;
182
-
183
- useMemo(function () {
184
- return (customField === null || customField === void 0 ? void 0 : customField.type) && registerField(_extends({}, customField, {
185
- key: name
186
- }));
187
- }, [customField, name, registerField]);
188
- return {
189
- field: customField || fieldsMap[name],
190
- control: control,
191
- register: register,
192
- componentRegistry: componentRegistry,
193
- error: errors[name]
194
- };
195
- };
196
-
197
- function calculateField(children, field, componentRegistry) {
198
- var _field$extra;
199
-
200
- var calculatedField = _extends({}, field);
201
-
202
- var FieldComponentRegistry = _extends({}, FIELD_COMPONENTS, componentRegistry);
203
-
204
- if (children) {
205
- calculatedField.component = children;
206
- } else if (typeof field.component === 'function') {// leave as is
207
- } else if (!field.component && !field.type) {
208
- var _FieldComponentRegist;
209
-
210
- calculatedField.component = FieldComponentRegistry.string.component;
211
- calculatedField.controlled = ((_FieldComponentRegist = FieldComponentRegistry.string) === null || _FieldComponentRegist === void 0 ? void 0 : _FieldComponentRegist.controlled) || false;
212
- } else if (typeof (field === null || field === void 0 ? void 0 : (_field$extra = field.extra) === null || _field$extra === void 0 ? void 0 : _field$extra.component) === 'string' && ALTERNATIVE_COMPONENTS[field.extra.component]) {
213
- var _ALTERNATIVE_COMPONEN;
214
-
215
- calculatedField.controlled = ((_ALTERNATIVE_COMPONEN = ALTERNATIVE_COMPONENTS[field.extra.component]) === null || _ALTERNATIVE_COMPONEN === void 0 ? void 0 : _ALTERNATIVE_COMPONEN.controlled) || false;
216
- calculatedField.component = ALTERNATIVE_COMPONENTS[field.extra.component].component;
217
- } else if (!field.component && field.type && FieldComponentRegistry[field.type]) {
218
- var _FieldComponentRegist2;
219
-
220
- calculatedField.component = FieldComponentRegistry[field.type].component;
221
- calculatedField.wrapper = FieldComponentRegistry[field.type].wrapper;
222
- calculatedField.controlled = ((_FieldComponentRegist2 = FieldComponentRegistry[field.type]) === null || _FieldComponentRegist2 === void 0 ? void 0 : _FieldComponentRegist2.controlled) || false;
223
- } else {
224
- var _FieldComponentRegist3;
225
-
226
- calculatedField.component = FieldComponentRegistry.string.component;
227
- calculatedField.controlled = ((_FieldComponentRegist3 = FieldComponentRegistry.string) === null || _FieldComponentRegist3 === void 0 ? void 0 : _FieldComponentRegist3.controlled) || false;
228
- }
229
-
230
- return calculatedField;
231
- }
232
-
233
- export var Field = function Field(_ref3) {
234
- var name = _ref3.name,
235
- children = _ref3.children,
236
- customField = _objectWithoutProperties(_ref3, _excluded2);
11
+ customField = _objectWithoutProperties(_ref, _excluded);
237
12
 
238
13
  var _useField = useField(name, customField !== null && customField !== void 0 && customField.type ? customField : null),
239
14
  field = _useField.field,
@@ -247,7 +22,7 @@ export var Field = function Field(_ref3) {
247
22
  }, [field]);
248
23
 
249
24
  if (calculatedField.condition) {
250
- return /*#__PURE__*/React.createElement(ConditionalField, {
25
+ return /*#__PURE__*/React.createElement(FieldConditional, {
251
26
  control: control,
252
27
  register: register,
253
28
  field: calculatedField,
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,122 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import { useContext, useMemo } from 'react';
3
+ import Input from '@digigov/form/inputs/Input';
4
+ import Checkboxes from '@digigov/form/inputs/Checkboxes';
5
+ import Radio from '@digigov/form/inputs/Radio';
6
+ import Select from '@digigov/form/inputs/Select';
7
+ import FileInput from '@digigov/form/inputs/FileInput';
8
+ import DateInput from '@digigov/form/inputs/DateInput';
9
+ import { FormContext } from '@digigov/form/FormContext';
10
+ var FIELD_COMPONENTS = {
11
+ text: {
12
+ component: Input
13
+ },
14
+ string: {
15
+ component: Input
16
+ },
17
+ file: {
18
+ wrapper: 'fieldset',
19
+ component: FileInput
20
+ },
21
+ date: {
22
+ wrapper: 'fieldset',
23
+ controlled: true,
24
+ component: DateInput
25
+ },
26
+ 'choice:multiple': {
27
+ wrapper: 'fieldset',
28
+ controlled: true,
29
+ component: Checkboxes
30
+ },
31
+ 'choice:single': {
32
+ wrapper: 'fieldset',
33
+ controlled: false,
34
+ component: Radio
35
+ }
36
+ };
37
+ var ALTERNATIVE_COMPONENTS = {
38
+ Select: {
39
+ component: Select,
40
+ controlled: false
41
+ }
42
+ };
43
+ export function calculateField(children, field, componentRegistry) {
44
+ var _field$extra;
45
+
46
+ var calculatedField = _extends({}, field);
47
+
48
+ var fieldComponentRegistry = _extends({}, FIELD_COMPONENTS, componentRegistry);
49
+
50
+ if (children) {
51
+ calculatedField.component = children;
52
+ } else if (typeof field.component === 'function') {// leave as is
53
+ } else if (!field.component && !field.type) {
54
+ var _fieldComponentRegist;
55
+
56
+ calculatedField.component = fieldComponentRegistry.string.component;
57
+ calculatedField.controlled = ((_fieldComponentRegist = fieldComponentRegistry.string) === null || _fieldComponentRegist === void 0 ? void 0 : _fieldComponentRegist.controlled) || false;
58
+ } else if (typeof (field === null || field === void 0 ? void 0 : (_field$extra = field.extra) === null || _field$extra === void 0 ? void 0 : _field$extra.component) === 'string' && ALTERNATIVE_COMPONENTS[field.extra.component]) {
59
+ var _ALTERNATIVE_COMPONEN;
60
+
61
+ calculatedField.controlled = ((_ALTERNATIVE_COMPONEN = ALTERNATIVE_COMPONENTS[field.extra.component]) === null || _ALTERNATIVE_COMPONEN === void 0 ? void 0 : _ALTERNATIVE_COMPONEN.controlled) || false;
62
+ calculatedField.component = ALTERNATIVE_COMPONENTS[field.extra.component].component;
63
+ } else if (!field.component && field.type && fieldComponentRegistry[field.type]) {
64
+ var _fieldComponentRegist2;
65
+
66
+ calculatedField.component = fieldComponentRegistry[field.type].component;
67
+ calculatedField.wrapper = fieldComponentRegistry[field.type].wrapper;
68
+ calculatedField.controlled = ((_fieldComponentRegist2 = fieldComponentRegistry[field.type]) === null || _fieldComponentRegist2 === void 0 ? void 0 : _fieldComponentRegist2.controlled) || false;
69
+ } else {
70
+ var _fieldComponentRegist3;
71
+
72
+ calculatedField.component = fieldComponentRegistry.string.component;
73
+ calculatedField.controlled = ((_fieldComponentRegist3 = fieldComponentRegistry.string) === null || _fieldComponentRegist3 === void 0 ? void 0 : _fieldComponentRegist3.controlled) || false;
74
+ }
75
+
76
+ return calculatedField;
77
+ }
78
+ export var useField = function useField(name, customField) {
79
+ var _useContext = useContext(FormContext),
80
+ fieldsMap = _useContext.fieldsMap,
81
+ control = _useContext.control,
82
+ register = _useContext.register,
83
+ errors = _useContext.errors,
84
+ registerField = _useContext.registerField,
85
+ componentRegistry = _useContext.componentRegistry;
86
+
87
+ useMemo(function () {
88
+ return (customField === null || customField === void 0 ? void 0 : customField.type) && registerField(_extends({}, customField, {
89
+ key: name
90
+ }));
91
+ }, [customField, name, registerField]);
92
+ return {
93
+ field: customField || fieldsMap[name],
94
+ control: control,
95
+ register: register,
96
+ componentRegistry: componentRegistry,
97
+ error: errors[name]
98
+ };
99
+ };
100
+ export function evaluateFieldWithConditions(field, variables) {
101
+ var newField = _extends({}, field);
102
+
103
+ if (variables) {
104
+ for (var key in variables) {
105
+ if (field.condition[key] && field.condition[key].is === variables[key]) {
106
+ var then = field.condition[key].then || {};
107
+
108
+ for (var attr in then) {
109
+ newField[attr] = then[attr];
110
+ }
111
+ } else if (field.condition[key]) {
112
+ var otherwise = field.condition[key]["else"] || {};
113
+
114
+ for (var _attr in otherwise) {
115
+ newField[_attr] = otherwise[_attr];
116
+ }
117
+ }
118
+ }
119
+ }
120
+
121
+ return newField;
122
+ }
@@ -0,0 +1,41 @@
1
+ import React, { useContext, useMemo } from 'react';
2
+ import { FormContext } from '@digigov/form/FormContext';
3
+ import Field from '@digigov/form/Field';
4
+ import { useTranslation } from '@digigov/ui/app/i18n';
5
+ import { Fieldset, FieldsetLabel, FieldsetCaption, FieldsetBody } from '@digigov/form/Fieldset/';
6
+ export var FieldsetWithContext = function FieldsetWithContext(_ref) {
7
+ var name = _ref.name;
8
+
9
+ var _useFieldset = useFieldset(name),
10
+ label = _useFieldset.label,
11
+ body = _useFieldset.body,
12
+ fields = _useFieldset.fields;
13
+
14
+ var _useTranslation = useTranslation(),
15
+ t = _useTranslation.t;
16
+
17
+ var _ref2 = /*#__PURE__*/React.createElement(FieldsetBody, null, body);
18
+
19
+ return useMemo(function () {
20
+ return /*#__PURE__*/React.createElement(Fieldset, null, (label === null || label === void 0 ? void 0 : label.primary) && /*#__PURE__*/React.createElement(FieldsetLabel, null, t(label.primary)), (label === null || label === void 0 ? void 0 : label.secondary) && /*#__PURE__*/React.createElement(FieldsetCaption, null, t(label.secondary)), body && _ref2, fields.map(function (field) {
21
+ return /*#__PURE__*/React.createElement(Field, {
22
+ key: field,
23
+ name: field
24
+ });
25
+ }));
26
+ }, [label === null || label === void 0 ? void 0 : label.primary, label === null || label === void 0 ? void 0 : label.secondary, body, fields]);
27
+ };
28
+
29
+ var useFieldset = function useFieldset(name) {
30
+ var _useContext = useContext(FormContext),
31
+ fieldsetsMap = _useContext.fieldsetsMap;
32
+
33
+ if (fieldsetsMap && fieldsetsMap[name]) {
34
+ return useMemo(function () {
35
+ return fieldsetsMap[name];
36
+ }, [name]);
37
+ } else {
38
+ if (!fieldsetsMap) throw new Error("Fieldsets is not defined");
39
+ throw new Error("No fieldset with name ".concat(name, " found"));
40
+ }
41
+ };
@@ -1,12 +1,9 @@
1
- import React, { useContext, useMemo } from 'react';
1
+ import React from 'react';
2
2
  import Grid from '@digigov/ui/layouts/Grid';
3
3
  import CoreFieldset from '@digigov/react-core/Fieldset';
4
4
  import FieldsetLegend from '@digigov/react-core/FieldsetLegend';
5
5
  import Hint from '@digigov/react-core/Hint';
6
- import { FormContext } from '@digigov/form';
7
- import Field from '@digigov/form/Field';
8
6
  import NormalText from '@digigov/ui/typography/NormalText';
9
- import { useTranslation } from '@digigov/ui/app/i18n';
10
7
  export var FieldsetLabel = function FieldsetLabel(_ref) {
11
8
  var children = _ref.children;
12
9
  return /*#__PURE__*/React.createElement(FieldsetLegend, {
@@ -25,53 +22,8 @@ export var FieldsetBody = function FieldsetBody(_ref3) {
25
22
  xs: 12
26
23
  }, /*#__PURE__*/React.createElement(NormalText, null, children));
27
24
  };
28
-
29
- var useFieldset = function useFieldset(name) {
30
- var _useContext = useContext(FormContext),
31
- fieldsetsMap = _useContext.fieldsetsMap;
32
-
33
- if (fieldsetsMap && fieldsetsMap[name]) {
34
- return useMemo(function () {
35
- return fieldsetsMap[name];
36
- }, [name]);
37
- } else {
38
- if (!fieldsetsMap) throw new Error("Fieldsets is not defined");
39
- throw new Error("No fieldset with name ".concat(name, " found"));
40
- }
41
- };
42
-
43
- export var FieldsetWithContext = function FieldsetWithContext(_ref4) {
44
- var name = _ref4.name;
45
-
46
- var _useFieldset = useFieldset(name),
47
- label = _useFieldset.label,
48
- body = _useFieldset.body,
49
- fields = _useFieldset.fields;
50
-
51
- var _useTranslation = useTranslation(),
52
- t = _useTranslation.t;
53
-
54
- var _ref5 = /*#__PURE__*/React.createElement(FieldsetBody, null, body);
55
-
56
- return useMemo(function () {
57
- return /*#__PURE__*/React.createElement(Fieldset, null, (label === null || label === void 0 ? void 0 : label.primary) && /*#__PURE__*/React.createElement(FieldsetLabel, null, t(label.primary)), (label === null || label === void 0 ? void 0 : label.secondary) && /*#__PURE__*/React.createElement(FieldsetCaption, null, t(label.secondary)), body && _ref5, fields.map(function (field) {
58
- return /*#__PURE__*/React.createElement(Field, {
59
- key: field,
60
- name: field
61
- });
62
- }));
63
- }, [label === null || label === void 0 ? void 0 : label.primary, label === null || label === void 0 ? void 0 : label.secondary, body, fields]);
64
- };
65
- export var Fieldset = function Fieldset(_ref6) {
66
- var name = _ref6.name,
67
- children = _ref6.children;
68
-
69
- if (name && !children) {
70
- return /*#__PURE__*/React.createElement(FieldsetWithContext, {
71
- name: name
72
- });
73
- }
74
-
25
+ export var Fieldset = function Fieldset(_ref4) {
26
+ var children = _ref4.children;
75
27
  return /*#__PURE__*/React.createElement(CoreFieldset, null, children);
76
28
  };
77
29
  export default Fieldset;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,148 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _extends from "@babel/runtime/helpers/extends";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _excluded = ["onSubmit", "children", "registerField", "fieldsMap", "fieldsetsMap", "resolver", "mode", "initial", "reValidateMode", "shouldFocusError", "criteriaMode", "componentRegistry", "grid"],
6
+ _excluded2 = ["fields", "fieldsets", "initial", "onSubmit", "children", "reValidateMode", "mode", "shouldFocusError", "criteriaMode", "auto", "validatorRegistry", "componentRegistry", "grid"];
7
+
8
+ /* eslint-disable @typescript-eslint/no-explicit-any */
9
+ import React, { useCallback, useRef } from 'react';
10
+ import { useForm } from 'react-hook-form';
11
+ import { yupResolver } from '@digigov/form/utils';
12
+ import { useValidationSchema } from '@digigov/form/validators';
13
+ import Fieldset from '@digigov/form/Fieldset';
14
+ import Field from '@digigov/form/Field';
15
+ import { FormContext } from '@digigov/form/FormContext';
16
+ import { Form } from '@digigov/react-core/Form';
17
+ export var FormBase = /*#__PURE__*/React.forwardRef(function FormBase(_ref, ref) {
18
+ var onSubmit = _ref.onSubmit,
19
+ children = _ref.children,
20
+ registerField = _ref.registerField,
21
+ fieldsMap = _ref.fieldsMap,
22
+ fieldsetsMap = _ref.fieldsetsMap,
23
+ resolver = _ref.resolver,
24
+ mode = _ref.mode,
25
+ initial = _ref.initial,
26
+ reValidateMode = _ref.reValidateMode,
27
+ shouldFocusError = _ref.shouldFocusError,
28
+ criteriaMode = _ref.criteriaMode,
29
+ componentRegistry = _ref.componentRegistry,
30
+ grid = _ref.grid,
31
+ props = _objectWithoutProperties(_ref, _excluded);
32
+
33
+ var form = useForm({
34
+ resolver: resolver,
35
+ mode: mode,
36
+ defaultValues: initial,
37
+ reValidateMode: reValidateMode,
38
+ shouldFocusError: shouldFocusError,
39
+ criteriaMode: criteriaMode
40
+ });
41
+ var handleSubmit = useCallback(function (data) {
42
+ var errors = onSubmit && onSubmit(data);
43
+
44
+ if (errors) {
45
+ for (var key in errors) {
46
+ form.setError(key, errors[key]);
47
+ }
48
+ }
49
+ }, [onSubmit]);
50
+ var ctx = {
51
+ fieldsMap: fieldsMap,
52
+ fieldsetsMap: fieldsetsMap,
53
+ control: form.control,
54
+ register: form.register,
55
+ registerField: registerField,
56
+ errors: form.errors,
57
+ reset: form.reset,
58
+ componentRegistry: componentRegistry
59
+ };
60
+ return /*#__PURE__*/React.createElement(FormContext.Provider, {
61
+ value: ctx
62
+ }, /*#__PURE__*/React.createElement(Form, _extends({
63
+ grid: grid,
64
+ onSubmit: form.handleSubmit(handleSubmit),
65
+ ref: ref
66
+ }, props), children));
67
+ });
68
+ export var FormBuilder = /*#__PURE__*/React.forwardRef(function FormBuilder(_ref2, ref) {
69
+ var _ref2$fields = _ref2.fields,
70
+ fields = _ref2$fields === void 0 ? [] : _ref2$fields,
71
+ fieldsets = _ref2.fieldsets,
72
+ _ref2$initial = _ref2.initial,
73
+ initial = _ref2$initial === void 0 ? {} : _ref2$initial,
74
+ onSubmit = _ref2.onSubmit,
75
+ children = _ref2.children,
76
+ _ref2$reValidateMode = _ref2.reValidateMode,
77
+ reValidateMode = _ref2$reValidateMode === void 0 ? 'onSubmit' : _ref2$reValidateMode,
78
+ _ref2$mode = _ref2.mode,
79
+ mode = _ref2$mode === void 0 ? 'onSubmit' : _ref2$mode,
80
+ _ref2$shouldFocusErro = _ref2.shouldFocusError,
81
+ shouldFocusError = _ref2$shouldFocusErro === void 0 ? true : _ref2$shouldFocusErro,
82
+ _ref2$criteriaMode = _ref2.criteriaMode,
83
+ criteriaMode = _ref2$criteriaMode === void 0 ? 'firstError' : _ref2$criteriaMode,
84
+ _ref2$auto = _ref2.auto,
85
+ auto = _ref2$auto === void 0 ? false : _ref2$auto,
86
+ validatorRegistry = _ref2.validatorRegistry,
87
+ componentRegistry = _ref2.componentRegistry,
88
+ _ref2$grid = _ref2.grid,
89
+ grid = _ref2$grid === void 0 ? false : _ref2$grid,
90
+ props = _objectWithoutProperties(_ref2, _excluded2);
91
+
92
+ var fieldsState = useRef(fields);
93
+ var setFieldsState = useCallback(function (newFields) {
94
+ fieldsState.current = newFields;
95
+ }, []);
96
+ var schema = useValidationSchema(fieldsState, validatorRegistry);
97
+ var registerField = useCallback(function (field) {
98
+ setFieldsState([].concat(_toConsumableArray(fieldsState.current), [field]));
99
+ }, []);
100
+ var resolver;
101
+ var fieldsMap;
102
+ var fieldsetsMap;
103
+ var fieldChildren;
104
+
105
+ if (schema) {
106
+ resolver = yupResolver(schema);
107
+ fieldsMap = fields ? fields.reduce(function (map, field) {
108
+ return _extends({}, map, _defineProperty({}, field.key, field));
109
+ }, {}) : {};
110
+ fieldsetsMap = fieldsets && fieldsets.reduce(function (map, fieldset) {
111
+ return _extends({}, map, _defineProperty({}, fieldset.key, fieldset));
112
+ }, {});
113
+
114
+ if (auto) {
115
+ if (fieldsets) {
116
+ fieldChildren = fieldsets.map(function (fieldset) {
117
+ return /*#__PURE__*/React.createElement(Fieldset, {
118
+ key: fieldset.key
119
+ });
120
+ });
121
+ } else if (fields) {
122
+ fieldChildren = fields.map(function (field) {
123
+ return /*#__PURE__*/React.createElement(Field, {
124
+ key: field.key,
125
+ name: field.key
126
+ });
127
+ });
128
+ }
129
+ }
130
+ }
131
+
132
+ return /*#__PURE__*/React.createElement(FormBase, _extends({
133
+ resolver: resolver,
134
+ fieldsetsMap: fieldsetsMap,
135
+ fieldsMap: fieldsMap,
136
+ registerField: registerField,
137
+ initial: initial,
138
+ reValidateMode: reValidateMode,
139
+ mode: mode,
140
+ shouldFocusError: shouldFocusError,
141
+ criteriaMode: criteriaMode,
142
+ onSubmit: onSubmit,
143
+ componentRegistry: componentRegistry,
144
+ ref: ref,
145
+ grid: grid
146
+ }, props), fieldChildren, children);
147
+ });
148
+ export default FormBuilder;
@@ -0,0 +1,5 @@
1
+ import { createContext } from 'react';
2
+ export var FormContext = /*#__PURE__*/createContext({
3
+ fieldsMap: {},
4
+ fieldsetsMap: {}
5
+ });