@digigov/form 0.8.1 → 0.8.3

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 (210) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/Field/FieldBase.js +1 -3
  3. package/Field/FieldConditional.js +4 -0
  4. package/Field/index.js +3 -1
  5. package/Field/utils.js +2 -0
  6. package/FieldObject/index.js +4 -0
  7. package/Form.stories.js +25 -0
  8. package/MultiplicityField/add-objects.js +2 -0
  9. package/__stories__/IntField.js +60 -0
  10. package/es/Field/FieldBase.js +1 -3
  11. package/es/Field/FieldConditional.js +4 -0
  12. package/es/Field/index.js +3 -1
  13. package/es/Field/utils.js +2 -0
  14. package/es/FieldObject/index.js +4 -0
  15. package/es/Form.stories.js +4 -0
  16. package/es/MultiplicityField/add-objects.js +2 -0
  17. package/es/__stories__/IntField.js +40 -0
  18. package/es/inputs/Checkboxes/index.js +1 -0
  19. package/es/inputs/FileInput/FileInput.stories.js +6 -0
  20. package/es/inputs/FileInput/__stories__/Default.js +23 -0
  21. package/es/inputs/FileInput/index.js +30 -28
  22. package/es/inputs/Input/index.js +3 -1
  23. package/es/inputs/Radio/index.js +4 -4
  24. package/es/inputs/Select/index.js +1 -0
  25. package/es/validators/index.js +6 -2
  26. package/es/validators/utils/int.js +20 -0
  27. package/es/validators/utils/number.js +16 -0
  28. package/esm/Field/FieldBase.js +1 -3
  29. package/esm/Field/FieldConditional.js +4 -0
  30. package/esm/Field/index.js +3 -1
  31. package/esm/Field/utils.js +2 -0
  32. package/esm/FieldObject/index.js +4 -0
  33. package/esm/Form.stories.js +4 -0
  34. package/esm/MultiplicityField/add-objects.js +2 -0
  35. package/esm/__stories__/IntField.js +40 -0
  36. package/esm/index.js +1 -1
  37. package/esm/inputs/Checkboxes/index.js +1 -0
  38. package/esm/inputs/FileInput/FileInput.stories.js +6 -0
  39. package/esm/inputs/FileInput/__stories__/Default.js +23 -0
  40. package/esm/inputs/FileInput/index.js +30 -28
  41. package/esm/inputs/Input/index.js +3 -1
  42. package/esm/inputs/Radio/index.js +4 -4
  43. package/esm/inputs/Select/index.js +1 -0
  44. package/esm/validators/index.js +6 -2
  45. package/esm/validators/utils/int.js +20 -0
  46. package/esm/validators/utils/number.js +16 -0
  47. package/inputs/Checkboxes/index.js +1 -0
  48. package/inputs/FileInput/FileInput.stories.js +30 -0
  49. package/inputs/FileInput/__stories__/Default.js +43 -0
  50. package/inputs/FileInput/index.js +33 -29
  51. package/inputs/Input/index.js +3 -1
  52. package/inputs/Radio/index.js +4 -4
  53. package/inputs/Select/index.js +1 -0
  54. package/libs/form/src/Field/types.d.ts +3 -0
  55. package/libs/form/src/FieldObject/index.d.ts +2 -0
  56. package/libs/form/src/Form.stories.d.ts +5 -0
  57. package/libs/form/src/__stories__/IntField.d.ts +1 -0
  58. package/libs/form/src/inputs/FileInput/FileInput.stories.d.ts +7 -0
  59. package/libs/form/src/inputs/FileInput/__stories__/Default.d.ts +2 -0
  60. package/libs/form/src/inputs/FileInput/index.d.ts +0 -1
  61. package/libs/form/src/validators/utils/int.d.ts +3 -0
  62. package/libs/form/src/validators/utils/number.d.ts +3 -0
  63. package/libs/ui/src/core/Accordion/index.d.ts +3 -3
  64. package/libs/ui/src/core/Blockquote/index.d.ts +1 -1
  65. package/libs/ui/src/core/Button/BackButton.d.ts +1 -1
  66. package/libs/ui/src/core/Button/ButtonLink.d.ts +1 -1
  67. package/libs/ui/src/core/Button/index.d.ts +1 -1
  68. package/libs/ui/src/core/Divider/index.d.ts +1 -1
  69. package/libs/ui/src/locales/el.d.ts +1 -1
  70. package/libs/ui/src/typography/Caption/index.d.ts +1 -1
  71. package/libs-ui/react-core/src/Accordion/index.d.ts +1 -1
  72. package/libs-ui/react-core/src/AccordionControls/index.d.ts +1 -1
  73. package/libs-ui/react-core/src/AccordionSection/index.d.ts +1 -1
  74. package/libs-ui/react-core/src/AccordionSectionContent/index.d.ts +1 -1
  75. package/libs-ui/react-core/src/AccordionSectionHeader/index.d.ts +1 -1
  76. package/libs-ui/react-core/src/AccordionSectionSummary/index.d.ts +1 -1
  77. package/libs-ui/react-core/src/AccordionSectionSummaryHeading/index.d.ts +1 -1
  78. package/libs-ui/react-core/src/Aside/index.d.ts +1 -1
  79. package/libs-ui/react-core/src/BackLink/index.d.ts +1 -1
  80. package/libs-ui/react-core/src/Blockquote/index.d.ts +1 -1
  81. package/libs-ui/react-core/src/Bottom/index.d.ts +1 -1
  82. package/libs-ui/react-core/src/Breadcrumbs/index.d.ts +1 -1
  83. package/libs-ui/react-core/src/BreadcrumbsList/index.d.ts +1 -1
  84. package/libs-ui/react-core/src/BreadcrumbsListItem/index.d.ts +1 -1
  85. package/libs-ui/react-core/src/Button/index.d.ts +1 -1
  86. package/libs-ui/react-core/src/ButtonGroup/index.d.ts +1 -1
  87. package/libs-ui/react-core/src/ButtonLink/index.d.ts +1 -1
  88. package/libs-ui/react-core/src/CallToAction/index.d.ts +1 -1
  89. package/libs-ui/react-core/src/Card/index.d.ts +1 -1
  90. package/libs-ui/react-core/src/CardAction/index.d.ts +1 -1
  91. package/libs-ui/react-core/src/CardHeading/index.d.ts +1 -1
  92. package/libs-ui/react-core/src/CardText/index.d.ts +1 -1
  93. package/libs-ui/react-core/src/Checkbox/index.d.ts +1 -1
  94. package/libs-ui/react-core/src/CheckboxConditional/index.d.ts +1 -1
  95. package/libs-ui/react-core/src/CheckboxItem/index.d.ts +1 -1
  96. package/libs-ui/react-core/src/Confirmation/index.d.ts +1 -1
  97. package/libs-ui/react-core/src/ConfirmationBody/index.d.ts +1 -1
  98. package/libs-ui/react-core/src/ConfirmationTitle/index.d.ts +1 -1
  99. package/libs-ui/react-core/src/Container/index.d.ts +1 -1
  100. package/libs-ui/react-core/src/Copyright/index.d.ts +1 -1
  101. package/libs-ui/react-core/src/DateInput/index.d.ts +1 -1
  102. package/libs-ui/react-core/src/DateInputItem/index.d.ts +1 -1
  103. package/libs-ui/react-core/src/Details/index.d.ts +1 -1
  104. package/libs-ui/react-core/src/DetailsContent/index.d.ts +1 -1
  105. package/libs-ui/react-core/src/DetailsSummary/index.d.ts +1 -1
  106. package/libs-ui/react-core/src/ErrorMessage/index.d.ts +1 -1
  107. package/libs-ui/react-core/src/ErrorSummary/index.d.ts +1 -1
  108. package/libs-ui/react-core/src/Field/index.d.ts +1 -1
  109. package/libs-ui/react-core/src/Fieldset/index.d.ts +1 -1
  110. package/libs-ui/react-core/src/FieldsetLegend/index.d.ts +1 -1
  111. package/libs-ui/react-core/src/FileUpload/index.d.ts +9 -1
  112. package/libs-ui/react-core/src/FileUploadContainer/index.d.ts +14 -0
  113. package/libs-ui/react-core/src/Footer/index.d.ts +1 -1
  114. package/libs-ui/react-core/src/FooterContainer/index.d.ts +1 -1
  115. package/libs-ui/react-core/src/FooterContent/index.d.ts +1 -1
  116. package/libs-ui/react-core/src/FooterContentLogos/index.d.ts +1 -1
  117. package/libs-ui/react-core/src/FooterHeading/index.d.ts +1 -1
  118. package/libs-ui/react-core/src/FooterImage/index.d.ts +1 -1
  119. package/libs-ui/react-core/src/FooterInlineList/index.d.ts +1 -1
  120. package/libs-ui/react-core/src/FooterInlineListItem/index.d.ts +1 -1
  121. package/libs-ui/react-core/src/FooterLink/index.d.ts +1 -1
  122. package/libs-ui/react-core/src/FooterList/index.d.ts +1 -1
  123. package/libs-ui/react-core/src/FooterListItem/index.d.ts +1 -1
  124. package/libs-ui/react-core/src/FooterMeta/index.d.ts +1 -1
  125. package/libs-ui/react-core/src/FooterMetaItem/index.d.ts +1 -1
  126. package/libs-ui/react-core/src/FooterNavigation/index.d.ts +1 -1
  127. package/libs-ui/react-core/src/FooterSection/index.d.ts +1 -1
  128. package/libs-ui/react-core/src/Form/index.d.ts +1 -1
  129. package/libs-ui/react-core/src/GovGRFooter/index.d.ts +1 -1
  130. package/libs-ui/react-core/src/GovGRLogo/index.d.ts +1 -1
  131. package/libs-ui/react-core/src/Grid/index.d.ts +1 -1
  132. package/libs-ui/react-core/src/Header/index.d.ts +1 -1
  133. package/libs-ui/react-core/src/HeaderContent/index.d.ts +1 -1
  134. package/libs-ui/react-core/src/HeaderLogo/index.d.ts +1 -1
  135. package/libs-ui/react-core/src/HeaderSecondaryLogo/index.d.ts +1 -1
  136. package/libs-ui/react-core/src/HeaderSection/index.d.ts +1 -1
  137. package/libs-ui/react-core/src/HeaderSubtitle/index.d.ts +1 -1
  138. package/libs-ui/react-core/src/HeaderTitle/index.d.ts +1 -1
  139. package/libs-ui/react-core/src/Heading/index.d.ts +1 -1
  140. package/libs-ui/react-core/src/HeadingCaption/index.d.ts +1 -1
  141. package/libs-ui/react-core/src/HellenicRepublicLogo/index.d.ts +1 -1
  142. package/libs-ui/react-core/src/HellenicRepublicLogo/logo-el.d.ts +1 -1
  143. package/libs-ui/react-core/src/Hidden/index.d.ts +1 -1
  144. package/libs-ui/react-core/src/Hint/index.d.ts +1 -1
  145. package/libs-ui/react-core/src/Label/index.d.ts +1 -1
  146. package/libs-ui/react-core/src/LabelTitle/index.d.ts +1 -1
  147. package/libs-ui/react-core/src/Layout/index.d.ts +1 -1
  148. package/libs-ui/react-core/src/Link/index.d.ts +1 -1
  149. package/libs-ui/react-core/src/List/index.d.ts +1 -1
  150. package/libs-ui/react-core/src/ListItem/index.d.ts +1 -1
  151. package/libs-ui/react-core/src/Main/index.d.ts +1 -1
  152. package/libs-ui/react-core/src/Masthead/index.d.ts +1 -1
  153. package/libs-ui/react-core/src/MastheadBody/index.d.ts +1 -1
  154. package/libs-ui/react-core/src/NavHorizontal/index.d.ts +1 -1
  155. package/libs-ui/react-core/src/NavHorizontalList/index.d.ts +1 -1
  156. package/libs-ui/react-core/src/NavHorizontalListItem/index.d.ts +1 -1
  157. package/libs-ui/react-core/src/NavVertical/index.d.ts +1 -1
  158. package/libs-ui/react-core/src/NavVerticalItem/index.d.ts +1 -1
  159. package/libs-ui/react-core/src/NormalText/index.d.ts +1 -1
  160. package/libs-ui/react-core/src/NotificationBanner/index.d.ts +1 -1
  161. package/libs-ui/react-core/src/NotificationBannerContent/index.d.ts +1 -1
  162. package/libs-ui/react-core/src/NotificationBannerHeader/index.d.ts +1 -1
  163. package/libs-ui/react-core/src/NotificationBannerHeading/index.d.ts +1 -1
  164. package/libs-ui/react-core/src/NotificationBannerLink/index.d.ts +1 -1
  165. package/libs-ui/react-core/src/PageTitle/index.d.ts +1 -1
  166. package/libs-ui/react-core/src/PageTitleCaption/index.d.ts +1 -1
  167. package/libs-ui/react-core/src/PageTitleHeading/index.d.ts +1 -1
  168. package/libs-ui/react-core/src/PageTitleSection/index.d.ts +1 -1
  169. package/libs-ui/react-core/src/Paragraph/index.d.ts +1 -1
  170. package/libs-ui/react-core/src/PhaseBanner/index.d.ts +1 -1
  171. package/libs-ui/react-core/src/PhaseBannerHeaderContainer/index.d.ts +1 -1
  172. package/libs-ui/react-core/src/PhaseBannerTag/index.d.ts +1 -1
  173. package/libs-ui/react-core/src/PhaseBannerText/index.d.ts +1 -1
  174. package/libs-ui/react-core/src/Radio/index.d.ts +1 -1
  175. package/libs-ui/react-core/src/RadioConditional/index.d.ts +1 -1
  176. package/libs-ui/react-core/src/RadioItem/index.d.ts +1 -1
  177. package/libs-ui/react-core/src/SectionBreak/index.d.ts +1 -1
  178. package/libs-ui/react-core/src/Select/index.d.ts +1 -1
  179. package/libs-ui/react-core/src/SelectOption/index.d.ts +1 -1
  180. package/libs-ui/react-core/src/ServiceBadge/index.d.ts +1 -1
  181. package/libs-ui/react-core/src/SkipLink/index.d.ts +1 -1
  182. package/libs-ui/react-core/src/SummaryList/index.d.ts +1 -1
  183. package/libs-ui/react-core/src/SummaryListItem/index.d.ts +1 -1
  184. package/libs-ui/react-core/src/SummaryListItemAction/index.d.ts +1 -1
  185. package/libs-ui/react-core/src/SummaryListItemKey/index.d.ts +1 -1
  186. package/libs-ui/react-core/src/SummaryListItemValue/index.d.ts +1 -1
  187. package/libs-ui/react-core/src/SvgIcon/index.d.ts +1 -1
  188. package/libs-ui/react-core/src/Table/index.d.ts +1 -1
  189. package/libs-ui/react-core/src/TableBody/index.d.ts +1 -1
  190. package/libs-ui/react-core/src/TableCaption/index.d.ts +1 -1
  191. package/libs-ui/react-core/src/TableContainer/index.d.ts +1 -1
  192. package/libs-ui/react-core/src/TableDataCell/index.d.ts +1 -1
  193. package/libs-ui/react-core/src/TableHead/index.d.ts +1 -1
  194. package/libs-ui/react-core/src/TableHeadCell/index.d.ts +1 -1
  195. package/libs-ui/react-core/src/TableNoDataRow/index.d.ts +1 -1
  196. package/libs-ui/react-core/src/TableRow/index.d.ts +1 -1
  197. package/libs-ui/react-core/src/Tabs/index.d.ts +1 -1
  198. package/libs-ui/react-core/src/TabsHeading/index.d.ts +1 -1
  199. package/libs-ui/react-core/src/TabsList/index.d.ts +1 -1
  200. package/libs-ui/react-core/src/TabsListItem/index.d.ts +1 -1
  201. package/libs-ui/react-core/src/TabsPanel/index.d.ts +1 -1
  202. package/libs-ui/react-core/src/TextArea/index.d.ts +1 -1
  203. package/libs-ui/react-core/src/TextInput/index.d.ts +1 -1
  204. package/libs-ui/react-core/src/Top/index.d.ts +1 -1
  205. package/libs-ui/react-core/src/VisuallyHidden/index.d.ts +1 -1
  206. package/libs-ui/react-core/src/WarningText/index.d.ts +1 -1
  207. package/package.json +3 -3
  208. package/validators/index.js +8 -2
  209. package/validators/utils/int.js +31 -0
  210. package/validators/utils/number.js +27 -0
