@digigov/form 0.7.1 → 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 (243) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/Field/FieldBase.js +3 -11
  3. package/Field/FieldContainer.js +6 -3
  4. package/Field/index.js +37 -1
  5. package/Field/utils.js +17 -1
  6. package/FieldArray/FieldArray.stories.js +44 -0
  7. package/FieldArray/__stories__/Default.js +109 -0
  8. package/FieldArray/__stories__/WithExactLength.js +108 -0
  9. package/FieldArray/index.js +88 -0
  10. package/FieldObject/index.js +80 -0
  11. package/FormBuilder.js +22 -12
  12. package/MultiplicityField/MultiplicityField.stories.js +86 -0
  13. package/MultiplicityField/__stories__/Default.js +121 -0
  14. package/MultiplicityField/__stories__/WithExactLength.js +116 -0
  15. package/MultiplicityField/__stories__/WithMaxLength.js +119 -0
  16. package/MultiplicityField/__stories__/WithMinAndMaxLength.js +120 -0
  17. package/MultiplicityField/__stories__/WithMinLength.js +119 -0
  18. package/MultiplicityField/add-objects.js +180 -0
  19. package/MultiplicityField/index.js +146 -0
  20. package/es/Field/FieldBase.js +3 -11
  21. package/es/Field/FieldContainer.js +6 -3
  22. package/es/Field/index.js +35 -1
  23. package/es/Field/utils.js +17 -1
  24. package/es/FieldArray/FieldArray.stories.js +7 -0
  25. package/es/FieldArray/__stories__/Default.js +88 -0
  26. package/es/FieldArray/__stories__/WithExactLength.js +87 -0
  27. package/es/FieldArray/index.js +65 -0
  28. package/es/FieldObject/index.js +55 -0
  29. package/es/FormBuilder.js +22 -11
  30. package/es/MultiplicityField/MultiplicityField.stories.js +10 -0
  31. package/es/MultiplicityField/__stories__/Default.js +100 -0
  32. package/es/MultiplicityField/__stories__/WithExactLength.js +95 -0
  33. package/es/MultiplicityField/__stories__/WithMaxLength.js +98 -0
  34. package/es/MultiplicityField/__stories__/WithMinAndMaxLength.js +99 -0
  35. package/es/MultiplicityField/__stories__/WithMinLength.js +98 -0
  36. package/es/MultiplicityField/add-objects.js +156 -0
  37. package/es/MultiplicityField/index.js +116 -0
  38. package/es/inputs/Radio/index.js +8 -13
  39. package/es/internal.js +2 -0
  40. package/es/utils.js +61 -46
  41. package/es/validators/index.js +26 -10
  42. package/es/validators/utils/index.js +1 -19
  43. package/esm/Field/FieldBase.js +3 -11
  44. package/esm/Field/FieldContainer.js +6 -3
  45. package/esm/Field/index.js +35 -1
  46. package/esm/Field/utils.js +17 -1
  47. package/esm/FieldArray/FieldArray.stories.js +7 -0
  48. package/esm/FieldArray/__stories__/Default.js +88 -0
  49. package/esm/FieldArray/__stories__/WithExactLength.js +87 -0
  50. package/esm/FieldArray/index.js +65 -0
  51. package/esm/FieldObject/index.js +55 -0
  52. package/esm/FormBuilder.js +22 -11
  53. package/esm/MultiplicityField/MultiplicityField.stories.js +10 -0
  54. package/esm/MultiplicityField/__stories__/Default.js +100 -0
  55. package/esm/MultiplicityField/__stories__/WithExactLength.js +95 -0
  56. package/esm/MultiplicityField/__stories__/WithMaxLength.js +98 -0
  57. package/esm/MultiplicityField/__stories__/WithMinAndMaxLength.js +99 -0
  58. package/esm/MultiplicityField/__stories__/WithMinLength.js +98 -0
  59. package/esm/MultiplicityField/add-objects.js +156 -0
  60. package/esm/MultiplicityField/index.js +116 -0
  61. package/esm/index.js +1 -1
  62. package/esm/inputs/Radio/index.js +8 -13
  63. package/esm/internal.js +2 -0
  64. package/esm/utils.js +61 -46
  65. package/esm/validators/index.js +26 -10
  66. package/esm/validators/utils/index.js +1 -19
  67. package/inputs/Radio/index.js +8 -20
  68. package/internal.js +21 -0
  69. package/libs/form/src/Field/types.d.ts +21 -13
  70. package/libs/form/src/FieldArray/FieldArray.stories.d.ts +8 -0
  71. package/libs/form/src/FieldArray/__stories__/Default.d.ts +1 -0
  72. package/libs/form/src/FieldArray/__stories__/WithExactLength.d.ts +1 -0
  73. package/libs/form/src/FieldArray/index.d.ts +11 -0
  74. package/libs/form/src/FieldObject/index.d.ts +20 -0
  75. package/libs/form/src/MultiplicityField/MultiplicityField.stories.d.ts +11 -0
  76. package/libs/form/src/MultiplicityField/__stories__/Default.d.ts +1 -0
  77. package/libs/form/src/MultiplicityField/__stories__/WithExactLength.d.ts +1 -0
  78. package/libs/form/src/MultiplicityField/__stories__/WithMaxLength.d.ts +1 -0
  79. package/libs/form/src/MultiplicityField/__stories__/WithMinAndMaxLength.d.ts +1 -0
  80. package/libs/form/src/MultiplicityField/__stories__/WithMinLength.d.ts +1 -0
  81. package/libs/form/src/MultiplicityField/add-objects.d.ts +13 -0
  82. package/libs/form/src/MultiplicityField/index.d.ts +32 -0
  83. package/libs/form/src/inputs/Label/index.d.ts +1 -0
  84. package/libs/form/src/internal.d.ts +2 -0
  85. package/libs/form/src/types.d.ts +19 -11
  86. package/libs/form/src/utils.d.ts +8 -3
  87. package/libs/form/src/validators/index.d.ts +4 -3
  88. package/libs/form/src/validators/types.d.ts +1 -1
  89. package/libs/form/src/validators/utils/file.d.ts +3 -1
  90. package/libs/form/src/validators/utils/iban.d.ts +3 -1
  91. package/libs/form/src/validators/utils/index.d.ts +15 -3
  92. package/libs/form/src/validators/utils/phone.d.ts +3 -1
  93. package/libs/form/src/validators/utils/postal_code.d.ts +3 -1
  94. package/libs/ui/src/app/i18n.d.ts +2 -2
  95. package/libs/ui/src/core/Accordion/index.d.ts +3 -3
  96. package/libs/ui/src/core/Blockquote/index.d.ts +1 -1
  97. package/libs/ui/src/core/Button/BackButton.d.ts +1 -1
  98. package/libs/ui/src/core/Button/ButtonLink.d.ts +1 -1
  99. package/libs/ui/src/core/Button/index.d.ts +1 -1
  100. package/libs/ui/src/core/Divider/index.d.ts +1 -1
  101. package/libs/ui/src/locales/el.d.ts +6 -0
  102. package/libs/ui/src/typography/Caption/index.d.ts +1 -1
  103. package/libs-ui/react-core/src/Accordion/index.d.ts +1 -1
  104. package/libs-ui/react-core/src/AccordionControls/index.d.ts +1 -1
  105. package/libs-ui/react-core/src/AccordionSection/index.d.ts +1 -1
  106. package/libs-ui/react-core/src/AccordionSectionContent/index.d.ts +1 -1
  107. package/libs-ui/react-core/src/AccordionSectionHeader/index.d.ts +1 -1
  108. package/libs-ui/react-core/src/AccordionSectionSummary/index.d.ts +1 -1
  109. package/libs-ui/react-core/src/AccordionSectionSummaryHeading/index.d.ts +1 -1
  110. package/libs-ui/react-core/src/Aside/index.d.ts +10 -0
  111. package/libs-ui/react-core/src/BackLink/index.d.ts +1 -1
  112. package/libs-ui/react-core/src/Blockquote/index.d.ts +1 -1
  113. package/libs-ui/react-core/src/Bottom/index.d.ts +9 -0
  114. package/libs-ui/react-core/src/Breadcrumbs/index.d.ts +1 -1
  115. package/libs-ui/react-core/src/BreadcrumbsList/index.d.ts +1 -1
  116. package/libs-ui/react-core/src/BreadcrumbsListItem/index.d.ts +1 -1
  117. package/libs-ui/react-core/src/Button/index.d.ts +1 -1
  118. package/libs-ui/react-core/src/ButtonGroup/index.d.ts +1 -1
  119. package/libs-ui/react-core/src/ButtonLink/index.d.ts +1 -1
  120. package/libs-ui/react-core/src/CallToAction/index.d.ts +1 -1
  121. package/libs-ui/react-core/src/Card/index.d.ts +1 -1
  122. package/libs-ui/react-core/src/CardAction/index.d.ts +1 -1
  123. package/libs-ui/react-core/src/CardHeading/index.d.ts +1 -1
  124. package/libs-ui/react-core/src/CardText/index.d.ts +1 -1
  125. package/libs-ui/react-core/src/Checkbox/index.d.ts +1 -1
  126. package/libs-ui/react-core/src/CheckboxConditional/index.d.ts +11 -0
  127. package/libs-ui/react-core/src/CheckboxItem/index.d.ts +1 -1
  128. package/libs-ui/react-core/src/Confirmation/index.d.ts +1 -1
  129. package/libs-ui/react-core/src/ConfirmationBody/index.d.ts +1 -1
  130. package/libs-ui/react-core/src/ConfirmationTitle/index.d.ts +1 -1
  131. package/libs-ui/react-core/src/Container/index.d.ts +17 -0
  132. package/libs-ui/react-core/src/Copyright/index.d.ts +10 -0
  133. package/libs-ui/react-core/src/DateInput/index.d.ts +1 -1
  134. package/libs-ui/react-core/src/DateInputItem/index.d.ts +1 -1
  135. package/libs-ui/react-core/src/Details/index.d.ts +1 -1
  136. package/libs-ui/react-core/src/DetailsContent/index.d.ts +1 -1
  137. package/libs-ui/react-core/src/DetailsSummary/index.d.ts +1 -1
  138. package/libs-ui/react-core/src/ErrorMessage/index.d.ts +1 -1
  139. package/libs-ui/react-core/src/ErrorSummary/index.d.ts +1 -1
  140. package/libs-ui/react-core/src/Field/index.d.ts +1 -1
  141. package/libs-ui/react-core/src/Fieldset/index.d.ts +1 -1
  142. package/libs-ui/react-core/src/FieldsetLegend/index.d.ts +1 -1
  143. package/libs-ui/react-core/src/FileUpload/index.d.ts +1 -1
  144. package/libs-ui/react-core/src/Footer/index.d.ts +9 -0
  145. package/libs-ui/react-core/src/FooterContainer/index.d.ts +16 -0
  146. package/libs-ui/react-core/src/FooterContent/index.d.ts +10 -0
  147. package/libs-ui/react-core/src/FooterContentLogos/index.d.ts +11 -0
  148. package/libs-ui/react-core/src/FooterHeading/index.d.ts +15 -0
  149. package/libs-ui/react-core/src/FooterImage/index.d.ts +15 -0
  150. package/libs-ui/react-core/src/FooterInlineList/index.d.ts +11 -0
  151. package/libs-ui/react-core/src/FooterInlineListItem/index.d.ts +9 -0
  152. package/libs-ui/react-core/src/FooterLink/index.d.ts +13 -0
  153. package/libs-ui/react-core/src/FooterList/index.d.ts +15 -0
  154. package/libs-ui/react-core/src/FooterListItem/index.d.ts +10 -0
  155. package/libs-ui/react-core/src/FooterMeta/index.d.ts +11 -0
  156. package/libs-ui/react-core/src/FooterMetaItem/index.d.ts +14 -0
  157. package/libs-ui/react-core/src/FooterNavigation/index.d.ts +11 -0
  158. package/libs-ui/react-core/src/FooterSection/index.d.ts +11 -0
  159. package/libs-ui/react-core/src/Form/index.d.ts +1 -1
  160. package/libs-ui/react-core/src/GovGRFooter/index.d.ts +9 -0
  161. package/libs-ui/react-core/src/GovGRLogo/index.d.ts +9 -0
  162. package/libs-ui/react-core/src/Grid/index.d.ts +1 -1
  163. package/libs-ui/react-core/src/Header/index.d.ts +10 -0
  164. package/libs-ui/react-core/src/HeaderContent/index.d.ts +9 -0
  165. package/libs-ui/react-core/src/HeaderLogo/index.d.ts +21 -0
  166. package/libs-ui/react-core/src/HeaderSecondaryLogo/index.d.ts +21 -0
  167. package/libs-ui/react-core/src/HeaderSection/index.d.ts +9 -0
  168. package/libs-ui/react-core/src/HeaderSubtitle/index.d.ts +9 -0
  169. package/libs-ui/react-core/src/HeaderTitle/index.d.ts +13 -0
  170. package/libs-ui/react-core/src/Heading/index.d.ts +1 -1
  171. package/libs-ui/react-core/src/HeadingCaption/index.d.ts +1 -1
  172. package/libs-ui/react-core/src/HellenicRepublicLogo/index.d.ts +20 -0
  173. package/libs-ui/react-core/src/HellenicRepublicLogo/logo-el.d.ts +2 -0
  174. package/libs-ui/react-core/src/HellenicRepublicLogo/logo-en.d.ts +2 -0
  175. package/libs-ui/react-core/src/Hidden/index.d.ts +1 -1
  176. package/libs-ui/react-core/src/Hint/index.d.ts +1 -1
  177. package/libs-ui/react-core/src/Label/index.d.ts +1 -1
  178. package/libs-ui/react-core/src/LabelTitle/index.d.ts +1 -1
  179. package/libs-ui/react-core/src/Layout/index.d.ts +10 -0
  180. package/libs-ui/react-core/src/Link/index.d.ts +1 -1
  181. package/libs-ui/react-core/src/List/index.d.ts +1 -1
  182. package/libs-ui/react-core/src/ListItem/index.d.ts +1 -1
  183. package/libs-ui/react-core/src/Main/index.d.ts +9 -0
  184. package/libs-ui/react-core/src/Masthead/index.d.ts +9 -0
  185. package/libs-ui/react-core/src/MastheadBody/index.d.ts +9 -0
  186. package/libs-ui/react-core/src/NavHorizontal/index.d.ts +1 -1
  187. package/libs-ui/react-core/src/NavHorizontalList/index.d.ts +1 -1
  188. package/libs-ui/react-core/src/NavHorizontalListItem/index.d.ts +1 -1
  189. package/libs-ui/react-core/src/NavVertical/index.d.ts +1 -1
  190. package/libs-ui/react-core/src/NavVerticalItem/index.d.ts +1 -1
  191. package/libs-ui/react-core/src/NormalText/index.d.ts +1 -1
  192. package/libs-ui/react-core/src/NotificationBanner/index.d.ts +1 -1
  193. package/libs-ui/react-core/src/NotificationBannerContent/index.d.ts +1 -1
  194. package/libs-ui/react-core/src/NotificationBannerHeader/index.d.ts +1 -1
  195. package/libs-ui/react-core/src/NotificationBannerHeading/index.d.ts +1 -1
  196. package/libs-ui/react-core/src/NotificationBannerLink/index.d.ts +1 -1
  197. package/libs-ui/react-core/src/PageTitle/index.d.ts +9 -0
  198. package/libs-ui/react-core/src/PageTitleCaption/index.d.ts +14 -0
  199. package/libs-ui/react-core/src/PageTitleHeading/index.d.ts +13 -0
  200. package/libs-ui/react-core/src/PageTitleSection/index.d.ts +10 -0
  201. package/libs-ui/react-core/src/Paragraph/index.d.ts +1 -1
  202. package/libs-ui/react-core/src/PhaseBanner/index.d.ts +1 -1
  203. package/libs-ui/react-core/src/PhaseBannerHeaderContainer/index.d.ts +1 -1
  204. package/libs-ui/react-core/src/PhaseBannerTag/index.d.ts +1 -1
  205. package/libs-ui/react-core/src/PhaseBannerText/index.d.ts +1 -1
  206. package/libs-ui/react-core/src/Radio/index.d.ts +1 -1
  207. package/libs-ui/react-core/src/RadioConditional/index.d.ts +11 -0
  208. package/libs-ui/react-core/src/RadioItem/index.d.ts +1 -1
  209. package/libs-ui/react-core/src/SectionBreak/index.d.ts +1 -1
  210. package/libs-ui/react-core/src/Select/index.d.ts +1 -1
  211. package/libs-ui/react-core/src/SelectOption/index.d.ts +1 -1
  212. package/libs-ui/react-core/src/ServiceBadge/index.d.ts +11 -0
  213. package/libs-ui/react-core/src/SkipLink/index.d.ts +1 -1
  214. package/libs-ui/react-core/src/SummaryList/index.d.ts +1 -1
  215. package/libs-ui/react-core/src/SummaryListItem/index.d.ts +1 -1
  216. package/libs-ui/react-core/src/SummaryListItemAction/index.d.ts +1 -1
  217. package/libs-ui/react-core/src/SummaryListItemKey/index.d.ts +1 -1
  218. package/libs-ui/react-core/src/SummaryListItemValue/index.d.ts +1 -1
  219. package/libs-ui/react-core/src/SvgIcon/index.d.ts +1 -1
  220. package/libs-ui/react-core/src/Table/index.d.ts +1 -1
  221. package/libs-ui/react-core/src/TableBody/index.d.ts +1 -1
  222. package/libs-ui/react-core/src/TableCaption/index.d.ts +1 -1
  223. package/libs-ui/react-core/src/TableContainer/index.d.ts +1 -1
  224. package/libs-ui/react-core/src/TableDataCell/index.d.ts +1 -1
  225. package/libs-ui/react-core/src/TableHead/index.d.ts +1 -1
  226. package/libs-ui/react-core/src/TableHeadCell/index.d.ts +1 -1
  227. package/libs-ui/react-core/src/TableNoDataRow/index.d.ts +1 -1
  228. package/libs-ui/react-core/src/TableRow/index.d.ts +1 -1
  229. package/libs-ui/react-core/src/Tabs/index.d.ts +1 -1
  230. package/libs-ui/react-core/src/TabsHeading/index.d.ts +1 -1
  231. package/libs-ui/react-core/src/TabsList/index.d.ts +1 -1
  232. package/libs-ui/react-core/src/TabsListItem/index.d.ts +1 -1
  233. package/libs-ui/react-core/src/TabsPanel/index.d.ts +1 -1
  234. package/libs-ui/react-core/src/TextArea/index.d.ts +1 -1
  235. package/libs-ui/react-core/src/TextInput/index.d.ts +1 -1
  236. package/libs-ui/react-core/src/Top/index.d.ts +9 -0
  237. package/libs-ui/react-core/src/VisuallyHidden/index.d.ts +1 -1
  238. package/libs-ui/react-core/src/WarningText/index.d.ts +1 -1
  239. package/libs-ui/react-core/src/index.d.ts +141 -0
  240. package/package.json +6 -5
  241. package/utils.js +61 -47
  242. package/validators/index.js +26 -10
  243. package/validators/utils/index.js +1 -23
