@bigbinary/neetoui 8.3.69 → 8.3.71

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 (65) hide show
  1. package/dist/Alert.js +1 -1
  2. package/dist/DatePicker.js +1 -1
  3. package/dist/Modal.js +2 -1
  4. package/dist/Modal.js.map +1 -1
  5. package/dist/Pane.js +2 -1
  6. package/dist/Pane.js.map +1 -1
  7. package/dist/{Portal-BkMqCf2F.js → Portal-BaWO-CyE.js} +11 -2
  8. package/dist/{Portal-BkMqCf2F.js.map → Portal-BaWO-CyE.js.map} +1 -1
  9. package/dist/Table.js +1 -1
  10. package/dist/TimePicker.js +1 -1
  11. package/dist/TranslationProvider.js +12 -6
  12. package/dist/TranslationProvider.js.map +1 -1
  13. package/dist/cjs/Alert.js +1 -1
  14. package/dist/cjs/DatePicker.js +1 -1
  15. package/dist/cjs/Modal.js +2 -1
  16. package/dist/cjs/Modal.js.map +1 -1
  17. package/dist/cjs/Pane.js +2 -1
  18. package/dist/cjs/Pane.js.map +1 -1
  19. package/dist/cjs/{Portal-DOeXKll0.js → Portal-D3CvlJ0g.js} +11 -2
  20. package/dist/cjs/{Portal-DOeXKll0.js.map → Portal-D3CvlJ0g.js.map} +1 -1
  21. package/dist/cjs/Table.js +1 -1
  22. package/dist/cjs/TimePicker.js +1 -1
  23. package/dist/cjs/TranslationProvider.js +12 -6
  24. package/dist/cjs/TranslationProvider.js.map +1 -1
  25. package/dist/cjs/formik/BlockNavigation.js +1 -1
  26. package/dist/cjs/formik/index.js +1 -1
  27. package/dist/cjs/index.js +1 -1
  28. package/dist/formik/BlockNavigation.js +1 -1
  29. package/dist/formik/index.js +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/src/translations/ar.json +2 -1
  32. package/dist/src/translations/bg.json +2 -1
  33. package/dist/src/translations/ca.json +2 -1
  34. package/dist/src/translations/cs.json +2 -1
  35. package/dist/src/translations/da.json +2 -1
  36. package/dist/src/translations/de.json +2 -1
  37. package/dist/src/translations/es-MX.json +2 -1
  38. package/dist/src/translations/es.json +2 -1
  39. package/dist/src/translations/et.json +2 -1
  40. package/dist/src/translations/fi.json +2 -1
  41. package/dist/src/translations/fil.json +2 -1
  42. package/dist/src/translations/fr.json +2 -1
  43. package/dist/src/translations/he.json +2 -1
  44. package/dist/src/translations/hi.json +2 -1
  45. package/dist/src/translations/hr.json +2 -1
  46. package/dist/src/translations/id.json +2 -1
  47. package/dist/src/translations/it.json +2 -1
  48. package/dist/src/translations/ja.json +2 -1
  49. package/dist/src/translations/ko.json +2 -1
  50. package/dist/src/translations/nl.json +2 -1
  51. package/dist/src/translations/pl.json +2 -1
  52. package/dist/src/translations/pt-BR.json +2 -1
  53. package/dist/src/translations/pt.json +2 -1
  54. package/dist/src/translations/ro.json +2 -1
  55. package/dist/src/translations/ru.json +2 -1
  56. package/dist/src/translations/sk.json +2 -1
  57. package/dist/src/translations/sl.json +2 -1
  58. package/dist/src/translations/sv.json +2 -1
  59. package/dist/src/translations/th.json +2 -1
  60. package/dist/src/translations/tr.json +2 -1
  61. package/dist/src/translations/uk.json +2 -1
  62. package/dist/src/translations/vi.json +2 -1
  63. package/dist/src/translations/zh-CN.json +2 -1
  64. package/dist/src/translations/zh-TW.json +2 -1
  65. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Portal-BkMqCf2F.js","sources":["../src/hooks/useOnClickOutside.js","../src/hooks/useOverlay.js","../src/hooks/useOverlayManager.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/esm/CSSTransition.js","../src/atoms/Backdrop.jsx","../src/atoms/Portal.js"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useOnClickOutside = (insideRef, outsideRef, handler) => {\n useEffect(() => {\n const listener = event => {\n // Do nothing if clicking ref's element or descendent elements\n if (!insideRef.current || insideRef.current.contains(event.target)) {\n return;\n }\n\n if (outsideRef.current) {\n // If Outside ref exists, trigger the handler if it contains the event target.\n if (outsideRef.current.contains(event.target)) {\n handler(event);\n }\n\n return;\n }\n handler(event);\n };\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, [insideRef, outsideRef, handler]);\n};\n\nexport default useOnClickOutside;\n","import { useRef, useEffect, useCallback, useSyncExternalStore } from \"react\";\n\nimport useHotKeys from \"@bigbinary/neeto-hotkeys\";\n\nimport { manager } from \"managers\";\nimport {\n noop,\n hideScrollAndAddMargin,\n showScrollAndRemoveMargin,\n focusFirstFocusableElement,\n trapFocusOnFocusableElements,\n} from \"utils\";\n\nimport useOnClickOutside from \"./useOnClickOutside\";\n\nconst useOverlay = ({\n isOpen,\n initialFocusRef,\n finalFocusRef,\n overlayWrapper,\n onClose,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n blockScrollOnMount,\n hasTransitionCompleted,\n}) => {\n const elementToFocusRef = useRef(null);\n\n const bodyHeight = document.body?.offsetHeight;\n const windowHeight = window.innerHeight;\n const hasScroll = bodyHeight > windowHeight;\n\n const shouldHideScrollAndAddMargin =\n hasScroll && blockScrollOnMount && manager.hasOverlays();\n\n const returnFocusToPreviousActiveElement = () => {\n elementToFocusRef.current = manager.getFinalFocusInOverlay();\n if (!finalFocusRef?.current) {\n elementToFocusRef?.current?.focus();\n } else {\n finalFocusRef.current.focus();\n }\n };\n\n const focusRequiredElementInOverlay = () => {\n if (!hasTransitionCompleted) return;\n\n if (initialFocusRef?.current) {\n initialFocusRef?.current?.focus();\n } else {\n focusFirstFocusableElement(overlayWrapper);\n }\n };\n\n const handleOverlayClose = useCallback(() => {\n if (!manager.isTopOverlay(overlayWrapper)) return;\n returnFocusToPreviousActiveElement();\n onClose?.();\n }, [onClose]);\n\n useOnClickOutside(\n overlayWrapper,\n backdropRef,\n closeOnOutsideClick ? handleOverlayClose : noop\n );\n\n const isTopOverlay = useSyncExternalStore(manager.subscribe, () =>\n manager.isTopOverlay(overlayWrapper)\n );\n\n useHotKeys(\"escape\", handleOverlayClose, {\n enabled: closeOnEsc && isOpen && isTopOverlay,\n mode: \"global\",\n });\n\n useEffect(() => {\n let cleanUp = noop;\n if (isOpen) {\n if (hasTransitionCompleted && isTopOverlay) {\n focusRequiredElementInOverlay();\n // Enable focus trap only for the topmost overlay\n cleanUp = trapFocusOnFocusableElements(overlayWrapper);\n }\n\n if (shouldHideScrollAndAddMargin) hideScrollAndAddMargin();\n }\n\n return () => {\n if (!manager.hasOverlays()) showScrollAndRemoveMargin();\n cleanUp();\n };\n }, [isOpen, hasTransitionCompleted, isTopOverlay]);\n\n const setFocusField = fieldRef => {\n if (!fieldRef) return;\n initialFocusRef = { current: fieldRef };\n if (hasTransitionCompleted) focusRequiredElementInOverlay();\n };\n\n return { handleOverlayClose, setFocusField, isTopOverlay };\n};\n\nexport default useOverlay;\n","import { useEffect } from \"react\";\n\nimport { manager } from \"managers\";\n\nconst useOverlayManager = (ref, isOpen) => {\n const elementToFocus = document.activeElement;\n useEffect(() => {\n if (isOpen) {\n manager.add(ref, elementToFocus);\n }\n\n return () => {\n manager.remove(ref, elementToFocus);\n };\n }, [isOpen, ref]);\n};\n\nexport default useOverlayManager;\n","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\nimport { forceReflow } from './utils/reflow';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <CSSTransition in={inProp} timeout={200} classNames=\"my-node\">\n * <div>\n * {\"I'll receive my-node-* classes\"}\n * </div>\n * </CSSTransition>\n * <button type=\"button\" onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n if (node) forceReflow(node);\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import React, { forwardRef } from \"react\";\n\nconst Portal = ({ children, ...otherProps }, ref) => (\n <div {...{ ref }} data-testid=\"neeto-backdrop\" {...otherProps}>\n {children}\n </div>\n);\n\nexport default forwardRef(Portal);\n","import { useEffect, useRef } from \"react\";\n\nimport { isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nconst Portal = ({ children, rootId = \"root-portal\", el = \"div\" }) => {\n const target = useRef(null);\n\n useEffect(() => {\n let container = document.getElementById(rootId);\n if (!container) {\n container = document.createElement(el);\n container.setAttribute(\"id\", rootId);\n document.body.appendChild(container);\n }\n\n container.appendChild(target.current);\n\n return () => {\n target.current.remove();\n if (isEmpty(container.childNodes)) {\n container.remove();\n }\n };\n }, [rootId]);\n\n if (!target.current) {\n target.current = document.createElement(el);\n }\n\n return createPortal(children, target.current);\n};\n\nexport default Portal;\n"],"names":["useOnClickOutside","insideRef","outsideRef","handler","useEffect","listener","event","current","contains","target","document","addEventListener","removeEventListener","useOverlay","_ref","_document$body","isOpen","initialFocusRef","finalFocusRef","overlayWrapper","onClose","backdropRef","closeOnOutsideClick","closeOnEsc","blockScrollOnMount","hasTransitionCompleted","elementToFocusRef","useRef","bodyHeight","body","offsetHeight","windowHeight","window","innerHeight","hasScroll","shouldHideScrollAndAddMargin","manager","hasOverlays","returnFocusToPreviousActiveElement","getFinalFocusInOverlay","_elementToFocusRef$cu","focus","focusRequiredElementInOverlay","_initialFocusRef","_initialFocusRef2","_initialFocusRef2$cur","focusFirstFocusableElement","handleOverlayClose","useCallback","isTopOverlay","noop","useSyncExternalStore","subscribe","useHotKeys","enabled","mode","cleanUp","trapFocusOnFocusableElements","hideScrollAndAddMargin","showScrollAndRemoveMargin","setFocusField","fieldRef","useOverlayManager","ref","elementToFocus","activeElement","add","remove","removeClass","React","addClass","addOneClass","removeOneClass","Portal","children","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","forwardRef","_ref$rootId","rootId","_ref$el","el","container","getElementById","createElement","setAttribute","appendChild","isEmpty","childNodes","createPortal"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,8,9,10]}
