envoc-form 2.0.1-7 → 2.0.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 (143) hide show
  1. package/README.md +7 -7
  2. package/dist/css/envoc-form-styles.css +43 -5
  3. package/dist/css/envoc-form-styles.css.map +1 -1
  4. package/es/AddressInput/AddressInput.js +7 -6
  5. package/es/ConfirmBaseForm/ConfirmBaseForm.js +3 -2
  6. package/es/ConfirmDeleteForm/ConfirmDeleteForm.js +2 -1
  7. package/es/DatePickerInput/DatePickerInput.js +22 -5
  8. package/es/FileInput/DefaultFileList.js +12 -8
  9. package/es/FileInput/DropzoneFileInput.js +24 -23
  10. package/es/FileInput/FileInput.js +31 -9
  11. package/es/Form/Form.js +4 -2
  12. package/es/FormGroupWrapper.js +2 -1
  13. package/es/FormInput/FormInput.js +12 -6
  14. package/es/FormInputArray/FormInputArray.js +39 -24
  15. package/es/IconInput.js +2 -1
  16. package/es/ReactSelectField/ReactSelectField.js +6 -3
  17. package/es/SubmitFormButton.js +2 -1
  18. package/es/__Tests__/FormTestBase.js +5 -2
  19. package/es/normalizers.js +10 -5
  20. package/es/useStandardFormInput.js +4 -2
  21. package/es/utils/objectToFormData.js +10 -2
  22. package/lib/AddressInput/AddressInput.js +14 -8
  23. package/lib/ConfirmBaseForm/ConfirmBaseForm.js +4 -2
  24. package/lib/ConfirmDeleteForm/ConfirmDeleteForm.js +3 -1
  25. package/lib/DatePickerInput/DatePickerInput.js +25 -5
  26. package/lib/FileInput/DefaultFileList.js +20 -13
  27. package/lib/FileInput/DropzoneFileInput.js +25 -25
  28. package/lib/FileInput/FileInput.js +39 -10
  29. package/lib/Form/Form.js +11 -4
  30. package/lib/Form/FormBasedPreventNavigation.js +5 -1
  31. package/lib/FormGroupWrapper.js +3 -1
  32. package/lib/FormInput/FormInput.js +13 -6
  33. package/lib/FormInputArray/FormInputArray.js +47 -26
  34. package/lib/FormSection.js +5 -1
  35. package/lib/IconInput.js +3 -1
  36. package/lib/ReactSelectField/ReactSelectField.js +13 -5
  37. package/lib/ReactSelectField/index.js +6 -2
  38. package/lib/SubmitFormButton.js +3 -1
  39. package/lib/__Tests__/FormTestBase.js +6 -2
  40. package/lib/index.js +7 -3
  41. package/lib/normalizers.js +10 -5
  42. package/lib/useStandardFormInput.js +5 -2
  43. package/lib/utils/objectToFormData.js +10 -2
  44. package/lib/validators/index.js +5 -1
  45. package/package.json +99 -93
  46. package/src/AddressInput/AddesssInput.test.js +23 -23
  47. package/src/AddressInput/AddressInput.js +73 -73
  48. package/src/AddressInput/UsStates.js +53 -53
  49. package/src/AddressInput/__snapshots__/AddesssInput.test.js.snap +207 -207
  50. package/src/AddressInput/index.js +2 -2
  51. package/src/BoolInput/BoolInput.js +7 -7
  52. package/src/BoolInput/BoolInput.test.js +23 -23
  53. package/src/BoolInput/InlineBoolInput.js +7 -7
  54. package/src/BoolInput/__snapshots__/BoolInput.test.js.snap +89 -89
  55. package/src/BoolInput/boolOptions.js +6 -6
  56. package/src/BoolInput/index.js +4 -4
  57. package/src/ConfirmBaseForm/ConfirmBaseForm.js +37 -37
  58. package/src/ConfirmBaseForm/ConfirmBaseForm.test.js +14 -14
  59. package/src/ConfirmBaseForm/__snapshots__/ConfirmBaseForm.test.js.snap +23 -23
  60. package/src/ConfirmBaseForm/index.js +1 -1
  61. package/src/ConfirmDeleteForm/ConfirmDeleteForm.js +39 -39
  62. package/src/ConfirmDeleteForm/ConfirmDeleteForm.test.js +24 -24
  63. package/src/ConfirmDeleteForm/__snapshots__/ConfirmDeleteForm.test.js.snap +25 -25
  64. package/src/ConfirmDeleteForm/index.js +1 -1
  65. package/src/DatePickerInput/DatePickerInput.js +58 -46
  66. package/src/DatePickerInput/DatePickerInput.test.js +74 -74
  67. package/src/DatePickerInput/__snapshots__/DatePickerInput.test.js.snap +134 -134
  68. package/src/DatePickerInput/date-picker-input.scss +42 -42
  69. package/src/DatePickerInput/index.js +3 -3
  70. package/src/ErrorScrollTarget.js +6 -6
  71. package/src/FileInput/DefaultFileList.js +39 -39
  72. package/src/FileInput/DropzoneFileInput.js +56 -59
  73. package/src/FileInput/DropzoneFileInput.test.js +24 -0
  74. package/src/FileInput/FileInput.js +77 -49
  75. package/src/FileInput/FileInput.test.js +24 -15
  76. package/src/FileInput/__snapshots__/DropzoneFileInput.test.js.snap +57 -0
  77. package/src/FileInput/__snapshots__/FileInput.test.js.snap +58 -22
  78. package/src/FileInput/file-input.scss +58 -17
  79. package/src/FileInput/index.js +4 -4
  80. package/src/Form/FocusError.js +48 -48
  81. package/src/Form/Form.js +139 -138
  82. package/src/Form/Form.test.js +23 -23
  83. package/src/Form/FormBasedPreventNavigation.js +25 -25
  84. package/src/Form/ServerErrorContext.js +7 -7
  85. package/src/Form/__snapshots__/Form.test.js.snap +9 -9
  86. package/src/Form/index.js +3 -3
  87. package/src/FormGroup.js +30 -30
  88. package/src/FormGroupWrapper.js +28 -28
  89. package/src/FormInput/FormInput.js +144 -144
  90. package/src/FormInput/FormInput.test.js +66 -66
  91. package/src/FormInput/__snapshots__/FormInput.test.js.snap +323 -316
  92. package/src/FormInput/form-input.scss +9 -9
  93. package/src/FormInput/index.js +2 -2
  94. package/src/FormInputArray/FormInputArray.js +224 -210
  95. package/src/FormInputArray/FormInputArray.test.js +108 -59
  96. package/src/FormInputArray/__snapshots__/FormInputArray.test.js.snap +52 -40
  97. package/src/FormInputArray/form-input-array.scss +13 -8
  98. package/src/FormInputArray/index.js +2 -2
  99. package/src/FormSection.js +13 -13
  100. package/src/IconInput.js +31 -31
  101. package/src/InlineFormInput/InlineFormInput.js +6 -6
  102. package/src/InlineFormInput/InlineFormInput.test.js +23 -23
  103. package/src/InlineFormInput/__snapshots__/InlineFormInput.test.js.snap +26 -26
  104. package/src/InlineFormInput/index.js +3 -3
  105. package/src/InlineFormInput/inline-form-input.scss +3 -3
  106. package/src/MoneyInput/InlineMoneyInput.js +7 -7
  107. package/src/MoneyInput/MoneyInput.js +7 -7
  108. package/src/MoneyInput/MoneyInputs.test.js +43 -43
  109. package/src/MoneyInput/__snapshots__/MoneyInputs.test.js.snap +81 -81
  110. package/src/MoneyInput/index.js +4 -4
  111. package/src/MoneyInput/money-input.scss +3 -3
  112. package/src/MoneyInput/moneyInputProps.js +12 -12
  113. package/src/NestedFormFieldContext.js +6 -6
  114. package/src/ReactSelectField/ReactSelectField.js +122 -120
  115. package/src/ReactSelectField/index.js +6 -6
  116. package/src/ReactSelectField/react-select-field.scss +5 -5
  117. package/src/StandardFormActions.js +27 -27
  118. package/src/SubmitFormButton.js +28 -28
  119. package/src/__Tests__/FormTestBase.js +14 -11
  120. package/src/__Tests__/IconInput.test.js +23 -23
  121. package/src/__Tests__/StandardFormActions.test.js +23 -23
  122. package/src/__Tests__/SubmitFormButton.test.js +23 -23
  123. package/src/__Tests__/__snapshots__/IconInput.test.js.snap +38 -38
  124. package/src/__Tests__/__snapshots__/StandardFormActions.test.js.snap +25 -25
  125. package/src/__Tests__/__snapshots__/SubmitFormButton.test.js.snap +18 -18
  126. package/src/__Tests__/index.js +2 -2
  127. package/src/_variables.scss +11 -11
  128. package/src/index.js +33 -33
  129. package/src/normalizers.js +42 -32
  130. package/src/selectors.js +3 -3
  131. package/src/styles.scss +7 -7
  132. package/src/useStandardFormInput.js +118 -118
  133. package/src/utils/index.js +3 -3
  134. package/src/utils/objectContainsNonSerializableProperty.js +15 -15
  135. package/src/utils/objectContainsNonSerializableProperty.test.js +49 -49
  136. package/src/utils/objectToFormData.js +89 -83
  137. package/src/utils/objectToFormData.test.js +76 -47
  138. package/src/utils/typeChecks.js +18 -18
  139. package/src/validators/index.js +2 -2
  140. package/src/validators/validators.js +93 -93
  141. package/src/validators/validators.test.js +79 -79
  142. package/CHANGELOG.json +0 -95
  143. package/CHANGELOG.md +0 -58
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = FormTestBase;
9
9
 
