@dhis2/ui-forms 9.10.3 → 9.11.1-beta.1

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 (192) hide show
  1. package/build/cjs/CheckboxFieldFF/{CheckboxFieldFF.stories.e2e.js → CheckboxFieldFF.e2e.stories.js} +22 -15
  2. package/build/cjs/CheckboxFieldFF/CheckboxFieldFF.js +2 -12
  3. package/build/cjs/CheckboxFieldFF/{CheckboxFieldFF.stories.js → CheckboxFieldFF.prod.stories.js} +29 -24
  4. package/build/cjs/CheckboxFieldFF/features/can_toggle_a_boolean/index.js +0 -1
  5. package/build/cjs/CheckboxFieldFF/features/can_toggle_a_value/index.js +0 -1
  6. package/build/cjs/CheckboxFieldFF/features/common/index.js +0 -1
  7. package/build/cjs/CheckboxFieldFF/features/displays_error/index.js +0 -2
  8. package/build/cjs/FieldGroupFF/FieldGroupFF.js +1 -10
  9. package/build/cjs/FieldGroupFF/{FieldGroupFF.stories.js → FieldGroupFF.prod.stories.js} +11 -12
  10. package/build/cjs/FileInputFieldFF/{FileInputFieldFF.stories.e2e.js → FileInputFieldFF.e2e.stories.js} +45 -56
  11. package/build/cjs/FileInputFieldFF/FileInputFieldFF.js +2 -19
  12. package/build/cjs/FileInputFieldFF/{FileInputFieldFF.stories.js → FileInputFieldFF.prod.stories.js} +29 -22
  13. package/build/cjs/FileInputFieldFF/features/accepts_file/index.js +0 -1
  14. package/build/cjs/FileInputFieldFF/features/common/index.js +0 -1
  15. package/build/cjs/FileInputFieldFF/features/displays_error/index.js +0 -1
  16. package/build/cjs/InputFieldFF/InputFieldFF.e2e.stories.js +30 -0
  17. package/build/cjs/InputFieldFF/InputFieldFF.js +2 -12
  18. package/build/cjs/InputFieldFF/{InputFieldFF.stories.js → InputFieldFF.prod.stories.js} +29 -22
  19. package/build/cjs/InputFieldFF/features/can_set_a_value/index.js +0 -1
  20. package/build/cjs/InputFieldFF/features/displays_error/index.js +0 -2
  21. package/build/cjs/MultiSelectFieldFF/{MultiSelectFieldFF.stories.e2e.js → MultiSelectFieldFF.e2e.stories.js} +15 -17
  22. package/build/cjs/MultiSelectFieldFF/MultiSelectFieldFF.js +3 -15
  23. package/build/cjs/MultiSelectFieldFF/MultiSelectFieldFF.prod.stories.js +107 -0
  24. package/build/cjs/MultiSelectFieldFF/features/can_set_a_value/index.js +0 -1
  25. package/build/cjs/MultiSelectFieldFF/features/common/index.js +1 -2
  26. package/build/cjs/MultiSelectFieldFF/features/displays_error/index.js +0 -2
  27. package/build/cjs/RadioFieldFF/RadioFieldFF.e2e.stories.js +45 -0
  28. package/build/cjs/RadioFieldFF/RadioFieldFF.js +2 -12
  29. package/build/cjs/RadioFieldFF/{RadioFieldFF.stories.js → RadioFieldFF.prod.stories.js} +29 -16
  30. package/build/cjs/RadioFieldFF/features/can_set_a_value/index.js +0 -1
  31. package/build/cjs/RadioFieldFF/features/common/index.js +0 -1
  32. package/build/cjs/RadioFieldFF/features/displays_error/index.js +0 -2
  33. package/build/cjs/SingleSelectFieldFF/SingleSelectFieldFF.e2e.stories.js +39 -0
  34. package/build/cjs/SingleSelectFieldFF/SingleSelectFieldFF.js +2 -12
  35. package/build/cjs/SingleSelectFieldFF/SingleSelectFieldFF.prod.stories.js +106 -0
  36. package/build/cjs/SingleSelectFieldFF/features/can_set_a_value/index.js +0 -1
  37. package/build/cjs/SingleSelectFieldFF/features/common/index.js +0 -1
  38. package/build/cjs/SingleSelectFieldFF/features/displays_error/index.js +0 -2
  39. package/build/cjs/SwitchFieldFF/SwitchFieldFF.e2e.stories.js +56 -0
  40. package/build/cjs/SwitchFieldFF/SwitchFieldFF.js +2 -12
  41. package/build/cjs/SwitchFieldFF/{SwitchFieldFF.stories.js → SwitchFieldFF.prod.stories.js} +29 -24
  42. package/build/cjs/SwitchFieldFF/features/can_toggle_a_boolean/index.js +0 -1
  43. package/build/cjs/SwitchFieldFF/features/can_toggle_a_value/index.js +0 -1
  44. package/build/cjs/SwitchFieldFF/features/common/index.js +0 -1
  45. package/build/cjs/SwitchFieldFF/features/displays_error/index.js +0 -2
  46. package/build/cjs/TextAreaFieldFF/TextAreaFieldFF.e2e.stories.js +30 -0
  47. package/build/cjs/TextAreaFieldFF/TextAreaFieldFF.js +2 -12
  48. package/build/cjs/TextAreaFieldFF/{TextAreaFieldFF.stories.js → TextAreaFieldFF.prod.stories.js} +29 -24
  49. package/build/cjs/TextAreaFieldFF/features/can_set_a_value/index.js +0 -1
  50. package/build/cjs/TextAreaFieldFF/features/displays_error/index.js +0 -2
  51. package/build/cjs/__tests__/__snapshots__/index.test.js.snap +3 -0
  52. package/build/cjs/__tests__/index.test.js +1 -1
  53. package/build/cjs/formDecorator.js +6 -21
  54. package/build/cjs/index.js +2 -21
  55. package/build/cjs/locales/index.js +3 -75
  56. package/build/cjs/shared/helpers/createBlurHandler.js +0 -3
  57. package/build/cjs/shared/helpers/createChangeHandler.js +0 -2
  58. package/build/cjs/shared/helpers/createFocusHandler.js +0 -3
  59. package/build/cjs/shared/helpers/createSelectChangeHandler.js +0 -2
  60. package/build/cjs/shared/helpers/createToggleChangeHandler.js +0 -3
  61. package/build/cjs/shared/helpers/getValidationText.js +0 -6
  62. package/build/cjs/shared/helpers/hasError.js +0 -2
  63. package/build/cjs/shared/helpers/isLoading.js +0 -2
  64. package/build/cjs/shared/helpers/isValid.js +0 -2
  65. package/build/cjs/shared/helpers.js +0 -9
  66. package/build/cjs/shared/propTypes.js +7 -20
  67. package/build/cjs/transformers/arrayWithIdObjects.js +2 -6
  68. package/build/cjs/transformers/index.js +0 -1
  69. package/build/cjs/validators/__tests__/alphaNumeric.test.js +0 -2
  70. package/build/cjs/validators/__tests__/boolean.test.js +0 -2
  71. package/build/cjs/validators/__tests__/composeValidators.test.js +0 -3
  72. package/build/cjs/validators/__tests__/createCharacterLengthRange.test.js +6 -6
  73. package/build/cjs/validators/__tests__/createEqualTo.test.js +0 -3
  74. package/build/cjs/validators/__tests__/createMaxCharacterLength.test.js +1 -2
  75. package/build/cjs/validators/__tests__/createMaxNumber.test.js +1 -2
  76. package/build/cjs/validators/__tests__/createMinCharacterLength.test.js +1 -2
  77. package/build/cjs/validators/__tests__/createMinNumber.test.js +1 -2
  78. package/build/cjs/validators/__tests__/createNumberRange.test.js +0 -3
  79. package/build/cjs/validators/__tests__/createPattern.test.js +1 -3
  80. package/build/cjs/validators/__tests__/dhis2Password.test.js +0 -2
  81. package/build/cjs/validators/__tests__/dhis2Username.test.js +0 -2
  82. package/build/cjs/validators/__tests__/email.test.js +7 -6
  83. package/build/cjs/validators/__tests__/hasValue.test.js +0 -2
  84. package/build/cjs/validators/__tests__/integer.test.js +0 -2
  85. package/build/cjs/validators/__tests__/internationalPhoneNumber.test.js +6 -5
  86. package/build/cjs/validators/__tests__/number.test.js +0 -2
  87. package/build/cjs/validators/__tests__/string.test.js +0 -2
  88. package/build/cjs/validators/__tests__/url.test.js +1 -2
  89. package/build/cjs/validators/alphaNumeric.js +2 -11
  90. package/build/cjs/validators/boolean.js +2 -10
  91. package/build/cjs/validators/composeValidators.js +0 -4
  92. package/build/cjs/validators/createCharacterLengthRange.js +1 -8
  93. package/build/cjs/validators/createEqualTo.js +1 -8
  94. package/build/cjs/validators/createMaxCharacterLength.js +1 -6
  95. package/build/cjs/validators/createMaxNumber.js +1 -6
  96. package/build/cjs/validators/createMinCharacterLength.js +1 -6
  97. package/build/cjs/validators/createMinNumber.js +1 -6
  98. package/build/cjs/validators/createNumberRange.js +1 -8
  99. package/build/cjs/validators/createPattern.js +2 -10
  100. package/build/cjs/validators/dhis2Password.js +6 -28
  101. package/build/cjs/validators/dhis2Username.js +2 -11
  102. package/build/cjs/validators/email.js +3 -11
  103. package/build/cjs/validators/hasValue.js +2 -10
  104. package/build/cjs/validators/helpers/index.js +1 -16
  105. package/build/cjs/validators/index.js +0 -20
  106. package/build/cjs/validators/integer.js +3 -10
  107. package/build/cjs/validators/internationalPhoneNumber.js +8 -14
  108. package/build/cjs/validators/number.js +2 -10
  109. package/build/cjs/validators/string.js +2 -10
  110. package/build/cjs/validators/test-helpers/index.js +1 -6
  111. package/build/cjs/validators/url.js +2 -11
  112. package/build/es/CheckboxFieldFF/{CheckboxFieldFF.stories.e2e.js → CheckboxFieldFF.e2e.stories.js} +14 -7
  113. package/build/es/CheckboxFieldFF/CheckboxFieldFF.js +1 -3
  114. package/build/es/CheckboxFieldFF/{CheckboxFieldFF.stories.js → CheckboxFieldFF.prod.stories.js} +29 -3
  115. package/build/es/FieldGroupFF/FieldGroupFF.js +0 -2
  116. package/build/es/FieldGroupFF/{FieldGroupFF.stories.js → FieldGroupFF.prod.stories.js} +11 -1
  117. package/build/es/FileInputFieldFF/{FileInputFieldFF.stories.e2e.js → FileInputFieldFF.e2e.stories.js} +14 -16
  118. package/build/es/FileInputFieldFF/FileInputFieldFF.js +1 -8
  119. package/build/es/FileInputFieldFF/{FileInputFieldFF.stories.js → FileInputFieldFF.prod.stories.js} +29 -3
  120. package/build/es/InputFieldFF/{InputFieldFF.stories.e2e.js → InputFieldFF.e2e.stories.js} +8 -4
  121. package/build/es/InputFieldFF/InputFieldFF.js +1 -3
  122. package/build/es/InputFieldFF/{InputFieldFF.stories.js → InputFieldFF.prod.stories.js} +29 -3
  123. package/build/es/MultiSelectFieldFF/{MultiSelectFieldFF.stories.e2e.js → MultiSelectFieldFF.e2e.stories.js} +7 -7
  124. package/build/es/MultiSelectFieldFF/MultiSelectFieldFF.js +2 -6
  125. package/build/es/MultiSelectFieldFF/MultiSelectFieldFF.prod.stories.js +98 -0
  126. package/build/es/MultiSelectFieldFF/features/common/index.js +1 -1
  127. package/build/es/RadioFieldFF/{RadioFieldFF.stories.e2e.js → RadioFieldFF.e2e.stories.js} +6 -3
  128. package/build/es/RadioFieldFF/RadioFieldFF.js +1 -3
  129. package/build/es/RadioFieldFF/{RadioFieldFF.stories.js → RadioFieldFF.prod.stories.js} +29 -3
  130. package/build/es/SingleSelectFieldFF/{SingleSelectFieldFF.stories.e2e.js → SingleSelectFieldFF.e2e.stories.js} +10 -6
  131. package/build/es/SingleSelectFieldFF/SingleSelectFieldFF.js +1 -3
  132. package/build/es/SingleSelectFieldFF/SingleSelectFieldFF.prod.stories.js +97 -0
  133. package/build/es/SwitchFieldFF/{SwitchFieldFF.stories.e2e.js → SwitchFieldFF.e2e.stories.js} +14 -7
  134. package/build/es/SwitchFieldFF/SwitchFieldFF.js +1 -3
  135. package/build/es/SwitchFieldFF/{SwitchFieldFF.stories.js → SwitchFieldFF.prod.stories.js} +29 -3
  136. package/build/es/TextAreaFieldFF/{TextAreaFieldFF.stories.e2e.js → TextAreaFieldFF.e2e.stories.js} +8 -4
  137. package/build/es/TextAreaFieldFF/TextAreaFieldFF.js +1 -3
  138. package/build/es/TextAreaFieldFF/{TextAreaFieldFF.stories.js → TextAreaFieldFF.prod.stories.js} +29 -3
  139. package/build/es/__tests__/__snapshots__/index.test.js.snap +3 -0
  140. package/build/es/__tests__/index.test.js +1 -0
  141. package/build/es/formDecorator.js +5 -12
  142. package/build/es/index.js +2 -2
  143. package/build/es/shared/helpers/createBlurHandler.js +0 -2
  144. package/build/es/shared/helpers/createChangeHandler.js +0 -2
  145. package/build/es/shared/helpers/createFocusHandler.js +0 -2
  146. package/build/es/shared/helpers/createSelectChangeHandler.js +0 -1
  147. package/build/es/shared/helpers/createToggleChangeHandler.js +0 -2
  148. package/build/es/shared/helpers/getValidationText.js +0 -5
  149. package/build/es/shared/helpers/hasError.js +0 -1
  150. package/build/es/shared/helpers/isLoading.js +0 -1
  151. package/build/es/shared/helpers/isValid.js +0 -1
  152. package/build/es/transformers/arrayWithIdObjects.js +0 -2
  153. package/build/es/validators/__tests__/createCharacterLengthRange.test.js +6 -3
  154. package/build/es/validators/__tests__/createMaxCharacterLength.test.js +1 -0
  155. package/build/es/validators/__tests__/createMaxNumber.test.js +1 -0
  156. package/build/es/validators/__tests__/createMinCharacterLength.test.js +1 -0
  157. package/build/es/validators/__tests__/createMinNumber.test.js +1 -0
  158. package/build/es/validators/__tests__/createPattern.test.js +1 -1
  159. package/build/es/validators/__tests__/email.test.js +7 -4
  160. package/build/es/validators/__tests__/internationalPhoneNumber.test.js +6 -3
  161. package/build/es/validators/__tests__/url.test.js +1 -0
  162. package/build/es/validators/alphaNumeric.js +0 -2
  163. package/build/es/validators/boolean.js +0 -2
  164. package/build/es/validators/composeValidators.js +0 -2
  165. package/build/es/validators/createCharacterLengthRange.js +0 -2
  166. package/build/es/validators/createEqualTo.js +0 -2
  167. package/build/es/validators/createMaxCharacterLength.js +0 -2
  168. package/build/es/validators/createMaxNumber.js +0 -2
  169. package/build/es/validators/createMinCharacterLength.js +0 -2
  170. package/build/es/validators/createMinNumber.js +0 -2
  171. package/build/es/validators/createNumberRange.js +0 -2
  172. package/build/es/validators/createPattern.js +0 -3
  173. package/build/es/validators/dhis2Password.js +3 -12
  174. package/build/es/validators/dhis2Username.js +0 -2
  175. package/build/es/validators/email.js +1 -2
  176. package/build/es/validators/hasValue.js +0 -2
  177. package/build/es/validators/integer.js +3 -4
  178. package/build/es/validators/internationalPhoneNumber.js +7 -7
  179. package/build/es/validators/number.js +0 -2
  180. package/build/es/validators/string.js +0 -2
  181. package/build/es/validators/test-helpers/index.js +1 -4
  182. package/build/es/validators/url.js +2 -3
  183. package/package.json +13 -13
  184. package/build/cjs/InputFieldFF/InputFieldFF.stories.e2e.js +0 -27
  185. package/build/cjs/MultiSelectFieldFF/MultiSelectFieldFF.stories.js +0 -91
  186. package/build/cjs/RadioFieldFF/RadioFieldFF.stories.e2e.js +0 -45
  187. package/build/cjs/SingleSelectFieldFF/SingleSelectFieldFF.stories.e2e.js +0 -37
  188. package/build/cjs/SingleSelectFieldFF/SingleSelectFieldFF.stories.js +0 -90
  189. package/build/cjs/SwitchFieldFF/SwitchFieldFF.stories.e2e.js +0 -49
  190. package/build/cjs/TextAreaFieldFF/TextAreaFieldFF.stories.e2e.js +0 -27
  191. package/build/es/MultiSelectFieldFF/MultiSelectFieldFF.stories.js +0 -70
  192. package/build/es/SingleSelectFieldFF/SingleSelectFieldFF.stories.js +0 -69
