{"version":3,"file":"js/6931-73bd19429dae2ca8dcac.js","mappings":"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","sources":["webpack:///./node_modules/dom-helpers/esm/ownerWindow.js","webpack:///./node_modules/dom-helpers/esm/ownerDocument.js","webpack:///./node_modules/dom-helpers/esm/hyphenate.js","webpack:///./node_modules/dom-helpers/esm/hyphenateStyle.js","webpack:///./node_modules/dom-helpers/esm/isTransform.js","webpack:///./node_modules/dom-helpers/esm/css.js","webpack:///./node_modules/dom-helpers/esm/getComputedStyle.js","webpack:///./node_modules/react-transition-group/esm/config.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/react-transition-group/esm/utils/reflow.js","webpack:///./node_modules/dom-helpers/esm/canUseDOM.js","webpack:///./node_modules/dom-helpers/esm/addEventListener.js","webpack:///./node_modules/dom-helpers/esm/removeEventListener.js","webpack:///./node_modules/dom-helpers/esm/listen.js","webpack:///./node_modules/dom-helpers/esm/transitionEnd.js","webpack:///./node_modules/dom-helpers/esm/triggerEvent.js","webpack:///./node_modules/react-bootstrap/esm/transitionEndListener.js","webpack:///./node_modules/react-bootstrap/esm/createChainedFunction.js","webpack:///./node_modules/react-bootstrap/esm/Collapse.js","webpack:///./node_modules/react-bootstrap/esm/triggerBrowserReflow.js"],"sourcesContent":["import ownerDocument from './ownerDocument';\n/**\n * Returns the owner window of a given element.\n * \n * @param node the element\n */\n\nexport default function ownerWindow(node) {\n var doc = ownerDocument(node);\n return doc && doc.defaultView || window;\n}","/**\n * Returns the owner document of a given element.\n * \n * @param node the element\n */\nexport default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","var rUpper = /([A-Z])/g;\nexport default function hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}","/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nimport hyphenate from './hyphenate';\nvar msPattern = /^ms-/;\nexport default function hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}","var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\nexport default function isTransform(value) {\n return !!(value && supportedTransforms.test(value));\n}","import getComputedStyle from './getComputedStyle';\nimport hyphenate from './hyphenateStyle';\nimport isTransform from './isTransform';\n\nfunction style(node, property) {\n var css = '';\n var transforms = '';\n\n if (typeof property === 'string') {\n return node.style.getPropertyValue(hyphenate(property)) || getComputedStyle(node).getPropertyValue(hyphenate(property));\n }\n\n Object.keys(property).forEach(function (key) {\n var value = property[key];\n\n if (!value && value !== 0) {\n node.style.removeProperty(hyphenate(key));\n } else if (isTransform(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += hyphenate(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += \"transform: \" + transforms + \";\";\n }\n\n node.style.cssText += \";\" + css;\n}\n\nexport default style;","import ownerWindow from './ownerWindow';\n/**\n * Returns one or all computed style properties of an element.\n * \n * @param node the element\n * @param psuedoElement the style property\n */\n\nexport default function getComputedStyle(node, psuedoElement) {\n return ownerWindow(node).getComputedStyle(node, psuedoElement);\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","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;","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","export default !!(typeof window !== 'undefined' && window.document && window.document.createElement);","/* eslint-disable no-return-assign */\nimport canUseDOM from './canUseDOM';\nexport var optionsSupported = false;\nexport var onceSupported = false;\n\ntry {\n var options = {\n get passive() {\n return optionsSupported = true;\n },\n\n get once() {\n // eslint-disable-next-line no-multi-assign\n return onceSupported = optionsSupported = true;\n }\n\n };\n\n if (canUseDOM) {\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, true);\n }\n} catch (e) {\n /* */\n}\n\n/**\n * An `addEventListener` ponyfill, supports the `once` option\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction addEventListener(node, eventName, handler, options) {\n if (options && typeof options !== 'boolean' && !onceSupported) {\n var once = options.once,\n capture = options.capture;\n var wrappedHandler = handler;\n\n if (!onceSupported && once) {\n wrappedHandler = handler.__once || function onceHandler(event) {\n this.removeEventListener(eventName, onceHandler, capture);\n handler.call(this, event);\n };\n\n handler.__once = wrappedHandler;\n }\n\n node.addEventListener(eventName, wrappedHandler, optionsSupported ? options : capture);\n }\n\n node.addEventListener(eventName, handler, options);\n}\n\nexport default addEventListener;","/**\n * A `removeEventListener` ponyfill\n * \n * @param node the element\n * @param eventName the event name\n * @param handle the handler\n * @param options event options\n */\nfunction removeEventListener(node, eventName, handler, options) {\n var capture = options && typeof options !== 'boolean' ? options.capture : options;\n node.removeEventListener(eventName, handler, capture);\n\n if (handler.__once) {\n node.removeEventListener(eventName, handler.__once, capture);\n }\n}\n\nexport default removeEventListener;","import addEventListener from './addEventListener';\nimport removeEventListener from './removeEventListener';\n\nfunction listen(node, eventName, handler, options) {\n addEventListener(node, eventName, handler, options);\n return function () {\n removeEventListener(node, eventName, handler, options);\n };\n}\n\nexport default listen;","import css from './css';\nimport listen from './listen';\nimport triggerEvent from './triggerEvent';\n\nfunction parseDuration(node) {\n var str = css(node, 'transitionDuration') || '';\n var mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\n\nfunction emulateTransitionEnd(element, duration, padding) {\n if (padding === void 0) {\n padding = 5;\n }\n\n var called = false;\n var handle = setTimeout(function () {\n if (!called) triggerEvent(element, 'transitionend', true);\n }, duration + padding);\n var remove = listen(element, 'transitionend', function () {\n called = true;\n }, {\n once: true\n });\n return function () {\n clearTimeout(handle);\n remove();\n };\n}\n\nexport default function transitionEnd(element, handler, duration, padding) {\n if (duration == null) duration = parseDuration(element) || 0;\n var removeEmulate = emulateTransitionEnd(element, duration, padding);\n var remove = listen(element, 'transitionend', handler);\n return function () {\n removeEmulate();\n remove();\n };\n}","/**\n * Triggers an event on a given element.\n * \n * @param node the element\n * @param eventName the event name to trigger\n * @param bubbles whether the event should bubble up\n * @param cancelable whether the event should be cancelable\n */\nexport default function triggerEvent(node, eventName, bubbles, cancelable) {\n if (bubbles === void 0) {\n bubbles = false;\n }\n\n if (cancelable === void 0) {\n cancelable = true;\n }\n\n if (node) {\n var event = document.createEvent('HTMLEvents');\n event.initEvent(eventName, bubbles, cancelable);\n node.dispatchEvent(event);\n }\n}","import css from 'dom-helpers/css';\nimport transitionEnd from 'dom-helpers/transitionEnd';\n\nfunction parseDuration(node, property) {\n var str = css(node, property) || '';\n var mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\n\nexport default function transitionEndListener(element, handler) {\n var duration = parseDuration(element, 'transitionDuration');\n var delay = parseDuration(element, 'transitionDelay');\n var remove = transitionEnd(element, function (e) {\n if (e.target === element) {\n remove();\n handler(e);\n }\n }, duration + delay);\n}","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.filter(function (f) {\n return f != null;\n }).reduce(function (acc, f) {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) return f;\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n // @ts-ignore\n acc.apply(this, args); // @ts-ignore\n\n f.apply(this, args);\n };\n }, null);\n}\n\nexport default createChainedFunction;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"className\", \"children\", \"dimension\", \"getDimensionValue\"];\n\nvar _collapseStyles;\n\nimport classNames from 'classnames';\nimport css from 'dom-helpers/css';\nimport React, { useMemo } from 'react';\nimport Transition, { ENTERED, ENTERING, EXITED, EXITING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport createChainedFunction from './createChainedFunction';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nvar MARGINS = {\n height: ['marginTop', 'marginBottom'],\n width: ['marginLeft', 'marginRight']\n};\n\nfunction getDefaultDimensionValue(dimension, elem) {\n var offset = \"offset\" + dimension[0].toUpperCase() + dimension.slice(1);\n var value = elem[offset];\n var margins = MARGINS[dimension];\n return value + // @ts-ignore\n parseInt(css(elem, margins[0]), 10) + // @ts-ignore\n parseInt(css(elem, margins[1]), 10);\n}\n\nvar collapseStyles = (_collapseStyles = {}, _collapseStyles[EXITED] = 'collapse', _collapseStyles[EXITING] = 'collapsing', _collapseStyles[ENTERING] = 'collapsing', _collapseStyles[ENTERED] = 'collapse show', _collapseStyles);\nvar defaultProps = {\n in: false,\n timeout: 300,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n getDimensionValue: getDefaultDimensionValue\n};\nvar Collapse = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var onEnter = _ref.onEnter,\n onEntering = _ref.onEntering,\n onEntered = _ref.onEntered,\n onExit = _ref.onExit,\n onExiting = _ref.onExiting,\n className = _ref.className,\n children = _ref.children,\n _ref$dimension = _ref.dimension,\n dimension = _ref$dimension === void 0 ? 'height' : _ref$dimension,\n _ref$getDimensionValu = _ref.getDimensionValue,\n getDimensionValue = _ref$getDimensionValu === void 0 ? getDefaultDimensionValue : _ref$getDimensionValu,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n /* Compute dimension */\n var computedDimension = typeof dimension === 'function' ? dimension() : dimension;\n /* -- Expanding -- */\n\n var handleEnter = useMemo(function () {\n return createChainedFunction(function (elem) {\n elem.style[computedDimension] = '0';\n }, onEnter);\n }, [computedDimension, onEnter]);\n var handleEntering = useMemo(function () {\n return createChainedFunction(function (elem) {\n var scroll = \"scroll\" + computedDimension[0].toUpperCase() + computedDimension.slice(1);\n elem.style[computedDimension] = elem[scroll] + \"px\";\n }, onEntering);\n }, [computedDimension, onEntering]);\n var handleEntered = useMemo(function () {\n return createChainedFunction(function (elem) {\n elem.style[computedDimension] = null;\n }, onEntered);\n }, [computedDimension, onEntered]);\n /* -- Collapsing -- */\n\n var handleExit = useMemo(function () {\n return createChainedFunction(function (elem) {\n elem.style[computedDimension] = getDimensionValue(computedDimension, elem) + \"px\";\n triggerBrowserReflow(elem);\n }, onExit);\n }, [onExit, getDimensionValue, computedDimension]);\n var handleExiting = useMemo(function () {\n return createChainedFunction(function (elem) {\n elem.style[computedDimension] = null;\n }, onExiting);\n }, [computedDimension, onExiting]);\n return /*#__PURE__*/React.createElement(Transition // @ts-ignore\n , _extends({\n ref: ref,\n addEndListener: transitionEndListener\n }, props, {\n \"aria-expanded\": props.role ? props.in : null,\n onEnter: handleEnter,\n onEntering: handleEntering,\n onEntered: handleEntered,\n onExit: handleExit,\n onExiting: handleExiting\n }), function (state, innerProps) {\n return /*#__PURE__*/React.cloneElement(children, _extends({}, innerProps, {\n className: classNames(className, children.props.className, collapseStyles[state], computedDimension === 'width' && 'width')\n }));\n });\n}); // @ts-ignore\n\n// @ts-ignore\nCollapse.defaultProps = defaultProps;\nexport default Collapse;","// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nexport default function triggerBrowserReflow(node) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n node.offsetHeight;\n}"],"names":["ownerWindow","node","doc","ownerDocument","document","defaultView","window","rUpper","msPattern","hyphenateStyleName","string","replace","toLowerCase","hyphenate","supportedTransforms","property","css","transforms","style","getPropertyValue","psuedoElement","getComputedStyle","Object","keys","forEach","key","value","test","isTransform","removeProperty","cssText","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","prototype","componentDidMount","updateStatus","componentDidUpdate","prevProps","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","exit","timeout","undefined","mounting","nodeRef","current","scrollTop","forceReflow","performEnter","performExit","setState","_this2","appearing","_ref2","maybeNode","maybeAppearing","timeouts","enterTimeout","config","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","_this3","onExit","onExiting","onExited","cancel","nextState","callback","setNextCallback","_this4","active","event","handler","doesNotHaveTimeoutOrListener","addEndListener","_ref3","maybeNextCallback","setTimeout","render","_this$props","children","childProps","TransitionGroupContext","Provider","only","noop","contextType","propTypes","defaultProps","createElement","optionsSupported","onceSupported","options","passive","once","canUseDOM","addEventListener","removeEventListener","e","eventName","capture","wrappedHandler","__once","onceHandler","emulateTransitionEnd","element","duration","padding","called","handle","bubbles","cancelable","createEvent","initEvent","dispatchEvent","triggerEvent","remove","clearTimeout","transitionEnd","str","mult","indexOf","parseFloat","removeEmulate","transitionEndListener","delay","target","_len","arguments","length","funcs","Array","_key","filter","f","reduce","acc","Error","_len2","args","_key2","apply","_collapseStyles","_excluded","MARGINS","height","width","getDefaultDimensionValue","dimension","elem","toUpperCase","slice","margins","parseInt","collapseStyles","getDimensionValue","Collapse","ref","className","_ref$dimension","_ref$getDimensionValu","computedDimension","handleEnter","useMemo","handleEntering","scroll","handleEntered","handleExit","offsetHeight","handleExiting","role","innerProps"],"sourceRoot":""}