@digigov/form 0.10.15 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/Field/utils.js +7 -0
  3. package/FieldArray/__stories__/Default.js +0 -1
  4. package/FieldArray/__stories__/WithExactLength.js +0 -1
  5. package/Form.stories.d.ts +0 -2
  6. package/Form.stories.js +0 -29
  7. package/FormBuilder/__stories__/Default.js +0 -1
  8. package/MultiplicityField/__stories__/Default.js +0 -1
  9. package/MultiplicityField/__stories__/WithExactLength.js +0 -1
  10. package/MultiplicityField/__stories__/WithMaxLength.js +0 -1
  11. package/MultiplicityField/__stories__/WithMinAndMaxLength.js +0 -1
  12. package/MultiplicityField/__stories__/WithMinLength.js +0 -1
  13. package/es/Field/utils.js +6 -0
  14. package/es/FieldArray/__stories__/Default.js +0 -1
  15. package/es/FieldArray/__stories__/WithExactLength.js +0 -1
  16. package/es/Form.stories.js +1 -3
  17. package/es/FormBuilder/__stories__/Default.js +0 -1
  18. package/es/MultiplicityField/__stories__/Default.js +0 -1
  19. package/es/MultiplicityField/__stories__/WithExactLength.js +0 -1
  20. package/es/MultiplicityField/__stories__/WithMaxLength.js +0 -1
  21. package/es/MultiplicityField/__stories__/WithMinAndMaxLength.js +0 -1
  22. package/es/MultiplicityField/__stories__/WithMinLength.js +0 -1
  23. package/es/inputs/AutoComplete/AutoComplete.stories.js +7 -0
  24. package/{esm/__stories__/AutoCompleteField.js → es/inputs/AutoComplete/__stories__/Default.js} +1 -1
  25. package/es/inputs/Checkboxes/__stories__/Default.js +0 -1
  26. package/es/inputs/DateInput/__stories__/Default.js +0 -1
  27. package/es/inputs/DateInput/index.js +2 -1
  28. package/es/inputs/FileInput/__stories__/Default.js +0 -1
  29. package/es/inputs/Input/__stories__/AFM.js +0 -1
  30. package/es/inputs/Input/__stories__/Boolean.js +0 -1
  31. package/es/inputs/Input/__stories__/Default.js +0 -1
  32. package/es/inputs/Input/__stories__/IBAN.js +0 -1
  33. package/es/inputs/Input/__stories__/Integer.js +8 -1
  34. package/es/inputs/Input/__stories__/MobilePhone.js +0 -1
  35. package/es/inputs/Input/__stories__/PhoneNumber.js +0 -1
  36. package/es/inputs/Input/__stories__/PostalCode.js +0 -1
  37. package/es/inputs/Label/__stories__/Default.js +0 -1
  38. package/es/inputs/OtpInput/OtpInput.stories.js +7 -0
  39. package/es/inputs/OtpInput/__stories__/Default.js +31 -0
  40. package/es/inputs/OtpInput/index.js +167 -0
  41. package/es/inputs/Radio/__stories__/Default.js +0 -1
  42. package/es/inputs/Select/__stories__/Default.js +0 -1
  43. package/es/inputs/index.js +1 -0
  44. package/es/registry.js +4 -0
  45. package/es/validators/index.js +4 -1
  46. package/es/validators/utils/index.js +5 -4
  47. package/es/validators/utils/otp.js +26 -0
  48. package/esm/Field/utils.js +6 -0
  49. package/esm/FieldArray/__stories__/Default.js +0 -1
  50. package/esm/FieldArray/__stories__/WithExactLength.js +0 -1
  51. package/esm/Form.stories.js +1 -3
  52. package/esm/FormBuilder/__stories__/Default.js +0 -1
  53. package/esm/MultiplicityField/__stories__/Default.js +0 -1
  54. package/esm/MultiplicityField/__stories__/WithExactLength.js +0 -1
  55. package/esm/MultiplicityField/__stories__/WithMaxLength.js +0 -1
  56. package/esm/MultiplicityField/__stories__/WithMinAndMaxLength.js +0 -1
  57. package/esm/MultiplicityField/__stories__/WithMinLength.js +0 -1
  58. package/esm/index.js +1 -1
  59. package/esm/inputs/AutoComplete/AutoComplete.stories.js +7 -0
  60. package/{es/__stories__/AutoCompleteField.js → esm/inputs/AutoComplete/__stories__/Default.js} +1 -1
  61. package/esm/inputs/Checkboxes/__stories__/Default.js +0 -1
  62. package/esm/inputs/DateInput/__stories__/Default.js +0 -1
  63. package/esm/inputs/DateInput/index.js +2 -1
  64. package/esm/inputs/FileInput/__stories__/Default.js +0 -1
  65. package/esm/inputs/Input/__stories__/AFM.js +0 -1
  66. package/esm/inputs/Input/__stories__/Boolean.js +0 -1
  67. package/esm/inputs/Input/__stories__/Default.js +0 -1
  68. package/esm/inputs/Input/__stories__/IBAN.js +0 -1
  69. package/esm/inputs/Input/__stories__/Integer.js +8 -1
  70. package/esm/inputs/Input/__stories__/MobilePhone.js +0 -1
  71. package/esm/inputs/Input/__stories__/PhoneNumber.js +0 -1
  72. package/esm/inputs/Input/__stories__/PostalCode.js +0 -1
  73. package/esm/inputs/Label/__stories__/Default.js +0 -1
  74. package/esm/inputs/OtpInput/OtpInput.stories.js +7 -0
  75. package/esm/inputs/OtpInput/__stories__/Default.js +31 -0
  76. package/esm/inputs/OtpInput/index.js +167 -0
  77. package/esm/inputs/Radio/__stories__/Default.js +0 -1
  78. package/esm/inputs/Select/__stories__/Default.js +0 -1
  79. package/esm/inputs/index.js +1 -0
  80. package/esm/registry.js +4 -0
  81. package/esm/validators/index.js +4 -1
  82. package/esm/validators/utils/index.js +5 -4
  83. package/esm/validators/utils/otp.js +26 -0
  84. package/inputs/AutoComplete/AutoComplete.stories.d.ts +8 -0
  85. package/inputs/AutoComplete/AutoComplete.stories.js +31 -0
  86. package/inputs/AutoComplete/__stories__/Default.d.ts +1 -0
  87. package/{__stories__/AutoCompleteField.js → inputs/AutoComplete/__stories__/Default.js} +3 -3
  88. package/inputs/Checkboxes/__stories__/Default.js +0 -1
  89. package/inputs/DateInput/__stories__/Default.js +0 -1
  90. package/inputs/DateInput/index.js +2 -1
  91. package/inputs/FileInput/__stories__/Default.js +0 -1
  92. package/inputs/Input/__stories__/AFM.js +0 -1
  93. package/inputs/Input/__stories__/Boolean.js +0 -1
  94. package/inputs/Input/__stories__/Default.js +0 -1
  95. package/inputs/Input/__stories__/IBAN.js +0 -1
  96. package/inputs/Input/__stories__/Integer.js +8 -1
  97. package/inputs/Input/__stories__/MobilePhone.js +0 -1
  98. package/inputs/Input/__stories__/PhoneNumber.js +0 -1
  99. package/inputs/Input/__stories__/PostalCode.js +0 -1
  100. package/inputs/Label/__stories__/Default.js +0 -1
  101. package/inputs/OtpInput/OtpInput.stories.d.ts +8 -0
  102. package/inputs/OtpInput/OtpInput.stories.js +31 -0
  103. package/inputs/OtpInput/__stories__/Default.d.ts +2 -0
  104. package/inputs/OtpInput/__stories__/Default.js +52 -0
  105. package/inputs/OtpInput/index.d.ts +8 -0
  106. package/inputs/OtpInput/index.js +192 -0
  107. package/inputs/Radio/__stories__/Default.js +0 -1
  108. package/inputs/Select/__stories__/Default.js +0 -1
  109. package/inputs/index.d.ts +1 -0
  110. package/inputs/index.js +8 -0
  111. package/package.json +4 -4
  112. package/registry.d.ts +2 -0
  113. package/registry.js +6 -0
  114. package/src/Field/utils.ts +6 -0
  115. package/src/FieldArray/__stories__/Default.tsx +0 -1
  116. package/src/FieldArray/__stories__/WithExactLength.tsx +0 -1
  117. package/src/Form.stories.js +0 -2
  118. package/src/FormBuilder/__stories__/Default.tsx +0 -1
  119. package/src/MultiplicityField/__stories__/Default.tsx +0 -1
  120. package/src/MultiplicityField/__stories__/WithExactLength.tsx +0 -1
  121. package/src/MultiplicityField/__stories__/WithMaxLength.tsx +0 -1
  122. package/src/MultiplicityField/__stories__/WithMinAndMaxLength.tsx +0 -1
  123. package/src/MultiplicityField/__stories__/WithMinLength.tsx +0 -1
  124. package/src/inputs/AutoComplete/AutoComplete.stories.js +7 -0
  125. package/src/{__stories__/AutoCompleteField.tsx → inputs/AutoComplete/__stories__/Default.tsx} +1 -1
  126. package/src/inputs/Checkboxes/__stories__/Default.tsx +0 -1
  127. package/src/inputs/DateInput/__stories__/Default.tsx +0 -1
  128. package/src/inputs/DateInput/index.tsx +2 -1
  129. package/src/inputs/FileInput/__stories__/Default.tsx +0 -1
  130. package/src/inputs/Input/__stories__/AFM.tsx +0 -1
  131. package/src/inputs/Input/__stories__/Boolean.tsx +0 -1
  132. package/src/inputs/Input/__stories__/Default.tsx +0 -1
  133. package/src/inputs/Input/__stories__/IBAN.tsx +0 -1
  134. package/src/inputs/Input/__stories__/Integer.tsx +30 -19
  135. package/src/inputs/Input/__stories__/MobilePhone.tsx +0 -1
  136. package/src/inputs/Input/__stories__/PhoneNumber.tsx +0 -1
  137. package/src/inputs/Input/__stories__/PostalCode.tsx +0 -1
  138. package/src/inputs/Label/__stories__/Default.tsx +0 -1
  139. package/src/inputs/OtpInput/OtpInput.stories.js +7 -0
  140. package/src/inputs/OtpInput/__stories__/Default.tsx +32 -0
  141. package/src/inputs/OtpInput/index.tsx +161 -0
  142. package/src/inputs/Radio/__stories__/Default.tsx +0 -1
  143. package/src/inputs/Select/__stories__/Default.tsx +0 -1
  144. package/src/inputs/index.ts +1 -0
  145. package/src/registry.js +4 -0
  146. package/src/types.tsx +2 -0
  147. package/src/validators/index.ts +2 -0
  148. package/src/validators/utils/index.ts +5 -4
  149. package/src/validators/utils/otp.ts +28 -0
  150. package/types.d.ts +2 -1
  151. package/validators/index.js +3 -0
  152. package/validators/utils/index.d.ts +1 -0
  153. package/validators/utils/index.js +18 -4
  154. package/validators/utils/otp.d.ts +4 -0
  155. package/validators/utils/otp.js +37 -0
  156. package/Form.stories.playwright.json +0 -71
  157. package/__stories__/AutoCompleteField.d.ts +0 -1
  158. package/__stories__/IntField.d.ts +0 -1
  159. package/__stories__/IntField.js +0 -56
  160. package/es/Form.stories.playwright.json +0 -71
  161. package/es/__stories__/IntField.js +0 -41
  162. package/esm/Form.stories.playwright.json +0 -71
  163. package/esm/__stories__/IntField.js +0 -41
  164. package/src/Form.stories.playwright.json +0 -71
  165. package/src/__stories__/IntField.tsx +0 -38