10
+ require("@testing-library/jest-dom/extend-expect");
11
+
10
12
  var _react = _interopRequireDefault(require("react"));
11
13
 
12
14
  var _reactRouterDom = require("react-router-dom");
@@ -14,8 +16,10 @@ var _reactRouterDom = require("react-router-dom");
14
16
  var _Form = _interopRequireDefault(require("../Form"));
15
17
 
16
18
  function FormTestBase(_ref) {
17
- var children = _ref.children;
19
+ var children = _ref.children,
20
+ initialValues = _ref.initialValues;
18
21
  return /*#__PURE__*/_react["default"].createElement(_reactRouterDom.HashRouter, null, /*#__PURE__*/_react["default"].createElement(_Form["default"], {
19
- onSubmit: function onSubmit() {}
22
+ onSubmit: function onSubmit() {},
23
+ initialValues: initialValues
20
24
  }, children));
21
25
  }
package/lib/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -127,4 +127,8 @@ var _SubmitFormButton = _interopRequireDefault(require("./SubmitFormButton"));
127
127
 
128
128
  var _AddressInput = _interopRequireDefault(require("./AddressInput"));
129
129
 
130
- var _MoneyInput = require("./MoneyInput");
130
+ var _MoneyInput = require("./MoneyInput");
131
+
132
+ 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); }
133
+
134
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -10,10 +10,6 @@ var phoneNumber = function phoneNumber(value) {
10
10
  return value;
11
11
  }
