@bigbinary/neetoui 8.3.58 → 8.3.59
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 +8 -3
- package/dist/Accordion.js.map +1 -1
- package/dist/ActionDropdown.js +3 -0
- package/dist/ActionDropdown.js.map +1 -1
- package/dist/Alert.js +41 -25
- package/dist/Alert.js.map +1 -1
- package/dist/ColorPicker.js +4 -1
- package/dist/ColorPicker.js.map +1 -1
- package/dist/DatePicker.js +9 -9
- package/dist/Dropdown.js +28 -5
- package/dist/Dropdown.js.map +1 -1
- package/dist/Modal.js +6 -6
- package/dist/Pane.js +6 -6
- package/dist/{useOverlayManager-11FChK4S.js → Portal-NkYu4tSU.js} +120 -120
- package/dist/Portal-NkYu4tSU.js.map +1 -0
- package/dist/Table.js +18 -13
- package/dist/Table.js.map +1 -1
- package/dist/TimePicker.js +10 -10
- package/dist/cjs/Accordion.js +8 -3
- package/dist/cjs/Accordion.js.map +1 -1
- package/dist/cjs/ActionDropdown.js +3 -0
- package/dist/cjs/ActionDropdown.js.map +1 -1
- package/dist/cjs/Alert.js +41 -25
- package/dist/cjs/Alert.js.map +1 -1
- package/dist/cjs/ColorPicker.js +4 -1
- package/dist/cjs/ColorPicker.js.map +1 -1
- package/dist/cjs/DatePicker.js +9 -9
- package/dist/cjs/Dropdown.js +28 -5
- package/dist/cjs/Dropdown.js.map +1 -1
- package/dist/cjs/Modal.js +11 -11
- package/dist/cjs/Modal.js.map +1 -1
- package/dist/cjs/Pane.js +11 -11
- package/dist/cjs/Pane.js.map +1 -1
- package/dist/cjs/{useOverlayManager-DobGTLvg.js → Portal-DGTC-Yro.js} +120 -120
- package/dist/cjs/Portal-DGTC-Yro.js.map +1 -0
- package/dist/cjs/Table.js +18 -13
- package/dist/cjs/Table.js.map +1 -1
- package/dist/cjs/TimePicker.js +10 -10
- package/dist/cjs/formik/BlockNavigation.js +1 -1
- package/dist/cjs/formik/index.js +1 -1
- package/dist/cjs/{index-CnOBUXom.js → index-mj5R1eTz.js} +9 -9
- package/dist/cjs/{index-CnOBUXom.js.map → index-mj5R1eTz.js.map} +1 -1
- package/dist/cjs/index.js +4 -4
- package/dist/formik/BlockNavigation.js +1 -1
- package/dist/formik/index.js +1 -1
- package/dist/{index-CmczeIrh.js → index-DDvpqpML.js} +9 -9
- package/dist/{index-CmczeIrh.js.map → index-DDvpqpML.js.map} +1 -1
- package/dist/index.js +4 -4
- package/package.json +1 -1
- package/dist/cjs/useOverlayManager-DobGTLvg.js.map +0 -1
- package/dist/useOverlayManager-11FChK4S.js.map +0 -1
package/dist/Dropdown.js
CHANGED
|
@@ -7,16 +7,19 @@ import classnames from 'classnames';
|
|
|
7
7
|
import Down from '@bigbinary/neeto-icons/Down';
|
|
8
8
|
import { isNil } from 'ramda';
|
|
9
9
|
import Button from './Button.js';
|
|
10
|
+
import { u as useId } from './useId-Jj9hXm-g.js';
|
|
11
|
+
import { Link } from 'react-router-dom';
|
|
12
|
+
import '@bigbinary/neeto-hotkeys';
|
|
13
|
+
import './overlayManager.js';
|
|
10
14
|
import { g as getContentDir, h as hyphenize, n as noop } from './index-t5NRFwPy.js';
|
|
15
|
+
import 'qs';
|
|
11
16
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
12
17
|
import { isPresent } from '@bigbinary/neeto-cist';
|
|
13
18
|
import Tooltip from './Tooltip.js';
|
|
14
|
-
import { Link } from 'react-router-dom';
|
|
15
19
|
import './Spinner.js';
|
|
16
20
|
import 'tippy.js';
|
|
17
21
|
import '@babel/runtime/helpers/classCallCheck';
|
|
18
22
|
import '@babel/runtime/helpers/createClass';
|
|
19
|
-
import 'qs';
|
|
20
23
|
import './en-DVlE9xuu.js';
|
|
21
24
|
import '@babel/runtime/helpers/toConsumableArray';
|
|
22
25
|
import 'dayjs';
|
|
@@ -30,7 +33,9 @@ function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymb
|
|
|
30
33
|
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
31
34
|
var Divider = function Divider(props) {
|
|
32
35
|
return /*#__PURE__*/jsx("li", _objectSpread$4({
|
|
33
|
-
|
|
36
|
+
"aria-orientation": "horizontal",
|
|
37
|
+
className: "neeto-ui-dropdown__popup-divider",
|
|
38
|
+
role: "separator"
|
|
34
39
|
}, props));
|
|
35
40
|
};
|
|
36
41
|
|
|
@@ -94,7 +99,8 @@ var MenuItem = function MenuItem(_ref) {
|
|
|
94
99
|
otherProps = _objectWithoutProperties(_ref, _excluded$2);
|
|
95
100
|
var renderMenuItem = function renderMenuItem() {
|
|
96
101
|
return /*#__PURE__*/jsx("li", _objectSpread$2(_objectSpread$2({
|
|
97
|
-
className: classnames("neeto-ui-dropdown__popup-menu-item", className)
|
|
102
|
+
className: classnames("neeto-ui-dropdown__popup-menu-item", className),
|
|
103
|
+
role: "menuitem"
|
|
98
104
|
}, otherProps), {}, {
|
|
99
105
|
children: children
|
|
100
106
|
}));
|
|
@@ -272,6 +278,11 @@ var Dropdown = function Dropdown(_ref2) {
|
|
|
272
278
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
273
279
|
mounted = _useState4[0],
|
|
274
280
|
setMounted = _useState4[1];
|
|
281
|
+
var _useState5 = useState(false),
|
|
282
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
283
|
+
isExpanded = _useState6[0],
|
|
284
|
+
setIsExpanded = _useState6[1];
|
|
285
|
+
var menuId = useId();
|
|
275
286
|
var isControlled = !isNil(isOpen);
|
|
276
287
|
var controlledProps = isControlled ? {
|
|
277
288
|
visible: isOpen
|
|
@@ -289,6 +300,10 @@ var Dropdown = function Dropdown(_ref2) {
|
|
|
289
300
|
return /*#__PURE__*/jsx(Tippy, _objectSpread(_objectSpread({
|
|
290
301
|
interactive: true,
|
|
291
302
|
animation: false,
|
|
303
|
+
aria: {
|
|
304
|
+
content: null,
|
|
305
|
+
expanded: false
|
|
306
|
+
},
|
|
292
307
|
arrow: false,
|
|
293
308
|
duration: 0
|
|
294
309
|
// hideOnClick determines whether the dropdown should be hidden when the user clicks outside of the dropdown.
|
|
@@ -303,12 +318,13 @@ var Dropdown = function Dropdown(_ref2) {
|
|
|
303
318
|
strategy: strategy,
|
|
304
319
|
modifiers: dropdownModifiers
|
|
305
320
|
},
|
|
306
|
-
role: "dropdown",
|
|
307
321
|
theme: "light",
|
|
308
322
|
trigger: isControlled ? undefined : TRIGGERS[trigger],
|
|
309
323
|
className: classnames("neeto-ui-dropdown", _defineProperty({}, className, className)),
|
|
310
324
|
content: mounted ? /*#__PURE__*/jsx("div", _objectSpread(_objectSpread({
|
|
311
325
|
"data-testid": "".concat(hyphenize(label), "-dropdown-container"),
|
|
326
|
+
id: menuId,
|
|
327
|
+
role: "menu",
|
|
312
328
|
className: classnames("neeto-ui-dropdown__popup", _defineProperty(_defineProperty({}, dropdownClassName, dropdownClassName), dropdownClassnames, dropdownClassnames)),
|
|
313
329
|
onClick: closeOnSelect ? close : noop
|
|
314
330
|
}, otherDropdownProps), {}, {
|
|
@@ -320,9 +336,13 @@ var Dropdown = function Dropdown(_ref2) {
|
|
|
320
336
|
onMount: function onMount() {
|
|
321
337
|
return setMounted(true);
|
|
322
338
|
},
|
|
339
|
+
onShow: function onShow() {
|
|
340
|
+
return setIsExpanded(true);
|
|
341
|
+
},
|
|
323
342
|
onHidden: function onHidden() {
|
|
324
343
|
onClose();
|
|
325
344
|
setMounted(false);
|
|
345
|
+
setIsExpanded(false);
|
|
326
346
|
}
|
|
327
347
|
}, _objectSpread(_objectSpread({
|
|
328
348
|
disabled: disabled,
|
|
@@ -337,6 +357,9 @@ var Dropdown = function Dropdown(_ref2) {
|
|
|
337
357
|
}) : /*#__PURE__*/jsx(Button, _objectSpread({
|
|
338
358
|
label: label,
|
|
339
359
|
onClick: onClick,
|
|
360
|
+
"aria-controls": menuId,
|
|
361
|
+
"aria-expanded": isControlled ? isOpen : isExpanded,
|
|
362
|
+
"aria-haspopup": "true",
|
|
340
363
|
"data-testid": "".concat(hyphenize(label), "-dropdown-icon"),
|
|
341
364
|
disabled: disabled || (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.disabled),
|
|
342
365
|
icon: icon || Down,
|
package/dist/Dropdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sources":["../src/components/Dropdown/Divider.jsx","../src/components/Dropdown/Menu.jsx","../src/components/Dropdown/MenuItem/MenuItem.jsx","../src/components/Dropdown/MenuItem/MenuItemButton.jsx","../src/components/Dropdown/MenuItem/index.js","../src/components/Dropdown/utils.js","../src/components/Dropdown/index.jsx"],"sourcesContent":["import React from \"react\";\n\nconst Divider = props => (\n <li className=\"neeto-ui-dropdown__popup-divider\" {...props} />\n);\n\nexport default Divider;\n","import React, { useEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst itemClassName = \"neeto-ui-dropdown__popup-menu-item-btn\";\n\nconst Menu = ({ children, className, ...otherProps }) => {\n const activeIndexRef = useRef(-1);\n const menuRef = useRef(null);\n\n const onKeyDown = event => {\n const menu = menuRef.current;\n const key = event.key?.toLowerCase();\n let activeIndex = activeIndexRef.current;\n let eventHandled = false;\n\n const items = menu.getElementsByClassName(itemClassName);\n const itemsCount = items.length;\n if (itemsCount === 0) return;\n\n if (key === \"arrowdown\") {\n activeIndex = activeIndex >= itemsCount - 1 ? 0 : activeIndex + 1;\n items[activeIndex].focus();\n eventHandled = true;\n } else if (key === \"arrowup\") {\n activeIndex = activeIndex <= 0 ? itemsCount - 1 : activeIndex - 1;\n items[activeIndex].focus();\n eventHandled = true;\n } else if (key === \"enter\") {\n items[activeIndex].click();\n eventHandled = true;\n }\n\n if (!eventHandled) return;\n activeIndexRef.current = activeIndex;\n event.preventDefault();\n event.stopPropagation();\n };\n\n useEffect(() => {\n const menu = menuRef.current;\n if (menu) menu.focus();\n }, [menuRef]);\n\n return (\n <ul\n {...{ onKeyDown }}\n className={classnames(\"neeto-ui-dropdown__popup-menu\", className)}\n ref={menuRef}\n tabIndex={0}\n {...otherProps}\n >\n {children}\n </ul>\n );\n};\n\nMenu.propTypes = {\n /**\n * To specify className to be applied to the Menu.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Menu.\n */\n children: PropTypes.node,\n};\n\nexport default Menu;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Tooltip from \"components/Tooltip\";\n\nconst MenuItem = ({ children, className, tooltipProps, ...otherProps }) => {\n const renderMenuItem = () => (\n <li\n className={classnames(\"neeto-ui-dropdown__popup-menu-item\", className)}\n {...otherProps}\n >\n {children}\n </li>\n );\n\n if (isPresent(tooltipProps)) {\n return <Tooltip {...tooltipProps}>{renderMenuItem()}</Tooltip>;\n }\n\n return renderMenuItem();\n};\n\nMenuItem.propTypes = {\n /**\n * To specify className to be applied to the MenuItem.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the MenuItem.\n */\n children: PropTypes.node,\n /**\n * To specify the active state of the MenuItem.\n */\n isActive: PropTypes.bool,\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n};\n\nexport default MenuItem;\n","import React, { forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { Link } from \"react-router-dom\";\n\nimport MenuItem from \"./MenuItem\";\n\nconst ITEM_BTN_STYLES = { default: \"default\", danger: \"danger\" };\n\nconst BUTTON_TYPES = { button: \"button\", reset: \"reset\", submit: \"submit\" };\n\nconst MenuItemButton = forwardRef(\n (\n {\n children,\n className,\n isActive,\n isDisabled,\n style = ITEM_BTN_STYLES.default,\n prefix,\n suffix,\n type = BUTTON_TYPES.button,\n to = \"\",\n href = \"\",\n tooltipProps,\n ...otherProps\n },\n ref\n ) => {\n let Parent, elementSpecificProps;\n if (to) {\n Parent = Link;\n elementSpecificProps = { to };\n } else if (href) {\n Parent = \"a\";\n elementSpecificProps = { href };\n } else {\n Parent = \"button\";\n elementSpecificProps = { type };\n }\n\n return (\n <MenuItem {...{ tooltipProps }}>\n <Parent\n disabled={isDisabled}\n className={classnames(\n \"neeto-ui-dropdown__popup-menu-item-btn\",\n className,\n {\n \"neeto-ui-dropdown__popup-menu-item-btn--active\": isActive,\n \"neeto-ui-dropdown__popup-menu-item-btn--disabled\": isDisabled,\n \"neeto-ui-dropdown__popup-menu-item-btn--style-danger\":\n style === ITEM_BTN_STYLES.danger,\n }\n )}\n {...{ ref, ...otherProps, ...elementSpecificProps }}\n >\n {prefix && (\n <div className=\"neeto-ui-dropdown__popup-menu-item-btn__prefix\">\n {prefix}\n </div>\n )}\n {children}\n {suffix && (\n <div className=\"neeto-ui-dropdown__popup-menu-item-btn__suffix\">\n {suffix}\n </div>\n )}\n </Parent>\n </MenuItem>\n );\n }\n);\n\nMenuItemButton.displayName = \"MenuItemButton\";\n\nMenuItemButton.propTypes = {\n /**\n * To specify className to be applied to the MenuItem.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the MenuItem.\n */\n children: PropTypes.node,\n /**\n * To specify the active state of the MenuItem.\n */\n isActive: PropTypes.bool,\n /**\n * To specify whether the MenuItem is disabled.\n */\n isDisabled: PropTypes.bool,\n /**\n * To specify an internal route to which the button points to.\n */\n to: PropTypes.string,\n /**\n * To specify an external link to which the button points to.\n */\n href: PropTypes.string,\n /**\n * To specify the content to be added at the end of the input field.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the input field.\n */\n prefix: PropTypes.node,\n /**\n * To specify the type of button.\n */\n type: PropTypes.oneOf(Object.values(BUTTON_TYPES)),\n /**\n * To specify the style of button.\n */\n style: PropTypes.oneOf(Object.values(ITEM_BTN_STYLES)),\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n};\n\nexport default MenuItemButton;\n","import MenuItem from \"./MenuItem\";\nimport MenuItemButton from \"./MenuItemButton\";\n\nMenuItem.Button = MenuItemButton;\n\nexport default MenuItem;\n","import { getContentDir } from \"utils\";\n\nexport const getDropdownPlacement = placement => {\n if (typeof placement !== \"string\") return placement;\n\n if (getContentDir() !== \"rtl\") return placement;\n\n if (placement.endsWith(\"-start\")) return placement.replace(/-start$/, \"-end\");\n\n if (placement.endsWith(\"-end\")) return placement.replace(/-end$/, \"-start\");\n\n return placement;\n};\n","import React, { useState } from \"react\";\n\nimport Tippy from \"@tippyjs/react\";\nimport classnames from \"classnames\";\nimport { Down } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { isNil } from \"ramda\";\n\nimport Button from \"components/Button\";\nimport { hyphenize, noop } from \"utils\";\n\nimport Divider from \"./Divider\";\nimport Menu from \"./Menu\";\nimport MenuItem from \"./MenuItem\";\nimport { getDropdownPlacement } from \"./utils\";\n\nconst BTN_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n tertiary: \"tertiary\",\n danger: \"danger\",\n danger_text: \"danger-text\",\n text: \"text\",\n link: \"link\",\n};\n\nconst BTN_SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n};\n\nconst STRATEGY = { absolute: \"absolute\", fixed: \"fixed\" };\n\nconst PLACEMENT = {\n auto: \"auto\",\n autoStart: \"auto-start\",\n autoEnd: \"auto-end\",\n top: \"top\",\n topStart: \"top-start\",\n topEnd: \"top-end\",\n bottom: \"bottom\",\n bottomStart: \"bottom-start\",\n bottomEnd: \"bottom-end\",\n right: \"right\",\n rightStart: \"right-start\",\n rightEnd: \"right-end\",\n left: \"left\",\n leftStart: \"left-start\",\n leftEnd: \"left-end\",\n};\n\nconst TRIGGERS = {\n click: \"click\",\n hover: \"mouseenter focus\",\n all: \"mouseenter focus click\",\n manual: \"manual\",\n};\n\nconst hideOnEsc = {\n name: \"hideOnEsc\",\n defaultValue: true,\n fn({ hide, props: { hideOnEsc } }) {\n function onKeyDown(event) {\n if (event.key?.toLowerCase() === \"escape\" && hideOnEsc) hide();\n }\n\n return {\n onShow() {\n document.addEventListener(\"keydown\", onKeyDown);\n },\n onHide() {\n document.removeEventListener(\"keydown\", onKeyDown);\n },\n };\n },\n};\n\nconst plugins = [hideOnEsc];\n\nconst Dropdown = ({\n icon,\n label,\n isOpen,\n onClose = noop,\n dropdownProps = {},\n position = PLACEMENT.bottomEnd,\n placement = position,\n children,\n className,\n buttonStyle = BTN_STYLES.primary,\n buttonSize = BTN_SIZES.medium,\n buttonProps: { style, size, ...buttonProps } = {},\n customTarget,\n disabled = false,\n closeOnEsc = true,\n closeOnSelect = true,\n closeOnOutsideClick = true,\n dropdownModifiers = [],\n trigger = TRIGGERS.click,\n strategy = STRATEGY.absolute,\n onClick,\n ...otherProps\n}) => {\n const [instance, setInstance] = useState(null);\n const [mounted, setMounted] = useState(false);\n\n const isControlled = !isNil(isOpen);\n\n const controlledProps = isControlled\n ? { visible: isOpen }\n : { onClickOutside: () => closeOnOutsideClick };\n\n const {\n classNames: dropdownClassnames,\n className: dropdownClassName,\n ...otherDropdownProps\n } = dropdownProps;\n\n const close = () => instance.hide();\n\n return (\n <Tippy\n interactive\n animation={false}\n arrow={false}\n duration={0}\n // hideOnClick determines whether the dropdown should be hidden when the user clicks outside of the dropdown.\n // https://atomiks.github.io/tippyjs/v6/all-props/#hideonclick\n hideOnClick={isControlled ? undefined : closeOnOutsideClick || \"toggle\"}\n hideOnEsc={closeOnEsc}\n maxWidth=\"none\"\n offset={0}\n placement={getDropdownPlacement(placement)}\n popperOptions={{ strategy, modifiers: dropdownModifiers }}\n role=\"dropdown\"\n theme=\"light\"\n trigger={isControlled ? undefined : TRIGGERS[trigger]}\n className={classnames(\"neeto-ui-dropdown\", {\n [className]: className,\n })}\n content={\n mounted ? (\n <div\n data-testid={`${hyphenize(label)}-dropdown-container`}\n className={classnames(\"neeto-ui-dropdown__popup\", {\n [dropdownClassName]: dropdownClassName,\n [dropdownClassnames]: dropdownClassnames,\n })}\n onClick={closeOnSelect ? close : noop}\n {...otherDropdownProps}\n >\n {children}\n </div>\n ) : null\n }\n onCreate={instance => instance && setInstance(instance)}\n onMount={() => setMounted(true)}\n onHidden={() => {\n onClose();\n setMounted(false);\n }}\n {...{ disabled, plugins, ...otherProps, ...controlledProps }}\n >\n {customTarget ? (\n <span\n {...{ onClick }}\n className={classnames({ \"neeto-ui-cursor-not-allowed\": disabled })}\n >\n {typeof customTarget === \"function\" ? customTarget() : customTarget}\n </span>\n ) : (\n <Button\n {...{ label, onClick }}\n data-testid={`${hyphenize(label)}-dropdown-icon`}\n disabled={disabled || buttonProps?.disabled}\n icon={icon || Down}\n iconPosition=\"right\"\n size={size ?? buttonSize}\n style={style ?? buttonStyle}\n {...buttonProps}\n />\n )}\n </Tippy>\n );\n};\n\nDropdown.Menu = Menu;\nDropdown.MenuItem = MenuItem;\nDropdown.Divider = Divider;\n\nDropdown.propTypes = {\n /**\n * To specify the icon to be rendered in the Dropdown target.\n */\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * To specify the label for Dropdown target button.\n */\n label: PropTypes.string,\n /**\n * To specify whether the Dropdown is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the action to be triggered on closing the Dropdown.\n */\n onClose: PropTypes.func,\n /**\n * To specify the triggering action for Dropdown.\n */\n trigger: PropTypes.oneOf(Object.keys(TRIGGERS)),\n /**\n * To specify the positioning strategy to use. By default, it is absolute, which in the simplest cases does not require repositioning of the Dropdown.\n *\n * If your reference element is in a fixed container, use the fixed strategy\n */\n strategy: PropTypes.oneOf(Object.values(STRATEGY)),\n /**\n * To specify the classes to be passed to the Dropdown menu.\n */\n dropdownProps: PropTypes.object,\n /**\n * To specify the position of the Dropdown menu.\n */\n position: PropTypes.oneOf(Object.values(PLACEMENT)),\n /**\n * To specify the content to be rendered inside the Dropdown.\n */\n children: PropTypes.node,\n /**\n * To provide external classnames to Dropdown target wrapper.\n */\n className: PropTypes.string,\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 size of the button to be rendered as the Dropdown target.\n */\n buttonSize: PropTypes.oneOf(Object.values(BTN_SIZES)),\n /**\n * To specify the style of the button to be rendered as the Dropdown target.\n */\n buttonStyle: PropTypes.oneOf(Object.values(BTN_STYLES)),\n /**\n * To specify the props to be passed to the Dropdown target button.\n */\n buttonProps: PropTypes.object,\n /**\n * To provide a custom target to be rendered instead of the default button target.\n */\n customTarget: PropTypes.node,\n /**\n * To specify whether the Dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on pressing esc key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on selecting an option.\n */\n closeOnSelect: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on clicking outside the Dropdown content. (will not have any effect if the component is controlled.)\n */\n closeOnOutsideClick: PropTypes.bool,\n /**\n * To provide custom modifiers to Dropdown component.\n */\n dropdownModifiers: PropTypes.array,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-danger mb-2\">\n * Removed\n * </div>\n * _Use `dropdownProps` props instead._\n *\n */\n ulProps: PropTypes.object,\n /**\n * To specify the action that should be triggered when clicking outside of the controlled dropdown component.\n */\n onClickOutside: PropTypes.func,\n};\n\nexport default Dropdown;\n"],"names":["Divider","props","_jsx","_objectSpread","className","itemClassName","Menu","_ref","children","otherProps","_objectWithoutProperties","_excluded","activeIndexRef","useRef","menuRef","onKeyDown","event","_event$key","menu","current","key","toLowerCase","activeIndex","eventHandled","items","getElementsByClassName","itemsCount","length","focus","click","preventDefault","stopPropagation","useEffect","classnames","ref","tabIndex","MenuItem","tooltipProps","renderMenuItem","isPresent","Tooltip","ITEM_BTN_STYLES","danger","BUTTON_TYPES","button","MenuItemButton","forwardRef","isActive","isDisabled","_ref$style","style","prefix","suffix","_ref$type","type","_ref$to","to","_ref$href","href","Parent","elementSpecificProps","Link","_jsxs","disabled","displayName","Button","getDropdownPlacement","placement","getContentDir","endsWith","replace","BTN_STYLES","primary","BTN_SIZES","small","medium","STRATEGY","absolute","PLACEMENT","auto","bottomEnd","TRIGGERS","hover","all","manual","hideOnEsc","name","defaultValue","fn","hide","onShow","document","addEventListener","onHide","removeEventListener","plugins","Dropdown","_ref2","icon","label","isOpen","_ref2$onClose","onClose","noop","_ref2$dropdownProps","dropdownProps","_ref2$position","position","_ref2$placement","_ref2$buttonStyle","buttonStyle","_ref2$buttonSize","buttonSize","_ref2$buttonProps","buttonProps","_ref2$buttonProps2","size","customTarget","_ref2$disabled","_ref2$closeOnEsc","closeOnEsc","_ref2$closeOnSelect","closeOnSelect","_ref2$closeOnOutsideC","closeOnOutsideClick","_ref2$dropdownModifie","dropdownModifiers","_ref2$trigger","trigger","_ref2$strategy","strategy","onClick","_excluded2","_useState","useState","_useState2","_slicedToArray","instance","setInstance","_useState3","_useState4","mounted","setMounted","isControlled","isNil","controlledProps","visible","onClickOutside","dropdownClassnames","classNames","dropdownClassName","otherDropdownProps","_excluded3","close","Tippy","interactive","animation","arrow","duration","hideOnClick","undefined","maxWidth","offset","popperOptions","modifiers","role","theme","_defineProperty","content","concat","hyphenize","onCreate","onMount","onHidden","Down","iconPosition"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../src/components/Dropdown/Divider.jsx","../src/components/Dropdown/Menu.jsx","../src/components/Dropdown/MenuItem/MenuItem.jsx","../src/components/Dropdown/MenuItem/MenuItemButton.jsx","../src/components/Dropdown/MenuItem/index.js","../src/components/Dropdown/utils.js","../src/components/Dropdown/index.jsx"],"sourcesContent":["import React from \"react\";\n\nconst Divider = props => (\n <li\n aria-orientation=\"horizontal\"\n className=\"neeto-ui-dropdown__popup-divider\"\n role=\"separator\"\n {...props}\n />\n);\n\nexport default Divider;\n","import React, { useEffect, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst itemClassName = \"neeto-ui-dropdown__popup-menu-item-btn\";\n\nconst Menu = ({ children, className, ...otherProps }) => {\n const activeIndexRef = useRef(-1);\n const menuRef = useRef(null);\n\n const onKeyDown = event => {\n const menu = menuRef.current;\n const key = event.key?.toLowerCase();\n let activeIndex = activeIndexRef.current;\n let eventHandled = false;\n\n const items = menu.getElementsByClassName(itemClassName);\n const itemsCount = items.length;\n if (itemsCount === 0) return;\n\n if (key === \"arrowdown\") {\n activeIndex = activeIndex >= itemsCount - 1 ? 0 : activeIndex + 1;\n items[activeIndex].focus();\n eventHandled = true;\n } else if (key === \"arrowup\") {\n activeIndex = activeIndex <= 0 ? itemsCount - 1 : activeIndex - 1;\n items[activeIndex].focus();\n eventHandled = true;\n } else if (key === \"enter\") {\n items[activeIndex].click();\n eventHandled = true;\n }\n\n if (!eventHandled) return;\n activeIndexRef.current = activeIndex;\n event.preventDefault();\n event.stopPropagation();\n };\n\n useEffect(() => {\n const menu = menuRef.current;\n if (menu) menu.focus();\n }, [menuRef]);\n\n return (\n <ul\n {...{ onKeyDown }}\n className={classnames(\"neeto-ui-dropdown__popup-menu\", className)}\n ref={menuRef}\n tabIndex={0}\n {...otherProps}\n >\n {children}\n </ul>\n );\n};\n\nMenu.propTypes = {\n /**\n * To specify className to be applied to the Menu.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Menu.\n */\n children: PropTypes.node,\n};\n\nexport default Menu;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Tooltip from \"components/Tooltip\";\n\nconst MenuItem = ({ children, className, tooltipProps, ...otherProps }) => {\n const renderMenuItem = () => (\n <li\n className={classnames(\"neeto-ui-dropdown__popup-menu-item\", className)}\n role=\"menuitem\"\n {...otherProps}\n >\n {children}\n </li>\n );\n\n if (isPresent(tooltipProps)) {\n return <Tooltip {...tooltipProps}>{renderMenuItem()}</Tooltip>;\n }\n\n return renderMenuItem();\n};\n\nMenuItem.propTypes = {\n /**\n * To specify className to be applied to the MenuItem.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the MenuItem.\n */\n children: PropTypes.node,\n /**\n * To specify the active state of the MenuItem.\n */\n isActive: PropTypes.bool,\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n};\n\nexport default MenuItem;\n","import React, { forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { Link } from \"react-router-dom\";\n\nimport MenuItem from \"./MenuItem\";\n\nconst ITEM_BTN_STYLES = { default: \"default\", danger: \"danger\" };\n\nconst BUTTON_TYPES = { button: \"button\", reset: \"reset\", submit: \"submit\" };\n\nconst MenuItemButton = forwardRef(\n (\n {\n children,\n className,\n isActive,\n isDisabled,\n style = ITEM_BTN_STYLES.default,\n prefix,\n suffix,\n type = BUTTON_TYPES.button,\n to = \"\",\n href = \"\",\n tooltipProps,\n ...otherProps\n },\n ref\n ) => {\n let Parent, elementSpecificProps;\n if (to) {\n Parent = Link;\n elementSpecificProps = { to };\n } else if (href) {\n Parent = \"a\";\n elementSpecificProps = { href };\n } else {\n Parent = \"button\";\n elementSpecificProps = { type };\n }\n\n return (\n <MenuItem {...{ tooltipProps }}>\n <Parent\n disabled={isDisabled}\n className={classnames(\n \"neeto-ui-dropdown__popup-menu-item-btn\",\n className,\n {\n \"neeto-ui-dropdown__popup-menu-item-btn--active\": isActive,\n \"neeto-ui-dropdown__popup-menu-item-btn--disabled\": isDisabled,\n \"neeto-ui-dropdown__popup-menu-item-btn--style-danger\":\n style === ITEM_BTN_STYLES.danger,\n }\n )}\n {...{ ref, ...otherProps, ...elementSpecificProps }}\n >\n {prefix && (\n <div className=\"neeto-ui-dropdown__popup-menu-item-btn__prefix\">\n {prefix}\n </div>\n )}\n {children}\n {suffix && (\n <div className=\"neeto-ui-dropdown__popup-menu-item-btn__suffix\">\n {suffix}\n </div>\n )}\n </Parent>\n </MenuItem>\n );\n }\n);\n\nMenuItemButton.displayName = \"MenuItemButton\";\n\nMenuItemButton.propTypes = {\n /**\n * To specify className to be applied to the MenuItem.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the MenuItem.\n */\n children: PropTypes.node,\n /**\n * To specify the active state of the MenuItem.\n */\n isActive: PropTypes.bool,\n /**\n * To specify whether the MenuItem is disabled.\n */\n isDisabled: PropTypes.bool,\n /**\n * To specify an internal route to which the button points to.\n */\n to: PropTypes.string,\n /**\n * To specify an external link to which the button points to.\n */\n href: PropTypes.string,\n /**\n * To specify the content to be added at the end of the input field.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the input field.\n */\n prefix: PropTypes.node,\n /**\n * To specify the type of button.\n */\n type: PropTypes.oneOf(Object.values(BUTTON_TYPES)),\n /**\n * To specify the style of button.\n */\n style: PropTypes.oneOf(Object.values(ITEM_BTN_STYLES)),\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n};\n\nexport default MenuItemButton;\n","import MenuItem from \"./MenuItem\";\nimport MenuItemButton from \"./MenuItemButton\";\n\nMenuItem.Button = MenuItemButton;\n\nexport default MenuItem;\n","import { getContentDir } from \"utils\";\n\nexport const getDropdownPlacement = placement => {\n if (typeof placement !== \"string\") return placement;\n\n if (getContentDir() !== \"rtl\") return placement;\n\n if (placement.endsWith(\"-start\")) return placement.replace(/-start$/, \"-end\");\n\n if (placement.endsWith(\"-end\")) return placement.replace(/-end$/, \"-start\");\n\n return placement;\n};\n","import React, { useState } from \"react\";\n\nimport Tippy from \"@tippyjs/react\";\nimport classnames from \"classnames\";\nimport { Down } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { isNil } from \"ramda\";\n\nimport Button from \"components/Button\";\nimport { useId } from \"hooks\";\nimport { hyphenize, noop } from \"utils\";\n\nimport Divider from \"./Divider\";\nimport Menu from \"./Menu\";\nimport MenuItem from \"./MenuItem\";\nimport { getDropdownPlacement } from \"./utils\";\n\nconst BTN_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n tertiary: \"tertiary\",\n danger: \"danger\",\n danger_text: \"danger-text\",\n text: \"text\",\n link: \"link\",\n};\n\nconst BTN_SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n};\n\nconst STRATEGY = { absolute: \"absolute\", fixed: \"fixed\" };\n\nconst PLACEMENT = {\n auto: \"auto\",\n autoStart: \"auto-start\",\n autoEnd: \"auto-end\",\n top: \"top\",\n topStart: \"top-start\",\n topEnd: \"top-end\",\n bottom: \"bottom\",\n bottomStart: \"bottom-start\",\n bottomEnd: \"bottom-end\",\n right: \"right\",\n rightStart: \"right-start\",\n rightEnd: \"right-end\",\n left: \"left\",\n leftStart: \"left-start\",\n leftEnd: \"left-end\",\n};\n\nconst TRIGGERS = {\n click: \"click\",\n hover: \"mouseenter focus\",\n all: \"mouseenter focus click\",\n manual: \"manual\",\n};\n\nconst hideOnEsc = {\n name: \"hideOnEsc\",\n defaultValue: true,\n fn({ hide, props: { hideOnEsc } }) {\n function onKeyDown(event) {\n if (event.key?.toLowerCase() === \"escape\" && hideOnEsc) hide();\n }\n\n return {\n onShow() {\n document.addEventListener(\"keydown\", onKeyDown);\n },\n onHide() {\n document.removeEventListener(\"keydown\", onKeyDown);\n },\n };\n },\n};\n\nconst plugins = [hideOnEsc];\n\nconst Dropdown = ({\n icon,\n label,\n isOpen,\n onClose = noop,\n dropdownProps = {},\n position = PLACEMENT.bottomEnd,\n placement = position,\n children,\n className,\n buttonStyle = BTN_STYLES.primary,\n buttonSize = BTN_SIZES.medium,\n buttonProps: { style, size, ...buttonProps } = {},\n customTarget,\n disabled = false,\n closeOnEsc = true,\n closeOnSelect = true,\n closeOnOutsideClick = true,\n dropdownModifiers = [],\n trigger = TRIGGERS.click,\n strategy = STRATEGY.absolute,\n onClick,\n ...otherProps\n}) => {\n const [instance, setInstance] = useState(null);\n const [mounted, setMounted] = useState(false);\n const [isExpanded, setIsExpanded] = useState(false);\n const menuId = useId();\n\n const isControlled = !isNil(isOpen);\n\n const controlledProps = isControlled\n ? { visible: isOpen }\n : { onClickOutside: () => closeOnOutsideClick };\n\n const {\n classNames: dropdownClassnames,\n className: dropdownClassName,\n ...otherDropdownProps\n } = dropdownProps;\n\n const close = () => instance.hide();\n\n return (\n <Tippy\n interactive\n animation={false}\n aria={{ content: null, expanded: false }}\n arrow={false}\n duration={0}\n // hideOnClick determines whether the dropdown should be hidden when the user clicks outside of the dropdown.\n // https://atomiks.github.io/tippyjs/v6/all-props/#hideonclick\n hideOnClick={isControlled ? undefined : closeOnOutsideClick || \"toggle\"}\n hideOnEsc={closeOnEsc}\n maxWidth=\"none\"\n offset={0}\n placement={getDropdownPlacement(placement)}\n popperOptions={{ strategy, modifiers: dropdownModifiers }}\n theme=\"light\"\n trigger={isControlled ? undefined : TRIGGERS[trigger]}\n className={classnames(\"neeto-ui-dropdown\", {\n [className]: className,\n })}\n content={\n mounted ? (\n <div\n data-testid={`${hyphenize(label)}-dropdown-container`}\n id={menuId}\n role=\"menu\"\n className={classnames(\"neeto-ui-dropdown__popup\", {\n [dropdownClassName]: dropdownClassName,\n [dropdownClassnames]: dropdownClassnames,\n })}\n onClick={closeOnSelect ? close : noop}\n {...otherDropdownProps}\n >\n {children}\n </div>\n ) : null\n }\n onCreate={instance => instance && setInstance(instance)}\n onMount={() => setMounted(true)}\n onShow={() => setIsExpanded(true)}\n onHidden={() => {\n onClose();\n setMounted(false);\n setIsExpanded(false);\n }}\n {...{ disabled, plugins, ...otherProps, ...controlledProps }}\n >\n {customTarget ? (\n <span\n {...{ onClick }}\n className={classnames({ \"neeto-ui-cursor-not-allowed\": disabled })}\n >\n {typeof customTarget === \"function\" ? customTarget() : customTarget}\n </span>\n ) : (\n <Button\n {...{ label, onClick }}\n aria-controls={menuId}\n aria-expanded={isControlled ? isOpen : isExpanded}\n aria-haspopup=\"true\"\n data-testid={`${hyphenize(label)}-dropdown-icon`}\n disabled={disabled || buttonProps?.disabled}\n icon={icon || Down}\n iconPosition=\"right\"\n size={size ?? buttonSize}\n style={style ?? buttonStyle}\n {...buttonProps}\n />\n )}\n </Tippy>\n );\n};\n\nDropdown.Menu = Menu;\nDropdown.MenuItem = MenuItem;\nDropdown.Divider = Divider;\n\nDropdown.propTypes = {\n /**\n * To specify the icon to be rendered in the Dropdown target.\n */\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * To specify the label for Dropdown target button.\n */\n label: PropTypes.string,\n /**\n * To specify whether the Dropdown is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the action to be triggered on closing the Dropdown.\n */\n onClose: PropTypes.func,\n /**\n * To specify the triggering action for Dropdown.\n */\n trigger: PropTypes.oneOf(Object.keys(TRIGGERS)),\n /**\n * To specify the positioning strategy to use. By default, it is absolute, which in the simplest cases does not require repositioning of the Dropdown.\n *\n * If your reference element is in a fixed container, use the fixed strategy\n */\n strategy: PropTypes.oneOf(Object.values(STRATEGY)),\n /**\n * To specify the classes to be passed to the Dropdown menu.\n */\n dropdownProps: PropTypes.object,\n /**\n * To specify the position of the Dropdown menu.\n */\n position: PropTypes.oneOf(Object.values(PLACEMENT)),\n /**\n * To specify the content to be rendered inside the Dropdown.\n */\n children: PropTypes.node,\n /**\n * To provide external classnames to Dropdown target wrapper.\n */\n className: PropTypes.string,\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 size of the button to be rendered as the Dropdown target.\n */\n buttonSize: PropTypes.oneOf(Object.values(BTN_SIZES)),\n /**\n * To specify the style of the button to be rendered as the Dropdown target.\n */\n buttonStyle: PropTypes.oneOf(Object.values(BTN_STYLES)),\n /**\n * To specify the props to be passed to the Dropdown target button.\n */\n buttonProps: PropTypes.object,\n /**\n * To provide a custom target to be rendered instead of the default button target.\n */\n customTarget: PropTypes.node,\n /**\n * To specify whether the Dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on pressing esc key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on selecting an option.\n */\n closeOnSelect: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on clicking outside the Dropdown content. (will not have any effect if the component is controlled.)\n */\n closeOnOutsideClick: PropTypes.bool,\n /**\n * To provide custom modifiers to Dropdown component.\n */\n dropdownModifiers: PropTypes.array,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-danger mb-2\">\n * Removed\n * </div>\n * _Use `dropdownProps` props instead._\n *\n */\n ulProps: PropTypes.object,\n /**\n * To specify the action that should be triggered when clicking outside of the controlled dropdown component.\n */\n onClickOutside: PropTypes.func,\n};\n\nexport default Dropdown;\n"],"names":["Divider","props","_jsx","_objectSpread","className","role","itemClassName","Menu","_ref","children","otherProps","_objectWithoutProperties","_excluded","activeIndexRef","useRef","menuRef","onKeyDown","event","_event$key","menu","current","key","toLowerCase","activeIndex","eventHandled","items","getElementsByClassName","itemsCount","length","focus","click","preventDefault","stopPropagation","useEffect","classnames","ref","tabIndex","MenuItem","tooltipProps","renderMenuItem","isPresent","Tooltip","ITEM_BTN_STYLES","danger","BUTTON_TYPES","button","MenuItemButton","forwardRef","isActive","isDisabled","_ref$style","style","prefix","suffix","_ref$type","type","_ref$to","to","_ref$href","href","Parent","elementSpecificProps","Link","_jsxs","disabled","displayName","Button","getDropdownPlacement","placement","getContentDir","endsWith","replace","BTN_STYLES","primary","BTN_SIZES","small","medium","STRATEGY","absolute","PLACEMENT","auto","bottomEnd","TRIGGERS","hover","all","manual","hideOnEsc","name","defaultValue","fn","hide","onShow","document","addEventListener","onHide","removeEventListener","plugins","Dropdown","_ref2","icon","label","isOpen","_ref2$onClose","onClose","noop","_ref2$dropdownProps","dropdownProps","_ref2$position","position","_ref2$placement","_ref2$buttonStyle","buttonStyle","_ref2$buttonSize","buttonSize","_ref2$buttonProps","buttonProps","_ref2$buttonProps2","size","customTarget","_ref2$disabled","_ref2$closeOnEsc","closeOnEsc","_ref2$closeOnSelect","closeOnSelect","_ref2$closeOnOutsideC","closeOnOutsideClick","_ref2$dropdownModifie","dropdownModifiers","_ref2$trigger","trigger","_ref2$strategy","strategy","onClick","_excluded2","_useState","useState","_useState2","_slicedToArray","instance","setInstance","_useState3","_useState4","mounted","setMounted","_useState5","_useState6","isExpanded","setIsExpanded","menuId","useId","isControlled","isNil","controlledProps","visible","onClickOutside","dropdownClassnames","classNames","dropdownClassName","otherDropdownProps","_excluded3","close","Tippy","interactive","animation","aria","content","expanded","arrow","duration","hideOnClick","undefined","maxWidth","offset","popperOptions","modifiers","theme","_defineProperty","concat","hyphenize","id","onCreate","onMount","onHidden","Down","iconPosition"],"mappings":"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"}
|
package/dist/Modal.js
CHANGED
|
@@ -4,23 +4,19 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
|
|
|
4
4
|
import React__default, { useState, useRef } from 'react';
|
|
5
5
|
import classnames from 'classnames';
|
|
6
6
|
import Close from '@bigbinary/neeto-icons/Close';
|
|
7
|
-
import { u as useOverlayManager, a as useOverlay, P as Portal, C as CSSTransition, B as Backdrop } from './
|
|
7
|
+
import { u as useOverlayManager, a as useOverlay, P as Portal, C as CSSTransition, B as Backdrop } from './Portal-NkYu4tSU.js';
|
|
8
8
|
import Button from './Button.js';
|
|
9
9
|
import 'react-router-dom';
|
|
10
10
|
import 'qs';
|
|
11
11
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
12
12
|
import Typography from './Typography.js';
|
|
13
|
-
import '@babel/runtime/helpers/esm/extends';
|
|
14
|
-
import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
|
|
15
|
-
import '@babel/runtime/helpers/esm/inheritsLoose';
|
|
16
|
-
import 'react-dom';
|
|
17
|
-
import 'ramda';
|
|
18
13
|
import '@bigbinary/neeto-hotkeys';
|
|
19
14
|
import './overlayManager.js';
|
|
20
15
|
import '@babel/runtime/helpers/classCallCheck';
|
|
21
16
|
import '@babel/runtime/helpers/createClass';
|
|
22
17
|
import './index-t5NRFwPy.js';
|
|
23
18
|
import '@bigbinary/neeto-cist';
|
|
19
|
+
import 'ramda';
|
|
24
20
|
import './en-DVlE9xuu.js';
|
|
25
21
|
import '@babel/runtime/helpers/toConsumableArray';
|
|
26
22
|
import 'dayjs';
|
|
@@ -29,6 +25,10 @@ import 'dayjs/plugin/utc';
|
|
|
29
25
|
import 'dayjs/plugin/weekday';
|
|
30
26
|
import 'dayjs/plugin/weekOfYear';
|
|
31
27
|
import 'i18next';
|
|
28
|
+
import '@babel/runtime/helpers/esm/extends';
|
|
29
|
+
import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
|
|
30
|
+
import '@babel/runtime/helpers/esm/inheritsLoose';
|
|
31
|
+
import 'react-dom';
|
|
32
32
|
import './Spinner.js';
|
|
33
33
|
import './Tooltip.js';
|
|
34
34
|
import '@tippyjs/react';
|
package/dist/Pane.js
CHANGED
|
@@ -4,22 +4,18 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
|
|
|
4
4
|
import { useState, useRef, useEffect } from 'react';
|
|
5
5
|
import classnames from 'classnames';
|
|
6
6
|
import Close from '@bigbinary/neeto-icons/Close';
|
|
7
|
-
import { u as useOverlayManager, a as useOverlay, P as Portal, C as CSSTransition, B as Backdrop } from './
|
|
7
|
+
import { u as useOverlayManager, a as useOverlay, P as Portal, C as CSSTransition, B as Backdrop } from './Portal-NkYu4tSU.js';
|
|
8
8
|
import Button from './Button.js';
|
|
9
9
|
import 'react-router-dom';
|
|
10
10
|
import 'qs';
|
|
11
11
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
12
|
-
import '@babel/runtime/helpers/esm/extends';
|
|
13
|
-
import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
|
|
14
|
-
import '@babel/runtime/helpers/esm/inheritsLoose';
|
|
15
|
-
import 'react-dom';
|
|
16
|
-
import 'ramda';
|
|
17
12
|
import '@bigbinary/neeto-hotkeys';
|
|
18
13
|
import './overlayManager.js';
|
|
19
14
|
import '@babel/runtime/helpers/classCallCheck';
|
|
20
15
|
import '@babel/runtime/helpers/createClass';
|
|
21
16
|
import './index-t5NRFwPy.js';
|
|
22
17
|
import '@bigbinary/neeto-cist';
|
|
18
|
+
import 'ramda';
|
|
23
19
|
import './en-DVlE9xuu.js';
|
|
24
20
|
import '@babel/runtime/helpers/toConsumableArray';
|
|
25
21
|
import 'dayjs';
|
|
@@ -28,6 +24,10 @@ import 'dayjs/plugin/utc';
|
|
|
28
24
|
import 'dayjs/plugin/weekday';
|
|
29
25
|
import 'dayjs/plugin/weekOfYear';
|
|
30
26
|
import 'i18next';
|
|
27
|
+
import '@babel/runtime/helpers/esm/extends';
|
|
28
|
+
import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
|
|
29
|
+
import '@babel/runtime/helpers/esm/inheritsLoose';
|
|
30
|
+
import 'react-dom';
|
|
31
31
|
import './Spinner.js';
|
|
32
32
|
import './Tooltip.js';
|
|
33
33
|
import '@tippyjs/react';
|
|
@@ -1,15 +1,130 @@
|
|
|
1
|
+
import React__default, { useEffect, useRef, useCallback, useSyncExternalStore, forwardRef } from 'react';
|
|
2
|
+
import useHotKeys from '@bigbinary/neeto-hotkeys';
|
|
3
|
+
import { manager } from './overlayManager.js';
|
|
4
|
+
import { t as trapFocusOnFocusableElements, d as hideScrollAndAddMargin, e as showScrollAndRemoveMargin, n as noop$1, f as focusFirstFocusableElement } from './index-t5NRFwPy.js';
|
|
1
5
|
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
6
|
import _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
|
|
3
7
|
import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';
|
|
4
|
-
import React__default, { forwardRef, useRef, useEffect, useCallback, useSyncExternalStore } from 'react';
|
|
5
8
|
import ReactDOM, { createPortal } from 'react-dom';
|
|
6
9
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
7
10
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
8
11
|
import { jsx } from 'react/jsx-runtime';
|
|
9
12
|
import { isEmpty } from 'ramda';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
|
|
14
|
+
var useOnClickOutside = function useOnClickOutside(insideRef, outsideRef, handler) {
|
|
15
|
+
useEffect(function () {
|
|
16
|
+
var listener = function listener(event) {
|
|
17
|
+
// Do nothing if clicking ref's element or descendent elements
|
|
18
|
+
if (!insideRef.current || insideRef.current.contains(event.target)) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (outsideRef.current) {
|
|
22
|
+
// If Outside ref exists, trigger the handler if it contains the event target.
|
|
23
|
+
if (outsideRef.current.contains(event.target)) {
|
|
24
|
+
handler(event);
|
|
25
|
+
}
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
handler(event);
|
|
29
|
+
};
|
|
30
|
+
document.addEventListener("mousedown", listener);
|
|
31
|
+
document.addEventListener("touchstart", listener);
|
|
32
|
+
return function () {
|
|
33
|
+
document.removeEventListener("mousedown", listener);
|
|
34
|
+
document.removeEventListener("touchstart", listener);
|
|
35
|
+
};
|
|
36
|
+
}, [insideRef, outsideRef, handler]);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
var useOverlay = function useOverlay(_ref) {
|
|
40
|
+
var _document$body;
|
|
41
|
+
var isOpen = _ref.isOpen,
|
|
42
|
+
initialFocusRef = _ref.initialFocusRef,
|
|
43
|
+
finalFocusRef = _ref.finalFocusRef,
|
|
44
|
+
overlayWrapper = _ref.overlayWrapper,
|
|
45
|
+
onClose = _ref.onClose,
|
|
46
|
+
backdropRef = _ref.backdropRef,
|
|
47
|
+
closeOnOutsideClick = _ref.closeOnOutsideClick,
|
|
48
|
+
closeOnEsc = _ref.closeOnEsc,
|
|
49
|
+
blockScrollOnMount = _ref.blockScrollOnMount,
|
|
50
|
+
hasTransitionCompleted = _ref.hasTransitionCompleted;
|
|
51
|
+
var elementToFocusRef = useRef(null);
|
|
52
|
+
var bodyHeight = (_document$body = document.body) === null || _document$body === void 0 ? void 0 : _document$body.offsetHeight;
|
|
53
|
+
var windowHeight = window.innerHeight;
|
|
54
|
+
var hasScroll = bodyHeight > windowHeight;
|
|
55
|
+
var shouldHideScrollAndAddMargin = hasScroll && blockScrollOnMount && manager.hasOverlays();
|
|
56
|
+
var returnFocusToPreviousActiveElement = function returnFocusToPreviousActiveElement() {
|
|
57
|
+
elementToFocusRef.current = manager.getFinalFocusInOverlay();
|
|
58
|
+
if (!(finalFocusRef !== null && finalFocusRef !== void 0 && finalFocusRef.current)) {
|
|
59
|
+
var _elementToFocusRef$cu;
|
|
60
|
+
elementToFocusRef === null || elementToFocusRef === void 0 ? void 0 : (_elementToFocusRef$cu = elementToFocusRef.current) === null || _elementToFocusRef$cu === void 0 ? void 0 : _elementToFocusRef$cu.focus();
|
|
61
|
+
} else {
|
|
62
|
+
finalFocusRef.current.focus();
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
var focusRequiredElementInOverlay = function focusRequiredElementInOverlay() {
|
|
66
|
+
var _initialFocusRef;
|
|
67
|
+
if (!hasTransitionCompleted) return;
|
|
68
|
+
if ((_initialFocusRef = initialFocusRef) !== null && _initialFocusRef !== void 0 && _initialFocusRef.current) {
|
|
69
|
+
var _initialFocusRef2, _initialFocusRef2$cur;
|
|
70
|
+
(_initialFocusRef2 = initialFocusRef) === null || _initialFocusRef2 === void 0 ? void 0 : (_initialFocusRef2$cur = _initialFocusRef2.current) === null || _initialFocusRef2$cur === void 0 ? void 0 : _initialFocusRef2$cur.focus();
|
|
71
|
+
} else {
|
|
72
|
+
focusFirstFocusableElement(overlayWrapper);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
var handleOverlayClose = useCallback(function () {
|
|
76
|
+
if (!manager.isTopOverlay(overlayWrapper)) return;
|
|
77
|
+
returnFocusToPreviousActiveElement();
|
|
78
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
79
|
+
}, [onClose]);
|
|
80
|
+
useOnClickOutside(overlayWrapper, backdropRef, closeOnOutsideClick ? handleOverlayClose : noop$1);
|
|
81
|
+
var isTopOverlay = useSyncExternalStore(manager.subscribe, function () {
|
|
82
|
+
return manager.isTopOverlay(overlayWrapper);
|
|
83
|
+
});
|
|
84
|
+
useHotKeys("escape", handleOverlayClose, {
|
|
85
|
+
enabled: closeOnEsc && isOpen && isTopOverlay,
|
|
86
|
+
mode: "global"
|
|
87
|
+
});
|
|
88
|
+
useEffect(function () {
|
|
89
|
+
var cleanUp = noop$1;
|
|
90
|
+
if (isOpen) {
|
|
91
|
+
if (hasTransitionCompleted && isTopOverlay) {
|
|
92
|
+
focusRequiredElementInOverlay();
|
|
93
|
+
// Enable focus trap only for the topmost overlay
|
|
94
|
+
cleanUp = trapFocusOnFocusableElements(overlayWrapper);
|
|
95
|
+
}
|
|
96
|
+
if (shouldHideScrollAndAddMargin) hideScrollAndAddMargin();
|
|
97
|
+
}
|
|
98
|
+
return function () {
|
|
99
|
+
if (!manager.hasOverlays()) showScrollAndRemoveMargin();
|
|
100
|
+
cleanUp();
|
|
101
|
+
};
|
|
102
|
+
}, [isOpen, hasTransitionCompleted, isTopOverlay]);
|
|
103
|
+
var setFocusField = function setFocusField(fieldRef) {
|
|
104
|
+
if (!fieldRef) return;
|
|
105
|
+
initialFocusRef = {
|
|
106
|
+
current: fieldRef
|
|
107
|
+
};
|
|
108
|
+
if (hasTransitionCompleted) focusRequiredElementInOverlay();
|
|
109
|
+
};
|
|
110
|
+
return {
|
|
111
|
+
handleOverlayClose: handleOverlayClose,
|
|
112
|
+
setFocusField: setFocusField,
|
|
113
|
+
isTopOverlay: isTopOverlay
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
var useOverlayManager = function useOverlayManager(ref, isOpen) {
|
|
118
|
+
var elementToFocus = document.activeElement;
|
|
119
|
+
useEffect(function () {
|
|
120
|
+
if (isOpen) {
|
|
121
|
+
manager.add(ref, elementToFocus);
|
|
122
|
+
}
|
|
123
|
+
return function () {
|
|
124
|
+
manager.remove(ref, elementToFocus);
|
|
125
|
+
};
|
|
126
|
+
}, [isOpen, ref]);
|
|
127
|
+
};
|
|
13
128
|
|
|
14
129
|
/**
|
|
15
130
|
* Checks if a given element has a CSS class.
|
|
@@ -809,120 +924,5 @@ var Portal = function Portal(_ref) {
|
|
|
809
924
|
return /*#__PURE__*/createPortal(children, target.current);
|
|
810
925
|
};
|
|
811
926
|
|
|
812
|
-
var useOnClickOutside = function useOnClickOutside(insideRef, outsideRef, handler) {
|
|
813
|
-
useEffect(function () {
|
|
814
|
-
var listener = function listener(event) {
|
|
815
|
-
// Do nothing if clicking ref's element or descendent elements
|
|
816
|
-
if (!insideRef.current || insideRef.current.contains(event.target)) {
|
|
817
|
-
return;
|
|
818
|
-
}
|
|
819
|
-
if (outsideRef.current) {
|
|
820
|
-
// If Outside ref exists, trigger the handler if it contains the event target.
|
|
821
|
-
if (outsideRef.current.contains(event.target)) {
|
|
822
|
-
handler(event);
|
|
823
|
-
}
|
|
824
|
-
return;
|
|
825
|
-
}
|
|
826
|
-
handler(event);
|
|
827
|
-
};
|
|
828
|
-
document.addEventListener("mousedown", listener);
|
|
829
|
-
document.addEventListener("touchstart", listener);
|
|
830
|
-
return function () {
|
|
831
|
-
document.removeEventListener("mousedown", listener);
|
|
832
|
-
document.removeEventListener("touchstart", listener);
|
|
833
|
-
};
|
|
834
|
-
}, [insideRef, outsideRef, handler]);
|
|
835
|
-
};
|
|
836
|
-
|
|
837
|
-
var useOverlay = function useOverlay(_ref) {
|
|
838
|
-
var _document$body;
|
|
839
|
-
var isOpen = _ref.isOpen,
|
|
840
|
-
initialFocusRef = _ref.initialFocusRef,
|
|
841
|
-
finalFocusRef = _ref.finalFocusRef,
|
|
842
|
-
overlayWrapper = _ref.overlayWrapper,
|
|
843
|
-
onClose = _ref.onClose,
|
|
844
|
-
backdropRef = _ref.backdropRef,
|
|
845
|
-
closeOnOutsideClick = _ref.closeOnOutsideClick,
|
|
846
|
-
closeOnEsc = _ref.closeOnEsc,
|
|
847
|
-
blockScrollOnMount = _ref.blockScrollOnMount,
|
|
848
|
-
hasTransitionCompleted = _ref.hasTransitionCompleted;
|
|
849
|
-
var elementToFocusRef = useRef(null);
|
|
850
|
-
var bodyHeight = (_document$body = document.body) === null || _document$body === void 0 ? void 0 : _document$body.offsetHeight;
|
|
851
|
-
var windowHeight = window.innerHeight;
|
|
852
|
-
var hasScroll = bodyHeight > windowHeight;
|
|
853
|
-
var shouldHideScrollAndAddMargin = hasScroll && blockScrollOnMount && manager.hasOverlays();
|
|
854
|
-
var returnFocusToPreviousActiveElement = function returnFocusToPreviousActiveElement() {
|
|
855
|
-
elementToFocusRef.current = manager.getFinalFocusInOverlay();
|
|
856
|
-
if (!(finalFocusRef !== null && finalFocusRef !== void 0 && finalFocusRef.current)) {
|
|
857
|
-
var _elementToFocusRef$cu;
|
|
858
|
-
elementToFocusRef === null || elementToFocusRef === void 0 ? void 0 : (_elementToFocusRef$cu = elementToFocusRef.current) === null || _elementToFocusRef$cu === void 0 ? void 0 : _elementToFocusRef$cu.focus();
|
|
859
|
-
} else {
|
|
860
|
-
finalFocusRef.current.focus();
|
|
861
|
-
}
|
|
862
|
-
};
|
|
863
|
-
var focusRequiredElementInOverlay = function focusRequiredElementInOverlay() {
|
|
864
|
-
var _initialFocusRef;
|
|
865
|
-
if (!hasTransitionCompleted) return;
|
|
866
|
-
if ((_initialFocusRef = initialFocusRef) !== null && _initialFocusRef !== void 0 && _initialFocusRef.current) {
|
|
867
|
-
var _initialFocusRef2, _initialFocusRef2$cur;
|
|
868
|
-
(_initialFocusRef2 = initialFocusRef) === null || _initialFocusRef2 === void 0 ? void 0 : (_initialFocusRef2$cur = _initialFocusRef2.current) === null || _initialFocusRef2$cur === void 0 ? void 0 : _initialFocusRef2$cur.focus();
|
|
869
|
-
} else {
|
|
870
|
-
focusFirstFocusableElement(overlayWrapper);
|
|
871
|
-
}
|
|
872
|
-
};
|
|
873
|
-
var handleOverlayClose = useCallback(function () {
|
|
874
|
-
if (!manager.isTopOverlay(overlayWrapper)) return;
|
|
875
|
-
returnFocusToPreviousActiveElement();
|
|
876
|
-
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
877
|
-
}, [onClose]);
|
|
878
|
-
useOnClickOutside(overlayWrapper, backdropRef, closeOnOutsideClick ? handleOverlayClose : noop$1);
|
|
879
|
-
var isTopOverlay = useSyncExternalStore(manager.subscribe, function () {
|
|
880
|
-
return manager.isTopOverlay(overlayWrapper);
|
|
881
|
-
});
|
|
882
|
-
useHotKeys("escape", handleOverlayClose, {
|
|
883
|
-
enabled: closeOnEsc && isOpen && isTopOverlay,
|
|
884
|
-
mode: "global"
|
|
885
|
-
});
|
|
886
|
-
useEffect(function () {
|
|
887
|
-
var cleanUp = noop$1;
|
|
888
|
-
if (isOpen) {
|
|
889
|
-
if (hasTransitionCompleted && isTopOverlay) {
|
|
890
|
-
focusRequiredElementInOverlay();
|
|
891
|
-
// Enable focus trap only for the topmost overlay
|
|
892
|
-
cleanUp = trapFocusOnFocusableElements(overlayWrapper);
|
|
893
|
-
}
|
|
894
|
-
if (shouldHideScrollAndAddMargin) hideScrollAndAddMargin();
|
|
895
|
-
}
|
|
896
|
-
return function () {
|
|
897
|
-
if (!manager.hasOverlays()) showScrollAndRemoveMargin();
|
|
898
|
-
cleanUp();
|
|
899
|
-
};
|
|
900
|
-
}, [isOpen, hasTransitionCompleted, isTopOverlay]);
|
|
901
|
-
var setFocusField = function setFocusField(fieldRef) {
|
|
902
|
-
if (!fieldRef) return;
|
|
903
|
-
initialFocusRef = {
|
|
904
|
-
current: fieldRef
|
|
905
|
-
};
|
|
906
|
-
if (hasTransitionCompleted) focusRequiredElementInOverlay();
|
|
907
|
-
};
|
|
908
|
-
return {
|
|
909
|
-
handleOverlayClose: handleOverlayClose,
|
|
910
|
-
setFocusField: setFocusField,
|
|
911
|
-
isTopOverlay: isTopOverlay
|
|
912
|
-
};
|
|
913
|
-
};
|
|
914
|
-
|
|
915
|
-
var useOverlayManager = function useOverlayManager(ref, isOpen) {
|
|
916
|
-
var elementToFocus = document.activeElement;
|
|
917
|
-
useEffect(function () {
|
|
918
|
-
if (isOpen) {
|
|
919
|
-
manager.add(ref, elementToFocus);
|
|
920
|
-
}
|
|
921
|
-
return function () {
|
|
922
|
-
manager.remove(ref, elementToFocus);
|
|
923
|
-
};
|
|
924
|
-
}, [isOpen, ref]);
|
|
925
|
-
};
|
|
926
|
-
|
|
927
927
|
export { Backdrop as B, CSSTransition as C, Portal as P, useOverlay as a, useOverlayManager as u };
|
|
928
|
-
//# sourceMappingURL=
|
|
928
|
+
//# sourceMappingURL=Portal-NkYu4tSU.js.map
|