@bigbinary/neetoui 8.1.1 → 8.1.3
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/dist/ActionDropdown.js +1 -1
- package/dist/Alert.js +2 -3
- package/dist/Alert.js.map +1 -1
- package/dist/Button.js +6 -66
- package/dist/Button.js.map +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/ColorPicker.js +1 -1
- package/dist/DatePicker.js +5 -5
- package/dist/Dropdown.js +1 -1
- package/dist/{HeaderCellMenu-5ba3873f.js → HeaderCellMenu-df9eb629.js} +1 -1
- package/dist/{HeaderCellMenu-5ba3873f.js.map → HeaderCellMenu-df9eb629.js.map} +1 -1
- package/dist/Input.js +1 -1
- package/dist/Label.js +1 -1
- package/dist/Modal.js +2 -3
- package/dist/Modal.js.map +1 -1
- package/dist/MultiEmailInput.js +1 -1
- package/dist/NoData.js +1 -1
- package/dist/Pane.js +2 -3
- package/dist/Pane.js.map +1 -1
- package/dist/Radio.js +1 -1
- package/dist/Select.js +0 -1
- package/dist/Select.js.map +1 -1
- package/dist/Slider.js +1 -1
- package/dist/Spinner.js +1 -9
- package/dist/Spinner.js.map +1 -1
- package/dist/Switch.js +1 -1
- package/dist/Table.js +2 -2
- package/dist/{Textarea-f6ad0ef9.js → Textarea-b14bae86.js} +1 -1
- package/dist/{Textarea-f6ad0ef9.js.map → Textarea-b14bae86.js.map} +1 -1
- package/dist/Textarea.js +2 -2
- package/dist/TimePicker.js +5 -5
- package/dist/TreeSelect.js +1 -1
- package/dist/cjs/ActionDropdown.js +1 -1
- package/dist/cjs/Alert.js +2 -3
- package/dist/cjs/Alert.js.map +1 -1
- package/dist/cjs/Button.js +6 -66
- package/dist/cjs/Button.js.map +1 -1
- package/dist/cjs/Checkbox.js +1 -1
- package/dist/cjs/ColorPicker.js +1 -1
- package/dist/cjs/DatePicker.js +5 -5
- package/dist/cjs/Dropdown.js +1 -1
- package/dist/cjs/{HeaderCellMenu-1eb017e2.js → HeaderCellMenu-3aab0902.js} +1 -1
- package/dist/cjs/{HeaderCellMenu-1eb017e2.js.map → HeaderCellMenu-3aab0902.js.map} +1 -1
- package/dist/cjs/Input.js +1 -1
- package/dist/cjs/Label.js +1 -1
- package/dist/cjs/Modal.js +2 -3
- package/dist/cjs/Modal.js.map +1 -1
- package/dist/cjs/MultiEmailInput.js +1 -1
- package/dist/cjs/NoData.js +1 -1
- package/dist/cjs/Pane.js +2 -3
- package/dist/cjs/Pane.js.map +1 -1
- package/dist/cjs/Radio.js +1 -1
- package/dist/cjs/Select.js +0 -1
- package/dist/cjs/Select.js.map +1 -1
- package/dist/cjs/Slider.js +1 -1
- package/dist/cjs/Spinner.js +1 -9
- package/dist/cjs/Spinner.js.map +1 -1
- package/dist/cjs/Switch.js +1 -1
- package/dist/cjs/Table.js +2 -2
- package/dist/cjs/{Textarea-af523fdb.js → Textarea-eaf8b986.js} +1 -1
- package/dist/cjs/{Textarea-af523fdb.js.map → Textarea-eaf8b986.js.map} +1 -1
- package/dist/cjs/Textarea.js +2 -2
- package/dist/cjs/TimePicker.js +5 -5
- package/dist/cjs/TreeSelect.js +1 -1
- package/dist/cjs/formik/ActionBlock.js +1 -1
- package/dist/cjs/formik/BlockNavigation.js +2 -3
- package/dist/cjs/formik/BlockNavigation.js.map +1 -1
- package/dist/cjs/formik/Button.js +1 -1
- package/dist/cjs/formik/Checkbox.js +1 -1
- package/dist/cjs/formik/Form.js +56 -48
- package/dist/cjs/formik/Form.js.map +1 -1
- package/dist/cjs/formik/Input.js +1 -1
- package/dist/cjs/formik/MultiEmailInput.js +1 -1
- package/dist/cjs/formik/Radio.js +1 -1
- package/dist/cjs/formik/Select.js +1 -2
- package/dist/cjs/formik/Select.js.map +1 -1
- package/dist/cjs/formik/Slider.js +1 -1
- package/dist/cjs/formik/Switch.js +1 -1
- package/dist/cjs/formik/Textarea.js +2 -2
- package/dist/cjs/formik/TreeSelect.js +1 -1
- package/dist/cjs/formik/index.js +3 -5
- package/dist/cjs/formik/index.js.map +1 -1
- package/dist/cjs/{index-34eccc77.js → index-6f49589a.js} +3 -3
- package/dist/cjs/{index-34eccc77.js.map → index-6f49589a.js.map} +1 -1
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/index.js +4 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{useOverlayManager-91348551.js → useOverlayManager-763ee731.js} +87 -2
- package/dist/cjs/useOverlayManager-763ee731.js.map +1 -0
- package/dist/formik/ActionBlock.js +1 -1
- package/dist/formik/BlockNavigation.js +2 -3
- package/dist/formik/BlockNavigation.js.map +1 -1
- package/dist/formik/Button.js +1 -1
- package/dist/formik/Checkbox.js +1 -1
- package/dist/formik/Form.js +54 -47
- package/dist/formik/Form.js.map +1 -1
- package/dist/formik/Input.js +1 -1
- package/dist/formik/MultiEmailInput.js +1 -1
- package/dist/formik/Radio.js +1 -1
- package/dist/formik/Select.js +1 -2
- package/dist/formik/Select.js.map +1 -1
- package/dist/formik/Slider.js +1 -1
- package/dist/formik/Switch.js +1 -1
- package/dist/formik/Textarea.js +2 -2
- package/dist/formik/TreeSelect.js +1 -1
- package/dist/formik/index.js +3 -5
- package/dist/formik/index.js.map +1 -1
- package/dist/{index-23406db4.js → index-94a0e8d0.js} +3 -3
- package/dist/{index-23406db4.js.map → index-94a0e8d0.js.map} +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/{useOverlayManager-c4efbaee.js → useOverlayManager-5be3be10.js} +87 -2
- package/dist/useOverlayManager-5be3be10.js.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/index-63580e68.js +0 -92
- package/dist/cjs/index-63580e68.js.map +0 -1
- package/dist/cjs/useOverlayManager-91348551.js.map +0 -1
- package/dist/index-283bc6a6.js +0 -90
- package/dist/index-283bc6a6.js.map +0 -1
- package/dist/useOverlayManager-c4efbaee.js.map +0 -1
package/dist/cjs/formik/Form.js
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var _extends = require('@babel/runtime/helpers/extends');
|
|
3
4
|
var React = require('react');
|
|
4
5
|
var formik = require('formik');
|
|
5
|
-
var
|
|
6
|
-
var _extends = require('@babel/runtime/helpers/extends');
|
|
6
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
8
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
9
9
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
10
|
+
var ramda = require('ramda');
|
|
10
11
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
11
12
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
12
|
-
var
|
|
13
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
13
14
|
|
|
14
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
16
|
|
|
16
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
17
17
|
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
18
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
19
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
18
20
|
var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
|
|
19
21
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
20
22
|
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
@@ -42,10 +44,20 @@ var getErrorFieldName = function getErrorFieldName(formikErrors) {
|
|
|
42
44
|
var _transformObjectToDot;
|
|
43
45
|
return (_transformObjectToDot = transformObjectToDotNotation(formikErrors)) === null || _transformObjectToDot === void 0 ? void 0 : _transformObjectToDot[0];
|
|
44
46
|
};
|
|
45
|
-
var
|
|
47
|
+
var getFieldsWithServerError = function getFieldsWithServerError() {
|
|
48
|
+
var status = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
49
|
+
return Object.keys(status).filter(function (fieldName) {
|
|
50
|
+
return neetoCist.isPresent(status[fieldName]);
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
var scrollToError = function scrollToError(formRef, errors, status) {
|
|
46
54
|
var fieldErrorName = getErrorFieldName(errors);
|
|
47
|
-
|
|
48
|
-
|
|
55
|
+
var _getFieldsWithServerE = getFieldsWithServerError(status),
|
|
56
|
+
_getFieldsWithServerE2 = _slicedToArray__default["default"](_getFieldsWithServerE, 1),
|
|
57
|
+
fieldWithServerError = _getFieldsWithServerE2[0];
|
|
58
|
+
if (!fieldErrorName && !fieldWithServerError) return;
|
|
59
|
+
var errorFieldName = fieldErrorName || fieldWithServerError;
|
|
60
|
+
var errorFormElement = formRef.current.querySelector("[name=\"".concat(errorFieldName, "\"]"));
|
|
49
61
|
errorFormElement === null || errorFormElement === void 0 || errorFormElement.scrollIntoView({
|
|
50
62
|
behavior: "smooth",
|
|
51
63
|
block: "center"
|
|
@@ -57,15 +69,21 @@ var ScrollToErrorField = function ScrollToErrorField(_ref) {
|
|
|
57
69
|
var _useFormikContext = formik.useFormikContext(),
|
|
58
70
|
submitCount = _useFormikContext.submitCount,
|
|
59
71
|
isValid = _useFormikContext.isValid,
|
|
60
|
-
errors = _useFormikContext.errors
|
|
72
|
+
errors = _useFormikContext.errors,
|
|
73
|
+
status = _useFormikContext.status;
|
|
61
74
|
React.useEffect(function () {
|
|
62
|
-
|
|
63
|
-
|
|
75
|
+
var fieldsWithServerError = getFieldsWithServerError(status);
|
|
76
|
+
if (!formRef.current || isValid && ramda.isEmpty(fieldsWithServerError)) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
scrollToError(formRef, errors, status);
|
|
64
80
|
}, [submitCount]);
|
|
65
81
|
return null;
|
|
66
82
|
};
|
|
67
83
|
|
|
68
84
|
var _excluded = ["validateForm", "setErrors", "setTouched", "submitForm"];
|
|
85
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
86
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
69
87
|
var FormWrapper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
70
88
|
var className = _ref.className,
|
|
71
89
|
formProps = _ref.formProps,
|
|
@@ -78,12 +96,13 @@ var FormWrapper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
78
96
|
submitForm = _useFormikContext.submitForm,
|
|
79
97
|
formikBag = _objectWithoutProperties__default["default"](_useFormikContext, _excluded);
|
|
80
98
|
var isFormDirty = formikBag.dirty,
|
|
81
|
-
isSubmitting = formikBag.isSubmitting
|
|
99
|
+
isSubmitting = formikBag.isSubmitting,
|
|
100
|
+
status = formikBag.status;
|
|
82
101
|
var formRefForScrollToErrorField = React.useRef();
|
|
83
102
|
var formRef = ref || formRefForScrollToErrorField;
|
|
84
103
|
var handleKeyDown = React.useCallback( /*#__PURE__*/function () {
|
|
85
104
|
var _ref2 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(event) {
|
|
86
|
-
var isEventFromEditorOrTextarea, errors;
|
|
105
|
+
var isEventFromEditorOrTextarea, errors, fieldStatuses;
|
|
87
106
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
88
107
|
while (1) switch (_context.prev = _context.next) {
|
|
89
108
|
case 0:
|
|
@@ -118,30 +137,31 @@ var FormWrapper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
118
137
|
return validateForm();
|
|
119
138
|
case 13:
|
|
120
139
|
errors = _context.sent;
|
|
121
|
-
|
|
140
|
+
fieldStatuses = getFieldsWithServerError(status);
|
|
141
|
+
if (Object.keys(errors).length > 0 || Object.keys(fieldStatuses).length > 0) {
|
|
122
142
|
setErrors(errors);
|
|
123
|
-
setTouched(errors);
|
|
124
|
-
scrollToErrorField && scrollToError(formRef, errors);
|
|
143
|
+
setTouched(_objectSpread(_objectSpread({}, errors), status));
|
|
144
|
+
scrollToErrorField && scrollToError(formRef, errors, status);
|
|
125
145
|
} else {
|
|
126
146
|
submitForm();
|
|
127
147
|
}
|
|
128
|
-
_context.next =
|
|
148
|
+
_context.next = 21;
|
|
129
149
|
break;
|
|
130
|
-
case
|
|
131
|
-
_context.prev =
|
|
150
|
+
case 18:
|
|
151
|
+
_context.prev = 18;
|
|
132
152
|
_context.t0 = _context["catch"](10);
|
|
133
153
|
// eslint-disable-next-line no-console
|
|
134
154
|
console.error("An unhandled error was caught from validateForm()", _context.t0);
|
|
135
|
-
case
|
|
155
|
+
case 21:
|
|
136
156
|
case "end":
|
|
137
157
|
return _context.stop();
|
|
138
158
|
}
|
|
139
|
-
}, _callee, null, [[10,
|
|
159
|
+
}, _callee, null, [[10, 18]]);
|
|
140
160
|
}));
|
|
141
161
|
return function (_x) {
|
|
142
162
|
return _ref2.apply(this, arguments);
|
|
143
163
|
};
|
|
144
|
-
}(), [validateForm, setErrors, setTouched, isFormDirty, isSubmitting, submitForm]);
|
|
164
|
+
}(), [validateForm, setErrors, setTouched, isFormDirty, isSubmitting, submitForm, status]);
|
|
145
165
|
return /*#__PURE__*/React__default["default"].createElement(formik.Form, _extends__default["default"]({
|
|
146
166
|
className: className,
|
|
147
167
|
noValidate: true,
|
|
@@ -161,7 +181,21 @@ var Form = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
161
181
|
formProps = _ref.formProps,
|
|
162
182
|
_ref$scrollToErrorFie = _ref.scrollToErrorField,
|
|
163
183
|
scrollToErrorField = _ref$scrollToErrorFie === void 0 ? false : _ref$scrollToErrorFie;
|
|
164
|
-
|
|
184
|
+
var formikRef = React.useRef();
|
|
185
|
+
var handleSubmit = function handleSubmit(values, actions) {
|
|
186
|
+
var _formikRef$current;
|
|
187
|
+
var fieldsWithServerError = getFieldsWithServerError((_formikRef$current = formikRef.current) === null || _formikRef$current === void 0 ? void 0 : _formikRef$current.status);
|
|
188
|
+
if (fieldsWithServerError.length > 0) {
|
|
189
|
+
actions.setSubmitting(false);
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
formikProps.onSubmit(values, actions);
|
|
193
|
+
};
|
|
194
|
+
return /*#__PURE__*/React__default["default"].createElement(formik.Formik, _extends__default["default"]({
|
|
195
|
+
innerRef: formikRef
|
|
196
|
+
}, formikProps, {
|
|
197
|
+
onSubmit: handleSubmit
|
|
198
|
+
}), function (props) {
|
|
165
199
|
return /*#__PURE__*/React__default["default"].createElement(FormWrapper, {
|
|
166
200
|
className: className,
|
|
167
201
|
formProps: formProps,
|
|
@@ -171,32 +205,6 @@ var Form = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
171
205
|
});
|
|
172
206
|
});
|
|
173
207
|
Form.displayName = "Form";
|
|
174
|
-
Form.propTypes = {
|
|
175
|
-
/**
|
|
176
|
-
* Pass a function to render children or pass the children directly
|
|
177
|
-
**/
|
|
178
|
-
children: index.propTypes.exports.node,
|
|
179
|
-
/**
|
|
180
|
-
* Additional classnames to be passed to the form wrapper
|
|
181
|
-
**/
|
|
182
|
-
className: index.propTypes.exports.string,
|
|
183
|
-
/**
|
|
184
|
-
* Props to be passed to the Formik component like `initialValues`, `validationSchema`, `onSubmit`
|
|
185
|
-
* Refer to the Formik docs for more details
|
|
186
|
-
* https://formik.org/docs/api/formik
|
|
187
|
-
**/
|
|
188
|
-
formikProps: index.propTypes.exports.object,
|
|
189
|
-
/**
|
|
190
|
-
* Props to be passed to the form element like `className`.
|
|
191
|
-
* Refer to the Formik docs for more details
|
|
192
|
-
* https://formik.org/docs/api/form
|
|
193
|
-
**/
|
|
194
|
-
formProps: index.propTypes.exports.object,
|
|
195
|
-
/**
|
|
196
|
-
* Props to be passed for scrolling to error field on submit button click.
|
|
197
|
-
**/
|
|
198
|
-
scrollToErrorField: index.propTypes.exports.bool
|
|
199
|
-
};
|
|
200
208
|
|
|
201
209
|
module.exports = Form;
|
|
202
210
|
//# sourceMappingURL=Form.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.js","sources":["../../../src/formik/Form/ScrollToErrorField/utils.js","../../../src/formik/Form/ScrollToErrorField/index.js","../../../src/formik/Form/FormWrapper.jsx","../../../src/formik/Form/index.jsx"],"sourcesContent":["import { is } from \"ramda\";\n\nconst transformObjectToDotNotation = (object, prefix = \"\") => {\n const result = [];\n\n Object.entries(object).forEach(([key, value]) => {\n if (!value) return;\n const nextKey = prefix ? `${prefix}.${key}` : key;\n if (is(Object, value)) {\n result.push(...transformObjectToDotNotation(value, nextKey));\n } else {\n result.push(nextKey);\n }\n });\n\n return result;\n};\n\nconst getErrorFieldName = formikErrors =>\n transformObjectToDotNotation(formikErrors)?.[0];\n\nexport const scrollToError = (formRef, errors) => {\n const fieldErrorName = getErrorFieldName(errors);\n if (!fieldErrorName) return;\n\n const errorFormElement = formRef.current.querySelector(\n `[name=\"${fieldErrorName}\"]`\n );\n\n errorFormElement?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n};\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\n\nimport { scrollToError } from \"./utils\";\n\nconst ScrollToErrorField = ({ formRef }) => {\n const { submitCount, isValid, errors } = useFormikContext();\n\n useEffect(() => {\n if (!formRef.current || isValid) return;\n\n scrollToError(formRef, errors);\n }, [submitCount]);\n\n return null;\n};\n\nexport default ScrollToErrorField;\n","import React, { useCallback, forwardRef, useRef } from \"react\";\n\nimport { Form as FormikForm, useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport ScrollToErrorField from \"./ScrollToErrorField\";\nimport { scrollToError } from \"./ScrollToErrorField/utils\";\n\nconst FormWrapper = forwardRef(\n ({ className, formProps, children, scrollToErrorField }, ref) => {\n const { validateForm, setErrors, setTouched, submitForm, ...formikBag } =\n useFormikContext();\n\n const { dirty: isFormDirty, isSubmitting } = formikBag;\n\n const formRefForScrollToErrorField = useRef();\n\n const formRef = ref || formRefForScrollToErrorField;\n\n const handleKeyDown = useCallback(\n async event => {\n const isEventFromEditorOrTextarea =\n event.target.tagName === \"TEXTAREA\" || event.target.editor;\n\n if (event.key !== \"Enter\") return;\n\n if (isEventFromEditorOrTextarea && !event.metaKey) return;\n\n event.preventDefault();\n\n if (event.shiftKey) return;\n\n if (!isFormDirty || isSubmitting) return;\n\n try {\n const errors = await validateForm();\n\n if (Object.keys(errors).length > 0) {\n setErrors(errors);\n setTouched(errors);\n scrollToErrorField && scrollToError(formRef, errors);\n } else {\n submitForm();\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\n \"An unhandled error was caught from validateForm()\",\n error\n );\n }\n },\n [\n validateForm,\n setErrors,\n setTouched,\n isFormDirty,\n isSubmitting,\n submitForm,\n ]\n );\n\n return (\n <FormikForm\n {...{ className }}\n noValidate\n data-testid=\"neeto-ui-form-wrapper\"\n ref={formRef}\n onKeyDown={handleKeyDown}\n {...formProps}\n >\n {scrollToErrorField && <ScrollToErrorField {...{ formRef }} />}\n {children}\n </FormikForm>\n );\n }\n);\n\nFormWrapper.displayName = \"FormWrapper\";\n\nFormWrapper.propTypes = {\n children: PropTypes.node,\n formProps: PropTypes.object,\n scrollToErrorField: PropTypes.bool,\n};\n\nexport default FormWrapper;\n","import React, { forwardRef } from \"react\";\n\nimport { Formik } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport FormWrapper from \"./FormWrapper\";\n\nconst Form = forwardRef(\n (\n { className, children, formikProps, formProps, scrollToErrorField = false },\n ref\n ) => (\n <Formik {...formikProps}>\n {props => (\n <FormWrapper {...{ className, formProps, ref, scrollToErrorField }}>\n {typeof children === \"function\" ? children(props) : children}\n </FormWrapper>\n )}\n </Formik>\n )\n);\n\nForm.displayName = \"Form\";\n\nForm.propTypes = {\n /**\n * Pass a function to render children or pass the children directly\n **/\n children: PropTypes.node,\n /**\n * Additional classnames to be passed to the form wrapper\n **/\n className: PropTypes.string,\n /**\n * Props to be passed to the Formik component like `initialValues`, `validationSchema`, `onSubmit`\n * Refer to the Formik docs for more details\n * https://formik.org/docs/api/formik\n **/\n formikProps: PropTypes.object,\n /**\n * Props to be passed to the form element like `className`.\n * Refer to the Formik docs for more details\n * https://formik.org/docs/api/form\n **/\n formProps: PropTypes.object,\n /**\n * Props to be passed for scrolling to error field on submit button click.\n **/\n scrollToErrorField: PropTypes.bool,\n};\n\nexport default Form;\n"],"names":["transformObjectToDotNotation","object","prefix","arguments","length","undefined","result","Object","entries","forEach","_ref","_ref2","_slicedToArray","key","value","nextKey","concat","is","push","apply","_toConsumableArray","getErrorFieldName","formikErrors","_transformObjectToDot","scrollToError","formRef","errors","fieldErrorName","errorFormElement","current","querySelector","scrollIntoView","behavior","block","ScrollToErrorField","_useFormikContext","useFormikContext","submitCount","isValid","useEffect","FormWrapper","forwardRef","ref","className","formProps","children","scrollToErrorField","validateForm","setErrors","setTouched","submitForm","formikBag","_objectWithoutProperties","_excluded","isFormDirty","dirty","isSubmitting","formRefForScrollToErrorField","useRef","handleKeyDown","useCallback","_asyncToGenerator","_regeneratorRuntime","mark","_callee","event","isEventFromEditorOrTextarea","wrap","_callee$","_context","prev","next","target","tagName","editor","abrupt","metaKey","preventDefault","shiftKey","sent","keys","t0","console","error","stop","_x","React","createElement","FormikForm","_extends","noValidate","onKeyDown","displayName","Form","formikProps","_ref$scrollToErrorFie","Formik","props","propTypes","PropTypes","node","string","bool"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Form.js","sources":["../../../src/formik/Form/ScrollToErrorField/utils.js","../../../src/formik/Form/ScrollToErrorField/index.js","../../../src/formik/Form/FormWrapper.jsx","../../../src/formik/Form/index.jsx"],"sourcesContent":["import { isPresent } from \"neetocist\";\nimport { is } from \"ramda\";\n\nconst transformObjectToDotNotation = (object, prefix = \"\") => {\n const result = [];\n\n Object.entries(object).forEach(([key, value]) => {\n if (!value) return;\n const nextKey = prefix ? `${prefix}.${key}` : key;\n if (is(Object, value)) {\n result.push(...transformObjectToDotNotation(value, nextKey));\n } else {\n result.push(nextKey);\n }\n });\n\n return result;\n};\n\nconst getErrorFieldName = formikErrors =>\n transformObjectToDotNotation(formikErrors)?.[0];\n\nexport const getFieldsWithServerError = (status = {}) =>\n Object.keys(status).filter(fieldName => isPresent(status[fieldName]));\n\nexport const scrollToError = (formRef, errors, status) => {\n const fieldErrorName = getErrorFieldName(errors);\n const [fieldWithServerError] = getFieldsWithServerError(status);\n\n if (!fieldErrorName && !fieldWithServerError) return;\n\n const errorFieldName = fieldErrorName || fieldWithServerError;\n const errorFormElement = formRef.current.querySelector(\n `[name=\"${errorFieldName}\"]`\n );\n\n errorFormElement?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n};\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isEmpty } from \"ramda\";\n\nimport { getFieldsWithServerError, scrollToError } from \"./utils\";\n\nconst ScrollToErrorField = ({ formRef }) => {\n const { submitCount, isValid, errors, status } = useFormikContext();\n\n useEffect(() => {\n const fieldsWithServerError = getFieldsWithServerError(status);\n if (!formRef.current || (isValid && isEmpty(fieldsWithServerError))) {\n return;\n }\n\n scrollToError(formRef, errors, status);\n }, [submitCount]);\n\n return null;\n};\n\nexport default ScrollToErrorField;\n","import React, { useCallback, forwardRef, useRef } from \"react\";\n\nimport { Form as FormikForm, useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport ScrollToErrorField from \"./ScrollToErrorField\";\nimport {\n getFieldsWithServerError,\n scrollToError,\n} from \"./ScrollToErrorField/utils\";\n\nconst FormWrapper = forwardRef(\n ({ className, formProps, children, scrollToErrorField }, ref) => {\n const { validateForm, setErrors, setTouched, submitForm, ...formikBag } =\n useFormikContext();\n\n const { dirty: isFormDirty, isSubmitting, status } = formikBag;\n\n const formRefForScrollToErrorField = useRef();\n\n const formRef = ref || formRefForScrollToErrorField;\n\n const handleKeyDown = useCallback(\n async event => {\n const isEventFromEditorOrTextarea =\n event.target.tagName === \"TEXTAREA\" || event.target.editor;\n\n if (event.key !== \"Enter\") return;\n\n if (isEventFromEditorOrTextarea && !event.metaKey) return;\n\n event.preventDefault();\n\n if (event.shiftKey) return;\n\n if (!isFormDirty || isSubmitting) return;\n\n try {\n const errors = await validateForm();\n const fieldStatuses = getFieldsWithServerError(status);\n\n if (\n Object.keys(errors).length > 0 ||\n Object.keys(fieldStatuses).length > 0\n ) {\n setErrors(errors);\n setTouched({ ...errors, ...status });\n scrollToErrorField && scrollToError(formRef, errors, status);\n } else {\n submitForm();\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\n \"An unhandled error was caught from validateForm()\",\n error\n );\n }\n },\n [\n validateForm,\n setErrors,\n setTouched,\n isFormDirty,\n isSubmitting,\n submitForm,\n status,\n ]\n );\n\n return (\n <FormikForm\n {...{ className }}\n noValidate\n data-testid=\"neeto-ui-form-wrapper\"\n ref={formRef}\n onKeyDown={handleKeyDown}\n {...formProps}\n >\n {scrollToErrorField && <ScrollToErrorField {...{ formRef }} />}\n {children}\n </FormikForm>\n );\n }\n);\n\nFormWrapper.displayName = \"FormWrapper\";\n\nFormWrapper.propTypes = {\n children: PropTypes.node,\n formProps: PropTypes.object,\n scrollToErrorField: PropTypes.bool,\n};\n\nexport default FormWrapper;\n","import React, { forwardRef, useRef } from \"react\";\n\nimport { Formik } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport FormWrapper from \"./FormWrapper\";\nimport { getFieldsWithServerError } from \"./ScrollToErrorField/utils\";\n\nconst Form = forwardRef(\n (\n { className, children, formikProps, formProps, scrollToErrorField = false },\n ref\n ) => {\n const formikRef = useRef();\n\n const handleSubmit = (values, actions) => {\n const fieldsWithServerError = getFieldsWithServerError(\n formikRef.current?.status\n );\n\n if (fieldsWithServerError.length > 0) {\n actions.setSubmitting(false);\n\n return;\n }\n\n formikProps.onSubmit(values, actions);\n };\n\n return (\n <Formik innerRef={formikRef} {...formikProps} onSubmit={handleSubmit}>\n {props => (\n <FormWrapper {...{ className, formProps, ref, scrollToErrorField }}>\n {typeof children === \"function\" ? children(props) : children}\n </FormWrapper>\n )}\n </Formik>\n );\n }\n);\n\nForm.displayName = \"Form\";\n\nForm.propTypes = {\n /**\n * Pass a function to render children or pass the children directly\n **/\n children: PropTypes.node,\n /**\n * Additional classnames to be passed to the form wrapper\n **/\n className: PropTypes.string,\n /**\n * Props to be passed to the Formik component like `initialValues`, `validationSchema`, `onSubmit`\n * Refer to the Formik docs for more details\n * https://formik.org/docs/api/formik\n **/\n formikProps: PropTypes.object,\n /**\n * Props to be passed to the form element like `className`.\n * Refer to the Formik docs for more details\n * https://formik.org/docs/api/form\n **/\n formProps: PropTypes.object,\n /**\n * Props to be passed for scrolling to error field on submit button click.\n **/\n scrollToErrorField: PropTypes.bool,\n};\n\nexport default Form;\n"],"names":["transformObjectToDotNotation","object","prefix","arguments","length","undefined","result","Object","entries","forEach","_ref","_ref2","_slicedToArray","key","value","nextKey","concat","is","push","apply","_toConsumableArray","getErrorFieldName","formikErrors","_transformObjectToDot","getFieldsWithServerError","status","keys","filter","fieldName","isPresent","scrollToError","formRef","errors","fieldErrorName","_getFieldsWithServerE","_getFieldsWithServerE2","fieldWithServerError","errorFieldName","errorFormElement","current","querySelector","scrollIntoView","behavior","block","ScrollToErrorField","_useFormikContext","useFormikContext","submitCount","isValid","useEffect","fieldsWithServerError","isEmpty","FormWrapper","forwardRef","ref","className","formProps","children","scrollToErrorField","validateForm","setErrors","setTouched","submitForm","formikBag","_objectWithoutProperties","_excluded","isFormDirty","dirty","isSubmitting","formRefForScrollToErrorField","useRef","handleKeyDown","useCallback","_asyncToGenerator","_regeneratorRuntime","mark","_callee","event","isEventFromEditorOrTextarea","fieldStatuses","wrap","_callee$","_context","prev","next","target","tagName","editor","abrupt","metaKey","preventDefault","shiftKey","sent","_objectSpread","t0","console","error","stop","_x","React","createElement","FormikForm","_extends","noValidate","onKeyDown","displayName","Form","formikProps","_ref$scrollToErrorFie","formikRef","handleSubmit","values","actions","_formikRef$current","setSubmitting","onSubmit","Formik","innerRef","props"],"mappings":"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"}
|
package/dist/cjs/formik/Input.js
CHANGED
|
@@ -27,7 +27,7 @@ require('../en-c1fe180c.js');
|
|
|
27
27
|
require('../Label.js');
|
|
28
28
|
require('@bigbinary/neeto-icons');
|
|
29
29
|
require('../Button.js');
|
|
30
|
-
require('
|
|
30
|
+
require('../Spinner.js');
|
|
31
31
|
require('../Tooltip.js');
|
|
32
32
|
require('@tippyjs/react');
|
|
33
33
|
require('tippy.js');
|
package/dist/cjs/formik/Radio.js
CHANGED
|
@@ -13,7 +13,7 @@ require('../Label.js');
|
|
|
13
13
|
require('@bigbinary/neeto-icons');
|
|
14
14
|
require('../Button.js');
|
|
15
15
|
require('react-router-dom');
|
|
16
|
-
require('
|
|
16
|
+
require('../Spinner.js');
|
|
17
17
|
require('../Tooltip.js');
|
|
18
18
|
require('@tippyjs/react');
|
|
19
19
|
require('tippy.js');
|
|
@@ -47,13 +47,12 @@ require('qs');
|
|
|
47
47
|
require('../en-c1fe180c.js');
|
|
48
48
|
require('../Label.js');
|
|
49
49
|
require('../Button.js');
|
|
50
|
-
require('
|
|
50
|
+
require('../Spinner.js');
|
|
51
51
|
require('../Tooltip.js');
|
|
52
52
|
require('@tippyjs/react');
|
|
53
53
|
require('tippy.js');
|
|
54
54
|
require('../Popover.js');
|
|
55
55
|
require('../Typography.js');
|
|
56
|
-
require('../Spinner.js');
|
|
57
56
|
|
|
58
57
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
59
58
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../src/formik/Select.jsx"],"sourcesContent":["import React, { forwardRef, useRef, startTransition } from \"react\";\n\nimport { getIn, useFormikContext, useField } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { prop, either, isNil, isEmpty, dissoc } from \"ramda\";\n\nimport Select from \"components/Select\";\n\nconst SelectField = forwardRef((props, ref) => {\n const {\n name = \"\",\n options = [],\n getOptionValue = null,\n isMulti = false,\n ...otherProps\n } = props;\n const [field, meta, { setValue, setTouched }] = useField(name);\n const { status = {}, setStatus } = useFormikContext();\n const fieldStatus = getIn(status, name);\n\n const isMenuOpen = useRef(otherProps.defaultMenuIsOpen);\n\n const getRealOptionValue = option => {\n if (typeof getOptionValue !== \"function\") {\n return option.value;\n }\n\n return getOptionValue(option);\n };\n\n const buildValueObj = (value, options) => {\n if (typeof value === \"object\") return value;\n\n return options.filter(option => getRealOptionValue(option) === value)[0];\n };\n\n return (\n <Select\n {...{ options }}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n getOptionValue={getOptionValue || prop(\"value\")}\n innerRef={ref}\n isMulti={!!isMulti}\n name={field.name}\n value={\n either(isNil, isEmpty)(field.value)\n ? null\n : buildValueObj(field.value, options)\n }\n onBlur={() =>\n startTransition(() => {\n setTouched(true);\n })\n }\n onChange={value => {\n setStatus(dissoc(name, status));\n setValue(value);\n }}\n {...otherProps}\n onKeyDown={event => {\n if (event.key === \"Enter\" && isMenuOpen.current) {\n event.stopPropagation();\n }\n otherProps.onKeyDown?.(event);\n }}\n onMenuClose={() => {\n isMenuOpen.current = false;\n otherProps.onMenuClose?.();\n }}\n onMenuOpen={() => {\n isMenuOpen.current = true;\n otherProps.onMenuOpen?.();\n }}\n />\n );\n});\n\nSelectField.displayName = \"SelectField\";\n\nSelectField.propTypes = {\n /**\n * The name of the select input.\n */\n name: PropTypes.string,\n /**\n * To provide the options to be displayed in the select component.\n */\n options: PropTypes.array,\n /**\n * To provide the function to get the value of the option.\n */\n getOptionValue: PropTypes.string,\n /**\n * To specify whether multiple options can be selected.\n */\n isMulti: PropTypes.bool,\n};\n\nexport default SelectField;\n"],"names":["SelectField","forwardRef","props","ref","_props$name","name","_props$options","options","_props$getOptionValue","getOptionValue","_props$isMulti","isMulti","otherProps","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","_useFormikContext$sta","status","setStatus","fieldStatus","getIn","isMenuOpen","useRef","defaultMenuIsOpen","getRealOptionValue","option","value","buildValueObj","_typeof","filter","React","createElement","Select","_extends","error","touched","prop","innerRef","either","isNil","isEmpty","onBlur","startTransition","onChange","dissoc","onKeyDown","event","_otherProps$onKeyDown","key","current","stopPropagation","call","onMenuClose","_otherProps$onMenuClo","onMenuOpen","_otherProps$onMenuOpe","displayName"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../src/formik/Select.jsx"],"sourcesContent":["import React, { forwardRef, useRef, startTransition } from \"react\";\n\nimport { getIn, useFormikContext, useField } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { prop, either, isNil, isEmpty, dissoc } from \"ramda\";\n\nimport Select from \"components/Select\";\n\nconst SelectField = forwardRef((props, ref) => {\n const {\n name = \"\",\n options = [],\n getOptionValue = null,\n isMulti = false,\n ...otherProps\n } = props;\n const [field, meta, { setValue, setTouched }] = useField(name);\n const { status = {}, setStatus } = useFormikContext();\n const fieldStatus = getIn(status, name);\n\n const isMenuOpen = useRef(otherProps.defaultMenuIsOpen);\n\n const getRealOptionValue = option => {\n if (typeof getOptionValue !== \"function\") {\n return option.value;\n }\n\n return getOptionValue(option);\n };\n\n const buildValueObj = (value, options) => {\n if (typeof value === \"object\") return value;\n\n return options.filter(option => getRealOptionValue(option) === value)[0];\n };\n\n return (\n <Select\n {...{ options }}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n getOptionValue={getOptionValue || prop(\"value\")}\n innerRef={ref}\n isMulti={!!isMulti}\n name={field.name}\n value={\n either(isNil, isEmpty)(field.value)\n ? null\n : buildValueObj(field.value, options)\n }\n onBlur={() =>\n startTransition(() => {\n setTouched(true);\n })\n }\n onChange={value => {\n setStatus(dissoc(name, status));\n setValue(value);\n }}\n {...otherProps}\n onKeyDown={event => {\n if (event.key === \"Enter\" && isMenuOpen.current) {\n event.stopPropagation();\n }\n otherProps.onKeyDown?.(event);\n }}\n onMenuClose={() => {\n isMenuOpen.current = false;\n otherProps.onMenuClose?.();\n }}\n onMenuOpen={() => {\n isMenuOpen.current = true;\n otherProps.onMenuOpen?.();\n }}\n />\n );\n});\n\nSelectField.displayName = \"SelectField\";\n\nSelectField.propTypes = {\n /**\n * The name of the select input.\n */\n name: PropTypes.string,\n /**\n * To provide the options to be displayed in the select component.\n */\n options: PropTypes.array,\n /**\n * To provide the function to get the value of the option.\n */\n getOptionValue: PropTypes.string,\n /**\n * To specify whether multiple options can be selected.\n */\n isMulti: PropTypes.bool,\n};\n\nexport default SelectField;\n"],"names":["SelectField","forwardRef","props","ref","_props$name","name","_props$options","options","_props$getOptionValue","getOptionValue","_props$isMulti","isMulti","otherProps","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","_useFormikContext$sta","status","setStatus","fieldStatus","getIn","isMenuOpen","useRef","defaultMenuIsOpen","getRealOptionValue","option","value","buildValueObj","_typeof","filter","React","createElement","Select","_extends","error","touched","prop","innerRef","either","isNil","isEmpty","onBlur","startTransition","onChange","dissoc","onKeyDown","event","_otherProps$onKeyDown","key","current","stopPropagation","call","onMenuClose","_otherProps$onMenuClo","onMenuOpen","_otherProps$onMenuOpe","displayName"],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ require('classnames');
|
|
|
24
24
|
require('@bigbinary/neeto-icons');
|
|
25
25
|
require('../Button.js');
|
|
26
26
|
require('react-router-dom');
|
|
27
|
-
require('
|
|
27
|
+
require('../Spinner.js');
|
|
28
28
|
require('../Tooltip.js');
|
|
29
29
|
require('@tippyjs/react');
|
|
30
30
|
require('tippy.js');
|
|
@@ -6,7 +6,7 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var formik = require('formik');
|
|
8
8
|
var ramda = require('ramda');
|
|
9
|
-
var Textarea = require('../Textarea-
|
|
9
|
+
var Textarea = require('../Textarea-eaf8b986.js');
|
|
10
10
|
require('@babel/runtime/helpers/slicedToArray');
|
|
11
11
|
require('classnames');
|
|
12
12
|
require('../useId-4e3deb5c.js');
|
|
@@ -27,7 +27,7 @@ require('../en-c1fe180c.js');
|
|
|
27
27
|
require('../Label.js');
|
|
28
28
|
require('@bigbinary/neeto-icons');
|
|
29
29
|
require('../Button.js');
|
|
30
|
-
require('
|
|
30
|
+
require('../Spinner.js');
|
|
31
31
|
require('../Tooltip.js');
|
|
32
32
|
require('@tippyjs/react');
|
|
33
33
|
require('tippy.js');
|
package/dist/cjs/formik/index.js
CHANGED
|
@@ -24,7 +24,7 @@ require('../Button.js');
|
|
|
24
24
|
require('@babel/runtime/helpers/defineProperty');
|
|
25
25
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
26
26
|
require('react-router-dom');
|
|
27
|
-
require('
|
|
27
|
+
require('../Spinner.js');
|
|
28
28
|
require('../Tooltip.js');
|
|
29
29
|
require('@babel/runtime/helpers/slicedToArray');
|
|
30
30
|
require('@tippyjs/react');
|
|
@@ -44,11 +44,10 @@ require('../en-c1fe180c.js');
|
|
|
44
44
|
require('../Alert.js');
|
|
45
45
|
require('../Modal.js');
|
|
46
46
|
require('@bigbinary/neeto-icons');
|
|
47
|
-
require('../useOverlayManager-
|
|
47
|
+
require('../useOverlayManager-763ee731.js');
|
|
48
48
|
require('@babel/runtime/helpers/esm/extends');
|
|
49
49
|
require('@babel/runtime/helpers/esm/objectWithoutPropertiesLoose');
|
|
50
50
|
require('@babel/runtime/helpers/esm/inheritsLoose');
|
|
51
|
-
require('../index-63580e68.js');
|
|
52
51
|
require('react-dom');
|
|
53
52
|
require('@babel/runtime/helpers/esm/assertThisInitialized');
|
|
54
53
|
require('@bigbinary/neeto-hotkeys');
|
|
@@ -84,7 +83,6 @@ require('@babel/runtime/helpers/toArray');
|
|
|
84
83
|
require('../Tag.js');
|
|
85
84
|
require('../Radio.js');
|
|
86
85
|
require('../Select.js');
|
|
87
|
-
require('../Spinner.js');
|
|
88
86
|
require('../Slider.js');
|
|
89
87
|
require('antd/lib/config-provider');
|
|
90
88
|
require('antd/lib/slider');
|
|
@@ -97,7 +95,7 @@ require('antd/locale/nl_NL');
|
|
|
97
95
|
require('antd/locale/pl_PL');
|
|
98
96
|
require('antd/locale/pt_PT');
|
|
99
97
|
require('../Switch.js');
|
|
100
|
-
require('../Textarea-
|
|
98
|
+
require('../Textarea-eaf8b986.js');
|
|
101
99
|
require('../TreeSelect.js');
|
|
102
100
|
require('antd/lib/tree-select');
|
|
103
101
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -35,7 +35,7 @@ var useId = require('./useId-4e3deb5c.js');
|
|
|
35
35
|
require('@bigbinary/neeto-hotkeys');
|
|
36
36
|
require('./overlayManager.js');
|
|
37
37
|
require('qs');
|
|
38
|
-
var Textarea = require('./Textarea-
|
|
38
|
+
var Textarea = require('./Textarea-eaf8b986.js');
|
|
39
39
|
require('@babel/runtime/helpers/toConsumableArray');
|
|
40
40
|
require('./Pane.js');
|
|
41
41
|
require('./Popover.js');
|
|
@@ -68,7 +68,7 @@ require('./Switch.js');
|
|
|
68
68
|
require('./Tab.js');
|
|
69
69
|
require('antd/lib/table');
|
|
70
70
|
require('react-drag-listview');
|
|
71
|
-
require('./HeaderCellMenu-
|
|
71
|
+
require('./HeaderCellMenu-3aab0902.js');
|
|
72
72
|
require('react-resizable');
|
|
73
73
|
var Tag = require('./Tag.js');
|
|
74
74
|
var constants = require('./constants.js');
|
|
@@ -522,4 +522,4 @@ TimePicker.displayName = "TimePicker";
|
|
|
522
522
|
|
|
523
523
|
exports.DatePicker = DatePicker;
|
|
524
524
|
exports.TimePicker = TimePicker;
|
|
525
|
-
//# sourceMappingURL=index-
|
|
525
|
+
//# sourceMappingURL=index-6f49589a.js.map
|