@digigov/form 0.8.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 (199) hide show
  1. package/CHANGELOG.md +10 -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/FileInput/FileInput.stories.js +6 -0
  19. package/es/inputs/FileInput/__stories__/Default.js +23 -0
  20. package/es/inputs/FileInput/index.js +31 -27
  21. package/es/inputs/Input/index.js +1 -1
  22. package/es/validators/index.js +6 -2
  23. package/es/validators/utils/int.js +20 -0
  24. package/es/validators/utils/number.js +16 -0
  25. package/esm/Field/FieldBase.js +1 -3
  26. package/esm/Field/FieldConditional.js +4 -0
  27. package/esm/Field/index.js +3 -1
  28. package/esm/Field/utils.js +2 -0
  29. package/esm/FieldObject/index.js +4 -0
  30. package/esm/Form.stories.js +4 -0
  31. package/esm/MultiplicityField/add-objects.js +2 -0
  32. package/esm/__stories__/IntField.js +40 -0
  33. package/esm/index.js +1 -1
  34. package/esm/inputs/FileInput/FileInput.stories.js +6 -0
  35. package/esm/inputs/FileInput/__stories__/Default.js +23 -0
  36. package/esm/inputs/FileInput/index.js +31 -27
  37. package/esm/inputs/Input/index.js +1 -1
  38. package/esm/validators/index.js +6 -2
  39. package/esm/validators/utils/int.js +20 -0
  40. package/esm/validators/utils/number.js +16 -0
  41. package/inputs/FileInput/FileInput.stories.js +30 -0
  42. package/inputs/FileInput/__stories__/Default.js +43 -0
  43. package/inputs/FileInput/index.js +34 -27
  44. package/inputs/Input/index.js +1 -1
  45. package/libs/form/src/Field/types.d.ts +3 -0
  46. package/libs/form/src/FieldObject/index.d.ts +2 -0
  47. package/libs/form/src/Form.stories.d.ts +5 -0
  48. package/libs/form/src/__stories__/IntField.d.ts +1 -0
  49. package/libs/form/src/inputs/FileInput/FileInput.stories.d.ts +7 -0
  50. package/libs/form/src/inputs/FileInput/__stories__/Default.d.ts +2 -0
  51. package/libs/form/src/inputs/FileInput/index.d.ts +0 -1
  52. package/libs/form/src/validators/utils/int.d.ts +3 -0
  53. package/libs/form/src/validators/utils/number.d.ts +3 -0
  54. package/libs/ui/src/core/Accordion/index.d.ts +3 -3
  55. package/libs/ui/src/core/Blockquote/index.d.ts +1 -1
  56. package/libs/ui/src/core/Button/BackButton.d.ts +1 -1
  57. package/libs/ui/src/core/Button/ButtonLink.d.ts +1 -1
  58. package/libs/ui/src/core/Button/index.d.ts +1 -1
  59. package/libs/ui/src/core/Divider/index.d.ts +1 -1
  60. package/libs/ui/src/locales/el.d.ts +1 -1
  61. package/libs/ui/src/typography/Caption/index.d.ts +1 -1
  62. package/libs-ui/react-core/src/Accordion/index.d.ts +1 -1
  63. package/libs-ui/react-core/src/AccordionControls/index.d.ts +1 -1
  64. package/libs-ui/react-core/src/AccordionSection/index.d.ts +1 -1
  65. package/libs-ui/react-core/src/AccordionSectionContent/index.d.ts +1 -1
  66. package/libs-ui/react-core/src/AccordionSectionHeader/index.d.ts +1 -1
  67. package/libs-ui/react-core/src/AccordionSectionSummary/index.d.ts +1 -1
  68. package/libs-ui/react-core/src/AccordionSectionSummaryHeading/index.d.ts +1 -1
  69. package/libs-ui/react-core/src/Aside/index.d.ts +1 -1
  70. package/libs-ui/react-core/src/BackLink/index.d.ts +1 -1
  71. package/libs-ui/react-core/src/Blockquote/index.d.ts +1 -1
  72. package/libs-ui/react-core/src/Bottom/index.d.ts +1 -1
  73. package/libs-ui/react-core/src/Breadcrumbs/index.d.ts +1 -1
  74. package/libs-ui/react-core/src/BreadcrumbsList/index.d.ts +1 -1
  75. package/libs-ui/react-core/src/BreadcrumbsListItem/index.d.ts +1 -1
  76. package/libs-ui/react-core/src/Button/index.d.ts +1 -1
  77. package/libs-ui/react-core/src/ButtonGroup/index.d.ts +1 -1
  78. package/libs-ui/react-core/src/ButtonLink/index.d.ts +1 -1
  79. package/libs-ui/react-core/src/CallToAction/index.d.ts +1 -1
  80. package/libs-ui/react-core/src/Card/index.d.ts +1 -1
  81. package/libs-ui/react-core/src/CardAction/index.d.ts +1 -1
  82. package/libs-ui/react-core/src/CardHeading/index.d.ts +1 -1
  83. package/libs-ui/react-core/src/CardText/index.d.ts +1 -1
  84. package/libs-ui/react-core/src/Checkbox/index.d.ts +1 -1
  85. package/libs-ui/react-core/src/CheckboxConditional/index.d.ts +1 -1
  86. package/libs-ui/react-core/src/CheckboxItem/index.d.ts +1 -1
  87. package/libs-ui/react-core/src/Confirmation/index.d.ts +1 -1
  88. package/libs-ui/react-core/src/ConfirmationBody/index.d.ts +1 -1
  89. package/libs-ui/react-core/src/ConfirmationTitle/index.d.ts +1 -1
  90. package/libs-ui/react-core/src/Container/index.d.ts +1 -1
  91. package/libs-ui/react-core/src/Copyright/index.d.ts +1 -1
  92. package/libs-ui/react-core/src/DateInput/index.d.ts +1 -1
  93. package/libs-ui/react-core/src/DateInputItem/index.d.ts +1 -1
  94. package/libs-ui/react-core/src/Details/index.d.ts +1 -1
  95. package/libs-ui/react-core/src/DetailsContent/index.d.ts +1 -1
  96. package/libs-ui/react-core/src/DetailsSummary/index.d.ts +1 -1
  97. package/libs-ui/react-core/src/ErrorMessage/index.d.ts +1 -1
  98. package/libs-ui/react-core/src/ErrorSummary/index.d.ts +1 -1
  99. package/libs-ui/react-core/src/Field/index.d.ts +1 -1
  100. package/libs-ui/react-core/src/Fieldset/index.d.ts +1 -1
  101. package/libs-ui/react-core/src/FieldsetLegend/index.d.ts +1 -1
  102. package/libs-ui/react-core/src/FileUpload/index.d.ts +9 -1
  103. package/libs-ui/react-core/src/Footer/index.d.ts +1 -1
  104. package/libs-ui/react-core/src/FooterContainer/index.d.ts +1 -1
  105. package/libs-ui/react-core/src/FooterContent/index.d.ts +1 -1
  106. package/libs-ui/react-core/src/FooterContentLogos/index.d.ts +1 -1
  107. package/libs-ui/react-core/src/FooterHeading/index.d.ts +1 -1
  108. package/libs-ui/react-core/src/FooterImage/index.d.ts +1 -1
  109. package/libs-ui/react-core/src/FooterInlineList/index.d.ts +1 -1
  110. package/libs-ui/react-core/src/FooterInlineListItem/index.d.ts +1 -1
  111. package/libs-ui/react-core/src/FooterLink/index.d.ts +1 -1
  112. package/libs-ui/react-core/src/FooterList/index.d.ts +1 -1
  113. package/libs-ui/react-core/src/FooterListItem/index.d.ts +1 -1
  114. package/libs-ui/react-core/src/FooterMeta/index.d.ts +1 -1
  115. package/libs-ui/react-core/src/FooterMetaItem/index.d.ts +1 -1
  116. package/libs-ui/react-core/src/FooterNavigation/index.d.ts +1 -1
  117. package/libs-ui/react-core/src/FooterSection/index.d.ts +1 -1
  118. package/libs-ui/react-core/src/Form/index.d.ts +1 -1
  119. package/libs-ui/react-core/src/GovGRFooter/index.d.ts +1 -1
  120. package/libs-ui/react-core/src/GovGRLogo/index.d.ts +1 -1
  121. package/libs-ui/react-core/src/Grid/index.d.ts +1 -1
  122. package/libs-ui/react-core/src/Header/index.d.ts +1 -1
  123. package/libs-ui/react-core/src/HeaderContent/index.d.ts +1 -1
  124. package/libs-ui/react-core/src/HeaderLogo/index.d.ts +1 -1
  125. package/libs-ui/react-core/src/HeaderSecondaryLogo/index.d.ts +1 -1
  126. package/libs-ui/react-core/src/HeaderSection/index.d.ts +1 -1
  127. package/libs-ui/react-core/src/HeaderSubtitle/index.d.ts +1 -1
  128. package/libs-ui/react-core/src/HeaderTitle/index.d.ts +1 -1
  129. package/libs-ui/react-core/src/Heading/index.d.ts +1 -1
  130. package/libs-ui/react-core/src/HeadingCaption/index.d.ts +1 -1
  131. package/libs-ui/react-core/src/HellenicRepublicLogo/index.d.ts +1 -1
  132. package/libs-ui/react-core/src/Hidden/index.d.ts +1 -1
  133. package/libs-ui/react-core/src/Hint/index.d.ts +1 -1
  134. package/libs-ui/react-core/src/Label/index.d.ts +1 -1
  135. package/libs-ui/react-core/src/LabelTitle/index.d.ts +1 -1
  136. package/libs-ui/react-core/src/Layout/index.d.ts +1 -1
  137. package/libs-ui/react-core/src/Link/index.d.ts +1 -1
  138. package/libs-ui/react-core/src/List/index.d.ts +1 -1
  139. package/libs-ui/react-core/src/ListItem/index.d.ts +1 -1
  140. package/libs-ui/react-core/src/Main/index.d.ts +1 -1
  141. package/libs-ui/react-core/src/Masthead/index.d.ts +1 -1
  142. package/libs-ui/react-core/src/MastheadBody/index.d.ts +1 -1
  143. package/libs-ui/react-core/src/NavHorizontal/index.d.ts +1 -1
  144. package/libs-ui/react-core/src/NavHorizontalList/index.d.ts +1 -1
  145. package/libs-ui/react-core/src/NavHorizontalListItem/index.d.ts +1 -1
  146. package/libs-ui/react-core/src/NavVertical/index.d.ts +1 -1
  147. package/libs-ui/react-core/src/NavVerticalItem/index.d.ts +1 -1
  148. package/libs-ui/react-core/src/NormalText/index.d.ts +1 -1
  149. package/libs-ui/react-core/src/NotificationBanner/index.d.ts +1 -1
  150. package/libs-ui/react-core/src/NotificationBannerContent/index.d.ts +1 -1
  151. package/libs-ui/react-core/src/NotificationBannerHeader/index.d.ts +1 -1
  152. package/libs-ui/react-core/src/NotificationBannerHeading/index.d.ts +1 -1
  153. package/libs-ui/react-core/src/NotificationBannerLink/index.d.ts +1 -1
  154. package/libs-ui/react-core/src/PageTitle/index.d.ts +1 -1
  155. package/libs-ui/react-core/src/PageTitleCaption/index.d.ts +1 -1
  156. package/libs-ui/react-core/src/PageTitleHeading/index.d.ts +1 -1
  157. package/libs-ui/react-core/src/PageTitleSection/index.d.ts +1 -1
  158. package/libs-ui/react-core/src/Paragraph/index.d.ts +1 -1
  159. package/libs-ui/react-core/src/PhaseBanner/index.d.ts +1 -1
  160. package/libs-ui/react-core/src/PhaseBannerHeaderContainer/index.d.ts +1 -1
  161. package/libs-ui/react-core/src/PhaseBannerTag/index.d.ts +1 -1
  162. package/libs-ui/react-core/src/PhaseBannerText/index.d.ts +1 -1
  163. package/libs-ui/react-core/src/Radio/index.d.ts +1 -1
  164. package/libs-ui/react-core/src/RadioConditional/index.d.ts +1 -1
  165. package/libs-ui/react-core/src/RadioItem/index.d.ts +1 -1
  166. package/libs-ui/react-core/src/SectionBreak/index.d.ts +1 -1
  167. package/libs-ui/react-core/src/Select/index.d.ts +1 -1
  168. package/libs-ui/react-core/src/SelectOption/index.d.ts +1 -1
  169. package/libs-ui/react-core/src/ServiceBadge/index.d.ts +1 -1
  170. package/libs-ui/react-core/src/SkipLink/index.d.ts +1 -1
  171. package/libs-ui/react-core/src/SummaryList/index.d.ts +1 -1
  172. package/libs-ui/react-core/src/SummaryListItem/index.d.ts +1 -1
  173. package/libs-ui/react-core/src/SummaryListItemAction/index.d.ts +1 -1
  174. package/libs-ui/react-core/src/SummaryListItemKey/index.d.ts +1 -1
  175. package/libs-ui/react-core/src/SummaryListItemValue/index.d.ts +1 -1
  176. package/libs-ui/react-core/src/SvgIcon/index.d.ts +1 -1
  177. package/libs-ui/react-core/src/Table/index.d.ts +1 -1
  178. package/libs-ui/react-core/src/TableBody/index.d.ts +1 -1
  179. package/libs-ui/react-core/src/TableCaption/index.d.ts +1 -1
  180. package/libs-ui/react-core/src/TableContainer/index.d.ts +1 -1
  181. package/libs-ui/react-core/src/TableDataCell/index.d.ts +1 -1
  182. package/libs-ui/react-core/src/TableHead/index.d.ts +1 -1
  183. package/libs-ui/react-core/src/TableHeadCell/index.d.ts +1 -1
  184. package/libs-ui/react-core/src/TableNoDataRow/index.d.ts +1 -1
  185. package/libs-ui/react-core/src/TableRow/index.d.ts +1 -1
  186. package/libs-ui/react-core/src/Tabs/index.d.ts +1 -1
  187. package/libs-ui/react-core/src/TabsHeading/index.d.ts +1 -1
  188. package/libs-ui/react-core/src/TabsList/index.d.ts +1 -1
  189. package/libs-ui/react-core/src/TabsListItem/index.d.ts +1 -1
  190. package/libs-ui/react-core/src/TabsPanel/index.d.ts +1 -1
  191. package/libs-ui/react-core/src/TextArea/index.d.ts +1 -1
  192. package/libs-ui/react-core/src/TextInput/index.d.ts +1 -1
  193. package/libs-ui/react-core/src/Top/index.d.ts +1 -1
  194. package/libs-ui/react-core/src/VisuallyHidden/index.d.ts +1 -1
  195. package/libs-ui/react-core/src/WarningText/index.d.ts +1 -1
  196. package/package.json +3 -3
  197. package/validators/index.js +8 -2
  198. package/validators/utils/int.js +31 -0
  199. package/validators/utils/number.js +27 -0
