envoc-form 2.0.1-1 → 2.0.1-13

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 (155) 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 +8 -7
  5. package/es/ConfirmBaseForm/ConfirmBaseForm.js +3 -2
  6. package/es/ConfirmDeleteForm/ConfirmDeleteForm.js +3 -2
  7. package/es/DatePickerInput/DatePickerInput.js +3 -2
  8. package/es/FileInput/DefaultFileList.js +36 -0
  9. package/es/FileInput/DropzoneFileInput.js +58 -0
  10. package/es/FileInput/FileInput.js +31 -9
  11. package/es/FileInput/index.js +2 -1
  12. package/es/Form/Form.js +11 -33
  13. package/es/Form/FormBasedPreventNavigation.js +1 -1
  14. package/es/FormGroupWrapper.js +2 -1
  15. package/es/FormInput/FormInput.js +29 -10
  16. package/es/FormInputArray/FormInputArray.js +39 -24
  17. package/es/IconInput.js +2 -1
  18. package/es/ReactSelectField/ReactSelectField.js +6 -3
  19. package/es/SubmitFormButton.js +2 -1
  20. package/es/__Tests__/FormTestBase.js +5 -2
  21. package/es/normalizers.js +10 -5
  22. package/es/useStandardFormInput.js +4 -2
  23. package/es/utils/index.js +3 -0
  24. package/es/utils/objectContainsNonSerializableProperty.js +16 -0
  25. package/es/utils/objectToFormData.js +65 -0
  26. package/es/utils/typeChecks.js +25 -0
  27. package/lib/AddressInput/AddressInput.js +15 -9
  28. package/lib/ConfirmBaseForm/ConfirmBaseForm.js +4 -2
  29. package/lib/ConfirmDeleteForm/ConfirmDeleteForm.js +6 -4
  30. package/lib/DatePickerInput/DatePickerInput.js +4 -2
  31. package/lib/FileInput/DefaultFileList.js +47 -0
  32. package/lib/FileInput/DropzoneFileInput.js +75 -0
  33. package/lib/FileInput/FileInput.js +39 -10
  34. package/lib/FileInput/index.js +13 -3
  35. package/lib/Form/Form.js +19 -39
  36. package/lib/Form/FormBasedPreventNavigation.js +7 -3
  37. package/lib/FormGroupWrapper.js +3 -1
  38. package/lib/FormInput/FormInput.js +31 -11
  39. package/lib/FormInputArray/FormInputArray.js +47 -26
  40. package/lib/FormSection.js +5 -1
  41. package/lib/IconInput.js +3 -1
  42. package/lib/ReactSelectField/ReactSelectField.js +13 -5
  43. package/lib/ReactSelectField/index.js +6 -2
  44. package/lib/SubmitFormButton.js +3 -1
  45. package/lib/__Tests__/FormTestBase.js +6 -2
  46. package/lib/index.js +7 -3
  47. package/lib/normalizers.js +10 -5
  48. package/lib/useStandardFormInput.js +5 -2
  49. package/lib/utils/index.js +23 -0
  50. package/lib/utils/objectContainsNonSerializableProperty.js +24 -0
  51. package/lib/utils/objectToFormData.js +73 -0
  52. package/lib/utils/typeChecks.js +58 -0
  53. package/lib/validators/index.js +5 -1
  54. package/package.json +99 -90
  55. package/src/AddressInput/AddesssInput.test.js +23 -23
  56. package/src/AddressInput/AddressInput.js +73 -73
  57. package/src/AddressInput/UsStates.js +53 -53
  58. package/src/AddressInput/__snapshots__/AddesssInput.test.js.snap +207 -207
  59. package/src/AddressInput/index.js +2 -2
  60. package/src/BoolInput/BoolInput.js +7 -7
  61. package/src/BoolInput/BoolInput.test.js +23 -23
  62. package/src/BoolInput/InlineBoolInput.js +7 -7
  63. package/src/BoolInput/__snapshots__/BoolInput.test.js.snap +89 -89
  64. package/src/BoolInput/boolOptions.js +6 -6
  65. package/src/BoolInput/index.js +4 -4
  66. package/src/ConfirmBaseForm/ConfirmBaseForm.js +37 -37
  67. package/src/ConfirmBaseForm/ConfirmBaseForm.test.js +14 -14
  68. package/src/ConfirmBaseForm/__snapshots__/ConfirmBaseForm.test.js.snap +23 -23
  69. package/src/ConfirmBaseForm/index.js +1 -1
  70. package/src/ConfirmDeleteForm/ConfirmDeleteForm.js +39 -39
  71. package/src/ConfirmDeleteForm/ConfirmDeleteForm.test.js +24 -24
  72. package/src/ConfirmDeleteForm/__snapshots__/ConfirmDeleteForm.test.js.snap +25 -25
  73. package/src/ConfirmDeleteForm/index.js +1 -1
  74. package/src/DatePickerInput/DatePickerInput.js +46 -46
  75. package/src/DatePickerInput/DatePickerInput.test.js +74 -74
  76. package/src/DatePickerInput/__snapshots__/DatePickerInput.test.js.snap +134 -131
  77. package/src/DatePickerInput/date-picker-input.scss +42 -42
  78. package/src/DatePickerInput/index.js +3 -3
  79. package/src/ErrorScrollTarget.js +6 -6
  80. package/src/FileInput/DefaultFileList.js +39 -0
  81. package/src/FileInput/DropzoneFileInput.js +56 -0
  82. package/src/FileInput/DropzoneFileInput.test.js +24 -0
  83. package/src/FileInput/FileInput.js +77 -49
  84. package/src/FileInput/FileInput.test.js +24 -15
  85. package/src/FileInput/__snapshots__/DropzoneFileInput.test.js.snap +57 -0
  86. package/src/FileInput/__snapshots__/FileInput.test.js.snap +58 -22
  87. package/src/FileInput/file-input.scss +58 -17
  88. package/src/FileInput/index.js +4 -3
  89. package/src/Form/FocusError.js +48 -48
  90. package/src/Form/Form.js +139 -161
  91. package/src/Form/Form.test.js +23 -23
  92. package/src/Form/FormBasedPreventNavigation.js +25 -25
  93. package/src/Form/ServerErrorContext.js +7 -7
  94. package/src/Form/__snapshots__/Form.test.js.snap +9 -9
  95. package/src/Form/index.js +3 -3
  96. package/src/FormGroup.js +30 -30
  97. package/src/FormGroupWrapper.js +28 -28
  98. package/src/FormInput/FormInput.js +144 -136
  99. package/src/FormInput/FormInput.test.js +66 -66
  100. package/src/FormInput/__snapshots__/FormInput.test.js.snap +323 -313
  101. package/src/FormInput/form-input.scss +9 -9
  102. package/src/FormInput/index.js +2 -2
  103. package/src/FormInputArray/FormInputArray.js +224 -210
  104. package/src/FormInputArray/FormInputArray.test.js +108 -59
  105. package/src/FormInputArray/__snapshots__/FormInputArray.test.js.snap +52 -40
  106. package/src/FormInputArray/form-input-array.scss +13 -8
  107. package/src/FormInputArray/index.js +2 -2
  108. package/src/FormSection.js +13 -13
  109. package/src/IconInput.js +31 -31
  110. package/src/InlineFormInput/InlineFormInput.js +6 -6
  111. package/src/InlineFormInput/InlineFormInput.test.js +23 -23
  112. package/src/InlineFormInput/__snapshots__/InlineFormInput.test.js.snap +26 -26
  113. package/src/InlineFormInput/index.js +3 -3
  114. package/src/InlineFormInput/inline-form-input.scss +3 -3
  115. package/src/MoneyInput/InlineMoneyInput.js +7 -7
  116. package/src/MoneyInput/MoneyInput.js +7 -7
  117. package/src/MoneyInput/MoneyInputs.test.js +43 -43
  118. package/src/MoneyInput/__snapshots__/MoneyInputs.test.js.snap +81 -81
  119. package/src/MoneyInput/index.js +4 -4
  120. package/src/MoneyInput/money-input.scss +3 -3
  121. package/src/MoneyInput/moneyInputProps.js +12 -12
  122. package/src/NestedFormFieldContext.js +6 -6
  123. package/src/ReactSelectField/ReactSelectField.js +122 -120
  124. package/src/ReactSelectField/index.js +6 -6
  125. package/src/ReactSelectField/react-select-field.scss +5 -5
  126. package/src/StandardFormActions.js +27 -27
  127. package/src/SubmitFormButton.js +28 -28
  128. package/src/__Tests__/FormTestBase.js +14 -11
  129. package/src/__Tests__/IconInput.test.js +23 -23
  130. package/src/__Tests__/StandardFormActions.test.js +23 -23
  131. package/src/__Tests__/SubmitFormButton.test.js +23 -23
  132. package/src/__Tests__/__snapshots__/IconInput.test.js.snap +38 -38
  133. package/src/__Tests__/__snapshots__/StandardFormActions.test.js.snap +25 -25
  134. package/src/__Tests__/__snapshots__/SubmitFormButton.test.js.snap +18 -18
  135. package/src/__Tests__/index.js +2 -2
  136. package/src/_variables.scss +11 -11
  137. package/src/index.js +33 -33
  138. package/src/normalizers.js +42 -32
  139. package/src/selectors.js +3 -3
  140. package/src/styles.scss +7 -7
  141. package/src/useStandardFormInput.js +118 -118
  142. package/src/utils/index.js +3 -0
  143. package/src/utils/objectContainsNonSerializableProperty.js +15 -0
  144. package/src/utils/objectContainsNonSerializableProperty.test.js +49 -0
  145. package/src/utils/objectToFormData.js +89 -0
  146. package/src/utils/objectToFormData.test.js +76 -0
  147. package/src/utils/typeChecks.js +18 -0
  148. package/src/validators/index.js +2 -2
  149. package/src/validators/validators.js +93 -93
  150. package/src/validators/validators.test.js +79 -79
  151. package/CHANGELOG.json +0 -95
  152. package/CHANGELOG.md +0 -58
  153. package/es/FormInput/utilities.js +0 -71
  154. package/lib/FormInput/utilities.js +0 -86
  155. package/src/FormInput/utilities.js +0 -26
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = DropzoneFileInput;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _readOnlyError2 = _interopRequireDefault(require("@babel/runtime/helpers/readOnlyError"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _reactDropzone = require("react-dropzone");
19
+
20
+ var _classnames = _interopRequireDefault(require("classnames"));
21
+
22
+ var _DefaultFileList = _interopRequireDefault(require("./DefaultFileList"));
23
+
24
+ var _excluded = ["className", "onChange", "value", "accept", "disabled", "multiple", "FileList", "placeholder", "dropzone"];
25
+
26
+ function DropzoneFileInput(_ref) {
27
+ var classNameProp = _ref.className,
28
+ onChange = _ref.onChange,
29
+ value = _ref.value,
30
+ accept = _ref.accept,
31
+ disabled = _ref.disabled,
32
+ _ref$multiple = _ref.multiple,
33
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
34
+ _ref$FileList = _ref.FileList,
35
+ FileList = _ref$FileList === void 0 ? _DefaultFileList["default"] : _ref$FileList,
36
+ _ref$placeholder = _ref.placeholder,
37
+ placeholder = _ref$placeholder === void 0 ? 'Drag and drop some file(s) here, or click to select file(s)' : _ref$placeholder,
38
+ dropzone = _ref.dropzone,
39
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
40
+
41
+ var _useDropzone = (0, _reactDropzone.useDropzone)({
42
+ accept: accept,
43
+ onDrop: onDrop,
44
+ disabled: disabled,
45
+ multiple: multiple
46
+ }),
47
+ _useDropzone$accepted = _useDropzone.acceptedFiles,
48
+ acceptedFiles = _useDropzone$accepted === void 0 ? (acceptedFiles[0], (0, _readOnlyError2["default"])("acceptedFiles")) : _useDropzone$accepted,
49
+ _useDropzone$fileReje = _useDropzone.fileRejections,
50
+ fileRejections = _useDropzone$fileReje === void 0 ? fileRejections.push(acceptedFiles.slice(1, acceptedFiles.length)) : _useDropzone$fileReje,
51
+ getRootProps = _useDropzone.getRootProps,
52
+ getInputProps = _useDropzone.getInputProps,
53
+ isDragAccept = _useDropzone.isDragAccept,
54
+ isDragReject = _useDropzone.isDragReject;
55
+
56
+ function onDrop(acceptedFiles) {
57
+ if (!(acceptedFiles !== null && acceptedFiles !== void 0 && acceptedFiles.length) > 1 && !multiple) {
58
+ onChange(null);
59
+ } else {
60
+ onChange(acceptedFiles);
61
+ }
62
+ }
63
+
64
+ var className = (0, _classnames["default"])('react-dropzone', classNameProp, {
65
+ accept: isDragAccept,
66
+ reject: isDragReject,
67
+ disabled: disabled
68
+ });
69
+ return /*#__PURE__*/_react["default"].createElement("section", {
70
+ className: className
71
+ }, /*#__PURE__*/_react["default"].createElement("div", getRootProps(), /*#__PURE__*/_react["default"].createElement("input", (0, _extends2["default"])({}, props, getInputProps())), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, placeholder), !multiple && /*#__PURE__*/_react["default"].createElement("b", null, "Only one file accepted."), accept && /*#__PURE__*/_react["default"].createElement("b", null, "Files of type \"".concat(accept, "\" accepted"))), /*#__PURE__*/_react["default"].createElement("aside", null, /*#__PURE__*/_react["default"].createElement(FileList, {
72
+ files: acceptedFiles,
73
+ rejectedFiles: fileRejections
74
+ })));
75
+ }
@@ -1,48 +1,77 @@
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
  });