@@ -4,41 +4,28 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.FileInputFieldFF = void 0;
7
-
8
7
  var _fileInput = require("@dhis2-ui/file-input");
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  var _index = _interopRequireDefault(require("../locales/index.js"));
15
-
16
11
  var _helpers = require("../shared/helpers.js");
17
-
18
12
  var _propTypes2 = require("../shared/propTypes.js");
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
-
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
24
15
  const btnLabel = _index.default.t('Upload file');
25
-
26
16
  const btnLabelMulti = _index.default.t('Upload files');
27
-
28
17
  const dedupeAndConcat = (currentFiles, newFileList) => {
29
18
  return [...currentFiles, ...newFileList].reduceRight((acc, file) => {
30
19
  if (!acc.unique.has(file.name)) {
31
20
  acc.unique.add(file.name);
32
21
  acc.files.unshift(file);
33
22
  }
34
-
35
23
  return acc;
36
24
  }, {
37
25
  files: [],
38
26
  unique: new Set()
39
27
  }).files;
40
28
  };
41
-
42
29
  const createChangeHandler = (input, multifile) => _ref => {
43
30
  let {
44
31
  files
@@ -50,13 +37,11 @@ const createChangeHandler = (input, multifile) => _ref => {
50
37
  const value = multifile ? dedupeAndConcat(currentFiles, files) : [...files];
51
38
  input.onChange(value);
52
39
  };
53
-
54
40
  const createRemoveHandler = (input, fileToDelete) => () => {
55
41
  const files = input.value.filter(file => file !== fileToDelete);
56
42
  const value = files.length > 0 ? files : '';
57
43
  input.onChange(value);
58
44
  };
59
-
60
45
  const FileInputFieldFF = _ref2 => {
61
46
  let {
62
47
  buttonLabel,
@@ -87,12 +72,10 @@ const FileInputFieldFF = _ref2 => {
87
72
  removeText: _index.default.t('Remove')
88
73
  })));
89
74
  };