@@ -22,6 +22,10 @@ var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customPars
22
22
 
23
23
  var _utils = require("@digigov/form/validators/utils");
24
24
 
25
+ var _number = require("@digigov/form/validators/utils/number");
26
+
27
+ var _int = require("@digigov/form/validators/utils/int");
28
+
25
29
  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); }
26
30
 
27
31
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
@@ -75,7 +79,7 @@ var getYUPTypeMap = function getYUPTypeMap() {
75
79
  max: field.extra.max
76
80
  }
77
81
  });
78
- return arrayValidator; // .required(field.required)
82
+ return arrayValidator;
79
83
  } else if (typeof field.extra.of === 'string') {
80
84
  return yup.array().of(yupTypeMap[field.extra.of]());
81
85
  } else {
@@ -84,7 +88,9 @@ var getYUPTypeMap = function getYUPTypeMap() {
84
88
  }
85
89
  },
86
90
  "int": function int() {
87
- return yup.number().typeError('form.error.number').positive('form.error.positive_number');
91
+ return yup.mixed().transform(function (_, val) {
92
+ return val !== '' ? Number(val) : null;
93
+ }).test((0, _number.NUMBER_VALIDATOR)()).test((0, _int.INT_VALIDATOR)());
88
94
  },
89
95
  email: function email() {
90
96
  return yup.string().email('form.error.email');
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.INT_VALIDATOR = void 0;
7
+ exports.validateIntNumber = validateIntNumber;
8
+
9
+ function validateIntNumber(number) {
10
+ if (number === undefined) {
11
+ return false;
12
+ } else {
13
+ return Number.isInteger(number) && Number(number) > 0;
14
+ }
15
+ }
16
+
17
+ var INT_VALIDATOR = function INT_VALIDATOR() {
18
+ return {
19
+ name: 'int-validator',
20
+ message: 'form.error.positive_integer_number',
21
+ test: function test(value) {
22
+ if (value === null) {
23
+ return true;
24
+ }
25
+
26
+ return validateIntNumber(value);
27
+ }
28
+ };
29
+ };
30
+
31
+ exports.INT_VALIDATOR = INT_VALIDATOR;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NUMBER_VALIDATOR = void 0;
7
+ exports.validateNumber = validateNumber;
8
+
9
+ function validateNumber(number) {
10
+ return !Number.isNaN(number);
11
+ }
12
+
13
+ var NUMBER_VALIDATOR = function NUMBER_VALIDATOR() {
14
+ return {
15
+ name: 'number-validator',
16
+ message: 'form.error.number',
17
+ test: function test(value) {
18
+ if (value === null) {
19
+ return true;
20
+ }
21
+
22
+ return validateNumber(value);
23
+ }
24
+ };
25
+ };
26
+
27
+ exports.NUMBER_VALIDATOR = NUMBER_VALIDATOR;