{"version":3,"sources":["webpack://_N_E/./node_modules/react-modal-video/lib/index.js","webpack://_N_E/./node_modules/react-transition-group/Transition.js","webpack://_N_E/./node_modules/react-transition-group/CSSTransition.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://_N_E/./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack://_N_E/./node_modules/dom-helpers/class/removeClass.js","webpack://_N_E/./node_modules/react-transition-group/utils/PropTypes.js","webpack://_N_E/./node_modules/dom-helpers/class/hasClass.js","webpack://_N_E/./node_modules/dom-helpers/class/addClass.js"],"names":["Object","defineProperty","exports","value","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","key","Constructor","protoProps","staticProps","prototype","_react2","_interopRequireDefault","_CSSTransition2","obj","__esModule","default","ModalVideo","_React$Component","instance","TypeError","_classCallCheck","this","_this","self","call","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","state","isOpen","closeModal","bind","updateFocus","subClass","superClass","create","constructor","setPrototypeOf","_inherits","setState","onClose","e","keyCode","document","addEventListener","keydownHandler","removeEventListener","modal","focus","preventDefault","stopPropagation","activeElement","modalbtn","url","hasOwnProperty","substr","youtube","videoId","getQueryString","vimeo","youku","opt","channel","getYoutubeUrl","getVimeoUrl","getYoukuUrl","ratio","arr","split","width","Number","_this2","style","paddingBottom","getPadding","createElement","classNames","modalVideoEffect","timeout","animationSpeed","className","modalVideo","tabIndex","role","aria","openMessage","onClick","ref","node","onKeyDown","modalVideoBody","modalVideoInner","modalVideoIframeWrap","modalVideoCloseBtn","dismissBtnMessage","children","height","src","getVideoUrl","frameBorder","allow","allowFullScreen","Component","defaultProps","autoplay","cc_load_policy","color","controls","disablekb","enablejsapi","end","fs","h1","iv_load_policy","list","listType","loop","modestbranding","origin","playlist","playsinline","rel","showinfo","start","wmode","theme","mute","api","autopause","byline","callback","maxheight","maxwidth","player_id","portrait","title","xhtml","show_related","modalVideoClose","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","PropTypes","newObj","desc","getOwnPropertyDescriptor","get","set","_interopRequireWildcard","_react","_reactDom","_reactLifecyclesCompat","Transition","context","initialStatus","parentGroup","transitionGroup","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","status","nextCallback","_proto","getChildContext","getDerivedStateFromProps","_ref","prevState","componentDidMount","updateStatus","componentDidUpdate","prevProps","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","exit","undefined","mounting","findDOMNode","performEnter","performExit","appearing","timeouts","enterTimeout","onEnter","safeSetState","onEntering","onTransitionEnd","onEntered","_this3","onExit","onExiting","onExited","cancel","nextState","setNextCallback","_this4","active","event","handler","doesNotHaveTimeoutOrListener","addEndListener","setTimeout","render","_this$props","childProps","source","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","child","Children","only","cloneElement","noop","contextTypes","object","childContextTypes","propTypes","_default","polyfill","_addClass","_removeClass","_Transition","_extends","assign","arguments","apply","addClass","classes","forEach","c","removeClass","CSSTransition","_len","args","Array","_key","concat","getClassNames","removeClasses","activeClassName","reflowAndAddClass","appearClassName","doneClassName","enterClassName","type","isStringClassNames","_this$getClassNames6","scrollTop","module","componentWillMount","componentWillReceiveProps","nextProps","componentWillUpdate","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","isReactComponent","Error","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","name","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","replaceClassName","origClass","classToRemove","replace","RegExp","element","classList","remove","setAttribute","baseVal","classNamesShape","timeoutsShape","contains","add","_hasClass"],"mappings":"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","file":"static/chunks/2b78f0fe0f7698c6d2cb82f6dcb51132f94e8317.fd7b094a8ccdde016d2b.js","sourcesContent":["'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _CSSTransition = require('react-transition-group/CSSTransition');\n\nvar _CSSTransition2 = _interopRequireDefault(_CSSTransition);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ModalVideo = function (_React$Component) {\n _inherits(ModalVideo, _React$Component);\n\n function ModalVideo(props) {\n _classCallCheck(this, ModalVideo);\n\n var _this = _possibleConstructorReturn(this, (ModalVideo.__proto__ || Object.getPrototypeOf(ModalVideo)).call(this, props));\n\n _this.state = {\n isOpen: false\n };\n _this.closeModal = _this.closeModal.bind(_this);\n _this.updateFocus = _this.updateFocus.bind(_this);\n return _this;\n }\n\n _createClass(ModalVideo, [{\n key: 'openModal',\n value: function openModal() {\n this.setState({ isOpen: true });\n }\n }, {\n key: 'closeModal',\n value: function closeModal() {\n this.setState({ isOpen: false });\n if (typeof this.props.onClose === 'function') {\n this.props.onClose();\n }\n }\n }, {\n key: 'keydownHandler',\n value: function keydownHandler(e) {\n if (e.keyCode === 27) {\n this.closeModal();\n }\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n document.addEventListener('keydown', this.keydownHandler.bind(this));\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n document.removeEventListener('keydown', this.keydownHandler.bind(this));\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (this.state.isOpen && this.modal) {\n this.modal.focus();\n }\n }\n }, {\n key: 'updateFocus',\n value: function updateFocus(e) {\n if (e.keyCode === 9) {\n e.preventDefault();\n e.stopPropagation();\n if (this.modal === document.activeElement) {\n this.modalbtn.focus();\n } else {\n this.modal.focus();\n }\n }\n }\n }, {\n key: 'getQueryString',\n value: function getQueryString(obj) {\n var url = '';\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (obj[key] !== null) {\n url += key + '=' + obj[key] + '&';\n }\n }\n }\n return url.substr(0, url.length - 1);\n }\n }, {\n key: 'getYoutubeUrl',\n value: function getYoutubeUrl(youtube, videoId) {\n var query = this.getQueryString(youtube);\n return '//www.youtube.com/embed/' + videoId + '?' + query;\n }\n }, {\n key: 'getVimeoUrl',\n value: function getVimeoUrl(vimeo, videoId) {\n var query = this.getQueryString(vimeo);\n return '//player.vimeo.com/video/' + videoId + '?' + query;\n }\n }, {\n key: 'getYoukuUrl',\n value: function getYoukuUrl(youku, videoId) {\n var query = this.getQueryString(youku);\n return '//player.youku.com/embed/' + videoId + '?' + query;\n }\n }, {\n key: 'getVideoUrl',\n value: function getVideoUrl(opt, videoId) {\n if (opt.channel === 'youtube') {\n return this.getYoutubeUrl(opt.youtube, videoId);\n } else if (opt.channel === 'vimeo') {\n return this.getVimeoUrl(opt.vimeo, videoId);\n } else if (opt.channel === 'youku') {\n return this.getYoukuUrl(opt.youku, videoId);\n } else if (opt.channel === 'custom') {\n return opt.url;\n }\n }\n }, {\n key: 'getPadding',\n value: function getPadding(ratio) {\n var arr = ratio.split(':');\n var width = Number(arr[0]);\n var height = Number(arr[1]);\n var padding = height * 100 / width;\n return padding + '%';\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var style = {\n paddingBottom: this.getPadding(this.props.ratio)\n };\n\n return _react2.default.createElement(\n _CSSTransition2.default,\n {\n classNames: this.props.classNames.modalVideoEffect,\n timeout: this.props.animationSpeed\n },\n function () {\n if (!_this2.state.isOpen) {\n return null;\n }\n\n return _react2.default.createElement(\n 'div',\n { className: _this2.props.classNames.modalVideo, tabIndex: '-1', role: 'dialog',\n 'aria-label': _this2.props.aria.openMessage, onClick: _this2.closeModal, ref: function ref(node) {\n _this2.modal = node;\n }, onKeyDown: _this2.updateFocus },\n _react2.default.createElement(\n 'div',\n { className: _this2.props.classNames.modalVideoBody },\n _react2.default.createElement(\n 'div',\n { className: _this2.props.classNames.modalVideoInner },\n _react2.default.createElement(\n 'div',\n { className: _this2.props.classNames.modalVideoIframeWrap, style: style },\n _react2.default.createElement('button', { className: _this2.props.classNames.modalVideoCloseBtn, 'aria-label': _this2.props.aria.dismissBtnMessage, ref: function ref(node) {\n _this2.modalbtn = node;\n }, onKeyDown: _this2.updateFocus }),\n _this2.props.children || _react2.default.createElement('iframe', { width: '460', height: '230', src: _this2.getVideoUrl(_this2.props, _this2.props.videoId), frameBorder: '0', allow: 'accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture', allowFullScreen: _this2.props.allowFullScreen, tabIndex: '-1' })\n )\n )\n )\n );\n }\n );\n }\n }], [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props) {\n return { isOpen: props.isOpen };\n }\n }]);\n\n return ModalVideo;\n}(_react2.default.Component);\n\nexports.default = ModalVideo;\n\n\nModalVideo.defaultProps = {\n channel: 'youtube',\n isOpen: false,\n youtube: {\n autoplay: 1,\n cc_load_policy: 1,\n color: null,\n controls: 1,\n disablekb: 0,\n enablejsapi: 0,\n end: null,\n fs: 1,\n h1: null,\n iv_load_policy: 1,\n list: null,\n listType: null,\n loop: 0,\n modestbranding: null,\n origin: null,\n playlist: null,\n playsinline: null,\n rel: 0,\n showinfo: 1,\n start: 0,\n wmode: 'transparent',\n theme: 'dark',\n mute: 0\n },\n ratio: '16:9',\n vimeo: {\n api: false,\n autopause: true,\n autoplay: true,\n byline: true,\n callback: null,\n color: null,\n height: null,\n loop: false,\n maxheight: null,\n maxwidth: null,\n player_id: null,\n portrait: true,\n title: true,\n width: null,\n xhtml: false\n },\n youku: {\n autoplay: 1,\n show_related: 0\n },\n allowFullScreen: true,\n animationSpeed: 300,\n classNames: {\n modalVideoEffect: 'modal-video-effect',\n modalVideo: 'modal-video',\n modalVideoClose: 'modal-video-close',\n modalVideoBody: 'modal-video-body',\n modalVideoInner: 'modal-video-inner',\n modalVideoIframeWrap: 'modal-video-movie-wrap',\n modalVideoCloseBtn: 'modal-video-close-btn'\n },\n aria: {\n openMessage: 'You just openned the modal video',\n dismissBtnMessage: 'Close the modal by clicking here'\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar 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: 0 },\n * entered: { opacity: 1 },\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\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_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.transitionGroup; // 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 var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\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 _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 var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\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(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\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) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\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(node, timeout, handler) {\n this.setNextCallback(handler);\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 this.props.addEndListener(node, this.nextCallback);\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 childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\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'`, `'unmounted'`), 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 * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\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 = _PropTypes.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. **Note:** Timeouts are still used as a fallback if provided.\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 * @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 * @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 * @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 * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\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 * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\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 = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\n\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _addClass.default)(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _removeClass.default)(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * 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 CSSS 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**.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_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\n _this.onEnter = function (node, appearing) {\n var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n className = _this$getClassNames.className;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, className);\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node, appearing);\n }\n };\n\n _this.onEntering = function (node, appearing) {\n var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n activeClassName = _this$getClassNames2.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onEntering) {\n _this.props.onEntering(node, appearing);\n }\n };\n\n _this.onEntered = function (node, appearing) {\n var appearClassName = _this.getClassNames('appear').doneClassName;\n\n var enterClassName = _this.getClassNames('enter').doneClassName;\n\n var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n\n _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n addClass(node, doneClassName);\n\n if (_this.props.onEntered) {\n _this.props.onEntered(node, appearing);\n }\n };\n\n _this.onExit = function (node) {\n var _this$getClassNames3 = _this.getClassNames('exit'),\n className = _this$getClassNames3.className;\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n addClass(node, className);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n };\n\n _this.onExiting = function (node) {\n var _this$getClassNames4 = _this.getClassNames('exit'),\n activeClassName = _this$getClassNames4.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onExiting) {\n _this.props.onExiting(node);\n }\n };\n\n _this.onExited = function (node) {\n var _this$getClassNames5 = _this.getClassNames('exit'),\n doneClassName = _this$getClassNames5.doneClassName;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, doneClassName);\n\n if (_this.props.onExited) {\n _this.props.onExited(node);\n }\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 className = isStringClassNames ? prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n return {\n className: className,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$getClassNames6 = this.getClassNames(type),\n className = _this$getClassNames6.className,\n activeClassName = _this$getClassNames6.activeClassName,\n doneClassName = _this$getClassNames6.doneClassName;\n\n className && removeClass(node, className);\n activeClassName && removeClass(node, activeClassName);\n doneClassName && removeClass(node, doneClassName);\n };\n\n _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n if (className) {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n /* eslint-enable no-unused-expressions */\n\n addClass(node, className);\n }\n };\n\n _proto.render = function render() {\n var props = _extends({}, this.props);\n\n delete props.classNames;\n return _react.default.createElement(_Transition.default, _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.default.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n /**\n * The animation classNames applied to the component as it enters, exits or\n * has finished the transition. A single name can be provided and it will be\n * suffixed for each stage: e.g.\n *\n * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n *\n * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n * This 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 an\n * 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: _PropTypes.classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\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 * @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 * @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 * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\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 * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];"],"sourceRoot":""}