@digigov/form 0.7.1 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/Field/FieldBase.js +4 -14
  3. package/Field/FieldConditional.js +4 -0
  4. package/Field/FieldContainer.js +6 -3
  5. package/Field/index.js +39 -1
  6. package/Field/utils.js +19 -1
  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 +84 -0
  11. package/FieldObject/index.js +84 -0
  12. package/Form.stories.js +25 -0
  13. package/FormBuilder.js +22 -12
  14. package/MultiplicityField/MultiplicityField.stories.js +86 -0
  15. package/MultiplicityField/__stories__/Default.js +121 -0
  16. package/MultiplicityField/__stories__/WithExactLength.js +116 -0
  17. package/MultiplicityField/__stories__/WithMaxLength.js +119 -0
  18. package/MultiplicityField/__stories__/WithMinAndMaxLength.js +120 -0
  19. package/MultiplicityField/__stories__/WithMinLength.js +119 -0
  20. package/MultiplicityField/add-objects.js +182 -0
  21. package/MultiplicityField/index.js +142 -0
  22. package/__stories__/IntField.js +60 -0
  23. package/es/Field/FieldBase.js +4 -14
  24. package/es/Field/FieldConditional.js +4 -0
  25. package/es/Field/FieldContainer.js +6 -3
  26. package/es/Field/index.js +37 -1
  27. package/es/Field/utils.js +19 -1
  28. package/es/FieldArray/FieldArray.stories.js +7 -0
  29. package/es/FieldArray/__stories__/Default.js +88 -0
  30. package/es/FieldArray/__stories__/WithExactLength.js +87 -0
  31. package/es/FieldArray/index.js +62 -0
  32. package/es/FieldObject/index.js +59 -0
  33. package/es/Form.stories.js +4 -0
  34. package/es/FormBuilder.js +22 -11
  35. package/es/MultiplicityField/MultiplicityField.stories.js +10 -0
  36. package/es/MultiplicityField/__stories__/Default.js +100 -0
  37. package/es/MultiplicityField/__stories__/WithExactLength.js +95 -0
  38. package/es/MultiplicityField/__stories__/WithMaxLength.js +98 -0
  39. package/es/MultiplicityField/__stories__/WithMinAndMaxLength.js +99 -0
  40. package/es/MultiplicityField/__stories__/WithMinLength.js +98 -0
  41. package/es/MultiplicityField/add-objects.js +158 -0
  42. package/es/MultiplicityField/index.js +113 -0
  43. package/es/__stories__/IntField.js +40 -0
  44. package/es/inputs/FileInput/FileInput.stories.js +6 -0
  45. package/es/inputs/FileInput/__stories__/Default.js +23 -0
  46. package/es/inputs/FileInput/index.js +33 -23
  47. package/es/inputs/Input/index.js +1 -1
  48. package/es/inputs/Radio/index.js +8 -13
  49. package/es/internal.js +2 -0
  50. package/es/utils.js +61 -46
  51. package/es/validators/index.js +31 -11
  52. package/es/validators/utils/index.js +1 -19
  53. package/es/validators/utils/int.js +20 -0
  54. package/es/validators/utils/number.js +16 -0
  55. package/esm/Field/FieldBase.js +4 -14
  56. package/esm/Field/FieldConditional.js +4 -0
  57. package/esm/Field/FieldContainer.js +6 -3
  58. package/esm/Field/index.js +37 -1
  59. package/esm/Field/utils.js +19 -1
  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 +62 -0
  64. package/esm/FieldObject/index.js +59 -0
  65. package/esm/Form.stories.js +4 -0
  66. package/esm/FormBuilder.js +22 -11
  67. package/esm/MultiplicityField/MultiplicityField.stories.js +10 -0
  68. package/esm/MultiplicityField/__stories__/Default.js +100 -0
  69. package/esm/MultiplicityField/__stories__/WithExactLength.js +95 -0
  70. package/esm/MultiplicityField/__stories__/WithMaxLength.js +98 -0
  71. package/esm/MultiplicityField/__stories__/WithMinAndMaxLength.js +99 -0
  72. package/esm/MultiplicityField/__stories__/WithMinLength.js +98 -0
  73. package/esm/MultiplicityField/add-objects.js +158 -0
  74. package/esm/MultiplicityField/index.js +113 -0
  75. package/esm/__stories__/IntField.js +40 -0
  76. package/esm/index.js +1 -1
  77. package/esm/inputs/FileInput/FileInput.stories.js +6 -0
  78. package/esm/inputs/FileInput/__stories__/Default.js +23 -0
  79. package/esm/inputs/FileInput/index.js +33 -23
  80. package/esm/inputs/Input/index.js +1 -1
  81. package/esm/inputs/Radio/index.js +8 -13
  82. package/esm/internal.js +2 -0
  83. package/esm/utils.js +61 -46
  84. package/esm/validators/index.js +31 -11
  85. package/esm/validators/utils/index.js +1 -19
  86. package/esm/validators/utils/int.js +20 -0
  87. package/esm/validators/utils/number.js +16 -0
  88. package/inputs/FileInput/FileInput.stories.js +30 -0
  89. package/inputs/FileInput/__stories__/Default.js +43 -0
  90. package/inputs/FileInput/index.js +37 -23
  91. package/inputs/Input/index.js +1 -1
  92. package/inputs/Radio/index.js +8 -20
  93. package/internal.js +21 -0
  94. package/libs/form/src/Field/types.d.ts +24 -13
  95. package/libs/form/src/FieldArray/FieldArray.stories.d.ts +8 -0
  96. package/libs/form/src/FieldArray/__stories__/Default.d.ts +1 -0
  97. package/libs/form/src/FieldArray/__stories__/WithExactLength.d.ts +1 -0
  98. package/libs/form/src/FieldArray/index.d.ts +11 -0
  99. package/libs/form/src/FieldObject/index.d.ts +22 -0
  100. package/libs/form/src/Form.stories.d.ts +5 -0
  101. package/libs/form/src/MultiplicityField/MultiplicityField.stories.d.ts +11 -0
  102. package/libs/form/src/MultiplicityField/__stories__/Default.d.ts +1 -0
  103. package/libs/form/src/MultiplicityField/__stories__/WithExactLength.d.ts +1 -0
  104. package/libs/form/src/MultiplicityField/__stories__/WithMaxLength.d.ts +1 -0
  105. package/libs/form/src/MultiplicityField/__stories__/WithMinAndMaxLength.d.ts +1 -0
  106. package/libs/form/src/MultiplicityField/__stories__/WithMinLength.d.ts +1 -0
  107. package/libs/form/src/MultiplicityField/add-objects.d.ts +13 -0
  108. package/libs/form/src/MultiplicityField/index.d.ts +32 -0
  109. package/libs/form/src/__stories__/IntField.d.ts +1 -0
  110. package/libs/form/src/inputs/FileInput/FileInput.stories.d.ts +7 -0
  111. package/libs/form/src/inputs/FileInput/__stories__/Default.d.ts +2 -0
  112. package/libs/form/src/inputs/Label/index.d.ts +1 -0
  113. package/libs/form/src/internal.d.ts +2 -0
  114. package/libs/form/src/types.d.ts +20 -12
  115. package/libs/form/src/utils.d.ts +8 -3
  116. package/libs/form/src/validators/index.d.ts +4 -3
  117. package/libs/form/src/validators/types.d.ts +1 -1
  118. package/libs/form/src/validators/utils/file.d.ts +3 -1
  119. package/libs/form/src/validators/utils/iban.d.ts +3 -1
  120. package/libs/form/src/validators/utils/index.d.ts +15 -3
  121. package/libs/form/src/validators/utils/int.d.ts +3 -0
  122. package/libs/form/src/validators/utils/number.d.ts +3 -0
  123. package/libs/form/src/validators/utils/phone.d.ts +3 -1
  124. package/libs/form/src/validators/utils/postal_code.d.ts +3 -1
  125. package/libs/ui/src/app/i18n.d.ts +2 -2
  126. package/libs/ui/src/core/Button/BackButton.d.ts +1 -1
  127. package/libs/ui/src/core/Button/ButtonLink.d.ts +1 -1
  128. package/libs/ui/src/core/Button/index.d.ts +1 -1
  129. package/libs/ui/src/core/List/ListItemContent.d.ts +0 -1
  130. package/libs/ui/src/core/List/ListItemIcon.d.ts +1 -3
  131. package/libs/ui/src/core/List/ListItemText.d.ts +0 -1
  132. package/libs/ui/src/core/List/ListItemTitle.d.ts +0 -1
  133. package/libs/ui/src/locales/el.d.ts +8 -1
  134. package/libs-ui/react-core/src/Aside/index.d.ts +10 -0
  135. package/libs-ui/react-core/src/BackLink/index.d.ts +1 -1
  136. package/libs-ui/react-core/src/Bottom/index.d.ts +9 -0
  137. package/libs-ui/react-core/src/BreadcrumbsList/index.d.ts +1 -1
  138. package/libs-ui/react-core/src/Button/index.d.ts +1 -1
  139. package/libs-ui/react-core/src/ButtonLink/index.d.ts +1 -1
  140. package/libs-ui/react-core/src/CallToAction/index.d.ts +1 -1
  141. package/libs-ui/react-core/src/CheckboxConditional/index.d.ts +11 -0
  142. package/libs-ui/react-core/src/CheckboxItem/index.d.ts +1 -1
  143. package/libs-ui/react-core/src/Container/index.d.ts +17 -0
  144. package/libs-ui/react-core/src/Copyright/index.d.ts +10 -0
  145. package/libs-ui/react-core/src/DateInputItem/index.d.ts +1 -1
  146. package/libs-ui/react-core/src/FileUpload/index.d.ts +9 -1
  147. package/libs-ui/react-core/src/Footer/index.d.ts +9 -0
  148. package/libs-ui/react-core/src/FooterContainer/index.d.ts +16 -0
  149. package/libs-ui/react-core/src/FooterContent/index.d.ts +10 -0
  150. package/libs-ui/react-core/src/FooterContentLogos/index.d.ts +11 -0
  151. package/libs-ui/react-core/src/FooterHeading/index.d.ts +15 -0
  152. package/libs-ui/react-core/src/FooterImage/index.d.ts +15 -0
  153. package/libs-ui/react-core/src/FooterInlineList/index.d.ts +11 -0
  154. package/libs-ui/react-core/src/FooterInlineListItem/index.d.ts +9 -0
  155. package/libs-ui/react-core/src/FooterLink/index.d.ts +13 -0
  156. package/libs-ui/react-core/src/FooterList/index.d.ts +15 -0
  157. package/libs-ui/react-core/src/FooterListItem/index.d.ts +10 -0
  158. package/libs-ui/react-core/src/FooterMeta/index.d.ts +11 -0
  159. package/libs-ui/react-core/src/FooterMetaItem/index.d.ts +14 -0
  160. package/libs-ui/react-core/src/FooterNavigation/index.d.ts +11 -0
  161. package/libs-ui/react-core/src/FooterSection/index.d.ts +11 -0
  162. package/libs-ui/react-core/src/GovGRFooter/index.d.ts +9 -0
  163. package/libs-ui/react-core/src/GovGRLogo/govgr-logo-base64.d.ts +2 -0
  164. package/libs-ui/react-core/src/GovGRLogo/index.d.ts +9 -0
  165. package/libs-ui/react-core/src/Header/index.d.ts +10 -0
  166. package/libs-ui/react-core/src/HeaderContent/index.d.ts +9 -0
  167. package/libs-ui/react-core/src/HeaderLogo/index.d.ts +21 -0
  168. package/libs-ui/react-core/src/HeaderSecondaryLogo/index.d.ts +21 -0
  169. package/libs-ui/react-core/src/HeaderSection/index.d.ts +9 -0
  170. package/libs-ui/react-core/src/HeaderSubtitle/index.d.ts +9 -0
  171. package/libs-ui/react-core/src/HeaderTitle/index.d.ts +13 -0
  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/Layout/index.d.ts +10 -0
  176. package/libs-ui/react-core/src/Link/index.d.ts +1 -1
  177. package/libs-ui/react-core/src/List/index.d.ts +1 -1
  178. package/libs-ui/react-core/src/Main/index.d.ts +9 -0
  179. package/libs-ui/react-core/src/Masthead/index.d.ts +9 -0
  180. package/libs-ui/react-core/src/MastheadBody/index.d.ts +9 -0
  181. package/libs-ui/react-core/src/NavHorizontalListItem/index.d.ts +1 -1
  182. package/libs-ui/react-core/src/NavVerticalItem/index.d.ts +1 -1
  183. package/libs-ui/react-core/src/NotificationBannerLink/index.d.ts +1 -1
  184. package/libs-ui/react-core/src/PageTitle/index.d.ts +9 -0
  185. package/libs-ui/react-core/src/PageTitleCaption/index.d.ts +14 -0
  186. package/libs-ui/react-core/src/PageTitleHeading/index.d.ts +13 -0
  187. package/libs-ui/react-core/src/PageTitleSection/index.d.ts +10 -0
  188. package/libs-ui/react-core/src/RadioConditional/index.d.ts +11 -0
  189. package/libs-ui/react-core/src/RadioItem/index.d.ts +1 -1
  190. package/libs-ui/react-core/src/ServiceBadge/index.d.ts +11 -0
  191. package/libs-ui/react-core/src/SkipLink/index.d.ts +1 -1
  192. package/libs-ui/react-core/src/SvgIcon/index.d.ts +1 -1
  193. package/libs-ui/react-core/src/Table/index.d.ts +1 -1
  194. package/libs-ui/react-core/src/TabsListItem/index.d.ts +1 -1
  195. package/libs-ui/react-core/src/TextInput/index.d.ts +1 -1
  196. package/libs-ui/react-core/src/Top/index.d.ts +9 -0
  197. package/libs-ui/react-core/src/index.d.ts +141 -0
  198. package/package.json +7 -6
  199. package/utils.js +61 -47
  200. package/validators/index.js +33 -11
  201. package/validators/utils/index.js +1 -23
  202. package/validators/utils/int.js +31 -0
  203. package/validators/utils/number.js +27 -0
