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.
- package/README.md +7 -7
- package/dist/css/envoc-form-styles.css +43 -5
- package/dist/css/envoc-form-styles.css.map +1 -1
- package/es/AddressInput/AddressInput.js +7 -6
- package/es/ConfirmBaseForm/ConfirmBaseForm.js +3 -2
- package/es/ConfirmDeleteForm/ConfirmDeleteForm.js +2 -1
- package/es/DatePickerInput/DatePickerInput.js +22 -5
- package/es/FileInput/DefaultFileList.js +12 -8
- package/es/FileInput/DropzoneFileInput.js +24 -23
- package/es/FileInput/FileInput.js +31 -9
- package/es/Form/Form.js +4 -2
- package/es/FormGroupWrapper.js +2 -1
- package/es/FormInput/FormInput.js +12 -6
- package/es/FormInputArray/FormInputArray.js +39 -24
- package/es/IconInput.js +2 -1
- package/es/ReactSelectField/ReactSelectField.js +6 -3
- package/es/SubmitFormButton.js +2 -1
- package/es/__Tests__/FormTestBase.js +5 -2
- package/es/normalizers.js +10 -5
- package/es/useStandardFormInput.js +4 -2
- package/es/utils/objectToFormData.js +10 -2
- package/lib/AddressInput/AddressInput.js +14 -8
- package/lib/ConfirmBaseForm/ConfirmBaseForm.js +4 -2
- package/lib/ConfirmDeleteForm/ConfirmDeleteForm.js +3 -1
- package/lib/DatePickerInput/DatePickerInput.js +25 -5
- package/lib/FileInput/DefaultFileList.js +20 -13
- package/lib/FileInput/DropzoneFileInput.js +25 -25
- package/lib/FileInput/FileInput.js +39 -10
- package/lib/Form/Form.js +11 -4
- package/lib/Form/FormBasedPreventNavigation.js +5 -1
- package/lib/FormGroupWrapper.js +3 -1
- package/lib/FormInput/FormInput.js +13 -6
- package/lib/FormInputArray/FormInputArray.js +47 -26
- package/lib/FormSection.js +5 -1
- package/lib/IconInput.js +3 -1
- package/lib/ReactSelectField/ReactSelectField.js +13 -5
- package/lib/ReactSelectField/index.js +6 -2
- package/lib/SubmitFormButton.js +3 -1
- package/lib/__Tests__/FormTestBase.js +6 -2
- package/lib/index.js +7 -3
- package/lib/normalizers.js +10 -5
- package/lib/useStandardFormInput.js +5 -2
- package/lib/utils/objectToFormData.js +10 -2
- package/lib/validators/index.js +5 -1
- package/package.json +99 -93
- package/src/AddressInput/AddesssInput.test.js +23 -23
- package/src/AddressInput/AddressInput.js +73 -73
- package/src/AddressInput/UsStates.js +53 -53
- package/src/AddressInput/__snapshots__/AddesssInput.test.js.snap +207 -207
- package/src/AddressInput/index.js +2 -2
- package/src/BoolInput/BoolInput.js +7 -7
- package/src/BoolInput/BoolInput.test.js +23 -23
- package/src/BoolInput/InlineBoolInput.js +7 -7
- package/src/BoolInput/__snapshots__/BoolInput.test.js.snap +89 -89
- package/src/BoolInput/boolOptions.js +6 -6
- package/src/BoolInput/index.js +4 -4
- package/src/ConfirmBaseForm/ConfirmBaseForm.js +37 -37
- package/src/ConfirmBaseForm/ConfirmBaseForm.test.js +14 -14
- package/src/ConfirmBaseForm/__snapshots__/ConfirmBaseForm.test.js.snap +23 -23
- package/src/ConfirmBaseForm/index.js +1 -1
- package/src/ConfirmDeleteForm/ConfirmDeleteForm.js +39 -39
- package/src/ConfirmDeleteForm/ConfirmDeleteForm.test.js +24 -24
- package/src/ConfirmDeleteForm/__snapshots__/ConfirmDeleteForm.test.js.snap +25 -25
- package/src/ConfirmDeleteForm/index.js +1 -1
- package/src/DatePickerInput/DatePickerInput.js +58 -46
- package/src/DatePickerInput/DatePickerInput.test.js +74 -74
- package/src/DatePickerInput/__snapshots__/DatePickerInput.test.js.snap +134 -134
- package/src/DatePickerInput/date-picker-input.scss +42 -42
- package/src/DatePickerInput/index.js +3 -3
- package/src/ErrorScrollTarget.js +6 -6
- package/src/FileInput/DefaultFileList.js +39 -39
- package/src/FileInput/DropzoneFileInput.js +56 -59
- package/src/FileInput/DropzoneFileInput.test.js +24 -0
- package/src/FileInput/FileInput.js +77 -49
- package/src/FileInput/FileInput.test.js +24 -15
- package/src/FileInput/__snapshots__/DropzoneFileInput.test.js.snap +57 -0
- package/src/FileInput/__snapshots__/FileInput.test.js.snap +58 -22
- package/src/FileInput/file-input.scss +58 -17
- package/src/FileInput/index.js +4 -4
- package/src/Form/FocusError.js +48 -48
- package/src/Form/Form.js +139 -138
- package/src/Form/Form.test.js +23 -23
- package/src/Form/FormBasedPreventNavigation.js +25 -25
- package/src/Form/ServerErrorContext.js +7 -7
- package/src/Form/__snapshots__/Form.test.js.snap +9 -9
- package/src/Form/index.js +3 -3
- package/src/FormGroup.js +30 -30
- package/src/FormGroupWrapper.js +28 -28
- package/src/FormInput/FormInput.js +144 -144
- package/src/FormInput/FormInput.test.js +66 -66
- package/src/FormInput/__snapshots__/FormInput.test.js.snap +323 -316
- package/src/FormInput/form-input.scss +9 -9
- package/src/FormInput/index.js +2 -2
- package/src/FormInputArray/FormInputArray.js +224 -210
- package/src/FormInputArray/FormInputArray.test.js +108 -59
- package/src/FormInputArray/__snapshots__/FormInputArray.test.js.snap +52 -40
- package/src/FormInputArray/form-input-array.scss +13 -8
- package/src/FormInputArray/index.js +2 -2
- package/src/FormSection.js +13 -13
- package/src/IconInput.js +31 -31
- package/src/InlineFormInput/InlineFormInput.js +6 -6
- package/src/InlineFormInput/InlineFormInput.test.js +23 -23
- package/src/InlineFormInput/__snapshots__/InlineFormInput.test.js.snap +26 -26
- package/src/InlineFormInput/index.js +3 -3
- package/src/InlineFormInput/inline-form-input.scss +3 -3
- package/src/MoneyInput/InlineMoneyInput.js +7 -7
- package/src/MoneyInput/MoneyInput.js +7 -7
- package/src/MoneyInput/MoneyInputs.test.js +43 -43
- package/src/MoneyInput/__snapshots__/MoneyInputs.test.js.snap +81 -81
- package/src/MoneyInput/index.js +4 -4
- package/src/MoneyInput/money-input.scss +3 -3
- package/src/MoneyInput/moneyInputProps.js +12 -12
- package/src/NestedFormFieldContext.js +6 -6
- package/src/ReactSelectField/ReactSelectField.js +122 -120
- package/src/ReactSelectField/index.js +6 -6
- package/src/ReactSelectField/react-select-field.scss +5 -5
- package/src/StandardFormActions.js +27 -27
- package/src/SubmitFormButton.js +28 -28
- package/src/__Tests__/FormTestBase.js +14 -11
- package/src/__Tests__/IconInput.test.js +23 -23
- package/src/__Tests__/StandardFormActions.test.js +23 -23
- package/src/__Tests__/SubmitFormButton.test.js +23 -23
- package/src/__Tests__/__snapshots__/IconInput.test.js.snap +38 -38
- package/src/__Tests__/__snapshots__/StandardFormActions.test.js.snap +25 -25
- package/src/__Tests__/__snapshots__/SubmitFormButton.test.js.snap +18 -18
- package/src/__Tests__/index.js +2 -2
- package/src/_variables.scss +11 -11
- package/src/index.js +33 -33
- package/src/normalizers.js +42 -32
- package/src/selectors.js +3 -3
- package/src/styles.scss +7 -7
- package/src/useStandardFormInput.js +118 -118
- package/src/utils/index.js +3 -3
- package/src/utils/objectContainsNonSerializableProperty.js +15 -15
- package/src/utils/objectContainsNonSerializableProperty.test.js +49 -49
- package/src/utils/objectToFormData.js +89 -83
- package/src/utils/objectToFormData.test.js +76 -47
- package/src/utils/typeChecks.js +18 -18
- package/src/validators/index.js +2 -2
- package/src/validators/validators.js +93 -93
- package/src/validators/validators.test.js +79 -79
- package/CHANGELOG.json +0 -95
- 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,
|
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(
|
69
|
-
|
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(
|
98
|
-
|
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,
|
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,
|
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,
|
200
|
+
props = _objectWithoutProperties(_ref4, _excluded4);
|
186
201
|
|
187
202
|
return /*#__PURE__*/React.createElement("div", _extends({
|
188
|
-
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,
|
210
|
+
props = _objectWithoutProperties(_ref5, _excluded5);
|
196
211
|
|
197
212
|
return /*#__PURE__*/React.createElement("strong", _extends({
|
198
|
-
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,
|
220
|
+
props = _objectWithoutProperties(_ref6, _excluded6);
|
206
221
|
|
207
222
|
return /*#__PURE__*/React.createElement("div", _extends({
|
208
|
-
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,
|
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,
|
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) {
|
package/es/SubmitFormButton.js
CHANGED
@@ -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,
|
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
|
-
|
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,
|
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$,
|
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
|
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 {
|
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,
|
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
|
-
|
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,
|
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,
|
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 {
|
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
|
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
|
-
|
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
|
-
|
14
|
-
|
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 (
|
19
|
-
|
20
|
-
|
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(
|
27
|
-
var item =
|
28
|
-
warning =
|
29
|
-
return /*#__PURE__*/
|
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__*/
|
39
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
33
40
|
className: "d-flex justify-content-between w-100"
|
34
|
-
}, /*#__PURE__*/
|
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) {
|