10
10
  exports["default"] = FileInput;
11
11
 
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
12
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
15
 
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
14
18
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
19
 
16
20
  var _react = _interopRequireWildcard(require("react"));
17
21
 
22
+ var _DefaultFileList = _interopRequireDefault(require("./DefaultFileList"));
23
+
24
+ var _excluded = ["className", "onChange", "value", "multiple"];
25
+
26
+ 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); }
27
+
28
+ 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; }
29
+
18
30
  function FileInput(_ref) {
19
31
  var className = _ref.className,
20
32
  onChange = _ref.onChange,
21
33
  value = _ref.value,
22
- props = (0, _objectWithoutProperties2["default"])(_ref, ["className", "onChange", "value"]);
34
+ _ref$multiple = _ref.multiple,
35
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
36
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
23
37
  var inputRef = (0, _react.useRef)();
38
+
39
+ var _useState = (0, _react.useState)([]),
40
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
41
+ acceptedFiles = _useState2[0],
42
+ setAcceptedFiles = _useState2[1];
43
+
24
44
  (0, _react.useEffect)(function () {
25
45
  if (!value && inputRef.current) {
26
46
  inputRef.current.value = null;
27
47
  }
28
48
  }, [value]);
29
- return /*#__PURE__*/_react["default"].createElement("div", {
49
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
30
50
  className: "custom-file file-input ".concat(className || '', " ").concat(props.disabled ? 'disabled' : '')
31
- }, /*#__PURE__*/_react["default"].createElement("input", (0, _extends2["default"])({
51
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("input", (0, _extends2["default"])({
32
52
  ref: inputRef,
33
53
  type: "file",
34
54
  className: "custom-file-input",
35
- onChange: handleChange
36
- }, props)), /*#__PURE__*/_react["default"].createElement("label", {
55
+ onChange: handleChange,
56
+ multiple: multiple
57
+ }, props))), /*#__PURE__*/_react["default"].createElement("label", {
37
58
  className: "custom-file-label"
38
- }, !value && /*#__PURE__*/_react["default"].createElement("span", null, "Choose A File..."), value && /*#__PURE__*/_react["default"].createElement("span", null, value.name, " - size: ", humanFileSize(value.size))));
59
+ }, /*#__PURE__*/_react["default"].createElement("div", null, !value && /*#__PURE__*/_react["default"].createElement("span", null, "Choose A File..."), value && (!multiple ? /*#__PURE__*/_react["default"].createElement("span", null, value.name, " - size: ", humanFileSize(value.size)) : value.length === 1 ? /*#__PURE__*/_react["default"].createElement("span", null, value[0].name, " - size: ", humanFileSize(value[0].size)) : /*#__PURE__*/_react["default"].createElement("span", null, "Multiple files selected."))))), /*#__PURE__*/_react["default"].createElement(_DefaultFileList["default"], {
60
+ files: acceptedFiles
61
+ }));
39
62
 
