{"version":3,"file":"js/7469-9b9eb2f26b698d658979.js","mappings":"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","sources":["webpack://sniffspot/./node_modules/react-transition-group/esm/config.js","webpack://sniffspot/./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://sniffspot/./node_modules/react-transition-group/esm/utils/reflow.js","webpack://sniffspot/./node_modules/react-transition-group/esm/Transition.js","webpack://sniffspot/./node_modules/reactstrap/esm/utils.js","webpack://sniffspot/./node_modules/classnames/index.js"],"sourcesContent":["export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \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;","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nimport PropTypes from 'prop-types';\n\n// https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/js/src/modal.js#L436-L443\nexport function getScrollbarWidth() {\n var scrollDiv = document.createElement('div');\n // .modal-scrollbar-measure styles // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/scss/_modal.scss#L106-L113\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n}\nexport function setScrollbarWidth(padding) {\n document.body.style.paddingRight = padding > 0 ? \"\".concat(padding, \"px\") : null;\n}\nexport function isBodyOverflowing() {\n return document.body.clientWidth < window.innerWidth;\n}\nexport function getOriginalBodyPadding() {\n var style = window.getComputedStyle(document.body, null);\n return parseInt(style && style.getPropertyValue('padding-right') || 0, 10);\n}\nexport function conditionallyUpdateScrollbar() {\n var scrollbarWidth = getScrollbarWidth();\n // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.6/js/src/modal.js#L433\n var fixedContent = document.querySelectorAll('.fixed-top, .fixed-bottom, .is-fixed, .sticky-top')[0];\n var bodyPadding = fixedContent ? parseInt(fixedContent.style.paddingRight || 0, 10) : 0;\n if (isBodyOverflowing()) {\n setScrollbarWidth(bodyPadding + scrollbarWidth);\n }\n}\nvar globalCssModule;\nexport function setGlobalCssModule(cssModule) {\n globalCssModule = cssModule;\n}\nexport function mapToCssModules() {\n var className = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var cssModule = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : globalCssModule;\n if (!cssModule) return className;\n return className.split(' ').map(function (c) {\n return cssModule[c] || c;\n }).join(' ');\n}\n\n/**\n * Returns a new object with the key/value pairs from `obj` that are not in the array `omitKeys`.\n */\nexport function omit(obj, omitKeys) {\n var result = {};\n Object.keys(obj).forEach(function (key) {\n if (omitKeys.indexOf(key) === -1) {\n result[key] = obj[key];\n }\n });\n return result;\n}\n\n/**\n * Returns a filtered copy of an object with only the specified keys.\n */\nexport function pick(obj, keys) {\n var pickKeys = Array.isArray(keys) ? keys : [keys];\n var length = pickKeys.length;\n var key;\n var result = {};\n while (length > 0) {\n length -= 1;\n key = pickKeys[length];\n result[key] = obj[key];\n }\n return result;\n}\nvar warned = {};\nexport function warnOnce(message) {\n if (!warned[message]) {\n /* istanbul ignore else */\n if (typeof console !== 'undefined') {\n console.error(message); // eslint-disable-line no-console\n }\n\n warned[message] = true;\n }\n}\nexport function deprecated(propType, explanation) {\n return function validate(props, propName, componentName) {\n if (props[propName] !== null && typeof props[propName] !== 'undefined') {\n warnOnce(\"\\\"\".concat(propName, \"\\\" property of \\\"\").concat(componentName, \"\\\" has been deprecated.\\n\").concat(explanation));\n }\n for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = arguments[_key];\n }\n return propType.apply(void 0, [props, propName, componentName].concat(rest));\n };\n}\n\n// Shim Element if needed (e.g. in Node environment)\nvar Element = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && window.Element || function () {};\nexport function DOMElement(props, propName, componentName) {\n if (!(props[propName] instanceof Element)) {\n return new Error('Invalid prop `' + propName + '` supplied to `' + componentName + '`. Expected prop to be an instance of Element. Validation failed.');\n }\n}\nexport var targetPropType = PropTypes.oneOfType([PropTypes.string, PropTypes.func, DOMElement, PropTypes.shape({\n current: PropTypes.any\n})]);\nexport var tagPropType = PropTypes.oneOfType([PropTypes.func, PropTypes.string, PropTypes.shape({\n $$typeof: PropTypes.symbol,\n render: PropTypes.func\n}), PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.string, PropTypes.shape({\n $$typeof: PropTypes.symbol,\n render: PropTypes.func\n})]))]);\n\n// These are all setup to match what is in the bootstrap _variables.scss\n// https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss\nexport var TransitionTimeouts = {\n Fade: 150,\n // $transition-fade\n Collapse: 350,\n // $transition-collapse\n Modal: 300,\n // $modal-transition\n Carousel: 600,\n // $carousel-transition\n Offcanvas: 300 // $offcanvas-transition\n};\n\n// Duplicated Transition.propType keys to ensure that Reactstrap builds\n// for distribution properly exclude these keys for nested child HTML attributes\n// since `react-transition-group` removes propTypes in production builds.\nexport var TransitionPropTypeKeys = ['in', 'mountOnEnter', 'unmountOnExit', 'appear', 'enter', 'exit', 'timeout', 'onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'onExited'];\nexport var TransitionStatuses = {\n ENTERING: 'entering',\n ENTERED: 'entered',\n EXITING: 'exiting',\n EXITED: 'exited'\n};\nexport var keyCodes = {\n esc: 27,\n space: 32,\n enter: 13,\n tab: 9,\n up: 38,\n down: 40,\n home: 36,\n end: 35,\n n: 78,\n p: 80\n};\nexport var PopperPlacements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\nexport var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport function isReactRefObj(target) {\n if (target && _typeof(target) === 'object') {\n return 'current' in target;\n }\n return false;\n}\nfunction getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n return Object.prototype.toString.call(value);\n}\nexport function isObject(value) {\n var type = _typeof(value);\n return value != null && (type === 'object' || type === 'function');\n}\nexport function toNumber(value) {\n var type = _typeof(value);\n var NAN = 0 / 0;\n if (type === 'number') {\n return value;\n }\n if (type === 'symbol' || type === 'object' && getTag(value) === '[object Symbol]') {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf === 'function' ? value.valueOf() : value;\n value = isObject(other) ? \"\".concat(other) : other;\n }\n if (type !== 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(/^\\s+|\\s+$/g, '');\n var isBinary = /^0b[01]+$/i.test(value);\n return isBinary || /^0o[0-7]+$/i.test(value) ? parseInt(value.slice(2), isBinary ? 2 : 8) : /^[-+]0x[0-9a-f]+$/i.test(value) ? NAN : +value;\n}\nexport function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n var tag = getTag(value);\n return tag === '[object Function]' || tag === '[object AsyncFunction]' || tag === '[object GeneratorFunction]' || tag === '[object Proxy]';\n}\nexport function findDOMElements(target) {\n if (isReactRefObj(target)) {\n return target.current;\n }\n if (isFunction(target)) {\n return target();\n }\n if (typeof target === 'string' && canUseDOM) {\n var selection = document.querySelectorAll(target);\n if (!selection.length) {\n selection = document.querySelectorAll(\"#\".concat(target));\n }\n if (!selection.length) {\n throw new Error(\"The target '\".concat(target, \"' could not be identified in the dom, tip: check spelling\"));\n }\n return selection;\n }\n return target;\n}\nexport function isArrayOrNodeList(els) {\n if (els === null) {\n return false;\n }\n return Array.isArray(els) || canUseDOM && typeof els.length === 'number';\n}\nexport function getTarget(target, allElements) {\n var els = findDOMElements(target);\n if (allElements) {\n if (isArrayOrNodeList(els)) {\n return els;\n }\n if (els === null) {\n return [];\n }\n return [els];\n }\n if (isArrayOrNodeList(els)) {\n return els[0];\n }\n return els;\n}\nexport var defaultToggleEvents = ['touchstart', 'click'];\nexport function addMultipleEventListeners(_els, handler, _events, useCapture) {\n var els = _els;\n if (!isArrayOrNodeList(els)) {\n els = [els];\n }\n var events = _events;\n if (typeof events === 'string') {\n events = events.split(/\\s+/);\n }\n if (!isArrayOrNodeList(els) || typeof handler !== 'function' || !Array.isArray(events)) {\n throw new Error(\"\\n The first argument of this function must be DOM node or an array on DOM nodes or NodeList.\\n The second must be a function.\\n The third is a string or an array of strings that represents DOM events\\n \");\n }\n Array.prototype.forEach.call(events, function (event) {\n Array.prototype.forEach.call(els, function (el) {\n el.addEventListener(event, handler, useCapture);\n });\n });\n return function removeEvents() {\n Array.prototype.forEach.call(events, function (event) {\n Array.prototype.forEach.call(els, function (el) {\n el.removeEventListener(event, handler, useCapture);\n });\n });\n };\n}\nexport var focusableElements = ['a[href]', 'area[href]', 'input:not([disabled]):not([type=hidden])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'object', 'embed', '[tabindex]:not(.modal):not(.offcanvas)', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'];\nexport function addDefaultProps(defaultProps, props) {\n if (!defaultProps || !props) return props;\n var result = _objectSpread({}, props);\n Object.keys(defaultProps).forEach(function (key) {\n if (result[key] === undefined) {\n result[key] = defaultProps[key];\n }\n if (Object.keys(defaultProps[key] || {}).length > 0 && _typeof(defaultProps[key]) === 'object') {\n addDefaultProps(defaultProps[key], result);\n }\n });\n return result;\n}","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"names":["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","node","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","value","only","noop","contextType","propTypes","defaultProps","globalCssModule","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_defineProperty","obj","key","defineProperty","configurable","writable","_typeof","Symbol","iterator","constructor","setScrollbarWidth","padding","document","body","style","paddingRight","concat","getOriginalBodyPadding","window","getComputedStyle","parseInt","getPropertyValue","conditionallyUpdateScrollbar","scrollbarWidth","scrollDiv","createElement","position","top","width","height","overflow","appendChild","offsetWidth","clientWidth","removeChild","getScrollbarWidth","fixedContent","querySelectorAll","bodyPadding","innerWidth","mapToCssModules","className","arguments","length","cssModule","split","map","c","join","omit","omitKeys","result","forEach","indexOf","pick","pickKeys","Array","isArray","Element","targetPropType","propName","componentName","Error","tagPropType","$$typeof","TransitionTimeouts","Fade","Collapse","Modal","Carousel","Offcanvas","TransitionPropTypeKeys","TransitionStatuses","keyCodes","esc","space","tab","up","down","home","end","n","p","canUseDOM","getTag","toString","isObject","type","toNumber","other","valueOf","replace","isBinary","test","slice","findDOMElements","target","isReactRefObj","tag","isFunction","selection","isArrayOrNodeList","els","getTarget","allElements","focusableElements","addDefaultProps","i","source","getOwnPropertyDescriptors","defineProperties","_objectSpread","hasOwn","hasOwnProperty","classNames","classes","arg","appendClass","parseValue","includes","newClass","module","exports","default"],"sourceRoot":""}