90
-
91
75
  exports.FileInputFieldFF = FileInputFieldFF;
92
76
  FileInputFieldFF.propTypes = {
93
77
  /** `input` props provided by Final Form `Field` */
94
78
  input: _propTypes2.inputPropType.isRequired,
95
-
96
79
  /** `meta` props provided by Final Form `Field` */
97
80
  meta: _propTypes2.metaPropType.isRequired,
98
81
  buttonLabel: _propTypes.default.string,
@@ -4,24 +4,40 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.WithValues = exports.Required = exports.PreventPlaceholder = exports.Multifile = exports.Default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _reactFinalForm = require("react-final-form");
11
-
12
9
  var _formDecorator = require("../formDecorator.js");
13
-
14
10
  var _propTypes = require("../shared/propTypes.js");
15
-
16
11
  var _index = require("../validators/index.js");
17
-
18
12
  var _FileInputFieldFF = require("./FileInputFieldFF.js");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ const description = `
15
+ The \`FileInputFieldFF\` is a wrapper around a \`FileInputField\` that enables it to work with Final Form, the preferred library in DHIS 2 apps for form validation and utilities.
16
+
17
+ #### Final Form
18
+
19
+ See how to use Final Form at [Final Form - Getting Started](https://final-form.org/docs/react-final-form/getting-started).
20
+
21
+ Inside a Final Form \`<Form>\` component, these 'FF' UI components are intended to be used in the \`component\` prop of the [Final Form \`<Field>\` components](https://final-form.org/docs/react-final-form/api/Field) where they will receive some props from the Field, e.g. \`<Field component={FileInputFieldFF} />\`. See the code samples below for examples.
22
+
23
+ #### Props
24
+
25
+ The props shown in the table below are generally provided to the \`FileInputFieldFF\` wrapper by the Final Form \`Field\`.
26
+
27
+ Note that any props beyond the API of the \`Field\` component will be spread to the \`FileInputFieldFF\`, which passes any extra props to the underlying \`FileInputField\` using \`{...rest}\`.
19
28
 
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+ Therefore, to add any props to the \`FileInputFieldFF\` or \`FileInputField\`, add those props to the parent Final Form \`Field\` component.
21
30
 
22
- const description = "\nThe `FileInputFieldFF` is a wrapper around a `FileInputField` that enables it to work with Final Form, the preferred library in DHIS 2 apps for form validation and utilities.\n\n#### Final Form\n\nSee how to use Final Form at [Final Form - Getting Started](https://final-form.org/docs/react-final-form/getting-started).\n\nInside a Final Form `<Form>` component, these 'FF' UI components are intended to be used in the `component` prop of the [Final Form `<Field>` components](https://final-form.org/docs/react-final-form/api/Field) where they will receive some props from the Field, e.g. `<Field component={FileInputFieldFF} />`. See the code samples below for examples.\n\n#### Props\n\nThe props shown in the table below are generally provided to the `FileInputFieldFF` wrapper by the Final Form `Field`.\n\nNote that any props beyond the API of the `Field` component will be spread to the `FileInputFieldFF`, which passes any extra props to the underlying `FileInputField` using `{...rest}`.\n\nTherefore, to add any props to the `FileInputFieldFF` or `FileInputField`, add those props to the parent Final Form `Field` component.\n\nAlso see `FileInput` and `FileInputField` for notes about props and implementation.\n\n```js\nimport { FileInputFieldFF } from '@dhis2/ui'\n```\n\nPress **Submit** to see the form values logged to the console.\n";
31
+ Also see \`FileInput\` and \`FileInputField\` for notes about props and implementation.
32
+
33
+ \`\`\`js
34
+ import { FileInputFieldFF } from '@dhis2/ui'
35
+ \`\`\`
36
+
37
+ Press **Submit** to see the form values logged to the console.
38
+ `;
23
39
  const files = [new File([], 'file1.txt'), new File([], 'file2.txt')];
24
- var _default = {
40
+ var _default = exports.default = {
25
41
  title: 'File Input Field (Final Form)',
26
42
  component: _FileInputFieldFF.FileInputFieldFF,
27
43
  decorators: [_formDecorator.formDecorator],
@@ -33,22 +49,20 @@ var _default = {
33
49
  }
34
50
  },
35
51
  argTypes: {
36
- input: { ..._propTypes.inputArgType
52
+ input: {
53
+ ..._propTypes.inputArgType
37
54
  },
38
- meta: { ..._propTypes.metaArgType
55
+ meta: {
56
+ ..._propTypes.metaArgType
39
57
  }
40
58
  }
41
59
  };
42
- exports.default = _default;
43
-
44
60
  const Default = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
45
61
  component: _FileInputFieldFF.FileInputFieldFF,
46
62
  name: "upload",
47
63
  label: "This is a file upload"
48
64
  });
49
-
50
65
  exports.Default = Default;
51
-
52
66
  const Required = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
53
67
  component: _FileInputFieldFF.FileInputFieldFF,
54
68
  name: "upload",
@@ -56,18 +70,14 @@ const Required = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm
56
70
  required: true,
57
71
  validate: _index.hasValue
58
72
  });