40
63
  function handleChange(e) {
41
64
  if (e == null || !e.target || !e.target.files.length) {
42
65
  onChange(null);
43
66
  } else {
44
- var target = e.target.files[0];
45
- onChange(target);
67
+ var files = (0, _toConsumableArray2["default"])(e.target.files);
68
+ setAcceptedFiles(files);
69
+
70
+ if (!multiple) {
71
+ onChange(files[0]);
72
+ } else {
73
+ onChange(files);
74
+ }
46
75
  }
47
76
  }
48
77
  }
@@ -5,9 +5,19 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = void 0;
8
+ Object.defineProperty(exports, "FileInput", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _FileInput["default"];
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "DropzoneFileInput", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _DropzoneFileInput["default"];
18
+ }
19
+ });
9
20
 
10
21
  var _FileInput = _interopRequireDefault(require("./FileInput"));
11
22
 
12
- var _default = _FileInput["default"];
13
- exports["default"] = _default;
23
+ var _DropzoneFileInput = _interopRequireDefault(require("./DropzoneFileInput"));
package/lib/Form/Form.js CHANGED
@@ -1,16 +1,13 @@
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
  });
10
10
  exports["default"] = Form;
11
- exports.objectToFormData = void 0;
12
-
13
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
14
11
 
15
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
16
13
 