1
+ {"version":3,"file":"Portal-BaWO-CyE.js","sources":["../src/hooks/useOnClickOutside.js","../src/hooks/useOverlay.js","../src/hooks/useOverlayManager.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/esm/CSSTransition.js","../src/atoms/Backdrop.jsx","../src/atoms/Portal.js"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useOnClickOutside = (insideRef, outsideRef, handler) => {\n useEffect(() => {\n const listener = event => {\n // Do nothing if clicking ref's element or descendent elements\n if (!insideRef.current || insideRef.current.contains(event.target)) {\n return;\n }\n\n if (outsideRef.current) {\n // If Outside ref exists, trigger the handler if it contains the event target.\n if (outsideRef.current.contains(event.target)) {\n handler(event);\n }\n\n return;\n }\n handler(event);\n };\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, [insideRef, outsideRef, handler]);\n};\n\nexport default useOnClickOutside;\n","import { useRef, useEffect, useCallback, useSyncExternalStore } from \"react\";\n\nimport useHotKeys from \"@bigbinary/neeto-hotkeys\";\n\nimport { manager } from \"managers\";\nimport {\n noop,\n hideScrollAndAddMargin,\n showScrollAndRemoveMargin,\n focusFirstFocusableElement,\n trapFocusOnFocusableElements,\n} from \"utils\";\n\nimport useOnClickOutside from \"./useOnClickOutside\";\n\nconst useOverlay = ({\n isOpen,\n initialFocusRef,\n finalFocusRef,\n overlayWrapper,\n onClose,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n blockScrollOnMount,\n hasTransitionCompleted,\n}) => {\n const elementToFocusRef = useRef(null);\n\n const bodyHeight = document.body?.offsetHeight;\n const windowHeight = window.innerHeight;\n const hasScroll = bodyHeight > windowHeight;\n\n const shouldHideScrollAndAddMargin =\n hasScroll && blockScrollOnMount && manager.hasOverlays();\n\n const returnFocusToPreviousActiveElement = () => {\n elementToFocusRef.current = manager.getFinalFocusInOverlay();\n if (!finalFocusRef?.current) {\n elementToFocusRef?.current?.focus();\n } else {\n finalFocusRef.current.focus();\n }\n };\n\n const focusRequiredElementInOverlay = () => {\n if (!hasTransitionCompleted) return;\n\n if (initialFocusRef?.current) {\n initialFocusRef?.current?.focus();\n } else {\n focusFirstFocusableElement(overlayWrapper);\n }\n };\n\n const handleOverlayClose = useCallback(() => {\n if (!manager.isTopOverlay(overlayWrapper)) return;\n returnFocusToPreviousActiveElement();\n onClose?.();\n }, [onClose]);\n\n useOnClickOutside(\n overlayWrapper,\n backdropRef,\n closeOnOutsideClick ? handleOverlayClose : noop\n );\n\n const isTopOverlay = useSyncExternalStore(manager.subscribe, () =>\n manager.isTopOverlay(overlayWrapper)\n );\n\n useHotKeys(\"escape\", handleOverlayClose, {\n enabled: closeOnEsc && isOpen && isTopOverlay,\n mode: \"global\",\n });\n\n useEffect(() => {\n let cleanUp = noop;\n if (isOpen) {\n if (hasTransitionCompleted && isTopOverlay) {\n focusRequiredElementInOverlay();\n // Enable focus trap only for the topmost overlay\n cleanUp = trapFocusOnFocusableElements(overlayWrapper);\n }\n\n if (shouldHideScrollAndAddMargin) hideScrollAndAddMargin();\n }\n\n return () => {\n if (!manager.hasOverlays()) showScrollAndRemoveMargin();\n cleanUp();\n };\n }, [isOpen, hasTransitionCompleted, isTopOverlay]);\n\n const setFocusField = fieldRef => {\n if (!fieldRef) return;\n initialFocusRef = { current: fieldRef };\n if (hasTransitionCompleted) focusRequiredElementInOverlay();\n };\n\n return { handleOverlayClose, setFocusField, isTopOverlay };\n};\n\nexport default useOverlay;\n","import { useEffect } from \"react\";\n\nimport { manager } from \"managers\";\n\nconst useOverlayManager = (ref, isOpen) => {\n const elementToFocus = document.activeElement;\n useEffect(() => {\n if (isOpen) {\n manager.add(ref, elementToFocus);\n }\n\n return () => {\n manager.remove(ref, elementToFocus);\n };\n }, [isOpen, ref]);\n};\n\nexport default useOverlayManager;\n","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\nimport { forceReflow } from './utils/reflow';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <CSSTransition in={inProp} timeout={200} classNames=\"my-node\">\n * <div>\n * {\"I'll receive my-node-* classes\"}\n * </div>\n * </CSSTransition>\n * <button type=\"button\" onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n if (node) forceReflow(node);\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import React, { forwardRef } from \"react\";\n\nconst Portal = ({ children, ...otherProps }, ref) => (\n <div {...{ ref }} data-testid=\"neeto-backdrop\" {...otherProps}>\n {children}\n </div>\n);\n\nexport default forwardRef(Portal);\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { useEffect, useRef } from \"react\";\n\nimport { isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nconst Portal = ({\n children,\n rootId = \"root-portal\",\n el = \"div\",\n bringToFront = false,\n}) => {\n const target = useRef(null);\n\n useEffect(() => {\n let container = document.getElementById(rootId);\n if (!container) {\n container = document.createElement(el);\n container.setAttribute(\"id\", rootId);\n document.body.appendChild(container);\n }\n\n container.appendChild(target.current);\n\n return () => {\n target.current.remove();\n if (isEmpty(container.childNodes)) {\n container.remove();\n }\n };\n }, [rootId]);\n\n useEffect(() => {\n if (bringToFront && target.current?.parentElement) {\n target.current.parentElement.appendChild(target.current);\n }\n }, [bringToFront]);\n\n if (!target.current) {\n target.current = document.createElement(el);\n }\n\n return createPortal(children, target.current);\n};\n\nexport default Portal;\n"],"names":["useOnClickOutside","insideRef","outsideRef","handler","useEffect","listener","event","current","contains","target","document","addEventListener","removeEventListener","useOverlay","_ref","_document$body","isOpen","initialFocusRef","finalFocusRef","overlayWrapper","onClose","backdropRef","closeOnOutsideClick","closeOnEsc","blockScrollOnMount","hasTransitionCompleted","elementToFocusRef","useRef","bodyHeight","body","offsetHeight","windowHeight","window","innerHeight","hasScroll","shouldHideScrollAndAddMargin","manager","hasOverlays","returnFocusToPreviousActiveElement","getFinalFocusInOverlay","_elementToFocusRef$cu","focus","focusRequiredElementInOverlay","_initialFocusRef","_initialFocusRef2","_initialFocusRef2$cur","focusFirstFocusableElement","handleOverlayClose","useCallback","isTopOverlay","noop","useSyncExternalStore","subscribe","useHotKeys","enabled","mode","cleanUp","trapFocusOnFocusableElements","hideScrollAndAddMargin","showScrollAndRemoveMargin","setFocusField","fieldRef","useOverlayManager","ref","elementToFocus","activeElement","add","remove","removeClass","React","addClass","addOneClass","removeOneClass","Portal","children","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","forwardRef","_ref$rootId","rootId","_ref$el","el","_ref$bringToFront","bringToFront","container","getElementById","createElement","setAttribute","appendChild","isEmpty","childNodes","_target$current","parentElement","createPortal"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,8,9,10]}
package/dist/Table.js CHANGED
@@ -64,7 +64,7 @@ import './Label.js';
64
64
  import '@bigbinary/neeto-icons/Help';
65
65
  import './Modal.js';
66
66
  import '@bigbinary/neeto-icons/Close';
67
- import './Portal-BkMqCf2F.js';
67
+ import './Portal-BaWO-CyE.js';
68
68
  import '@babel/runtime/helpers/esm/extends';
69
69
  import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
70
70
  import '@babel/runtime/helpers/esm/inheritsLoose';
@@ -80,7 +80,7 @@ import './usePrefersReducedMotion-n4ZJtExQ.js';
80
80
  import './en-Dmu3B4Vs.js';
81
81
  import './Spinner.js';
82
82
  import './Tooltip.js';
83
- import './Portal-BkMqCf2F.js';
83
+ import './Portal-BaWO-CyE.js';
84
84
  import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
85
85
  import '@babel/runtime/helpers/esm/inheritsLoose';
86
86
  import '@bigbinary/neeto-icons/Help';
@@ -37,7 +37,8 @@ var neetoui$5 = {
37
37
  moveColumnRight: "Spalte nach rechts verschieben",
38
38
  addColumnInfo: "Spalteninformation hinzufügen",
39
39
  editColumnInfo: "Spalteninformation bearbeiten",
40
- info: "Tabelleninformationen"
40
+ info: "Tabelleninformationen",
41
+ columnName: "Spaltenname"
41
42
  },
42
43
  timePicker: {
43
44
  hours: "Stunden",
@@ -89,7 +90,8 @@ var neetoui$4 = {
89
90
  moveColumnRight: "Mover columna a la derecha",
90
91
  addColumnInfo: "Agregar información de columna",
91
92
  editColumnInfo: "Editar información de columna",
92
- info: "Información de la tabla"
93
+ info: "Información de la tabla",
94
+ columnName: "Nombre de la columna"
93
95
  },
94
96
  timePicker: {
95
97
  hours: "Horas",
@@ -141,7 +143,8 @@ var neetoui$3 = {
141
143
  moveColumnRight: "Déplacer la colonne vers la droite",
142
144
  addColumnInfo: "Ajouter des informations sur la colonne",
143
145
  editColumnInfo: "Modifier les informations sur la colonne",
144
- info: "Informations sur la table"
146
+ info: "Informations sur la table",
147
+ columnName: "Nom de la colonne"
145
148
  },
146
149
  timePicker: {
147
150
  hours: "Heures",
@@ -193,7 +196,8 @@ var neetoui$2 = {
193
196
  moveColumnRight: "Verplaats kolom naar rechts",
194
197
  addColumnInfo: "Voeg kolominformatie toe",
195
198
  editColumnInfo: "Bewerk kolominformatie",
196
- info: "Tabel informatie"
199
+ info: "Tabel informatie",
200
+ columnName: "Kolomnaam"
197
201
  },
198
202
  timePicker: {
199
203
  hours: "Uur",
@@ -245,7 +249,8 @@ var neetoui$1 = {
245
249
  moveColumnRight: "Przenieś kolumnę w prawo",
246
250
  addColumnInfo: "Dodaj informacje o kolumnie",
247
251
  editColumnInfo: "Edytuj informacje o kolumnie",
248
- info: "Informacje o tabeli"
252
+ info: "Informacje o tabeli",
253
+ columnName: "Nazwa kolumny"
249
254
  },
250
255
  timePicker: {
251
256
  hours: "godziny",
@@ -297,7 +302,8 @@ var neetoui = {
297
302
  moveColumnRight: "Mover coluna para a direita",
298
303
  addColumnInfo: "Adicionar informações da coluna",
299
304
  editColumnInfo: "Editar informações da coluna",
300
- info: "Informações da tabela"
305
+ info: "Informações da tabela",
306
+ columnName: "Nome da coluna"
301
307
  },
302
308
  timePicker: {
303
309
  hours: "Horas",
@@ -1 +1 @@
1
- {"version":3,"file":"TranslationProvider.js","sources":["../src/translations/index.js","../src/components/TranslationProvider/i18n.js","../src/components/TranslationProvider/index.jsx"],"sourcesContent":["/* eslint-disable import/extensions */\nimport deTranslations from \"./de.json\";\nimport enTranslations from \"./en.json\";\nimport esTranslations from \"./es.json\";\nimport frTranslations from \"./fr.json\";\nimport nlTranslations from \"./nl.json\";\nimport plTranslations from \"./pl.json\";\nimport ptTranslations from \"./pt.json\";\n\nexport const resources = {\n en: { translation: enTranslations },\n es: { translation: esTranslations },\n fr: { translation: frTranslations },\n de: { translation: deTranslations },\n nl: { translation: nlTranslations },\n pl: { translation: plTranslations },\n pt: { translation: ptTranslations },\n};\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\n/* eslint-disable import/extensions */\n\nimport i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport { resources } from \"src/translations\";\n\nexport const initializeI18n = (language = \"en\") => {\n i18n.use(initReactI18next).init({\n resources,\n lang: language,\n fallbackLng: \"en\",\n interpolation: { escapeValue: false },\n });\n\n return i18n;\n};\n","import React, { useEffect } from \"react\";\n\nimport { I18nextProvider } from \"react-i18next\";\n\nimport { initializeI18n } from \"./i18n\";\n\nconst TranslationProvider = ({ children, language }) => {\n const i18n = initializeI18n(language);\n\n useEffect(() => {\n if (!language || i18n.language === language) return;\n\n i18n.changeLanguage(language);\n }, [language]);\n\n return <I18nextProvider {...{ i18n }}>{children}</I18nextProvider>;\n};\n\nexport default TranslationProvider;\n"],"names":["resources","en","translation","enTranslations","es","esTranslations","fr","frTranslations","de","deTranslations","nl","nlTranslations","pl","plTranslations","pt","ptTranslations","initializeI18n","language","arguments","length","undefined","i18n","use","initReactI18next","init","lang","fallbackLng","interpolation","escapeValue","TranslationProvider","_ref","children","useEffect","changeLanguage","_jsx","I18nextProvider"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AASO,IAAMA,SAAS,GAAG;AACvBC,EAAAA,EAAE,EAAE;AAAEC,IAAAA,WAAW,EAAEC;GAAgB;AACnCC,EAAAA,EAAE,EAAE;AAAEF,IAAAA,WAAW,EAAEG;GAAgB;AACnCC,EAAAA,EAAE,EAAE;AAAEJ,IAAAA,WAAW,EAAEK;GAAgB;AACnCC,EAAAA,EAAE,EAAE;AAAEN,IAAAA,WAAW,EAAEO;GAAgB;AACnCC,EAAAA,EAAE,EAAE;AAAER,IAAAA,WAAW,EAAES;GAAgB;AACnCC,EAAAA,EAAE,EAAE;AAAEV,IAAAA,WAAW,EAAEW;GAAgB;AACnCC,EAAAA,EAAE,EAAE;AAAEZ,IAAAA,WAAW,EAAEa;AAAe;AACpC,CAAC;;ACjBD;AACA;;AAOO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,GAAwB;AAAA,EAAA,IAApBC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;AAC5CG,EAAAA,OAAI,CAACC,GAAG,CAACC,gBAAgB,CAAC,CAACC,IAAI,CAAC;AAC9BxB,IAAAA,SAAS,EAATA,SAAS;AACTyB,IAAAA,IAAI,EAAER,QAAQ;AACdS,IAAAA,WAAW,EAAE,IAAI;AACjBC,IAAAA,aAAa,EAAE;AAAEC,MAAAA,WAAW,EAAE;AAAM;AACtC,GAAC,CAAC;AAEF,EAAA,OAAOP,OAAI;AACb,CAAC;;ACXD,IAAMQ,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAA+B;AAAA,EAAA,IAAzBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEd,QAAQ,GAAAa,IAAA,CAARb,QAAQ;AAC/C,EAAA,IAAMI,IAAI,GAAGL,cAAc,CAACC,QAAQ,CAAC;AAErCe,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAACf,QAAQ,IAAII,IAAI,CAACJ,QAAQ,KAAKA,QAAQ,EAAE;AAE7CI,IAAAA,IAAI,CAACY,cAAc,CAAChB,QAAQ,CAAC;AAC/B,EAAA,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,oBAAOiB,GAAA,CAACC,eAAe,EAAA;AAAOd,IAAAA,IAAI,EAAJA,IAAI;AAAAU,IAAAA,QAAA,EAAKA;AAAQ,GAAkB,CAAC;AACpE;;;;"}
1
+ {"version":3,"file":"TranslationProvider.js","sources":["../src/translations/index.js","../src/components/TranslationProvider/i18n.js","../src/components/TranslationProvider/index.jsx"],"sourcesContent":["/* eslint-disable import/extensions */\nimport deTranslations from \"./de.json\";\nimport enTranslations from \"./en.json\";\nimport esTranslations from \"./es.json\";\nimport frTranslations from \"./fr.json\";\nimport nlTranslations from \"./nl.json\";\nimport plTranslations from \"./pl.json\";\nimport ptTranslations from \"./pt.json\";\n\nexport const resources = {\n en: { translation: enTranslations },\n es: { translation: esTranslations },\n fr: { translation: frTranslations },\n de: { translation: deTranslations },\n nl: { translation: nlTranslations },\n pl: { translation: plTranslations },\n pt: { translation: ptTranslations },\n};\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\n/* eslint-disable import/extensions */\n\nimport i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport { resources } from \"src/translations\";\n\nexport const initializeI18n = (language = \"en\") => {\n i18n.use(initReactI18next).init({\n resources,\n lang: language,\n fallbackLng: \"en\",\n interpolation: { escapeValue: false },\n });\n\n return i18n;\n};\n","import React, { useEffect } from \"react\";\n\nimport { I18nextProvider } from \"react-i18next\";\n\nimport { initializeI18n } from \"./i18n\";\n\nconst TranslationProvider = ({ children, language }) => {\n const i18n = initializeI18n(language);\n\n useEffect(() => {\n if (!language || i18n.language === language) return;\n\n i18n.changeLanguage(language);\n }, [language]);\n\n return <I18nextProvider {...{ i18n }}>{children}</I18nextProvider>;\n};\n\nexport default TranslationProvider;\n"],"names":["resources","en","translation","enTranslations","es","esTranslations","fr","frTranslations","de","deTranslations","nl","nlTranslations","pl","plTranslations","pt","ptTranslations","initializeI18n","language","arguments","length","undefined","i18n","use","initReactI18next","init","lang","fallbackLng","interpolation","escapeValue","TranslationProvider","_ref","children","useEffect","changeLanguage","_jsx","I18nextProvider"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AASO,IAAMA,SAAS,GAAG;AACvBC,EAAAA,EAAE,EAAE;AAAEC,IAAAA,WAAW,EAAEC;GAAgB;AACnCC,EAAAA,EAAE,EAAE;AAAEF,IAAAA,WAAW,EAAEG;GAAgB;AACnCC,EAAAA,EAAE,EAAE;AAAEJ,IAAAA,WAAW,EAAEK;GAAgB;AACnCC,EAAAA,EAAE,EAAE;AAAEN,IAAAA,WAAW,EAAEO;GAAgB;AACnCC,EAAAA,EAAE,EAAE;AAAER,IAAAA,WAAW,EAAES;GAAgB;AACnCC,EAAAA,EAAE,EAAE;AAAEV,IAAAA,WAAW,EAAEW;GAAgB;AACnCC,EAAAA,EAAE,EAAE;AAAEZ,IAAAA,WAAW,EAAEa;AAAe;AACpC,CAAC;;ACjBD;AACA;;AAOO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,GAAwB;AAAA,EAAA,IAApBC,QAAQ,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;AAC5CG,EAAAA,OAAI,CAACC,GAAG,CAACC,gBAAgB,CAAC,CAACC,IAAI,CAAC;AAC9BxB,IAAAA,SAAS,EAATA,SAAS;AACTyB,IAAAA,IAAI,EAAER,QAAQ;AACdS,IAAAA,WAAW,EAAE,IAAI;AACjBC,IAAAA,aAAa,EAAE;AAAEC,MAAAA,WAAW,EAAE;AAAM;AACtC,GAAC,CAAC;AAEF,EAAA,OAAOP,OAAI;AACb,CAAC;;ACXD,IAAMQ,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAA+B;AAAA,EAAA,IAAzBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEd,QAAQ,GAAAa,IAAA,CAARb,QAAQ;AAC/C,EAAA,IAAMI,IAAI,GAAGL,cAAc,CAACC,QAAQ,CAAC;AAErCe,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAACf,QAAQ,IAAII,IAAI,CAACJ,QAAQ,KAAKA,QAAQ,EAAE;AAE7CI,IAAAA,IAAI,CAACY,cAAc,CAAChB,QAAQ,CAAC;AAC/B,EAAA,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,oBAAOiB,GAAA,CAACC,eAAe,EAAA;AAAOd,IAAAA,IAAI,EAAJA,IAAI;AAAAU,IAAAA,QAAA,EAAKA;AAAQ,GAAkB,CAAC;AACpE;;;;"}
package/dist/cjs/Alert.js CHANGED
@@ -32,7 +32,7 @@ require('@tippyjs/react');
32
32
  require('tippy.js');
33
33
  require('./usePrefersReducedMotion-DIgi-Aj7.js');
34
34
  require('@bigbinary/neeto-icons/Close');
35
- require('./Portal-DOeXKll0.js');
35
+ require('./Portal-D3CvlJ0g.js');
36
36
  require('./index-DApAqkOe.js');
37
37
  require('./en-B1i-pQJm.js');
38
38
  require('@babel/runtime/helpers/esm/extends');
@@ -89,7 +89,7 @@ require('dayjs/plugin/weekOfYear');
89
89
  require('./en-B1i-pQJm.js');
90
90
  require('./Spinner.js');
91
91
  require('./Tooltip.js');
92
- require('./Portal-DOeXKll0.js');
92
+ require('./Portal-D3CvlJ0g.js');
93
93
  require('@babel/runtime/helpers/esm/objectWithoutPropertiesLoose');
94
94
  require('@babel/runtime/helpers/esm/inheritsLoose');
95
95
  require('@bigbinary/neeto-icons/Help');
package/dist/cjs/Modal.js CHANGED
@@ -6,7 +6,7 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
6
6
  var React = require('react');
7
7
  var classnames = require('classnames');
8
8
  var Close = require('@bigbinary/neeto-icons/Close');
9
- var Portal = require('./Portal-DOeXKll0.js');
9
+ var Portal = require('./Portal-D3CvlJ0g.js');
10
10
  var Button = require('./Button.js');
11
11
  require('react-router-dom');
12
12
  require('qs');
@@ -147,6 +147,7 @@ var Modal = function Modal(_ref) {
147
147
  setFocusField = _useOverlay.setFocusField;
148
148
  var isFullScreenModal = size === SIZES.fullScreen;
149
149
  return /*#__PURE__*/jsxRuntime.jsx(Portal.Portal, {
150
+ bringToFront: isOpen,
150
151
  rootId: "neeto-ui-portal",
151
152
  children: /*#__PURE__*/jsxRuntime.jsx(Portal.CSSTransition, {
152
153
  unmountOnExit: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../src/components/Modal/Body.jsx","../../src/components/Modal/Footer.jsx","../../src/components/Modal/Header.jsx","../../src/components/Modal/MemoizedChildren.js","../../src/components/Modal/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Body = ({ children, className, dataTestid }) => (\n <div\n className={classnames(\"neeto-ui-modal__body\", className)}\n data-testid={dataTestid ?? \"modal-body\"}\n >\n {children}\n </div>\n);\n\nBody.propTypes = {\n /**\n * To specify className to be applied to the Modal Body.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Body.\n */\n children: PropTypes.node,\n};\n\nexport default Body;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Footer = ({ children, className, dataTestid }) => (\n <div\n className={classnames(\"neeto-ui-modal__footer\", className)}\n data-testid={dataTestid ?? \"modal-footer\"}\n >\n {children}\n </div>\n);\n\nFooter.propTypes = {\n /**\n * To specify className to be applied to the Modal Footer.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Footer.\n */\n children: PropTypes.node,\n};\n\nexport default Footer;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Typography from \"../Typography\";\n\nconst Header = ({ description = \"\", children, className, dataTestid }) => (\n <div\n className={classnames(\"neeto-ui-modal__header\", className)}\n data-testid={dataTestid ?? \"modal-header\"}\n >\n {children}\n {description && (\n <div\n className=\"neeto-ui-modal__header-desc\"\n data-testid=\"modal-header-desc\"\n >\n <Typography lineHeight=\"normal\" style=\"body2\">\n {description}\n </Typography>\n </div>\n )}\n </div>\n);\n\nHeader.propTypes = {\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the short description of the Modal.\n */\n description: PropTypes.string,\n /**\n * To specify className to be applied to the Modal Header container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Header.\n */\n children: PropTypes.node,\n};\n\nexport default Header;\n","import React from \"react\";\n\nconst MemoizedChildren = React.memo(\n ({ children }) => children,\n (_, { shouldUpdate }) => !shouldUpdate\n);\n\nMemoizedChildren.displayName = \"MemoizedChildren\";\n\nexport default MemoizedChildren;\n","import React, { useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { CSSTransition } from \"react-transition-group\";\n\nimport Backdrop from \"atoms/Backdrop\";\nimport Portal from \"atoms/Portal\";\nimport Button from \"components/Button\";\nimport { useOverlayManager, useOverlay } from \"hooks\";\n\nimport Body from \"./Body\";\nimport Footer from \"./Footer\";\nimport Header from \"./Header\";\nimport MemoizedChildren from \"./MemoizedChildren\";\n\nconst SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n fullScreen: \"fullScreen\",\n};\n\nconst Modal = ({\n size = SIZES.medium,\n isOpen = false,\n onClose = () => {},\n children,\n finalFocusRef,\n initialFocusRef,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n blockScrollOnMount = true,\n closeOnOutsideClick = true,\n forceRender = false,\n ...otherProps\n}) => {\n const [hasTransitionCompleted, setHasTransitionCompleted] = useState(false);\n\n const modalWrapper = useRef(null);\n const backdropRef = useRef(null);\n\n useOverlayManager(modalWrapper, isOpen);\n\n const { handleOverlayClose, setFocusField } = useOverlay({\n isOpen,\n initialFocusRef,\n finalFocusRef,\n overlayWrapper: modalWrapper,\n onClose,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n blockScrollOnMount,\n hasTransitionCompleted,\n });\n\n const isFullScreenModal = size === SIZES.fullScreen;\n\n return (\n <Portal rootId=\"neeto-ui-portal\">\n <CSSTransition\n unmountOnExit\n appear={isOpen}\n classNames=\"neeto-ui-modal\"\n in={isOpen}\n timeout={300}\n onEntered={() => setHasTransitionCompleted(true)}\n onExited={() => setHasTransitionCompleted(false)}\n >\n <Backdrop\n key=\"modal-backdrop\"\n ref={backdropRef}\n className={classnames(\n \"neeto-ui-modal__backdrop\",\n {\n \"neeto-ui-modal__backdrop--fullscreen\": isFullScreenModal,\n },\n backdropClassName\n )}\n >\n <div\n aria-modal\n key=\"modal-wrapper\"\n ref={modalWrapper}\n role=\"dialog\"\n className={classnames(\"neeto-ui-modal__wrapper\", {\n \"neeto-ui-modal__wrapper--small\": size === SIZES.small,\n \"neeto-ui-modal__wrapper--medium\": size === SIZES.medium,\n \"neeto-ui-modal__wrapper--large\": size === SIZES.large,\n \"neeto-ui-modal__wrapper--fullscreen\": isFullScreenModal,\n [className]: className,\n })}\n {...otherProps}\n >\n {closeButton && (\n <Button\n aria-label=\"Close\"\n className=\"neeto-ui-modal__close\"\n data-testid=\"modal-close-button\"\n icon={Close}\n size={isFullScreenModal ? \"large\" : \"small\"}\n style={isFullScreenModal ? \"secondary\" : \"text\"}\n onClick={handleOverlayClose}\n />\n )}\n <MemoizedChildren shouldUpdate={isOpen || forceRender}>\n {typeof children === \"function\"\n ? children({ setFocusField })\n : children}\n </MemoizedChildren>\n </div>\n </Backdrop>\n </CSSTransition>\n </Portal>\n );\n};\n\nModal.propTypes = {\n /**\n * To specify the size of the Modal.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Modal is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the Modal is closed.\n */\n onClose: PropTypes.func,\n /**\n * To specify the content to be rendered inside the Modal component.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * To provide external classNames to the Modal.\n */\n className: PropTypes.string,\n /**\n * To close the Modal on pressing the Esc key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the close button of the Modal should be displayed or not.\n */\n closeButton: PropTypes.bool,\n /**\n * To add custom classes to backdrop component.\n */\n backdropClassName: PropTypes.string,\n /**\n * To close on clicking outside the Modal content.\n */\n closeOnOutsideClick: PropTypes.bool,\n /*\n * To specify the ref of the element which will receive focus when the Modal is closed.\n * If not specified, the focus will be set to the element which was focused when the Modal was opened.\n * If the Modal was opened by clicking on a button, then the focus will be set to the button.\n * */\n finalFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the ref of the element which will receive focus when the Modal is opened.\n * If not specified, the focus will be set to the first focusable element inside the Modal.\n * */\n initialFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify whether the scroll should be blocked when the Modal is opened.\n * */\n blockScrollOnMount: PropTypes.bool,\n /**\n * The modal children will be force re-rendered if the boolean is set to `true`. Ideally the modal won't update\n * if the `isOpen` is `false`. You can use this prop to override that nature.\n */\n forceRender: PropTypes.bool,\n};\n\nModal.Header = Header;\nModal.Body = Body;\nModal.Footer = Footer;\n\nexport default Modal;\n"],"names":["Body","_ref","children","className","dataTestid","_jsx","classnames","Footer","Header","_ref$description","description","_jsxs","Typography","lineHeight","style","MemoizedChildren","React","memo","_","_ref2","shouldUpdate","displayName","SIZES","small","medium","large","fullScreen","Modal","_ref$size","size","_ref$isOpen","isOpen","_ref$onClose","onClose","finalFocusRef","initialFocusRef","_ref$className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$blockScrollOnMou","blockScrollOnMount","_ref$closeOnOutsideCl","closeOnOutsideClick","_ref$forceRender","forceRender","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","hasTransitionCompleted","setHasTransitionCompleted","modalWrapper","useRef","backdropRef","useOverlayManager","_useOverlay","useOverlay","overlayWrapper","handleOverlayClose","setFocusField","isFullScreenModal","Portal","rootId","CSSTransition","unmountOnExit","appear","classNames","timeout","onEntered","onExited","Backdrop","ref","_objectSpread","role","_defineProperty","Button","icon","Close","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sources":["../../src/components/Modal/Body.jsx","../../src/components/Modal/Footer.jsx","../../src/components/Modal/Header.jsx","../../src/components/Modal/MemoizedChildren.js","../../src/components/Modal/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Body = ({ children, className, dataTestid }) => (\n <div\n className={classnames(\"neeto-ui-modal__body\", className)}\n data-testid={dataTestid ?? \"modal-body\"}\n >\n {children}\n </div>\n);\n\nBody.propTypes = {\n /**\n * To specify className to be applied to the Modal Body.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Body.\n */\n children: PropTypes.node,\n};\n\nexport default Body;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Footer = ({ children, className, dataTestid }) => (\n <div\n className={classnames(\"neeto-ui-modal__footer\", className)}\n data-testid={dataTestid ?? \"modal-footer\"}\n >\n {children}\n </div>\n);\n\nFooter.propTypes = {\n /**\n * To specify className to be applied to the Modal Footer.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Footer.\n */\n children: PropTypes.node,\n};\n\nexport default Footer;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Typography from \"../Typography\";\n\nconst Header = ({ description = \"\", children, className, dataTestid }) => (\n <div\n className={classnames(\"neeto-ui-modal__header\", className)}\n data-testid={dataTestid ?? \"modal-header\"}\n >\n {children}\n {description && (\n <div\n className=\"neeto-ui-modal__header-desc\"\n data-testid=\"modal-header-desc\"\n >\n <Typography lineHeight=\"normal\" style=\"body2\">\n {description}\n </Typography>\n </div>\n )}\n </div>\n);\n\nHeader.propTypes = {\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the short description of the Modal.\n */\n description: PropTypes.string,\n /**\n * To specify className to be applied to the Modal Header container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Header.\n */\n children: PropTypes.node,\n};\n\nexport default Header;\n","import React from \"react\";\n\nconst MemoizedChildren = React.memo(\n ({ children }) => children,\n (_, { shouldUpdate }) => !shouldUpdate\n);\n\nMemoizedChildren.displayName = \"MemoizedChildren\";\n\nexport default MemoizedChildren;\n","import React, { useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { CSSTransition } from \"react-transition-group\";\n\nimport Backdrop from \"atoms/Backdrop\";\nimport Portal from \"atoms/Portal\";\nimport Button from \"components/Button\";\nimport { useOverlayManager, useOverlay } from \"hooks\";\n\nimport Body from \"./Body\";\nimport Footer from \"./Footer\";\nimport Header from \"./Header\";\nimport MemoizedChildren from \"./MemoizedChildren\";\n\nconst SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n fullScreen: \"fullScreen\",\n};\n\nconst Modal = ({\n size = SIZES.medium,\n isOpen = false,\n onClose = () => {},\n children,\n finalFocusRef,\n initialFocusRef,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n blockScrollOnMount = true,\n closeOnOutsideClick = true,\n forceRender = false,\n ...otherProps\n}) => {\n const [hasTransitionCompleted, setHasTransitionCompleted] = useState(false);\n\n const modalWrapper = useRef(null);\n const backdropRef = useRef(null);\n\n useOverlayManager(modalWrapper, isOpen);\n\n const { handleOverlayClose, setFocusField } = useOverlay({\n isOpen,\n initialFocusRef,\n finalFocusRef,\n overlayWrapper: modalWrapper,\n onClose,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n blockScrollOnMount,\n hasTransitionCompleted,\n });\n\n const isFullScreenModal = size === SIZES.fullScreen;\n\n return (\n <Portal bringToFront={isOpen} rootId=\"neeto-ui-portal\">\n <CSSTransition\n unmountOnExit\n appear={isOpen}\n classNames=\"neeto-ui-modal\"\n in={isOpen}\n timeout={300}\n onEntered={() => setHasTransitionCompleted(true)}\n onExited={() => setHasTransitionCompleted(false)}\n >\n <Backdrop\n key=\"modal-backdrop\"\n ref={backdropRef}\n className={classnames(\n \"neeto-ui-modal__backdrop\",\n {\n \"neeto-ui-modal__backdrop--fullscreen\": isFullScreenModal,\n },\n backdropClassName\n )}\n >\n <div\n aria-modal\n key=\"modal-wrapper\"\n ref={modalWrapper}\n role=\"dialog\"\n className={classnames(\"neeto-ui-modal__wrapper\", {\n \"neeto-ui-modal__wrapper--small\": size === SIZES.small,\n \"neeto-ui-modal__wrapper--medium\": size === SIZES.medium,\n \"neeto-ui-modal__wrapper--large\": size === SIZES.large,\n \"neeto-ui-modal__wrapper--fullscreen\": isFullScreenModal,\n [className]: className,\n })}\n {...otherProps}\n >\n {closeButton && (\n <Button\n aria-label=\"Close\"\n className=\"neeto-ui-modal__close\"\n data-testid=\"modal-close-button\"\n icon={Close}\n size={isFullScreenModal ? \"large\" : \"small\"}\n style={isFullScreenModal ? \"secondary\" : \"text\"}\n onClick={handleOverlayClose}\n />\n )}\n <MemoizedChildren shouldUpdate={isOpen || forceRender}>\n {typeof children === \"function\"\n ? children({ setFocusField })\n : children}\n </MemoizedChildren>\n </div>\n </Backdrop>\n </CSSTransition>\n </Portal>\n );\n};\n\nModal.propTypes = {\n /**\n * To specify the size of the Modal.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Modal is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the Modal is closed.\n */\n onClose: PropTypes.func,\n /**\n * To specify the content to be rendered inside the Modal component.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * To provide external classNames to the Modal.\n */\n className: PropTypes.string,\n /**\n * To close the Modal on pressing the Esc key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the close button of the Modal should be displayed or not.\n */\n closeButton: PropTypes.bool,\n /**\n * To add custom classes to backdrop component.\n */\n backdropClassName: PropTypes.string,\n /**\n * To close on clicking outside the Modal content.\n */\n closeOnOutsideClick: PropTypes.bool,\n /*\n * To specify the ref of the element which will receive focus when the Modal is closed.\n * If not specified, the focus will be set to the element which was focused when the Modal was opened.\n * If the Modal was opened by clicking on a button, then the focus will be set to the button.\n * */\n finalFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the ref of the element which will receive focus when the Modal is opened.\n * If not specified, the focus will be set to the first focusable element inside the Modal.\n * */\n initialFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify whether the scroll should be blocked when the Modal is opened.\n * */\n blockScrollOnMount: PropTypes.bool,\n /**\n * The modal children will be force re-rendered if the boolean is set to `true`. Ideally the modal won't update\n * if the `isOpen` is `false`. You can use this prop to override that nature.\n */\n forceRender: PropTypes.bool,\n};\n\nModal.Header = Header;\nModal.Body = Body;\nModal.Footer = Footer;\n\nexport default Modal;\n"],"names":["Body","_ref","children","className","dataTestid","_jsx","classnames","Footer","Header","_ref$description","description","_jsxs","Typography","lineHeight","style","MemoizedChildren","React","memo","_","_ref2","shouldUpdate","displayName","SIZES","small","medium","large","fullScreen","Modal","_ref$size","size","_ref$isOpen","isOpen","_ref$onClose","onClose","finalFocusRef","initialFocusRef","_ref$className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$blockScrollOnMou","blockScrollOnMount","_ref$closeOnOutsideCl","closeOnOutsideClick","_ref$forceRender","forceRender","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","hasTransitionCompleted","setHasTransitionCompleted","modalWrapper","useRef","backdropRef","useOverlayManager","_useOverlay","useOverlay","overlayWrapper","handleOverlayClose","setFocusField","isFullScreenModal","Portal","bringToFront","rootId","CSSTransition","unmountOnExit","appear","classNames","timeout","onEntered","onExited","Backdrop","ref","_objectSpread","role","_defineProperty","Button","icon","Close","onClick"],"mappings":"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"}
package/dist/cjs/Pane.js CHANGED
@@ -6,7 +6,7 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
6
6
  var React = require('react');
7
7
  var classnames = require('classnames');
8
8
  var Close = require('@bigbinary/neeto-icons/Close');
9
- var Portal = require('./Portal-DOeXKll0.js');
9
+ var Portal = require('./Portal-D3CvlJ0g.js');
10
10
  var Button = require('./Button.js');
11
11
  require('react-router-dom');
12
12
  require('qs');
@@ -168,6 +168,7 @@ var Pane = function Pane(_ref) {
168
168
  };
169
169
  }, [hasTransitionCompleted, isTopOverlay]);
170
170
  return /*#__PURE__*/jsxRuntime.jsx(Portal.Portal, {
171
+ bringToFront: isOpen,
171
172
  rootId: "neeto-ui-portal",
172
173
  children: /*#__PURE__*/jsxRuntime.jsx(Portal.CSSTransition, {
173
174
  unmountOnExit: true,