package/CHANGELOG.md CHANGED
@@ -1,6 +1,31 @@
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 Tue, 13 Sep 2022 13:10:16 GMT and should not be manually modified.
4
+
5
+ ## 0.8.2
6
+ Tue, 13 Sep 2022 13:10:16 GMT
7
+
8
+ ### Patches
9
+
10
+ - FileInput imports FileUpload component from react-core now. Also, a cache bug has been fixed.
11
+ - fix int validator malfunction
12
+ - Remove unnecessary argument from validators
13
+
14
+ ## 0.8.1
15
+ Tue, 06 Sep 2022 08:27:15 GMT
16
+
17
+ ### Patches
18
+
19
+ - change Grid and GridPorps material ui with react core in Fieldset component and in form index.js
20
+ - add reset botton to FileInput component change button style
21
+ - Remove @hookforms/devtool from source code
22
+
23
+ ## 0.8.0
24
+ Thu, 01 Sep 2022 17:10:30 GMT
25
+
26
+ ### Minor changes
27
+
28
+ - Add new MultiplicityField component
4
29
 
5
30
  ## 0.7.1
6
31
  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,
@@ -93,9 +85,7 @@ var FieldBase = function FieldBase(props) {
93
85
  "aria-describedby": error && "".concat(name, "-error"),
94
86
  required: required,
95
87
  disabled: editable === false
96
- }, componentProps)) : /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
97
- name: name,
98
- register: register,
88
+ }, componentProps)) : /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({}, register(name), {
99
89
  control: control,
100
90
  error: !!error,
101
91
  extra: extra,
@@ -21,11 +21,13 @@ var ChildFieldMemo = /*#__PURE__*/_react["default"].memo(function ChildField(_re
21
21
  var dependencies = _ref.dependencies,
22
22
  field = _ref.field,
23
23
  control = _ref.control,
24
+ reset = _ref.reset,
24
25
  register = _ref.register,
25
26
  error = _ref.error;
26
27
  var newField = (0, _utils.evaluateFieldWithConditions)(field, dependencies);
27
28
  return /*#__PURE__*/_react["default"].createElement(_FieldBase.FieldBase, (0, _extends2["default"])({}, newField, {
28
29
  name: newField.key,
30
+ reset: reset,
29
31
  control: control,
30
32
  register: register,
31
33
  error: error
@@ -52,6 +54,7 @@ var FieldConditional = function FieldConditional(_ref2) {
52
54
  var control = _ref2.control,
53
55
  field = _ref2.field,
54
56
  register = _ref2.register,
57
+ reset = _ref2.reset,
55
58
  error = _ref2.error;
56
59
  var dependencyKeys = Object.keys(field.condition);
57
60
  var variables = (0, _reactHookForm.useWatch)({
@@ -63,6 +66,7 @@ var FieldConditional = function FieldConditional(_ref2) {
63
66
  field: field,
64
67
  control: control,
65
68
  register: register,
69
+ reset: reset,
66
70
  error: error
67
71
  });
68
72
  };
@@ -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); }
@@ -36,8 +40,15 @@ var Field = function Field(_ref) {
36
40
  field = _useField.field,
37
41
  control = _useField.control,
38
42
  register = _useField.register,
43
+ reset = _useField.reset,
39
44
  error = _useField.error,
40
- componentRegistry = _useField.componentRegistry;
45
+ componentRegistry = _useField.componentRegistry,
46
+ formState = _useField.formState,
47
+ setValue = _useField.setValue,
48
+ getValues = _useField.getValues,
49
+ unregister = _useField.unregister,
50
+ trigger = _useField.trigger,
51
+ clearErrors = _useField.clearErrors;
41
52
 
42
53
  var calculatedField = (0, _react.useMemo)(function () {
43
54
  return (0, _utils.calculateField)(children, field, componentRegistry);
@@ -46,16 +57,43 @@ var Field = function Field(_ref) {
46
57
  if (calculatedField.condition) {
47
58
  return /*#__PURE__*/_react["default"].createElement(_FieldConditional["default"], {
48
59
  control: control,
60
+ reset: reset,
49
61
  register: register,
50
62
  field: calculatedField,
51
63
  error: error
52
64
  });
53
65
  }
54
66
 
67
+ if (calculatedField.type === 'array' && calculatedField.multiplicity) {
68
+ calculatedField.name = name;
69
+ return /*#__PURE__*/_react["default"].createElement(_MultiplicityField["default"], (0, _extends2["default"])({
70
+ control: control,
71
+ register: register,
72
+ trigger: trigger,
73
+ clearErrors: clearErrors,
74
+ error: error,
75
+ formState: formState,
76
+ setValue: setValue,
77
+ getValues: getValues,
78
+ unregister: unregister
79
+ }, calculatedField));
80
+ }
81
+
82
+ if (calculatedField.type === 'array') {
83
+ calculatedField.name = name;
84
+ return /*#__PURE__*/_react["default"].createElement(_FieldArray["default"], (0, _extends2["default"])({
85
+ control: control,
86
+ register: register,
87
+ error: error,
88
+ formState: formState
89
+ }, calculatedField));
90
+ }
91
+
55
92
  return /*#__PURE__*/_react["default"].createElement(_FieldBase.FieldBase, (0, _extends2["default"])({}, calculatedField, {
56
93
  name: name,
57
94
  control: control,
58
95
  register: register,
96
+ reset: reset,
59
97
  error: error
60
98
  }));
61
99
  };
package/Field/utils.js CHANGED
@@ -101,9 +101,18 @@ var useField = function useField(name, customField) {
101
101
  fieldsMap = _useContext.fieldsMap,
102
102
  control = _useContext.control,
103
103
  register = _useContext.register,
104
+ reset = _useContext.reset,
105
+ trigger = _useContext.trigger,
106
+ clearErrors = _useContext.clearErrors,
104
107
  errors = _useContext.errors,
105
108
  registerField = _useContext.registerField,
106
- componentRegistry = _useContext.componentRegistry;
109
+ watch = _useContext.watch,
110
+ componentRegistry = _useContext.componentRegistry,
111
+ getFieldState = _useContext.getFieldState,
112
+ setValue = _useContext.setValue,
113
+ getValues = _useContext.getValues,
114
+ unregister = _useContext.unregister,
115
+ formState = _useContext.formState;
107
116
 
108
117
  (0, _react.useMemo)(function () {
109
118
  return (customField === null || customField === void 0 ? void 0 : customField.type) && registerField((0, _extends2["default"])({}, customField, {
@@ -114,7 +123,16 @@ var useField = function useField(name, customField) {
114
123
  field: customField || fieldsMap[name],
115
124
  control: control,
116
125
  register: register,
126
+ reset: reset,
127
+ trigger: trigger,
128
+ watch: watch,
117
129
  componentRegistry: componentRegistry,
130
+ getFieldState: getFieldState,
131
+ setValue: setValue,
132
+ clearErrors: clearErrors,
133
+ getValues: getValues,
134
+ unregister: unregister,
135
+ formState: formState,
118
136
  error: errors[name]
119
137
  };
120
138
  };
@@ -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,84 @@
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 _reactHookForm = require("react-hook-form");
17
+
18
+ var _FieldObject = _interopRequireDefault(require("@digigov/form/FieldObject"));
19
+
20
+ var _core = require("@digigov/ui/core");
21
+
22
+ var _Fieldset = require("@digigov/form/Fieldset");
23
+
24
+ var _Fieldset2 = _interopRequireDefault(require("@digigov/react-core/Fieldset"));
25
+
26
+ var _FieldContainer = _interopRequireDefault(require("@digigov/form/Field/FieldContainer"));
27
+
28
+ var _excluded = ["name", "register", "control", "formState", "error", "layout", "label"];
29
+
30
+ var FieldArray = function FieldArray(_ref) {
31
+ var name = _ref.name,
32
+ register = _ref.register,
33
+ control = _ref.control,
34
+ formState = _ref.formState,
35
+ error = _ref.error,
36
+ layout = _ref.layout,
37
+ label = _ref.label,
38
+ customField = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
39
+
40
+ var _useFieldArray = (0, _reactHookForm.useFieldArray)({
41
+ control: control,
42
+ name: name
43
+ }),
44
+ fields = _useFieldArray.fields,
45
+ append = _useFieldArray.append,
46
+ remove = _useFieldArray.remove;
47
+
48
+ return /*#__PURE__*/_react["default"].createElement(_FieldContainer["default"], {
49
+ label: label,
50
+ layout: layout,
51
+ error: formState.isSubmitted && !formState.isSubmitting && error !== null && error !== void 0 && error.message && error ? error : undefined,
52
+ wrapper: "fieldset",
53
+ name: name
54
+ }, fields.map(function (field, index) {
55
+ var _customField$extra;
56
+
57
+ return /*#__PURE__*/_react["default"].createElement(_core.Card, {
58
+ variant: "border",
59
+ key: field.id
60
+ }, /*#__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"])({
61
+ name: "".concat(name, ".").concat(index),
62
+ error: Array.isArray(error) && error[index],
63
+ register: register,
64
+ control: control
65
+ }, (_customField$extra = customField.extra) === null || _customField$extra === void 0 ? void 0 : _customField$extra.of)), /*#__PURE__*/_react["default"].createElement(_core.Button, {
66
+ type: "button",
67
+ color: "warning",
68
+ onClick: function onClick() {
69
+ return remove(index);
70
+ }
71
+ }, "Remove")));
72
+ }), /*#__PURE__*/_react["default"].createElement(_core.Button, {
73
+ type: "button",
74
+ color: "secondary",
75
+ onClick: function onClick(ev) {
76
+ ev.preventDefault();
77
+ append({});
78
+ }
79
+ }, "\u03A0\u03C1\u03BF\u03C3\u03B8\u03AE\u03BA\u03B7 \u03C3\u03C5\u03BD\u03C5\u03C0\u03BF\u03B3\u03C1\u03AC\u03C6\u03BF\u03BD\u03C4\u03B1"));
80
+ };
81
+
82
+ exports.FieldArray = FieldArray;
83
+ var _default = FieldArray;
84
+ exports["default"] = _default;
@@ -0,0 +1,84 @@
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
+ reset = _ref.reset,
38
+ formState = _ref.formState;
39
+
40
+ var _useTranslation = (0, _i18n.useTranslation)(),
41
+ t = _useTranslation.t;
42
+
43
+ return /*#__PURE__*/_react["default"].createElement(_Fieldset["default"], null, (label === null || label === void 0 ? void 0 : label.primary) && /*#__PURE__*/_react["default"].createElement(_reactCore.FieldsetLegend, {
44
+ size: "s"
45
+ }, 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) {
46
+ return /*#__PURE__*/_react["default"].createElement(FieldObjectItem, {
47
+ key: "".concat(name, ".").concat(field.key),
48
+ name: "".concat(name, ".").concat(field.key),
49
+ control: control,
50
+ register: register,
51
+ reset: reset,
52
+ field: field,
53
+ error: error && error[field.key],
54
+ formState: formState
55
+ });
56
+ }));
57
+ };
58
+
59
+ exports.FieldObject = FieldObject;
60
+
61
+ var FieldObjectItem = function FieldObjectItem(_ref2) {
62
+ var name = _ref2.name,
63
+ children = _ref2.children,
64
+ field = _ref2.field,
65
+ error = _ref2.error,
66
+ control = _ref2.control,
67
+ formState = _ref2.formState,
68
+ reset = _ref2.reset,
69
+ register = _ref2.register;
70
+ var calculatedField = (0, _react.useMemo)(function () {
71
+ return (0, _utils.calculateField)(children, field);
72
+ }, [field]);
73
+ var customError = error ? error : formState === null || formState === void 0 ? void 0 : formState.errors[name];
74
+ return /*#__PURE__*/_react["default"].createElement(_FieldBase.FieldBase, (0, _extends2["default"])({}, calculatedField, {
75
+ name: name,
76
+ control: control,
77
+ reset: reset,
78
+ register: register,
79
+ error: customError
80
+ }));
81
+ };
82
+
83
+ var _default = FieldObject;
84
+ exports["default"] = _default;