59
-
60
73
  exports.Required = Required;
61
-
62
74
  const Multifile = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
63
75
  component: _FileInputFieldFF.FileInputFieldFF,
64
76
  name: "upload",
65
77
  label: "This is a file upload",
66
78
  multifile: true
67
79
  });
68
-
69
80
  exports.Multifile = Multifile;
70
-
71
81
  const WithValues = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
72
82
  component: _FileInputFieldFF.FileInputFieldFF,
73
83
  name: "upload",
@@ -77,16 +87,13 @@ const WithValues = () => /*#__PURE__*/_react.default.createElement(_reactFinalFo
77
87
  initialValue: files,
78
88
  validate: _index.hasValue
79
89
  });
80
-
81
90
  exports.WithValues = WithValues;
82
91
  WithValues.storyName = 'With values';
83
-
84
92
  const PreventPlaceholder = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
85
93
  component: _FileInputFieldFF.FileInputFieldFF,
86
94
  name: "upload",
87
95
  label: "This is a file upload",
88
96
  placeholder: ""
89
97
  });
90
-
91
98
  exports.PreventPlaceholder = PreventPlaceholder;
92
99
  PreventPlaceholder.storyName = 'Prevent placeholder';
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _cypressCucumberPreprocessor = require("@badeball/cypress-cucumber-preprocessor");
4
-
5
4
  (0, _cypressCucumberPreprocessor.Given)('a multi-file IputField is rendered', () => {
6
5
  cy.visitStory('Testing:FileInput', 'Standard form');
7
6
  });
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _cypressCucumberPreprocessor = require("@badeball/cypress-cucumber-preprocessor");
4
-
5
4
  (0, _cypressCucumberPreprocessor.Given)('a single-file FileInput is rendered', () => {
6
5
  cy.visitStory('Testing:FileInput', 'Standard form');
7
6
  });
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _cypressCucumberPreprocessor = require("@badeball/cypress-cucumber-preprocessor");
4
-
5
4
  (0, _cypressCucumberPreprocessor.When)('a file with the wrong file type is provided', () => {
6
5
  cy.get('[name="fileTxt"]').uploadSingleFile('md', 'FileInput/file.md');
7
6
  });
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.Required = exports.Default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactFinalForm = require("react-final-form");
9
+ var _formDecorator = require("../formDecorator.js");
10
+ var _index = require("../validators/index.js");
11
+ var _InputFieldFF = require("./InputFieldFF.js");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ var _default = exports.default = {
14
+ title: 'Testing:InputFieldFF',
15
+ decorators: [_formDecorator.formDecorator]
16
+ };
17
+ const Default = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
18
+ component: _InputFieldFF.InputFieldFF,
19
+ name: "agree",
20
+ label: "Do you agree?"
21
+ });
22
+ exports.Default = Default;
23
+ const Required = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
24
+ name: "agree",
25
+ component: _InputFieldFF.InputFieldFF,
26
+ required: true,
27
+ validate: _index.hasValue,
28
+ label: "Do you agree?"
29
+ });
30
+ exports.Required = Required;
@@ -4,21 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.InputFieldFF = void 0;
7
-
8
7
  var _input = require("@dhis2-ui/input");
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  var _helpers = require("../shared/helpers.js");
15
-
16
11
  var _propTypes2 = require("../shared/propTypes.js");
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
-
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
22
14
  const InputFieldFF = _ref => {
23
15
  let {
24
16
  input,
@@ -46,12 +38,10 @@ const InputFieldFF = _ref => {
46
38
  value: input.value
47
39
  }));
