@bigbinary/neetoui 8.3.0-beta2 → 8.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/ActionDropdown.js +7 -6
- package/dist/ActionDropdown.js.map +1 -1
- package/dist/Alert.js +9 -9
- package/dist/Alert.js.map +1 -1
- package/dist/Avatar.js +1 -0
- package/dist/Avatar.js.map +1 -1
- package/dist/Button.js +5 -52
- package/dist/Button.js.map +1 -1
- package/dist/Checkbox.js +6 -5
- package/dist/Checkbox.js.map +1 -1
- package/dist/ColorPicker.js +147 -51
- package/dist/ColorPicker.js.map +1 -1
- package/dist/DatePicker.js +18 -19
- package/dist/DatePicker.js.map +1 -1
- package/dist/Dropdown.js +4 -3
- package/dist/Dropdown.js.map +1 -1
- package/dist/Input.js +14 -10
- package/dist/Input.js.map +1 -1
- package/dist/Kbd.js +1 -0
- package/dist/Kbd.js.map +1 -1
- package/dist/Label.js +72 -55
- package/dist/Label.js.map +1 -1
- package/dist/Modal.js +21 -8
- package/dist/Modal.js.map +1 -1
- package/dist/MultiEmailInput.js +98 -60
- package/dist/MultiEmailInput.js.map +1 -1
- package/dist/NoData.js +1 -2
- package/dist/NoData.js.map +1 -1
- package/dist/Pagination.js +5 -5
- package/dist/Pane.js +58 -22
- package/dist/Pane.js.map +1 -1
- package/dist/ProgressBar.js +1 -0
- package/dist/ProgressBar.js.map +1 -1
- package/dist/Radio.js +11 -8
- package/dist/Radio.js.map +1 -1
- package/dist/Select.js +52 -22
- package/dist/Select.js.map +1 -1
- package/dist/Sidebar.js +6 -4
- package/dist/Sidebar.js.map +1 -1
- package/dist/Slider.js +6 -5
- package/dist/Slider.js.map +1 -1
- package/dist/Stepper.js +1 -0
- package/dist/Stepper.js.map +1 -1
- package/dist/Switch.js +9 -5
- package/dist/Switch.js.map +1 -1
- package/dist/Table.js +358 -194
- package/dist/Table.js.map +1 -1
- package/dist/{Textarea-67a30930.js → Textarea-TKn0l0RC.js} +5 -4
- package/dist/Textarea-TKn0l0RC.js.map +1 -0
- package/dist/Textarea.js +7 -6
- package/dist/Textarea.js.map +1 -1
- package/dist/TimePicker.js +16 -17
- package/dist/TimePicker.js.map +1 -1
- package/dist/Toastr.js +45 -23
- package/dist/Toastr.js.map +1 -1
- package/dist/Tooltip.js +17 -11
- package/dist/Tooltip.js.map +1 -1
- package/dist/TranslationProvider.js +45 -13
- package/dist/TranslationProvider.js.map +1 -1
- package/dist/Tree.js +15 -8
- package/dist/Tree.js.map +1 -1
- package/dist/TreeSelect.js +19 -7
- package/dist/TreeSelect.js.map +1 -1
- package/dist/cjs/Accordion.js +18 -27
- package/dist/cjs/Accordion.js.map +1 -1
- package/dist/cjs/ActionDropdown.js +13 -20
- package/dist/cjs/ActionDropdown.js.map +1 -1
- package/dist/cjs/Alert.js +15 -20
- package/dist/cjs/Alert.js.map +1 -1
- package/dist/cjs/Avatar.js +11 -19
- package/dist/cjs/Avatar.js.map +1 -1
- package/dist/cjs/Button.js +17 -73
- package/dist/cjs/Button.js.map +1 -1
- package/dist/cjs/Callout.js +5 -13
- package/dist/cjs/Callout.js.map +1 -1
- package/dist/cjs/Checkbox.js +13 -19
- package/dist/cjs/Checkbox.js.map +1 -1
- package/dist/cjs/ColorPicker.js +170 -84
- package/dist/cjs/ColorPicker.js.map +1 -1
- package/dist/cjs/DatePicker.js +18 -19
- package/dist/cjs/DatePicker.js.map +1 -1
- package/dist/cjs/Dropdown.js +32 -41
- package/dist/cjs/Dropdown.js.map +1 -1
- package/dist/cjs/Input.js +31 -36
- package/dist/cjs/Input.js.map +1 -1
- package/dist/cjs/Kbd.js +5 -11
- package/dist/cjs/Kbd.js.map +1 -1
- package/dist/cjs/Label.js +71 -62
- package/dist/cjs/Label.js.map +1 -1
- package/dist/cjs/Modal.js +38 -34
- package/dist/cjs/Modal.js.map +1 -1
- package/dist/cjs/MultiEmailInput.js +126 -99
- package/dist/cjs/MultiEmailInput.js.map +1 -1
- package/dist/cjs/NoData.js +15 -23
- package/dist/cjs/NoData.js.map +1 -1
- package/dist/cjs/Pagination.js +21 -27
- package/dist/cjs/Pagination.js.map +1 -1
- package/dist/cjs/Pane.js +74 -47
- package/dist/cjs/Pane.js.map +1 -1
- package/dist/cjs/Popover.js +5 -12
- package/dist/cjs/Popover.js.map +1 -1
- package/dist/cjs/ProgressBar.js +4 -8
- package/dist/cjs/ProgressBar.js.map +1 -1
- package/dist/cjs/Radio.js +25 -31
- package/dist/cjs/Radio.js.map +1 -1
- package/dist/cjs/Select.js +95 -78
- package/dist/cjs/Select.js.map +1 -1
- package/dist/cjs/Sidebar.js +72 -79
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/Slider.js +15 -23
- package/dist/cjs/Slider.js.map +1 -1
- package/dist/cjs/Spinner.js +2 -7
- package/dist/cjs/Spinner.js.map +1 -1
- package/dist/cjs/Stepper.js +7 -11
- package/dist/cjs/Stepper.js.map +1 -1
- package/dist/cjs/Switch.js +22 -25
- package/dist/cjs/Switch.js.map +1 -1
- package/dist/cjs/Tab.js +10 -18
- package/dist/cjs/Tab.js.map +1 -1
- package/dist/cjs/Table.js +387 -236
- package/dist/cjs/Table.js.map +1 -1
- package/dist/cjs/Tag.js +9 -16
- package/dist/cjs/Tag.js.map +1 -1
- package/dist/cjs/{Textarea-60f7ed17.js → Textarea-DdURL8Dd.js} +21 -29
- package/dist/cjs/Textarea-DdURL8Dd.js.map +1 -0
- package/dist/cjs/Textarea.js +7 -6
- package/dist/cjs/Textarea.js.map +1 -1
- package/dist/cjs/TimePicker.js +16 -17
- package/dist/cjs/TimePicker.js.map +1 -1
- package/dist/cjs/Toastr.js +61 -49
- package/dist/cjs/Toastr.js.map +1 -1
- package/dist/cjs/Tooltip.js +20 -22
- package/dist/cjs/Tooltip.js.map +1 -1
- package/dist/cjs/TranslationProvider.js +48 -21
- package/dist/cjs/TranslationProvider.js.map +1 -1
- package/dist/cjs/Tree.js +21 -23
- package/dist/cjs/Tree.js.map +1 -1
- package/dist/cjs/TreeSelect.js +30 -28
- package/dist/cjs/TreeSelect.js.map +1 -1
- package/dist/cjs/Typography.js +4 -12
- package/dist/cjs/Typography.js.map +1 -1
- package/dist/cjs/constants.js +7 -19
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/{en-80d0fbff.js → en-DhnUUSB_.js} +13 -6
- package/dist/cjs/en-DhnUUSB_.js.map +1 -0
- package/dist/cjs/formik/ActionBlock.js +12 -18
- package/dist/cjs/formik/ActionBlock.js.map +1 -1
- package/dist/cjs/formik/BlockNavigation.js +24 -42
- package/dist/cjs/formik/BlockNavigation.js.map +1 -1
- package/dist/cjs/formik/Button.js +3 -10
- package/dist/cjs/formik/Button.js.map +1 -1
- package/dist/cjs/formik/Checkbox.js +10 -16
- package/dist/cjs/formik/Checkbox.js.map +1 -1
- package/dist/cjs/formik/Form.js +13 -24
- package/dist/cjs/formik/Form.js.map +1 -1
- package/dist/cjs/formik/Input.js +10 -16
- package/dist/cjs/formik/Input.js.map +1 -1
- package/dist/cjs/formik/MultiEmailInput.js +8 -15
- package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
- package/dist/cjs/formik/Radio.js +10 -17
- package/dist/cjs/formik/Radio.js.map +1 -1
- package/dist/cjs/formik/Select.js +9 -17
- package/dist/cjs/formik/Select.js.map +1 -1
- package/dist/cjs/formik/Slider.js +10 -17
- package/dist/cjs/formik/Slider.js.map +1 -1
- package/dist/cjs/formik/Switch.js +10 -16
- package/dist/cjs/formik/Switch.js.map +1 -1
- package/dist/cjs/formik/Textarea.js +11 -17
- package/dist/cjs/formik/Textarea.js.map +1 -1
- package/dist/cjs/formik/TreeSelect.js +8 -14
- package/dist/cjs/formik/TreeSelect.js.map +1 -1
- package/dist/cjs/formik/index.js +12 -15
- package/dist/cjs/formik/index.js.map +1 -1
- package/dist/cjs/index-BG9I04iF.js +451 -0
- package/dist/cjs/index-BG9I04iF.js.map +1 -0
- package/dist/cjs/{index-9d108a41.js → index-DOn2FmWB.js} +80 -80
- package/dist/cjs/index-DOn2FmWB.js.map +1 -0
- package/dist/cjs/index.css +2 -2
- package/dist/cjs/index.js +26 -29
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/layouts.js +6 -7
- package/dist/cjs/layouts.js.map +1 -1
- package/dist/cjs/managers.js +0 -2
- package/dist/cjs/managers.js.map +1 -1
- package/dist/cjs/overlayManager.js +2 -9
- package/dist/cjs/overlayManager.js.map +1 -1
- package/dist/cjs/{react-select-creatable.esm-23eddf9f.js → react-select-creatable.esm-Bdv9YAMt.js} +231 -140
- package/dist/cjs/{react-select-creatable.esm-23eddf9f.js.map → react-select-creatable.esm-Bdv9YAMt.js.map} +1 -1
- package/dist/cjs/{useId-4e3deb5c.js → useId-DXHUzdxd.js} +1 -1
- package/dist/cjs/{useId-4e3deb5c.js.map → useId-DXHUzdxd.js.map} +1 -1
- package/dist/cjs/{useOverlayManager-d4108cf8.js → useOverlayManager-D5NTaYt6.js} +25 -744
- package/dist/cjs/useOverlayManager-D5NTaYt6.js.map +1 -0
- package/dist/cjs/{useQueryParams-a8ee2f76.js → useQueryParams-l5fJJYCR.js} +2 -6
- package/dist/cjs/useQueryParams-l5fJJYCR.js.map +1 -0
- package/dist/cjs/useRecentlyUsedColors-DmV1uj1F.js +1270 -0
- package/dist/cjs/useRecentlyUsedColors-DmV1uj1F.js.map +1 -0
- package/dist/cjs/{HeaderCellMenu-2b1247bb.js → useRestoreScrollPosition-Ck_b0Nh4.js} +87 -88
- package/dist/cjs/useRestoreScrollPosition-Ck_b0Nh4.js.map +1 -0
- package/dist/{en-41f5c641.js → en-_r5-MxJe.js} +13 -6
- package/dist/en-_r5-MxJe.js.map +1 -0
- package/dist/formik/ActionBlock.js +7 -7
- package/dist/formik/BlockNavigation.js +15 -26
- package/dist/formik/BlockNavigation.js.map +1 -1
- package/dist/formik/Button.js +1 -2
- package/dist/formik/Button.js.map +1 -1
- package/dist/formik/Checkbox.js +6 -5
- package/dist/formik/Checkbox.js.map +1 -1
- package/dist/formik/Form.js +2 -2
- package/dist/formik/Form.js.map +1 -1
- package/dist/formik/Input.js +6 -5
- package/dist/formik/Input.js.map +1 -1
- package/dist/formik/MultiEmailInput.js +5 -5
- package/dist/formik/Radio.js +6 -5
- package/dist/formik/Radio.js.map +1 -1
- package/dist/formik/Select.js +5 -5
- package/dist/formik/Slider.js +6 -5
- package/dist/formik/Slider.js.map +1 -1
- package/dist/formik/Switch.js +6 -5
- package/dist/formik/Switch.js.map +1 -1
- package/dist/formik/Textarea.js +7 -6
- package/dist/formik/Textarea.js.map +1 -1
- package/dist/formik/TreeSelect.js +5 -4
- package/dist/formik/TreeSelect.js.map +1 -1
- package/dist/formik/index.js +12 -13
- package/dist/formik/index.js.map +1 -1
- package/dist/index-BCP3m_SF.js +434 -0
- package/dist/index-BCP3m_SF.js.map +1 -0
- package/dist/{index-fd0e5fa5.js → index-BXAHRXsD.js} +33 -21
- package/dist/index-BXAHRXsD.js.map +1 -0
- package/dist/index.css +2 -2
- package/dist/index.js +26 -27
- package/dist/index.js.map +1 -1
- package/dist/layouts.js +6 -5
- package/dist/layouts.js.map +1 -1
- package/dist/{react-select-creatable.esm-ad71b0c0.js → react-select-creatable.esm-Dx_vEnyD.js} +137 -31
- package/dist/{react-select-creatable.esm-ad71b0c0.js.map → react-select-creatable.esm-Dx_vEnyD.js.map} +1 -1
- package/dist/{useId-c1d20bba.js → useId-Jj9hXm-g.js} +1 -1
- package/dist/{useId-c1d20bba.js.map → useId-Jj9hXm-g.js.map} +1 -1
- package/dist/{useOverlayManager-593daea1.js → useOverlayManager-U3cqV61l.js} +9 -716
- package/dist/useOverlayManager-U3cqV61l.js.map +1 -0
- package/dist/{useQueryParams-dcb34865.js → useQueryParams-b60CHFUx.js} +1 -1
- package/dist/{useQueryParams-dcb34865.js.map → useQueryParams-b60CHFUx.js.map} +1 -1
- package/dist/useRecentlyUsedColors-CJe4G0Xs.js +1267 -0
- package/dist/useRecentlyUsedColors-CJe4G0Xs.js.map +1 -0
- package/dist/{HeaderCellMenu-85777f9d.js → useRestoreScrollPosition-B3J6xSHt.js} +77 -75
- package/dist/useRestoreScrollPosition-B3J6xSHt.js.map +1 -0
- package/package.json +20 -14
- package/src/translations/de.json +7 -2
- package/src/translations/en.json +12 -5
- package/src/translations/es.json +7 -2
- package/src/translations/fr.json +7 -2
- package/src/translations/nl.json +7 -2
- package/src/translations/pl.json +7 -2
- package/src/translations/pt.json +7 -2
- package/types/Button.d.ts +0 -2
- package/types/ColorPicker.d.ts +7 -5
- package/types/DatePicker.d.ts +2 -0
- package/types/Modal.d.ts +1 -1
- package/types/Pane.d.ts +1 -1
- package/types/Select.d.ts +4 -0
- package/types/Table.d.ts +9 -0
- package/types/Toastr.d.ts +3 -1
- package/types/Tree.d.ts +2 -1
- package/dist/HeaderCellMenu-85777f9d.js.map +0 -1
- package/dist/Textarea-67a30930.js.map +0 -1
- package/dist/cjs/HeaderCellMenu-2b1247bb.js.map +0 -1
- package/dist/cjs/Textarea-60f7ed17.js.map +0 -1
- package/dist/cjs/en-80d0fbff.js.map +0 -1
- package/dist/cjs/index-0f5141e0.js +0 -178
- package/dist/cjs/index-0f5141e0.js.map +0 -1
- package/dist/cjs/index-9d108a41.js.map +0 -1
- package/dist/cjs/tinycolor-b1e9a7b2.js +0 -1202
- package/dist/cjs/tinycolor-b1e9a7b2.js.map +0 -1
- package/dist/cjs/useOverlayManager-d4108cf8.js.map +0 -1
- package/dist/cjs/useQueryParams-a8ee2f76.js.map +0 -1
- package/dist/en-41f5c641.js.map +0 -1
- package/dist/index-abadd6e9.js +0 -155
- package/dist/index-abadd6e9.js.map +0 -1
- package/dist/index-fd0e5fa5.js.map +0 -1
- package/dist/tinycolor-282c618c.js +0 -1200
- package/dist/tinycolor-282c618c.js.map +0 -1
- package/dist/useOverlayManager-593daea1.js.map +0 -1
package/dist/Modal.js
CHANGED
|
@@ -5,7 +5,7 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
|
|
|
5
5
|
import React__default, { useState, useRef } from 'react';
|
|
6
6
|
import classnames from 'classnames';
|
|
7
7
|
import { Close } from '@bigbinary/neeto-icons';
|
|
8
|
-
import { u as useOverlayManager, a as useOverlay, P as Portal, C as CSSTransition, B as Backdrop } from './useOverlayManager-
|
|
8
|
+
import { u as useOverlayManager, a as useOverlay, P as Portal, C as CSSTransition, B as Backdrop } from './useOverlayManager-U3cqV61l.js';
|
|
9
9
|
import Button from './Button.js';
|
|
10
10
|
import 'react-router-dom';
|
|
11
11
|
import 'qs';
|
|
@@ -14,20 +14,20 @@ import '@babel/runtime/helpers/esm/extends';
|
|
|
14
14
|
import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
|
|
15
15
|
import '@babel/runtime/helpers/esm/inheritsLoose';
|
|
16
16
|
import 'react-dom';
|
|
17
|
-
import '@babel/runtime/helpers/esm/assertThisInitialized';
|
|
18
17
|
import 'ramda';
|
|
19
18
|
import '@bigbinary/neeto-hotkeys';
|
|
20
19
|
import './overlayManager.js';
|
|
21
20
|
import '@babel/runtime/helpers/classCallCheck';
|
|
22
21
|
import '@babel/runtime/helpers/createClass';
|
|
23
|
-
import './index-
|
|
22
|
+
import './index-BCP3m_SF.js';
|
|
23
|
+
import '@bigbinary/neeto-cist';
|
|
24
|
+
import './en-_r5-MxJe.js';
|
|
25
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
24
26
|
import 'dayjs';
|
|
25
27
|
import 'dayjs/plugin/localeData';
|
|
26
28
|
import 'dayjs/plugin/utc';
|
|
27
29
|
import 'dayjs/plugin/weekday';
|
|
28
30
|
import 'dayjs/plugin/weekOfYear';
|
|
29
|
-
import '@bigbinary/neeto-cist';
|
|
30
|
-
import './en-41f5c641.js';
|
|
31
31
|
import './Spinner.js';
|
|
32
32
|
import './Tooltip.js';
|
|
33
33
|
import '@tippyjs/react';
|
|
@@ -71,7 +71,16 @@ var Header = function Header(_ref) {
|
|
|
71
71
|
}, description)));
|
|
72
72
|
};
|
|
73
73
|
|
|
74
|
-
var
|
|
74
|
+
var MemoizedChildren = /*#__PURE__*/React__default.memo(function (_ref) {
|
|
75
|
+
var children = _ref.children;
|
|
76
|
+
return children;
|
|
77
|
+
}, function (_, _ref2) {
|
|
78
|
+
var shouldUpdate = _ref2.shouldUpdate;
|
|
79
|
+
return !shouldUpdate;
|
|
80
|
+
});
|
|
81
|
+
MemoizedChildren.displayName = "MemoizedChildren";
|
|
82
|
+
|
|
83
|
+
var _excluded = ["size", "isOpen", "onClose", "children", "finalFocusRef", "initialFocusRef", "className", "closeOnEsc", "closeButton", "backdropClassName", "blockScrollOnMount", "closeOnOutsideClick", "forceRender"];
|
|
75
84
|
var SIZES = {
|
|
76
85
|
small: "small",
|
|
77
86
|
medium: "medium",
|
|
@@ -100,6 +109,8 @@ var Modal = function Modal(_ref) {
|
|
|
100
109
|
blockScrollOnMount = _ref$blockScrollOnMou === void 0 ? true : _ref$blockScrollOnMou,
|
|
101
110
|
_ref$closeOnOutsideCl = _ref.closeOnOutsideClick,
|
|
102
111
|
closeOnOutsideClick = _ref$closeOnOutsideCl === void 0 ? true : _ref$closeOnOutsideCl,
|
|
112
|
+
_ref$forceRender = _ref.forceRender,
|
|
113
|
+
forceRender = _ref$forceRender === void 0 ? false : _ref$forceRender,
|
|
103
114
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
104
115
|
var _useState = useState(false),
|
|
105
116
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -164,9 +175,11 @@ var Modal = function Modal(_ref) {
|
|
|
164
175
|
size: isFullScreenModal ? "large" : "small",
|
|
165
176
|
style: isFullScreenModal ? "secondary" : "text",
|
|
166
177
|
onClick: handleOverlayClose
|
|
167
|
-
}),
|
|
178
|
+
}), /*#__PURE__*/React__default.createElement(MemoizedChildren, {
|
|
179
|
+
shouldUpdate: isOpen || forceRender
|
|
180
|
+
}, typeof children === "function" ? children({
|
|
168
181
|
setFocusField: setFocusField
|
|
169
|
-
}) : children))));
|
|
182
|
+
}) : children)))));
|
|
170
183
|
};
|
|
171
184
|
Modal.Header = Header;
|
|
172
185
|
Modal.Body = Body;
|
package/dist/Modal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sources":["../src/components/Modal/Body.jsx","../src/components/Modal/Footer.jsx","../src/components/Modal/Header.jsx","../src/components/Modal/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Body = ({ children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__body\", className)}\n data-cy={dataCy ?? \"modal-body\"}\n >\n {children}\n </div>\n);\n\nBody.propTypes = {\n /**\n * To specify className to be applied to the Modal Body.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Body.\n */\n children: PropTypes.node,\n};\n\nexport default Body;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Footer = ({ children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__footer\", className)}\n data-cy={dataCy ?? \"modal-footer\"}\n >\n {children}\n </div>\n);\n\nFooter.propTypes = {\n /**\n * To specify className to be applied to the Modal Footer.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Footer.\n */\n children: PropTypes.node,\n};\n\nexport default Footer;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Typography from \"../Typography\";\n\nconst Header = ({ description = \"\", children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__header\", className)}\n data-cy={dataCy ?? \"modal-header\"}\n >\n {children}\n {description && (\n <div className=\"neeto-ui-modal__header-desc\" data-cy=\"modal-header-desc\">\n <Typography lineHeight=\"normal\" style=\"body2\">\n {description}\n </Typography>\n </div>\n )}\n </div>\n);\n\nHeader.propTypes = {\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the short description of the Modal.\n */\n description: PropTypes.string,\n /**\n * To specify className to be applied to the Modal Header container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Header.\n */\n children: PropTypes.node,\n};\n\nexport default Header;\n","import React, { useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { CSSTransition } from \"react-transition-group\";\n\nimport Backdrop from \"atoms/Backdrop\";\nimport Portal from \"atoms/Portal\";\nimport Button from \"components/Button\";\nimport { useOverlayManager, useOverlay } from \"hooks\";\n\nimport Body from \"./Body\";\nimport Footer from \"./Footer\";\nimport Header from \"./Header\";\n\nconst SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n fullScreen: \"fullScreen\",\n};\n\nconst Modal = ({\n size = SIZES.medium,\n isOpen = false,\n onClose = () => {},\n children,\n finalFocusRef,\n initialFocusRef,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n blockScrollOnMount = true,\n closeOnOutsideClick = true,\n ...otherProps\n}) => {\n const [hasTransitionCompleted, setHasTransitionCompleted] = useState(false);\n\n const modalWrapper = useRef(null);\n const backdropRef = useRef(null);\n\n useOverlayManager(modalWrapper, isOpen);\n\n const { handleOverlayClose, setFocusField } = useOverlay({\n isOpen,\n initialFocusRef,\n finalFocusRef,\n overlayWrapper: modalWrapper,\n onClose,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n blockScrollOnMount,\n hasTransitionCompleted,\n });\n\n const isFullScreenModal = size === SIZES.fullScreen;\n\n return (\n <Portal rootId=\"neeto-ui-portal\">\n <CSSTransition\n unmountOnExit\n appear={isOpen}\n classNames=\"neeto-ui-modal\"\n in={isOpen}\n timeout={300}\n onEntered={() => setHasTransitionCompleted(true)}\n onExited={() => setHasTransitionCompleted(false)}\n >\n <Backdrop\n data-testid=\"backdrop\"\n key=\"modal-backdrop\"\n ref={backdropRef}\n className={classnames(\n \"neeto-ui-modal__backdrop\",\n {\n \"neeto-ui-modal__backdrop--fullscreen\": isFullScreenModal,\n },\n backdropClassName\n )}\n >\n <div\n aria-modal\n key=\"modal-wrapper\"\n ref={modalWrapper}\n role=\"dialog\"\n className={classnames(\"neeto-ui-modal__wrapper\", {\n \"neeto-ui-modal__wrapper--small\": size === SIZES.small,\n \"neeto-ui-modal__wrapper--medium\": size === SIZES.medium,\n \"neeto-ui-modal__wrapper--large\": size === SIZES.large,\n \"neeto-ui-modal__wrapper--fullscreen\": isFullScreenModal,\n [className]: className,\n })}\n {...otherProps}\n >\n {closeButton && (\n <Button\n aria-label=\"Close\"\n className=\"neeto-ui-modal__close\"\n data-cy=\"modal-close-button\"\n data-testid=\"close-button\"\n icon={Close}\n size={isFullScreenModal ? \"large\" : \"small\"}\n style={isFullScreenModal ? \"secondary\" : \"text\"}\n onClick={handleOverlayClose}\n />\n )}\n {typeof children === \"function\"\n ? children({ setFocusField })\n : children}\n </div>\n </Backdrop>\n </CSSTransition>\n </Portal>\n );\n};\n\nModal.propTypes = {\n /**\n * To specify the size of the Modal.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Modal is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the Modal is closed.\n */\n onClose: PropTypes.func,\n /**\n * To specify the content to be rendered inside the Modal component.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * To provide external classNames to the Modal.\n */\n className: PropTypes.string,\n /**\n * To close the Modal on pressing the Esc key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the close button of the Modal should be displayed or not.\n */\n closeButton: PropTypes.bool,\n /**\n * To add custom classes to backdrop component.\n */\n backdropClassName: PropTypes.string,\n /**\n * To close on clicking outside the Modal content.\n */\n closeOnOutsideClick: PropTypes.bool,\n /*\n * To specify the ref of the element which will receive focus when the Modal is closed.\n * If not specified, the focus will be set to the element which was focused when the Modal was opened.\n * If the Modal was opened by clicking on a button, then the focus will be set to the button.\n * */\n finalFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the ref of the element which will receive focus when the Modal is opened.\n * If not specified, the focus will be set to the first focusable element inside the Modal.\n * */\n initialFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify whether the scroll should be blocked when the Modal is opened.\n * */\n blockScrollOnMount: PropTypes.bool,\n};\n\nModal.Header = Header;\nModal.Body = Body;\nModal.Footer = Footer;\n\nexport default Modal;\n"],"names":["Body","_ref","children","className","dataCy","React","createElement","classnames","Footer","Header","_ref$description","description","Typography","lineHeight","style","SIZES","small","medium","large","fullScreen","Modal","_ref$size","size","_ref$isOpen","isOpen","_ref$onClose","onClose","finalFocusRef","initialFocusRef","_ref$className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$blockScrollOnMou","blockScrollOnMount","_ref$closeOnOutsideCl","closeOnOutsideClick","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","hasTransitionCompleted","setHasTransitionCompleted","modalWrapper","useRef","backdropRef","useOverlayManager","_useOverlay","useOverlay","overlayWrapper","handleOverlayClose","setFocusField","isFullScreenModal","Portal","rootId","CSSTransition","unmountOnExit","appear","classNames","timeout","onEntered","onExited","Backdrop","key","ref","_extends","role","_defineProperty","Button","icon","Close","onClick"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../src/components/Modal/Body.jsx","../src/components/Modal/Footer.jsx","../src/components/Modal/Header.jsx","../src/components/Modal/MemoizedChildren.js","../src/components/Modal/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Body = ({ children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__body\", className)}\n data-cy={dataCy ?? \"modal-body\"}\n >\n {children}\n </div>\n);\n\nBody.propTypes = {\n /**\n * To specify className to be applied to the Modal Body.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Body.\n */\n children: PropTypes.node,\n};\n\nexport default Body;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Footer = ({ children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__footer\", className)}\n data-cy={dataCy ?? \"modal-footer\"}\n >\n {children}\n </div>\n);\n\nFooter.propTypes = {\n /**\n * To specify className to be applied to the Modal Footer.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Footer.\n */\n children: PropTypes.node,\n};\n\nexport default Footer;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Typography from \"../Typography\";\n\nconst Header = ({ description = \"\", children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__header\", className)}\n data-cy={dataCy ?? \"modal-header\"}\n >\n {children}\n {description && (\n <div className=\"neeto-ui-modal__header-desc\" data-cy=\"modal-header-desc\">\n <Typography lineHeight=\"normal\" style=\"body2\">\n {description}\n </Typography>\n </div>\n )}\n </div>\n);\n\nHeader.propTypes = {\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the short description of the Modal.\n */\n description: PropTypes.string,\n /**\n * To specify className to be applied to the Modal Header container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Header.\n */\n children: PropTypes.node,\n};\n\nexport default Header;\n","import React from \"react\";\n\nconst MemoizedChildren = React.memo(\n ({ children }) => children,\n (_, { shouldUpdate }) => !shouldUpdate\n);\n\nMemoizedChildren.displayName = \"MemoizedChildren\";\n\nexport default MemoizedChildren;\n","import React, { useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { CSSTransition } from \"react-transition-group\";\n\nimport Backdrop from \"atoms/Backdrop\";\nimport Portal from \"atoms/Portal\";\nimport Button from \"components/Button\";\nimport { useOverlayManager, useOverlay } from \"hooks\";\n\nimport Body from \"./Body\";\nimport Footer from \"./Footer\";\nimport Header from \"./Header\";\nimport MemoizedChildren from \"./MemoizedChildren\";\n\nconst SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n fullScreen: \"fullScreen\",\n};\n\nconst Modal = ({\n size = SIZES.medium,\n isOpen = false,\n onClose = () => {},\n children,\n finalFocusRef,\n initialFocusRef,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n blockScrollOnMount = true,\n closeOnOutsideClick = true,\n forceRender = false,\n ...otherProps\n}) => {\n const [hasTransitionCompleted, setHasTransitionCompleted] = useState(false);\n\n const modalWrapper = useRef(null);\n const backdropRef = useRef(null);\n\n useOverlayManager(modalWrapper, isOpen);\n\n const { handleOverlayClose, setFocusField } = useOverlay({\n isOpen,\n initialFocusRef,\n finalFocusRef,\n overlayWrapper: modalWrapper,\n onClose,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n blockScrollOnMount,\n hasTransitionCompleted,\n });\n\n const isFullScreenModal = size === SIZES.fullScreen;\n\n return (\n <Portal rootId=\"neeto-ui-portal\">\n <CSSTransition\n unmountOnExit\n appear={isOpen}\n classNames=\"neeto-ui-modal\"\n in={isOpen}\n timeout={300}\n onEntered={() => setHasTransitionCompleted(true)}\n onExited={() => setHasTransitionCompleted(false)}\n >\n <Backdrop\n data-testid=\"backdrop\"\n key=\"modal-backdrop\"\n ref={backdropRef}\n className={classnames(\n \"neeto-ui-modal__backdrop\",\n {\n \"neeto-ui-modal__backdrop--fullscreen\": isFullScreenModal,\n },\n backdropClassName\n )}\n >\n <div\n aria-modal\n key=\"modal-wrapper\"\n ref={modalWrapper}\n role=\"dialog\"\n className={classnames(\"neeto-ui-modal__wrapper\", {\n \"neeto-ui-modal__wrapper--small\": size === SIZES.small,\n \"neeto-ui-modal__wrapper--medium\": size === SIZES.medium,\n \"neeto-ui-modal__wrapper--large\": size === SIZES.large,\n \"neeto-ui-modal__wrapper--fullscreen\": isFullScreenModal,\n [className]: className,\n })}\n {...otherProps}\n >\n {closeButton && (\n <Button\n aria-label=\"Close\"\n className=\"neeto-ui-modal__close\"\n data-cy=\"modal-close-button\"\n data-testid=\"close-button\"\n icon={Close}\n size={isFullScreenModal ? \"large\" : \"small\"}\n style={isFullScreenModal ? \"secondary\" : \"text\"}\n onClick={handleOverlayClose}\n />\n )}\n <MemoizedChildren shouldUpdate={isOpen || forceRender}>\n {typeof children === \"function\"\n ? children({ setFocusField })\n : children}\n </MemoizedChildren>\n </div>\n </Backdrop>\n </CSSTransition>\n </Portal>\n );\n};\n\nModal.propTypes = {\n /**\n * To specify the size of the Modal.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Modal is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the Modal is closed.\n */\n onClose: PropTypes.func,\n /**\n * To specify the content to be rendered inside the Modal component.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * To provide external classNames to the Modal.\n */\n className: PropTypes.string,\n /**\n * To close the Modal on pressing the Esc key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the close button of the Modal should be displayed or not.\n */\n closeButton: PropTypes.bool,\n /**\n * To add custom classes to backdrop component.\n */\n backdropClassName: PropTypes.string,\n /**\n * To close on clicking outside the Modal content.\n */\n closeOnOutsideClick: PropTypes.bool,\n /*\n * To specify the ref of the element which will receive focus when the Modal is closed.\n * If not specified, the focus will be set to the element which was focused when the Modal was opened.\n * If the Modal was opened by clicking on a button, then the focus will be set to the button.\n * */\n finalFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the ref of the element which will receive focus when the Modal is opened.\n * If not specified, the focus will be set to the first focusable element inside the Modal.\n * */\n initialFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify whether the scroll should be blocked when the Modal is opened.\n * */\n blockScrollOnMount: PropTypes.bool,\n /**\n * The modal children will be force re-rendered if the boolean is set to `true`. Ideally the modal won't update\n * if the `isOpen` is `false`. You can use this prop to override that nature.\n */\n forceRender: PropTypes.bool,\n};\n\nModal.Header = Header;\nModal.Body = Body;\nModal.Footer = Footer;\n\nexport default Modal;\n"],"names":["Body","_ref","children","className","dataCy","React","createElement","classnames","Footer","Header","_ref$description","description","Typography","lineHeight","style","MemoizedChildren","memo","_","_ref2","shouldUpdate","displayName","SIZES","small","medium","large","fullScreen","Modal","_ref$size","size","_ref$isOpen","isOpen","_ref$onClose","onClose","finalFocusRef","initialFocusRef","_ref$className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$blockScrollOnMou","blockScrollOnMount","_ref$closeOnOutsideCl","closeOnOutsideClick","_ref$forceRender","forceRender","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","hasTransitionCompleted","setHasTransitionCompleted","modalWrapper","useRef","backdropRef","useOverlayManager","_useOverlay","useOverlay","overlayWrapper","handleOverlayClose","setFocusField","isFullScreenModal","Portal","rootId","CSSTransition","unmountOnExit","appear","classNames","timeout","onEntered","onExited","Backdrop","key","ref","_extends","role","_defineProperty","Button","icon","Close","onClick"],"mappings":"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"}
|
package/dist/MultiEmailInput.js
CHANGED
|
@@ -6,40 +6,40 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
|
|
|
6
6
|
import React__default, { useRef, useEffect, forwardRef, useState } from 'react';
|
|
7
7
|
import classnames from 'classnames';
|
|
8
8
|
import { assoc, pluck, mergeLeft, isEmpty } from 'ramda';
|
|
9
|
-
import { c as components, C as CreatableSelect } from './react-select-creatable.esm-
|
|
10
|
-
import { h as hyphenize, n as noop } from './index-
|
|
9
|
+
import { c as components, C as CreatableSelect } from './react-select-creatable.esm-Dx_vEnyD.js';
|
|
10
|
+
import { h as hyphenize, n as noop } from './index-BCP3m_SF.js';
|
|
11
11
|
import _toArray from '@babel/runtime/helpers/toArray';
|
|
12
12
|
import { Close } from '@bigbinary/neeto-icons';
|
|
13
|
-
import '@babel/runtime/helpers/esm/objectSpread2';
|
|
14
|
-
import '@babel/runtime/helpers/esm/slicedToArray';
|
|
15
|
-
import '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
16
|
-
import '@babel/runtime/helpers/esm/extends';
|
|
17
|
-
import '@babel/runtime/helpers/objectSpread2';
|
|
18
|
-
import '@babel/runtime/helpers/classCallCheck';
|
|
19
|
-
import '@babel/runtime/helpers/createClass';
|
|
20
|
-
import '@babel/runtime/helpers/inherits';
|
|
21
|
-
import '@babel/runtime/helpers/createSuper';
|
|
22
|
-
import '@babel/runtime/helpers/taggedTemplateLiteral';
|
|
23
|
-
import '@babel/runtime/helpers/typeof';
|
|
24
|
-
import 'react-dom';
|
|
25
13
|
import Tag from './Tag.js';
|
|
14
|
+
import { isPresent } from '@bigbinary/neeto-cist';
|
|
26
15
|
import Label from './Label.js';
|
|
16
|
+
import '@babel/runtime/helpers/esm/extends';
|
|
17
|
+
import '@babel/runtime/helpers/esm/objectSpread2';
|
|
27
18
|
import '@babel/runtime/helpers/esm/classCallCheck';
|
|
28
19
|
import '@babel/runtime/helpers/esm/createClass';
|
|
29
20
|
import '@babel/runtime/helpers/esm/inherits';
|
|
30
21
|
import '@babel/runtime/helpers/esm/createSuper';
|
|
31
22
|
import '@babel/runtime/helpers/esm/toConsumableArray';
|
|
32
23
|
import '@babel/runtime/helpers/esm/taggedTemplateLiteral';
|
|
24
|
+
import '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
25
|
+
import '@babel/runtime/helpers/esm/slicedToArray';
|
|
33
26
|
import '@babel/runtime/helpers/esm/typeof';
|
|
34
27
|
import '@babel/runtime/helpers/esm/defineProperty';
|
|
28
|
+
import 'react-dom';
|
|
29
|
+
import '@babel/runtime/helpers/objectSpread2';
|
|
30
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
31
|
+
import '@babel/runtime/helpers/createClass';
|
|
32
|
+
import '@babel/runtime/helpers/inherits';
|
|
33
|
+
import '@babel/runtime/helpers/createSuper';
|
|
34
|
+
import '@babel/runtime/helpers/taggedTemplateLiteral';
|
|
35
|
+
import '@babel/runtime/helpers/typeof';
|
|
36
|
+
import 'qs';
|
|
37
|
+
import './en-_r5-MxJe.js';
|
|
35
38
|
import 'dayjs';
|
|
36
39
|
import 'dayjs/plugin/localeData';
|
|
37
40
|
import 'dayjs/plugin/utc';
|
|
38
41
|
import 'dayjs/plugin/weekday';
|
|
39
42
|
import 'dayjs/plugin/weekOfYear';
|
|
40
|
-
import '@bigbinary/neeto-cist';
|
|
41
|
-
import 'qs';
|
|
42
|
-
import './en-41f5c641.js';
|
|
43
43
|
import './Button.js';
|
|
44
44
|
import 'react-router-dom';
|
|
45
45
|
import './Spinner.js';
|
|
@@ -49,10 +49,10 @@ import 'tippy.js';
|
|
|
49
49
|
import './Popover.js';
|
|
50
50
|
import './Typography.js';
|
|
51
51
|
|
|
52
|
-
var _excluded$
|
|
52
|
+
var _excluded$2 = ["children"],
|
|
53
53
|
_excluded2 = ["children"];
|
|
54
|
-
function ownKeys$
|
|
55
|
-
function _objectSpread$
|
|
54
|
+
function ownKeys$2(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; }
|
|
55
|
+
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
56
56
|
var STYLES = {
|
|
57
57
|
border: {
|
|
58
58
|
"default": "1px solid rgb(var(--neeto-ui-gray-400))",
|
|
@@ -65,7 +65,7 @@ var STYLES = {
|
|
|
65
65
|
};
|
|
66
66
|
var CustomControl = function CustomControl(_ref) {
|
|
67
67
|
var children = _ref.children,
|
|
68
|
-
props = _objectWithoutProperties(_ref, _excluded$
|
|
68
|
+
props = _objectWithoutProperties(_ref, _excluded$2);
|
|
69
69
|
var getValue = props.getValue;
|
|
70
70
|
var _props$selectProps = props.selectProps,
|
|
71
71
|
isFocused = _props$selectProps.isFocused,
|
|
@@ -89,7 +89,7 @@ var CustomControl = function CustomControl(_ref) {
|
|
|
89
89
|
prevValue.current = value;
|
|
90
90
|
}, [isFocused, value]);
|
|
91
91
|
return /*#__PURE__*/React__default.createElement(components.Control, _extends({}, props, {
|
|
92
|
-
innerProps: _objectSpread$
|
|
92
|
+
innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, {
|
|
93
93
|
ref: controlRef
|
|
94
94
|
})
|
|
95
95
|
}), prefix && /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -104,7 +104,7 @@ var CustomDropdownIndicator = function CustomDropdownIndicator(props) {
|
|
|
104
104
|
};
|
|
105
105
|
var MultiValueRemove = function MultiValueRemove(props) {
|
|
106
106
|
return /*#__PURE__*/React__default.createElement(components.MultiValueRemove, _extends({}, props, {
|
|
107
|
-
innerProps: _objectSpread$
|
|
107
|
+
innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-cy", "".concat(hyphenize(props.data.label), "-remove-icon")))
|
|
108
108
|
}), /*#__PURE__*/React__default.createElement(Close, {
|
|
109
109
|
size: 16
|
|
110
110
|
}));
|
|
@@ -123,7 +123,7 @@ var CustomValueContainer = function CustomValueContainer(_ref2) {
|
|
|
123
123
|
rest = _children.slice(1);
|
|
124
124
|
var shouldCollapse = !isAlwaysExpanded && !isFocused && value.length > visibleEmailsCount;
|
|
125
125
|
return /*#__PURE__*/React__default.createElement(components.ValueContainer, _extends({}, props, {
|
|
126
|
-
innerProps: _objectSpread$
|
|
126
|
+
innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-email-input-container"))
|
|
127
127
|
}), shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild, shouldCollapse && /*#__PURE__*/React__default.createElement(Tag, {
|
|
128
128
|
label: "".concat(value.length - visibleEmailsCount, " more"),
|
|
129
129
|
style: "secondary"
|
|
@@ -131,7 +131,7 @@ var CustomValueContainer = function CustomValueContainer(_ref2) {
|
|
|
131
131
|
};
|
|
132
132
|
var CustomClearIndicator = function CustomClearIndicator(props) {
|
|
133
133
|
return /*#__PURE__*/React__default.createElement(components.ClearIndicator, _extends({}, props, {
|
|
134
|
-
innerProps: _objectSpread$
|
|
134
|
+
innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-cy", "clear-all-button"))
|
|
135
135
|
}), /*#__PURE__*/React__default.createElement(Close, {
|
|
136
136
|
className: "cursor-pointer",
|
|
137
137
|
size: 16
|
|
@@ -139,18 +139,22 @@ var CustomClearIndicator = function CustomClearIndicator(props) {
|
|
|
139
139
|
};
|
|
140
140
|
var SelectContainer = function SelectContainer(props) {
|
|
141
141
|
return /*#__PURE__*/React__default.createElement(components.SelectContainer, _extends({}, props, {
|
|
142
|
-
innerProps: _objectSpread$
|
|
142
|
+
innerProps: _objectSpread$2(_objectSpread$2({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-email-select-container"))
|
|
143
143
|
}));
|
|
144
144
|
};
|
|
145
145
|
var Input = function Input(props) {
|
|
146
|
+
var handlePaste = function handlePaste(event) {
|
|
147
|
+
var handleEmailChange = props.selectProps.handleEmailChange;
|
|
148
|
+
var text = event.clipboardData.getData("Text");
|
|
149
|
+
if (!EMAIL_REGEX.test(text)) return;
|
|
150
|
+
event === null || event === void 0 || event.preventDefault();
|
|
151
|
+
setTimeout(function () {
|
|
152
|
+
return handleEmailChange(text);
|
|
153
|
+
});
|
|
154
|
+
};
|
|
146
155
|
return /*#__PURE__*/React__default.createElement(components.Input, _extends({}, props, {
|
|
147
156
|
"data-cy": "email-select-input-field",
|
|
148
|
-
onPaste:
|
|
149
|
-
var clipboardData = e.clipboardData.getData("Text");
|
|
150
|
-
setTimeout(function () {
|
|
151
|
-
return props.selectProps.handleEmailChange(clipboardData);
|
|
152
|
-
});
|
|
153
|
-
}
|
|
157
|
+
onPaste: handlePaste
|
|
154
158
|
}));
|
|
155
159
|
};
|
|
156
160
|
var EMAIL_REGEX = new RegExp("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$", "i");
|
|
@@ -160,7 +164,7 @@ var CUSTOM_STYLES = {
|
|
|
160
164
|
input: assoc("overflow", "hidden"),
|
|
161
165
|
multiValue: function multiValue(styles, _ref3) {
|
|
162
166
|
var valid = _ref3.data.valid;
|
|
163
|
-
return _objectSpread$
|
|
167
|
+
return _objectSpread$2(_objectSpread$2({}, styles), {}, {
|
|
164
168
|
border: valid ? STYLES.border["default"] : STYLES.border.error,
|
|
165
169
|
color: valid ? STYLES.color["default"] : STYLES.color.error
|
|
166
170
|
});
|
|
@@ -176,31 +180,55 @@ var CUSTOM_COMPONENTS = {
|
|
|
176
180
|
Input: Input
|
|
177
181
|
};
|
|
178
182
|
|
|
179
|
-
var
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
183
|
+
var _excluded$1 = ["label", "value"];
|
|
184
|
+
function ownKeys$1(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; }
|
|
185
|
+
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
186
|
+
var getEmailsMap = function getEmailsMap() {
|
|
187
|
+
var inputEmails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
188
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
189
|
+
var emails = [].concat(_toConsumableArray(inputEmails), _toConsumableArray(options));
|
|
190
|
+
var emailsMap = new Map();
|
|
191
|
+
emails.forEach(function (option) {
|
|
192
|
+
var _emailsMap$get;
|
|
193
|
+
var hasPersistedEntry = isPresent((_emailsMap$get = emailsMap.get(option.value)) === null || _emailsMap$get === void 0 ? void 0 : _emailsMap$get.id);
|
|
194
|
+
if (!hasPersistedEntry) emailsMap.set(option.value, option);
|
|
195
|
+
});
|
|
196
|
+
return emailsMap;
|
|
197
|
+
};
|
|
198
|
+
var processEmailOptions = function processEmailOptions() {
|
|
199
|
+
var inputEmails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
200
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
201
|
+
var emailsMap = getEmailsMap(inputEmails, options);
|
|
202
|
+
return function (email) {
|
|
203
|
+
var emailDetails = emailsMap.get(email) || {
|
|
204
|
+
value: email
|
|
205
|
+
};
|
|
206
|
+
return formatEmailInputOption(emailDetails);
|
|
184
207
|
};
|
|
185
208
|
};
|
|
186
|
-
var
|
|
187
|
-
var
|
|
188
|
-
|
|
189
|
-
|
|
209
|
+
var formatEmailInputOption = function formatEmailInputOption(_ref) {
|
|
210
|
+
var label = _ref.label,
|
|
211
|
+
value = _ref.value,
|
|
212
|
+
otherDetails = _objectWithoutProperties(_ref, _excluded$1);
|
|
213
|
+
return _objectSpread$1(_objectSpread$1({
|
|
214
|
+
label: label !== null && label !== void 0 ? label : value,
|
|
215
|
+
value: value
|
|
216
|
+
}, otherDetails), {}, {
|
|
217
|
+
valid: EMAIL_REGEX.test(value)
|
|
190
218
|
});
|
|
219
|
+
};
|
|
220
|
+
var pruneDuplicates = function pruneDuplicates(inputValues, options) {
|
|
221
|
+
var emailProcessor = processEmailOptions(inputValues, options);
|
|
222
|
+
var emails = pluck("value", inputValues);
|
|
191
223
|
var uniqueValuesSet = new Set();
|
|
192
224
|
var duplicates = [];
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
uniqueValuesSet.add(value);
|
|
198
|
-
}
|
|
225
|
+
emails.forEach(function (pristineEmail) {
|
|
226
|
+
var email = pristineEmail.toLowerCase();
|
|
227
|
+
if (uniqueValuesSet.has(email)) duplicates.push(pristineEmail);
|
|
228
|
+
uniqueValuesSet.add(email);
|
|
199
229
|
});
|
|
200
230
|
var uniqueValues = Array.from(uniqueValuesSet);
|
|
201
|
-
var uniqueEmails = uniqueValues.map(
|
|
202
|
-
return formatEmailInputOptions(email);
|
|
203
|
-
});
|
|
231
|
+
var uniqueEmails = uniqueValues.map(emailProcessor);
|
|
204
232
|
return {
|
|
205
233
|
uniqueEmails: uniqueEmails,
|
|
206
234
|
duplicates: duplicates
|
|
@@ -264,6 +292,10 @@ var MultiEmailInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
264
292
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
265
293
|
duplicateEmails = _useState6[0],
|
|
266
294
|
setDuplicateEmails = _useState6[1];
|
|
295
|
+
var _useState7 = useState(false),
|
|
296
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
297
|
+
isMenuOpen = _useState8[0],
|
|
298
|
+
setIsMenuOpen = _useState8[1];
|
|
267
299
|
var isCounterVisible = !!counter && (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);
|
|
268
300
|
var isOptionsPresent = !!otherProps.options;
|
|
269
301
|
var handleFilterEmails = function handleFilterEmails() {
|
|
@@ -274,14 +306,17 @@ var MultiEmailInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
274
306
|
var inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);
|
|
275
307
|
var emailMatches = inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];
|
|
276
308
|
var emails = emailMatches.map(function (email) {
|
|
277
|
-
return
|
|
309
|
+
return {
|
|
310
|
+
value: email
|
|
311
|
+
};
|
|
278
312
|
});
|
|
279
|
-
var _pruneDuplicates = pruneDuplicates([].concat(_toConsumableArray(value), _toConsumableArray(emails))),
|
|
313
|
+
var _pruneDuplicates = pruneDuplicates([].concat(_toConsumableArray(value), _toConsumableArray(emails)), otherProps.options),
|
|
280
314
|
uniqueEmails = _pruneDuplicates.uniqueEmails,
|
|
281
315
|
duplicates = _pruneDuplicates.duplicates;
|
|
282
316
|
onChange(uniqueEmails);
|
|
283
317
|
setDuplicateEmails(duplicates);
|
|
284
318
|
setInputValue("");
|
|
319
|
+
setIsMenuOpen(false);
|
|
285
320
|
};
|
|
286
321
|
var handleKeyDown = function handleKeyDown(event) {
|
|
287
322
|
if (!inputValue) return;
|
|
@@ -305,8 +340,9 @@ var MultiEmailInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
305
340
|
};
|
|
306
341
|
var onCreateOption = function onCreateOption(input) {
|
|
307
342
|
var _otherProps$onCreateO;
|
|
308
|
-
var
|
|
309
|
-
|
|
343
|
+
var _pruneDuplicates2 = pruneDuplicates([].concat(_toConsumableArray(value), [{
|
|
344
|
+
value: input
|
|
345
|
+
}]), otherProps.options),
|
|
310
346
|
uniqueEmails = _pruneDuplicates2.uniqueEmails,
|
|
311
347
|
duplicates = _pruneDuplicates2.duplicates;
|
|
312
348
|
onChange(uniqueEmails);
|
|
@@ -352,6 +388,7 @@ var MultiEmailInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
352
388
|
classNamePrefix: "neeto-ui-react-select",
|
|
353
389
|
components: CUSTOM_COMPONENTS,
|
|
354
390
|
isDisabled: disabled,
|
|
391
|
+
menuIsOpen: isMenuOpen,
|
|
355
392
|
className: classnames("neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select", {
|
|
356
393
|
"neeto-ui-react-select__container--error": !!error
|
|
357
394
|
}),
|
|
@@ -365,10 +402,11 @@ var MultiEmailInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
365
402
|
onFocus: function onFocus() {
|
|
366
403
|
return setIsFocused(true);
|
|
367
404
|
},
|
|
405
|
+
onKeyDown: handleKeyDown,
|
|
368
406
|
onInputChange: function onInputChange(inputValue) {
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
407
|
+
setIsMenuOpen(Boolean(inputValue));
|
|
408
|
+
setInputValue(inputValue);
|
|
409
|
+
}
|
|
372
410
|
}, _objectSpread(_objectSpread(_objectSpread({
|
|
373
411
|
handleEmailChange: handleEmailChange,
|
|
374
412
|
inputValue: inputValue,
|
|
@@ -391,9 +429,9 @@ var MultiEmailInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
391
429
|
className: "neeto-ui-input__help-text",
|
|
392
430
|
"data-cy": "".concat(hyphenize(label), "-input-help")
|
|
393
431
|
}, helpText), !!duplicateEmails.length && /*#__PURE__*/React__default.createElement("p", {
|
|
394
|
-
className: "neeto-ui-
|
|
432
|
+
className: "neeto-ui-input__error",
|
|
395
433
|
"data-cy": "".concat(hyphenize(label), "-duplicate-emails-warning")
|
|
396
|
-
}, "Duplicate emails
|
|
434
|
+
}, "Duplicate emails detected and removed (matched case-insensitively):", " ", duplicateEmails.join(", ")));
|
|
397
435
|
});
|
|
398
436
|
MultiEmailInput.displayName = "MultiEmailInput";
|
|
399
437
|
|