@@ -32,6 +29,14 @@ var _FormBasedPreventNavigation = _interopRequireDefault(require("./FormBasedPre
32
29
 
33
30
  var _ServerErrorContext = _interopRequireDefault(require("./ServerErrorContext"));
34
31
 
32
+ var _utils = require("../utils");
33
+
34
+ var _excluded = ["children", "className", "style", "ignoreLostChanges", "onSubmit", "initialValues"];
35
+
36
+ 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); }
37
+
38
+ 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; }
39
+
35
40
  function Form(_ref) {
36
41
  var children = _ref.children,
37
42
  className = _ref.className,
@@ -39,7 +44,7 @@ function Form(_ref) {
39
44
  ignoreLostChanges = _ref.ignoreLostChanges,
40
45
  onSubmit = _ref.onSubmit,
41
46
  initialValues = _ref.initialValues,
42
- props = (0, _objectWithoutProperties2["default"])(_ref, ["children", "className", "style", "ignoreLostChanges", "onSubmit", "initialValues"]);
47
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
43
48
 
44
49
  // formik resets all error on each blur (with our settings)
45
50
  // this means that ALL errors from the server disappear when any one field is blurred
@@ -83,10 +88,13 @@ function Form(_ref) {
83
88
  function handleSubmit(values, formikBag) {
84
89
  var formData = null;
85
90
 
86
- if (Object.entries(values).some(function (value) {
87
- return value && value[1] instanceof File;
88
- })) {
89
- formData = objectToFormData(values);
91
+ if ((0, _utils.objectContainsNonSerializableProperty)(values)) {
92
+ formData = (0, _utils.objectToFormData)(values, {
93
+ indices: true,
94
+ dotNotation: true,
95
+ allowEmptyArrays: true,
96
+ noFileListBrackets: true
97
+ });
90
98
  }
91
99
 
92
100
  return Promise.resolve(onSubmit(formData || values)).then(function (response) {
@@ -136,36 +144,8 @@ function DisplayFormState() {
136
144
  padding: '.5rem'
137
145
  }
138
146
  }, serverErrorContext && serverErrorContext.errors && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("strong", null, "serverErrors = "), JSON.stringify(serverErrorContext.errors, null, 2)), /*#__PURE__*/_react["default"].createElement("strong", null, "formState = "), JSON.stringify(formState, null, 2)));
139
- } // https://github.com/silkyland/object-to-formdata
140
-
141
-
142
- var objectToFormData = function objectToFormData(obj, form, namespace) {
143
- var fd = form || new FormData();
144
- var formKey;
145
-
146
- for (var property in obj) {
147
- if (obj.hasOwnProperty(property)) {
148
- if (namespace) {
149
- formKey = namespace + '.' + property;
150
- } else {
151
- formKey = property;
152
- }
153
-
154
- if (obj[property] instanceof Date) {
155
- fd.append(formKey, obj[property].toISOString());
156
- } else if ((0, _typeof2["default"])(obj[property]) === 'object' && !(obj[property] instanceof File) && !(obj[property] instanceof Blob)) {
157
- objectToFormData(obj[property], fd, formKey);
158
- } else {
159
- // if it's a string or a File object
160
- fd.append(formKey, obj[property]);
161
- }
162
- }
163
- }
164
-
165
- return fd;
166
- };
147
+ }
167
148
 
168
- exports.objectToFormData = objectToFormData;
169
149
  Form.propTypes = {
170
150
  ignoreLostChanges: _propTypes["default"].bool,
171
151
  onSubmit: _propTypes["default"].func.isRequired,
@@ -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,10 +9,14 @@ exports["default"] = FormBasedPreventNavigation;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
- var _reactRouter = require("react-router");
12
+ var _reactRouterDom = require("react-router-dom");
13
13
 
14
14
  var _formik = require("formik");
15
15
 
16
+ 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); }
17
+
18
+ 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; }
19
+
16
20
  function FormBasedPreventNavigation(_ref) {
17
21
  var ignoreLostChanges = _ref.ignoreLostChanges,
18
22
  _ref$promptMessage = _ref.promptMessage,
@@ -38,7 +42,7 @@ function FormBasedPreventNavigation(_ref) {
38
42
  e.returnValue = promptMessage;
39
43
  }
40
44
  }, [preventNavigate, promptMessage]);