12
12
 
13
- if (value.length === 12 && value.startsWith('+1')) {
14
- value = value.substring(2);
15
- }
16
-
17
13
  var onlyNums = value.replace(/[^\d]/g, '');
18
14
 
19
15
  if (onlyNums.length <= 3) {
@@ -24,7 +20,16 @@ var phoneNumber = function phoneNumber(value) {
24
20
  return "".concat(onlyNums.slice(0, 3), "-").concat(onlyNums.slice(3));
25
21
  }
26
22
 
27
- return "".concat(onlyNums.slice(0, 3), "-").concat(onlyNums.slice(3, 6), "-").concat(onlyNums.slice(6, 10));
23
+ if (onlyNums.length <= 10) {
24
+ return "".concat(onlyNums.slice(0, 3), "-").concat(onlyNums.slice(3, 6), "-").concat(onlyNums.slice(6, 10));
25
+ }
26
+
27
+ if (onlyNums.length <= 13) {
28
+ var countryCodeLength = onlyNums - 10;
29
+ return "+".concat(onlyNums.slice(0, countryCodeLength), " ").concat(onlyNums.slice(countryCodeLength, 3 + countryCodeLength), "-").concat(onlyNums.slice(3 + countryCodeLength, 6 + countryCodeLength), "-").concat(onlyNums.slice(6 + countryCodeLength, onlyNums.length));
30
+ }
31
+
32
+ return onlyNums;
28
33
  };
