@bigbinary/neetoui 8.2.62 → 8.2.64

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 (38) hide show
  1. package/dist/Alert.js +1 -1
  2. package/dist/DatePicker.js +2 -2
  3. package/dist/Modal.js +1 -1
  4. package/dist/Pane.js +1 -1
  5. package/dist/Select.js +23 -2
  6. package/dist/Select.js.map +1 -1
  7. package/dist/TimePicker.js +2 -2
  8. package/dist/Tree.js +7 -3
  9. package/dist/Tree.js.map +1 -1
  10. package/dist/cjs/Alert.js +1 -1
  11. package/dist/cjs/DatePicker.js +2 -2
  12. package/dist/cjs/Modal.js +1 -1
  13. package/dist/cjs/Pane.js +1 -1
  14. package/dist/cjs/Select.js +23 -2
  15. package/dist/cjs/Select.js.map +1 -1
  16. package/dist/cjs/TimePicker.js +2 -2
  17. package/dist/cjs/Tree.js +7 -3
  18. package/dist/cjs/Tree.js.map +1 -1
  19. package/dist/cjs/formik/BlockNavigation.js +1 -1
  20. package/dist/cjs/formik/index.js +1 -1
  21. package/dist/cjs/{index-CLN_qmjA.js → index-uTin1vLa.js} +18 -3
  22. package/dist/cjs/index-uTin1vLa.js.map +1 -0
  23. package/dist/cjs/index.js +2 -2
  24. package/dist/cjs/{useOverlayManager-WhUj0l5B.js → useOverlayManager-BNWD2l1X.js} +2 -2
  25. package/dist/cjs/{useOverlayManager-WhUj0l5B.js.map → useOverlayManager-BNWD2l1X.js.map} +1 -1
  26. package/dist/formik/BlockNavigation.js +1 -1
  27. package/dist/formik/index.js +1 -1
  28. package/dist/{index-BNHGIZeJ.js → index-D81Lz9Bl.js} +19 -4
  29. package/dist/index-D81Lz9Bl.js.map +1 -0
  30. package/dist/index.js +2 -2
  31. package/dist/{useOverlayManager-DtHaxcLZ.js → useOverlayManager-Bq6qRB9x.js} +2 -2
  32. package/dist/{useOverlayManager-DtHaxcLZ.js.map → useOverlayManager-Bq6qRB9x.js.map} +1 -1
  33. package/package.json +1 -1
  34. package/types/DatePicker.d.ts +2 -0
  35. package/types/Select.d.ts +3 -0
  36. package/types/Tree.d.ts +2 -1
  37. package/dist/cjs/index-CLN_qmjA.js.map +0 -1
  38. package/dist/index-BNHGIZeJ.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useOverlayManager-WhUj0l5B.js","sources":["../../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","../../src/hooks/useOnClickOutside.js","../../src/hooks/useOverlay.js","../../src/hooks/useOverlayManager.js"],"sourcesContent":["/**\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\n data-cy=\"neeto-backdrop\"\n data-testid=\"neeto-backdrop\"\n ref={ref}\n {...otherProps}\n >\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","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,\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 };\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"],"names":["removeClass","addClass","addOneClass","removeOneClass","Portal","_ref","ref","children","otherProps","_objectWithoutProperties","_excluded","React","createElement","_extends","forwardRef","_ref$rootId","rootId","_ref$el","el","target","useRef","useEffect","container","document","getElementById","setAttribute","body","appendChild","current","remove","isEmpty","childNodes","createPortal","useOnClickOutside","insideRef","outsideRef","handler","listener","event","contains","addEventListener","removeEventListener","useOverlay","_document$body","isOpen","initialFocusRef","finalFocusRef","overlayWrapper","onClose","backdropRef","closeOnOutsideClick","closeOnEsc","blockScrollOnMount","hasTransitionCompleted","elementToFocusRef","bodyHeight","offsetHeight","windowHeight","window","innerHeight","hasScroll","shouldHideScrollAndAddMargin","manager","hasOverlays","returnFocusToPreviousActiveElement","getFinalFocusInOverlay","_elementToFocusRef$cu","focus","focusRequiredElementInOverlay","_initialFocusRef","_initialFocusRef2","focusFirstFocusableElement","handleOverlayClose","useCallback","isTopOverlay","noop","useSyncExternalStore","subscribe","useHotKeys","enabled","mode","cleanUp","trapFocusOnFocusableElements","hideScrollAndAddMargin","showScrollAndRemoveMargin","setFocusField","fieldRef","useOverlayManager","elementToFocus","activeElement","add"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}
1
+ {"version":3,"file":"useOverlayManager-BNWD2l1X.js","sources":["../../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","../../src/hooks/useOnClickOutside.js","../../src/hooks/useOverlay.js","../../src/hooks/useOverlayManager.js"],"sourcesContent":["/**\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\n data-cy=\"neeto-backdrop\"\n data-testid=\"neeto-backdrop\"\n ref={ref}\n {...otherProps}\n >\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","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 };\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"],"names":["removeClass","addClass","addOneClass","removeOneClass","Portal","_ref","ref","children","otherProps","_objectWithoutProperties","_excluded","React","createElement","_extends","forwardRef","_ref$rootId","rootId","_ref$el","el","target","useRef","useEffect","container","document","getElementById","setAttribute","body","appendChild","current","remove","isEmpty","childNodes","createPortal","useOnClickOutside","insideRef","outsideRef","handler","listener","event","contains","addEventListener","removeEventListener","useOverlay","_document$body","isOpen","initialFocusRef","finalFocusRef","overlayWrapper","onClose","backdropRef","closeOnOutsideClick","closeOnEsc","blockScrollOnMount","hasTransitionCompleted","elementToFocusRef","bodyHeight","offsetHeight","windowHeight","window","innerHeight","hasScroll","shouldHideScrollAndAddMargin","manager","hasOverlays","returnFocusToPreviousActiveElement","getFinalFocusInOverlay","_elementToFocusRef$cu","focus","focusRequiredElementInOverlay","_initialFocusRef","_initialFocusRef2","focusFirstFocusableElement","handleOverlayClose","useCallback","isTopOverlay","noop","useSyncExternalStore","subscribe","useHotKeys","enabled","mode","cleanUp","trapFocusOnFocusableElements","hideScrollAndAddMargin","showScrollAndRemoveMargin","setFocusField","fieldRef","useOverlayManager","elementToFocus","activeElement","add"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}
@@ -30,7 +30,7 @@ import '../Tooltip.js';
30
30
  import '@tippyjs/react';
31
31
  import 'tippy.js';
32
32
  import '@bigbinary/neeto-icons';
33
- import '../useOverlayManager-DtHaxcLZ.js';
33
+ import '../useOverlayManager-Bq6qRB9x.js';
34
34
  import '@babel/runtime/helpers/esm/extends';
35
35
  import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
36
36
  import '@babel/runtime/helpers/esm/inheritsLoose';
@@ -42,7 +42,7 @@ import '@bigbinary/neeto-hotkeys';
42
42
  import '../overlayManager.js';
43
43
  import '../Modal.js';
44
44
  import '@bigbinary/neeto-icons';
45
- import '../useOverlayManager-DtHaxcLZ.js';
45
+ import '../useOverlayManager-Bq6qRB9x.js';
46
46
  import '@babel/runtime/helpers/esm/extends';
47
47
  import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
48
48
  import '@babel/runtime/helpers/esm/inheritsLoose';
@@ -2,7 +2,7 @@ import _ConfigProvider from 'antd/lib/config-provider';
2
2
  import _extends from '@babel/runtime/helpers/extends';
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
4
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
- import React__default, { forwardRef, useState, useEffect, useCallback } from 'react';
5
+ import React__default, { forwardRef, useState, useRef, useEffect, useCallback } from 'react';
6
6
  import classnames from 'classnames';
7
7
  import { Right, Left, Close, Calendar, Clock } from '@bigbinary/neeto-icons';
8
8
  import { useTranslation } from 'react-i18next';
@@ -179,7 +179,7 @@ var formattedString = function formattedString(date, dateFormat) {
179
179
  }) : date === null || date === void 0 ? void 0 : date.format(dateFormat);
180
180
  };
181
181
 
182
- var _excluded$1 = ["className", "label", "size", "dropdownClassName", "popupClassName", "dateFormat", "timeFormat", "placeholder", "onChange", "onOk", "picker", "showTime", "type", "nakedInput", "error", "defaultValue", "value", "labelProps", "required", "allowClear", "maxDate", "minDate", "timePickerProps", "timezone"];
182
+ var _excluded$1 = ["className", "label", "size", "dropdownClassName", "popupClassName", "dateFormat", "timeFormat", "placeholder", "onChange", "onOk", "picker", "showTime", "type", "nakedInput", "error", "defaultValue", "value", "labelProps", "required", "allowClear", "maxDate", "minDate", "timePickerProps", "timezone", "onOpenChange", "onKeyDown"];
183
183
  function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
184
184
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
185
185
  var INPUT_SIZES$1 = {
@@ -193,6 +193,7 @@ var datePickerTypes = {
193
193
  date: _DatePicker
194
194
  };
195
195
  var DatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
196
+ var _otherProps$open;
196
197
  var _ref$className = _ref.className,
197
198
  className = _ref$className === void 0 ? "" : _ref$className,
198
199
  _ref$label = _ref.label,
@@ -233,6 +234,8 @@ var DatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
233
234
  minDate = _ref.minDate,
234
235
  timePickerProps = _ref.timePickerProps,
235
236
  timezone = _ref.timezone,
237
+ onOpenChange = _ref.onOpenChange,
238
+ onKeyDown = _ref.onKeyDown,
236
239
  otherProps = _objectWithoutProperties(_ref, _excluded$1);
237
240
  var _useState = useState(inputValue),
238
241
  _useState2 = _slicedToArray(_useState, 2),
@@ -248,6 +251,7 @@ var DatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
248
251
  setPickerValue = _useState6[1];
249
252
  var id = useId(otherProps.id);
250
253
  var datePickerRef = useSyncedRef(ref);
254
+ var isDatePickerOpen = useRef((_otherProps$open = otherProps.open) !== null && _otherProps$open !== void 0 ? _otherProps$open : false);
251
255
  var Component = datePickerTypes[type === null || type === void 0 ? void 0 : type.toLowerCase()];
252
256
  var format = showTime ? "".concat(dateFormat, " ").concat(timeFormat) : dateFormat;
253
257
  var errorId = "error_".concat(id);
@@ -268,6 +272,15 @@ var DatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
268
272
  setValue(allowed);
269
273
  return onChange(allowed, formattedString(allowed, dateFormat));
270
274
  };
275
+ var handleOnOpenChange = function handleOnOpenChange(open) {
276
+ isDatePickerOpen.current = open;
277
+ onOpenChange === null || onOpenChange === void 0 || onOpenChange(open);
278
+ };
279
+ var handleOnKeyDown = function handleOnKeyDown(e) {
280
+ if (!isDatePickerOpen.current) return;
281
+ e.stopPropagation();
282
+ onKeyDown === null || onKeyDown === void 0 || onKeyDown(e);
283
+ };
271
284
  var renderExtraFooter = function renderExtraFooter() {
272
285
  if (type === "range" || mode === "date") return null;
273
286
  return /*#__PURE__*/React__default.createElement(Today, {
@@ -303,7 +316,9 @@ var DatePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
303
316
  popupClassName: classnames("neeto-ui-date-time-dropdown", [dropdownClassName,
304
317
  // Will be removed in the next major version
305
318
  popupClassName]),
306
- onChange: handleOnChange
319
+ onChange: handleOnChange,
320
+ onKeyDown: handleOnKeyDown,
321
+ onOpenChange: handleOnOpenChange
307
322
  }, _objectSpread$1(_objectSpread$1({
308
323
  format: format,
309
324
  maxDate: maxDate,
@@ -508,4 +523,4 @@ var TimePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
508
523
  TimePicker.displayName = "TimePicker";
509
524
 
510
525
  export { DatePicker as D, TimePicker as T };
511
- //# sourceMappingURL=index-BNHGIZeJ.js.map
526
+ //# sourceMappingURL=index-D81Lz9Bl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-D81Lz9Bl.js","sources":["../src/components/DatePicker/IconOverride.jsx","../src/components/DatePicker/Provider.jsx","../src/components/DatePicker/Today.jsx","../src/components/DatePicker/utils.js","../src/components/DatePicker/index.jsx","../src/components/TimePicker/constants.js","../src/components/TimePicker/index.jsx"],"sourcesContent":["import React from \"react\";\n\nconst IconOverride = ({ icon: Icon }) => (\n <span className=\"neeto-ui-btn neeto-ui-btn--style-text neeto-ui-btn--size-medium neeto-ui-btn--icon-only\">\n <Icon className=\"neeto-ui-btn__icon\" size={20} />\n </span>\n);\n\nexport default IconOverride;\n","import React from \"react\";\n\nimport { ConfigProvider } from \"antd\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ANTD_LOCALE } from \"components/constants\";\nimport { ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES } from \"utils\";\n\nconst Provider = ({ children }) => {\n const { i18n } = useTranslation();\n\n return (\n <ConfigProvider\n locale={ANTD_LOCALE[i18n.language || \"en\"]}\n theme={{\n token: { ...ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES },\n components: {\n DatePicker: {\n activeBg: \"rgb(var(--neeto-ui-white))\",\n activeBorderColor: \"rgb(var(--neeto-ui-primary-500))\",\n addonBg: \"rgb(var(--neeto-ui-gray-100))\",\n cellActiveWithRangeBg: \"rgb(var(--neeto-ui-primary-100))\",\n cellBgDisabled: \"rgb(var(--neeto-ui-gray-100))\",\n cellHoverBg: \"rgb(var(--neeto-ui-gray-200))\",\n cellHoverWithRangeBg: \"rgb(var(--neeto-ui-primary-100))\",\n cellRangeBorderColor: \"rgb(var(--neeto-ui-primary-100))\",\n hoverBg: \"rgb(var(--neeto-ui-white))\",\n hoverBorderColor: \"rgb(var(--neeto-ui-primary-500))\",\n\n // Global overrides\n colorBgContainer: \"rgb(var(--neeto-ui-white))\",\n colorBgElevated: \"rgb(var(--neeto-ui-white))\",\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n colorPrimaryBorder: \"rgb(var(--neeto-ui-primary-100))\",\n colorPrimaryHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorBorder: \"rgb(var(--neeto-ui-gray-300))\",\n colorError: \"rgb(var(--neeto-ui-error-500))\",\n colorErrorHover: \"rgb(var(--neeto-ui-error-600))\",\n colorErrorOutline: \"rgb(var(--neeto-ui-error-100))\",\n colorFillAlter: \"rgb(var(--neeto-ui-gray-100))\",\n colorIcon: \"rgb(var(--neeto-ui-gray-700))\",\n colorIconHover: \"rgb(var(--neeto-ui-gray-800))\",\n colorLink: \"rgb(var(--neeto-ui-primary-500))\",\n colorLinkHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorLinkActive: \"rgb(var(--neeto-ui-primary-800))\",\n colorSplit: \"rgb(var(--neeto-ui-gray-200))\",\n colorText: \"rgb(var(--neeto-ui-gray-800))\",\n colorTextDescription: \"rgb(var(--neeto-ui-gray-700))\",\n colorTextDisabled: \"rgb(var(--neeto-ui-gray-500))\",\n colorTextHeading: \"rgb(var(--neeto-ui-black))\",\n colorTextLightSolid: \"rgb(var(--neeto-ui-white))\",\n colorTextPlaceholder: \"rgb(var(--neeto-ui-gray-400))\",\n colorTextQuaternary: \"rgb(var(--neeto-ui-gray-400))\",\n colorWarning: \"rgb(var(--neeto-ui-warning-500))\",\n colorWarningHover: \"rgb(var(--neeto-ui-warning-600))\",\n colorWarningOutline: \"rgb(var(--neeto-ui-warning-100))\",\n controlItemBgActive: \"rgb(var(--neeto-ui-pastel-purple))\",\n controlItemBgHover: \"rgb(var(--neeto-ui-gray-100))\",\n controlOutline: \"rgb(var(--neeto-ui-gray-300))\",\n\n // Sizes\n cellHeight: 32,\n padding: 22,\n },\n },\n }}\n >\n {children}\n </ConfigProvider>\n );\n};\n\nexport default Provider;\n","/* eslint-disable @bigbinary/neeto/no-dumb-components-with-use-translation */\nimport React from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport { getLocale } from \"utils\";\n\nconst Today = ({ onClick }) => {\n const { t, i18n } = useTranslation();\n\n return (\n <div className=\"text-center\">\n <button\n {...{ onClick }}\n className=\"neeto-ui-rounded-md hover:neeto-ui-bg-gray-200 px-2 py-1 text-xs font-medium transition duration-300 ease-in-out\"\n data-cy=\"year-month-mode-today\"\n >\n {getLocale(i18n, t, \"neetoui.datePicker.today\")}\n </button>\n </div>\n );\n};\n\nexport default Today;\n","import { isPresent } from \"neetocist\";\n\nconst getAllowedDate = (date, minDate, maxDate) => {\n if (isPresent(minDate) && date?.isBefore(minDate)) {\n return minDate;\n }\n\n if (isPresent(maxDate) && date?.isAfter(maxDate)) {\n return maxDate;\n }\n\n return date;\n};\n\nconst getAllowedRange = (dates, minDate, maxDate) =>\n dates.map(item => getAllowedDate(item, minDate, maxDate));\n\nconst getAllowed = (date, minDate, maxDate) =>\n (Array.isArray(date) ? getAllowedRange : getAllowedDate)(\n date,\n minDate,\n maxDate\n );\n\nconst formattedString = (date, dateFormat) =>\n Array.isArray(date)\n ? date.map(item => item?.format(dateFormat))\n : date?.format(dateFormat);\n\nexport { getAllowed, formattedString };\n","import React, {\n forwardRef,\n useState,\n useEffect,\n useCallback,\n useRef,\n} from \"react\";\n\nimport { DatePicker as AntDatePicker } from \"antd\";\nimport classnames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\nimport { Left, Right, Calendar, Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nimport { Tag } from \"components\";\nimport Label from \"components/Label\";\nimport { useSyncedRef, useId } from \"hooks\";\nimport {\n convertToDayjsObjects,\n noop,\n hyphenize,\n dayjs,\n getTimezoneAppliedDateTime,\n} from \"utils\";\n\nimport IconOverride from \"./IconOverride\";\nimport Provider from \"./Provider\";\nimport Today from \"./Today\";\nimport { getAllowed, formattedString } from \"./utils\";\n\nconst INPUT_SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst { RangePicker } = AntDatePicker;\n\nconst datePickerTypes = { range: RangePicker, date: AntDatePicker };\n\nconst DatePicker = forwardRef(\n (\n {\n className = \"\",\n label = \"\",\n size = INPUT_SIZES.medium,\n dropdownClassName = \"\",\n popupClassName = \"\",\n dateFormat = \"DD/MM/YYYY\",\n timeFormat = \"HH:mm:ss\",\n placeholder,\n onChange = noop,\n onOk = noop,\n picker = \"date\",\n showTime = false,\n type = \"date\",\n nakedInput = false,\n error = \"\",\n defaultValue,\n value: inputValue,\n labelProps,\n required = false,\n allowClear = true,\n maxDate,\n minDate,\n timePickerProps,\n timezone,\n onOpenChange,\n onKeyDown,\n ...otherProps\n },\n ref\n ) => {\n const [value, setValue] = useState(inputValue);\n const [mode, setMode] = useState(picker);\n const [pickerValue, setPickerValue] = useState();\n const id = useId(otherProps.id);\n const datePickerRef = useSyncedRef(ref);\n const isDatePickerOpen = useRef(otherProps.open ?? false);\n\n const Component = datePickerTypes[type?.toLowerCase()];\n const format = showTime ? `${dateFormat} ${timeFormat}` : dateFormat;\n\n const errorId = `error_${id}`;\n\n useEffect(() => {\n setValue(inputValue);\n }, [inputValue]);\n\n useEffect(() => {\n setMode(picker);\n }, [picker]);\n\n const getAllowedValue = useCallback(\n date => getAllowed(date, minDate, maxDate),\n [minDate, maxDate]\n );\n\n const handleOnChange = (date, dateString) => {\n if (type === \"range\" && isNotPresent(date)) {\n return onChange([], dateString);\n }\n\n const allowed = getAllowedValue(getTimezoneAppliedDateTime(date));\n setValue(allowed);\n\n return onChange(allowed, formattedString(allowed, dateFormat));\n };\n\n const handleOnOpenChange = open => {\n isDatePickerOpen.current = open;\n onOpenChange?.(open);\n };\n\n const handleOnKeyDown = e => {\n if (!isDatePickerOpen.current) return;\n\n e.stopPropagation();\n onKeyDown?.(e);\n };\n\n const renderExtraFooter = () => {\n if (type === \"range\" || mode === \"date\") return null;\n\n return (\n <Today\n onClick={() => {\n const today = dayjs();\n setValue(today);\n onChange(today, formattedString(today, dateFormat));\n setMode(picker);\n }}\n />\n );\n };\n\n return (\n <Provider>\n <div className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required, ...labelProps }}>{label}</Label>}\n <Component\n data-cy={label ? `${hyphenize(label)}-input` : \"picker-input\"}\n defaultValue={convertToDayjsObjects(defaultValue)}\n placeholder={placeholder ?? format}\n ref={datePickerRef}\n showTime={showTime && { format: timeFormat, ...timePickerProps }}\n value={convertToDayjsObjects(value)}\n className={classnames(\"neeto-ui-date-input\", [className], {\n \"neeto-ui-date-input--small\": size === \"small\",\n \"neeto-ui-date-input--medium\": size === \"medium\",\n \"neeto-ui-date-input--large\": size === \"large\",\n \"neeto-ui-date-input--disabled\": otherProps.disabled,\n \"neeto-ui-date-input--naked\": nakedInput,\n \"neeto-ui-date-input--error\": !!error,\n })}\n popupClassName={classnames(\"neeto-ui-date-time-dropdown\", [\n dropdownClassName, // Will be removed in the next major version\n popupClassName,\n ])}\n onChange={handleOnChange}\n onKeyDown={handleOnKeyDown}\n onOpenChange={handleOnOpenChange}\n {...{\n format,\n maxDate,\n minDate,\n onOk,\n picker,\n ...otherProps,\n ...(type === \"date\" && {\n mode,\n pickerValue,\n renderExtraFooter,\n onPanelChange: (pickerValue, mode) => {\n setPickerValue(pickerValue);\n setMode(mode);\n },\n }),\n }}\n getNow={dayjs}\n nextIcon={<IconOverride icon={Right} />}\n prevIcon={<IconOverride icon={Left} />}\n superNextIcon={<IconOverride icon={Right} />}\n superPrevIcon={<IconOverride icon={Left} />}\n allowClear={\n allowClear && {\n clearIcon: <Close data-cy=\"date-time-clear-icon\" size={16} />,\n }\n }\n suffixIcon={\n timezone ? <Tag label={timezone} /> : <Calendar size={16} />\n }\n />\n {!!error && typeof error === \"string\" && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n </div>\n </Provider>\n );\n }\n);\n\nDatePicker.displayName = \"DatePicker\";\n\nDatePicker.propTypes = {\n /**\n * To provide external classnames to DatePicker component.\n */\n className: PropTypes.string,\n /**\n * To provide external classnames to DatePicker popup.\n */\n popupClassName: PropTypes.string,\n /**\n * To set the text to be displayed above the DatePicker.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To set the size of the DatePicker.\n */\n size: PropTypes.oneOf(Object.values(INPUT_SIZES)),\n /**\n * To set the DatePicker as naked Input field.\n */\n nakedInput: PropTypes.bool,\n /**\n * To specify the error message to be shown in the DatePicker.\n */\n error: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n /**\n * To set DatePicker as disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To specify custom classnames to be applied to the DatePicker dropdown.\n */\n dropdownClassName: PropTypes.string,\n /**\n * To specify the date format.\n */\n dateFormat: PropTypes.string,\n /**\n * To specify the time format.\n */\n timeFormat: PropTypes.string,\n /**\n * To specify the placeholder text for the DatePicker, if not provided, the format will be used as placeholder.\n */\n placeholder: PropTypes.string,\n /**\n * To specify props to be passed to the time picker.\n */\n timePickerProps: PropTypes.object,\n /**\n * To specify the timezone.\n */\n timezone: PropTypes.string,\n /**\n * For `DateInput`,(date, dateString) => {} <br />\n * For `DateRange`, (date, [startDate, endDate]) => {}\n */\n onChange: PropTypes.func,\n /**\n * Callback function which will be invoked when ok button is clicked in DateInput\n */\n onOk: PropTypes.func,\n /**\n * To specify the type of the picker.\n */\n picker: PropTypes.oneOf([\"date\", \"week\", \"month\", \"quarter\", \"year\"]),\n /**\n * To show time picker\n */\n showTime: PropTypes.bool,\n /**\n * To specify the type of the DatePicker.\n */\n type: PropTypes.oneOf(Object.keys(datePickerTypes)),\n /**\n * To specify the values to be displayed inside the DatePicker.\n */\n value: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * To specify the default values to be displayed inside the DatePicker.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * To specify whether the Date picker is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify whether the Date picker value can be cleared or not.\n */\n allowClear: PropTypes.bool,\n /**\n * To specify the minimum date of the DatePicker.\n */\n minDate: PropTypes.object,\n /**\n * To specify the maximum date of the DatePicker.\n */\n maxDate: PropTypes.object,\n /**\n * Callback function which will be invoked when the DatePicker is opened or closed.\n */\n onOpenChange: PropTypes.func,\n /**\n * Callback function which will be invoked when a key is pressed.\n */\n onKeyDown: PropTypes.func,\n};\n\nexport default DatePicker;\n","import { DatePicker as AntTimePicker } from \"antd\";\n\nconst { RangePicker } = AntTimePicker;\n\nexport const TIME_PICKER_TYPES = {\n range: RangePicker,\n time: AntTimePicker,\n};\n","import React, { forwardRef } from \"react\";\n\nimport { ConfigProvider } from \"antd\";\nimport classnames from \"classnames\";\nimport { Clock } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Tag } from \"components\";\nimport { ANTD_LOCALE } from \"components/constants\";\nimport Label from \"components/Label\";\nimport { useSyncedRef, useId } from \"hooks\";\nimport {\n convertToDayjsObjects,\n noop,\n hyphenize,\n ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES,\n getLocale,\n getTimezoneAppliedDateTime,\n} from \"utils\";\n\nimport { TIME_PICKER_TYPES } from \"./constants\";\n\nconst INPUT_SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst TIME_PICKER_INTERVAL = {\n hourStep: 1,\n minuteStep: 1,\n secondStep: 1,\n};\n\nconst TimePicker = forwardRef(\n (\n {\n className = \"\",\n label = \"\",\n size = INPUT_SIZES.medium,\n dropdownClassName = \"\",\n popupClassName = \"\",\n format = \"HH:mm:ss\",\n interval = TIME_PICKER_INTERVAL,\n onChange = noop,\n type = \"time\",\n nakedInput = false,\n disabled = false,\n error = \"\",\n defaultValue,\n value,\n labelProps,\n required = false,\n placeholder,\n timezone,\n ...otherProps\n },\n ref\n ) => {\n const { t, i18n } = useTranslation();\n const id = useId(otherProps.id);\n const timePickerRef = useSyncedRef(ref);\n\n const Component = TIME_PICKER_TYPES[type.toLowerCase()];\n\n const errorId = `error_${id}`;\n\n const showTimeLabels = {};\n if (format.includes(\"s\")) {\n showTimeLabels.second = true;\n }\n\n if (format.includes(\"m\")) {\n showTimeLabels.minute = true;\n }\n\n if (format.includes(\"H\") || format.includes(\"h\")) {\n showTimeLabels.hour = true;\n }\n\n const handleOnChange = (time, timeString) => {\n type === \"range\" && !time\n ? onChange([], timeString)\n : onChange(getTimezoneAppliedDateTime(time), timeString);\n };\n\n const panelRender = originalPanel => (\n <div className=\"neeto-ui-date-input-custom-panel\">\n <div className=\"neeto-ui-date-input-custom-panel__header\">\n <ul className=\"neeto-ui-date-input-custom-panel__header-cols\">\n {showTimeLabels.hour && (\n <li className=\"neeto-ui-date-input-custom-panel__header-col\">\n {getLocale(i18n, t, \"neetoui.timePicker.hours\")}\n </li>\n )}\n {showTimeLabels.minute && (\n <li className=\"neeto-ui-date-input-custom-panel__header-col\">\n {getLocale(i18n, t, \"neetoui.timePicker.minutes\")}\n </li>\n )}\n {showTimeLabels.second && (\n <li className=\"neeto-ui-date-input-custom-panel__header-col\">\n {getLocale(i18n, t, \"neetoui.timePicker.seconds\")}\n </li>\n )}\n </ul>\n </div>\n <div className=\"neeto-ui-date-input-custom-panel__body\">\n {originalPanel}\n </div>\n </div>\n );\n\n return (\n <ConfigProvider\n locale={ANTD_LOCALE[i18n.language || \"en\"]}\n theme={{\n token: { ...ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES },\n components: {\n DatePicker: {\n // Global overrides\n colorBgElevated: \"rgb(var(--neeto-ui-white))\",\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n colorPrimaryHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorBorder: \"rgb(var(--neeto-ui-gray-300))\",\n colorLink: \"rgb(var(--neeto-ui-primary-500))\",\n colorLinkHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorText: \"rgb(var(--neeto-ui-gray-800))\",\n colorTextDisabled: \"rgb(var(--neeto-ui-gray-500))\",\n colorTextPlaceholder: \"rgb(var(--neeto-ui-gray-400))\",\n controlItemBgActive: \"rgb(var(--neeto-ui-primary-800))\",\n controlItemBgHover: \"rgb(var(--neeto-ui-gray-100))\",\n controlOutline: \"rgb(var(--neeto-ui-gray-300))\",\n },\n },\n }}\n >\n <div className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required, ...labelProps }}>{label}</Label>}\n <Component\n hourStep={interval.hourStep}\n minuteStep={interval.minuteStep}\n ref={timePickerRef}\n secondStep={interval.secondStep}\n className={classnames(\"neeto-ui-time-input\", [className], {\n \"neeto-ui-time-input--small\": size === \"small\",\n \"neeto-ui-time-input--medium\": size === \"medium\",\n \"neeto-ui-time-input--large\": size === \"large\",\n \"neeto-ui-time-input--disabled\": disabled,\n \"neeto-ui-time-input--naked\": nakedInput,\n \"neeto-ui-time-input--error\": error,\n })}\n popupClassName={classnames(\"neeto-ui-date-time-dropdown\", [\n dropdownClassName, // Will be removed in the next major version\n popupClassName,\n ])}\n onChange={handleOnChange}\n {...{ disabled, format, ...otherProps, panelRender }}\n defaultValue={convertToDayjsObjects(defaultValue)}\n mode={undefined}\n picker=\"time\"\n placeholder={placeholder ?? format}\n value={convertToDayjsObjects(value)}\n suffixIcon={\n timezone ? <Tag label={timezone} /> : <Clock size={16} />\n }\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n </div>\n </ConfigProvider>\n );\n }\n);\n\nTimePicker.displayName = \"TimePicker\";\n\nTimePicker.propTypes = {\n /**\n * To provide external classnames to TimePicker component.\n */\n className: PropTypes.string,\n /**\n * To provide external classnames to TimePicker popup component.\n */\n popupClassName: PropTypes.string,\n /**\n * To set the text to be displayed above the TimePicker.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To set the size of the TimePicker.\n */\n size: PropTypes.oneOf(Object.values(INPUT_SIZES)),\n /**\n * To set the TimePicker as naked Input field.\n */\n nakedInput: PropTypes.bool,\n /**\n * To specify the error message to be shown in the TimePicker.\n */\n error: PropTypes.string,\n /**\n * To specify the time format.\n */\n format: PropTypes.string,\n /**\n * To specify the timezone.\n */\n timezone: PropTypes.string,\n /**\n * To set the placeholder text for the TimePicker, if not provided, the format will be used as placeholder.\n */\n placeholder: PropTypes.string,\n /**\n * To specify the time interval.\n */\n interval: PropTypes.object,\n /**\n * For `TimeInput`,(time, timeString) => {} <br />\n * For `TimeRange`, (time, [startTime, endTime]) => {}\n */\n onChange: PropTypes.func,\n /**\n * To specify the type of the TimePicker.\n */\n type: PropTypes.oneOf([\"time\", \"range\"]),\n /**\n * To set TimePicker as disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To specify the values to be displayed inside the TimePicker.\n */\n value: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * To specify custom classnames to be applied to the TimePicker dropdown.\n */\n dropdownClassName: PropTypes.string,\n /**\n * To specify the default values to be displayed inside the TimePicker.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * To specify whether the Time picker is required or not.\n */\n required: PropTypes.bool,\n};\n\nexport default TimePicker;\n"],"names":["IconOverride","_ref","Icon","icon","React","createElement","className","size","Provider","children","_useTranslation","useTranslation","i18n","_ConfigProvider","locale","ANTD_LOCALE","language","theme","token","_objectSpread","ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES","components","DatePicker","activeBg","activeBorderColor","addonBg","cellActiveWithRangeBg","cellBgDisabled","cellHoverBg","cellHoverWithRangeBg","cellRangeBorderColor","hoverBg","hoverBorderColor","colorBgContainer","colorBgElevated","colorPrimary","colorPrimaryBorder","colorPrimaryHover","colorBorder","colorError","colorErrorHover","colorErrorOutline","colorFillAlter","colorIcon","colorIconHover","colorLink","colorLinkHover","colorLinkActive","colorSplit","colorText","colorTextDescription","colorTextDisabled","colorTextHeading","colorTextLightSolid","colorTextPlaceholder","colorTextQuaternary","colorWarning","colorWarningHover","colorWarningOutline","controlItemBgActive","controlItemBgHover","controlOutline","cellHeight","padding","Today","onClick","t","getLocale","getAllowedDate","date","minDate","maxDate","isPresent","isBefore","isAfter","getAllowedRange","dates","map","item","getAllowed","Array","isArray","formattedString","dateFormat","format","INPUT_SIZES","small","medium","large","RangePicker","_DatePicker","datePickerTypes","range","forwardRef","ref","_otherProps$open","_ref$className","_ref$label","label","_ref$size","_ref$dropdownClassNam","dropdownClassName","_ref$popupClassName","popupClassName","_ref$dateFormat","_ref$timeFormat","timeFormat","placeholder","_ref$onChange","onChange","noop","_ref$onOk","onOk","_ref$picker","picker","_ref$showTime","showTime","_ref$type","type","_ref$nakedInput","nakedInput","_ref$error","error","defaultValue","inputValue","value","labelProps","_ref$required","required","_ref$allowClear","allowClear","timePickerProps","timezone","onOpenChange","onKeyDown","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","setValue","_useState3","_useState4","mode","setMode","_useState5","_useState6","pickerValue","setPickerValue","id","useId","datePickerRef","useSyncedRef","isDatePickerOpen","useRef","open","Component","toLowerCase","concat","errorId","useEffect","getAllowedValue","useCallback","handleOnChange","dateString","isNotPresent","allowed","getTimezoneAppliedDateTime","handleOnOpenChange","current","handleOnKeyDown","e","stopPropagation","renderExtraFooter","today","dayjs","Label","_extends","hyphenize","convertToDayjsObjects","classnames","disabled","onPanelChange","getNow","nextIcon","Right","prevIcon","Left","superNextIcon","superPrevIcon","clearIcon","Close","suffixIcon","Tag","Calendar","displayName","TIME_PICKER_TYPES","time","TIME_PICKER_INTERVAL","hourStep","minuteStep","secondStep","TimePicker","_ref$format","_ref$interval","interval","_ref$disabled","timePickerRef","showTimeLabels","includes","second","minute","hour","timeString","panelRender","originalPanel","undefined","Clock"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ export { default as Button } from './Button.js';
6
6
  export { default as Callout } from './Callout.js';
7
7
  export { default as Checkbox } from './Checkbox.js';
8
8
  export { default as ColorPicker } from './ColorPicker.js';
9
- export { D as DatePicker, T as TimePicker } from './index-BNHGIZeJ.js';
9
+ export { D as DatePicker, T as TimePicker } from './index-D81Lz9Bl.js';
10
10
  export { default as Dropdown } from './Dropdown.js';
11
11
  export { default as Input } from './Input.js';
12
12
  export { default as Kbd } from './Kbd.js';
@@ -92,7 +92,7 @@ import 'react-resizable';
92
92
  import './constants.js';
93
93
  import 'i18next';
94
94
  import 'antd/lib/tree';
95
- import './useOverlayManager-DtHaxcLZ.js';
95
+ import './useOverlayManager-Bq6qRB9x.js';
96
96
  import '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';
97
97
  import '@babel/runtime/helpers/esm/inheritsLoose';
98
98
  import './react-select-creatable.esm-Dx_vEnyD.js';
@@ -876,7 +876,7 @@ var useOverlay = function useOverlay(_ref) {
876
876
  return manager.isTopOverlay(overlayWrapper);
877
877
  });
878
878
  useHotKeys("escape", handleOverlayClose, {
879
- enabled: closeOnEsc && isOpen,
879
+ enabled: closeOnEsc && isOpen && isTopOverlay,
880
880
  mode: "global"
881
881
  });
882
882
  useEffect(function () {
@@ -920,4 +920,4 @@ var useOverlayManager = function useOverlayManager(ref, isOpen) {
920
920
  };
921
921
 
922
922
  export { Backdrop as B, CSSTransition as C, Portal as P, useOverlay as a, useOverlayManager as u };
923
- //# sourceMappingURL=useOverlayManager-DtHaxcLZ.js.map
923
+ //# sourceMappingURL=useOverlayManager-Bq6qRB9x.js.map