{"version":3,"file":"assets/js/chunks/4848.84ecaedf0a9b353d95c3.js","mappings":"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","sources":["webpack://web-pwa/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://web-pwa/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://web-pwa/./node_modules/dom-helpers/esm/removeClass.js","webpack://web-pwa/./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://web-pwa/./node_modules/react-transition-group/esm/utils/reflow.js","webpack://web-pwa/./node_modules/react-transition-group/esm/Transition.js","webpack://web-pwa/./node_modules/react-transition-group/esm/CSSTransition.js","webpack://web-pwa/./node_modules/dom-helpers/esm/addClass.js","webpack://web-pwa/./node_modules/dom-helpers/esm/hasClass.js"],"sourcesContent":["export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\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}","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 * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\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 *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\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 * \n * {state => (\n * \n * )}\n * \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 * > `` 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 *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\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 `` 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 `` 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 `` 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 `` 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 `` 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 `` 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 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}","/**\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}"],"names":["_setPrototypeOf","o","p","Object","setPrototypeOf","bind","__proto__","_inheritsLoose","subClass","superClass","prototype","create","constructor","replaceClassName","origClass","classToRemove","replace","RegExp","forceReflow","node","scrollTop","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","props","context","_this","call","this","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","state","status","nextCallback","getDerivedStateFromProps","_ref","prevState","_proto","componentDidMount","updateStatus","componentDidUpdate","prevProps","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","exit","timeout","undefined","mounting","nodeRef","current","performEnter","performExit","setState","_this2","appearing","_ref2","maybeNode","maybeAppearing","timeouts","enterTimeout","onEnter","safeSetState","onEntering","onTransitionEnd","onEntered","_this3","onExit","onExiting","onExited","cancel","nextState","callback","setNextCallback","_this4","active","event","handler","doesNotHaveTimeoutOrListener","addEndListener","_ref3","maybeNextCallback","setTimeout","render","_this$props","children","childProps","TransitionGroupContext","Provider","value","only","noop","contextType","propTypes","defaultProps","removeClass","classes","split","forEach","c","className","element","classList","remove","setAttribute","baseVal","CSSTransition","_len","arguments","length","args","Array","_key","apply","concat","appliedClasses","_this$resolveArgument","resolveArguments","removeClasses","addClass","_this$resolveArgument2","type","_this$resolveArgument3","getClassNames","classNames","isStringClassNames","baseClassName","activeClassName","doneClassName","phase","add","contains","indexOf","hasClass","_addClass","_this$appliedClasses$","base","done"],"sourceRoot":""}