{"ast":null,"code":"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';\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 /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\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;","map":{"version":3,"sources":["/app/node_modules/react-transition-group/esm/CSSTransition.js"],"names":["_extends","_objectWithoutPropertiesLoose","_inheritsLoose","PropTypes","addOneClass","removeOneClass","React","Transition","classNamesShape","_addClass","addClass","node","classes","split","forEach","c","removeClass","CSSTransition","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","appliedClasses","appear","enter","exit","onEnter","maybeNode","maybeAppearing","_this$resolveArgument","resolveArguments","appearing","removeClasses","props","onEntering","_this$resolveArgument2","type","onEntered","_this$resolveArgument3","onExit","_this$resolveArgument4","onExiting","_this$resolveArgument5","onExited","_this$resolveArgument6","nodeRef","current","getClassNames","classNames","isStringClassNames","prefix","baseClassName","activeClassName","doneClassName","_proto","prototype","phase","className","_this$getClassNames","scrollTop","_this$appliedClasses$","base","active","done","render","_this$props","_","createElement","Component","defaultProps","propTypes","process","env","NODE_ENV","func"],"mappings":"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B,YAAzB,GAAwChF,QAAQ,CAAC,EAAD,EAAKO,UAAU,CAACsE,SAAhB,EAA2B;AACnG;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEtB,EAAAA,UAAU,EAAE/C,eArEuF;;AAuEnG;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEyB,EAAAA,OAAO,EAAE9B,SAAS,CAAC8E,IA/EgF;;AAiFnG;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACExC,EAAAA,UAAU,EAAEtC,SAAS,CAAC8E,IAzF6E;;AA2FnG;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACErC,EAAAA,SAAS,EAAEzC,SAAS,CAAC8E,IAnG8E;;AAqGnG;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEnC,EAAAA,MAAM,EAAE3C,SAAS,CAAC8E,IA7GiF;;AA+GnG;AACF;AACA;AACA;AACA;AACA;AACA;AACEjC,EAAAA,SAAS,EAAE7C,SAAS,CAAC8E,IAtH8E;;AAwHnG;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACE/B,EAAAA,QAAQ,EAAE/C,SAAS,CAAC8E;AAhI+E,CAA3B,CAAhD,GAiIrB,EAjIL;AAkIA,eAAehE,aAAf","sourcesContent":["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';\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 /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\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;"]},"metadata":{},"sourceType":"module"}