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
@@ -3,8 +3,14 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
+ var _excluded = ["id", "name", "label", "newItem", "component", "prepend", "disabled", "validate"],
7
+ _excluded2 = ["className"],
8
+ _excluded3 = ["className", "children"],
9
+ _excluded4 = ["children", "className"],
10
+ _excluded5 = ["children", "className"],
11
+ _excluded6 = ["children", "className"];
6
12
 
7
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8
14
 
9
15
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10
16
 
@@ -12,9 +18,12 @@ import React, { useEffect, useRef, useState } from 'react';
12
18
  import { v4 as uuid } from 'uuid';
13
19
  import classnames from 'classnames';
14
20
  import { Col, Card, Button, CardBody, Row, Alert } from 'reactstrap';
21
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
22
+ import { faPlus, faTrash } from '@fortawesome/free-solid-svg-icons';
15
23
  import PropTypes from 'prop-types';
16
24
  import useStandardFormInput from '../useStandardFormInput';
17
25
  import NestedFormFieldContext from '../NestedFormFieldContext';
26
+ import classNames from 'classnames';
18
27
  export default function FormInputArray(_ref) {
19
28
  var id = _ref.id,
20
29
  name = _ref.name,
@@ -24,7 +33,7 @@ export default function FormInputArray(_ref) {
24
33
  Prepend = _ref.prepend,
25
34
  disabled = _ref.disabled,
26
35
  validate = _ref.validate,
27
- props = _objectWithoutProperties(_ref, ["id", "name", "label", "newItem", "component", "prepend", "disabled", "validate"]);
36
+ props = _objectWithoutProperties(_ref, _excluded);
28
37
 
29
38
  var _useStandardFormInput = useStandardFormInput(_objectSpread({
30
39
  id: id,
@@ -65,8 +74,8 @@ export default function FormInputArray(_ref) {
65
74
  onClick: addItem,
66
75
  title: "Add an additional item",
67
76
  className: "add-array-item"
68
- }, /*#__PURE__*/React.createElement("i", {
69
- className: "fas fa-plus"
77
+ }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
78
+ icon: faPlus
70
79
  }), " Add New"))), /*#__PURE__*/React.createElement(CardBody, null, meta.error && typeof meta.error === 'string' && /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Col, null, /*#__PURE__*/React.createElement(Alert, {
71
80
  className: "field-array-alert",
72
81
  color: "danger"
@@ -79,14 +88,20 @@ export default function FormInputArray(_ref) {
79
88
  })), values.map(function (value, index) {
80
89
  var itemName = "".concat(inputProps.name, "[").concat(index, "]");
81
90
  return /*#__PURE__*/React.createElement(Row, {
82
- key: value && value['form-input-array-key'] || value && value['id'] || itemName
91
+ key: value && value['form-input-array-key'] || value && value['id'] || itemName,
92
+ className: classnames('field-array-item', {
93
+ removed: value.isDeleted
94
+ }),
95
+ role: "listitem"
83
96
  }, /*#__PURE__*/React.createElement(NestedFormFieldContext.Provider, {
84
97
  value: itemName
98
+ }, /*#__PURE__*/React.createElement("div", {
99
+ className: "component"
85
100
  }, /*#__PURE__*/React.createElement(Component, _extends({
86
101
  value: value,
87
102
  name: itemName,
88
103
  disabled: disabled
89
- }, props))), !disabled && /*#__PURE__*/React.createElement("div", {
104
+ }, props)))), !disabled && /*#__PURE__*/React.createElement("div", {
90
105
  className: "remove-array-item"
91
106
  }, /*#__PURE__*/React.createElement(Button, {
92
107
  color: "link",
@@ -94,8 +109,8 @@ export default function FormInputArray(_ref) {
94
109
  return removeItem(index);
95
110
  },
96
111
  title: "Remove Item"
97
- }, /*#__PURE__*/React.createElement("i", {
98
- className: "fa fa-trash-alt"
112
+ }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
113
+ icon: faTrash
99
114
  }))));
100
115
  })));
101
116
 