package/CHANGELOG.md CHANGED
@@ -1,6 +1,25 @@
1
1
  # Change Log - @digigov/form
2
2
 
3
- This log was last generated on Mon, 13 Mar 2023 10:21:39 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 02 May 2023 09:16:06 GMT and should not be manually modified.
4
+
5
+ ## 0.11.0
6
+ Tue, 02 May 2023 09:16:06 GMT
7
+
8
+ ### Minor changes
9
+
10
+ - Create OtpInput component, add validators and types
11
+
12
+ ### Patches
13
+
14
+ - Update form stories
15
+
16
+ ## 0.10.16
17
+ Mon, 03 Apr 2023 11:13:15 GMT
18
+
19
+ ### Patches
20
+
21
+ - change date value for nullable input
22
+ - add nullable in yup validator for conditionable fields
4
23
 
5
24
  ## 0.10.15
6
25
  Mon, 13 Mar 2023 10:21:39 GMT
package/Field/utils.js CHANGED
@@ -27,6 +27,8 @@ var _FileInput = _interopRequireDefault(require("@digigov/form/inputs/FileInput"
27
27
 
28
28
  var _DateInput = _interopRequireDefault(require("@digigov/form/inputs/DateInput"));
29
29
 
30
+ var _OtpInput = _interopRequireDefault(require("@digigov/form/inputs/OtpInput"));
31
+
30
32
  var _FormContext = require("@digigov/form/FormContext");
31
33
 
32
34
  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); }
