{"version":3,"file":"8448.469a3fa3.es5.js","mappings":"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","sources":["webpack://assr-alfaleasing/./node_modules/@alfalab/core-components-global-store/esm/ModalStore.js","webpack://assr-alfaleasing/./node_modules/@alfalab/core-components-global-store/esm/GlobalStore.js","webpack://assr-alfaleasing/./node_modules/@alfalab/core-components-global-store/esm/index.js","webpack://assr-alfaleasing/./node_modules/@alfalab/core-components-mq/esm/utils.js","webpack://assr-alfaleasing/./node_modules/@alfalab/core-components-mq/esm/useMatchMedia.js","webpack://assr-alfaleasing/./node_modules/@alfalab/core-components-mq/esm/Component.js","webpack://assr-alfaleasing/./node_modules/@alfalab/core-components-portal/esm/utils.js","webpack://assr-alfaleasing/./node_modules/@alfalab/core-components-portal/esm/Component.js","webpack://assr-alfaleasing/./node_modules/@alfalab/core-components-stack/esm/context.js","webpack://assr-alfaleasing/./node_modules/@alfalab/core-components-stack/esm/component.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/utils/freeze.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/utils/element.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/utils/global.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/utils/process.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/utils/scheduler.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/ResizeObservation.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","webpack://assr-alfaleasing/./node_modules/@juggle/resize-observer/lib/ResizeObserver.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/constants.js","webpack://assr-alfaleasing/./node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://assr-alfaleasing/./node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://assr-alfaleasing/./node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://assr-alfaleasing/./node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack://assr-alfaleasing/./node_modules/use-sidecar/dist/es2015/medium.js","webpack://assr-alfaleasing/./node_modules/react-focus-lock/dist/es2015/medium.js","webpack://assr-alfaleasing/./node_modules/react-focus-lock/dist/es2015/Lock.js","webpack://assr-alfaleasing/./node_modules/react-clientside-effect/lib/index.es.js","webpack://assr-alfaleasing/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/utils/is.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/solver.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/utils/array.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/utils/auto-focus.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/utils/safe.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/utils/parenting.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/focusMerge.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/setFocus.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/index.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/focusInside.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/focusables.js","webpack://assr-alfaleasing/./node_modules/react-focus-lock/dist/es2015/util.js","webpack://assr-alfaleasing/./node_modules/react-focus-lock/dist/es2015/Trap.js","webpack://assr-alfaleasing/./node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack://assr-alfaleasing/./node_modules/react-focus-lock/dist/es2015/Combination.js","webpack://assr-alfaleasing/./node_modules/react-focus-lock/dist/es2015/index.js","webpack://assr-alfaleasing/./node_modules/react-merge-refs/dist/react-merge-refs.esm.js","webpack://assr-alfaleasing/./node_modules/dom-helpers/esm/removeClass.js","webpack://assr-alfaleasing/./node_modules/react-transition-group/esm/config.js","webpack://assr-alfaleasing/./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://assr-alfaleasing/./node_modules/react-transition-group/esm/utils/reflow.js","webpack://assr-alfaleasing/./node_modules/react-transition-group/esm/Transition.js","webpack://assr-alfaleasing/./node_modules/react-transition-group/esm/CSSTransition.js","webpack://assr-alfaleasing/./node_modules/dom-helpers/esm/addClass.js","webpack://assr-alfaleasing/./node_modules/dom-helpers/esm/hasClass.js"],"sourcesContent":["var ModalStore = /** @class */ (function () {\n function ModalStore() {\n var _this = this;\n this.getRestoreStyles = function () { return _this.restoreStyles; };\n this.restoreStyles = [];\n }\n return ModalStore;\n}());\n\nexport { ModalStore };\n","import { ModalStore } from './ModalStore.js';\n\nvar GlobalStore = /** @class */ (function () {\n function GlobalStore() {\n var _this = this;\n this.getModalStore = function () { return _this.modalStore; };\n this.modalStore = new ModalStore();\n }\n return GlobalStore;\n}());\n\nexport { GlobalStore };\n","import { GlobalStore } from './GlobalStore.js';\nimport './ModalStore.js';\n\nvar getCoreComponentsStore = function () {\n if (!window.coreComponentsStore) {\n window.coreComponentsStore = new GlobalStore();\n return window.coreComponentsStore;\n }\n return window.coreComponentsStore;\n};\nvar getModalStore = function () { return getCoreComponentsStore().getModalStore(); };\n\nexport { getModalStore };\n","var MqList = {\n\t\"--mobile-xs\": \"(min-width: 320px)\",\n\t\"--mobile-s\": \"(min-width: 360px)\",\n\t\"--mobile-m\": \"(min-width: 375px)\",\n\t\"--mobile-l\": \"(min-width: 412px)\",\n\t\"--mobile\": \"(max-width: 599px)\",\n\t\"--tablet-s\": \"(min-width: 600px)\",\n\t\"--tablet-m\": \"(min-width: 768px)\",\n\t\"--tablet\": \"(min-width: 600px) and (max-width: 1023px)\",\n\t\"--desktop-s\": \"(min-width: 1024px)\",\n\t\"--desktop-m\": \"(min-width: 1280px)\",\n\t\"--desktop-l\": \"(min-width: 1440px)\",\n\t\"--desktop-xl\": \"(min-width: 1920px)\",\n\t\"--desktop\": \"(min-width: 1024px)\"\n};\n\n// TODO: перенести в alfalab/utils\nvar pool = {};\nvar refCounters = {};\n/**\n * Возвращает MediaQueryList для заданного media-выражения.\n *\n * @param queryProp media выражение или кастомный запрос из `mq.json`, например `--mobile`.\n */\nfunction getMatchMedia(queryProp) {\n var query = MqList[queryProp] || queryProp;\n if (pool[query]) {\n refCounters[query] += 1;\n }\n else {\n pool[query] = window.matchMedia(query);\n refCounters[query] = 1;\n }\n return pool[query];\n}\n/**\n * Удаляет MediaQueryList.\n *\n * @param queryProp media выражение или кастомный запрос из `mq.json`, например `--mobile`.\n */\nfunction releaseMatchMedia(queryProp) {\n var query = MqList[queryProp] || queryProp;\n refCounters[query] -= 1;\n if (pool[query] && refCounters[query] === 0) {\n delete pool[query];\n delete refCounters[query];\n }\n}\n/**\n * Возвращает `true`, если есть поддержка `Pointer Events`\n */\nfunction isPointerEventsSupported() {\n return 'PointerEvent' in window || 'msPointerEnabled' in window.navigator;\n}\n/**\n * Возвращает `true`, если есть поддержка `Touch Events`\n */\nfunction isTouchSupported() {\n return ('ontouchstart' in window ||\n window.navigator.maxTouchPoints > 0 ||\n // eslint-disable-next-line\n window.navigator.msMaxTouchPoints > 0);\n}\n\nexport { getMatchMedia, isPointerEventsSupported, isTouchSupported, releaseMatchMedia };\n","import { useState } from 'react';\nimport { useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';\nimport { getMatchMedia, releaseMatchMedia } from './utils.js';\n\n/**\n * Хук для медиа запросов.\n * @param query media выражение или кастомный запрос из `mq.json`, например `--mobile`.\n * @param defaultValue Значение по-умолчанию.\n */\nvar useMatchMedia = function (query, defaultValue) {\n if (defaultValue === void 0) { defaultValue = false; }\n var _a = useState(defaultValue), matches = _a[0], setMatches = _a[1];\n useLayoutEffect_SAFE_FOR_SSR(function () {\n var mql = getMatchMedia(query);\n var handleMatchChange = function () { return setMatches(mql.matches); };\n handleMatchChange();\n if (mql.addListener) {\n mql.addListener(handleMatchChange);\n }\n else {\n mql.addEventListener('change', handleMatchChange);\n }\n return function () {\n if (mql.removeListener) {\n mql.removeListener(handleMatchChange);\n }\n else {\n mql.removeEventListener('change', handleMatchChange);\n }\n releaseMatchMedia(query);\n };\n }, [query]);\n return [matches];\n};\n\nexport { useMatchMedia };\n","import React, { useEffect, Fragment } from 'react';\nimport { useMatchMedia } from './useMatchMedia.js';\nimport { isPointerEventsSupported, isTouchSupported } from './utils.js';\nimport '@alfalab/hooks';\n\nvar IS_BROWSER = typeof window !== 'undefined';\nvar SUPPORTS_TOUCH = IS_BROWSER && (isPointerEventsSupported() || isTouchSupported());\nvar Mq = function (_a) {\n var children = _a.children, _b = _a.query, query = _b === void 0 ? '' : _b, touch = _a.touch, onMatchChange = _a.onMatchChange;\n var queryMatches = useMatchMedia(query)[0];\n var touchPass = touch === undefined ? true : touch === SUPPORTS_TOUCH;\n var matches = touchPass && (!query || queryMatches);\n useEffect(function () {\n if (onMatchChange) {\n onMatchChange(matches);\n }\n }, [matches, onMatchChange]);\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return React.createElement(Fragment, null, matches && IS_BROWSER ? children : null);\n};\n\nexport { Mq };\n","var PORTAL_CONTAINER_ATTRIBUTE = 'alfa-portal-container';\nfunction createPortalContainer() {\n var portalContainer = document.createElement('div');\n portalContainer.setAttribute(PORTAL_CONTAINER_ATTRIBUTE, '');\n document.body.appendChild(portalContainer);\n return portalContainer;\n}\nvar getDefaultPortalContainer = function () {\n return document.querySelector(\"[\".concat(PORTAL_CONTAINER_ATTRIBUTE, \"]\")) || createPortalContainer();\n};\nfunction setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n // eslint-disable-next-line no-param-reassign\n ref.current = value;\n }\n}\n\nexport { PORTAL_CONTAINER_ATTRIBUTE, getDefaultPortalContainer, setRef };\n","import { forwardRef, useState, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { setRef, getDefaultPortalContainer } from './utils.js';\n\nvar Portal = forwardRef(function (_a, ref) {\n var _b = _a.getPortalContainer, getPortalContainer = _b === void 0 ? getDefaultPortalContainer : _b, _c = _a.immediateMount, immediateMount = _c === void 0 ? false : _c, children = _a.children;\n var _d = useState(function () {\n return typeof window !== 'undefined' && immediateMount ? getPortalContainer() : null;\n }), mountNode = _d[0], setMountNode = _d[1];\n useEffect(function () {\n setMountNode(getPortalContainer());\n }, [getPortalContainer]);\n useEffect(function () {\n if (mountNode) {\n setRef(ref, mountNode);\n return function () {\n setRef(ref, null);\n };\n }\n return function () { return null; };\n }, [ref, mountNode]);\n return mountNode ? createPortal(children, mountNode) : mountNode;\n});\n\nexport { Portal };\n","import { createContext } from 'react';\n\n/**\n * Набор констант для z-index соответствующих классов компонентов.\n * Значения выбраны по приоритету.\n */\nvar stackingOrder = {\n /**\n * Для компонентов с возможностью фокуса: кнопки, поля ввода\n */\n FOCUSED: 2,\n /**\n * Значение по-умолчанию\n */\n DEFAULT: 10,\n /**\n * Компоненты, которые управляют своей позицией, например, поповер, тултип\n */\n POPOVER: 50,\n /**\n * Для модальных окон с оверлеем\n */\n MODAL: 100,\n /**\n * Для тостов и нотификаций\n */\n TOAST: 1000,\n};\nvar StackingContext = createContext(stackingOrder.DEFAULT);\n\nexport { StackingContext, stackingOrder };\n","import React, { useContext } from 'react';\nimport { stackingOrder, StackingContext } from './context.js';\n\nvar Stack = function (_a) {\n var children = _a.children, _b = _a.value, value = _b === void 0 ? stackingOrder.DEFAULT : _b;\n var previousValue = useContext(StackingContext);\n var currentValue = Math.max(value, previousValue);\n var nextValue = currentValue + 1;\n return (React.createElement(StackingContext.Provider, { value: nextValue }, children(currentValue)));\n};\n\nexport { Stack };\n","var resizeObservers = [];\nexport { resizeObservers };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","/**\n * defines a focus group\n */\nexport var FOCUS_GROUP = 'data-focus-lock';\n/**\n * disables element discovery inside a group marked by key\n */\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\n/**\n * allows uncontrolled focus within the marked area, effectively disabling focus lock for it's content\n */\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\n/**\n * instructs autofocus engine to pick default autofocus inside a given node\n * can be set on the element or container\n */\nexport var FOCUS_AUTO = 'data-autofocus-inside';\n/**\n * instructs autofocus to ignore elements within a given node\n * can be set on the element or container\n */\nexport var FOCUS_NO_AUTOFOCUS = 'data-no-autofocus';\n","import { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return
...
\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n return useCallbackRef(defaultValue || null, function (newValue) { return refs.forEach(function (ref) { return assignRef(ref, newValue); }); });\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\n\nvar InFocusGuard = function InFocusGuard(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\n\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node\n} : {};\nInFocusGuard.defaultProps = {\n children: null\n};\nexport default InFocusGuard;","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n","import { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true // focus-lock sidecar is not required on the server\n // however, it might be required for JSDOM tests\n // ssr: true,\n\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { node, bool, string, any, arrayOf, oneOfType, object, func } from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { useEffect } from 'react';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/React.forwardRef(function FocusLockUI(props, parentRef) {\n var _extends2;\n\n var _React$useState = React.useState(),\n realObserved = _React$useState[0],\n setObserved = _React$useState[1];\n\n var observed = React.useRef();\n var isActive = React.useRef(false);\n var originalFocusedElement = React.useRef(null);\n var children = props.children,\n disabled = props.disabled,\n noFocusGuards = props.noFocusGuards,\n persistentFocus = props.persistentFocus,\n crossFrame = props.crossFrame,\n autoFocus = props.autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n hasPositiveIndices = props.hasPositiveIndices,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n shouldReturnFocus = props.returnFocus,\n focusOptions = props.focusOptions,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n\n var _React$useState2 = React.useState({}),\n id = _React$useState2[0]; // SIDE EFFECT CALLBACKS\n\n\n var onActivation = React.useCallback(function () {\n originalFocusedElement.current = originalFocusedElement.current || document && document.activeElement;\n\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n\n isActive.current = true;\n }, [onActivationCallback]);\n var onDeactivation = React.useCallback(function () {\n isActive.current = false;\n\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n }, [onDeactivationCallback]);\n useEffect(function () {\n if (!disabled) {\n // cleanup return focus on trap deactivation\n // sideEffect/returnFocus should happen by this time\n originalFocusedElement.current = null;\n }\n }, []);\n var returnFocus = React.useCallback(function (allowDefer) {\n var returnFocusTo = originalFocusedElement.current;\n\n if (returnFocusTo && returnFocusTo.focus) {\n var howToReturnFocus = typeof shouldReturnFocus === 'function' ? shouldReturnFocus(returnFocusTo) : shouldReturnFocus;\n\n if (howToReturnFocus) {\n var returnFocusOptions = typeof howToReturnFocus === 'object' ? howToReturnFocus : undefined;\n originalFocusedElement.current = null;\n\n if (allowDefer) {\n // React might return focus after update\n // it's safer to defer the action\n Promise.resolve().then(function () {\n return returnFocusTo.focus(returnFocusOptions);\n });\n } else {\n returnFocusTo.focus(returnFocusOptions);\n }\n }\n }\n }, [shouldReturnFocus]); // MEDIUM CALLBACKS\n\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium; // REF PROPAGATION\n // not using real refs due to race conditions\n\n var setObserveNode = React.useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n\n React.useEffect(function () {\n // report incorrect integration - https://github.com/theKashey/react-focus-lock/issues/123\n if (!observed.current && typeof Container !== 'string') {\n // eslint-disable-next-line no-console\n console.error('FocusLock: could not obtain ref to internal node');\n }\n }, []);\n }\n\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, hasLeadingGuards && [\n /*#__PURE__*/\n // nearest focus guard\n React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }), // first tabbed element guard\n hasPositiveIndices ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) : null], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus,\n focusOptions: focusOptions\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), children), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: node,\n disabled: bool,\n returnFocus: oneOfType([bool, object, func]),\n focusOptions: object,\n noFocusGuards: bool,\n hasPositiveIndices: bool,\n allowTextSelection: bool,\n autoFocus: bool,\n persistentFocus: bool,\n crossFrame: bool,\n group: string,\n className: string,\n whiteList: func,\n shards: arrayOf(any),\n as: oneOfType([string, func, object]),\n lockProps: object,\n onActivation: func,\n onDeactivation: func,\n sideCar: any.isRequired\n} : {};\nFocusLock.defaultProps = {\n children: undefined,\n disabled: false,\n returnFocus: false,\n focusOptions: undefined,\n noFocusGuards: false,\n autoFocus: true,\n persistentFocus: false,\n crossFrame: true,\n hasPositiveIndices: undefined,\n allowTextSelection: undefined,\n group: undefined,\n className: undefined,\n whiteList: undefined,\n shards: undefined,\n as: 'div',\n lockProps: {},\n onActivation: undefined,\n onDeactivation: undefined\n};\nexport default FocusLock;","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import { FOCUS_NO_AUTOFOCUS } from '../constants';\nvar isElementHidden = function (node) {\n // we can measure only \"elements\"\n // consider others as \"visible\"\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return false;\n }\n var computedStyle = window.getComputedStyle(node, null);\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return (computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden');\n};\nvar getParentNode = function (node) {\n // DOCUMENT_FRAGMENT_NODE can also point on ShadowRoot. In this case .host will point on the next node\n return node.parentNode && node.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node.parentNode.host\n : node.parentNode;\n};\nvar isTopNode = function (node) {\n // @ts-ignore\n return node === document || (node && node.nodeType === Node.DOCUMENT_NODE);\n};\nvar isVisibleUncached = function (node, checkParent) {\n return !node || isTopNode(node) || (!isElementHidden(node) && checkParent(getParentNode(node)));\n};\nexport var isVisibleCached = function (visibilityCache, node) {\n var cached = visibilityCache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isVisibleUncached(node, isVisibleCached.bind(undefined, visibilityCache));\n visibilityCache.set(node, result);\n return result;\n};\nvar isAutoFocusAllowedUncached = function (node, checkParent) {\n return node && !isTopNode(node) ? (isAutoFocusAllowed(node) ? checkParent(getParentNode(node)) : false) : true;\n};\nexport var isAutoFocusAllowedCached = function (cache, node) {\n var cached = cache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isAutoFocusAllowedUncached(node, isAutoFocusAllowedCached.bind(undefined, cache));\n cache.set(node, result);\n return result;\n};\nexport var getDataset = function (node) {\n // @ts-ignore\n return node.dataset;\n};\nexport var isHTMLButtonElement = function (node) { return node.tagName === 'BUTTON'; };\nexport var isHTMLInputElement = function (node) { return node.tagName === 'INPUT'; };\nexport var isRadioElement = function (node) {\n return isHTMLInputElement(node) && node.type === 'radio';\n};\nexport var notHiddenInput = function (node) {\n return !((isHTMLInputElement(node) || isHTMLButtonElement(node)) && (node.type === 'hidden' || node.disabled));\n};\nexport var isAutoFocusAllowed = function (node) {\n var attribute = node.getAttribute(FOCUS_NO_AUTOFOCUS);\n return ![true, 'true', ''].includes(attribute);\n};\nexport var isGuard = function (node) { var _a; return Boolean(node && ((_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.focusGuard)); };\nexport var isNotAGuard = function (node) { return !isGuard(node); };\nexport var isDefined = function (x) { return Boolean(x); };\n","import { isRadioElement } from './is';\nvar findSelectedRadio = function (node, nodes) {\n return nodes\n .filter(isRadioElement)\n .filter(function (el) { return el.name === node.name; })\n .filter(function (el) { return el.checked; })[0] || node;\n};\nexport var correctNode = function (node, nodes) {\n if (isRadioElement(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n return node;\n};\n/**\n * giving a set of radio inputs keeps only selected (tabbable) ones\n * @param nodes\n */\nexport var correctNodes = function (nodes) {\n // IE11 has no Set(array) constructor\n var resultSet = new Set();\n nodes.forEach(function (node) { return resultSet.add(correctNode(node, nodes)); });\n // using filter to support IE11\n return nodes.filter(function (node) { return resultSet.has(node); });\n};\n","import { correctNode } from './correctFocus';\nexport var pickFirstFocus = function (nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n return nodes[0];\n};\nexport var pickFocusable = function (nodes, index) {\n if (nodes.length > 1) {\n return nodes.indexOf(correctNode(nodes[index], nodes));\n }\n return index;\n};\n","import { correctNodes } from './utils/correctFocus';\nimport { pickFocusable } from './utils/firstFocus';\nimport { isGuard } from './utils/is';\nexport var NEW_FOCUS = 'NEW_FOCUS';\n/**\n * Main solver for the \"find next focus\" question\n * @param innerNodes\n * @param outerNodes\n * @param activeElement\n * @param lastNode\n * @returns {number|string|undefined|*}\n */\nexport var newFocus = function (innerNodes, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n // focus is inside\n if (activeElement && innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n var activeIndex = activeElement !== undefined ? outerNodes.indexOf(activeElement) : -1;\n var lastIndex = lastNode ? outerNodes.indexOf(lastNode) : activeIndex;\n var lastNodeInside = lastNode ? innerNodes.indexOf(lastNode) : -1;\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n var correctedNodes = correctNodes(outerNodes);\n var correctedIndex = activeElement !== undefined ? correctedNodes.indexOf(activeElement) : -1;\n var correctedIndexDiff = correctedIndex - (lastNode ? correctedNodes.indexOf(lastNode) : activeIndex);\n var returnFirstNode = pickFocusable(innerNodes, 0);\n var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n // new focus\n if (activeIndex === -1 || lastNodeInside === -1) {\n return NEW_FOCUS;\n }\n // old focus\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n // first element\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n // last element\n if (activeIndex >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(correctedIndexDiff) > 1) {\n return lastNodeInside;\n }\n // focus above lock\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n // focus below lock\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n // index is inside tab order, but outside Lock\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n // do nothing\n return undefined;\n};\n","/*\nIE11 support\n */\nexport var toArray = function (a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\nexport var asArray = function (a) { return (Array.isArray(a) ? a : [a]); };\nexport var getFirst = function (a) { return (Array.isArray(a) ? a[0] : a); };\n","import { toArray } from './array';\nexport var tabSort = function (a, b) {\n var tabDiff = a.tabIndex - b.tabIndex;\n var indexDiff = a.index - b.index;\n if (tabDiff) {\n if (!a.tabIndex) {\n return 1;\n }\n if (!b.tabIndex) {\n return -1;\n }\n }\n return tabDiff || indexDiff;\n};\nexport var orderByTabIndex = function (nodes, filterNegative, keepGuards) {\n return toArray(nodes)\n .map(function (node, index) { return ({\n node: node,\n index: index,\n tabIndex: keepGuards && node.tabIndex === -1 ? ((node.dataset || {}).focusGuard ? 0 : -1) : node.tabIndex,\n }); })\n .filter(function (data) { return !filterNegative || data.tabIndex >= 0; })\n .sort(tabSort);\n};\n","import { FOCUS_AUTO } from '../constants';\nimport { toArray } from './array';\nimport { tabbables } from './tabbables';\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = \"\".concat(queryTabbables, \", [data-focus-guard]\");\nvar getFocusablesWithShadowDom = function (parent, withGuards) {\n return toArray((parent.shadowRoot || parent).children).reduce(function (acc, child) {\n return acc.concat(child.matches(withGuards ? queryGuardTabbables : queryTabbables) ? [child] : [], getFocusablesWithShadowDom(child));\n }, []);\n};\nvar getFocusablesWithIFrame = function (parent, withGuards) {\n var _a;\n // contentDocument of iframe will be null if current origin cannot access it\n if (parent instanceof HTMLIFrameElement && ((_a = parent.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {\n return getFocusables([parent.contentDocument.body], withGuards);\n }\n return [parent];\n};\nexport var getFocusables = function (parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n var _a;\n var focusableWithShadowDom = getFocusablesWithShadowDom(parent, withGuards);\n var focusableWithIframes = (_a = []).concat.apply(_a, focusableWithShadowDom.map(function (node) { return getFocusablesWithIFrame(node, withGuards); }));\n return acc.concat(\n // add all tabbables inside and within shadow DOMs in DOM order\n focusableWithIframes, \n // add if node is tabbable itself\n parent.parentNode\n ? toArray(parent.parentNode.querySelectorAll(queryTabbables)).filter(function (node) { return node === parent; })\n : []);\n }, []);\n};\n/**\n * return a list of focusable nodes within an area marked as \"auto-focusable\"\n * @param parent\n */\nexport var getParentAutofocusables = function (parent) {\n var parentFocus = parent.querySelectorAll(\"[\".concat(FOCUS_AUTO, \"]\"));\n return toArray(parentFocus)\n .map(function (node) { return getFocusables([node]); })\n .reduce(function (acc, nodes) { return acc.concat(nodes); }, []);\n};\n","/**\n * list of the object to be considered as focusable\n */\nexport var tabbables = [\n 'button:enabled',\n 'select:enabled',\n 'textarea:enabled',\n 'input:enabled',\n // elements with explicit roles will also use explicit tabindex\n // '[role=\"button\"]',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[tabindex]',\n '[contenteditable]',\n '[autofocus]',\n];\n","import { toArray } from './array';\nimport { isAutoFocusAllowedCached, isVisibleCached, notHiddenInput } from './is';\nimport { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\n/**\n * given list of focusable elements keeps the ones user can interact with\n * @param nodes\n * @param visibilityCache\n */\nexport var filterFocusable = function (nodes, visibilityCache) {\n return toArray(nodes)\n .filter(function (node) { return isVisibleCached(visibilityCache, node); })\n .filter(function (node) { return notHiddenInput(node); });\n};\nexport var filterAutoFocusable = function (nodes, cache) {\n if (cache === void 0) { cache = new Map(); }\n return toArray(nodes).filter(function (node) { return isAutoFocusAllowedCached(cache, node); });\n};\n/**\n * only tabbable ones\n * (but with guards which would be ignored)\n */\nexport var getTabbableNodes = function (topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\n/**\n * actually anything \"focusable\", not only tabbable\n * (without guards, as long as they are not expected to be focused)\n */\nexport var getAllTabbableNodes = function (topNodes, visibilityCache) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes), visibilityCache), false);\n};\n/**\n * return list of nodes which are expected to be auto-focused\n * @param topNode\n * @param visibilityCache\n */\nexport var parentAutofocusables = function (topNode, visibilityCache) {\n return filterFocusable(getParentAutofocusables(topNode), visibilityCache);\n};\n/*\n * Determines if element is contained in scope, including nested shadow DOMs\n */\nexport var contains = function (scope, element) {\n if (scope.shadowRoot) {\n return contains(scope.shadowRoot, element);\n }\n else {\n if (Object.getPrototypeOf(scope).contains !== undefined &&\n Object.getPrototypeOf(scope).contains.call(scope, element)) {\n return true;\n }\n return toArray(scope.children).some(function (child) {\n var _a;\n if (child instanceof HTMLIFrameElement) {\n var iframeBody = (_a = child.contentDocument) === null || _a === void 0 ? void 0 : _a.body;\n if (iframeBody) {\n return contains(iframeBody, element);\n }\n return false;\n }\n return contains(child, element);\n });\n }\n};\n","import { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n/**\n * in case of multiple nodes nested inside each other\n * keeps only top ones\n * this is O(nlogn)\n * @param nodes\n * @returns {*}\n */\nvar filterNested = function (nodes) {\n var contained = new Set();\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n for (var j = i + 1; j < l; j += 1) {\n var position = nodes[i].compareDocumentPosition(nodes[j]);\n /* eslint-disable no-bitwise */\n if ((position & Node.DOCUMENT_POSITION_CONTAINED_BY) > 0) {\n contained.add(j);\n }\n if ((position & Node.DOCUMENT_POSITION_CONTAINS) > 0) {\n contained.add(i);\n }\n /* eslint-enable */\n }\n }\n return nodes.filter(function (_, index) { return !contained.has(index); });\n};\n/**\n * finds top most parent for a node\n * @param node\n * @returns {*}\n */\nvar getTopParent = function (node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n/**\n * returns all \"focus containers\" inside a given node\n * @param node\n * @returns {T}\n */\nexport var getAllAffectedNodes = function (node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, (group\n ? filterNested(toArray(getTopParent(currentNode).querySelectorAll(\"[\".concat(FOCUS_GROUP, \"=\\\"\").concat(group, \"\\\"]:not([\").concat(FOCUS_DISABLED, \"=\\\"disabled\\\"])\"))))\n : [currentNode]));\n return acc;\n }, []);\n};\n","import { filterAutoFocusable } from './DOMutils';\nimport { pickFirstFocus } from './firstFocus';\nimport { getDataset } from './is';\nvar findAutoFocused = function (autoFocusables) {\n return function (node) {\n var _a;\n var autofocus = (_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.autofocus;\n return (\n // @ts-expect-error\n node.autofocus ||\n //\n (autofocus !== undefined && autofocus !== 'false') ||\n //\n autoFocusables.indexOf(node) >= 0);\n };\n};\nexport var pickAutofocus = function (nodesIndexes, orderedNodes, groups) {\n var nodes = nodesIndexes.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var autoFocusable = filterAutoFocusable(nodes.filter(findAutoFocused(groups)));\n if (autoFocusable && autoFocusable.length) {\n return pickFirstFocus(autoFocusable);\n }\n return pickFirstFocus(filterAutoFocusable(orderedNodes));\n};\n","/**\n * returns active element from document or from nested shadowdoms\n */\nimport { safeProbe } from './safe';\nexport var getActiveElement = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n if (!inDocument || !inDocument.activeElement) {\n return undefined;\n }\n var activeElement = inDocument.activeElement;\n return (activeElement.shadowRoot\n ? getActiveElement(activeElement.shadowRoot)\n : activeElement instanceof HTMLIFrameElement && safeProbe(function () { return activeElement.contentWindow.document; })\n ? getActiveElement(activeElement.contentWindow.document)\n : activeElement);\n};\n","export var safeProbe = function (cb) {\n try {\n return cb();\n }\n catch (e) {\n return undefined;\n }\n};\n","import { parentAutofocusables } from './DOMutils';\nimport { contains } from './DOMutils';\nimport { asArray } from './array';\nvar getParents = function (node, parents) {\n if (parents === void 0) { parents = []; }\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode.host || node.parentNode, parents);\n }\n return parents;\n};\n/**\n * finds a parent for both nodeA and nodeB\n * @param nodeA\n * @param nodeB\n * @returns {boolean|*}\n */\nexport var getCommonParent = function (nodeA, nodeB) {\n var parentsA = getParents(nodeA);\n var parentsB = getParents(nodeB);\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\nexport var getTopCommonParent = function (baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = false;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || contains(common, topCommon)) {\n topCommon = common;\n }\n else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n // TODO: add assert here?\n return topCommon;\n};\n/**\n * return list of nodes which are expected to be autofocused inside a given top nodes\n * @param entries\n * @param visibilityCache\n */\nexport var allParentAutofocusables = function (entries, visibilityCache) {\n return entries.reduce(function (acc, node) { return acc.concat(parentAutofocusables(node, visibilityCache)); }, []);\n};\n","import { NEW_FOCUS, newFocus } from './solver';\nimport { getAllTabbableNodes, getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { asArray, getFirst } from './utils/array';\nimport { pickAutofocus } from './utils/auto-focus';\nimport { getActiveElement } from './utils/getActiveElement';\nimport { isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar reorderNodes = function (srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) { return remap.set(entity.node, entity); });\n // remap to dstNodes\n return srcNodes.map(function (node) { return remap.get(node); }).filter(isDefined);\n};\n/**\n * given top node(s) and the last active element return the element to be focused next\n * @param topNode\n * @param lastNode\n */\nexport var getFocusMerge = function (topNode, lastNode) {\n var activeElement = getActiveElement(asArray(topNode).length > 0 ? document : getFirst(topNode).ownerDocument);\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n var visibilityCache = new Map();\n var anyFocusable = getAllTabbableNodes(entries, visibilityCache);\n var innerElements = getTabbableNodes(entries, visibilityCache).filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n });\n if (!innerElements[0]) {\n innerElements = anyFocusable;\n if (!innerElements[0]) {\n return undefined;\n }\n }\n var outerNodes = getAllTabbableNodes([commonParent], visibilityCache).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n var innerNodes = orderedInnerElements.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode);\n if (newId === NEW_FOCUS) {\n var focusNode = pickAutofocus(anyFocusable, innerNodes, allParentAutofocusables(entries, visibilityCache));\n if (focusNode) {\n return { node: focusNode };\n }\n else {\n console.warn('focus-lock: cannot find any node to move focus into');\n return undefined;\n }\n }\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n","import { getFocusMerge } from './focusMerge';\nexport var focusOn = function (target, focusOptions) {\n if ('focus' in target) {\n target.focus(focusOptions);\n }\n if ('contentWindow' in target && target.contentWindow) {\n target.contentWindow.focus();\n }\n};\nvar guardCount = 0;\nvar lockDisabled = false;\n/**\n * Sets focus at a given node. The last focused element will help to determine which element(first or last) should be focused.\n * HTML markers (see {@link import('./constants').FOCUS_AUTO} constants) can control autofocus\n * @param topNode\n * @param lastNode\n * @param options\n */\nexport var setFocus = function (topNode, lastNode, options) {\n if (options === void 0) { options = {}; }\n var focusable = getFocusMerge(topNode, lastNode);\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n if (guardCount > 2) {\n // tslint:disable-next-line:no-console\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' +\n 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node, options.focusOptions);\n guardCount--;\n }\n};\n","import * as constants from './constants';\nimport { focusInside } from './focusInside';\nimport { focusIsHidden } from './focusIsHidden';\nimport { getFocusMerge as focusMerge } from './focusMerge';\nimport { getFocusabledIn, getFocusableIn } from './focusables';\nimport { setFocus } from './setFocus';\nimport { focusNextElement, focusPrevElement } from './sibling';\nimport tabHook from './tabHook';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getActiveElement } from './utils/getActiveElement';\nexport { tabHook, focusInside, focusIsHidden, focusMerge, getFocusableIn, getFocusabledIn, constants, getAllAffectedNodes, focusNextElement, focusPrevElement, getActiveElement, };\nexport default setFocus;\n//\n","import { contains } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getFirst, toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\nvar focusInFrame = function (frame, activeElement) { return frame === activeElement; };\nvar focusInsideIframe = function (topNode, activeElement) {\n return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) { return focusInFrame(node, activeElement); }));\n};\n/**\n * @returns {Boolean} true, if the current focus is inside given node or nodes\n */\nexport var focusInside = function (topNode, activeElement) {\n // const activeElement = document && getActiveElement();\n if (activeElement === void 0) { activeElement = getActiveElement(getFirst(topNode).ownerDocument); }\n if (!activeElement || (activeElement.dataset && activeElement.dataset.focusGuard)) {\n return false;\n }\n return getAllAffectedNodes(topNode).some(function (node) {\n return contains(node, activeElement) || focusInsideIframe(node, activeElement);\n });\n};\n","import { getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\n/**\n * return list of focusable elements inside a given top node\n * @deprecated use {@link getFocusableIn}. Yep, there is typo in the function name\n */\nexport var getFocusabledIn = function (topNode) {\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var visibilityCache = new Map();\n var outerNodes = getTabbableNodes([commonParent], visibilityCache, true);\n var innerElements = getTabbableNodes(entries, visibilityCache)\n .filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n })\n .map(function (_a) {\n var node = _a.node;\n return node;\n });\n return outerNodes.map(function (_a) {\n var node = _a.node, index = _a.index;\n return ({\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node),\n });\n });\n};\n/**\n * return list of focusable elements inside a given top node\n */\nexport var getFocusableIn = getFocusabledIn;\n","export function deferAction(action) {\n setTimeout(action, 1);\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","/* eslint-disable no-mixed-operators */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport moveFocusInside, { focusInside, focusIsHidden, getFocusabledIn } from 'focus-lock';\nimport { deferAction } from './util';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\n\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\n\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\n\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\n\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\n\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\n\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\n\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\n\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n\n do {\n var item = allNodes[i];\n\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n // we will tab to the next element\n return;\n }\n\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\n\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n // with cross frame return true for any value\n return Boolean(focusWasOutsideWindow);\n } // in other case return only of focus went a while aho\n\n\n return focusWasOutsideWindow === 'meanwhile';\n};\n\nvar checkInHost = function checkInHost(check, el, boundary) {\n return el && ( // find host equal to active element and check nested active element\n el.host === check && (!el.activeElement || boundary.contains(el.activeElement)) // dive up\n || el.parentNode && checkInHost(check, el.parentNode, boundary));\n};\n\nvar withinHost = function withinHost(activeElement, workingArea) {\n return workingArea.some(function (area) {\n return checkInHost(activeElement, area, area);\n });\n};\n\nvar activateTrap = function activateTrap() {\n var result = false;\n\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards,\n crossFrame = _lastActiveTrap.crossFrame,\n focusOptions = _lastActiveTrap.focusOptions;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n var activeElement = document && document.activeElement;\n\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || focusWasOutside(crossFrame) || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !( // active element is \"inside\" working area\n focusInside(workingArea) || // check for shadow-dom contained elements\n activeElement && withinHost(activeElement, workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n // Check if blur() exists, which is missing on certain elements on IE\n if (activeElement.blur) {\n activeElement.blur();\n }\n\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus, {\n focusOptions: focusOptions\n });\n lastPortaledElement = {};\n }\n }\n\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n }\n }\n\n if (document) {\n var newActiveElement = document && document.activeElement;\n var allNodes = getFocusabledIn(workingArea);\n var focusedIndex = allNodes.map(function (_ref) {\n var node = _ref.node;\n return node;\n }).indexOf(newActiveElement);\n\n if (focusedIndex > -1) {\n // remove old focus\n allNodes.filter(function (_ref2) {\n var guard = _ref2.guard,\n node = _ref2.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref3) {\n var node = _ref3.node;\n return node.removeAttribute('tabIndex');\n });\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n\n return result;\n};\n\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n // prevent scroll jump\n event.stopPropagation();\n event.preventDefault();\n }\n};\n\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\n\nvar onFocus = function onFocus(event) {\n // detect portal\n var source = event.target;\n var currentNode = event.currentTarget;\n\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\n\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\n\nvar FocusTrap = function FocusTrap(_ref4) {\n var children = _ref4.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\n\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\n\nvar onWindowBlur = function onWindowBlur() {\n focusWasOutsideWindow = 'just'; // using setTimeout to set this variable after React/sidecar reaction\n\n deferAction(function () {\n focusWasOutsideWindow = 'meanwhile';\n });\n};\n\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('blur', onWindowBlur);\n};\n\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('blur', onWindowBlur);\n};\n\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref5) {\n var disabled = _ref5.disabled;\n return !disabled;\n });\n}\n\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation(); // return focus only of last trap was removed\n\n if (!traps.filter(function (_ref6) {\n var id = _ref6.id;\n return id === lastTrap.id;\n }).length) {\n // allow defer is no other trap is awaiting restore\n lastTrap.returnFocus(!trap);\n }\n }\n\n if (trap) {\n lastActiveFocus = null;\n\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation();\n }\n\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n} // bind medium\n\n\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb({\n moveFocusInside: moveFocusInside,\n focusInside: focusInside\n });\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import { FOCUS_ALLOW } from './constants';\nimport { contains } from './utils/DOMutils';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\n/**\n * focus is hidden FROM the focus-lock\n * ie contained inside a node focus-lock shall ignore\n * @returns {boolean} focus is currently is in \"allow\" area\n */\nexport var focusIsHidden = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n var activeElement = getActiveElement(inDocument);\n if (!activeElement) {\n return false;\n }\n // this does not support setting FOCUS_ALLOW within shadow dom\n return toArray(inDocument.querySelectorAll(\"[\".concat(FOCUS_ALLOW, \"]\"))).some(function (node) { return contains(node, activeElement); });\n};\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport FocusLockUI from './Lock';\nimport FocusTrap from './Trap';\n/* that would be a BREAKING CHANGE!\n// delaying sidecar execution till the first usage\nconst RequireSideCar = (props) => {\n // eslint-disable-next-line global-require\n const SideCar = require('./Trap').default;\n return ;\n};\n*/\n\nvar FocusLockCombination = /*#__PURE__*/React.forwardRef(function FocusLockUICombination(props, ref) {\n return /*#__PURE__*/React.createElement(FocusLockUI, _extends({\n sideCar: FocusTrap,\n ref: ref\n }, props));\n});\n\nvar _ref = FocusLockUI.propTypes || {},\n sideCar = _ref.sideCar,\n propTypes = _objectWithoutPropertiesLoose(_ref, [\"sideCar\"]);\n\nFocusLockCombination.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nexport default FocusLockCombination;","import FocusLock from './Combination';\nexport * from './UI';\nexport default FocusLock;","function mergeRefs(refs) {\n return function (value) {\n refs.forEach(function (ref) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref != null) {\n ref.current = value;\n }\n });\n };\n}\n\nexport default mergeRefs;\n//# sourceMappingURL=react-merge-refs.esm.js.map\n","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","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;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\nimport { forceReflow } from './utils/reflow';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n if (node) forceReflow(node);\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}"],"names":["ModalStore","_this","this","getRestoreStyles","restoreStyles","GlobalStore","getModalStore","modalStore","window","coreComponentsStore","MqList","pool","refCounters","useMatchMedia","query","defaultValue","_a","useState","matches","setMatches","useLayoutEffect_SAFE_FOR_SSR","mql","queryProp","matchMedia","getMatchMedia","handleMatchChange","addListener","addEventListener","removeListener","removeEventListener","releaseMatchMedia","IS_BROWSER","SUPPORTS_TOUCH","navigator","maxTouchPoints","msMaxTouchPoints","Mq","children","_b","touch","onMatchChange","queryMatches","undefined","useEffect","Fragment","PORTAL_CONTAINER_ATTRIBUTE","getDefaultPortalContainer","document","querySelector","concat","portalContainer","createElement","setAttribute","body","appendChild","setRef","ref","value","current","Portal","forwardRef","getPortalContainer","_c","immediateMount","_d","mountNode","setMountNode","createPortal","stackingOrder","FOCUSED","DEFAULT","POPOVER","MODAL","TOAST","StackingContext","createContext","Stack","previousValue","useContext","currentValue","Math","max","nextValue","Provider","ResizeObserverBoxOptions","resizeObservers","msg","trigger","freeze","obj","Object","ResizeObserverSize","inlineSize","blockSize","DOMRectReadOnly","x","y","width","height","top","left","bottom","right","prototype","toJSON","fromRect","rectangle","isSVG","target","SVGElement","isHidden","getBBox","offsetWidth","offsetHeight","getClientRects","length","isElement","Element","scope","ownerDocument","defaultView","global","cache","WeakMap","scrollRegexp","verticalRegexp","IE","test","userAgent","parseDimension","pixel","parseFloat","size","switchSizes","zeroBoxes","devicePixelContentBoxSize","borderBoxSize","contentBoxSize","contentRect","calculateBoxSizes","forceRecalculation","has","get","set","cs","getComputedStyle","svg","ownerSVGElement","removePadding","boxSizing","writingMode","canScrollVertically","overflowY","canScrollHorizontally","overflowX","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","horizontalPadding","verticalPadding","horizontalBorderArea","borderLeftWidth","verticalBorderArea","horizontalScrollbarThickness","clientHeight","verticalScrollbarThickness","clientWidth","widthReduction","heightReduction","contentWidth","contentHeight","borderBoxWidth","borderBoxHeight","boxes","round","devicePixelRatio","calculateBoxSize","observedBox","DEVICE_PIXEL_CONTENT_BOX","BORDER_BOX","ResizeObserverEntry","calculateDepthForNode","node","Infinity","depth","parent","parentNode","broadcastActiveObservations","shallowestDepth","callbacks","forEach","ro","activeTargets","entries","ot","entry","targetDepth","push","lastReportedSize","callback","call","observer","splice","_i","callbacks_1","gatherActiveObservationsAtDepth","skippedTargets","observationTargets","isActive","process","event","some","ErrorEvent","message","createEvent","initEvent","dispatchEvent","queueMicroTask","toggle_1","el_1","createTextNode","MutationObserver","cb","observe","characterData","textContent","watching","observerConfig","attributes","childList","subtree","events","time","timeout","Date","now","scheduled","scheduler","Scheduler","stopped","listener","schedule","run","until","elementsHaveResized","start","requestAnimationFrame","stop","name","disconnect","updateCount","n","ResizeObservation","CONTENT_BOX","tagName","type","isReplacedElement","display","ResizeObserverDetail","resizeObserver","observerMap","getObservationIndex","i","ResizeObserverController","connect","detail","options","firstObservation","box","unobserve","index","lastObservation","indexOf","slice","ResizeObserver","arguments","TypeError","toString","FOCUS_GROUP","FOCUS_DISABLED","useMergeRefs","refs","initialValue","newValue","assignRef","facade","last","hiddenGuard","padding","overflow","position","InFocusGuard","_ref","key","style","propTypes","defaultProps","ItoI","a","innerCreateMedium","defaults","middleware","buffer","assigned","read","Error","useMedium","data","item","filter","assignSyncMedium","cbs","assignMedium","pendingQueue","executeQueue","cycle","Promise","resolve","then","createMedium","mediumFocus","currentTarget","mediumBlur","mediumEffect","mediumSidecar","medium","__assign","async","ssr","createSidecarMedium","emptyArray","FocusLock","props","parentRef","_extends2","_React$useState","realObserved","setObserved","observed","originalFocusedElement","disabled","noFocusGuards","persistentFocus","crossFrame","autoFocus","group","allowTextSelection","className","whiteList","hasPositiveIndices","_props$shards","shards","_props$as","as","Container","_props$lockProps","lockProps","containerProps","SideCar","sideCar","shouldReturnFocus","returnFocus","focusOptions","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","id","activeElement","allowDefer","returnFocusTo","focus","howToReturnFocus","returnFocusOptions","onFocus","onBlur","setObserveNode","newObserved","hasLeadingGuards","hasTailingGuards","mergedRef","tabIndex","reducePropsToState","handleStateChangeOnClient","WrappedComponent","state","mountedInstances","emitChange","map","instance","SideEffect","_PureComponent","apply","peek","_proto","componentDidMount","componentDidUpdate","componentWillUnmount","render","PureComponent","displayName","getDisplayName","defineProperty","enumerable","configurable","writable","getParentNode","nodeType","Node","DOCUMENT_FRAGMENT_NODE","host","isTopNode","DOCUMENT_NODE","isVisibleUncached","checkParent","ELEMENT_NODE","computedStyle","getPropertyValue","isElementHidden","isVisibleCached","visibilityCache","cached","result","bind","isAutoFocusAllowedCached","isAutoFocusAllowed","isAutoFocusAllowedUncached","getDataset","dataset","isHTMLInputElement","isRadioElement","attribute","getAttribute","includes","isGuard","Boolean","focusGuard","isNotAGuard","isDefined","correctNode","nodes","el","checked","findSelectedRadio","pickFirstFocus","pickFocusable","NEW_FOCUS","newFocus","innerNodes","outerNodes","lastNode","cnt","firstFocus","lastFocus","isOnGuard","resultSet","activeIndex","lastIndex","lastNodeInside","indexDiff","firstNodeIndex","lastNodeIndex","correctedNodes","Set","add","correctedIndexDiff","returnFirstNode","returnLastNode","abs","toArray","ret","Array","asArray","isArray","getFirst","tabSort","b","tabDiff","orderByTabIndex","filterNegative","keepGuards","sort","queryTabbables","join","queryGuardTabbables","getFocusablesWithShadowDom","withGuards","shadowRoot","reduce","acc","child","getFocusables","parents","focusableWithShadowDom","focusableWithIframes","HTMLIFrameElement","contentDocument","getFocusablesWithIFrame","querySelectorAll","filterFocusable","isHTMLButtonElement","notHiddenInput","filterAutoFocusable","Map","getTabbableNodes","topNodes","getAllTabbableNodes","parentAutofocusables","topNode","parentFocus","contains","element","getPrototypeOf","iframeBody","getTopParent","getAllAffectedNodes","currentNode","contained","l","j","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_CONTAINS","_","filterNested","pickAutofocus","nodesIndexes","orderedNodes","groups","autoFocusables","autoFocusable","autofocus","getActiveElement","inDocument","e","safeProbe","contentWindow","getParents","getCommonParent","nodeA","nodeB","parentsA","parentsB","currentParent","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","subEntry","common","getFocusMerge","commonParent","anyFocusable","innerElements","srcNodes","dstNodes","remap","orderedInnerElements","entity","newId","focusNode","allParentAutofocusables","console","warn","guardCount","lockDisabled","focusable","error","setTimeout","focusInside","frame","focusInFrame","focusInsideIframe","getFocusabledIn","lockItem","guard","deferAction","action","isFreeFocus","focusIsHidden","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","startIndex","end","step","allNodes","lastGuard","focusAutoGuard","extractRef","checkInHost","check","boundary","activateTrap","_lastActiveTrap","workingNode","portaledElement","workingArea","focusWhitelisted","area","withinHost","blur","newActiveElement","focusedIndex","_ref2","_ref3","removeAttribute","onTrap","stopPropagation","preventDefault","source","observerNode","onWindowBlur","moveFocusInside","propsList","_ref5","traps","trap","lastTrap","sameTrap","_ref6","FocusLockCombination","replaceClassName","origClass","classToRemove","replace","RegExp","forceReflow","scrollTop","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","context","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","status","nextCallback","getDerivedStateFromProps","prevState","updateStatus","prevProps","nextStatus","cancelNextCallback","getTimeouts","exit","mounting","nodeRef","performEnter","performExit","setState","_this2","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","config","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","_this3","onExit","onExiting","onExited","cancel","nextState","setNextCallback","_this4","active","handler","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","_this$props","childProps","TransitionGroupContext","noop","contextType","removeClass","classes","split","c","classList","remove","baseVal","CSSTransition","_len","args","_key","appliedClasses","_this$resolveArgument","resolveArguments","removeClasses","addClass","_this$resolveArgument2","_this$resolveArgument3","getClassNames","classNames","isStringClassNames","baseClassName","activeClassName","doneClassName","phase","hasClass","_addClass","_this$appliedClasses$","base","done"],"sourceRoot":""}