48
40
  };
49
-
50
41
  exports.InputFieldFF = InputFieldFF;
51
42
  InputFieldFF.propTypes = {
52
43
  /** `input` props received from Final Form `Field` */
53
44
  input: _propTypes2.inputPropType.isRequired,
54
-
55
45
  /** `meta` props received from Final Form `Field` */
56
46
  meta: _propTypes2.metaPropType.isRequired,
57
47
  error: _propTypes.default.bool,
@@ -4,23 +4,39 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.Statuses = exports.Required = exports.HelpText = exports.Disabled = exports.Default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _reactFinalForm = require("react-final-form");
11
-
12
9
  var _formDecorator = require("../formDecorator.js");
13
-
14
10
  var _propTypes = require("../shared/propTypes.js");
15
-
16
11
  var _index = require("../validators/index.js");
17
-
18
12
  var _InputFieldFF = require("./InputFieldFF.js");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ const description = `
15
+ The \`InputFieldFF\` is a wrapper around a \`InputField\` that enables it to work with Final Form, the preferred library for form validation and utilities in DHIS 2 apps.
16
+
17
+ #### Final Form
18
+
19
+ See how to use Final Form at [Final Form - Getting Started](https://final-form.org/docs/react-final-form/getting-started).
20
+
21
+ Inside a Final Form \`<Form>\` component, these 'FF' UI components are intended to be used in the \`component\` prop of the [Final Form \`<Field>\` components](https://final-form.org/docs/react-final-form/api/Field) where they will receive some props from the Field, e.g. \`<Field component={InputFieldFF} />\`. See the code samples below for examples.
22
+
23
+ #### Props
24
+
25
+ The props shown in the table below are generally provided to the \`InputFieldFF\` wrapper by the Final Form \`Field\`.
26
+
27
+ Note that any props beyond the API of the \`Field\` component will be spread to the \`InputFieldFF\`, which passes any extra props to the underlying \`InputField\` using \`{...rest}\`.
19
28
 
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+ Therefore, to add any props to the \`InputFieldFF\` or \`InputField\`, add those props to the parent Final Form \`Field\` component.
21
30
 
22
- const description = "\nThe `InputFieldFF` is a wrapper around a `InputField` that enables it to work with Final Form, the preferred library for form validation and utilities in DHIS 2 apps.\n\n#### Final Form\n\nSee how to use Final Form at [Final Form - Getting Started](https://final-form.org/docs/react-final-form/getting-started).\n\nInside a Final Form `<Form>` component, these 'FF' UI components are intended to be used in the `component` prop of the [Final Form `<Field>` components](https://final-form.org/docs/react-final-form/api/Field) where they will receive some props from the Field, e.g. `<Field component={InputFieldFF} />`. See the code samples below for examples.\n\n#### Props\n\nThe props shown in the table below are generally provided to the `InputFieldFF` wrapper by the Final Form `Field`.\n\nNote that any props beyond the API of the `Field` component will be spread to the `InputFieldFF`, which passes any extra props to the underlying `InputField` using `{...rest}`.\n\nTherefore, to add any props to the `InputFieldFF` or `InputField`, add those props to the parent Final Form `Field` component.\n\nAlso see `InputField` for notes about props and implementation.\n\n```js\nimport { InputFieldFF } from '@dhis2/ui'\n```\n\nPress **Submit** to see the form values logged to the console.\n";
23
- var _default = {
31
+ Also see \`InputField\` for notes about props and implementation.
32
+
33
+ \`\`\`js
34
+ import { InputFieldFF } from '@dhis2/ui'
35
+ \`\`\`
36
+
37
+ Press **Submit** to see the form values logged to the console.
38
+ `;
39
+ var _default = exports.default = {
24
40
  title: 'Input Field (Final Form)',
25
41
  component: _InputFieldFF.InputFieldFF,
26
42
  decorators: [_formDecorator.formDecorator],
@@ -32,22 +48,20 @@ var _default = {
32
48
  }
33
49
  },
34
50
  argTypes: {
35
- input: { ..._propTypes.inputArgType
51
+ input: {
52
+ ..._propTypes.inputArgType
36
53
  },
37
- meta: { ..._propTypes.metaArgType
54
+ meta: {
55
+ ..._propTypes.metaArgType
38
56
  }
39
57
  }
40
58
  };
41
- exports.default = _default;
42
-
43
59
  const Default = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
44
60
  component: _InputFieldFF.InputFieldFF,
45
61
  name: "agree",
46
62
  label: "Do you agree?"
47
63
  });