package/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # Change Log - @digigov/form
2
2
 
3
- This log was last generated on Wed, 31 Aug 2022 16:10:12 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 01 Sep 2022 17:10:30 GMT and should not be manually modified.
4
+
5
+ ## 0.8.0
6
+ Thu, 01 Sep 2022 17:10:30 GMT
7
+
8
+ ### Minor changes
9
+
10
+ - Add new MultiplicityField component
4
11
 
5
12
  ## 0.7.1
6
13
  Wed, 31 Aug 2022 16:10:12 GMT
@@ -55,14 +55,8 @@ var FieldBase = function FieldBase(props) {
55
55
  control: control,
56
56
  name: name,
57
57
  render: function render(_ref) {
58
- var onChange = _ref.onChange,
59
- onBlur = _ref.onBlur,
60
- value = _ref.value;
61
- return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
62
- name: name,
63
- onChange: onChange,
64
- onBlur: onBlur,
65
- value: value,
58
+ var field = _ref.field;
59
+ return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({}, field, {
66
60
  defaultValue: defaultValue,
67
61
  extra: extra,
68
62
  error: !!error,
@@ -82,9 +76,7 @@ var FieldBase = function FieldBase(props) {
82
76
  error: error,
83
77
  wrapper: wrapper,
84
78
  name: name
85
- }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
86
- name: name,
87
- ref: register,
79
+ }, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({}, register(name), {
88
80
  control: control,
89
81
  error: !!error,
90
82
  extra: extra,
@@ -38,14 +38,17 @@ var FieldContainer = function FieldContainer(_ref) {
38
38
  var _useTranslation = (0, _i18n.useTranslation)(),
39
39
  t = _useTranslation.t;
40
40
 
41
+ var errorMessage = error !== null && error !== void 0 && error.message.key ? error.message.key : (error === null || error === void 0 ? void 0 : error.message) || '';
42
+ var errorContext = (error === null || error === void 0 ? void 0 : error.message.context) || {};
43
+
41
44
  if (wrapper === 'fieldset') {
42
45
  return /*#__PURE__*/_react["default"].createElement(_Field["default"], (0, _extends2["default"])({
43
46
  error: !!error
44
47
  }, layout), /*#__PURE__*/_react["default"].createElement(_Fieldset["default"], null, /*#__PURE__*/_react["default"].createElement(_FieldsetLegend["default"], {
45
48
  size: "s"
46
- }, label && label.primary, label && label.secondary && /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t(label.secondary)), error && /*#__PURE__*/_react["default"].createElement(_ErrorMessage["default"], {
49
+ }, label && label.primary), label && label.secondary && /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t(label.secondary)), error && /*#__PURE__*/_react["default"].createElement(_ErrorMessage["default"], {
47
50
  id: "".concat(name, "-error")
48
- }, t((error === null || error === void 0 ? void 0 : error.message) || ''))), children));
51
+ }, t(errorMessage, errorContext)), children));
49
52
  } else {
50
53
  return /*#__PURE__*/_react["default"].createElement(_Field["default"], (0, _extends2["default"])({
51
54
  error: !!error
@@ -53,7 +56,7 @@ var FieldContainer = function FieldContainer(_ref) {
53
56
  label: label
54
57
  }), error && /*#__PURE__*/_react["default"].createElement(_ErrorMessage["default"], {
55
58
  id: "".concat(name, "-error")
56
- }, t((error === null || error === void 0 ? void 0 : error.message) || '')), children));
59
+ }, t(errorMessage, errorContext)), children));
57
60
  }