@@ -54,6 +56,11 @@ var FIELD_COMPONENTS = {
54
56
  controlled: true,
55
57
  component: _DateInput["default"]
56
58
  },
59
+ otp: {
60
+ wrapper: 'fieldset',
61
+ controlled: true,
62
+ component: _OtpInput["default"]
63
+ },
57
64
  'choice:multiple': {
58
65
  wrapper: 'fieldset',
59
66
  controlled: true,
@@ -97,7 +97,6 @@ var _ref = /*#__PURE__*/_react["default"].createElement(_core.Button, null, "\u0
97
97
  var Default = function Default() {
98
98
  return /*#__PURE__*/_react["default"].createElement(_form["default"], {
99
99
  onSubmit: function onSubmit(data) {
100
- debugger;
101
100
  console.log(data);
102
101
  }
103
102
  }, /*#__PURE__*/_react["default"].createElement(_form.Field, (0, _extends2["default"])({
@@ -97,7 +97,6 @@ var _ref = /*#__PURE__*/_react["default"].createElement(_core.Button, null, "\u0
97
97
  var WithExactLength = function WithExactLength() {
98
98
  return /*#__PURE__*/_react["default"].createElement(_form["default"], {
99
99
  onSubmit: function onSubmit(data) {
100
- debugger;
101
100
  console.log(data);
102
101
  }
103
102
  }, /*#__PURE__*/_react["default"].createElement(_form.Field, (0, _extends2["default"])({
package/Form.stories.d.ts CHANGED
@@ -2,5 +2,3 @@ declare namespace _default {
2
2
  const title: string;
3
3
  }
4
4
  export default _default;
5
- export * from "@digigov/form/__stories__/IntField";
6
- export * from "@digigov/form/__stories__/AutoCompleteField";
package/Form.stories.js CHANGED
@@ -3,36 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _exportNames = {};
7
6
  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
-
23
- var _AutoCompleteField = require("@digigov/form/__stories__/AutoCompleteField");
24
-
25
- Object.keys(_AutoCompleteField).forEach(function (key) {
26
- if (key === "default" || key === "__esModule") return;
27
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
28
- if (key in exports && exports[key] === _AutoCompleteField[key]) return;
29
- Object.defineProperty(exports, key, {
30
- enumerable: true,
31
- get: function get() {
32
- return _AutoCompleteField[key];
33
- }
34
- });
35
- });
36
7
  var _default = {
37
8
  title: 'Digigov Form'
38
9
  };
@@ -30,7 +30,6 @@ var _ref = /*#__PURE__*/_react["default"].createElement(_core.Button, {
30
30
  var Default = function Default() {
31
31
  return /*#__PURE__*/_react["default"].createElement(_form["default"], {
32
32
  onSubmit: function onSubmit(data) {
33
- debugger;
34
33
  console.log(data);
35
34
  },
36
35
  initial: initialValues
@@ -104,7 +104,6 @@ var _ref = /*#__PURE__*/_react["default"].createElement(_core.Button, {
104
104
  var Default = function Default() {
105
105
  return /*#__PURE__*/_react["default"].createElement(_form["default"], {
106
106
  onSubmit: function onSubmit(data) {
107
- debugger;
108
107
  console.log(data);
109
108
  }
110
109
  }, /*#__PURE__*/_react["default"].createElement(_form.Field, (0, _extends2["default"])({
@@ -99,7 +99,6 @@ var _ref = /*#__PURE__*/_react["default"].createElement(_core.Button, {
99
99
  var WithExactLength = function WithExactLength() {
100
100
  return /*#__PURE__*/_react["default"].createElement(_form["default"], {
101
101
  onSubmit: function onSubmit(data) {
102
- debugger;
103
102
  console.log(data);
104
103
  }
105
104
  }, /*#__PURE__*/_react["default"].createElement(_form.Field, (0, _extends2["default"])({
@@ -102,7 +102,6 @@ var _ref = /*#__PURE__*/_react["default"].createElement(_core.Button, {
102
102
  var WithMaxLength = function WithMaxLength() {
103
103
  return /*#__PURE__*/_react["default"].createElement(_form["default"], {
104
104
  onSubmit: function onSubmit(data) {
105
- debugger;
106
105
  console.log(data);
107
106
  }
108
107
  }, /*#__PURE__*/_react["default"].createElement(_form.Field, (0, _extends2["default"])({
@@ -103,7 +103,6 @@ var _ref = /*#__PURE__*/_react["default"].createElement(_core.Button, {
103
103
  var WithMinAndMaxLength = function WithMinAndMaxLength() {
104
104
  return /*#__PURE__*/_react["default"].createElement(_form["default"], {
105
105
  onSubmit: function onSubmit(data) {
106
- debugger;
107
106
  console.log(data);
108
107
  }
109
108
  }, /*#__PURE__*/_react["default"].createElement(_form.Field, (0, _extends2["default"])({
@@ -102,7 +102,6 @@ var _ref = /*#__PURE__*/_react["default"].createElement(_core.Button, {
102
102
  var WithMinLength = function WithMinLength() {
103
103
  return /*#__PURE__*/_react["default"].createElement(_form["default"], {
104
104
  onSubmit: function onSubmit(data) {
105
- debugger;
106
105
  console.log(data);
107
106
  }
108
107
  }, /*#__PURE__*/_react["default"].createElement(_form.Field, (0, _extends2["default"])({
package/es/Field/utils.js CHANGED
@@ -6,6 +6,7 @@ import Radio from '@digigov/form/inputs/Radio';
6
6
  import Select from '@digigov/form/inputs/Select';
7
7
  import FileInput from '@digigov/form/inputs/FileInput';
8
8
  import DateInput from '@digigov/form/inputs/DateInput';
9
+ import OtpInput from '@digigov/form/inputs/OtpInput';
9
10
  import { FormContext } from '@digigov/form/FormContext';
10
11
  var AutoComplete = /*#__PURE__*/lazy(function () {
11
12
  return import('@digigov/form/inputs/AutoComplete');
@@ -26,6 +27,11 @@ var FIELD_COMPONENTS = {
26
27
  controlled: true,
27
28
  component: DateInput
28
29
  },
30
+ otp: {
31
+ wrapper: 'fieldset',
32
+ controlled: true,
33
+ component: OtpInput
34
+ },
29
35
  'choice:multiple': {
30
36
  wrapper: 'fieldset',
31
37
  controlled: true,
@@ -78,7 +78,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, null, "\u03A3\u03C5\u03BD\u0
78
78
  export var Default = function Default() {
79
79
  return /*#__PURE__*/React.createElement(FormBuilder, {
80
80
  onSubmit: function onSubmit(data) {
81
- debugger;
82
81
  console.log(data);
83
82
  }
84
83
  }, /*#__PURE__*/React.createElement(Field, _extends({
@@ -78,7 +78,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, null, "\u03A3\u03C5\u03BD\u0
78
78
  export var WithExactLength = function WithExactLength() {
79
79
  return /*#__PURE__*/React.createElement(FormBuilder, {
80
80
  onSubmit: function onSubmit(data) {
81
- debugger;
82
81
  console.log(data);
83
82
  }
84
83
  }, /*#__PURE__*/React.createElement(Field, _extends({
@@ -1,5 +1,3 @@
1
1
  export default {
2
2
  title: 'Digigov Form'
3
- };
4
- export * from '@digigov/form/__stories__/IntField';
5
- export * from '@digigov/form/__stories__/AutoCompleteField';
3
+ };
@@ -12,7 +12,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
12
12
  export var Default = function Default() {
13
13
  return /*#__PURE__*/React.createElement(FormBuilder, {
14
14
  onSubmit: function onSubmit(data) {
15
- debugger;
16
15
  console.log(data);
17
16
  },
18
17
  initial: initialValues
@@ -85,7 +85,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
85
85
  export var Default = function Default() {
86
86
  return /*#__PURE__*/React.createElement(FormBuilder, {
87
87
  onSubmit: function onSubmit(data) {
88
- debugger;
89
88
  console.log(data);
90
89
  }
91
90
  }, /*#__PURE__*/React.createElement(Field, _extends({
@@ -80,7 +80,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
80
80
  export var WithExactLength = function WithExactLength() {
81
81
  return /*#__PURE__*/React.createElement(FormBuilder, {
82
82
  onSubmit: function onSubmit(data) {
83
- debugger;
84
83
  console.log(data);
85
84
  }
86
85
  }, /*#__PURE__*/React.createElement(Field, _extends({
@@ -83,7 +83,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
83
83
  export var WithMaxLength = function WithMaxLength() {
84
84
  return /*#__PURE__*/React.createElement(FormBuilder, {
85
85
  onSubmit: function onSubmit(data) {
86
- debugger;
87
86
  console.log(data);
88
87
  }
89
88
  }, /*#__PURE__*/React.createElement(Field, _extends({
@@ -84,7 +84,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
84
84
  export var WithMinAndMaxLength = function WithMinAndMaxLength() {
85
85
  return /*#__PURE__*/React.createElement(FormBuilder, {
86
86
  onSubmit: function onSubmit(data) {
87
- debugger;
88
87
  console.log(data);
89
88
  }
90
89
  }, /*#__PURE__*/React.createElement(Field, _extends({
@@ -83,7 +83,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
83
83
  export var WithMinLength = function WithMinLength() {
84
84
  return /*#__PURE__*/React.createElement(FormBuilder, {
85
85
  onSubmit: function onSubmit(data) {
86
- debugger;
87
86
  console.log(data);
88
87
  }
89
88
  }, /*#__PURE__*/React.createElement(Field, _extends({
@@ -0,0 +1,7 @@
1
+ import AutoComplete from '@digigov/form/inputs/AutoComplete';
2
+ export default {
3
+ title: 'Digigov Form/inputs/AutoComplete',
4
+ component: AutoComplete,
5
+ displayName: 'AutoComplete'
6
+ };
7
+ export * from '@digigov/form/inputs/AutoComplete/__stories__/Default';
@@ -31,7 +31,7 @@ var _ref2 = /*#__PURE__*/React.createElement(Button, {
31
31
  type: "submit"
32
32
  }, "Submit");
33
33
 
34
- export var AutoCompleteField = function AutoCompleteField() {
34
+ export var Default = function Default() {
35
35
  return /*#__PURE__*/React.createElement(Suspense, {
36
36
  fallback: _ref
37
37
  }, /*#__PURE__*/React.createElement(FormBuilder, {
@@ -9,7 +9,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
9
9
  export var Default = function Default() {
10
10
  return /*#__PURE__*/React.createElement(FormBuilder, {
11
11
  onSubmit: function onSubmit(data) {
12
- debugger;
13
12
  console.log(data);
14
13
  }
15
14
  }, /*#__PURE__*/React.createElement(Field, {
@@ -9,7 +9,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
9
9
  export var Default = function Default() {
10
10
  return /*#__PURE__*/React.createElement(FormBuilder, {
11
11
  onSubmit: function onSubmit(data) {
12
- debugger;
13
12
  console.log(data);
14
13
  }
15
14
  }, /*#__PURE__*/React.createElement(Field, {
@@ -12,7 +12,8 @@ dayjs.extend(customParseFormat);
12
12
 
13
13
  function useDate(value, onChange) {
14
14
  var _useMemo = useMemo(function () {
15
- if (!value || value.length === '') {
15
+ if (!value || value.length === 0) {
16
+ onChange('');
16
17
  return ['', '', ''];
17
18
  }
18
19
 
@@ -7,7 +7,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, null, "\u03A3\u03C5\u03BD\u0
7
7
  export var Default = function Default() {
8
8
  return /*#__PURE__*/React.createElement(FormBuilder, {
9
9
  onSubmit: function onSubmit(data) {
10
- debugger;
11
10
  console.log(data);
12
11
  }
13
12
  }, /*#__PURE__*/React.createElement(Field, {
@@ -9,7 +9,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
9
9
  export var AFM = function AFM() {
10
10
  return /*#__PURE__*/React.createElement(FormBuilder, {
11
11
  onSubmit: function onSubmit(data) {
12
- debugger;
13
12
  console.log(data);
14
13
  }
15
14
  }, /*#__PURE__*/React.createElement(Field, {
@@ -9,7 +9,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
9
9
  export var Boolean = function Boolean() {
10
10
  return /*#__PURE__*/React.createElement(FormBuilder, {
11
11
  onSubmit: function onSubmit(data) {
12
- debugger;
13
12
  console.log(data);
14
13
  }
15
14
  }, /*#__PURE__*/React.createElement(Field, {
@@ -9,7 +9,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
9
9
  export var Default = function Default() {
10
10
  return /*#__PURE__*/React.createElement(FormBuilder, {
11
11
  onSubmit: function onSubmit(data) {
12
- debugger;
13
12
  console.log(data);
14
13
  }
15
14
  }, /*#__PURE__*/React.createElement(Field, {
@@ -9,7 +9,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
9
9
  export var IBAN = function IBAN() {
10
10
  return /*#__PURE__*/React.createElement(FormBuilder, {
11
11
  onSubmit: function onSubmit(data) {
12
- debugger;
13
12
  console.log(data);
14
13
  }
15
14
  }, /*#__PURE__*/React.createElement(Field, {
@@ -9,7 +9,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
9
9
  export var Integer = function Integer() {
10
10
  return /*#__PURE__*/React.createElement(FormBuilder, {
11
11
  onSubmit: function onSubmit(data) {
12
- debugger;
13
12
  console.log(data);
14
13
  }
15
14
  }, /*#__PURE__*/React.createElement(Field, {
@@ -21,6 +20,14 @@ export var Integer = function Integer() {
21
20
  secondary: 'Εισάγετε έναν οποιοδήποτε αριθμό μεγαλύτερο από το μηδέν'
22
21
  },
23
22
  required: true
23
+ }), /*#__PURE__*/React.createElement(Field, {
24
+ key: "random-number-not-req",
25
+ name: "random-number-not-req",
26
+ type: "int",
27
+ label: {
28
+ primary: 'Δεύτερος τυχαίος αριθμός',
29
+ secondary: 'Προαιρετικό πεδίο'
30
+ }
24
31
  }), _ref);
25
32
  };
26
33
  export default Integer;
@@ -9,7 +9,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
9
9
  export var MobilePhone = function MobilePhone() {
10
10
  return /*#__PURE__*/React.createElement(FormBuilder, {
11
11
  onSubmit: function onSubmit(data) {
12
- debugger;
13
12
  console.log(data);
14
13
  }
15
14
  }, /*#__PURE__*/React.createElement(Field, {
@@ -9,7 +9,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
9
9
  export var PhoneNumber = function PhoneNumber() {
10
10
  return /*#__PURE__*/React.createElement(FormBuilder, {
11
11
  onSubmit: function onSubmit(data) {
12
- debugger;
13
12
  console.log(data);
14
13
  }
15
14
  }, /*#__PURE__*/React.createElement(Field, {
@@ -9,7 +9,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
9
9
  export var PostalCode = function PostalCode() {
10
10
  return /*#__PURE__*/React.createElement(FormBuilder, {
11
11
  onSubmit: function onSubmit(data) {
12
- debugger;
13
12
  console.log(data);
14
13
  }
15
14
  }, /*#__PURE__*/React.createElement(Field, {
@@ -9,7 +9,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
9
9
  export var Default = function Default() {
10
10
  return /*#__PURE__*/React.createElement(FormBuilder, {
11
11
  onSubmit: function onSubmit(data) {
12
- debugger;
13
12
  console.log(data);
14
13
  }
15
14
  }, /*#__PURE__*/React.createElement(Label, {
@@ -0,0 +1,7 @@
1
+ import OtpInput from '@digigov/form/inputs/OtpInput';
2
+ export default {
3
+ title: 'Digigov Form/inputs/OtpInput',
4
+ component: OtpInput,
5
+ displayName: 'OtpInput'
6
+ };
7
+ export * from '@digigov/form/inputs/OtpInput/__stories__/Default';
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import FormBuilder, { Field, Fieldset } from '@digigov/form';
3
+ import { Button } from '@digigov/ui/core';
4
+ var FIELDS = [{
5
+ key: 'otp',
6
+ type: 'otp',
7
+ maxLength: 6,
8
+ required: true,
9
+ label: {
10
+ primary: 'Κωδικός Επιβεβαίωσης'
11
+ }
12
+ }];
13
+
14
+ var _ref = /*#__PURE__*/React.createElement(Button, {
15
+ type: "submit"
16
+ }, "\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1");
17
+
18
+ export var Default = function Default() {
19
+ return /*#__PURE__*/React.createElement(FormBuilder, {
20
+ fields: FIELDS,
21
+ onSubmit: function onSubmit(data) {
22
+ console.log(data);
23
+ }
24
+ }, /*#__PURE__*/React.createElement(Fieldset, null, FIELDS.map(function (field) {
25
+ return /*#__PURE__*/React.createElement(Field, {
26
+ key: field.key,
27
+ name: field.key
28
+ });
29
+ })), _ref);
30
+ };
31
+ export default Default;
@@ -0,0 +1,167 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
4
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
+ var _excluded = ["name", "maxLength"];
6
+ import React, { useState, useCallback } from 'react';
7
+ import SingleCharacterInputContainer, { SingleCharacterInputItem } from '@digigov/ui/core/SingleCharacterInputContainer';
8
+ export var RE_DIGIT = new RegExp(/^\d+$/);
9
+ export var REMOVE_SPACES = new RegExp(/\s+/g);
10
+
11
+ function useOtp(onChange, maxLength) {
12
+ var _useState = useState(Array(maxLength).fill('')),
13
+ _useState2 = _slicedToArray(_useState, 2),
14
+ otpValues = _useState2[0],
15
+ setOTPValues = _useState2[1];
16
+
17
+ var handleOtpChange = useCallback(function (otp) {
18
+ var otpValue = otp.join('');
19
+ onChange(otpValue);
20
+ }, [onChange]);
21
+
22
+ var itemsArray = function itemsArray(item, idx) {
23
+ var updatedOTPValues = _toConsumableArray(otpValues);
24
+
25
+ if (item.length === 1 || item.length === 0) {
26
+ updatedOTPValues[idx] = item[0] || '';
27
+ setOTPValues(updatedOTPValues);
28
+ handleOtpChange(updatedOTPValues);
29
+ } else if (item.length === maxLength) {
30
+ var valueArray = item.split('');
31
+ var items = [];
32
+
33
+ for (var i = 0; i < maxLength; i++) {
34
+ var _char = valueArray[i];
35
+ items.push(_char);
36
+ setOTPValues(items);
37
+ handleOtpChange(items);
38
+ }
39
+ }
40
+ };
41
+
42
+ var SelectionRange = useCallback(function (target) {
43
+ return target.setSelectionRange(0, target.value.length);
44
+ }, []);
45
+ var focusToNextInput = useCallback(function (target) {
46
+ var nextElement = target.nextElementSibling;
47
+
48
+ if (nextElement) {
49
+ nextElement.focus();
50
+ }
51
+ }, []);
52
+ var focusToPrevInput = useCallback(function (target) {
53
+ var previousElement = target.previousElementSibling;
54
+
55
+ if (previousElement) {
56
+ previousElement.focus();
57
+ }
58
+ }, []);
59
+ var inputOnKeyDown = useCallback(function (e, idx) {
60
+ var key = e.key;
61
+ var target = e.target;
62
+ var targetValue = target.value;
63
+ SelectionRange(target);
64
+
65
+ if (key === 'ArrowRight' || key === 'ArrowDown') {
66
+ e.preventDefault();
67
+ return focusToNextInput(target);
68
+ }
69
+
70
+ if (key === 'ArrowLeft' || key === 'ArrowUp') {
71
+ e.preventDefault();
72
+ return focusToPrevInput(target);
73
+ }
74
+
75
+ if (e.key === 'Backspace' || e.key === 'Delete') {
76
+ if (targetValue !== '') {
77
+ targetValue = '';
78
+ } else {
79
+ focusToPrevInput(target);
80
+ }
81
+
82
+ itemsArray(targetValue, idx);
83
+ return e.preventDefault();
84
+ }
85
+ }, [itemsArray, focusToPrevInput, focusToNextInput]);
86
+ var inputOnFocus = useCallback(function (e) {
87
+ var target = e.target;
88
+ SelectionRange(target);
89
+ }, [SelectionRange]);
90
+ var inputOnChange = useCallback(function (e, idx) {
91
+ var target = e.target;
92
+ var targetValue = target.value;
93
+ var isTargetValueDigit = RE_DIGIT.test(targetValue);
94
+
95
+ if (!isTargetValueDigit && e.target.value !== '') {
96
+ return;
97
+ }
98
+
99
+ targetValue = isTargetValueDigit ? targetValue : '';
100
+ itemsArray(targetValue, idx);
101
+
102
+ if (target.value.length > 1) {
103
+ target.blur();
104
+ }
105
+
106
+ if (!isTargetValueDigit) {
107
+ return;
108
+ }
109
+
110
+ focusToNextInput(target);
111
+ }, [handleOtpChange, itemsArray, inputOnKeyDown, inputOnFocus]);
112
+ var handleOnPaste = useCallback(function (e) {
113
+ e.preventDefault();
114
+ var pastedData = e.clipboardData.getData('text/plain').replace(REMOVE_SPACES, '');
115
+
116
+ if (pastedData) {
117
+ itemsArray(pastedData, 0);
118
+ }
119
+ }, []);
120
+ return {
121
+ otpValues: otpValues,
122
+ inputOnChange: inputOnChange,
123
+ inputOnKeyDown: inputOnKeyDown,
124
+ inputOnFocus: inputOnFocus,
125
+ handleOnPaste: handleOnPaste
126
+ };
127
+ }
128
+
129
+ var SingleCharacterInputItemPart = function SingleCharacterInputItemPart(_ref) {
130
+ var props = _extends({}, _ref);
131
+
132
+ return /*#__PURE__*/React.createElement(SingleCharacterInputItem, props);
133
+ };
134
+
135
+ export var OtpInput = function OtpInput(_ref2) {
136
+ var name = _ref2.name,
137
+ _ref2$maxLength = _ref2.maxLength,
138
+ maxLength = _ref2$maxLength === void 0 ? 6 : _ref2$maxLength,
139
+ props = _objectWithoutProperties(_ref2, _excluded);
140
+
141
+ var otp = useOtp(props.onChange, maxLength);
142
+ return /*#__PURE__*/React.createElement(SingleCharacterInputContainer, null, otp.otpValues.map(function (digit, idx) {
143
+ return /*#__PURE__*/React.createElement(SingleCharacterInputItemPart, {
144
+ name: "".concat(name, "-").concat(idx),
145
+ type: "text",
146
+ key: idx,
147
+ autoComplete: "one-time-code",
148
+ pattern: "\\d{1}",
149
+ maxLength: maxLength,
150
+ value: digit,
151
+ disabled: props.disabled,
152
+ "aria-required": props['aria-required'],
153
+ onChange: function onChange(e) {
154
+ return otp.inputOnChange(e, idx);
155
+ },
156
+ onInput: function onInput(e) {
157
+ return otp.inputOnChange(e, idx);
158
+ },
159
+ onKeyDown: function onKeyDown(e) {
160
+ return otp.inputOnKeyDown(e, idx);
161
+ },
162
+ onFocus: otp.inputOnFocus,
163
+ onPaste: otp.handleOnPaste
164
+ });
165
+ }));
166
+ };
167
+ export default OtpInput;
@@ -9,7 +9,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
9
9
  export var Default = function Default() {
10
10
  return /*#__PURE__*/React.createElement(FormBuilder, {
11
11
  onSubmit: function onSubmit(data) {
12
- debugger;
13
12
  console.log(data);
14
13
  }
15
14
  }, /*#__PURE__*/React.createElement(Field, {
@@ -9,7 +9,6 @@ var _ref = /*#__PURE__*/React.createElement(Button, {
9
9
  export var Default = function Default() {
10
10
  return /*#__PURE__*/React.createElement(FormBuilder, {
11
11
  onSubmit: function onSubmit(data) {
12
- debugger;
13
12
  console.log(data);
14
13
  }
15
14
  }, /*#__PURE__*/React.createElement(Field, {