48
-
49
64
  exports.Default = Default;
50
-
51
65
  const Required = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
52
66
  name: "agree",
53
67
  component: _InputFieldFF.InputFieldFF,
@@ -55,28 +69,22 @@ const Required = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm
55
69
  validate: _index.hasValue,
56
70
  label: "Do you agree?"
57
71
  });
58
-
59
72
  exports.Required = Required;
60
-
61
73
  const Disabled = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
62
74
  name: "agree",
63
75
  component: _InputFieldFF.InputFieldFF,
64
76
  disabled: true,
65
77
  label: "Do you agree?"
66
78
  });
67
-
68
79
  exports.Disabled = Disabled;
69
-
70
80
  const HelpText = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
71
81
  name: "agree",
72
82
  component: _InputFieldFF.InputFieldFF,
73
83
  label: "Do you agree?",
74
84
  helpText: "Click to agree"
75
85
  });
76
-
77
86
  exports.HelpText = HelpText;
78
87
  HelpText.storyName = 'Help text';
79
-
80
88
  const Statuses = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
81
89
  name: "valid",
82
90
  component: _InputFieldFF.InputFieldFF,
@@ -96,5 +104,4 @@ const Statuses = () => /*#__PURE__*/_react.default.createElement(_react.default.
96
104
  error: true,
97
105
  validationText: "Validation text"
98
106
  }));
