{"version":3,"sources":["webpack:///./node_modules/focus-trap/dist/focus-trap.esm.js","webpack:///./node_modules/tabbable/dist/index.esm.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_defineProperty","obj","key","value","defineProperty","configurable","writable","trapQueue","activeFocusTraps","activateTrap","trap","length","activeTrap","pause","trapIndex","indexOf","splice","deactivateTrap","unpause","delay","fn","setTimeout","findIndex","arr","idx","every","i","valueOrHandler","_len","arguments","params","Array","_key","getActualTarget","event","target","shadowRoot","composedPath","createFocusTrap","elements","userOptions","doc","document","config","source","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread2","returnFocusOnDeactivate","escapeDeactivates","delayInitialFocus","state","containers","tabbableGroups","nodeFocusedBeforeActivation","mostRecentlyFocusedNode","active","paused","delayInitialFocusTimer","undefined","getOption","configOverrideOptions","optionName","configOptionName","containersContain","element","some","container","contains","getNodeForOption","optionValue","_len2","_key2","Error","concat","node","querySelector","getInitialFocusNode","activeElement","firstTabbableGroup","firstTabbableNode","updateTabbableNodes","map","tabbableNodes","lastTabbableNode","group","tryFocus","focus","preventScroll","tagName","toLowerCase","select","isSelectableInput","getReturnFocusNode","previousActiveElement","checkPointerDown","e","clickOutsideDeactivates","deactivate","returnFocus","allowOutsideClick","preventDefault","checkFocusIn","targetContained","Document","stopImmediatePropagation","checkKey","keyCode","isEscapeEvent","isTabEvent","destinationNode","containerIndex","_ref","shiftKey","startOfGroupIndex","_ref2","destinationGroupIndex","lastOfGroupIndex","_ref3","_destinationGroupIndex","checkTab","checkClick","addListeners","addEventListener","capture","passive","removeListeners","removeEventListener","activate","activateOptions","this","onActivate","onPostActivate","checkCanFocusTrap","finishActivation","then","deactivateOptions","clearTimeout","onDeactivate","onPostDeactivate","checkCanReturnFocus","finishDeactivation","updateContainerElements","containerElements","elementsAsArray","Boolean","candidateSelectors","candidateSelector","join","NoElement","Element","matches","prototype","msMatchesSelector","webkitMatchesSelector","getRootNode","ownerDocument","getCandidates","el","includeContainer","candidates","slice","querySelectorAll","call","unshift","getCandidatesIteratively","options","elementsToCheck","from","shift","assigned","assignedElements","nestedCandidates","children","flatten","scope","includes","getShadowRoot","validShadowRoot","shadowRootFilter","_nestedCandidates","getTabindex","isScope","tabIndex","test","isContentEditable","isNaN","parseInt","getAttribute","sortOrderedTabbables","a","b","documentOrder","isInput","isNonTabbableRadio","type","isRadio","name","radioSet","radioScope","form","queryRadios","window","CSS","escape","err","console","error","message","checked","nodes","getCheckedRadio","isTabbableRadio","isZeroArea","_node$getBoundingClie","getBoundingClientRect","width","height","isNodeMatchingSelectorFocusable","disabled","isHiddenInput","displayCheck","getComputedStyle","visibility","nodeUnderDetails","parentElement","nodeRootHost","host","nodeIsAttached","originalNode","rootNode","assignedSlot","getClientRects","isHidden","child","isDetailsWithSummary","parentNode","item","isDisabledFromFieldset","isNodeMatchingSelectorTabbable","isValidShadowRootTabbable","shadowHostNode","tabbable","sortByOrder","regularTabbables","orderedTabbables","candidateTabindex","content","sort","reduce","acc","sortable","bind","focusable","isTabbable","focusableCandidateSelector","isFocusable"],"mappings":"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","file":"2.14bda04093a3024b44ae.js?v=13da44da5580c6a43010","sourcesContent":["/*!\n* focus-trap 6.7.1\n* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE\n*/\nimport { tabbable, isFocusable } from 'tabbable';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _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}\n\nvar activeFocusTraps = function () {\n var trapQueue = [];\n return {\n activateTrap: function activateTrap(trap) {\n if (trapQueue.length > 0) {\n var activeTrap = trapQueue[trapQueue.length - 1];\n\n if (activeTrap !== trap) {\n activeTrap.pause();\n }\n }\n\n var trapIndex = trapQueue.indexOf(trap);\n\n if (trapIndex === -1) {\n trapQueue.push(trap);\n } else {\n // move this existing trap to the front of the queue\n trapQueue.splice(trapIndex, 1);\n trapQueue.push(trap);\n }\n },\n deactivateTrap: function deactivateTrap(trap) {\n var trapIndex = trapQueue.indexOf(trap);\n\n if (trapIndex !== -1) {\n trapQueue.splice(trapIndex, 1);\n }\n\n if (trapQueue.length > 0) {\n trapQueue[trapQueue.length - 1].unpause();\n }\n }\n };\n}();\n\nvar isSelectableInput = function isSelectableInput(node) {\n return node.tagName && node.tagName.toLowerCase() === 'input' && typeof node.select === 'function';\n};\n\nvar isEscapeEvent = function isEscapeEvent(e) {\n return e.key === 'Escape' || e.key === 'Esc' || e.keyCode === 27;\n};\n\nvar isTabEvent = function isTabEvent(e) {\n return e.key === 'Tab' || e.keyCode === 9;\n};\n\nvar delay = function delay(fn) {\n return setTimeout(fn, 0);\n}; // Array.find/findIndex() are not supported on IE; this replicates enough\n// of Array.findIndex() for our needs\n\n\nvar findIndex = function findIndex(arr, fn) {\n var idx = -1;\n arr.every(function (value, i) {\n if (fn(value)) {\n idx = i;\n return false; // break\n }\n\n return true; // next\n });\n return idx;\n};\n/**\n * Get an option's value when it could be a plain value, or a handler that provides\n * the value.\n * @param {*} value Option's value to check.\n * @param {...*} [params] Any parameters to pass to the handler, if `value` is a function.\n * @returns {*} The `value`, or the handler's returned value.\n */\n\n\nvar valueOrHandler = function valueOrHandler(value) {\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n\n return typeof value === 'function' ? value.apply(void 0, params) : value;\n};\n\nvar getActualTarget = function getActualTarget(event) {\n // NOTE: If the trap is _inside_ a shadow DOM, event.target will always be the\n // shadow host. However, event.target.composedPath() will be an array of\n // nodes \"clicked\" from inner-most (the actual element inside the shadow) to\n // outer-most (the host HTML document). If we have access to composedPath(),\n // then use its first element; otherwise, fall back to event.target (and\n // this only works for an _open_ shadow DOM; otherwise,\n // composedPath()[0] === event.target always).\n return event.target.shadowRoot && typeof event.composedPath === 'function' ? event.composedPath()[0] : event.target;\n};\n\nvar createFocusTrap = function createFocusTrap(elements, userOptions) {\n var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;\n\n var config = _objectSpread2({\n returnFocusOnDeactivate: true,\n escapeDeactivates: true,\n delayInitialFocus: true\n }, userOptions);\n\n var state = {\n // @type {Array}\n containers: [],\n // list of objects identifying the first and last tabbable nodes in all containers/groups in\n // the trap\n // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap\n // is active, but the trap should never get to a state where there isn't at least one group\n // with at least one tabbable node in it (that would lead to an error condition that would\n // result in an error being thrown)\n // @type {Array<{ container: HTMLElement, firstTabbableNode: HTMLElement|null, lastTabbableNode: HTMLElement|null }>}\n tabbableGroups: [],\n nodeFocusedBeforeActivation: null,\n mostRecentlyFocusedNode: null,\n active: false,\n paused: false,\n // timer ID for when delayInitialFocus is true and initial focus in this trap\n // has been delayed during activation\n delayInitialFocusTimer: undefined\n };\n var trap; // eslint-disable-line prefer-const -- some private functions reference it, and its methods reference private functions, so we must declare here and define later\n\n var getOption = function getOption(configOverrideOptions, optionName, configOptionName) {\n return configOverrideOptions && configOverrideOptions[optionName] !== undefined ? configOverrideOptions[optionName] : config[configOptionName || optionName];\n };\n\n var containersContain = function containersContain(element) {\n return !!(element && state.containers.some(function (container) {\n return container.contains(element);\n }));\n };\n /**\n * Gets the node for the given option, which is expected to be an option that\n * can be either a DOM node, a string that is a selector to get a node, `false`\n * (if a node is explicitly NOT given), or a function that returns any of these\n * values.\n * @param {string} optionName\n * @returns {undefined | false | HTMLElement | SVGElement} Returns\n * `undefined` if the option is not specified; `false` if the option\n * resolved to `false` (node explicitly not given); otherwise, the resolved\n * DOM node.\n * @throws {Error} If the option is set, not `false`, and is not, or does not\n * resolve to a node.\n */\n\n\n var getNodeForOption = function getNodeForOption(optionName) {\n var optionValue = config[optionName];\n\n if (typeof optionValue === 'function') {\n for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n params[_key2 - 1] = arguments[_key2];\n }\n\n optionValue = optionValue.apply(void 0, params);\n }\n\n if (!optionValue) {\n if (optionValue === undefined || optionValue === false) {\n return optionValue;\n } // else, empty string (invalid), null (invalid), 0 (invalid)\n\n\n throw new Error(\"`\".concat(optionName, \"` was specified but was not a node, or did not return a node\"));\n }\n\n var node = optionValue; // could be HTMLElement, SVGElement, or non-empty string at this point\n\n if (typeof optionValue === 'string') {\n node = doc.querySelector(optionValue); // resolve to node, or null if fails\n\n if (!node) {\n throw new Error(\"`\".concat(optionName, \"` as selector refers to no known node\"));\n }\n }\n\n return node;\n };\n\n var getInitialFocusNode = function getInitialFocusNode() {\n var node = getNodeForOption('initialFocus'); // false explicitly indicates we want no initialFocus at all\n\n if (node === false) {\n return false;\n }\n\n if (node === undefined) {\n // option not specified: use fallback options\n if (containersContain(doc.activeElement)) {\n node = doc.activeElement;\n } else {\n var firstTabbableGroup = state.tabbableGroups[0];\n var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode; // NOTE: `fallbackFocus` option function cannot return `false` (not supported)\n\n node = firstTabbableNode || getNodeForOption('fallbackFocus');\n }\n }\n\n if (!node) {\n throw new Error('Your focus-trap needs to have at least one focusable element');\n }\n\n return node;\n };\n\n var updateTabbableNodes = function updateTabbableNodes() {\n state.tabbableGroups = state.containers.map(function (container) {\n var tabbableNodes = tabbable(container);\n\n if (tabbableNodes.length > 0) {\n return {\n container: container,\n firstTabbableNode: tabbableNodes[0],\n lastTabbableNode: tabbableNodes[tabbableNodes.length - 1]\n };\n }\n\n return undefined;\n }).filter(function (group) {\n return !!group;\n }); // remove groups with no tabbable nodes\n // throw if no groups have tabbable nodes and we don't have a fallback focus node either\n\n if (state.tabbableGroups.length <= 0 && !getNodeForOption('fallbackFocus') // returning false not supported for this option\n ) {\n throw new Error('Your focus-trap must have at least one container with at least one tabbable node in it at all times');\n }\n };\n\n var tryFocus = function tryFocus(node) {\n if (node === false) {\n return;\n }\n\n if (node === doc.activeElement) {\n return;\n }\n\n if (!node || !node.focus) {\n tryFocus(getInitialFocusNode());\n return;\n }\n\n node.focus({\n preventScroll: !!config.preventScroll\n });\n state.mostRecentlyFocusedNode = node;\n\n if (isSelectableInput(node)) {\n node.select();\n }\n };\n\n var getReturnFocusNode = function getReturnFocusNode(previousActiveElement) {\n var node = getNodeForOption('setReturnFocus', previousActiveElement);\n return node ? node : node === false ? false : previousActiveElement;\n }; // This needs to be done on mousedown and touchstart instead of click\n // so that it precedes the focus event.\n\n\n var checkPointerDown = function checkPointerDown(e) {\n var target = getActualTarget(e);\n\n if (containersContain(target)) {\n // allow the click since it ocurred inside the trap\n return;\n }\n\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n // immediately deactivate the trap\n trap.deactivate({\n // if, on deactivation, we should return focus to the node originally-focused\n // when the trap was activated (or the configured `setReturnFocus` node),\n // then assume it's also OK to return focus to the outside node that was\n // just clicked, causing deactivation, as long as that node is focusable;\n // if it isn't focusable, then return focus to the original node focused\n // on activation (or the configured `setReturnFocus` node)\n // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,\n // which will result in the outside click setting focus to the node\n // that was clicked, whether it's focusable or not; by setting\n // `returnFocus: true`, we'll attempt to re-focus the node originally-focused\n // on activation (or the configured `setReturnFocus` node)\n returnFocus: config.returnFocusOnDeactivate && !isFocusable(target)\n });\n return;\n } // This is needed for mobile devices.\n // (If we'll only let `click` events through,\n // then on mobile they will be blocked anyways if `touchstart` is blocked.)\n\n\n if (valueOrHandler(config.allowOutsideClick, e)) {\n // allow the click outside the trap to take place\n return;\n } // otherwise, prevent the click\n\n\n e.preventDefault();\n }; // In case focus escapes the trap for some strange reason, pull it back in.\n\n\n var checkFocusIn = function checkFocusIn(e) {\n var target = getActualTarget(e);\n var targetContained = containersContain(target); // In Firefox when you Tab out of an iframe the Document is briefly focused.\n\n if (targetContained || target instanceof Document) {\n if (targetContained) {\n state.mostRecentlyFocusedNode = target;\n }\n } else {\n // escaped! pull it back in to where it just left\n e.stopImmediatePropagation();\n tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());\n }\n }; // Hijack Tab events on the first and last focusable nodes of the trap,\n // in order to prevent focus from escaping. If it escapes for even a\n // moment it can end up scrolling the page and causing confusion so we\n // kind of need to capture the action at the keydown phase.\n\n\n var checkTab = function checkTab(e) {\n var target = getActualTarget(e);\n updateTabbableNodes();\n var destinationNode = null;\n\n if (state.tabbableGroups.length > 0) {\n // make sure the target is actually contained in a group\n // NOTE: the target may also be the container itself if it's tabbable\n // with tabIndex='-1' and was given initial focus\n var containerIndex = findIndex(state.tabbableGroups, function (_ref) {\n var container = _ref.container;\n return container.contains(target);\n });\n\n if (containerIndex < 0) {\n // target not found in any group: quite possible focus has escaped the trap,\n // so bring it back in to...\n if (e.shiftKey) {\n // ...the last node in the last group\n destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;\n } else {\n // ...the first node in the first group\n destinationNode = state.tabbableGroups[0].firstTabbableNode;\n }\n } else if (e.shiftKey) {\n // REVERSE\n // is the target the first tabbable node in a group?\n var startOfGroupIndex = findIndex(state.tabbableGroups, function (_ref2) {\n var firstTabbableNode = _ref2.firstTabbableNode;\n return target === firstTabbableNode;\n });\n\n if (startOfGroupIndex < 0 && state.tabbableGroups[containerIndex].container === target) {\n // an exception case where the target is the container itself, in which\n // case, we should handle shift+tab as if focus were on the container's\n // first tabbable node, and go to the last tabbable node of the LAST group\n startOfGroupIndex = containerIndex;\n }\n\n if (startOfGroupIndex >= 0) {\n // YES: then shift+tab should go to the last tabbable node in the\n // previous group (and wrap around to the last tabbable node of\n // the LAST group if it's the first tabbable node of the FIRST group)\n var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1;\n var destinationGroup = state.tabbableGroups[destinationGroupIndex];\n destinationNode = destinationGroup.lastTabbableNode;\n }\n } else {\n // FORWARD\n // is the target the last tabbable node in a group?\n var lastOfGroupIndex = findIndex(state.tabbableGroups, function (_ref3) {\n var lastTabbableNode = _ref3.lastTabbableNode;\n return target === lastTabbableNode;\n });\n\n if (lastOfGroupIndex < 0 && state.tabbableGroups[containerIndex].container === target) {\n // an exception case where the target is the container itself, in which\n // case, we should handle tab as if focus were on the container's\n // last tabbable node, and go to the first tabbable node of the FIRST group\n lastOfGroupIndex = containerIndex;\n }\n\n if (lastOfGroupIndex >= 0) {\n // YES: then tab should go to the first tabbable node in the next\n // group (and wrap around to the first tabbable node of the FIRST\n // group if it's the last tabbable node of the LAST group)\n var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;\n\n var _destinationGroup = state.tabbableGroups[_destinationGroupIndex];\n destinationNode = _destinationGroup.firstTabbableNode;\n }\n }\n } else {\n // NOTE: the fallbackFocus option does not support returning false to opt-out\n destinationNode = getNodeForOption('fallbackFocus');\n }\n\n if (destinationNode) {\n e.preventDefault();\n tryFocus(destinationNode);\n } // else, let the browser take care of [shift+]tab and move the focus\n\n };\n\n var checkKey = function checkKey(e) {\n if (isEscapeEvent(e) && valueOrHandler(config.escapeDeactivates, e) !== false) {\n e.preventDefault();\n trap.deactivate();\n return;\n }\n\n if (isTabEvent(e)) {\n checkTab(e);\n return;\n }\n };\n\n var checkClick = function checkClick(e) {\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n return;\n }\n\n var target = getActualTarget(e);\n\n if (containersContain(target)) {\n return;\n }\n\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n\n e.preventDefault();\n e.stopImmediatePropagation();\n }; //\n // EVENT LISTENERS\n //\n\n\n var addListeners = function addListeners() {\n if (!state.active) {\n return;\n } // There can be only one listening focus trap at a time\n\n\n activeFocusTraps.activateTrap(trap); // Delay ensures that the focused element doesn't capture the event\n // that caused the focus trap activation.\n\n state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function () {\n tryFocus(getInitialFocusNode());\n }) : tryFocus(getInitialFocusNode());\n doc.addEventListener('focusin', checkFocusIn, true);\n doc.addEventListener('mousedown', checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener('touchstart', checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener('click', checkClick, {\n capture: true,\n passive: false\n });\n doc.addEventListener('keydown', checkKey, {\n capture: true,\n passive: false\n });\n return trap;\n };\n\n var removeListeners = function removeListeners() {\n if (!state.active) {\n return;\n }\n\n doc.removeEventListener('focusin', checkFocusIn, true);\n doc.removeEventListener('mousedown', checkPointerDown, true);\n doc.removeEventListener('touchstart', checkPointerDown, true);\n doc.removeEventListener('click', checkClick, true);\n doc.removeEventListener('keydown', checkKey, true);\n return trap;\n }; //\n // TRAP DEFINITION\n //\n\n\n trap = {\n activate: function activate(activateOptions) {\n if (state.active) {\n return this;\n }\n\n var onActivate = getOption(activateOptions, 'onActivate');\n var onPostActivate = getOption(activateOptions, 'onPostActivate');\n var checkCanFocusTrap = getOption(activateOptions, 'checkCanFocusTrap');\n\n if (!checkCanFocusTrap) {\n updateTabbableNodes();\n }\n\n state.active = true;\n state.paused = false;\n state.nodeFocusedBeforeActivation = doc.activeElement;\n\n if (onActivate) {\n onActivate();\n }\n\n var finishActivation = function finishActivation() {\n if (checkCanFocusTrap) {\n updateTabbableNodes();\n }\n\n addListeners();\n\n if (onPostActivate) {\n onPostActivate();\n }\n };\n\n if (checkCanFocusTrap) {\n checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);\n return this;\n }\n\n finishActivation();\n return this;\n },\n deactivate: function deactivate(deactivateOptions) {\n if (!state.active) {\n return this;\n }\n\n clearTimeout(state.delayInitialFocusTimer); // noop if undefined\n\n state.delayInitialFocusTimer = undefined;\n removeListeners();\n state.active = false;\n state.paused = false;\n activeFocusTraps.deactivateTrap(trap);\n var onDeactivate = getOption(deactivateOptions, 'onDeactivate');\n var onPostDeactivate = getOption(deactivateOptions, 'onPostDeactivate');\n var checkCanReturnFocus = getOption(deactivateOptions, 'checkCanReturnFocus');\n\n if (onDeactivate) {\n onDeactivate();\n }\n\n var returnFocus = getOption(deactivateOptions, 'returnFocus', 'returnFocusOnDeactivate');\n\n var finishDeactivation = function finishDeactivation() {\n delay(function () {\n if (returnFocus) {\n tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));\n }\n\n if (onPostDeactivate) {\n onPostDeactivate();\n }\n });\n };\n\n if (returnFocus && checkCanReturnFocus) {\n checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);\n return this;\n }\n\n finishDeactivation();\n return this;\n },\n pause: function pause() {\n if (state.paused || !state.active) {\n return this;\n }\n\n state.paused = true;\n removeListeners();\n return this;\n },\n unpause: function unpause() {\n if (!state.paused || !state.active) {\n return this;\n }\n\n state.paused = false;\n updateTabbableNodes();\n addListeners();\n return this;\n },\n updateContainerElements: function updateContainerElements(containerElements) {\n var elementsAsArray = [].concat(containerElements).filter(Boolean);\n state.containers = elementsAsArray.map(function (element) {\n return typeof element === 'string' ? doc.querySelector(element) : element;\n });\n\n if (state.active) {\n updateTabbableNodes();\n }\n\n return this;\n }\n }; // initialize container elements\n\n trap.updateContainerElements(elements);\n return trap;\n};\n\nexport { createFocusTrap };\n//# sourceMappingURL=focus-trap.esm.js.map\n","/*!\n* tabbable 5.3.3\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/\nvar candidateSelectors = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]:not(slot)', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])', 'details>summary:first-of-type', 'details'];\nvar candidateSelector = /* #__PURE__ */candidateSelectors.join(',');\nvar NoElement = typeof Element === 'undefined';\nvar matches = NoElement ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\nvar getRootNode = !NoElement && Element.prototype.getRootNode ? function (element) {\n return element.getRootNode();\n} : function (element) {\n return element.ownerDocument;\n};\n/**\n * @param {Element} el container to check in\n * @param {boolean} includeContainer add container to check\n * @param {(node: Element) => boolean} filter filter candidates\n * @returns {Element[]}\n */\n\nvar getCandidates = function getCandidates(el, includeContainer, filter) {\n var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n\n candidates = candidates.filter(filter);\n return candidates;\n};\n/**\n * @callback GetShadowRoot\n * @param {Element} element to check for shadow root\n * @returns {ShadowRoot|boolean} ShadowRoot if available or boolean indicating if a shadowRoot is attached but not available.\n */\n\n/**\n * @callback ShadowRootFilter\n * @param {Element} shadowHostNode the element which contains shadow content\n * @returns {boolean} true if a shadow root could potentially contain valid candidates.\n */\n\n/**\n * @typedef {Object} CandidatesScope\n * @property {Element} scope contains inner candidates\n * @property {Element[]} candidates\n */\n\n/**\n * @typedef {Object} IterativeOptions\n * @property {GetShadowRoot|boolean} getShadowRoot true if shadow support is enabled; falsy if not;\n * if a function, implies shadow support is enabled and either returns the shadow root of an element\n * or a boolean stating if it has an undisclosed shadow root\n * @property {(node: Element) => boolean} filter filter candidates\n * @property {boolean} flatten if true then result will flatten any CandidatesScope into the returned list\n * @property {ShadowRootFilter} shadowRootFilter filter shadow roots;\n */\n\n/**\n * @param {Element[]} elements list of element containers to match candidates from\n * @param {boolean} includeContainer add container list to check\n * @param {IterativeOptions} options\n * @returns {Array.}\n */\n\n\nvar getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {\n var candidates = [];\n var elementsToCheck = Array.from(elements);\n\n while (elementsToCheck.length) {\n var element = elementsToCheck.shift();\n\n if (element.tagName === 'SLOT') {\n // add shadow dom slot scope (slot itself cannot be focusable)\n var assigned = element.assignedElements();\n var content = assigned.length ? assigned : element.children;\n var nestedCandidates = getCandidatesIteratively(content, true, options);\n\n if (options.flatten) {\n candidates.push.apply(candidates, nestedCandidates);\n } else {\n candidates.push({\n scope: element,\n candidates: nestedCandidates\n });\n }\n } else {\n // check candidate element\n var validCandidate = matches.call(element, candidateSelector);\n\n if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {\n candidates.push(element);\n } // iterate over shadow content if possible\n\n\n var shadowRoot = element.shadowRoot || // check for an undisclosed shadow\n typeof options.getShadowRoot === 'function' && options.getShadowRoot(element);\n var validShadowRoot = !options.shadowRootFilter || options.shadowRootFilter(element);\n\n if (shadowRoot && validShadowRoot) {\n // add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed\n // shadow exists, so look at light dom children as fallback BUT create a scope for any\n // child candidates found because they're likely slotted elements (elements that are\n // children of the web component element (which has the shadow), in the light dom, but\n // slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,\n // _after_ we return from this recursive call\n var _nestedCandidates = getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);\n\n if (options.flatten) {\n candidates.push.apply(candidates, _nestedCandidates);\n } else {\n candidates.push({\n scope: element,\n candidates: _nestedCandidates\n });\n }\n } else {\n // there's not shadow so just dig into the element's (light dom) children\n // __without__ giving the element special scope treatment\n elementsToCheck.unshift.apply(elementsToCheck, element.children);\n }\n }\n }\n\n return candidates;\n};\n\nvar getTabindex = function getTabindex(node, isScope) {\n if (node.tabIndex < 0) {\n // in Chrome,
,