package/CHANGELOG.md CHANGED
@@ -1,6 +1,22 @@
1
1
  # Change Log - @digigov/form
2
2
 
3
- This log was last generated on Tue, 06 Sep 2022 08:27:15 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 14 Sep 2022 12:03:44 GMT and should not be manually modified.
4
+
5
+ ## 0.8.3
6
+ Wed, 14 Sep 2022 12:03:44 GMT
7
+
8
+ ### Patches
9
+
10
+ - fix inputs with updated props
11
+
12
+ ## 0.8.2
13
+ Tue, 13 Sep 2022 13:10:16 GMT
14
+
15
+ ### Patches
16
+
17
+ - FileInput imports FileUpload component from react-core now. Also, a cache bug has been fixed.
18
+ - fix int validator malfunction
19
+ - Remove unnecessary argument from validators
4
20
 
5
21
  ## 0.8.1
6
22
  Tue, 06 Sep 2022 08:27:15 GMT
@@ -85,9 +85,7 @@ var FieldBase = function FieldBase(props) {
85
85
  "aria-describedby": error && "".concat(name, "-error"),
86
86
  required: required,
87
87
  disabled: editable === false
88
- }, componentProps)) : /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
89
- name: name,
90
- register: register,
88
+ }, componentProps)) : /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({}, register(name), {
91
89
  control: control,
92
90
  error: !!error,
93
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
  };
package/Field/index.js CHANGED
@@ -40,6 +40,7 @@ var Field = function Field(_ref) {
40
40
  field = _useField.field,
41
41
  control = _useField.control,
42
42
  register = _useField.register,
43
+ reset = _useField.reset,
43
44
  error = _useField.error,
44
45
  componentRegistry = _useField.componentRegistry,
45
46
  formState = _useField.formState,
@@ -56,6 +57,7 @@ var Field = function Field(_ref) {
56
57
  if (calculatedField.condition) {
57
58
  return /*#__PURE__*/_react["default"].createElement(_FieldConditional["default"], {
58
59
  control: control,
60
+ reset: reset,
59
61
  register: register,
60
62
  field: calculatedField,
61
63
  error: error
@@ -63,7 +65,6 @@ var Field = function Field(_ref) {
63
65
  }
64
66
 
65
67
  if (calculatedField.type === 'array' && calculatedField.multiplicity) {
66
- // if (error) debugger;
67
68
  calculatedField.name = name;
68
69
  return /*#__PURE__*/_react["default"].createElement(_MultiplicityField["default"], (0, _extends2["default"])({
69
70
  control: control,
@@ -92,6 +93,7 @@ var Field = function Field(_ref) {
92
93
  name: name,
93
94
  control: control,
94
95
  register: register,
96
+ reset: reset,
95
97
  error: error
96
98
  }));
97
99
  };
package/Field/utils.js CHANGED
@@ -101,6 +101,7 @@ 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,
104
105
  trigger = _useContext.trigger,
105
106
  clearErrors = _useContext.clearErrors,
106
107
  errors = _useContext.errors,
@@ -122,6 +123,7 @@ var useField = function useField(name, customField) {
122
123
  field: customField || fieldsMap[name],
123
124
  control: control,
124
125
  register: register,
126
+ reset: reset,
125
127
  trigger: trigger,
126
128
  watch: watch,
127
129
  componentRegistry: componentRegistry,
@@ -34,6 +34,7 @@ var FieldObject = function FieldObject(_ref) {
34
34
  error = _ref.error,
35
35
  control = _ref.control,
36
36
  register = _ref.register,
37
+ reset = _ref.reset,
37
38
  formState = _ref.formState;
38
39
 
39
40
  var _useTranslation = (0, _i18n.useTranslation)(),
@@ -47,6 +48,7 @@ var FieldObject = function FieldObject(_ref) {
47
48
  name: "".concat(name, ".").concat(field.key),
48
49
  control: control,
49
50
  register: register,
51
+ reset: reset,
50
52
  field: field,
51
53
  error: error && error[field.key],
52
54
  formState: formState
@@ -63,6 +65,7 @@ var FieldObjectItem = function FieldObjectItem(_ref2) {
63
65
  error = _ref2.error,
64
66
  control = _ref2.control,
65
67
  formState = _ref2.formState,
68
+ reset = _ref2.reset,
66
69
  register = _ref2.register;
67
70
  var calculatedField = (0, _react.useMemo)(function () {
68
71
  return (0, _utils.calculateField)(children, field);
@@ -71,6 +74,7 @@ var FieldObjectItem = function FieldObjectItem(_ref2) {
71
74
  return /*#__PURE__*/_react["default"].createElement(_FieldBase.FieldBase, (0, _extends2["default"])({}, calculatedField, {
72
75
  name: name,
73
76
  control: control,
77
+ reset: reset,
74
78
  register: register,
75
79
  error: customError
76
80
  }));
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {};
7
+ exports["default"] = void 0;
8
+
9
+ var _IntField = require("@digigov/form/__stories__/IntField");
10
+
11
+ Object.keys(_IntField).forEach(function (key) {
12
+ if (key === "default" || key === "__esModule") return;
13
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
14
+ if (key in exports && exports[key] === _IntField[key]) return;
15
+ Object.defineProperty(exports, key, {
16
+ enumerable: true,
17
+ get: function get() {
18
+ return _IntField[key];
19
+ }
20
+ });
21
+ });
22
+ var _default = {
23
+ title: 'Digigov Form'
24
+ };
25
+ exports["default"] = _default;
@@ -129,6 +129,7 @@ var AddObjects = function AddObjects(_ref) {
129
129
  field = _useField.field,
130
130
  control = _useField.control,
131
131
  register = _useField.register,
132
+ reset = _useField.reset,
132
133
  needsMoreError = _useField.error;
133
134
 
134
135
  var calculatedField = (0, _react.useMemo)(function () {
@@ -171,6 +172,7 @@ var AddObjects = function AddObjects(_ref) {
171
172
  name: calculatedField.key,
172
173
  control: control,
173
174
  register: register,
175
+ reset: reset,
174
176
  error: (extra === null || extra === void 0 ? void 0 : extra.max) - stashedObjects.length === 0 || (extra === null || extra === void 0 ? void 0 : extra.length) - stashedObjects.length === 0 ? error : needsMoreError
175
177
  })));
176
178
  };
@@ -0,0 +1,60 @@
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.IntField = void 0;
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _form = _interopRequireWildcard(require("@digigov/form/"));
15
+
16
+ var _Button = _interopRequireDefault(require("@digigov/ui/core/Button"));
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ var fields = [{
23
+ key: 'number_required',
24
+ label: {
25
+ primary: 'A positive number',
26
+ secondary: 'required'
27
+ },
28
+ required: true,
29
+ type: 'int'
30
+ }, {
31
+ key: 'number_not_required',
32
+ label: {
33
+ primary: 'A positive number',
34
+ secondary: 'not required'
35
+ },
36
+ required: false,
37
+ type: 'int'
38
+ }];
39
+ var initialValues = {};
40
+
41
+ var _ref = /*#__PURE__*/_react["default"].createElement(_Button["default"], {
42
+ type: "submit"
43
+ }, "Submit");
44
+
45
+ var IntField = function IntField() {
46
+ return /*#__PURE__*/_react["default"].createElement(_form["default"], {
47
+ fields: fields,
48
+ onSubmit: function onSubmit(data) {
49
+ console.log(data);
50
+ },
51
+ initial: initialValues
52
+ }, fields.map(function (field) {
53
+ return /*#__PURE__*/_react["default"].createElement(_form.Field, {
54
+ key: field.key,
55
+ name: field.key
56
+ });
57
+ }), _ref);
58
+ };
59
+
60
+ exports.IntField = IntField;
@@ -70,9 +70,7 @@ export var FieldBase = function FieldBase(props) {
70
70
  "aria-describedby": error && "".concat(name, "-error"),
71
71
  required: required,
72
72
  disabled: editable === false
73
- }, componentProps)) : /*#__PURE__*/React.createElement(Component, _extends({
74
- name: name,
75
- register: register,
73
+ }, componentProps)) : /*#__PURE__*/React.createElement(Component, _extends({}, register(name), {
76
74
  control: control,
77
75
  error: !!error,
78
76
  extra: extra,
@@ -7,11 +7,13 @@ var ChildFieldMemo = /*#__PURE__*/React.memo(function ChildField(_ref) {
7
7
  var dependencies = _ref.dependencies,
8
8
  field = _ref.field,
9
9
  control = _ref.control,
10
+ reset = _ref.reset,
10
11
  register = _ref.register,
11
12
  error = _ref.error;
12
13
  var newField = evaluateFieldWithConditions(field, dependencies);
13
14
  return /*#__PURE__*/React.createElement(FieldBase, _extends({}, newField, {
14
15
  name: newField.key,
16
+ reset: reset,
15
17
  control: control,
16
18
  register: register,
17
19
  error: error
@@ -37,6 +39,7 @@ export var FieldConditional = function FieldConditional(_ref2) {
37
39
  var control = _ref2.control,
38
40
  field = _ref2.field,
39
41
  register = _ref2.register,
42
+ reset = _ref2.reset,
40
43
  error = _ref2.error;
41
44
  var dependencyKeys = Object.keys(field.condition);
42
45
  var variables = useWatch({
@@ -48,6 +51,7 @@ export var FieldConditional = function FieldConditional(_ref2) {
48
51
  field: field,
49
52
  control: control,
50
53
  register: register,
54
+ reset: reset,
51
55
  error: error
52
56
  });
53
57
  };
package/es/Field/index.js CHANGED
@@ -16,6 +16,7 @@ export var Field = function Field(_ref) {
16
16
  field = _useField.field,
17
17
  control = _useField.control,
18
18
  register = _useField.register,
19
+ reset = _useField.reset,
19
20
  error = _useField.error,
20
21
  componentRegistry = _useField.componentRegistry,
21
22
  formState = _useField.formState,
@@ -32,6 +33,7 @@ export var Field = function Field(_ref) {
32
33
  if (calculatedField.condition) {
33
34
  return /*#__PURE__*/React.createElement(FieldConditional, {
34
35
  control: control,
36
+ reset: reset,
35
37
  register: register,
36
38
  field: calculatedField,
37
39
  error: error
@@ -39,7 +41,6 @@ export var Field = function Field(_ref) {
39
41
  }
40
42
 
41
43
  if (calculatedField.type === 'array' && calculatedField.multiplicity) {
42
- // if (error) debugger;
43
44
  calculatedField.name = name;
44
45
  return /*#__PURE__*/React.createElement(Multiplicity, _extends({
45
46
  control: control,
@@ -68,6 +69,7 @@ export var Field = function Field(_ref) {
68
69
  name: name,
69
70
  control: control,
70
71
  register: register,
72
+ reset: reset,
71
73
  error: error
72
74
  }));
73
75
  };
package/es/Field/utils.js CHANGED
@@ -80,6 +80,7 @@ export var useField = function useField(name, customField) {
80
80
  fieldsMap = _useContext.fieldsMap,
81
81
  control = _useContext.control,
82
82
  register = _useContext.register,
83
+ reset = _useContext.reset,
83
84
  trigger = _useContext.trigger,
84
85
  clearErrors = _useContext.clearErrors,
85
86
  errors = _useContext.errors,
@@ -101,6 +102,7 @@ export var useField = function useField(name, customField) {
101
102
  field: customField || fieldsMap[name],
102
103
  control: control,
103
104
  register: register,
105
+ reset: reset,
104
106
  trigger: trigger,
105
107
  watch: watch,
106
108
  componentRegistry: componentRegistry,
@@ -12,6 +12,7 @@ export var FieldObject = function FieldObject(_ref) {
12
12
  error = _ref.error,
13
13
  control = _ref.control,
14
14
  register = _ref.register,
15
+ reset = _ref.reset,
15
16
  formState = _ref.formState;
16
17
 
17
18
  var _useTranslation = useTranslation(),
@@ -25,6 +26,7 @@ export var FieldObject = function FieldObject(_ref) {
25
26
  name: "".concat(name, ".").concat(field.key),
26
27
  control: control,
27
28
  register: register,
29
+ reset: reset,
28
30
  field: field,
29
31
  error: error && error[field.key],
30
32
  formState: formState
@@ -39,6 +41,7 @@ var FieldObjectItem = function FieldObjectItem(_ref2) {
39
41
  error = _ref2.error,
40
42
  control = _ref2.control,
41
43
  formState = _ref2.formState,
44
+ reset = _ref2.reset,
42
45
  register = _ref2.register;
43
46
  var calculatedField = useMemo(function () {
44
47
  return calculateField(children, field);
@@ -47,6 +50,7 @@ var FieldObjectItem = function FieldObjectItem(_ref2) {
47
50
  return /*#__PURE__*/React.createElement(FieldBase, _extends({}, calculatedField, {
48
51
  name: name,
49
52
  control: control,
53
+ reset: reset,
50
54
  register: register,
51
55
  error: customError
52
56
  }));
@@ -0,0 +1,4 @@
1
+ export default {
2
+ title: 'Digigov Form'
3
+ };
4
+ export * from '@digigov/form/__stories__/IntField';
@@ -108,6 +108,7 @@ export var AddObjects = function AddObjects(_ref) {
108
108
  field = _useField.field,
109
109
  control = _useField.control,
110
110
  register = _useField.register,
111
+ reset = _useField.reset,
111
112
  needsMoreError = _useField.error;
112
113
 
113
114
  var calculatedField = useMemo(function () {
@@ -150,6 +151,7 @@ export var AddObjects = function AddObjects(_ref) {
150
151
  name: calculatedField.key,
151
152
  control: control,
152
153
  register: register,
154
+ reset: reset,
153
155
  error: (extra === null || extra === void 0 ? void 0 : extra.max) - stashedObjects.length === 0 || (extra === null || extra === void 0 ? void 0 : extra.length) - stashedObjects.length === 0 ? error : needsMoreError
154
156
  })));
155
157
  };
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import FormBuilder, { Field } from '@digigov/form/';
3
+ import Button from '@digigov/ui/core/Button';
4
+ var fields = [{
5
+ key: 'number_required',
6
+ label: {
7
+ primary: 'A positive number',
8
+ secondary: 'required'
9
+ },
10
+ required: true,
11
+ type: 'int'
12
+ }, {
13
+ key: 'number_not_required',
14
+ label: {
15
+ primary: 'A positive number',
16
+ secondary: 'not required'
17
+ },
18
+ required: false,
19
+ type: 'int'
20
+ }];
21
+ var initialValues = {};
22
+
23
+ var _ref = /*#__PURE__*/React.createElement(Button, {
24
+ type: "submit"
25
+ }, "Submit");
26
+
27
+ export var IntField = function IntField() {
28
+ return /*#__PURE__*/React.createElement(FormBuilder, {
29
+ fields: fields,
30
+ onSubmit: function onSubmit(data) {
31
+ console.log(data);
32
+ },
33
+ initial: initialValues
34
+ }, fields.map(function (field) {
35
+ return /*#__PURE__*/React.createElement(Field, {
36
+ key: field.key,
37
+ name: field.key
38
+ });
39
+ }), _ref);
40
+ };
@@ -53,6 +53,7 @@ export var Checkboxes = function Checkboxes(_ref) {
53
53
  checked: value.includes(option.value),
54
54
  onChange: handleChange(option.value)
55
55
  }, option, _extends({}, props, {
56
+ reset: undefined,
56
57
  defaultValue: undefined,
57
58
  onBlur: undefined,
58
59
  required: undefined,
@@ -0,0 +1,6 @@
1
+ import FileInput from '@digigov/form/inputs/FileInput';
2
+ export default {
3
+ title: 'Digigov Form/inputs/FileInput',
4
+ component: FileInput
5
+ };
6
+ export * from '@digigov/form/inputs/FileInput/__stories__/Default';
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import FormBuilder, { Field } from '@digigov/form';
3
+ import { Button } from '@digigov/ui/core';
4
+
5
+ var _ref = /*#__PURE__*/React.createElement(Button, null, "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1");
6
+
7
+ export var Default = function Default() {
8
+ return /*#__PURE__*/React.createElement(FormBuilder, {
9
+ onSubmit: function onSubmit(data) {
10
+ debugger;
11
+ console.log(data);
12
+ }
13
+ }, /*#__PURE__*/React.createElement(Field, {
14
+ key: 'string',
15
+ name: "file",
16
+ type: "file",
17
+ required: true,
18
+ label: {
19
+ primary: 'Βιογραφικό σημείωμα'
20
+ }
21
+ }), _ref);
22
+ };
23
+ export default Default;
@@ -1,21 +1,23 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
2
  import _extends from "@babel/runtime/helpers/extends";
2
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
4
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["name", "extra", "disabled", "reset"];
5
+ var _excluded = ["name", "extra", "disabled", "reset", "onChange"];
5
6
  import React, { useState } from 'react';
6
- import clsx from 'clsx';
7
7
  import { useTranslation } from '@digigov/ui/app/i18n';
8
8
  import Paragraph from '@digigov/ui/typography/Paragraph';
9
9
  import CoreHint from '@digigov/react-core/Hint';
10
10
  import Button from '@digigov/ui/core/Button';
11
+ import FileUploadContainer from '@digigov/react-core/FileUploadContainer';
12
+ import FileUpload from '@digigov/react-core/FileUpload';
11
13
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
- export var FileInput = function FileInput(_ref) {
14
+ export var FileInput = /*#__PURE__*/React.forwardRef(function FileInput(_ref, ref) {
13
15
  var name = _ref.name,
14
16
  _ref$extra = _ref.extra,
15
17
  extra = _ref$extra === void 0 ? {} : _ref$extra,
16
18
  disabled = _ref.disabled,
17
- _ref$reset = _ref.reset,
18
- reset = _ref$reset === void 0 ? true : _ref$reset,
19
+ reset = _ref.reset,
20
+ onChange = _ref.onChange,
19
21
  props = _objectWithoutProperties(_ref, _excluded);
20
22
 
21
23
  var _useTranslation = useTranslation(),
@@ -26,35 +28,35 @@ export var FileInput = function FileInput(_ref) {
26
28
  files = _useState2[0],
27
29
  setFiles = _useState2[1];
28
30
 
29
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
30
- className: clsx(extra.className, files.length > 0 && files && 'govgr-uploaded-file', true && 'govgr-field-file')
31
- }, files !== null && files !== void 0 && files.length ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Paragraph, null, /*#__PURE__*/React.createElement("b", null, t('upload.file'), ":"), " ", "".concat(files.join(', ')))) : /*#__PURE__*/React.createElement(CoreHint, null, t('upload.no_file')), /*#__PURE__*/React.createElement("label", {
32
- tabIndex: 0,
33
- role: "button",
34
- className: clsx(extra.className, (!files || (files === null || files === void 0 ? void 0 : files.length) === 0) && 'govgr-btn', (!files || (files === null || files === void 0 ? void 0 : files.length) === 0) && 'govgr-btn-secondary', true && 'govgr-label-file', (files === null || files === void 0 ? void 0 : files.length) && 'govgr-link')
35
- }, /*#__PURE__*/React.createElement("input", _extends({
36
- type: "file",
31
+ var handleChange = function handleChange(e) {
32
+ var target = e.target;
33
+ var selectedFiles = Array.from(target.files).map(function (_ref2) {
34
+ var name = _ref2.name;
35
+ return name;
36
+ });
37
+ setFiles(selectedFiles); // proceed calling the onChange provided
38
+ // by react-hook-form
39
+
40
+ onChange(e);
41
+ };
42
+
43
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FileUploadContainer, {
44
+ hasUploadedFile: files && files.length > 0
45
+ }, files !== null && files !== void 0 && files.length ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Paragraph, null, /*#__PURE__*/React.createElement("b", null, t('upload.file'), ":"), " ", "".concat(files.join(', ')))) : /*#__PURE__*/React.createElement(CoreHint, null, t('upload.no_file')), /*#__PURE__*/React.createElement(FileUpload, _extends({
46
+ ref: ref,
47
+ hasFiles: !!(files !== null && files !== void 0 && files.length),
37
48
  name: name,
38
49
  disabled: disabled,
39
- style: {
40
- display: 'none'
41
- },
42
- className: "govgr-file-upload",
43
- onChange: function onChange(e) {
44
- var target = e.target;
45
- var selectedFiles = Array.from(target.files).map(function (_ref2) {
46
- var name = _ref2.name;
47
- return name;
48
- });
49
- setFiles(selectedFiles);
50
- }
50
+ onChange: handleChange
51
51
  }, _extends({}, props, {
52
52
  required: undefined
53
- }))), files !== null && files !== void 0 && files.length ? t('upload.change_file') : t('upload.choose_file')), reset && files !== undefined && files.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
53
+ })), files !== null && files !== void 0 && files.length ? t('upload.change_file') : t('upload.choose_file')), files !== undefined && files.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
54
54
  variant: "link",
55
- onClick: function onClick() {
55
+ onClick: function onClick(event) {
56
+ event.preventDefault();
57
+ reset(_defineProperty({}, name, ''));
56
58
  setFiles(undefined);
57
59
  }
58
60
  }, t('upload.reset_file')))));
59
- };
61
+ });
60
62
  export default FileInput;
@@ -6,7 +6,7 @@ import TextInput from '@digigov/react-core/TextInput';
6
6
  import TextArea from '@digigov/react-core/TextArea';
7
7
  var TYPES_MAP = {
8
8
  string: 'text',
9
- "int": 'number',
9
+ "int": 'text',
10
10
  text: 'text',
11
11
  date: 'date'
12
12
  };
@@ -38,6 +38,7 @@ export var Input = /*#__PURE__*/React.forwardRef(function WrappedInput(_ref, ref
38
38
  rows: rows,
39
39
  ref: ref
40
40
  }, _extends({}, props, {
41
+ reset: undefined,
41
42
  required: undefined,
42
43
  type: fieldType
43
44
  })));
@@ -48,6 +49,7 @@ export var Input = /*#__PURE__*/React.forwardRef(function WrappedInput(_ref, ref
48
49
  className: className,
49
50
  ref: ref
50
51
  }, _extends({}, props, {
52
+ reset: undefined,
51
53
  required: undefined
52
54
  })));
53
55
  }
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["register", "name", "control", "extra", "disabled"];
3
+ var _excluded = ["name", "control", "extra", "disabled"];
4
4
  import React from 'react';
5
5
  import Radio from '@digigov/react-core/Radio';
6
6
  import RadioItem from '@digigov/react-core/RadioItem';
@@ -8,8 +8,7 @@ import { useTranslation } from '@digigov/ui/app/i18n';
8
8
  import { useWatch } from 'react-hook-form';
9
9
  import Hint from '@digigov/react-core/Hint';
10
10
  export var RadioButtonsGroup = function RadioButtonsGroup(_ref) {
11
- var register = _ref.register,
12
- name = _ref.name,
11
+ var name = _ref.name,
13
12
  control = _ref.control,
14
13
  _ref$extra = _ref.extra,
15
14
  options = _ref$extra.options,
@@ -36,10 +35,11 @@ export var RadioButtonsGroup = function RadioButtonsGroup(_ref) {
36
35
  selected = _ref2.selected;
37
36
  return /*#__PURE__*/React.createElement("div", {
38
37
  key: "".concat(name, ".").concat(v)
39
- }, /*#__PURE__*/React.createElement(RadioItem, _extends({}, register(name), {
38
+ }, /*#__PURE__*/React.createElement(RadioItem, _extends({
40
39
  value: v,
41
40
  disabled: disabled || optionDisabled
42
41
  }, _extends({}, props, {
42
+ reset: undefined,
43
43
  required: undefined,
44
44
  'aria-describedby': undefined,
45
45
  type: 'radio'
@@ -18,6 +18,7 @@ export var Select = /*#__PURE__*/React.forwardRef(function WrappedSelect(_ref, r
18
18
  name: name,
19
19
  disabled: disabled
20
20
  }, _extends({}, props, {
21
+ reset: undefined,
21
22
  required: undefined
22
23
  })), options.map(function (_ref2) {
23
24
  var value = _ref2.value,
@@ -4,6 +4,8 @@ import { useMemo } from 'react';
4
4
  import dayjs from 'dayjs';
5
5
  import customParseFormat from 'dayjs/plugin/customParseFormat';
6
6
  import { getYupObjectShape, AFM_VALIDATOR, FILE_MAX_SIZE_VALIDATOR, IBAN_VALIDATOR, MOBILE_PHONE_VALIDATOR, PHONE_NUMBER_VALIDATOR, POSTALCODE_VALIDATOR, UUID4_VALIDATOR } from '@digigov/form/validators/utils';
7
+ import { NUMBER_VALIDATOR } from '@digigov/form/validators/utils/number';
8
+ import { INT_VALIDATOR } from '@digigov/form/validators/utils/int';
7
9
  dayjs.extend(customParseFormat);
8
10
  var VALID_DATE_FORMATS = ['DD/MM/YYYY'];
9
11
  var DATE_CACHE = {};
@@ -52,7 +54,7 @@ export var getYUPTypeMap = function getYUPTypeMap() {
52
54
  max: field.extra.max
53
55
  }
54
56
  });
55
- return arrayValidator; // .required(field.required)
57
+ return arrayValidator;
56
58
  } else if (typeof field.extra.of === 'string') {
57
59
  return yup.array().of(yupTypeMap[field.extra.of]());
58
60
  } else {
@@ -61,7 +63,9 @@ export var getYUPTypeMap = function getYUPTypeMap() {
61
63
  }
62
64
  },
63
65
  "int": function int() {
64
- return yup.number().typeError('form.error.number').positive('form.error.positive_number');
66
+ return yup.mixed().transform(function (_, val) {
67
+ return val !== '' ? Number(val) : null;
68
+ }).test(NUMBER_VALIDATOR()).test(INT_VALIDATOR());
65
69
  },
66
70
  email: function email() {
67
71
  return yup.string().email('form.error.email');