@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.
Files changed (51) hide show
  1. package/dist/Accordion.js +8 -3
  2. package/dist/Accordion.js.map +1 -1
  3. package/dist/ActionDropdown.js +3 -0
  4. package/dist/ActionDropdown.js.map +1 -1
  5. package/dist/Alert.js +41 -25
  6. package/dist/Alert.js.map +1 -1
  7. package/dist/ColorPicker.js +4 -1
  8. package/dist/ColorPicker.js.map +1 -1
  9. package/dist/DatePicker.js +9 -9
  10. package/dist/Dropdown.js +28 -5
  11. package/dist/Dropdown.js.map +1 -1
  12. package/dist/Modal.js +6 -6
  13. package/dist/Pane.js +6 -6
  14. package/dist/{useOverlayManager-11FChK4S.js → Portal-NkYu4tSU.js} +120 -120
  15. package/dist/Portal-NkYu4tSU.js.map +1 -0
  16. package/dist/Table.js +18 -13
  17. package/dist/Table.js.map +1 -1
  18. package/dist/TimePicker.js +10 -10
  19. package/dist/cjs/Accordion.js +8 -3
  20. package/dist/cjs/Accordion.js.map +1 -1
  21. package/dist/cjs/ActionDropdown.js +3 -0
  22. package/dist/cjs/ActionDropdown.js.map +1 -1
  23. package/dist/cjs/Alert.js +41 -25
  24. package/dist/cjs/Alert.js.map +1 -1
  25. package/dist/cjs/ColorPicker.js +4 -1
  26. package/dist/cjs/ColorPicker.js.map +1 -1
  27. package/dist/cjs/DatePicker.js +9 -9
  28. package/dist/cjs/Dropdown.js +28 -5
  29. package/dist/cjs/Dropdown.js.map +1 -1
  30. package/dist/cjs/Modal.js +11 -11
  31. package/dist/cjs/Modal.js.map +1 -1
  32. package/dist/cjs/Pane.js +11 -11
  33. package/dist/cjs/Pane.js.map +1 -1
  34. package/dist/cjs/{useOverlayManager-DobGTLvg.js → Portal-DGTC-Yro.js} +120 -120
  35. package/dist/cjs/Portal-DGTC-Yro.js.map +1 -0
  36. package/dist/cjs/Table.js +18 -13
  37. package/dist/cjs/Table.js.map +1 -1
  38. package/dist/cjs/TimePicker.js +10 -10
  39. package/dist/cjs/formik/BlockNavigation.js +1 -1
  40. package/dist/cjs/formik/index.js +1 -1
  41. package/dist/cjs/{index-CnOBUXom.js → index-mj5R1eTz.js} +9 -9
  42. package/dist/cjs/{index-CnOBUXom.js.map → index-mj5R1eTz.js.map} +1 -1
  43. package/dist/cjs/index.js +4 -4
  44. package/dist/formik/BlockNavigation.js +1 -1
  45. package/dist/formik/index.js +1 -1
  46. package/dist/{index-CmczeIrh.js → index-DDvpqpML.js} +9 -9
  47. package/dist/{index-CmczeIrh.js.map → index-DDvpqpML.js.map} +1 -1
  48. package/dist/index.js +4 -4
  49. package/package.json +1 -1
  50. package/dist/cjs/useOverlayManager-DobGTLvg.js.map +0 -1
  51. 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
- className: "neeto-ui-dropdown__popup-divider"
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,
@@ -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 './useOverlayManager-11FChK4S.js';
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 './useOverlayManager-11FChK4S.js';
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
- import useHotKeys from '@bigbinary/neeto-hotkeys';
11
- import { manager } from './overlayManager.js';
12
- import { t as trapFocusOnFocusableElements, d as hideScrollAndAddMargin, e as showScrollAndRemoveMargin, n as noop$1, f as focusFirstFocusableElement } from './index-t5NRFwPy.js';
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=useOverlayManager-11FChK4S.js.map
928
+ //# sourceMappingURL=Portal-NkYu4tSU.js.map