@@ -136,7 +151,7 @@ export default function FormInputArray(_ref) {
136
151
 
137
152
  FormInputArray.Header = function (_ref2) {
138
153
  var className = _ref2.className,
139
- props = _objectWithoutProperties(_ref2, ["className"]);
154
+ props = _objectWithoutProperties(_ref2, _excluded2);
140
155
 
141
156
  return /*#__PURE__*/React.createElement(FormInputArray.Column, _extends({
142
157
  className: classnames('mb-2', className)
@@ -146,7 +161,7 @@ FormInputArray.Header = function (_ref2) {
146
161
  FormInputArray.Column = function (_ref3) {
147
162
  var className = _ref3.className,
148
163
  children = _ref3.children,
149
- props = _objectWithoutProperties(_ref3, ["className", "children"]);
164
+ props = _objectWithoutProperties(_ref3, _excluded3);
150
165
 
151
166
  return /*#__PURE__*/React.createElement(Col, _extends({
152
167
  className: classnames('d-flex', className)
@@ -157,24 +172,24 @@ FormInputArray.propTypes = {
157
172
  name: PropTypes.string.isRequired,
158
173
  label: PropTypes.string.isRequired,
159
174
 
160
- /**
161
- * The component to use for each element of the array
175
+ /**
176
+ * The component to use for each element of the array
162
177
  **/
163
178
  component: PropTypes.func.isRequired,
164
179
  disabled: PropTypes.bool,
165
180
 
166
- /**
167
- * When 'Add Item' is used this object is passed as the default (so you can, as an example, give a default)
181
+ /**
182
+ * When 'Add Item' is used this object is passed as the default (so you can, as an example, give a default)
168
183
  **/
169
184
  newItem: PropTypes.object,
170
185
 
171
- /**
172
- * Affixes a 'header' above all rows so you can have a grid-like display
186
+ /**
187
+ * Affixes a 'header' above all rows so you can have a grid-like display
173
188
  **/
174
189
  prepend: PropTypes.func,
175
190
 
176
- /**
177
- * standard validator, BUT, will be passed the whole array to validate
191
+ /**
192
+ * standard validator, BUT, will be passed the whole array to validate
178
193
  **/
179
194
  validate: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.func), PropTypes.func])
180
195
  };
@@ -182,29 +197,29 @@ FormInputArray.propTypes = {
182
197
  function CardActionHeader(_ref4) {
183
198
  var children = _ref4.children,
184
199
  className = _ref4.className,
185
- props = _objectWithoutProperties(_ref4, ["children", "className"]);
200
+ props = _objectWithoutProperties(_ref4, _excluded4);
186
201
 
187
202
  return /*#__PURE__*/React.createElement("div", _extends({
188
- className: "card-header card-action-header d-flex align-items-baseline ".concat(className)
203
+ className: classnames('card-header card-action-header d-flex align-items-baseline', className)
189
204
  }, props), children);
190
205
  }
191
206
 
192
207
  CardActionHeader.Title = function Title(_ref5) {
193
208
  var children = _ref5.children,
194
209
  className = _ref5.className,
195
- props = _objectWithoutProperties(_ref5, ["children", "className"]);
210
+ props = _objectWithoutProperties(_ref5, _excluded5);
196
211
 
197
212
  return /*#__PURE__*/React.createElement("strong", _extends({
198
- className: "mr-auto ".concat(className)
213
+ className: classnames('mr-auto', className)
199
214
  }, props), children);
200
215
  };
201
216
 
202
217
  CardActionHeader.Actions = function Actions(_ref6) {
203
218
  var children = _ref6.children,
204
219
  className = _ref6.className,
205
- props = _objectWithoutProperties(_ref6, ["children", "className"]);
220
+ props = _objectWithoutProperties(_ref6, _excluded6);
206
221
 
207
222
  return /*#__PURE__*/React.createElement("div", _extends({
208
- className: "card-action-header-actions ".concat(className)
223
+ className: classnames('card-action-header-actions', className)
209
224
  }, props), children);
210
225
  };
package/es/IconInput.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
+ var _excluded = ["className", "icon", "helpText"];
4
5
  import React from 'react';
5
6
  import PropTypes from 'prop-types';
6
7
  import { InputGroup, InputGroupAddon, InputGroupText, Input as BootstrapInput, FormFeedback } from 'reactstrap';
@@ -9,7 +10,7 @@ export default function IconInput(_ref) {
9
10
  var className = _ref.className,
10
11
  icon = _ref.icon,
11
12
  helpText = _ref.helpText,
12
- props = _objectWithoutProperties(_ref, ["className", "icon", "helpText"]);
13
+ props = _objectWithoutProperties(_ref, _excluded);
13
14
 
14
15
  var _useStandardFormInput = useStandardFormInput(props),
15
16
  _useStandardFormInput2 = _slicedToArray(_useStandardFormInput, 2),
@@ -1,8 +1,9 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ var _excluded = ["className", "meta", "disabled", "onSelected", "onChange", "onBlur", "value", "options", "defaultValue", "defaultIndex"];
4
5
 
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
6
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6
7
 
7
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8
9
 
@@ -52,7 +53,7 @@ export default function ReactSelectInput(_ref2) {
52
53
  options = _ref2.options,
53
54
  defaultValue = _ref2.defaultValue,
54
55
  defaultIndex = _ref2.defaultIndex,
55
- props = _objectWithoutProperties(_ref2, ["className", "meta", "disabled", "onSelected", "onChange", "onBlur", "value", "options", "defaultValue", "defaultIndex"]);
56
+ props = _objectWithoutProperties(_ref2, _excluded);
56
57
 
57
58
  var selectedItems = getSelectedItems();
58
59
  var onSelectedRef = useRef(onSelected);
@@ -72,7 +73,9 @@ export default function ReactSelectInput(_ref2) {
72
73
  onChange: handleChange,
73
74
  className: "react-select-input",
74
75
  theme: overrideTheme,
75
- styles: customStyles
76
+ styles: customStyles,
77
+ menuPortalTarget: document.body,
78
+ menuPlacement: "auto"
76
79
  }));
77
80
 
78
81
  function getOptionValue(option) {
@@ -1,12 +1,13 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["allowPristineSubmit", "children"];
3
4
  import React from 'react';
4
5
  import { Button } from 'reactstrap';
5
6
  import { useFormikContext } from 'formik';
6
7
  export default function SubmitFormButton(_ref) {
7
8
  var allowPristineSubmit = _ref.allowPristineSubmit,
8
9
  children = _ref.children,
9
- props = _objectWithoutProperties(_ref, ["allowPristineSubmit", "children"]);
10
+ props = _objectWithoutProperties(_ref, _excluded);
10
11
 
11
12
  var _useFormikContext = useFormikContext(),
12
13
  isSubmitting = _useFormikContext.isSubmitting,
@@ -1,9 +1,12 @@
1
+ import '@testing-library/jest-dom/extend-expect';
1
2
  import React from 'react';
2
3
  import { HashRouter } from 'react-router-dom';
3
4
  import Form from '../Form';
4
5
  export default function FormTestBase(_ref) {
5
- var children = _ref.children;
6
+ var children = _ref.children,
7
+ initialValues = _ref.initialValues;
6
8
  return /*#__PURE__*/React.createElement(HashRouter, null, /*#__PURE__*/React.createElement(Form, {
7
- onSubmit: function onSubmit() {}
9
+ onSubmit: function onSubmit() {},
10
+ initialValues: initialValues
8
11
  }, children));
9
12
  }
package/es/normalizers.js CHANGED
@@ -3,10 +3,6 @@ export var phoneNumber = function phoneNumber(value) {
3
3
  return value;
4
4
  }
5
5
 
6
- if (value.length === 12 && value.startsWith('+1')) {
7
- value = value.substring(2);
8
- }
9
-
10
6
  var onlyNums = value.replace(/[^\d]/g, '');
11
7
 
12
8
  if (onlyNums.length <= 3) {
@@ -17,7 +13,16 @@ export var phoneNumber = function phoneNumber(value) {
17
13
  return "".concat(onlyNums.slice(0, 3), "-").concat(onlyNums.slice(3));
18
14
  }
19
15
 
20
- return "".concat(onlyNums.slice(0, 3), "-").concat(onlyNums.slice(3, 6), "-").concat(onlyNums.slice(6, 10));
16
+ if (onlyNums.length <= 10) {
17
+ return "".concat(onlyNums.slice(0, 3), "-").concat(onlyNums.slice(3, 6), "-").concat(onlyNums.slice(6, 10));
18
+ }
19
+
20
+ if (onlyNums.length <= 13) {
21
+ var countryCodeLength = onlyNums - 10;
22
+ 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));
23
+ }
24
+
25
+ return onlyNums;
21
26
  };
22
27
  export var zipCode = function zipCode(value) {
23
28
  if (!value) {
@@ -1,5 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["id", "name", "disabled", "validate", "normalize"],
4
+ _excluded2 = ["onChange", "value"];
3
5
  import { useField, useFormikContext } from 'formik';
4
6
  import { useContext, useEffect } from 'react';
5
7
  import NestedFormFieldContext from './NestedFormFieldContext';
@@ -11,7 +13,7 @@ export default function useStandardFormInput(_ref) {
11
13
  disabled = _ref.disabled,
12
14
  validate = _ref.validate,
13
15
  normalize = _ref.normalize,
14
- props = _objectWithoutProperties(_ref, ["id", "name", "disabled", "validate", "normalize"]);
16
+ props = _objectWithoutProperties(_ref, _excluded);
15
17
 
16
18
  // because the formik errors are evaluated all at the same time we need to keep server errors separate
17
19
  var _useContext = useContext(ServerErrorContext),
@@ -35,7 +37,7 @@ export default function useStandardFormInput(_ref) {
35
37
  _useField2$ = _useField2[0],
36
38
  formikOnChange = _useField2$.onChange,
37
39
  value = _useField2$.value,
38
- formikProps = _objectWithoutProperties(_useField2$, ["onChange", "value"]),
40
+ formikProps = _objectWithoutProperties(_useField2$, _excluded2),
39
41
  meta = _useField2[1];
40
42
 
41
43
  var _useFormikContext = useFormikContext(),
@@ -1,4 +1,5 @@
1
- //https://github.com/therealparmesh/object-to-formdata/blob/master/src/index.js
1
+ // Original: https://github.com/therealparmesh/object-to-formdata/blob/master/src/index.js
2
+ // With Multiple Form File Fix: https://github.com/therealparmesh/object-to-formdata/pull/94/files
2
3
  import { isUndefined, isNull, isBoolean, isObject, isArray, isDate, isBlob, isFile } from './typeChecks';
3
4
 
4
5
  var serialize = function serialize(obj, cfg, fd, pre) {
@@ -26,7 +27,14 @@ var serialize = function serialize(obj, cfg, fd, pre) {
26
27
  } else if (isArray(obj)) {
27
28
  if (obj.length) {
28
29
  obj.forEach(function (value, index) {
29
- var key = pre + '[' + (cfg.indices ? index : '') + ']';
30
+ var key;
31
+
32
+ if (cfg.noFileListBrackets && isFile(value)) {
33
+ key = pre;
34
+ } else {
35
+ key = pre + '[' + (cfg.indices ? index : '') + ']';
36
+ }
37
+
30
38
  serialize(value, cfg, fd, key);
31
39
  });
32
40
  } else if (cfg.allowEmptyArrays) {
@@ -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
  });
@@ -39,9 +39,15 @@ var normalizers = _interopRequireWildcard(require("../normalizers"));
39
39
 
40
40
  var _UsStates = _interopRequireDefault(require("./UsStates"));
41
41
 
42
+ var _excluded = ["name"];
43
+
44
+ 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); }
45
+
46
+ 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; }
47
+
42
48
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
43
49
 
44
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
50
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
45
51
 
46
52
  var AddressInput = /*#__PURE__*/function (_React$Component) {
47
53
  (0, _inherits2["default"])(AddressInput, _React$Component);
@@ -58,7 +64,7 @@ var AddressInput = /*#__PURE__*/function (_React$Component) {
58
64
  value: function render() {
59
65
  var _this$props = this.props,
60
66
  name = _this$props.name,
61
- props = (0, _objectWithoutProperties2["default"])(_this$props, ["name"]);
67
+ props = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
62
68
  return /*#__PURE__*/_react["default"].createElement(_FormSection["default"], (0, _extends2["default"])({
63
69
  name: name
64
70
  }, props), /*#__PURE__*/_react["default"].createElement(_FormInput["default"], {
@@ -105,10 +111,10 @@ var AddressInput = /*#__PURE__*/function (_React$Component) {
105
111
 
106
112
  exports["default"] = AddressInput;
107
113
  AddressInput.propTypes = {
108
- /**
109
- * The key that the resulting values should be nested under within the form values.
110
- * If name prop were chicken the submitted form values would look like: {chicken: {address1:...}}
111
- * this allows us to have two address inputs inside the same form (shipping and billing address)
114
+ /**
115
+ * The key that the resulting values should be nested under within the form values.
116
+ * If name prop were chicken the submitted form values would look like: {chicken: {address1:...}}
117
+ * this allows us to have two address inputs inside the same form (shipping and billing address)
112
118
  */
113
119
  name: _propTypes["default"].string
114
120
  };
@@ -19,7 +19,9 @@ var _reactstrap = require("reactstrap");
19
19
 
20
20
  var _envocRequest = require("envoc-request");
21
21
 
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
22
+ var _excluded = ["handleCancel", "request", "yesColor", "style", "title"];
23
+
24
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
23
25
 
24
26
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
27
 
@@ -30,7 +32,7 @@ function ConfirmBaseForm(_ref) {
30
32
  yesColor = _ref$yesColor === void 0 ? 'danger' : _ref$yesColor,
31
33
  style = _ref.style,
32
34
  title = _ref.title,
33
- props = (0, _objectWithoutProperties2["default"])(_ref, ["handleCancel", "request", "yesColor", "style", "title"]);
35
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
34
36
  var webRequest = (0, _envocRequest.useAxiosRequest)(Object.assign({}, request, {
35
37
  autoExecute: false
36
38
  }));
@@ -19,11 +19,13 @@ var _ConfirmBaseForm = _interopRequireDefault(require("../ConfirmBaseForm"));
19
19
 
20
20
  var _reactToastify = require("react-toastify");
21
21
 
22
+ var _excluded = ["successUrl", "form", "children"];
23
+
22
24
  function ConfirmDeleteForm(_ref) {
23
25
  var successUrl = _ref.successUrl,
24
26
  form = _ref.form,
25
27
  children = _ref.children,
26
- props = (0, _objectWithoutProperties2["default"])(_ref, ["successUrl", "form", "children"]);
28
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
27
29
  var history = (0, _reactRouterDom.useHistory)();
28
30
 
29
31
  var _useParams = (0, _reactRouterDom.useParams)(),
@@ -5,6 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ exports.convertToTimeZoneInsensitiveISOString = convertToTimeZoneInsensitiveISOString;
8
9
  exports["default"] = void 0;
9
10
 
10
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
@@ -33,11 +34,14 @@ var _parseISO = _interopRequireDefault(require("date-fns/parseISO"));
33
34
 
34
35
  var _classnames = _interopRequireDefault(require("classnames"));
35
36
 
37
+ var _excluded = ["value", "className", "maxDate"];
38
+
36
39
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
37
40
 
38
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
41
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
39
42
 
40
43
  var dateOnlyRegex = /^\d{4}-\d{2}-\d{2}$/;
44
+ var defaultMaxDate = new Date('9999-12-31');
41
45
 
42
46
  var DatePickerInput = /*#__PURE__*/function (_React$Component) {
43
47
  (0, _inherits2["default"])(DatePickerInput, _React$Component);
@@ -65,7 +69,7 @@ var DatePickerInput = /*#__PURE__*/function (_React$Component) {
65
69
  onChange(null);
66
70
  } else {
67
71
  // ensure ONLY the date is persisted - so UTC offset info / time is not persisted or sent
68
- onChange(e.toISOString().split('T')[0]);
72
+ onChange(convertToTimeZoneInsensitiveISOString(e).split('T')[0]);
69
73
  }
70
74
  });
71
75
  return _this;
@@ -77,7 +81,9 @@ var DatePickerInput = /*#__PURE__*/function (_React$Component) {
77
81
  var _this$props = this.props,
78
82
  value = _this$props.value,
79
83
  className = _this$props.className,
80
- rest = (0, _objectWithoutProperties2["default"])(_this$props, ["value", "className"]);
84
+ _this$props$maxDate = _this$props.maxDate,
85
+ maxDate = _this$props$maxDate === void 0 ? defaultMaxDate : _this$props$maxDate,
86
+ rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
81
87
 
82
88
  if (value && !dateOnlyRegex.test(value)) {
83
89
  var errorMessage = "Invalid date only value of ".concat(value, " passed to DatePicker input. This input is only configured to handle dates in the format yyyy-mm-dd. Ensure that the server is configured to return date only values.");
@@ -97,11 +103,25 @@ var DatePickerInput = /*#__PURE__*/function (_React$Component) {
97
103
  }, rest, {
98
104
  value: parsedValue,
99
105
  onChange: this.handleChange,
100
- onBlur: this.handleBlur
106
+ onBlur: this.handleBlur,
107
+ maxDate: maxDate
101
108
  }));
102
109
  }
103
110
  }]);
104
111
  return DatePickerInput;
105
112
  }(_react["default"].Component);
106
113
 
107
- exports["default"] = DatePickerInput;
114
+ exports["default"] = DatePickerInput;
115
+
116
+ function convertToTimeZoneInsensitiveISOString(date) {
117
+ var year = new Intl.DateTimeFormat('en', {
118
+ year: 'numeric'
119
+ }).format(date);
120
+ var month = new Intl.DateTimeFormat('en', {
121
+ month: '2-digit'
122
+ }).format(date);
123
+ var day = new Intl.DateTimeFormat('en', {
124
+ day: '2-digit'
125
+ }).format(date);
126
+ return "".concat(year, "-").concat(month, "-").concat(day, "T00:00:00.000Z");
127
+ }
@@ -1,37 +1,44 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = DefaultFileList;
7
9
 
10
+ var _react = _interopRequireDefault(require("react"));
11
+
8
12
  var _reactstrap = require("reactstrap");
9
13
 
10
14
  function DefaultFileList(_ref) {
11
15
  var files = _ref.files,
12
- rejectedFiles = _ref.rejectedFiles;
13
- return /*#__PURE__*/React.createElement(_reactstrap.ListGroup, null, files.map(function (file) {
14
- return /*#__PURE__*/React.createElement(Group, {
16
+ _ref$rejectedFiles = _ref.rejectedFiles,
17
+ rejectedFiles = _ref$rejectedFiles === void 0 ? [] : _ref$rejectedFiles;
18
+ return /*#__PURE__*/_react["default"].createElement(_reactstrap.ListGroup, null, files.map(function (file) {
19
+ return /*#__PURE__*/_react["default"].createElement(Group, {
20
+ key: file.path,
15
21
  item: file,
16
22
  warning: false
17
23
  });
18
- }), rejectedFiles.map(function (failed) {
19
- return /*#__PURE__*/React.createElement(Group, {
20
- item: failed.file,
24
+ }), rejectedFiles.map(function (_ref2) {
25
+ var file = _ref2.file;
26
+ return /*#__PURE__*/_react["default"].createElement(Group, {
27
+ key: file.path,
28
+ item: file,
21
29
  warning: true
22
30
  });
23
31
  }));
24
32
  }
25
33
 
26
- function Group(_ref2) {
27
- var item = _ref2.item,
28
- warning = _ref2.warning;
29
- return /*#__PURE__*/React.createElement(_reactstrap.ListGroupItem, {
30
- key: item.path,
34
+ function Group(_ref3) {
35
+ var item = _ref3.item,
36
+ warning = _ref3.warning;
37
+ return /*#__PURE__*/_react["default"].createElement(_reactstrap.ListGroupItem, {
31
38
  color: "d-flex ".concat(warning ? 'warning' : 'success', " justify-content-between list-group-item ").concat(warning ? 'list-group-item-warning' : 'list-group-item-success', " px-3 py-1 rounded-1")
32
- }, /*#__PURE__*/React.createElement("span", {
39
+ }, /*#__PURE__*/_react["default"].createElement("span", {
33
40
  className: "d-flex justify-content-between w-100"
34
- }, /*#__PURE__*/React.createElement("span", null, item.path), " ", /*#__PURE__*/React.createElement("span", null, humanFileSize(item.size))));
41
+ }, /*#__PURE__*/_react["default"].createElement("span", null, item.name), " ", /*#__PURE__*/_react["default"].createElement("span", null, humanFileSize(item.size))));
35
42
  }
36
43
 
37
44
  function humanFileSize(size) {