@bigbinary/neetoui 6.7.4 → 6.8.0
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/Accordion.js +5 -6
- package/dist/Accordion.js.map +1 -1
- package/dist/ActionDropdown.js +16 -11
- package/dist/ActionDropdown.js.map +1 -1
- package/dist/Alert.js +23 -13
- package/dist/Alert.js.map +1 -1
- package/dist/Avatar.js +6 -6
- package/dist/Button.js +7 -8
- package/dist/Button.js.map +1 -1
- package/dist/Callout.js +4 -5
- package/dist/Callout.js.map +1 -1
- package/dist/Checkbox.js +22 -13
- package/dist/Checkbox.js.map +1 -1
- package/dist/ColorPicker.js +20 -14
- package/dist/ColorPicker.js.map +1 -1
- package/dist/DatePicker.js +21 -12
- package/dist/DatePicker.js.map +1 -1
- package/dist/DateTimePicker.js +27 -17
- package/dist/DateTimePicker.js.map +1 -1
- package/dist/Dropdown.js +18 -13
- package/dist/Dropdown.js.map +1 -1
- package/dist/Input.js +21 -12
- package/dist/Input.js.map +1 -1
- package/dist/Kbd.js +6 -6
- package/dist/Label.js +54 -18
- package/dist/Label.js.map +1 -1
- package/dist/Modal.js +23 -13
- package/dist/Modal.js.map +1 -1
- package/dist/MultiEmailInput.js +41 -16
- package/dist/MultiEmailInput.js.map +1 -1
- package/dist/NoData.js +7 -8
- package/dist/NoData.js.map +1 -1
- package/dist/Pagination.js +15 -10
- package/dist/Pagination.js.map +1 -1
- package/dist/Pane.js +23 -13
- package/dist/Pane.js.map +1 -1
- package/dist/Popover.js +7 -8
- package/dist/Popover.js.map +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/Radio.js +22 -13
- package/dist/Radio.js.map +1 -1
- package/dist/Select.js +42 -14
- package/dist/Select.js.map +1 -1
- package/dist/Sidebar.js +16 -11
- package/dist/Sidebar.js.map +1 -1
- package/dist/Slider.js +22 -13
- package/dist/Slider.js.map +1 -1
- package/dist/Spinner.js +1 -1
- package/dist/Stepper.js +1 -1
- package/dist/Switch.js +22 -13
- package/dist/Switch.js.map +1 -1
- package/dist/Tab.js +4 -5
- package/dist/Tab.js.map +1 -1
- package/dist/Table.js +19 -14
- package/dist/Table.js.map +1 -1
- package/dist/Tag.js +3 -3
- package/dist/Textarea.js +22 -13
- package/dist/Textarea.js.map +1 -1
- package/dist/TimePicker.js +22 -13
- package/dist/TimePicker.js.map +1 -1
- package/dist/TimePickerInput.js +258 -21
- package/dist/TimePickerInput.js.map +1 -1
- package/dist/Toastr.js +15 -126
- package/dist/Toastr.js.map +1 -1
- package/dist/Tooltip.js +73 -7
- package/dist/Tooltip.js.map +1 -1
- package/dist/Tree.js +13 -8
- package/dist/Tree.js.map +1 -1
- package/dist/TreeSelect.js +21 -11
- package/dist/TreeSelect.js.map +1 -1
- package/dist/Typography.js +4 -5
- package/dist/Typography.js.map +1 -1
- package/dist/cjs/Accordion.js +25 -21
- package/dist/cjs/Accordion.js.map +1 -1
- package/dist/cjs/ActionDropdown.js +24 -16
- package/dist/cjs/ActionDropdown.js.map +1 -1
- package/dist/cjs/Alert.js +25 -14
- package/dist/cjs/Alert.js.map +1 -1
- package/dist/cjs/Avatar.js +17 -13
- package/dist/cjs/Avatar.js.map +1 -1
- package/dist/cjs/Button.js +17 -14
- package/dist/cjs/Button.js.map +1 -1
- package/dist/cjs/Callout.js +11 -8
- package/dist/cjs/Callout.js.map +1 -1
- package/dist/cjs/Checkbox.js +32 -20
- package/dist/cjs/Checkbox.js.map +1 -1
- package/dist/cjs/ColorPicker.js +33 -22
- package/dist/cjs/ColorPicker.js.map +1 -1
- package/dist/cjs/DatePicker.js +35 -21
- package/dist/cjs/DatePicker.js.map +1 -1
- package/dist/cjs/DateTimePicker.js +45 -29
- package/dist/cjs/DateTimePicker.js.map +1 -1
- package/dist/cjs/Dropdown.js +50 -39
- package/dist/cjs/Dropdown.js.map +1 -1
- package/dist/cjs/Input.js +39 -25
- package/dist/cjs/Input.js.map +1 -1
- package/dist/cjs/Kbd.js +13 -10
- package/dist/cjs/Kbd.js.map +1 -1
- package/dist/cjs/Label.js +61 -21
- package/dist/cjs/Label.js.map +1 -1
- package/dist/cjs/Modal.js +36 -21
- package/dist/cjs/Modal.js.map +1 -1
- package/dist/cjs/MultiEmailInput.js +71 -39
- package/dist/cjs/MultiEmailInput.js.map +1 -1
- package/dist/cjs/NoData.js +15 -13
- package/dist/cjs/NoData.js.map +1 -1
- package/dist/cjs/Pagination.js +24 -17
- package/dist/cjs/Pagination.js.map +1 -1
- package/dist/cjs/Pane.js +36 -21
- package/dist/cjs/Pane.js.map +1 -1
- package/dist/cjs/Popover.js +14 -12
- package/dist/cjs/Popover.js.map +1 -1
- package/dist/cjs/ProgressBar.js +3 -2
- package/dist/cjs/ProgressBar.js.map +1 -1
- package/dist/cjs/Radio.js +39 -25
- package/dist/cjs/Radio.js.map +1 -1
- package/dist/cjs/Select.js +91 -54
- package/dist/cjs/Select.js.map +1 -1
- package/dist/cjs/Sidebar.js +38 -28
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/Slider.js +29 -17
- package/dist/cjs/Slider.js.map +1 -1
- package/dist/cjs/Spinner.js +3 -2
- package/dist/cjs/Spinner.js.map +1 -1
- package/dist/cjs/Stepper.js +7 -6
- package/dist/cjs/Stepper.js.map +1 -1
- package/dist/cjs/Switch.js +35 -23
- package/dist/cjs/Switch.js.map +1 -1
- package/dist/cjs/Tab.js +15 -12
- package/dist/cjs/Tab.js.map +1 -1
- package/dist/cjs/Table.js +55 -44
- package/dist/cjs/Table.js.map +1 -1
- package/dist/cjs/Tag.js +10 -7
- package/dist/cjs/Tag.js.map +1 -1
- package/dist/cjs/Textarea.js +38 -24
- package/dist/cjs/Textarea.js.map +1 -1
- package/dist/cjs/TimePicker.js +31 -18
- package/dist/cjs/TimePicker.js.map +1 -1
- package/dist/cjs/TimePickerInput.js +268 -22
- package/dist/cjs/TimePickerInput.js.map +1 -1
- package/dist/cjs/Toastr.js +32 -155
- package/dist/cjs/Toastr.js.map +1 -1
- package/dist/cjs/Tooltip.js +78 -8
- package/dist/cjs/Tooltip.js.map +1 -1
- package/dist/cjs/Tree.js +20 -12
- package/dist/cjs/Tree.js.map +1 -1
- package/dist/cjs/TreeSelect.js +30 -16
- package/dist/cjs/TreeSelect.js.map +1 -1
- package/dist/cjs/Typography.js +11 -8
- package/dist/cjs/Typography.js.map +1 -1
- package/dist/cjs/formik/ActionBlock.js +12 -11
- package/dist/cjs/formik/ActionBlock.js.map +1 -1
- package/dist/cjs/formik/BlockNavigation.js +29 -16
- package/dist/cjs/formik/BlockNavigation.js.map +1 -1
- package/dist/cjs/formik/Button.js +11 -10
- package/dist/cjs/formik/Button.js.map +1 -1
- package/dist/cjs/formik/Checkbox.js +28 -16
- package/dist/cjs/formik/Checkbox.js.map +1 -1
- package/dist/cjs/formik/Form.js +29 -24
- package/dist/cjs/formik/Form.js.map +1 -1
- package/dist/cjs/formik/Input.js +27 -15
- package/dist/cjs/formik/Input.js.map +1 -1
- package/dist/cjs/formik/MultiEmailInput.js +47 -15
- package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
- package/dist/cjs/formik/Radio.js +31 -18
- package/dist/cjs/formik/Radio.js.map +1 -1
- package/dist/cjs/formik/Select.js +48 -16
- package/dist/cjs/formik/Select.js.map +1 -1
- package/dist/cjs/formik/Slider.js +31 -18
- package/dist/cjs/formik/Slider.js.map +1 -1
- package/dist/cjs/formik/Switch.js +28 -16
- package/dist/cjs/formik/Switch.js.map +1 -1
- package/dist/cjs/formik/Textarea.js +28 -16
- package/dist/cjs/formik/Textarea.js.map +1 -1
- package/dist/cjs/formik/TreeSelect.js +27 -14
- package/dist/cjs/formik/TreeSelect.js.map +1 -1
- package/dist/cjs/formik/index.js +45 -16
- package/dist/cjs/formik/index.js.map +1 -1
- package/dist/cjs/index-f2e36d91.js +167 -0
- package/dist/cjs/index-f2e36d91.js.map +1 -0
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/index.js +49 -20
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/layouts.js +16 -11
- package/dist/cjs/layouts.js.map +1 -1
- package/dist/cjs/managers.js +2 -2
- package/dist/cjs/overlayManager.js +9 -4
- package/dist/cjs/overlayManager.js.map +1 -1
- package/dist/cjs/{react-select-creatable.esm-b39742a3.js → react-select-creatable.esm-23eddf9f.js} +130 -367
- package/dist/cjs/react-select-creatable.esm-23eddf9f.js.map +1 -0
- package/dist/cjs/{useOverlayManager-359ed795.js → useOverlayManager-1de0435e.js} +37 -75
- package/dist/cjs/useOverlayManager-1de0435e.js.map +1 -0
- package/dist/cjs/{useQueryParams-14f054b3.js → useQueryParams-a8ee2f76.js} +9 -5
- package/dist/cjs/useQueryParams-a8ee2f76.js.map +1 -0
- package/dist/formik/ActionBlock.js +7 -8
- package/dist/formik/ActionBlock.js.map +1 -1
- package/dist/formik/BlockNavigation.js +23 -13
- package/dist/formik/BlockNavigation.js.map +1 -1
- package/dist/formik/Button.js +7 -8
- package/dist/formik/Button.js.map +1 -1
- package/dist/formik/Checkbox.js +22 -13
- package/dist/formik/Checkbox.js.map +1 -1
- package/dist/formik/Form.js +13 -14
- package/dist/formik/Form.js.map +1 -1
- package/dist/formik/Input.js +21 -12
- package/dist/formik/Input.js.map +1 -1
- package/dist/formik/MultiEmailInput.js +41 -12
- package/dist/formik/MultiEmailInput.js.map +1 -1
- package/dist/formik/Radio.js +23 -14
- package/dist/formik/Radio.js.map +1 -1
- package/dist/formik/Select.js +40 -12
- package/dist/formik/Select.js.map +1 -1
- package/dist/formik/Slider.js +23 -14
- package/dist/formik/Slider.js.map +1 -1
- package/dist/formik/Switch.js +22 -13
- package/dist/formik/Switch.js.map +1 -1
- package/dist/formik/Textarea.js +22 -13
- package/dist/formik/Textarea.js.map +1 -1
- package/dist/formik/TreeSelect.js +21 -11
- package/dist/formik/TreeSelect.js.map +1 -1
- package/dist/formik/index.js +45 -16
- package/dist/formik/index.js.map +1 -1
- package/dist/index-9d5142b4.js +145 -0
- package/dist/index-9d5142b4.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.js +47 -18
- package/dist/index.js.map +1 -1
- package/dist/layouts.js +16 -11
- package/dist/layouts.js.map +1 -1
- package/dist/managers.js +2 -2
- package/dist/overlayManager.js +2 -2
- package/dist/{react-select-creatable.esm-93affeca.js → react-select-creatable.esm-ad71b0c0.js} +43 -289
- package/dist/react-select-creatable.esm-ad71b0c0.js.map +1 -0
- package/dist/{useOverlayManager-95a474d5.js → useOverlayManager-9d385819.js} +9 -54
- package/dist/useOverlayManager-9d385819.js.map +1 -0
- package/dist/{useQueryParams-4e7ddcf8.js → useQueryParams-dcb34865.js} +4 -4
- package/dist/{useQueryParams-4e7ddcf8.js.map → useQueryParams-dcb34865.js.map} +1 -1
- package/package.json +13 -6
- package/types/Label.d.ts +7 -0
- package/dist/cjs/createClass-80e17c6a.js +0 -31
- package/dist/cjs/createClass-80e17c6a.js.map +0 -1
- package/dist/cjs/defineProperty-ee86604b.js +0 -21
- package/dist/cjs/defineProperty-ee86604b.js.map +0 -1
- package/dist/cjs/extends-1b35a664.js +0 -19
- package/dist/cjs/extends-1b35a664.js.map +0 -1
- package/dist/cjs/index-302c3d37.js +0 -58
- package/dist/cjs/index-302c3d37.js.map +0 -1
- package/dist/cjs/index-5d74cfeb.js +0 -375
- package/dist/cjs/index-5d74cfeb.js.map +0 -1
- package/dist/cjs/index-6e09c7bc.js +0 -2211
- package/dist/cjs/index-6e09c7bc.js.map +0 -1
- package/dist/cjs/index-773961dd.js +0 -453
- package/dist/cjs/index-773961dd.js.map +0 -1
- package/dist/cjs/index-a8cc581e.js +0 -2383
- package/dist/cjs/index-a8cc581e.js.map +0 -1
- package/dist/cjs/index-becc6543.js +0 -262
- package/dist/cjs/index-becc6543.js.map +0 -1
- package/dist/cjs/objectWithoutProperties-2fed2d7d.js +0 -33
- package/dist/cjs/objectWithoutProperties-2fed2d7d.js.map +0 -1
- package/dist/cjs/react-select-creatable.esm-b39742a3.js.map +0 -1
- package/dist/cjs/slicedToArray-732a2048.js +0 -63
- package/dist/cjs/slicedToArray-732a2048.js.map +0 -1
- package/dist/cjs/toConsumableArray-418424fc.js +0 -23
- package/dist/cjs/toConsumableArray-418424fc.js.map +0 -1
- package/dist/cjs/toPropertyKey-bfa2e465.js +0 -31
- package/dist/cjs/toPropertyKey-bfa2e465.js.map +0 -1
- package/dist/cjs/useOverlayManager-359ed795.js.map +0 -1
- package/dist/cjs/useQueryParams-14f054b3.js.map +0 -1
- package/dist/createClass-601a36b2.js +0 -28
- package/dist/createClass-601a36b2.js.map +0 -1
- package/dist/defineProperty-e5245270.js +0 -19
- package/dist/defineProperty-e5245270.js.map +0 -1
- package/dist/extends-093996c9.js +0 -17
- package/dist/extends-093996c9.js.map +0 -1
- package/dist/index-34956d66.js +0 -372
- package/dist/index-34956d66.js.map +0 -1
- package/dist/index-3659771d.js +0 -56
- package/dist/index-3659771d.js.map +0 -1
- package/dist/index-661b9fd6.js +0 -253
- package/dist/index-661b9fd6.js.map +0 -1
- package/dist/index-7fae3611.js +0 -2381
- package/dist/index-7fae3611.js.map +0 -1
- package/dist/index-c442518b.js +0 -445
- package/dist/index-c442518b.js.map +0 -1
- package/dist/index-c8d9113c.js +0 -2193
- package/dist/index-c8d9113c.js.map +0 -1
- package/dist/objectWithoutProperties-a0edb288.js +0 -31
- package/dist/objectWithoutProperties-a0edb288.js.map +0 -1
- package/dist/react-select-creatable.esm-93affeca.js.map +0 -1
- package/dist/slicedToArray-45fa766e.js +0 -57
- package/dist/slicedToArray-45fa766e.js.map +0 -1
- package/dist/toConsumableArray-1186e144.js +0 -20
- package/dist/toConsumableArray-1186e144.js.map +0 -1
- package/dist/toPropertyKey-bdc24cb9.js +0 -28
- package/dist/toPropertyKey-bdc24cb9.js.map +0 -1
- package/dist/useOverlayManager-95a474d5.js.map +0 -1
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _extends = require('
|
|
3
|
+
var _extends = require('@babel/runtime/helpers/extends');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var
|
|
5
|
+
var classnames = require('classnames');
|
|
6
6
|
var formik = require('formik');
|
|
7
7
|
var Button = require('../Button.js');
|
|
8
8
|
var formik_Button = require('./Button.js');
|
|
9
|
-
require('
|
|
10
|
-
require('
|
|
11
|
-
require('../objectWithoutProperties-2fed2d7d.js');
|
|
9
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
10
|
+
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
12
11
|
require('react-router-dom');
|
|
13
12
|
require('../motion-a1906aff.js');
|
|
14
|
-
require('../
|
|
15
|
-
require('
|
|
13
|
+
require('../Tooltip.js');
|
|
14
|
+
require('@babel/runtime/helpers/slicedToArray');
|
|
15
|
+
require('@tippyjs/react');
|
|
16
16
|
require('tippy.js');
|
|
17
|
-
require('react-dom');
|
|
18
17
|
require('ramda');
|
|
19
18
|
|
|
20
19
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
20
|
|
|
21
|
+
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
22
22
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
23
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
23
24
|
|
|
24
25
|
var POSITIONS = {
|
|
25
26
|
left: "left",
|
|
@@ -38,7 +39,7 @@ var ActionBlock = function ActionBlock(_ref) {
|
|
|
38
39
|
dirty = _useFormikContext.dirty;
|
|
39
40
|
var isSubmitting = isFormSubmitting !== null && isFormSubmitting !== void 0 ? isFormSubmitting : isFormikSubmitting;
|
|
40
41
|
var isButtonPositionRight = position === POSITIONS.right;
|
|
41
|
-
var cancelButton = /*#__PURE__*/React__default["default"].createElement(Button,
|
|
42
|
+
var cancelButton = /*#__PURE__*/React__default["default"].createElement(Button, _extends__default["default"]({
|
|
42
43
|
"data-cy": "cancel-button",
|
|
43
44
|
"data-test-id": "cancel-button",
|
|
44
45
|
disabled: isSubmitting,
|
|
@@ -49,7 +50,7 @@ var ActionBlock = function ActionBlock(_ref) {
|
|
|
49
50
|
return e.preventDefault();
|
|
50
51
|
}
|
|
51
52
|
}, cancelButtonProps));
|
|
52
|
-
var submitButton = /*#__PURE__*/React__default["default"].createElement(formik_Button,
|
|
53
|
+
var submitButton = /*#__PURE__*/React__default["default"].createElement(formik_Button, _extends__default["default"]({
|
|
53
54
|
"data-cy": "save-changes-button",
|
|
54
55
|
"data-test-id": "save-changes-button",
|
|
55
56
|
disabled: isSubmitting || !dirty,
|
|
@@ -59,7 +60,7 @@ var ActionBlock = function ActionBlock(_ref) {
|
|
|
59
60
|
type: "submit"
|
|
60
61
|
}, submitButtonProps));
|
|
61
62
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
62
|
-
className:
|
|
63
|
+
className: classnames__default["default"](["neeto-ui-action-block__wrapper", {
|
|
63
64
|
"justify-end": isButtonPositionRight
|
|
64
65
|
}, className])
|
|
65
66
|
}, isButtonPositionRight ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, cancelButton, submitButton) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, submitButton, cancelButton));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBlock.js","sources":["../../../src/formik/ActionBlock.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport Button from \"components/Button\";\n\nimport SubmitButton from \"./Button\";\n\nconst POSITIONS = { left: \"left\", right: \"right\" };\n\nconst ActionBlock = ({\n className,\n submitButtonProps,\n cancelButtonProps,\n isSubmitting: isFormSubmitting,\n position = POSITIONS.left,\n}) => {\n const {\n handleReset,\n isSubmitting: isFormikSubmitting,\n dirty,\n } = useFormikContext();\n\n const isSubmitting = isFormSubmitting ?? isFormikSubmitting;\n const isButtonPositionRight = position === POSITIONS.right;\n\n const cancelButton = (\n <Button\n data-cy=\"cancel-button\"\n data-test-id=\"cancel-button\"\n disabled={isSubmitting}\n label=\"Cancel\"\n style=\"text\"\n onClick={handleReset}\n onMouseDown={e => e.preventDefault()}\n {...cancelButtonProps}\n />\n );\n\n const submitButton = (\n <SubmitButton\n data-cy=\"save-changes-button\"\n data-test-id=\"save-changes-button\"\n disabled={isSubmitting || !dirty}\n label=\"Save changes\"\n loading={isSubmitting}\n style=\"primary\"\n type=\"submit\"\n {...submitButtonProps}\n />\n );\n\n return (\n <div\n className={classnames([\n \"neeto-ui-action-block__wrapper\",\n { \"justify-end\": isButtonPositionRight },\n className,\n ])}\n >\n {isButtonPositionRight ? (\n <>\n {cancelButton}\n {submitButton}\n </>\n ) : (\n <>\n {submitButton}\n {cancelButton}\n </>\n )}\n </div>\n );\n};\n\nActionBlock.propTypes = {\n /**\n * To specify additional classnames for action block.\n */\n className: PropTypes.string,\n /**\n * To provide props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To provide props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Optional prop to specify the state of form submission, typically used to provide React Query mutation loading state. If not provided, Formik's `isSubmitting` prop is used.\n */\n isSubmitting: PropTypes.bool,\n /**\n * Determines the alignment of buttons in ActionBlock components. Set to `right` when using ActionBlock to right-align both buttons. Defaults to `left`, left-aligning both buttons.\n */\n position: PropTypes.oneOf(Object.values(POSITIONS)),\n};\n\nexport default ActionBlock;\n"],"names":["POSITIONS","left","right","ActionBlock","_ref","className","submitButtonProps","cancelButtonProps","isFormSubmitting","isSubmitting","_ref$position","position","_useFormikContext","useFormikContext","handleReset","isFormikSubmitting","dirty","isButtonPositionRight","cancelButton","React","createElement","Button","_extends","disabled","label","style","onClick","onMouseDown","e","preventDefault","submitButton","SubmitButton","loading","type","classnames","Fragment"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionBlock.js","sources":["../../../src/formik/ActionBlock.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport Button from \"components/Button\";\n\nimport SubmitButton from \"./Button\";\n\nconst POSITIONS = { left: \"left\", right: \"right\" };\n\nconst ActionBlock = ({\n className,\n submitButtonProps,\n cancelButtonProps,\n isSubmitting: isFormSubmitting,\n position = POSITIONS.left,\n}) => {\n const {\n handleReset,\n isSubmitting: isFormikSubmitting,\n dirty,\n } = useFormikContext();\n\n const isSubmitting = isFormSubmitting ?? isFormikSubmitting;\n const isButtonPositionRight = position === POSITIONS.right;\n\n const cancelButton = (\n <Button\n data-cy=\"cancel-button\"\n data-test-id=\"cancel-button\"\n disabled={isSubmitting}\n label=\"Cancel\"\n style=\"text\"\n onClick={handleReset}\n onMouseDown={e => e.preventDefault()}\n {...cancelButtonProps}\n />\n );\n\n const submitButton = (\n <SubmitButton\n data-cy=\"save-changes-button\"\n data-test-id=\"save-changes-button\"\n disabled={isSubmitting || !dirty}\n label=\"Save changes\"\n loading={isSubmitting}\n style=\"primary\"\n type=\"submit\"\n {...submitButtonProps}\n />\n );\n\n return (\n <div\n className={classnames([\n \"neeto-ui-action-block__wrapper\",\n { \"justify-end\": isButtonPositionRight },\n className,\n ])}\n >\n {isButtonPositionRight ? (\n <>\n {cancelButton}\n {submitButton}\n </>\n ) : (\n <>\n {submitButton}\n {cancelButton}\n </>\n )}\n </div>\n );\n};\n\nActionBlock.propTypes = {\n /**\n * To specify additional classnames for action block.\n */\n className: PropTypes.string,\n /**\n * To provide props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To provide props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Optional prop to specify the state of form submission, typically used to provide React Query mutation loading state. If not provided, Formik's `isSubmitting` prop is used.\n */\n isSubmitting: PropTypes.bool,\n /**\n * Determines the alignment of buttons in ActionBlock components. Set to `right` when using ActionBlock to right-align both buttons. Defaults to `left`, left-aligning both buttons.\n */\n position: PropTypes.oneOf(Object.values(POSITIONS)),\n};\n\nexport default ActionBlock;\n"],"names":["POSITIONS","left","right","ActionBlock","_ref","className","submitButtonProps","cancelButtonProps","isFormSubmitting","isSubmitting","_ref$position","position","_useFormikContext","useFormikContext","handleReset","isFormikSubmitting","dirty","isButtonPositionRight","cancelButton","React","createElement","Button","_extends","disabled","label","style","onClick","onMouseDown","e","preventDefault","submitButton","SubmitButton","loading","type","classnames","Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAMA,SAAS,GAAG;AAAEC,EAAAA,IAAI,EAAE,MAAM;AAAEC,EAAAA,KAAK,EAAE,OAAA;AAAQ,CAAC,CAAA;AAElD,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAMX;AAAA,EAAA,IALJC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,iBAAiB,GAAAF,IAAA,CAAjBE,iBAAiB;IACjBC,iBAAiB,GAAAH,IAAA,CAAjBG,iBAAiB;IACHC,gBAAgB,GAAAJ,IAAA,CAA9BK,YAAY;IAAAC,aAAA,GAAAN,IAAA,CACZO,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,KAAA,CAAA,GAAGV,SAAS,CAACC,IAAI,GAAAS,aAAA,CAAA;EAEzB,IAAAE,iBAAA,GAIIC,uBAAgB,EAAE;IAHpBC,WAAW,GAAAF,iBAAA,CAAXE,WAAW;IACGC,kBAAkB,GAAAH,iBAAA,CAAhCH,YAAY;IACZO,KAAK,GAAAJ,iBAAA,CAALI,KAAK,CAAA;EAGP,IAAMP,YAAY,GAAGD,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAhBA,KAAAA,CAAAA,GAAAA,gBAAgB,GAAIO,kBAAkB,CAAA;AAC3D,EAAA,IAAME,qBAAqB,GAAGN,QAAQ,KAAKX,SAAS,CAACE,KAAK,CAAA;EAE1D,IAAMgB,YAAY,gBAChBC,yBAAA,CAAAC,aAAA,CAACC,MAAM,EAAAC,4BAAA,CAAA;AACL,IAAA,SAAA,EAAQ,eAAe;AACvB,IAAA,cAAA,EAAa,eAAe;AAC5BC,IAAAA,QAAQ,EAAEd,YAAa;AACvBe,IAAAA,KAAK,EAAC,QAAQ;AACdC,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,OAAO,EAAEZ,WAAY;IACrBa,WAAW,EAAE,SAAAA,WAAAA,CAAAC,CAAC,EAAA;MAAA,OAAIA,CAAC,CAACC,cAAc,EAAE,CAAA;AAAA,KAAA;AAAC,GAAA,EACjCtB,iBAAiB,CAExB,CAAA,CAAA;EAED,IAAMuB,YAAY,gBAChBX,yBAAA,CAAAC,aAAA,CAACW,aAAY,EAAAT,4BAAA,CAAA;AACX,IAAA,SAAA,EAAQ,qBAAqB;AAC7B,IAAA,cAAA,EAAa,qBAAqB;AAClCC,IAAAA,QAAQ,EAAEd,YAAY,IAAI,CAACO,KAAM;AACjCQ,IAAAA,KAAK,EAAC,cAAc;AACpBQ,IAAAA,OAAO,EAAEvB,YAAa;AACtBgB,IAAAA,KAAK,EAAC,SAAS;AACfQ,IAAAA,IAAI,EAAC,QAAA;AAAQ,GAAA,EACT3B,iBAAiB,CAExB,CAAA,CAAA;EAED,oBACEa,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEf,IAAAA,SAAS,EAAE6B,8BAAU,CAAC,CACpB,gCAAgC,EAChC;AAAE,MAAA,aAAa,EAAEjB,qBAAAA;KAAuB,EACxCZ,SAAS,CACV,CAAA;GAEAY,EAAAA,qBAAqB,gBACpBE,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAgB,QAAA,EACGjB,IAAAA,EAAAA,YAAY,EACZY,YAAY,CACZ,gBAEHX,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAgB,QAAA,EAAA,IAAA,EACGL,YAAY,EACZZ,YAAY,CAEhB,CACG,CAAA;AAEV;;;;"}
|
|
@@ -1,42 +1,55 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _extends = require('
|
|
4
|
-
var
|
|
3
|
+
var _extends = require('@babel/runtime/helpers/extends');
|
|
4
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var formik = require('formik');
|
|
7
7
|
var Alert = require('../Alert.js');
|
|
8
|
-
var
|
|
8
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
9
9
|
var reactRouterDom = require('react-router-dom');
|
|
10
|
-
require('
|
|
10
|
+
require('@bigbinary/neeto-hotkeys');
|
|
11
11
|
require('../overlayManager.js');
|
|
12
|
-
require('../index-
|
|
12
|
+
require('../index-f2e36d91.js');
|
|
13
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
14
|
+
require('qs');
|
|
13
15
|
require('../Button.js');
|
|
14
|
-
require('
|
|
15
|
-
require('../toPropertyKey-bfa2e465.js');
|
|
16
|
-
require('../index-302c3d37.js');
|
|
16
|
+
require('classnames');
|
|
17
17
|
require('../motion-a1906aff.js');
|
|
18
|
-
require('../
|
|
18
|
+
require('../Tooltip.js');
|
|
19
|
+
require('@tippyjs/react');
|
|
19
20
|
require('tippy.js');
|
|
20
|
-
require('react-dom');
|
|
21
21
|
require('../Modal.js');
|
|
22
22
|
require('@bigbinary/neeto-icons');
|
|
23
|
-
require('../useOverlayManager-
|
|
23
|
+
require('../useOverlayManager-1de0435e.js');
|
|
24
|
+
require('@babel/runtime/helpers/esm/extends');
|
|
25
|
+
require('@babel/runtime/helpers/esm/objectWithoutPropertiesLoose');
|
|
26
|
+
require('@babel/runtime/helpers/esm/inheritsLoose');
|
|
24
27
|
require('../index-63580e68.js');
|
|
28
|
+
require('react-dom');
|
|
29
|
+
require('@babel/runtime/helpers/esm/assertThisInitialized');
|
|
25
30
|
require('ramda');
|
|
26
31
|
require('../Typography.js');
|
|
27
|
-
require('
|
|
32
|
+
require('@babel/runtime/helpers/classCallCheck');
|
|
33
|
+
require('@babel/runtime/helpers/createClass');
|
|
34
|
+
require('dayjs');
|
|
35
|
+
require('dayjs/plugin/localeData');
|
|
36
|
+
require('dayjs/plugin/utc');
|
|
37
|
+
require('dayjs/plugin/weekday');
|
|
38
|
+
require('dayjs/plugin/weekOfYear');
|
|
28
39
|
require('@bigbinary/neeto-cist');
|
|
29
|
-
require('util');
|
|
30
40
|
|
|
31
41
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
32
42
|
|
|
43
|
+
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
44
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
33
45
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
46
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
34
47
|
|
|
35
48
|
var useNavPrompt = function useNavPrompt(_ref) {
|
|
36
49
|
var _ref$shouldBlock = _ref.shouldBlock,
|
|
37
50
|
shouldBlock = _ref$shouldBlock === void 0 ? true : _ref$shouldBlock;
|
|
38
51
|
var _useState = React.useState(false),
|
|
39
|
-
_useState2 =
|
|
52
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
40
53
|
isBlocked = _useState2[0],
|
|
41
54
|
setIsBlocked = _useState2[1];
|
|
42
55
|
var history = reactRouterDom.useHistory();
|
|
@@ -100,7 +113,7 @@ var _excluded = ["isDirty"];
|
|
|
100
113
|
var BlockNavigation = function BlockNavigation(_ref) {
|
|
101
114
|
var _ref$isDirty = _ref.isDirty,
|
|
102
115
|
isDirty = _ref$isDirty === void 0 ? false : _ref$isDirty,
|
|
103
|
-
otherProps =
|
|
116
|
+
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
104
117
|
var formikContext = formik.useFormikContext();
|
|
105
118
|
var shouldBlock = isDirty || Boolean(formikContext) && Boolean(formikContext.dirty);
|
|
106
119
|
var _useNavPrompt = useNavPrompt({
|
|
@@ -113,7 +126,7 @@ var BlockNavigation = function BlockNavigation(_ref) {
|
|
|
113
126
|
if (formikContext) formikContext.resetForm();
|
|
114
127
|
continueNavigation();
|
|
115
128
|
};
|
|
116
|
-
return /*#__PURE__*/React__default["default"].createElement(Alert,
|
|
129
|
+
return /*#__PURE__*/React__default["default"].createElement(Alert, _extends__default["default"]({
|
|
117
130
|
isOpen: isBlocked,
|
|
118
131
|
message: "All of your unsaved changes will be lost. This can't be undone.",
|
|
119
132
|
submitButtonLabel: "Discard changes",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockNavigation.js","sources":["../../../src/hooks/useNavPrompt.js","../../../src/formik/BlockNavigation.jsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport { useHistory } from \"react-router-dom\";\n\nconst useNavPrompt = ({ shouldBlock = true }) => {\n const [isBlocked, setIsBlocked] = useState(false);\n\n const history = useHistory();\n const unblockRef = useRef();\n const navRef = useRef();\n\n const continueNavigation = () => {\n if (isBlocked && unblockRef.current) {\n unblockRef.current?.();\n setIsBlocked(false);\n if (navRef.current) {\n const { action, transition } = navRef.current;\n handleNavigation(action, transition);\n }\n }\n };\n\n const hidePrompt = () => setIsBlocked(false);\n\n const handleNavigation = (action, transition) => {\n switch (action) {\n case \"PUSH\":\n history.push(transition);\n break;\n case \"REPLACE\":\n history.replace(transition);\n break;\n case \"POP\":\n history.goBack();\n break;\n }\n };\n\n useEffect(() => {\n if (shouldBlock) {\n unblockRef.current = history.block((transition, action) => {\n setIsBlocked(true);\n navRef.current = { transition, action };\n\n return false;\n });\n\n return () => {\n if (unblockRef.current) {\n unblockRef.current();\n }\n };\n }\n\n return undefined;\n }, [shouldBlock]);\n\n return { isBlocked, continueNavigation, hidePrompt };\n};\n\nexport default useNavPrompt;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport Alert from \"components/Alert\";\nimport { useNavPrompt } from \"hooks\";\n\nconst BlockNavigation = ({ isDirty = false, ...otherProps }) => {\n const formikContext = useFormikContext();\n const shouldBlock =\n isDirty || (Boolean(formikContext) && Boolean(formikContext.dirty));\n\n const { isBlocked, continueNavigation, hidePrompt } = useNavPrompt({\n shouldBlock,\n });\n\n const continueAction = () => {\n if (formikContext) formikContext.resetForm();\n continueNavigation();\n };\n\n return (\n <Alert\n isOpen={isBlocked}\n message=\"All of your unsaved changes will be lost. This can't be undone.\"\n submitButtonLabel=\"Discard changes\"\n title=\"You have unsaved changes\"\n onClose={hidePrompt}\n onSubmit={continueAction}\n {...otherProps}\n />\n );\n};\n\nBlockNavigation.propTypes = {\n isDirty: PropTypes.bool,\n message: PropTypes.string,\n title: PropTypes.string,\n submitButtonLabel: PropTypes.string,\n};\n\nexport default BlockNavigation;\n"],"names":["useNavPrompt","_ref","_ref$shouldBlock","shouldBlock","_useState","useState","_useState2","_slicedToArray","isBlocked","setIsBlocked","history","useHistory","unblockRef","useRef","navRef","continueNavigation","current","_unblockRef$current","call","_navRef$current","action","transition","handleNavigation","hidePrompt","push","replace","goBack","useEffect","block","undefined","BlockNavigation","_ref$isDirty","isDirty","otherProps","_objectWithoutProperties","_excluded","formikContext","useFormikContext","Boolean","dirty","_useNavPrompt","continueAction","resetForm","React","createElement","Alert","_extends","isOpen","message","submitButtonLabel","title","onClose","onSubmit"],"mappings":"
|
|
1
|
+
{"version":3,"file":"BlockNavigation.js","sources":["../../../src/hooks/useNavPrompt.js","../../../src/formik/BlockNavigation.jsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport { useHistory } from \"react-router-dom\";\n\nconst useNavPrompt = ({ shouldBlock = true }) => {\n const [isBlocked, setIsBlocked] = useState(false);\n\n const history = useHistory();\n const unblockRef = useRef();\n const navRef = useRef();\n\n const continueNavigation = () => {\n if (isBlocked && unblockRef.current) {\n unblockRef.current?.();\n setIsBlocked(false);\n if (navRef.current) {\n const { action, transition } = navRef.current;\n handleNavigation(action, transition);\n }\n }\n };\n\n const hidePrompt = () => setIsBlocked(false);\n\n const handleNavigation = (action, transition) => {\n switch (action) {\n case \"PUSH\":\n history.push(transition);\n break;\n case \"REPLACE\":\n history.replace(transition);\n break;\n case \"POP\":\n history.goBack();\n break;\n }\n };\n\n useEffect(() => {\n if (shouldBlock) {\n unblockRef.current = history.block((transition, action) => {\n setIsBlocked(true);\n navRef.current = { transition, action };\n\n return false;\n });\n\n return () => {\n if (unblockRef.current) {\n unblockRef.current();\n }\n };\n }\n\n return undefined;\n }, [shouldBlock]);\n\n return { isBlocked, continueNavigation, hidePrompt };\n};\n\nexport default useNavPrompt;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport Alert from \"components/Alert\";\nimport { useNavPrompt } from \"hooks\";\n\nconst BlockNavigation = ({ isDirty = false, ...otherProps }) => {\n const formikContext = useFormikContext();\n const shouldBlock =\n isDirty || (Boolean(formikContext) && Boolean(formikContext.dirty));\n\n const { isBlocked, continueNavigation, hidePrompt } = useNavPrompt({\n shouldBlock,\n });\n\n const continueAction = () => {\n if (formikContext) formikContext.resetForm();\n continueNavigation();\n };\n\n return (\n <Alert\n isOpen={isBlocked}\n message=\"All of your unsaved changes will be lost. This can't be undone.\"\n submitButtonLabel=\"Discard changes\"\n title=\"You have unsaved changes\"\n onClose={hidePrompt}\n onSubmit={continueAction}\n {...otherProps}\n />\n );\n};\n\nBlockNavigation.propTypes = {\n isDirty: PropTypes.bool,\n message: PropTypes.string,\n title: PropTypes.string,\n submitButtonLabel: PropTypes.string,\n};\n\nexport default BlockNavigation;\n"],"names":["useNavPrompt","_ref","_ref$shouldBlock","shouldBlock","_useState","useState","_useState2","_slicedToArray","isBlocked","setIsBlocked","history","useHistory","unblockRef","useRef","navRef","continueNavigation","current","_unblockRef$current","call","_navRef$current","action","transition","handleNavigation","hidePrompt","push","replace","goBack","useEffect","block","undefined","BlockNavigation","_ref$isDirty","isDirty","otherProps","_objectWithoutProperties","_excluded","formikContext","useFormikContext","Boolean","dirty","_useNavPrompt","continueAction","resetForm","React","createElement","Alert","_extends","isOpen","message","submitButtonLabel","title","onClose","onSubmit"],"mappings":"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"}
|
|
@@ -1,29 +1,30 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _extends = require('
|
|
4
|
-
var
|
|
3
|
+
var _extends = require('@babel/runtime/helpers/extends');
|
|
4
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var formik = require('formik');
|
|
7
7
|
var ramda = require('ramda');
|
|
8
8
|
var Button = require('../Button.js');
|
|
9
|
-
require('
|
|
10
|
-
require('
|
|
11
|
-
require('../index-302c3d37.js');
|
|
9
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
10
|
+
require('classnames');
|
|
12
11
|
require('react-router-dom');
|
|
13
12
|
require('../motion-a1906aff.js');
|
|
14
|
-
require('../
|
|
15
|
-
require('
|
|
13
|
+
require('../Tooltip.js');
|
|
14
|
+
require('@babel/runtime/helpers/slicedToArray');
|
|
15
|
+
require('@tippyjs/react');
|
|
16
16
|
require('tippy.js');
|
|
17
|
-
require('react-dom');
|
|
18
17
|
|
|
19
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
19
|
|
|
20
|
+
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
21
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
21
22
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
22
23
|
|
|
23
24
|
var _excluded = ["disabled"];
|
|
24
25
|
var FormikButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
25
26
|
var disabled = _ref.disabled,
|
|
26
|
-
otherProps =
|
|
27
|
+
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
27
28
|
var _useFormikContext = formik.useFormikContext(),
|
|
28
29
|
handleSubmit = _useFormikContext.handleSubmit,
|
|
29
30
|
isSubmitting = _useFormikContext.isSubmitting,
|
|
@@ -31,7 +32,7 @@ var FormikButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
31
32
|
initialValues = _useFormikContext.initialValues,
|
|
32
33
|
isValid = _useFormikContext.isValid;
|
|
33
34
|
var isDisabled = disabled !== null && disabled !== void 0 ? disabled : isSubmitting || ramda.equals(values, initialValues);
|
|
34
|
-
return /*#__PURE__*/React__default["default"].createElement(Button,
|
|
35
|
+
return /*#__PURE__*/React__default["default"].createElement(Button, _extends__default["default"]({
|
|
35
36
|
ref: ref,
|
|
36
37
|
disabled: isDisabled,
|
|
37
38
|
loading: isSubmitting && isValid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../../src/formik/Button.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { equals } from \"ramda\";\n\nimport Button from \"components/Button\";\n\nconst FormikButton = forwardRef(({ disabled, ...otherProps }, ref) => {\n const { handleSubmit, isSubmitting, values, initialValues, isValid } =\n useFormikContext();\n\n const isDisabled =\n disabled ?? (isSubmitting || equals(values, initialValues));\n\n return (\n <Button\n {...{ ref }}\n disabled={isDisabled}\n loading={isSubmitting && isValid}\n onClick={handleSubmit}\n {...otherProps}\n />\n );\n});\n\nFormikButton.displayName = \"FormikButton\";\n\nexport default FormikButton;\n"],"names":["FormikButton","forwardRef","_ref","ref","disabled","otherProps","_objectWithoutProperties","_excluded","_useFormikContext","useFormikContext","handleSubmit","isSubmitting","values","initialValues","isValid","isDisabled","equals","React","createElement","Button","_extends","loading","onClick","displayName"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../src/formik/Button.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { equals } from \"ramda\";\n\nimport Button from \"components/Button\";\n\nconst FormikButton = forwardRef(({ disabled, ...otherProps }, ref) => {\n const { handleSubmit, isSubmitting, values, initialValues, isValid } =\n useFormikContext();\n\n const isDisabled =\n disabled ?? (isSubmitting || equals(values, initialValues));\n\n return (\n <Button\n {...{ ref }}\n disabled={isDisabled}\n loading={isSubmitting && isValid}\n onClick={handleSubmit}\n {...otherProps}\n />\n );\n});\n\nFormikButton.displayName = \"FormikButton\";\n\nexport default FormikButton;\n"],"names":["FormikButton","forwardRef","_ref","ref","disabled","otherProps","_objectWithoutProperties","_excluded","_useFormikContext","useFormikContext","handleSubmit","isSubmitting","values","initialValues","isValid","isDisabled","equals","React","createElement","Button","_extends","loading","onClick","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAOMA,IAAAA,YAAY,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAA8BC,GAAG,EAAK;AAAA,EAAA,IAAnCC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;AAAKC,IAAAA,UAAU,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;EACxD,IAAAC,iBAAA,GACEC,uBAAgB,EAAE;IADZC,YAAY,GAAAF,iBAAA,CAAZE,YAAY;IAAEC,YAAY,GAAAH,iBAAA,CAAZG,YAAY;IAAEC,MAAM,GAAAJ,iBAAA,CAANI,MAAM;IAAEC,aAAa,GAAAL,iBAAA,CAAbK,aAAa;IAAEC,OAAO,GAAAN,iBAAA,CAAPM,OAAO,CAAA;AAGlE,EAAA,IAAMC,UAAU,GACdX,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,QAAQ,GAAKO,YAAY,IAAIK,YAAM,CAACJ,MAAM,EAAEC,aAAa,CAAE,CAAA;AAE7D,EAAA,oBACEI,yBAAA,CAAAC,aAAA,CAACC,MAAM,EAAAC,4BAAA,CAAA;AACCjB,IAAAA,GAAG,EAAHA,GAAG;AACTC,IAAAA,QAAQ,EAAEW,UAAW;IACrBM,OAAO,EAAEV,YAAY,IAAIG,OAAQ;AACjCQ,IAAAA,OAAO,EAAEZ,YAAAA;AAAa,GAAA,EAClBL,UAAU,CACd,CAAA,CAAA;AAEN,CAAC,EAAC;AAEFL,YAAY,CAACuB,WAAW,GAAG,cAAc;;;;"}
|
|
@@ -1,46 +1,58 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _extends = require('
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var _extends = require('@babel/runtime/helpers/extends');
|
|
4
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var formik = require('formik');
|
|
8
8
|
var index = require('../index-63580e68.js');
|
|
9
9
|
var Checkbox$1 = require('../Checkbox.js');
|
|
10
|
-
require('
|
|
11
|
-
require('../index-302c3d37.js');
|
|
10
|
+
require('classnames');
|
|
12
11
|
require('../useId-4e3deb5c.js');
|
|
12
|
+
require('@babel/runtime/helpers/slicedToArray');
|
|
13
13
|
require('react-router-dom');
|
|
14
|
-
require('
|
|
15
|
-
require('ramda');
|
|
14
|
+
require('@bigbinary/neeto-hotkeys');
|
|
16
15
|
require('../overlayManager.js');
|
|
17
|
-
require('
|
|
18
|
-
require('
|
|
19
|
-
require('../
|
|
16
|
+
require('@babel/runtime/helpers/classCallCheck');
|
|
17
|
+
require('@babel/runtime/helpers/createClass');
|
|
18
|
+
require('../index-f2e36d91.js');
|
|
19
|
+
require('dayjs');
|
|
20
|
+
require('dayjs/plugin/localeData');
|
|
21
|
+
require('dayjs/plugin/utc');
|
|
22
|
+
require('dayjs/plugin/weekday');
|
|
23
|
+
require('dayjs/plugin/weekOfYear');
|
|
20
24
|
require('@bigbinary/neeto-cist');
|
|
21
|
-
require('
|
|
25
|
+
require('qs');
|
|
26
|
+
require('ramda');
|
|
22
27
|
require('../Label.js');
|
|
23
28
|
require('@bigbinary/neeto-icons');
|
|
24
|
-
require('../
|
|
29
|
+
require('../Button.js');
|
|
30
|
+
require('../motion-a1906aff.js');
|
|
31
|
+
require('../Tooltip.js');
|
|
32
|
+
require('@tippyjs/react');
|
|
25
33
|
require('tippy.js');
|
|
26
|
-
require('
|
|
34
|
+
require('../Popover.js');
|
|
35
|
+
require('../Typography.js');
|
|
27
36
|
|
|
28
37
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
29
38
|
|
|
39
|
+
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
40
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
41
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
30
42
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
31
43
|
|
|
32
44
|
var _excluded = ["name"];
|
|
33
45
|
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; }
|
|
34
|
-
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) {
|
|
46
|
+
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; }
|
|
35
47
|
var Checkbox = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
36
48
|
var name = _ref.name,
|
|
37
|
-
rest =
|
|
49
|
+
rest = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
38
50
|
return /*#__PURE__*/React__default["default"].createElement(formik.Field, {
|
|
39
51
|
name: name
|
|
40
52
|
}, function (_ref2) {
|
|
41
53
|
var field = _ref2.field,
|
|
42
54
|
meta = _ref2.meta;
|
|
43
|
-
return /*#__PURE__*/React__default["default"].createElement(Checkbox$1,
|
|
55
|
+
return /*#__PURE__*/React__default["default"].createElement(Checkbox$1, _extends__default["default"]({
|
|
44
56
|
checked: field.value
|
|
45
57
|
}, _objectSpread(_objectSpread({}, field), {}, {
|
|
46
58
|
ref: ref
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sources":["../../../src/formik/Checkbox.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { Field } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport CheckboxField from \"components/Checkbox\";\n\nconst Checkbox = forwardRef(({ name, ...rest }, ref) => (\n <Field {...{ name }}>\n {({ field, meta }) => (\n <CheckboxField\n checked={field.value}\n {...{ ...field, ref }}\n error={meta.touched ? meta.error : \"\"}\n {...rest}\n />\n )}\n </Field>\n));\n\nCheckbox.displayName = \"Checkbox\";\n\nCheckbox.propTypes = {\n /**\n * The name of the Checkbox.\n */\n name: PropTypes.string,\n};\n\nexport default Checkbox;\n"],"names":["Checkbox","forwardRef","_ref","ref","name","rest","_objectWithoutProperties","_excluded","React","createElement","Field","_ref2","field","meta","CheckboxField","_extends","checked","value","_objectSpread","error","touched","displayName","propTypes","PropTypes","string"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../../src/formik/Checkbox.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { Field } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport CheckboxField from \"components/Checkbox\";\n\nconst Checkbox = forwardRef(({ name, ...rest }, ref) => (\n <Field {...{ name }}>\n {({ field, meta }) => (\n <CheckboxField\n checked={field.value}\n {...{ ...field, ref }}\n error={meta.touched ? meta.error : \"\"}\n {...rest}\n />\n )}\n </Field>\n));\n\nCheckbox.displayName = \"Checkbox\";\n\nCheckbox.propTypes = {\n /**\n * The name of the Checkbox.\n */\n name: PropTypes.string,\n};\n\nexport default Checkbox;\n"],"names":["Checkbox","forwardRef","_ref","ref","name","rest","_objectWithoutProperties","_excluded","React","createElement","Field","_ref2","field","meta","CheckboxField","_extends","checked","value","_objectSpread","error","touched","displayName","propTypes","PropTypes","string"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,QAAQ,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAAoBC,GAAG,EAAA;AAAA,EAAA,IAApBC,IAAI,GAAAF,IAAA,CAAJE,IAAI;AAAKC,IAAAA,IAAI,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAAA,EAAA,oBAC1CC,yBAAA,CAAAC,aAAA,CAACC,YAAK,EAAA;AAAON,IAAAA,IAAI,EAAJA,IAAAA;AAAI,GAAA,EACd,UAAAO,KAAA,EAAA;AAAA,IAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;MAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI,CAAA;AAAA,IAAA,oBACbL,yBAAA,CAAAC,aAAA,CAACK,UAAa,EAAAC,4BAAA,CAAA;MACZC,OAAO,EAAEJ,KAAK,CAACK,KAAAA;AAAM,KAAA,EAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACZN,KAAK,CAAA,EAAA,EAAA,EAAA;AAAET,MAAAA,GAAG,EAAHA,GAAAA;AAAG,KAAA,CAAA,EAAA;MACnBgB,KAAK,EAAEN,IAAI,CAACO,OAAO,GAAGP,IAAI,CAACM,KAAK,GAAG,EAAA;AAAG,KAAA,EAClCd,IAAI,CACR,CAAA,CAAA;AAAA,GACH,CACK,CAAA;AAAA,CACT,EAAC;AAEFL,QAAQ,CAACqB,WAAW,GAAG,UAAU,CAAA;AAEjCrB,QAAQ,CAACsB,SAAS,GAAG;AACnB;AACF;AACA;EACElB,IAAI,EAAEmB,uBAAS,CAACC,MAAAA;AAClB,CAAC;;;;"}
|
package/dist/cjs/formik/Form.js
CHANGED
|
@@ -2,29 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var formik = require('formik');
|
|
5
|
-
var index
|
|
6
|
-
var _extends = require('
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
5
|
+
var index = require('../index-63580e68.js');
|
|
6
|
+
var _extends = require('@babel/runtime/helpers/extends');
|
|
7
|
+
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
9
|
+
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
10
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
11
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
11
12
|
var ramda = require('ramda');
|
|
12
13
|
|
|
13
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
15
|
|
|
15
16
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
17
|
+
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
18
|
+
var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
|
|
19
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
20
|
+
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
21
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
22
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
16
23
|
|
|
17
24
|
var transformObjectToDotNotation = function transformObjectToDotNotation(object) {
|
|
18
25
|
var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
19
26
|
var result = [];
|
|
20
27
|
Object.entries(object).forEach(function (_ref) {
|
|
21
|
-
var _ref2 =
|
|
28
|
+
var _ref2 = _slicedToArray__default["default"](_ref, 2),
|
|
22
29
|
key = _ref2[0],
|
|
23
30
|
value = _ref2[1];
|
|
24
31
|
if (!value) return;
|
|
25
32
|
var nextKey = prefix ? "".concat(prefix, ".").concat(key) : key;
|
|
26
33
|
if (ramda.is(Object, value)) {
|
|
27
|
-
result.push.apply(result,
|
|
34
|
+
result.push.apply(result, _toConsumableArray__default["default"](transformObjectToDotNotation(value, nextKey)));
|
|
28
35
|
} else {
|
|
29
36
|
result.push(nextKey);
|
|
30
37
|
}
|
|
@@ -58,27 +65,26 @@ var ScrollToErrorField = function ScrollToErrorField(_ref) {
|
|
|
58
65
|
return null;
|
|
59
66
|
};
|
|
60
67
|
|
|
61
|
-
var _excluded = ["
|
|
68
|
+
var _excluded = ["validateForm", "setErrors", "setTouched", "submitForm"];
|
|
62
69
|
var FormWrapper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
63
70
|
var className = _ref.className,
|
|
64
71
|
formProps = _ref.formProps,
|
|
65
72
|
children = _ref.children,
|
|
66
|
-
onSubmit = _ref.onSubmit,
|
|
67
73
|
scrollToErrorField = _ref.scrollToErrorField;
|
|
68
74
|
var _useFormikContext = formik.useFormikContext(),
|
|
69
|
-
values = _useFormikContext.values,
|
|
70
75
|
validateForm = _useFormikContext.validateForm,
|
|
71
76
|
setErrors = _useFormikContext.setErrors,
|
|
72
77
|
setTouched = _useFormikContext.setTouched,
|
|
73
|
-
|
|
78
|
+
submitForm = _useFormikContext.submitForm,
|
|
79
|
+
formikBag = _objectWithoutProperties__default["default"](_useFormikContext, _excluded);
|
|
74
80
|
var isFormDirty = formikBag.dirty,
|
|
75
81
|
isSubmitting = formikBag.isSubmitting;
|
|
76
82
|
var formRefForScrollToErrorField = React.useRef();
|
|
77
83
|
var formRef = ref || formRefForScrollToErrorField;
|
|
78
84
|
var handleKeyDown = React.useCallback( /*#__PURE__*/function () {
|
|
79
|
-
var _ref2 =
|
|
85
|
+
var _ref2 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(event) {
|
|
80
86
|
var isEventFromEditorOrTextarea, errors;
|
|
81
|
-
return
|
|
87
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
82
88
|
while (1) switch (_context.prev = _context.next) {
|
|
83
89
|
case 0:
|
|
84
90
|
isEventFromEditorOrTextarea = event.target.tagName === "TEXTAREA" || event.target.editor;
|
|
@@ -117,7 +123,7 @@ var FormWrapper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
117
123
|
setTouched(errors);
|
|
118
124
|
scrollToErrorField && scrollToError(formRef, errors);
|
|
119
125
|
} else {
|
|
120
|
-
|
|
126
|
+
submitForm();
|
|
121
127
|
}
|
|
122
128
|
_context.next = 20;
|
|
123
129
|
break;
|
|
@@ -135,8 +141,8 @@ var FormWrapper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
135
141
|
return function (_x) {
|
|
136
142
|
return _ref2.apply(this, arguments);
|
|
137
143
|
};
|
|
138
|
-
}(), [
|
|
139
|
-
return /*#__PURE__*/React__default["default"].createElement(formik.Form,
|
|
144
|
+
}(), [validateForm, setErrors, setTouched, isFormDirty, isSubmitting, submitForm]);
|
|
145
|
+
return /*#__PURE__*/React__default["default"].createElement(formik.Form, _extends__default["default"]({
|
|
140
146
|
className: className,
|
|
141
147
|
noValidate: true,
|
|
142
148
|
"data-testid": "neeto-ui-form-wrapper",
|
|
@@ -160,8 +166,7 @@ var Form = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
160
166
|
className: className,
|
|
161
167
|
formProps: formProps,
|
|
162
168
|
ref: ref,
|
|
163
|
-
scrollToErrorField: scrollToErrorField
|
|
164
|
-
onSubmit: formikProps === null || formikProps === void 0 ? void 0 : formikProps.onSubmit
|
|
169
|
+
scrollToErrorField: scrollToErrorField
|
|
165
170
|
}, typeof children === "function" ? children(props) : children);
|
|
166
171
|
});
|
|
167
172
|
});
|
|
@@ -170,27 +175,27 @@ Form.propTypes = {
|
|
|
170
175
|
/**
|
|
171
176
|
* Pass a function to render children or pass the children directly
|
|
172
177
|
**/
|
|
173
|
-
children: index
|
|
178
|
+
children: index.propTypes.exports.node,
|
|
174
179
|
/**
|
|
175
180
|
* Additional classnames to be passed to the form wrapper
|
|
176
181
|
**/
|
|
177
|
-
className: index
|
|
182
|
+
className: index.propTypes.exports.string,
|
|
178
183
|
/**
|
|
179
184
|
* Props to be passed to the Formik component like `initialValues`, `validationSchema`, `onSubmit`
|
|
180
185
|
* Refer to the Formik docs for more details
|
|
181
186
|
* https://formik.org/docs/api/formik
|
|
182
187
|
**/
|
|
183
|
-
formikProps: index
|
|
188
|
+
formikProps: index.propTypes.exports.object,
|
|
184
189
|
/**
|
|
185
190
|
* Props to be passed to the form element like `className`.
|
|
186
191
|
* Refer to the Formik docs for more details
|
|
187
192
|
* https://formik.org/docs/api/form
|
|
188
193
|
**/
|
|
189
|
-
formProps: index
|
|
194
|
+
formProps: index.propTypes.exports.object,
|
|
190
195
|
/**
|
|
191
196
|
* Props to be passed for scrolling to error field on submit button click.
|
|
192
197
|
**/
|
|
193
|
-
scrollToErrorField: index
|
|
198
|
+
scrollToErrorField: index.propTypes.exports.bool
|
|
194
199
|
};
|
|
195
200
|
|
|
196
201
|
module.exports = Form;
|
|
@@ -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, onSubmit, scrollToErrorField }, ref) => {\n const { values, validateForm, setErrors, setTouched, ...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 onSubmit(values, formikBag);\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 values,\n validateForm,\n setErrors,\n setTouched,\n onSubmit,\n isFormDirty,\n isSubmitting,\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 onSubmit: PropTypes.func,\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\n {...{ className, formProps, ref, scrollToErrorField }}\n onSubmit={formikProps?.onSubmit}\n >\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","onSubmit","scrollToErrorField","values","validateForm","setErrors","setTouched","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 { 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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"}
|