41
- return /*#__PURE__*/_react["default"].createElement(_reactRouter.Prompt, {
45
+ return /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Prompt, {
42
46
  when: preventNavigate,
43
47
  message: promptMessage
44
48
  });
@@ -19,12 +19,14 @@ var _FormGroup = _interopRequireDefault(require("./FormGroup"));
19
19
 
20
20
  var _ErrorScrollTarget = _interopRequireDefault(require("./ErrorScrollTarget"));
21
21
 
22
+ var _excluded = ["prepend", "append", "Component", "helpText"];
23
+
22
24
  function FormGroupWrapper(_ref) {
23
25
  var prepend = _ref.prepend,
24
26
  append = _ref.append,
25
27
  Component = _ref.Component,
26
28
  helpText = _ref.helpText,
27
- props = (0, _objectWithoutProperties2["default"])(_ref, ["prepend", "append", "Component", "helpText"]);
29
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
28
30
  var meta = props.meta;
29
31
  return /*#__PURE__*/_react["default"].createElement(_FormGroup["default"], (0, _extends2["default"])({
30
32
  meta: meta,
@@ -38,7 +38,14 @@ var _ReactSelectField = _interopRequireDefault(require("../ReactSelectField"));
38
38
 
39
39
  var _useStandardFormInput3 = _interopRequireDefault(require("../useStandardFormInput"));
40
40
 
41
- var _FileInput = _interopRequireDefault(require("../FileInput"));
41
+ var _FileInput = require("../FileInput");
42
+
43
+ var _excluded = ["className", "meta", "helpText"],
44
+ _excluded2 = ["meta"],
45
+ _excluded3 = ["includeEmptyOption", "options"],
46
+ _excluded4 = ["optionsUrl", "includeEmptyOption", "includeOtherOption", "cache", "maxAge"],
47
+ _excluded5 = ["meta"],
48
+ _excluded6 = ["helpText", "meta"];
42
49
 
43
50
  function FormInput(props) {
44
51
  var _useStandardFormInput = (0, _useStandardFormInput3["default"])(props),
@@ -87,8 +94,14 @@ function StandardFieldGroup(props) {
87
94
  return Checkbox(props);
88
95
 
89
96
  case 'file':
97
+ if (props.dropzone) {
98
+ return /*#__PURE__*/_react["default"].createElement(_FormGroupWrapper["default"], (0, _extends2["default"])({}, props, {
99
+ Component: _FileInput.DropzoneFileInput
100
+ }));
101
+ }
102
+
90
103
  return /*#__PURE__*/_react["default"].createElement(_FormGroupWrapper["default"], (0, _extends2["default"])({}, props, {
91
- Component: _FileInput["default"]
104
+ Component: _FileInput.FileInput
92
105
  }));
93
106
 
94
107
  case 'textarea':
@@ -107,7 +120,7 @@ var TextAreaInput = function TextAreaInput(_ref) {
107
120
  var className = _ref.className,
108
121
  meta = _ref.meta,
109
122
  helpText = _ref.helpText,
110
- props = (0, _objectWithoutProperties2["default"])(_ref, ["className", "meta", "helpText"]);
123
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
111
124
  return /*#__PURE__*/_react["default"].createElement(_reactTextareaAutosize["default"], (0, _extends2["default"])({
112
125
  cacheMeasurements: true,
113
126
  className: (0, _classnames["default"])(className, 'form-control', meta.error ? 'is-invalid' : '')
@@ -116,7 +129,7 @@ var TextAreaInput = function TextAreaInput(_ref) {
116
129
 
117
130
  var DefaultInput = function DefaultInput(_ref2) {
118
131
  var meta = _ref2.meta,
119
- props = (0, _objectWithoutProperties2["default"])(_ref2, ["meta"]);
132
+ props = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
120
133
  return /*#__PURE__*/_react["default"].createElement(_reactstrap.Input, (0, _extends2["default"])({
121
134
  invalid: !!meta.error
122
135
  }, props));
@@ -126,7 +139,7 @@ var Select = function Select(_ref3) {
126
139
  var _ref3$includeEmptyOpt = _ref3.includeEmptyOption,
127
140
  includeEmptyOption = _ref3$includeEmptyOpt === void 0 ? true : _ref3$includeEmptyOpt,
128
141
  options = _ref3.options,
129
- props = (0, _objectWithoutProperties2["default"])(_ref3, ["includeEmptyOption", "options"]);
142
+ props = (0, _objectWithoutProperties2["default"])(_ref3, _excluded3);
130
143
  var allOptions = includeEmptyOption ? [{
131
144
  label: ' ',
132
145
  value: null
@@ -134,11 +147,13 @@ var Select = function Select(_ref3) {
134
147
  return /*#__PURE__*/_react["default"].createElement(_ReactSelectField["default"], (0, _extends2["default"])({}, props, {
135
148
  options: allOptions
136
149
  }));
137
- };
150
+ }; // low cache value just to prevent the same dropdown from hitting the API at the same time
151
+ // TODO: global cache provider / "envoc-cache" instead of this static instance
152
+
138
153
 
139
154
  var optionCache = new _lruCache["default"]({
140
155
  max: 500,
141
- maxAge: 1000 * 60 * 5
156
+ maxAge: 1000 * 10
142
157
  });
143
158
  exports.optionCache = optionCache;
144
159
 
@@ -148,11 +163,16 @@ var RemoteSelect = function RemoteSelect(_ref4) {
148
163
  includeEmptyOption = _ref4$includeEmptyOpt === void 0 ? true : _ref4$includeEmptyOpt,
149
164
  _ref4$includeOtherOpt = _ref4.includeOtherOption,
150
165
  includeOtherOption = _ref4$includeOtherOpt === void 0 ? false : _ref4$includeOtherOpt,
151
- props = (0, _objectWithoutProperties2["default"])(_ref4, ["optionsUrl", "includeEmptyOption", "includeOtherOption"]);
166
+ _ref4$cache = _ref4.cache,
167
+ cache = _ref4$cache === void 0 ? optionCache : _ref4$cache,
168
+ _ref4$maxAge = _ref4.maxAge,
169
+ maxAge = _ref4$maxAge === void 0 ? 1000 * 10 : _ref4$maxAge,
170
+ props = (0, _objectWithoutProperties2["default"])(_ref4, _excluded4);
152
171
  var request = {
153
172
  method: 'get',
154
173
  url: optionsUrl,
155
- cache: optionCache,
174
+ cache: cache,
175
+ maxAge: maxAge,
156
176
  autoExecute: true
157
177
  };
158
178
  var webRequest = (0, _envocRequest.useAxiosRequest)(request);
@@ -195,7 +215,7 @@ var RemoteSelect = function RemoteSelect(_ref4) {
195
215
 
196
216
  var DatePicker = function DatePicker(_ref5) {
197
217
  var meta = _ref5.meta,
198
- props = (0, _objectWithoutProperties2["default"])(_ref5, ["meta"]);
218
+ props = (0, _objectWithoutProperties2["default"])(_ref5, _excluded5);
199
219
  return /*#__PURE__*/_react["default"].createElement(_DatePickerInput["default"], (0, _extends2["default"])({}, props, {
200
220
  className: meta.error ? 'is-invalid' : ''
201
221
  }));
@@ -204,6 +224,6 @@ var DatePicker = function DatePicker(_ref5) {
204
224
  var Checkbox = function Checkbox(_ref6) {
205
225
  var helpText = _ref6.helpText,
206
226
  meta = _ref6.meta,
207
- props = (0, _objectWithoutProperties2["default"])(_ref6, ["helpText", "meta"]);
227
+ props = (0, _objectWithoutProperties2["default"])(_ref6, _excluded6);
208
228
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_reactstrap.CustomInput, props), meta.error && /*#__PURE__*/_react["default"].createElement(_reactstrap.FormFeedback, null, meta.error), helpText && /*#__PURE__*/_react["default"].createElement(_reactstrap.FormText, null, helpText));
209
229
  };
@@ -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
  });
@@ -27,13 +27,28 @@ var _classnames = _interopRequireDefault(require("classnames"));
27
27
 
28
28
  var _reactstrap = require("reactstrap");
29
29
 
30
+ var _reactFontawesome = require("@fortawesome/react-fontawesome");
31
+
32
+ var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
33
+
30
34
  var _propTypes = _interopRequireDefault(require("prop-types"));
31
35
 
32
36
  var _useStandardFormInput3 = _interopRequireDefault(require("../useStandardFormInput"));
33
37
 
34
38
  var _NestedFormFieldContext = _interopRequireDefault(require("../NestedFormFieldContext"));
35
39
 
36
- 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; }
40
+ var _excluded = ["id", "name", "label", "newItem", "component", "prepend", "disabled", "validate"],
41
+ _excluded2 = ["className"],
42
+ _excluded3 = ["className", "children"],
43
+ _excluded4 = ["children", "className"],
44
+ _excluded5 = ["children", "className"],
45
+ _excluded6 = ["children", "className"];
46
+
47
+ 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); }
48
+
49
+ 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; }
50
+
51
+ 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; }
37
52
 
38
53
  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; }
39
54
 
@@ -46,7 +61,7 @@ function FormInputArray(_ref) {
46
61
  Prepend = _ref.prepend,
47
62
  disabled = _ref.disabled,
48
63
  validate = _ref.validate,
49
- props = (0, _objectWithoutProperties2["default"])(_ref, ["id", "name", "label", "newItem", "component", "prepend", "disabled", "validate"]);
64
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
50
65
 
51
66
  var _useStandardFormInput = (0, _useStandardFormInput3["default"])(_objectSpread({
52
67
  id: id,
@@ -87,8 +102,8 @@ function FormInputArray(_ref) {
87
102
  onClick: addItem,
88
103
  title: "Add an additional item",
89
104
  className: "add-array-item"
90
- }, /*#__PURE__*/_react["default"].createElement("i", {
91
- className: "fas fa-plus"
105
+ }, /*#__PURE__*/_react["default"].createElement(_reactFontawesome.FontAwesomeIcon, {
106
+ icon: _freeSolidSvgIcons.faPlus
92
107
  }), " Add New"))), /*#__PURE__*/_react["default"].createElement(_reactstrap.CardBody, null, meta.error && typeof meta.error === 'string' && /*#__PURE__*/_react["default"].createElement(_reactstrap.Row, null, /*#__PURE__*/_react["default"].createElement(_reactstrap.Col, null, /*#__PURE__*/_react["default"].createElement(_reactstrap.Alert, {
93
108
  className: "field-array-alert",
94
109
  color: "danger"
@@ -101,14 +116,20 @@ function FormInputArray(_ref) {
101
116
  })), values.map(function (value, index) {
102
117
  var itemName = "".concat(inputProps.name, "[").concat(index, "]");
103
118
  return /*#__PURE__*/_react["default"].createElement(_reactstrap.Row, {
104
- key: value && value['form-input-array-key'] || value && value['id'] || itemName
119
+ key: value && value['form-input-array-key'] || value && value['id'] || itemName,
120
+ className: (0, _classnames["default"])('field-array-item', {
121
+ removed: value.isDeleted
122
+ }),
123
+ role: "listitem"
105
124
  }, /*#__PURE__*/_react["default"].createElement(_NestedFormFieldContext["default"].Provider, {
106
125
  value: itemName
126
+ }, /*#__PURE__*/_react["default"].createElement("div", {
127
+ className: "component"
107
128
  }, /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
108
129
  value: value,
109
130
  name: itemName,
110
131
  disabled: disabled
111
- }, props))), !disabled && /*#__PURE__*/_react["default"].createElement("div", {
132
+ }, props)))), !disabled && /*#__PURE__*/_react["default"].createElement("div", {
112
133
  className: "remove-array-item"
113
134
  }, /*#__PURE__*/_react["default"].createElement(_reactstrap.Button, {
114
135
  color: "link",
@@ -116,8 +137,8 @@ function FormInputArray(_ref) {
116
137
  return removeItem(index);
117
138
  },
118
139
  title: "Remove Item"
119
- }, /*#__PURE__*/_react["default"].createElement("i", {
120
- className: "fa fa-trash-alt"
140
+ }, /*#__PURE__*/_react["default"].createElement(_reactFontawesome.FontAwesomeIcon, {
141
+ icon: _freeSolidSvgIcons.faTrash
121
142
  }))));
122
143
  })));
123
144
 
@@ -158,7 +179,7 @@ function FormInputArray(_ref) {
158
179
 
159
180
  FormInputArray.Header = function (_ref2) {
160
181
  var className = _ref2.className,
161
- props = (0, _objectWithoutProperties2["default"])(_ref2, ["className"]);
182
+ props = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
162
183
  return /*#__PURE__*/_react["default"].createElement(FormInputArray.Column, (0, _extends2["default"])({
163
184
  className: (0, _classnames["default"])('mb-2', className)
164
185
  }, props));
@@ -167,7 +188,7 @@ FormInputArray.Header = function (_ref2) {
167
188
  FormInputArray.Column = function (_ref3) {
168
189
  var className = _ref3.className,
169
190
  children = _ref3.children,
170
- props = (0, _objectWithoutProperties2["default"])(_ref3, ["className", "children"]);
191
+ props = (0, _objectWithoutProperties2["default"])(_ref3, _excluded3);
171
192
  return /*#__PURE__*/_react["default"].createElement(_reactstrap.Col, (0, _extends2["default"])({
172
193
  className: (0, _classnames["default"])('d-flex', className)
173
194
  }, props), children);
@@ -177,24 +198,24 @@ FormInputArray.propTypes = {
177
198
  name: _propTypes["default"].string.isRequired,
178
199
  label: _propTypes["default"].string.isRequired,
179
200
 
180
- /**
181
- * The component to use for each element of the array
201
+ /**
202
+ * The component to use for each element of the array
182
203
  **/
183
204
  component: _propTypes["default"].func.isRequired,
184
205
  disabled: _propTypes["default"].bool,
185
206
 
186
- /**
187
- * When 'Add Item' is used this object is passed as the default (so you can, as an example, give a default)
207
+ /**
208
+ * When 'Add Item' is used this object is passed as the default (so you can, as an example, give a default)
188
209
  **/
189
210
  newItem: _propTypes["default"].object,
190
211
 
191
- /**
192
- * Affixes a 'header' above all rows so you can have a grid-like display
212
+ /**
213
+ * Affixes a 'header' above all rows so you can have a grid-like display
193
214
  **/
194
215
  prepend: _propTypes["default"].func,
195
216
 
196
- /**
197
- * standard validator, BUT, will be passed the whole array to validate
217
+ /**
218
+ * standard validator, BUT, will be passed the whole array to validate
198
219
  **/
199
220
  validate: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].func), _propTypes["default"].func])
200
221
  };
@@ -202,26 +223,26 @@ FormInputArray.propTypes = {
202
223
  function CardActionHeader(_ref4) {
203
224
  var children = _ref4.children,
204
225
  className = _ref4.className,
205
- props = (0, _objectWithoutProperties2["default"])(_ref4, ["children", "className"]);
226
+ props = (0, _objectWithoutProperties2["default"])(_ref4, _excluded4);
206
227
  return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
207
- className: "card-header card-action-header d-flex align-items-baseline ".concat(className)
228
+ className: (0, _classnames["default"])('card-header card-action-header d-flex align-items-baseline', className)
208
229
  }, props), children);
209
230
  }
210
231
 
211
232
  CardActionHeader.Title = function Title(_ref5) {
212
233
  var children = _ref5.children,
213
234
  className = _ref5.className,
214
- props = (0, _objectWithoutProperties2["default"])(_ref5, ["children", "className"]);
235
+ props = (0, _objectWithoutProperties2["default"])(_ref5, _excluded5);
215
236
  return /*#__PURE__*/_react["default"].createElement("strong", (0, _extends2["default"])({
216
- className: "mr-auto ".concat(className)
237
+ className: (0, _classnames["default"])('mr-auto', className)
217
238
  }, props), children);
218
239
  };
219
240
 
220
241
  CardActionHeader.Actions = function Actions(_ref6) {
221
242
  var children = _ref6.children,
222
243
  className = _ref6.className,
223
- props = (0, _objectWithoutProperties2["default"])(_ref6, ["children", "className"]);
244
+ props = (0, _objectWithoutProperties2["default"])(_ref6, _excluded6);
224
245
  return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
225
- className: "card-action-header-actions ".concat(className)
246
+ className: (0, _classnames["default"])('card-action-header-actions', className)
226
247
  }, props), children);
227
248
  };
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
@@ -13,6 +13,10 @@ var _react = _interopRequireWildcard(require("react"));
13
13
 
14
14
  var _NestedFormFieldContext = _interopRequireDefault(require("./NestedFormFieldContext"));
15
15
 
16
+ 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); }
17
+
18
+ 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; }
19
+
16
20
  function FormSection(_ref) {
17
21
  var children = _ref.children,
18
22
  name = _ref.name;