99
-
100
107
  exports.Statuses = Statuses;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _cypressCucumberPreprocessor = require("@badeball/cypress-cucumber-preprocessor");
4
-
5
4
  (0, _cypressCucumberPreprocessor.Given)('a Input with no text is rendered', () => {
6
5
  cy.visitStory('Testing:InputFieldFF', 'Default');
7
6
  cy.verifyFormValue('agree', undefined);
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _cypressCucumberPreprocessor = require("@badeball/cypress-cucumber-preprocessor");
4
-
5
4
  var _hasValue = require("../../../validators/hasValue.js");
6
-
7
5
  (0, _cypressCucumberPreprocessor.Given)('an empty, required Input is rendered', () => {
8
6
  cy.visitStory('Testing:InputFieldFF', 'Required');
9
7
  cy.verifyFormValue('agree', undefined);
@@ -1,19 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _react = require("@storybook/react");
4
-
5
- var _react2 = _interopRequireDefault(require("react"));
6
-
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.Required = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
7
8
  var _reactFinalForm = require("react-final-form");
8
-
9
9
  var _formDecorator = require("../formDecorator.js");
10
-
11
10
  var _index = require("../validators/index.js");
12
-
13
11
  var _MultiSelectFieldFF = require("./MultiSelectFieldFF.js");
14
-
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
-
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
13
  const defaultOptions = [{
18
14
  value: 'first',
19
15
  label: 'First'
@@ -21,15 +17,16 @@ const defaultOptions = [{
21
17
  value: 'second',
22
18
  label: 'Second'
23
19
  }];
24
- (0, _react.storiesOf)('Testing:MultiSelectFieldFF', module).addDecorator(_formDecorator.formDecorator).addParameters({
25
- options: {
26
- showPanel: false
27
- }
28
- }).add('Required', (_, _ref) => {
20
+ var _default = exports.default = {
21
+ title: 'MultiSelectFieldFF',
22
+ component: _MultiSelectFieldFF.MultiSelectFieldFF,
23
+ decorators: [_formDecorator.formDecorator]
24
+ };
25
+ const Required = (_, _ref) => {
29
26
  let {
30
27
  cypressProps
31
28
  } = _ref;
32
- return /*#__PURE__*/_react2.default.createElement(_reactFinalForm.Field, {
29
+ return /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
33
30
  required: true,
34
31
  name: "multiSelect",
35
32
  label: "Multi select",
@@ -37,4 +34,5 @@ const defaultOptions = [{
37
34
  validate: _index.hasValue,
38
35
  options: cypressProps.options || defaultOptions
39
36
  });
40
- });
37
+ };
38
+ exports.Required = Required;
@@ -4,21 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.MultiSelectFieldFF = void 0;
7
-
8
7
  var _select = require("@dhis2-ui/select");
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _react = _interopRequireDefault(require("react"));
13
-
14
10
  var _helpers = require("../shared/helpers.js");
15
-
16
11
  var _propTypes2 = require("../shared/propTypes.js");
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
-
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
22
14
  const MultiSelectFieldFF = _ref => {
23
15
  let {
24
16
  error,
@@ -43,19 +35,15 @@ const MultiSelectFieldFF = _ref => {
43
35
  onFocus: (0, _helpers.createFocusHandler)(input, onFocus),
44
36
  onChange: (0, _helpers.createSelectChangeHandler)(input),
45
37
  onBlur: (0, _helpers.createBlurHandler)(input, onBlur),
46
- selected: input.value || []
47
- /* input.value is an empty string initially, so we're providing an empty array if falsey */
48
-
38
+ selected: input.value || [] /* input.value is an empty string initially, so we're providing an empty array if falsey */
49
39
  }), options.map(option => /*#__PURE__*/_react.default.createElement(_select.MultiSelectOption, _extends({
50
40
  key: option.value
51
41
  }, option))));
52
42
  };
53
-
54
43
  exports.MultiSelectFieldFF = MultiSelectFieldFF;
55
44
  MultiSelectFieldFF.propTypes = {
56
45
  /** `input` props provided by Final Form `Field` */
57
46
  input: _propTypes2.inputPropType.isRequired,
58
-
59
47
  /** `meta` props provided by Final Form `Field` */
60
48
  meta: _propTypes2.metaPropType.isRequired,
61
49
  error: _propTypes.default.bool,
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.InitialValue = exports.Default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactFinalForm = require("react-final-form");
9
+ var _formDecorator = require("../formDecorator.js");
10
+ var _propTypes = require("../shared/propTypes.js");
11
+ var _MultiSelectFieldFF = require("./MultiSelectFieldFF.js");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ const description = `
14
+ The \`MultiSelectFieldFF\` is a wrapper around a \`MultiSelectField\` that enables it to work with Final Form, the preferred library for form validation and utilities in DHIS 2 apps.
15
+
16
+ #### Final Form
17
+
18
+ See how to use Final Form at [Final Form - Getting Started](https://final-form.org/docs/react-final-form/getting-started).
19
+
20
+ Inside a Final Form \`<Form>\` component, these 'FF' UI components are intended to be used in the \`component\` prop of the [Final Form \`<Field>\` components](https://final-form.org/docs/react-final-form/api/Field) where they will receive some props from the Field, e.g. \`<Field component={MultiSelectFieldFF} />\`. See the code samples below for examples.
21
+
22
+ #### Props
23
+
24
+ The props shown in the table below are generally provided to the \`MultiSelectFieldFF\` wrapper by the Final Form \`Field\`.
25
+
26
+ Note that any props beyond the API of the \`Field\` component will be spread to the \`MultiSelectFieldFF\`, which passes any extra props to the underlying \`MultiSelectField\` using \`{...rest}\`.
27
+
28
+ Therefore, to add any props to the \`MultiSelectFieldFF\` or \`MultiSelectField\`, add those props to the parent Final Form \`Field\` component.
29
+
30
+ Also see \`MultiSelect\` and \`MultiSelectField\` for notes about props and implementation.
31
+
32
+ \`\`\`js
33
+ import { MultiSelectFieldFF } from '@dhis2/ui'
34
+ \`\`\`
35
+
36
+ Press **Submit** to see the form values logged to the console.
37
+
38
+ _**Note:** Dropdowns may not appear correctly on this page. See the affected demos in the 'Canvas' tab for propper dropdown placement._
39
+ `;
40
+ const options = [{
41
+ value: '1',
42
+ label: 'one'
43
+ }, {
44
+ value: '2',
45
+ label: 'two'
46
+ }, {
47
+ value: '3',
48
+ label: 'three'
49
+ }, {
50
+ value: '4',
51
+ label: 'four'
52
+ }, {
53
+ value: '5',
54
+ label: 'five'
55
+ }, {
56
+ value: '6',
57
+ label: 'six'
58
+ }, {
59
+ value: '7',
60
+ label: 'seven'
61
+ }, {
62
+ value: '8',
63
+ label: 'eight'
64
+ }, {
65
+ value: '9',
66
+ label: 'nine'
67
+ }, {
68
+ value: '10',
69
+ label: 'ten'
70
+ }];
71
+ const initialValue = ['3', '4', '9', '10'];
72
+ var _default = exports.default = {
73
+ title: 'Multi Select Field (Final Form)',
74
+ component: _MultiSelectFieldFF.MultiSelectFieldFF,
75
+ decorators: [_formDecorator.formDecorator],
76
+ parameters: {
77
+ docs: {
78
+ description: {
79
+ component: description
80
+ }
81
+ }
82
+ },
83
+ argTypes: {
84
+ input: {
85
+ ..._propTypes.inputArgType
86
+ },
87
+ meta: {
88
+ ..._propTypes.metaArgType
89
+ }
90
+ }
91
+ };
92
+ const Default = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
93
+ component: _MultiSelectFieldFF.MultiSelectFieldFF,
94
+ name: "agree",
95
+ label: "Do you agree?",
96
+ options: options
97
+ });
98
+ exports.Default = Default;
99
+ const InitialValue = () => /*#__PURE__*/_react.default.createElement(_reactFinalForm.Field, {
100
+ component: _MultiSelectFieldFF.MultiSelectFieldFF,
101
+ name: "agree",
102
+ label: "Do you agree?",
103
+ options: options,
104
+ initialValue: initialValue
105
+ });
106
+ exports.InitialValue = InitialValue;
107
+ InitialValue.storyName = 'InitialValue';
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _cypressCucumberPreprocessor = require("@badeball/cypress-cucumber-preprocessor");
4
-
5
4
  (0, _cypressCucumberPreprocessor.Given)('the MultiSelect has two options', () => {
6
5
  const options = [{
7
6
  value: 'value1',
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  var _cypressCucumberPreprocessor = require("@badeball/cypress-cucumber-preprocessor");
4
-
5
4
  (0, _cypressCucumberPreprocessor.Given)('a required MultiSelect with no selected value', () => {
6
- cy.visitStory('Testing:MultiSelectFieldFF', 'Required');
5
+ cy.visitStory('MultiSelectFieldFF', 'Required');
7
6
  cy.getFormValue('multiSelect');
8
7
  cy.verifyFormValue('multiSelect', undefined);
9
8
  });
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _cypressCucumberPreprocessor = require("@badeball/cypress-cucumber-preprocessor");
4
-
5
4
  var _hasValue = require("../../../validators/hasValue.js");
6
-
7
5
  (0, _cypressCucumberPreprocessor.When)('the user submits the form', () => {
8
6
  cy.get('button[type="submit"]').click();
9
7
  });