29
34
 
30
35
  exports.phoneNumber = phoneNumber;
@@ -19,6 +19,9 @@ var _NestedFormFieldContext = _interopRequireDefault(require("./NestedFormFieldC
19
19
 
20
20
  var _Form = require("./Form");
21
21
 
22
+ var _excluded = ["id", "name", "disabled", "validate", "normalize"],
23
+ _excluded2 = ["onChange", "value"];
24
+
22
25
  // provides a consistent way to deal with all form fields (non array)
23
26
  function useStandardFormInput(_ref) {
24
27
  var providedId = _ref.id,
@@ -26,7 +29,7 @@ function useStandardFormInput(_ref) {
26
29
  disabled = _ref.disabled,
27
30
  validate = _ref.validate,
28
31
  normalize = _ref.normalize,
29
- props = (0, _objectWithoutProperties2["default"])(_ref, ["id", "name", "disabled", "validate", "normalize"]);
32
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
30
33
 
31
34
  // because the formik errors are evaluated all at the same time we need to keep server errors separate
32
35
  var _useContext = (0, _react.useContext)(_Form.ServerErrorContext),
@@ -50,7 +53,7 @@ function useStandardFormInput(_ref) {
50
53
  _useField2$ = _useField2[0],
51
54
  formikOnChange = _useField2$.onChange,
52
55
  value = _useField2$.value,
53
- formikProps = (0, _objectWithoutProperties2["default"])(_useField2$, ["onChange", "value"]),
56
+ formikProps = (0, _objectWithoutProperties2["default"])(_useField2$, _excluded2),
54
57
  meta = _useField2[1];
55
58
 
56
59
  var _useFormikContext = (0, _formik.useFormikContext)(),
@@ -7,7 +7,8 @@ exports["default"] = void 0;
7
7
 
8
8
  var _typeChecks = require("./typeChecks");
9
9
 
10
- //https://github.com/therealparmesh/object-to-formdata/blob/master/src/index.js
10
+ // Original: https://github.com/therealparmesh/object-to-formdata/blob/master/src/index.js
11
+ // With Multiple Form File Fix: https://github.com/therealparmesh/object-to-formdata/pull/94/files
11
12
  var serialize = function serialize(obj, cfg, fd, pre) {
12
13
  cfg = cfg || {};
13
14
  cfg.indices = (0, _typeChecks.isUndefined)(cfg.indices) ? false : cfg.indices;
@@ -33,7 +34,14 @@ var serialize = function serialize(obj, cfg, fd, pre) {
33
34
  } else if ((0, _typeChecks.isArray)(obj)) {
34
35
  if (obj.length) {
35
36
  obj.forEach(function (value, index) {
36
- var key = pre + '[' + (cfg.indices ? index : '') + ']';
37
+ var key;
38
+
39
+ if (cfg.noFileListBrackets && (0, _typeChecks.isFile)(value)) {
40
+ key = pre;
41
+ } else {
42
+ key = pre + '[' + (cfg.indices ? index : '') + ']';
43
+ }
44
+
37
45
  serialize(value, cfg, fd, key);
38
46
  });
39
47
  } else if (cfg.allowEmptyArrays) {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -9,5 +9,9 @@ exports["default"] = void 0;
9
9
 
10
10
  var validators = _interopRequireWildcard(require("./validators"));
11
11
 
12
+ 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); }
13
+
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+
12
16
  var _default = validators;
13
17
  exports["default"] = _default;
package/package.json CHANGED
@@ -1,93 +1,99 @@
1
- {
2
- "name": "envoc-form",
3
- "version": "2.0.1-7",
4
- "description": "Envoc form components",
5
- "keywords": [
6
- "react-component",
7
- "react",
8
- "forms",
9
- "components",
10
- "envoc"
11
- ],
12
- "homepage": "",
13
- "repository": "",
14
- "license": "MIT",
15
- "author": "Envoc Developers",
16
- "sideEffects": false,
17
- "main": "lib/index.js",
18
- "module": "es/index.js",
19
- "files": [
20
- "dist",
21
- "src",
22
- "lib",
23
- "es"
24
- ],
25
- "scripts": {
26
- "build": "yarn build:esm && yarn build:cjs & yarn build:css",
27
- "rebuild": "rimraf ./{dist,es,lib} && yarn build",
28
- "build:esm": "cross-env BABEL_ENV=esm-dir babel src --out-dir es --ignore \"src/**/*.spec.js\",\"src/**/*.test.js\"",
29
- "build:css": "sass src/styles.scss dist/css/envoc-form-styles.css",
30
- "build:cjs": "babel src --out-dir lib --ignore \"src/**/*.spec.js\",\"src/**/*.test.js\"",
31
- "start": "webpack serve --config ./webpack.demo.config.js",
32
- "test": "cross-env SKIP_PREFLIGHT_CHECK=true react-scripts test --watchAll=false",
33
- "coverage": "yarn test --reporters=jest-junit --coverage --coverageReporters=cobertura"
34
- },
35
- "dependencies": {
36
- "axios": "^0.21.1",
37
- "classnames": "^2.2.6",
38
- "date-fns": "^2.17.0",
39
- "envoc-request": "^2.0.1-7",
40
- "lru-cache": "^6.0.0",
41
- "prop-types": "^15.7.2",
42
- "react-date-picker": "^8.0.7",
43
- "react-dropzone": "^11.3.1",
44
- "react-router": "^5.2.0",
45
- "react-select": "^3.1.1",
46
- "react-textarea-autosize": "^8.3.1",
47
- "react-toastify": "^7.0.3",
48
- "reactstrap": "^8.9.0",
49
- "smoothscroll-polyfill": "^0.4.4",
50
- "uuid": "^8.3.2"
51
- },
52
- "devDependencies": {
53
- "@babel/cli": "^7.12.17",
54
- "@babel/core": "^7.12.17",
55
- "@babel/plugin-transform-runtime": "^7.12.17",
56
- "@babel/preset-env": "^7.12.17",
57
- "@babel/preset-react": "^7.12.13",
58
- "@testing-library/jest-dom": "^5.11.9",
59
- "@testing-library/react": "^11.2.5",
60
- "@testing-library/user-event": "^12.7.1",
61
- "babel-loader": "^8.2.2",
62
- "bootstrap": "^4.6.0",
63
- "clean-webpack-plugin": "^3.0.0",
64
- "cross-env": "7.0.3",
65
- "css-loader": "^5.0.2",
66
- "html-webpack-plugin": "^5.2.0",
67
- "identity-obj-proxy": "^3.0.0",
68
- "jest-junit": "~12.0.0",
69
- "react": "^17.0.1",
70
- "react-dom": "^17.0.1",
71
- "react-router-dom": "^5.2.0",
72
- "react-scripts": "^4.0.2",
73
- "rimraf": "~3.0.2",
74
- "sass": "^1.32.8",
75
- "sass-loader": "^11.0.1",
76
- "style-loader": "^2.0.0",
77
- "webpack": "^5.23.0",
78
- "webpack-cli": "^4.5.0",
79
- "webpack-dev-server": "^3.11.2"
80
- },
81
- "peerDependencies": {
82
- "@babel/runtime": "^7.12.5",
83
- "formik": "^2.2.5",
84
- "react": ">=16.8.0",
85
- "react-dom": ">=16.8.0",
86
- "react-router-dom": "^5.2.0"
87
- },
88
- "jest": {
89
- "transformIgnorePatterns": [
90
- "^.+\\.module\\.(css|sass|scss)$"
91
- ]
92
- }
93
- }
1
+ {
2
+ "name": "envoc-form",
3
+ "version": "2.0.1",
4
+ "description": "Envoc form components",
5
+ "keywords": [
6
+ "react-component",
7
+ "react",
8
+ "forms",
9
+ "components",
10
+ "envoc"
11
+ ],
12
+ "homepage": "",
13
+ "repository": "",
14
+ "license": "MIT",
15
+ "author": "Envoc Developers",
16
+ "sideEffects": false,
17
+ "main": "lib/index.js",
18
+ "module": "es/index.js",
19
+ "files": [
20
+ "dist",
21
+ "src",
22
+ "lib",
23
+ "es"
24
+ ],
25
+ "scripts": {
26
+ "build": "yarn verify-imports && yarn build:esm && yarn build:cjs && yarn build:css",
27
+ "rebuild": "rimraf ./{dist,es,lib} && yarn build",
28
+ "build:esm": "cross-env BABEL_ENV=esm-dir babel src --out-dir es --ignore \"src/**/*.spec.js\",\"src/**/*.test.js\"",
29
+ "build:css": "sass src/styles.scss dist/css/envoc-form-styles.css",
30
+ "build:cjs": "babel src --out-dir lib --ignore \"src/**/*.spec.js\",\"src/**/*.test.js\"",
31
+ "verify-imports": "node ../../scripts/check-for-scss-imports.js envoc-form",
32
+ "start": "webpack serve --config ./webpack.demo.config.js",
33
+ "test": "cross-env SKIP_PREFLIGHT_CHECK=true react-scripts test --watchAll=false",
34
+ "coverage": "yarn test --reporters=jest-junit --coverage --coverageReporters=cobertura"
35
+ },
36
+ "dependencies": {
37
+ "axios": "^0.21.1",
38
+ "classnames": "^2.3.1",
39
+ "date-fns": "^2.22.1",
40
+ "envoc-request": "^2.0.1",
41
+ "lru-cache": "^6.0.0",
42
+ "prop-types": "^15.7.2",
43
+ "react-date-picker": "^8.2.0",
44
+ "react-dropzone": "^11.3.4",
45
+ "react-router": "^5.2.0",
46
+ "react-select": "^3.1.1",
47
+ "react-textarea-autosize": "^8.3.3",
48
+ "react-toastify": "^7.0.4",
49
+ "reactstrap": "^8.9.0",
50
+ "smoothscroll-polyfill": "^0.4.4",
51
+ "uuid": "^8.3.2",
52
+ "@fortawesome/react-fontawesome": "~0.1.16",
53
+ "@fortawesome/free-solid-svg-icons": "~5.15.4",
54
+ "@fortawesome/fontawesome-svg-core": "~1.2.36"
55
+ },
56
+ "devDependencies": {
57
+ "@babel/cli": "^7.14.5",
58
+ "@babel/core": "^7.14.6",
59
+ "@babel/plugin-transform-runtime": "^7.14.5",
60
+ "@babel/preset-env": "^7.14.7",
61
+ "@babel/preset-react": "^7.14.5",
62
+ "@testing-library/jest-dom": "^5.14.1",
63
+ "@testing-library/react": "^11.2.5",
64
+ "@testing-library/user-event": "^12.7.1",
65
+ "babel-loader": "^8.2.2",
66
+ "bootstrap": "^4.6.0",
67
+ "clean-webpack-plugin": "^3.0.0",
68
+ "cross-env": "7.0.3",
69
+ "css-loader": "^5.0.2",
70
+ "html-webpack-plugin": "^5.3.2",
71
+ "identity-obj-proxy": "^3.0.0",
72
+ "jest-junit": "~12.2.0",
73
+ "react": "^17.0.1",
74
+ "react-dom": "^17.0.1",
75
+ "react-router-dom": "^5.2.0",
76
+ "react-scripts": "^4.0.3",
77
+ "rimraf": "~3.0.2",
78
+ "sass": "^1.35.2",
79
+ "sass-loader": "^11.0.1",
80
+ "style-loader": "^2.0.0",
81
+ "webpack": "^5.45.0",
82
+ "webpack-cli": "^4.7.2",
83
+ "webpack-dev-server": "^3.11.2",
84
+ "typedoc-plugin-markdown": "~3.10.3",
85
+ "typedoc": "~0.21.4"
86
+ },
87
+ "peerDependencies": {
88
+ "@babel/runtime": "^7.14.6",
89
+ "formik": "^2.2.9",
90
+ "react": ">=16.8.0",
91
+ "react-dom": ">=16.8.0",
92
+ "react-router-dom": "^5.2.0"
93
+ },
94
+ "jest": {
95
+ "transformIgnorePatterns": [
96
+ "^.+\\.module\\.(css|sass|scss)$"
97
+ ]
98
+ }
99
+ }
@@ -1,23 +1,23 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import { FormTestBase } from '../__Tests__';
4
- import AddressInput from './AddressInput';
5
-
6
- describe('AddressInput', () => {
7
- it('renders without crashing', () => {
8
- render(
9
- <FormTestBase>
10
- <AddressInput />
11
- </FormTestBase>
12
- );
13
- });
14
-
15
- it('has matching snapshot', () => {
16
- const renderResult = render(
17
- <FormTestBase>
18
- <AddressInput />
19
- </FormTestBase>
20
- );
21
- expect(renderResult.asFragment()).toMatchSnapshot();
22
- });
23
- });
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import { FormTestBase } from '../__Tests__';
4
+ import AddressInput from './AddressInput';
5
+
6
+ describe('AddressInput', () => {
7
+ it('renders without crashing', () => {
8
+ render(
9
+ <FormTestBase>
10
+ <AddressInput />
11
+ </FormTestBase>
12
+ );
13
+ });
14
+
15
+ it('has matching snapshot', () => {
16
+ const renderResult = render(
17
+ <FormTestBase>
18
+ <AddressInput />
19
+ </FormTestBase>
20
+ );
21
+ expect(renderResult.asFragment()).toMatchSnapshot();
22
+ });
23
+ });
@@ -1,73 +1,73 @@
1
- import React from 'react';
2
- import { Col, Row } from 'reactstrap';
3
- import PropTypes from 'prop-types';
4
- import FormInput from '../FormInput';
5
- import FormSection from '../FormSection';
6
- import validators from '../validators';
7
- import * as normalizers from '../normalizers';
8
- import UsStates from './UsStates';
9
-
10
- export default class AddressInput extends React.Component {
11
- render() {
12
- const { name, ...props } = this.props;
13
- return (
14
- <FormSection name={name} {...props}>
15
- <FormInput
16
- name="address1"
17
- placeholder="Address, Line 1"
18
- label="Address 1"
19
- autoComplete="address-line1"
20
- validate={validators.required}
21
- />
22
- <FormInput
23
- name="address2"
24
- placeholder="Address, Line 2"
25
- label="Address 2"
26
- autoComplete="address-line2"
27
- />
28
- <FormInput
29
- name="city"
30
- placeholder="City"
31
- label="City"
32
- autoComplete="address-level2"
33
- validate={validators.required}
34
- />
35
- <Row>
36
- <Col xs={8}>
37
- <FormInput
38
- name="state"
39
- placeholder="State"
40
- label="State"
41
- type="select"
42
- options={UsStates}
43
- autoComplete="address-level1"
44
- validate={validators.required}
45
- />
46
- </Col>
47
- <Col xs={4}>
48
- <FormInput
49
- name="zipCode"
50
- placeholder="Zip"
51
- label="Zip"
52
- autoComplete="postal-code"
53
- normalize={normalizers.zipCode}
54
- validate={[validators.required, validators.zipCode]}
55
- />
56
- </Col>
57
- </Row>
58
- </FormSection>
59
- );
60
- }
61
- }
62
- AddressInput.propTypes = {
63
- /**
64
- * The key that the resulting values should be nested under within the form values.
65
- * If name prop were chicken the submitted form values would look like: {chicken: {address1:...}}
66
- * this allows us to have two address inputs inside the same form (shipping and billing address)
67
- */
68
- name: PropTypes.string,
69
- };
70
-
71
- AddressInput.defaultProps = {
72
- name: 'address',
73
- };
1
+ import React from 'react';
2
+ import { Col, Row } from 'reactstrap';
3
+ import PropTypes from 'prop-types';
4
+ import FormInput from '../FormInput';
5
+ import FormSection from '../FormSection';
6
+ import validators from '../validators';
7
+ import * as normalizers from '../normalizers';
8
+ import UsStates from './UsStates';
9
+
10
+ export default class AddressInput extends React.Component {
11
+ render() {
12
+ const { name, ...props } = this.props;
13
+ return (
14
+ <FormSection name={name} {...props}>
15
+ <FormInput
16
+ name="address1"
17
+ placeholder="Address, Line 1"
18
+ label="Address 1"
19
+ autoComplete="address-line1"
20
+ validate={validators.required}
21
+ />
22
+ <FormInput
23
+ name="address2"
24
+ placeholder="Address, Line 2"
25
+ label="Address 2"
26
+ autoComplete="address-line2"
27
+ />
28
+ <FormInput
29
+ name="city"
30
+ placeholder="City"
31
+ label="City"
32
+ autoComplete="address-level2"
33
+ validate={validators.required}
34
+ />
35
+ <Row>
36
+ <Col xs={8}>
37
+ <FormInput
38
+ name="state"
39
+ placeholder="State"
40
+ label="State"
41
+ type="select"
42
+ options={UsStates}
43
+ autoComplete="address-level1"
44
+ validate={validators.required}
45
+ />
46
+ </Col>
47
+ <Col xs={4}>
48
+ <FormInput
49
+ name="zipCode"
50
+ placeholder="Zip"
51
+ label="Zip"
52
+ autoComplete="postal-code"
53
+ normalize={normalizers.zipCode}
54
+ validate={[validators.required, validators.zipCode]}
55
+ />
56
+ </Col>
57
+ </Row>
58
+ </FormSection>
59
+ );
60
+ }
61
+ }
62
+ AddressInput.propTypes = {
63
+ /**
64
+ * The key that the resulting values should be nested under within the form values.
65
+ * If name prop were chicken the submitted form values would look like: {chicken: {address1:...}}
66
+ * this allows us to have two address inputs inside the same form (shipping and billing address)
67
+ */
68
+ name: PropTypes.string,
69
+ };
70
+
71
+ AddressInput.defaultProps = {
72
+ name: 'address',
73
+ };