58
61
  };
59
62
 
package/Field/index.js CHANGED
@@ -21,6 +21,10 @@ var _FieldConditional = _interopRequireDefault(require("@digigov/form/Field/Fiel
21
21
 
22
22
  var _utils = require("@digigov/form/Field/utils");
23
23
 
24
+ var _FieldArray = _interopRequireDefault(require("@digigov/form/FieldArray"));
25
+
26
+ var _MultiplicityField = _interopRequireDefault(require("@digigov/form/MultiplicityField"));
27
+
24
28
  var _excluded = ["name", "children"];
25
29
 
26
30
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -37,7 +41,13 @@ var Field = function Field(_ref) {
37
41
  control = _useField.control,
38
42
  register = _useField.register,
39
43
  error = _useField.error,
40
- componentRegistry = _useField.componentRegistry;
44
+ componentRegistry = _useField.componentRegistry,
45
+ formState = _useField.formState,
46
+ setValue = _useField.setValue,
47
+ getValues = _useField.getValues,
48
+ unregister = _useField.unregister,
49
+ trigger = _useField.trigger,
50
+ clearErrors = _useField.clearErrors;
41
51
 
42
52
  var calculatedField = (0, _react.useMemo)(function () {
43
53
  return (0, _utils.calculateField)(children, field, componentRegistry);
@@ -52,6 +62,32 @@ var Field = function Field(_ref) {
52
62
  });
53
63
  }
54
64
 
65
+ if (calculatedField.type === 'array' && calculatedField.multiplicity) {
66
+ // if (error) debugger;
67
+ calculatedField.name = name;
68
+ return /*#__PURE__*/_react["default"].createElement(_MultiplicityField["default"], (0, _extends2["default"])({
69
+ control: control,
70
+ register: register,
71
+ trigger: trigger,
72
+ clearErrors: clearErrors,
73
+ error: error,
74
+ formState: formState,
75
+ setValue: setValue,
76
+ getValues: getValues,
77
+ unregister: unregister
78
+ }, calculatedField));
79
+ }
80
+
81
+ if (calculatedField.type === 'array') {
82
+ calculatedField.name = name;
83
+ return /*#__PURE__*/_react["default"].createElement(_FieldArray["default"], (0, _extends2["default"])({
84
+ control: control,
85
+ register: register,
86
+ error: error,
87
+ formState: formState
88
+ }, calculatedField));
89
+ }
90
+
55
91
  return /*#__PURE__*/_react["default"].createElement(_FieldBase.FieldBase, (0, _extends2["default"])({}, calculatedField, {
56
92
  name: name,
57
93
  control: control,
package/Field/utils.js CHANGED
@@ -101,9 +101,17 @@ var useField = function useField(name, customField) {
101
101
  fieldsMap = _useContext.fieldsMap,
102
102
  control = _useContext.control,
103
103
  register = _useContext.register,
104
+ trigger = _useContext.trigger,
105
+ clearErrors = _useContext.clearErrors,
104
106
  errors = _useContext.errors,
105
107
  registerField = _useContext.registerField,
106
- componentRegistry = _useContext.componentRegistry;
108
+ watch = _useContext.watch,
109
+ componentRegistry = _useContext.componentRegistry,
110
+ getFieldState = _useContext.getFieldState,
111
+ setValue = _useContext.setValue,
112
+ getValues = _useContext.getValues,
113
+ unregister = _useContext.unregister,
114
+ formState = _useContext.formState;
107
115
 
108
116
  (0, _react.useMemo)(function () {
109
117
  return (customField === null || customField === void 0 ? void 0 : customField.type) && registerField((0, _extends2["default"])({}, customField, {
@@ -114,7 +122,15 @@ var useField = function useField(name, customField) {
114
122
  field: customField || fieldsMap[name],
115
123
  control: control,
116
124
  register: register,
125
+ trigger: trigger,
126
+ watch: watch,
117
127
  componentRegistry: componentRegistry,
128
+ getFieldState: getFieldState,
129
+ setValue: setValue,
130
+ clearErrors: clearErrors,
131
+ getValues: getValues,
132
+ unregister: unregister,
133
+ formState: formState,
118
134
  error: errors[name]
119
135
  };
120
136
  };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ var _exportNames = {};
9
+ exports["default"] = void 0;
10
+
11
+ var _FieldArray = _interopRequireDefault(require("@digigov/form/FieldArray"));
12
+
13
+ var _Default = require("@digigov/form/FieldArray/__stories__/Default");
14
+
15
+ Object.keys(_Default).forEach(function (key) {
16
+ if (key === "default" || key === "__esModule") return;
17
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
18
+ if (key in exports && exports[key] === _Default[key]) return;
19
+ Object.defineProperty(exports, key, {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _Default[key];
23
+ }
24
+ });
25
+ });
26
+
27
+ var _WithExactLength = require("@digigov/form/FieldArray/__stories__/WithExactLength");
28
+
29
+ Object.keys(_WithExactLength).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
32
+ if (key in exports && exports[key] === _WithExactLength[key]) return;
33
+ Object.defineProperty(exports, key, {
34
+ enumerable: true,
35
+ get: function get() {
36
+ return _WithExactLength[key];
37
+ }
38
+ });
39
+ });
40
+ var _default = {
41
+ title: 'Digigov Form/FieldArray',
42
+ component: _FieldArray["default"]
43
+ };
44
+ exports["default"] = _default;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.Default = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _form = _interopRequireWildcard(require("@digigov/form"));
17
+
18
+ var _core = require("@digigov/ui/core");
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ var fields = [{
25
+ key: 'string',
26
+ type: 'string',
27
+ label: {
28
+ primary: 'Πεδίο 1',
29
+ secondary: 'Το multiplicity field είναι ένα πεδίο οπότε φαίνεται και είναι μέρος της φόρμας'
30
+ }
31
+ }, {
32
+ key: 'multiplicity',
33
+ type: 'array',
34
+ label: {
35
+ primary: 'Συνυπογράφοντες',
36
+ secondary: 'Οι συνυπογράφοντες είναι άνθρωποι σαν και εμάς'
37
+ },
38
+ extra: {
39
+ label: {
40
+ question: {
41
+ title: 'Θέλετε να προσθέσετε επιπλέον συνυπογράφοντες;',
42
+ yes: 'Ναι',
43
+ no: 'Όχι'
44
+ },
45
+ edit: 'Επεξεργασία',
46
+ add: 'Προσθέστε τα στοιχεία του επόμενου συνυπογράφοντα',
47
+ "delete": 'Αφαίρεση συνυπογράφοντος',
48
+ save: 'Αποθήκευση'
49
+ },
50
+ min: 2,
51
+ max: 4,
52
+ of: {
53
+ type: 'object',
54
+ extra: {
55
+ fields: [{
56
+ key: 'afm',
57
+ type: 'afm',
58
+ required: true,
59
+ label: {
60
+ primary: 'ΑΦΜ'
61
+ }
62
+ }, {
63
+ key: 'firstName',
64
+ required: true,
65
+ type: 'string',
66
+ label: {
67
+ primary: 'Όνομα'
68
+ }
69
+ }, {
70
+ key: 'lastName',
71
+ required: true,
72
+ type: 'string',
73
+ label: {
74
+ primary: 'Επώνυμο'
75
+ }
76
+ }]
77
+ }
78
+ }
79
+ }
80
+ }, {
81
+ key: 'phonenumber',
82
+ type: 'phone_number',
83
+ required: true,
84
+ label: {
85
+ primary: 'Πεδίο 2',
86
+ secondary: 'Το multiplicity field είναι ένα πεδίο οπότε φαίνεται και είναι μέρος της φόρμας'
87
+ }
88
+ }];
89
+
90
+ var _ref = /*#__PURE__*/_react["default"].createElement(_core.Button, null, "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1");
91
+
92
+ var Default = function Default() {
93
+ return /*#__PURE__*/_react["default"].createElement(_react.Suspense, {
94
+ fallback: "loading"
95
+ }, /*#__PURE__*/_react["default"].createElement(_form["default"], {
96
+ onSubmit: function onSubmit(data) {
97
+ debugger;
98
+ console.log(data);
99
+ }
100
+ }, /*#__PURE__*/_react["default"].createElement(_form.Field, (0, _extends2["default"])({
101
+ name: "string"
102
+ }, fields[0])), /*#__PURE__*/_react["default"].createElement(_form.Field, (0, _extends2["default"])({
103
+ name: "multiplicity"
104
+ }, fields[1])), /*#__PURE__*/_react["default"].createElement(_form.Field, (0, _extends2["default"])({
105
+ name: "phonenumber"
106
+ }, fields[2])), _ref));
107
+ };
108
+
109
+ exports.Default = Default;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.WithExactLength = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _form = _interopRequireWildcard(require("@digigov/form"));
17
+
18
+ var _core = require("@digigov/ui/core");
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ var fields = [{
25
+ key: 'string',
26
+ type: 'string',
27
+ label: {
28
+ primary: 'Πεδίο 1',
29
+ secondary: 'Το multiplicity field είναι ένα πεδίο οπότε φαίνεται και είναι μέρος της φόρμας'
30
+ }
31
+ }, {
32
+ key: 'multiplicity',
33
+ type: 'array',
34
+ label: {
35
+ primary: 'Συνυπογράφοντες',
36
+ secondary: 'Οι συνυπογράφοντες είναι άνθρωποι σαν και εμάς'
37
+ },
38
+ extra: {
39
+ label: {
40
+ question: {
41
+ title: 'Θέλετε να προσθέσετε επιπλέον συνυπογράφοντες;',
42
+ yes: 'Ναι',
43
+ no: 'Όχι'
44
+ },
45
+ edit: 'Επεξεργασία',
46
+ add: 'Προσθέστε τα στοιχεία του επόμενου συνυπογράφοντα',
47
+ "delete": 'Αφαίρεση συνυπογράφοντος',
48
+ save: 'Αποθήκευση'
49
+ },
50
+ length: 2,
51
+ of: {
52
+ type: 'object',
53
+ extra: {
54
+ fields: [{
55
+ key: 'afm',
56
+ type: 'afm',
57
+ required: true,
58
+ label: {
59
+ primary: 'ΑΦΜ'
60
+ }
61
+ }, {
62
+ key: 'firstName',
63
+ required: true,
64
+ type: 'string',
65
+ label: {
66
+ primary: 'Όνομα'
67
+ }
68
+ }, {
69
+ key: 'lastName',
70
+ required: true,
71
+ type: 'string',
72
+ label: {
73
+ primary: 'Επώνυμο'
74
+ }
75
+ }]
76
+ }
77
+ }
78
+ }
79
+ }, {
80
+ key: 'phonenumber',
81
+ type: 'phone_number',
82
+ required: true,
83
+ label: {
84
+ primary: 'Πεδίο 2',
85
+ secondary: 'Το multiplicity field είναι ένα πεδίο οπότε φαίνεται και είναι μέρος της φόρμας'
86
+ }
87
+ }];
88
+
89
+ var _ref = /*#__PURE__*/_react["default"].createElement(_core.Button, null, "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1");
90
+
91
+ var WithExactLength = function WithExactLength() {
92
+ return /*#__PURE__*/_react["default"].createElement(_react.Suspense, {
93
+ fallback: "loading"
94
+ }, /*#__PURE__*/_react["default"].createElement(_form["default"], {
95
+ onSubmit: function onSubmit(data) {
96
+ debugger;
97
+ console.log(data);
98
+ }
99
+ }, /*#__PURE__*/_react["default"].createElement(_form.Field, (0, _extends2["default"])({
100
+ name: "string"
101
+ }, fields[0])), /*#__PURE__*/_react["default"].createElement(_form.Field, (0, _extends2["default"])({
102
+ name: "multiplicity"
103
+ }, fields[1])), /*#__PURE__*/_react["default"].createElement(_form.Field, (0, _extends2["default"])({
104
+ name: "phonenumber"
105
+ }, fields[2])), _ref));
106
+ };
107
+
108
+ exports.WithExactLength = WithExactLength;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.FieldArray = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _devtools = require("@hookform/devtools");
17
+
18
+ var _reactHookForm = require("react-hook-form");
19
+
20
+ var _FieldObject = _interopRequireDefault(require("@digigov/form/FieldObject"));
21
+
22
+ var _core = require("@digigov/ui/core");
23
+
24
+ var _Fieldset = require("@digigov/form/Fieldset");
25
+
26
+ var _Fieldset2 = _interopRequireDefault(require("@digigov/react-core/Fieldset"));
27
+
28
+ var _FieldContainer = _interopRequireDefault(require("@digigov/form/Field/FieldContainer"));
29
+
30
+ var _excluded = ["name", "register", "control", "formState", "error", "layout", "label"];
31
+
32
+ var FieldArray = function FieldArray(_ref) {
33
+ var name = _ref.name,
34
+ register = _ref.register,
35
+ control = _ref.control,
36
+ formState = _ref.formState,
37
+ error = _ref.error,
38
+ layout = _ref.layout,
39
+ label = _ref.label,
40
+ customField = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
41
+
42
+ var _useFieldArray = (0, _reactHookForm.useFieldArray)({
43
+ control: control,
44
+ name: name
45
+ }),
46
+ fields = _useFieldArray.fields,
47
+ append = _useFieldArray.append,
48
+ remove = _useFieldArray.remove;
49
+
50
+ return /*#__PURE__*/_react["default"].createElement(_FieldContainer["default"], {
51
+ label: label,
52
+ layout: layout,
53
+ error: formState.isSubmitted && !formState.isSubmitting && error !== null && error !== void 0 && error.message && error ? error : undefined,
54
+ wrapper: "fieldset",
55
+ name: name
56
+ }, /*#__PURE__*/_react["default"].createElement(_devtools.DevTool, {
57
+ control: control
58
+ }), fields.map(function (field, index) {
59
+ var _customField$extra;
60
+
61
+ return /*#__PURE__*/_react["default"].createElement(_core.Card, {
62
+ variant: "border",
63
+ key: field.id
64
+ }, /*#__PURE__*/_react["default"].createElement(_Fieldset2["default"], null, /*#__PURE__*/_react["default"].createElement(_Fieldset.FieldsetLabel, null, "\u03A3\u03C5\u03BD\u03C5\u03C0\u03BF\u03B3\u03C1\u03AC\u03C6\u03BF\u03BD\u03C4\u03B1\u03C2 ", index + 1), /*#__PURE__*/_react["default"].createElement(_FieldObject["default"], (0, _extends2["default"])({
65
+ name: "".concat(name, ".").concat(index),
66
+ error: Array.isArray(error) && error[index],
67
+ register: register,
68
+ control: control
69
+ }, (_customField$extra = customField.extra) === null || _customField$extra === void 0 ? void 0 : _customField$extra.of)), /*#__PURE__*/_react["default"].createElement(_core.Button, {
70
+ type: "button",
71
+ color: "warning",
72
+ onClick: function onClick() {
73
+ return remove(index);
74
+ }
75
+ }, "Remove")));
76
+ }), /*#__PURE__*/_react["default"].createElement(_core.Button, {
77
+ type: "button",
78
+ color: "secondary",
79
+ onClick: function onClick(ev) {
80
+ ev.preventDefault();
81
+ append({});
82
+ }
83
+ }, "\u03A0\u03C1\u03BF\u03C3\u03B8\u03AE\u03BA\u03B7 \u03C3\u03C5\u03BD\u03C5\u03C0\u03BF\u03B3\u03C1\u03AC\u03C6\u03BF\u03BD\u03C4\u03B1"));
84
+ };
85
+
86
+ exports.FieldArray = FieldArray;
87
+ var _default = FieldArray;
88
+ exports["default"] = _default;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = exports.FieldObject = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _Fieldset = _interopRequireWildcard(require("@digigov/form/Fieldset"));
17
+
18
+ var _i18n = require("@digigov/ui/app/i18n");
19
+
20
+ var _FieldBase = require("@digigov/form/Field/FieldBase");
21
+
22
+ var _utils = require("@digigov/form/Field/utils");
23
+
24
+ var _reactCore = require("@digigov/react-core");
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
30
+ var FieldObject = function FieldObject(_ref) {
31
+ var name = _ref.name,
32
+ label = _ref.label,
33
+ extra = _ref.extra,
34
+ error = _ref.error,
35
+ control = _ref.control,
36
+ register = _ref.register,
37
+ formState = _ref.formState;
38
+
39
+ var _useTranslation = (0, _i18n.useTranslation)(),
40
+ t = _useTranslation.t;
41
+
42
+ return /*#__PURE__*/_react["default"].createElement(_Fieldset["default"], null, (label === null || label === void 0 ? void 0 : label.primary) && /*#__PURE__*/_react["default"].createElement(_reactCore.FieldsetLegend, {
43
+ size: "s"
44
+ }, t(label.primary)), (label === null || label === void 0 ? void 0 : label.secondary) && /*#__PURE__*/_react["default"].createElement(_Fieldset.FieldsetCaption, null, t(label.secondary)), extra === null || extra === void 0 ? void 0 : extra.fields.map(function (field) {
45
+ return /*#__PURE__*/_react["default"].createElement(FieldObjectItem, {
46
+ key: "".concat(name, ".").concat(field.key),
47
+ name: "".concat(name, ".").concat(field.key),
48
+ control: control,
49
+ register: register,
50
+ field: field,
51
+ error: error && error[field.key],
52
+ formState: formState
53
+ });
54
+ }));
55
+ };
56
+
57
+ exports.FieldObject = FieldObject;
58
+
59
+ var FieldObjectItem = function FieldObjectItem(_ref2) {
60
+ var name = _ref2.name,
61
+ children = _ref2.children,
62
+ field = _ref2.field,
63
+ error = _ref2.error,
64
+ control = _ref2.control,
65
+ formState = _ref2.formState,
66
+ register = _ref2.register;
67
+ var calculatedField = (0, _react.useMemo)(function () {
68
+ return (0, _utils.calculateField)(children, field);
69
+ }, [field]);
70
+ var customError = error ? error : formState === null || formState === void 0 ? void 0 : formState.errors[name];
71
+ return /*#__PURE__*/_react["default"].createElement(_FieldBase.FieldBase, (0, _extends2["default"])({}, calculatedField, {
72
+ name: name,
73
+ control: control,
74
+ register: register,
75
+ error: customError
76
+ }));
77
+ };
78
+
79
+ var _default = FieldObject;
80
+ exports["default"] = _default;
package/FormBuilder.js CHANGED
@@ -11,8 +11,6 @@ exports["default"] = exports.FormBuilder = exports.FormBase = void 0;
11
11
 
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
 
14
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
14
  var _extends4 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
15
 
18
16
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
@@ -64,22 +62,24 @@ var FormBase = /*#__PURE__*/_react["default"].forwardRef(function FormBase(_ref,
64
62
  criteriaMode: criteriaMode
65
63
  });
66
64
  var handleSubmit = (0, _react.useCallback)(function (data) {
67
- var errors = onSubmit && onSubmit(data);
68
-
69
- if (errors) {
70
- for (var key in errors) {
71
- form.setError(key, errors[key]);
72
- }
73
- }
65
+ onSubmit && onSubmit(data);
74
66
  }, [onSubmit]);
75
67
  var ctx = {
76
68
  fieldsMap: fieldsMap,
77
69
  fieldsetsMap: fieldsetsMap,
78
70
  control: form.control,
79
71
  register: form.register,
72
+ watch: form.watch,
80
73
  registerField: registerField,
81
- errors: form.errors,
74
+ errors: form.formState.errors,
75
+ formState: form.formState,
82
76
  reset: form.reset,
77
+ trigger: form.trigger,
78
+ getFieldState: form.getFieldState,
79
+ setValue: form.setValue,
80
+ clearErrors: form.clearErrors,
81
+ getValues: form.getValues,
82
+ unregister: form.unregister,
83
83
  componentRegistry: componentRegistry
84
84
  };
85
85
  return /*#__PURE__*/_react["default"].createElement(_FormContext.FormContext.Provider, {
@@ -108,7 +108,7 @@ var FormBuilder = /*#__PURE__*/_react["default"].forwardRef(function FormBuilder
108
108
  _ref2$shouldFocusErro = _ref2.shouldFocusError,
109
109
  shouldFocusError = _ref2$shouldFocusErro === void 0 ? true : _ref2$shouldFocusErro,
110
110
  _ref2$criteriaMode = _ref2.criteriaMode,
111
- criteriaMode = _ref2$criteriaMode === void 0 ? 'firstError' : _ref2$criteriaMode,
111
+ criteriaMode = _ref2$criteriaMode === void 0 ? 'all' : _ref2$criteriaMode,
112
112
  _ref2$auto = _ref2.auto,
113
113
  auto = _ref2$auto === void 0 ? false : _ref2$auto,
114
114
  validatorRegistry = _ref2.validatorRegistry,
@@ -122,7 +122,17 @@ var FormBuilder = /*#__PURE__*/_react["default"].forwardRef(function FormBuilder
122
122
  }, []);
123
123
  var schema = (0, _validators.useValidationSchema)(fieldsState, validatorRegistry);
124
124
  var registerField = (0, _react.useCallback)(function (field) {
125
- setFieldsState([].concat((0, _toConsumableArray2["default"])(fieldsState.current), [field]));
125
+ var fieldIndex = fieldsState.current.findIndex(function (f) {
126
+ return f.key === field.key;
127
+ });
128
+
129
+ if (fieldIndex > -1) {
130
+ fieldsState.current[fieldIndex] = field;
131
+ } else {
132
+ fieldsState.current.push(field);
133
+ }
134
+
135
+ setFieldsState(fieldsState.current);
126
136
  }, []);
127
137
  var resolver;
128
138
  var fieldsMap;