{"version":3,"file":"DhRJZj35.js","sources":["../../../../../../bootstrap-vue-next/dist/useSafeScrollLock-BAPMIjjV.mjs","../../../../../../bootstrap-vue-next/dist/useModalManager-B5E0Qeku.mjs","../../../../../../bootstrap-vue-next/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-DESSsMw4.mjs"],"sourcesContent":["import { ref, computed, watch, readonly, toRef, onMounted, nextTick, useId, toValue as toValue$1, onUnmounted } from \"vue\";\nimport { i as unrefElement, b as useMutationObserver, n as useScrollLock } from \"./index-DngH9Pjm.mjs\";\nimport { t as toValue, d as notNullish, a as tryOnScopeDispose } from \"./index-DlGgXMQF.mjs\";\n/*!\n* tabbable 6.2.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/\nvar candidateSelectors = [\"input:not([inert])\", \"select:not([inert])\", \"textarea:not([inert])\", \"a[href]:not([inert])\", \"button:not([inert])\", \"[tabindex]:not(slot):not([inert])\", \"audio[controls]:not([inert])\", \"video[controls]:not([inert])\", '[contenteditable]:not([contenteditable=\"false\"]):not([inert])', \"details>summary:first-of-type:not([inert])\", \"details:not([inert])\"];\nvar candidateSelector = /* @__PURE__ */ candidateSelectors.join(\",\");\nvar NoElement = typeof Element === \"undefined\";\nvar matches = NoElement ? function() {\n} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\nvar getRootNode = !NoElement && Element.prototype.getRootNode ? function(element) {\n var _element$getRootNode;\n return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);\n} : function(element) {\n return element === null || element === void 0 ? void 0 : element.ownerDocument;\n};\nvar isInert = function isInert2(node, lookUp) {\n var _node$getAttribute;\n if (lookUp === void 0) {\n lookUp = true;\n }\n var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, \"inert\");\n var inert = inertAtt === \"\" || inertAtt === \"true\";\n var result = inert || lookUp && node && isInert2(node.parentNode);\n return result;\n};\nvar isContentEditable = function isContentEditable2(node) {\n var _node$getAttribute2;\n var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, \"contenteditable\");\n return attValue === \"\" || attValue === \"true\";\n};\nvar getCandidates = function getCandidates2(el, includeContainer, filter) {\n if (isInert(el)) {\n return [];\n }\n var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\nvar getCandidatesIteratively = function getCandidatesIteratively2(elements, includeContainer, options) {\n var candidates = [];\n var elementsToCheck = Array.from(elements);\n while (elementsToCheck.length) {\n var element = elementsToCheck.shift();\n if (isInert(element, false)) {\n continue;\n }\n if (element.tagName === \"SLOT\") {\n var assigned = element.assignedElements();\n var content = assigned.length ? assigned : element.children;\n var nestedCandidates = getCandidatesIteratively2(content, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: nestedCandidates\n });\n }\n } else {\n var validCandidate = matches.call(element, candidateSelector);\n if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {\n candidates.push(element);\n }\n var shadowRoot = element.shadowRoot || // check for an undisclosed shadow\n typeof options.getShadowRoot === \"function\" && options.getShadowRoot(element);\n var validShadowRoot = !isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));\n if (shadowRoot && validShadowRoot) {\n var _nestedCandidates = getCandidatesIteratively2(shadowRoot === true ? element.children : shadowRoot.children, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, _nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: _nestedCandidates\n });\n }\n } else {\n elementsToCheck.unshift.apply(elementsToCheck, element.children);\n }\n }\n }\n return candidates;\n};\nvar hasTabIndex = function hasTabIndex2(node) {\n return !isNaN(parseInt(node.getAttribute(\"tabindex\"), 10));\n};\nvar getTabIndex = function getTabIndex2(node) {\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (node.tabIndex < 0) {\n if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) {\n return 0;\n }\n }\n return node.tabIndex;\n};\nvar getSortOrderTabIndex = function getSortOrderTabIndex2(node, isScope) {\n var tabIndex = getTabIndex(node);\n if (tabIndex < 0 && isScope && !hasTabIndex(node)) {\n return 0;\n }\n return tabIndex;\n};\nvar sortOrderedTabbables = function sortOrderedTabbables2(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n};\nvar isInput = function isInput2(node) {\n return node.tagName === \"INPUT\";\n};\nvar isHiddenInput = function isHiddenInput2(node) {\n return isInput(node) && node.type === \"hidden\";\n};\nvar isDetailsWithSummary = function isDetailsWithSummary2(node) {\n var r = node.tagName === \"DETAILS\" && Array.prototype.slice.apply(node.children).some(function(child) {\n return child.tagName === \"SUMMARY\";\n });\n return r;\n};\nvar getCheckedRadio = function getCheckedRadio2(nodes, form) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked && nodes[i].form === form) {\n return nodes[i];\n }\n }\n};\nvar isTabbableRadio = function isTabbableRadio2(node) {\n if (!node.name) {\n return true;\n }\n var radioScope = node.form || getRootNode(node);\n var queryRadios = function queryRadios2(name) {\n return radioScope.querySelectorAll('input[type=\"radio\"][name=\"' + name + '\"]');\n };\n var radioSet;\n if (typeof window !== \"undefined\" && typeof window.CSS !== \"undefined\" && typeof window.CSS.escape === \"function\") {\n radioSet = queryRadios(window.CSS.escape(node.name));\n } else {\n try {\n radioSet = queryRadios(node.name);\n } catch (err) {\n console.error(\"Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s\", err.message);\n return false;\n }\n }\n var checked = getCheckedRadio(radioSet, node.form);\n return !checked || checked === node;\n};\nvar isRadio = function isRadio2(node) {\n return isInput(node) && node.type === \"radio\";\n};\nvar isNonTabbableRadio = function isNonTabbableRadio2(node) {\n return isRadio(node) && !isTabbableRadio(node);\n};\nvar isNodeAttached = function isNodeAttached2(node) {\n var _nodeRoot;\n var nodeRoot = node && getRootNode(node);\n var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;\n var attached = false;\n if (nodeRoot && nodeRoot !== node) {\n var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;\n attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node));\n while (!attached && nodeRootHost) {\n var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;\n nodeRoot = getRootNode(nodeRootHost);\n nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;\n attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));\n }\n }\n return attached;\n};\nvar isZeroArea = function isZeroArea2(node) {\n var _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height;\n return width === 0 && height === 0;\n};\nvar isHidden = function isHidden2(node, _ref) {\n var displayCheck = _ref.displayCheck, getShadowRoot = _ref.getShadowRoot;\n if (getComputedStyle(node).visibility === \"hidden\") {\n return true;\n }\n var isDirectSummary = matches.call(node, \"details>summary:first-of-type\");\n var nodeUnderDetails = isDirectSummary ? node.parentElement : node;\n if (matches.call(nodeUnderDetails, \"details:not([open]) *\")) {\n return true;\n }\n if (!displayCheck || displayCheck === \"full\" || displayCheck === \"legacy-full\") {\n if (typeof getShadowRoot === \"function\") {\n var originalNode = node;\n while (node) {\n var parentElement = node.parentElement;\n var rootNode = getRootNode(node);\n if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true) {\n return isZeroArea(node);\n } else if (node.assignedSlot) {\n node = node.assignedSlot;\n } else if (!parentElement && rootNode !== node.ownerDocument) {\n node = rootNode.host;\n } else {\n node = parentElement;\n }\n }\n node = originalNode;\n }\n if (isNodeAttached(node)) {\n return !node.getClientRects().length;\n }\n if (displayCheck !== \"legacy-full\") {\n return true;\n }\n } else if (displayCheck === \"non-zero-area\") {\n return isZeroArea(node);\n }\n return false;\n};\nvar isDisabledFromFieldset = function isDisabledFromFieldset2(node) {\n if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {\n var parentNode = node.parentElement;\n while (parentNode) {\n if (parentNode.tagName === \"FIELDSET\" && parentNode.disabled) {\n for (var i = 0; i < parentNode.children.length; i++) {\n var child = parentNode.children.item(i);\n if (child.tagName === \"LEGEND\") {\n return matches.call(parentNode, \"fieldset[disabled] *\") ? true : !child.contains(node);\n }\n }\n return true;\n }\n parentNode = parentNode.parentElement;\n }\n }\n return false;\n};\nvar isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable2(options, node) {\n if (node.disabled || // we must do an inert look up to filter out any elements inside an inert ancestor\n // because we're limited in the type of selectors we can use in JSDom (see related\n // note related to `candidateSelectors`)\n isInert(node) || isHiddenInput(node) || isHidden(node, options) || // For a details element with a summary, the summary element gets the focus\n isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {\n return false;\n }\n return true;\n};\nvar isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable2(options, node) {\n if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {\n return false;\n }\n return true;\n};\nvar isValidShadowRootTabbable = function isValidShadowRootTabbable2(shadowHostNode) {\n var tabIndex = parseInt(shadowHostNode.getAttribute(\"tabindex\"), 10);\n if (isNaN(tabIndex) || tabIndex >= 0) {\n return true;\n }\n return false;\n};\nvar sortByOrder = function sortByOrder2(candidates) {\n var regularTabbables = [];\n var orderedTabbables = [];\n candidates.forEach(function(item, i) {\n var isScope = !!item.scopeParent;\n var element = isScope ? item.scopeParent : item;\n var candidateTabindex = getSortOrderTabIndex(element, isScope);\n var elements = isScope ? sortByOrder2(item.candidates) : element;\n if (candidateTabindex === 0) {\n isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n item,\n isScope,\n content: elements\n });\n }\n });\n return orderedTabbables.sort(sortOrderedTabbables).reduce(function(acc, sortable) {\n sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);\n return acc;\n }, []).concat(regularTabbables);\n};\nvar tabbable = function tabbable2(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorTabbable.bind(null, options),\n flatten: false,\n getShadowRoot: options.getShadowRoot,\n shadowRootFilter: isValidShadowRootTabbable\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));\n }\n return sortByOrder(candidates);\n};\nvar focusable = function focusable2(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorFocusable.bind(null, options),\n flatten: true,\n getShadowRoot: options.getShadowRoot\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));\n }\n return candidates;\n};\nvar isTabbable = function isTabbable2(node, options) {\n options = options || {};\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (matches.call(node, candidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorTabbable(options, node);\n};\nvar focusableCandidateSelector = /* @__PURE__ */ candidateSelectors.concat(\"iframe\").join(\",\");\nvar isFocusable = function isFocusable2(node, options) {\n options = options || {};\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (matches.call(node, focusableCandidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorFocusable(options, node);\n};\n/*!\n* focus-trap 7.5.4\n* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE\n*/\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function(r2) {\n return Object.getOwnPropertyDescriptor(e, r2).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {\n _defineProperty(e, r2, t[r2]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {\n Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));\n });\n }\n return e;\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== void 0) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\nvar activeFocusTraps = {\n activateTrap: function activateTrap(trapStack, trap) {\n if (trapStack.length > 0) {\n var activeTrap = trapStack[trapStack.length - 1];\n if (activeTrap !== trap) {\n activeTrap.pause();\n }\n }\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex === -1) {\n trapStack.push(trap);\n } else {\n trapStack.splice(trapIndex, 1);\n trapStack.push(trap);\n }\n },\n deactivateTrap: function deactivateTrap(trapStack, trap) {\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex !== -1) {\n trapStack.splice(trapIndex, 1);\n }\n if (trapStack.length > 0) {\n trapStack[trapStack.length - 1].unpause();\n }\n }\n};\nvar isSelectableInput = function isSelectableInput2(node) {\n return node.tagName && node.tagName.toLowerCase() === \"input\" && typeof node.select === \"function\";\n};\nvar isEscapeEvent = function isEscapeEvent2(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === \"Escape\" || (e === null || e === void 0 ? void 0 : e.key) === \"Esc\" || (e === null || e === void 0 ? void 0 : e.keyCode) === 27;\n};\nvar isTabEvent = function isTabEvent2(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === \"Tab\" || (e === null || e === void 0 ? void 0 : e.keyCode) === 9;\n};\nvar isKeyForward = function isKeyForward2(e) {\n return isTabEvent(e) && !e.shiftKey;\n};\nvar isKeyBackward = function isKeyBackward2(e) {\n return isTabEvent(e) && e.shiftKey;\n};\nvar delay = function delay2(fn) {\n return setTimeout(fn, 0);\n};\nvar findIndex = function findIndex2(arr, fn) {\n var idx = -1;\n arr.every(function(value, i) {\n if (fn(value)) {\n idx = i;\n return false;\n }\n return true;\n });\n return idx;\n};\nvar valueOrHandler = function valueOrHandler2(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 return typeof value === \"function\" ? value.apply(void 0, params) : value;\n};\nvar getActualTarget = function getActualTarget2(event) {\n return event.target.shadowRoot && typeof event.composedPath === \"function\" ? event.composedPath()[0] : event.target;\n};\nvar internalTrapStack = [];\nvar createFocusTrap = function createFocusTrap2(elements, userOptions) {\n var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;\n var trapStack = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.trapStack) || internalTrapStack;\n var config = _objectSpread2({\n returnFocusOnDeactivate: true,\n escapeDeactivates: true,\n delayInitialFocus: true,\n isKeyForward,\n isKeyBackward\n }, userOptions);\n var state = {\n // containers given to createFocusTrap()\n // @type {Array}\n containers: [],\n // list of objects identifying tabbable nodes in `containers` in 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<{\n // container: HTMLElement,\n // tabbableNodes: Array, // empty if none\n // focusableNodes: Array, // empty if none\n // posTabIndexesFound: boolean,\n // firstTabbableNode: HTMLElement|undefined,\n // lastTabbableNode: HTMLElement|undefined,\n // firstDomTabbableNode: HTMLElement|undefined,\n // lastDomTabbableNode: HTMLElement|undefined,\n // nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined\n // }>}\n containerGroups: [],\n // same order/length as `containers` list\n // references to objects in `containerGroups`, but only those that actually have\n // tabbable nodes in them\n // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__\n // the same length\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: void 0,\n // the most recent KeyboardEvent for the configured nav key (typically [SHIFT+]TAB), if any\n recentNavEvent: void 0\n };\n var trap;\n var getOption = function getOption2(configOverrideOptions, optionName, configOptionName) {\n return configOverrideOptions && configOverrideOptions[optionName] !== void 0 ? configOverrideOptions[optionName] : config[configOptionName || optionName];\n };\n var findContainerIndex = function findContainerIndex2(element, event) {\n var composedPath = typeof (event === null || event === void 0 ? void 0 : event.composedPath) === \"function\" ? event.composedPath() : void 0;\n return state.containerGroups.findIndex(function(_ref) {\n var container = _ref.container, tabbableNodes = _ref.tabbableNodes;\n return container.contains(element) || // fall back to explicit tabbable search which will take into consideration any\n // web components if the `tabbableOptions.getShadowRoot` option was used for\n // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't\n // look inside web components even if open)\n (composedPath === null || composedPath === void 0 ? void 0 : composedPath.includes(container)) || tabbableNodes.find(function(node) {\n return node === element;\n });\n });\n };\n var getNodeForOption = function getNodeForOption2(optionName) {\n var optionValue = config[optionName];\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 optionValue = optionValue.apply(void 0, params);\n }\n if (optionValue === true) {\n optionValue = void 0;\n }\n if (!optionValue) {\n if (optionValue === void 0 || optionValue === false) {\n return optionValue;\n }\n throw new Error(\"`\".concat(optionName, \"` was specified but was not a node, or did not return a node\"));\n }\n var node = optionValue;\n if (typeof optionValue === \"string\") {\n node = doc.querySelector(optionValue);\n if (!node) {\n throw new Error(\"`\".concat(optionName, \"` as selector refers to no known node\"));\n }\n }\n return node;\n };\n var getInitialFocusNode = function getInitialFocusNode2() {\n var node = getNodeForOption(\"initialFocus\");\n if (node === false) {\n return false;\n }\n if (node === void 0 || !isFocusable(node, config.tabbableOptions)) {\n if (findContainerIndex(doc.activeElement) >= 0) {\n node = doc.activeElement;\n } else {\n var firstTabbableGroup = state.tabbableGroups[0];\n var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;\n node = firstTabbableNode || getNodeForOption(\"fallbackFocus\");\n }\n }\n if (!node) {\n throw new Error(\"Your focus-trap needs to have at least one focusable element\");\n }\n return node;\n };\n var updateTabbableNodes = function updateTabbableNodes2() {\n state.containerGroups = state.containers.map(function(container) {\n var tabbableNodes = tabbable(container, config.tabbableOptions);\n var focusableNodes = focusable(container, config.tabbableOptions);\n var firstTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[0] : void 0;\n var lastTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : void 0;\n var firstDomTabbableNode = focusableNodes.find(function(node) {\n return isTabbable(node);\n });\n var lastDomTabbableNode = focusableNodes.slice().reverse().find(function(node) {\n return isTabbable(node);\n });\n var posTabIndexesFound = !!tabbableNodes.find(function(node) {\n return getTabIndex(node) > 0;\n });\n return {\n container,\n tabbableNodes,\n focusableNodes,\n /** True if at least one node with positive `tabindex` was found in this container. */\n posTabIndexesFound,\n /** First tabbable node in container, __tabindex__ order; `undefined` if none. */\n firstTabbableNode,\n /** Last tabbable node in container, __tabindex__ order; `undefined` if none. */\n lastTabbableNode,\n // NOTE: DOM order is NOT NECESSARILY \"document position\" order, but figuring that out\n // would require more than just https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // because that API doesn't work with Shadow DOM as well as it should (@see\n // https://github.com/whatwg/dom/issues/320) and since this first/last is only needed, so far,\n // to address an edge case related to positive tabindex support, this seems like a much easier,\n // \"close enough most of the time\" alternative for positive tabindexes which should generally\n // be avoided anyway...\n /** First tabbable node in container, __DOM__ order; `undefined` if none. */\n firstDomTabbableNode,\n /** Last tabbable node in container, __DOM__ order; `undefined` if none. */\n lastDomTabbableNode,\n /**\n * Finds the __tabbable__ node that follows the given node in the specified direction,\n * in this container, if any.\n * @param {HTMLElement} node\n * @param {boolean} [forward] True if going in forward tab order; false if going\n * in reverse.\n * @returns {HTMLElement|undefined} The next tabbable node, if any.\n */\n nextTabbableNode: function nextTabbableNode(node) {\n var forward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;\n var nodeIdx = tabbableNodes.indexOf(node);\n if (nodeIdx < 0) {\n if (forward) {\n return focusableNodes.slice(focusableNodes.indexOf(node) + 1).find(function(el) {\n return isTabbable(el);\n });\n }\n return focusableNodes.slice(0, focusableNodes.indexOf(node)).reverse().find(function(el) {\n return isTabbable(el);\n });\n }\n return tabbableNodes[nodeIdx + (forward ? 1 : -1)];\n }\n };\n });\n state.tabbableGroups = state.containerGroups.filter(function(group) {\n return group.tabbableNodes.length > 0;\n });\n if (state.tabbableGroups.length <= 0 && !getNodeForOption(\"fallbackFocus\")) {\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 if (state.containerGroups.find(function(g) {\n return g.posTabIndexesFound;\n }) && state.containerGroups.length > 1) {\n throw new Error(\"At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.\");\n }\n };\n var getActiveElement = function getActiveElement2(el) {\n var activeElement = el.activeElement;\n if (!activeElement) {\n return;\n }\n if (activeElement.shadowRoot && activeElement.shadowRoot.activeElement !== null) {\n return getActiveElement2(activeElement.shadowRoot);\n }\n return activeElement;\n };\n var tryFocus = function tryFocus2(node) {\n if (node === false) {\n return;\n }\n if (node === getActiveElement(document)) {\n return;\n }\n if (!node || !node.focus) {\n tryFocus2(getInitialFocusNode());\n return;\n }\n node.focus({\n preventScroll: !!config.preventScroll\n });\n state.mostRecentlyFocusedNode = node;\n if (isSelectableInput(node)) {\n node.select();\n }\n };\n var getReturnFocusNode = function getReturnFocusNode2(previousActiveElement) {\n var node = getNodeForOption(\"setReturnFocus\", previousActiveElement);\n return node ? node : node === false ? false : previousActiveElement;\n };\n var findNextNavNode = function findNextNavNode2(_ref2) {\n var target = _ref2.target, event = _ref2.event, _ref2$isBackward = _ref2.isBackward, isBackward = _ref2$isBackward === void 0 ? false : _ref2$isBackward;\n target = target || getActualTarget(event);\n updateTabbableNodes();\n var destinationNode = null;\n if (state.tabbableGroups.length > 0) {\n var containerIndex = findContainerIndex(target, event);\n var containerGroup = containerIndex >= 0 ? state.containerGroups[containerIndex] : void 0;\n if (containerIndex < 0) {\n if (isBackward) {\n destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;\n } else {\n destinationNode = state.tabbableGroups[0].firstTabbableNode;\n }\n } else if (isBackward) {\n var startOfGroupIndex = findIndex(state.tabbableGroups, function(_ref3) {\n var firstTabbableNode = _ref3.firstTabbableNode;\n return target === firstTabbableNode;\n });\n if (startOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {\n startOfGroupIndex = containerIndex;\n }\n if (startOfGroupIndex >= 0) {\n var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1;\n var destinationGroup = state.tabbableGroups[destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? destinationGroup.lastTabbableNode : destinationGroup.lastDomTabbableNode;\n } else if (!isTabEvent(event)) {\n destinationNode = containerGroup.nextTabbableNode(target, false);\n }\n } else {\n var lastOfGroupIndex = findIndex(state.tabbableGroups, function(_ref4) {\n var lastTabbableNode = _ref4.lastTabbableNode;\n return target === lastTabbableNode;\n });\n if (lastOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {\n lastOfGroupIndex = containerIndex;\n }\n if (lastOfGroupIndex >= 0) {\n var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;\n var _destinationGroup = state.tabbableGroups[_destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? _destinationGroup.firstTabbableNode : _destinationGroup.firstDomTabbableNode;\n } else if (!isTabEvent(event)) {\n destinationNode = containerGroup.nextTabbableNode(target);\n }\n }\n } else {\n destinationNode = getNodeForOption(\"fallbackFocus\");\n }\n return destinationNode;\n };\n var checkPointerDown = function checkPointerDown2(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n trap.deactivate({\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 (and if not focusable, to \"nothing\"); by setting\n // `returnFocus: true`, we'll attempt to re-focus the node originally-focused\n // on activation (or the configured `setReturnFocus` node), whether the\n // outside click was on a focusable node or not\n returnFocus: config.returnFocusOnDeactivate\n });\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n };\n var checkFocusIn = function checkFocusIn2(event) {\n var target = getActualTarget(event);\n var targetContained = findContainerIndex(target, event) >= 0;\n if (targetContained || target instanceof Document) {\n if (targetContained) {\n state.mostRecentlyFocusedNode = target;\n }\n } else {\n event.stopImmediatePropagation();\n var nextNode;\n var navAcrossContainers = true;\n if (state.mostRecentlyFocusedNode) {\n if (getTabIndex(state.mostRecentlyFocusedNode) > 0) {\n var mruContainerIdx = findContainerIndex(state.mostRecentlyFocusedNode);\n var tabbableNodes = state.containerGroups[mruContainerIdx].tabbableNodes;\n if (tabbableNodes.length > 0) {\n var mruTabIdx = tabbableNodes.findIndex(function(node) {\n return node === state.mostRecentlyFocusedNode;\n });\n if (mruTabIdx >= 0) {\n if (config.isKeyForward(state.recentNavEvent)) {\n if (mruTabIdx + 1 < tabbableNodes.length) {\n nextNode = tabbableNodes[mruTabIdx + 1];\n navAcrossContainers = false;\n }\n } else {\n if (mruTabIdx - 1 >= 0) {\n nextNode = tabbableNodes[mruTabIdx - 1];\n navAcrossContainers = false;\n }\n }\n }\n }\n } else {\n if (!state.containerGroups.some(function(g) {\n return g.tabbableNodes.some(function(n) {\n return getTabIndex(n) > 0;\n });\n })) {\n navAcrossContainers = false;\n }\n }\n } else {\n navAcrossContainers = false;\n }\n if (navAcrossContainers) {\n nextNode = findNextNavNode({\n // move FROM the MRU node, not event-related node (which will be the node that is\n // outside the trap causing the focus escape we're trying to fix)\n target: state.mostRecentlyFocusedNode,\n isBackward: config.isKeyBackward(state.recentNavEvent)\n });\n }\n if (nextNode) {\n tryFocus(nextNode);\n } else {\n tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());\n }\n }\n state.recentNavEvent = void 0;\n };\n var checkKeyNav = function checkKeyNav2(event) {\n var isBackward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n state.recentNavEvent = event;\n var destinationNode = findNextNavNode({\n event,\n isBackward\n });\n if (destinationNode) {\n if (isTabEvent(event)) {\n event.preventDefault();\n }\n tryFocus(destinationNode);\n }\n };\n var checkKey = function checkKey2(event) {\n if (isEscapeEvent(event) && valueOrHandler(config.escapeDeactivates, event) !== false) {\n event.preventDefault();\n trap.deactivate();\n return;\n }\n if (config.isKeyForward(event) || config.isKeyBackward(event)) {\n checkKeyNav(event, config.isKeyBackward(event));\n }\n };\n var checkClick = function checkClick2(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n var addListeners = function addListeners2() {\n if (!state.active) {\n return;\n }\n activeFocusTraps.activateTrap(trapStack, trap);\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 var removeListeners = function removeListeners2() {\n if (!state.active) {\n return;\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 var checkDomRemoval = function checkDomRemoval2(mutations) {\n var isFocusedNodeRemoved = mutations.some(function(mutation) {\n var removedNodes = Array.from(mutation.removedNodes);\n return removedNodes.some(function(node) {\n return node === state.mostRecentlyFocusedNode;\n });\n });\n if (isFocusedNodeRemoved) {\n tryFocus(getInitialFocusNode());\n }\n };\n var mutationObserver = typeof window !== \"undefined\" && \"MutationObserver\" in window ? new MutationObserver(checkDomRemoval) : void 0;\n var updateObservedNodes = function updateObservedNodes2() {\n if (!mutationObserver) {\n return;\n }\n mutationObserver.disconnect();\n if (state.active && !state.paused) {\n state.containers.map(function(container) {\n mutationObserver.observe(container, {\n subtree: true,\n childList: true\n });\n });\n }\n };\n trap = {\n get active() {\n return state.active;\n },\n get paused() {\n return state.paused;\n },\n activate: function activate(activateOptions) {\n if (state.active) {\n return this;\n }\n var onActivate = getOption(activateOptions, \"onActivate\");\n var onPostActivate = getOption(activateOptions, \"onPostActivate\");\n var checkCanFocusTrap = getOption(activateOptions, \"checkCanFocusTrap\");\n if (!checkCanFocusTrap) {\n updateTabbableNodes();\n }\n state.active = true;\n state.paused = false;\n state.nodeFocusedBeforeActivation = doc.activeElement;\n onActivate === null || onActivate === void 0 || onActivate();\n var finishActivation = function finishActivation2() {\n if (checkCanFocusTrap) {\n updateTabbableNodes();\n }\n addListeners();\n updateObservedNodes();\n onPostActivate === null || onPostActivate === void 0 || onPostActivate();\n };\n if (checkCanFocusTrap) {\n checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);\n return this;\n }\n finishActivation();\n return this;\n },\n deactivate: function deactivate(deactivateOptions) {\n if (!state.active) {\n return this;\n }\n var options = _objectSpread2({\n onDeactivate: config.onDeactivate,\n onPostDeactivate: config.onPostDeactivate,\n checkCanReturnFocus: config.checkCanReturnFocus\n }, deactivateOptions);\n clearTimeout(state.delayInitialFocusTimer);\n state.delayInitialFocusTimer = void 0;\n removeListeners();\n state.active = false;\n state.paused = false;\n updateObservedNodes();\n activeFocusTraps.deactivateTrap(trapStack, trap);\n var onDeactivate = getOption(options, \"onDeactivate\");\n var onPostDeactivate = getOption(options, \"onPostDeactivate\");\n var checkCanReturnFocus = getOption(options, \"checkCanReturnFocus\");\n var returnFocus = getOption(options, \"returnFocus\", \"returnFocusOnDeactivate\");\n onDeactivate === null || onDeactivate === void 0 || onDeactivate();\n var finishDeactivation = function finishDeactivation2() {\n delay(function() {\n if (returnFocus) {\n tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));\n }\n onPostDeactivate === null || onPostDeactivate === void 0 || onPostDeactivate();\n });\n };\n if (returnFocus && checkCanReturnFocus) {\n checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);\n return this;\n }\n finishDeactivation();\n return this;\n },\n pause: function pause(pauseOptions) {\n if (state.paused || !state.active) {\n return this;\n }\n var onPause = getOption(pauseOptions, \"onPause\");\n var onPostPause = getOption(pauseOptions, \"onPostPause\");\n state.paused = true;\n onPause === null || onPause === void 0 || onPause();\n removeListeners();\n updateObservedNodes();\n onPostPause === null || onPostPause === void 0 || onPostPause();\n return this;\n },\n unpause: function unpause(unpauseOptions) {\n if (!state.paused || !state.active) {\n return this;\n }\n var onUnpause = getOption(unpauseOptions, \"onUnpause\");\n var onPostUnpause = getOption(unpauseOptions, \"onPostUnpause\");\n state.paused = false;\n onUnpause === null || onUnpause === void 0 || onUnpause();\n updateTabbableNodes();\n addListeners();\n updateObservedNodes();\n onPostUnpause === null || onPostUnpause === void 0 || onPostUnpause();\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 if (state.active) {\n updateTabbableNodes();\n }\n updateObservedNodes();\n return this;\n }\n };\n trap.updateContainerElements(elements);\n return trap;\n};\nfunction useFocusTrap(target, options = {}) {\n let trap;\n const { immediate, ...focusTrapOptions } = options;\n const hasFocus = ref(false);\n const isPaused = ref(false);\n const activate = (opts) => trap && trap.activate(opts);\n const deactivate = (opts) => trap && trap.deactivate(opts);\n const pause = () => {\n if (trap) {\n trap.pause();\n isPaused.value = true;\n }\n };\n const unpause = () => {\n if (trap) {\n trap.unpause();\n isPaused.value = false;\n }\n };\n const targets = computed(() => {\n const _targets = toValue(target);\n return (Array.isArray(_targets) ? _targets : [_targets]).map((el) => {\n const _el = toValue(el);\n return typeof _el === \"string\" ? _el : unrefElement(_el);\n }).filter(notNullish);\n });\n watch(\n targets,\n (els) => {\n if (!els.length)\n return;\n trap = createFocusTrap(els, {\n ...focusTrapOptions,\n onActivate() {\n hasFocus.value = true;\n if (options.onActivate)\n options.onActivate();\n },\n onDeactivate() {\n hasFocus.value = false;\n if (options.onDeactivate)\n options.onDeactivate();\n }\n });\n if (immediate)\n activate();\n },\n { flush: \"post\" }\n );\n tryOnScopeDispose(() => deactivate());\n return {\n hasFocus,\n isPaused,\n activate,\n deactivate,\n pause,\n unpause\n };\n}\nconst useActivatedFocusTrap = ({\n element,\n isActive,\n noTrap,\n fallbackFocus\n}, focusTrapOpts = {\n allowOutsideClick: true,\n fallbackFocus: fallbackFocus.ref.value ?? void 0,\n escapeDeactivates: false\n}) => {\n const resolvedIsActive = readonly(toRef(isActive));\n const resolvedNoTrap = readonly(toRef(noTrap));\n const checkNeedsFocus = () => {\n var _a;\n const tabbableElements = (_a = element.value) == null ? void 0 : _a.querySelectorAll(\n `a, button, input, select, textarea, [tabindex]:not([tabindex=\"-1\"]):not(.${fallbackFocus.classSelector})`\n );\n return !tabbableElements || tabbableElements.length === 0;\n };\n const needsFallback = ref(checkNeedsFocus());\n onMounted(() => {\n useMutationObserver(\n element,\n () => {\n needsFallback.value = checkNeedsFocus();\n },\n { childList: true, subtree: true }\n );\n });\n const trap = useFocusTrap(element, focusTrapOpts);\n watch(resolvedIsActive, async (newValue) => {\n await nextTick();\n if (newValue && resolvedNoTrap.value === false) {\n trap.activate();\n } else {\n trap.deactivate();\n }\n });\n watch(resolvedNoTrap, (newValue) => {\n if (newValue === true) {\n trap.deactivate();\n }\n });\n return {\n needsFallback: readonly(needsFallback)\n };\n};\nlet prevousRightPadding = \"\";\nconst lockRegistry = /* @__PURE__ */ new Map();\nconst useSafeScrollLock = (isOpen, bodyScroll) => {\n const resolvedIsOpen = readonly(toRef(isOpen));\n const id = useId();\n const inverseBodyScrollingValue = computed(() => !toValue$1(bodyScroll));\n onMounted(() => {\n lockRegistry.set(id, false);\n const isLocked = useScrollLock(\n document.body,\n resolvedIsOpen.value && inverseBodyScrollingValue.value\n );\n watch(\n [resolvedIsOpen, inverseBodyScrollingValue],\n ([modelVal, bodyVal]) => {\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n const hasLocked = Array.from(lockRegistry.values()).some((val) => val === true);\n const myLocked = modelVal && bodyVal;\n lockRegistry.set(id, myLocked);\n if (myLocked && !hasLocked && !isLocked.value) {\n isLocked.value = true;\n if (scrollBarGap > 0) {\n prevousRightPadding = document.body.style.paddingRight;\n document.body.style.paddingRight = `${scrollBarGap + prevousRightPadding}px`;\n }\n }\n const hasLockedAfter = Array.from(lockRegistry.values()).some((val) => val === true);\n if (hasLocked && !hasLockedAfter) {\n lockRegistry.set(id, false);\n isLocked.value = false;\n document.body.style.paddingRight = prevousRightPadding;\n }\n },\n { immediate: true }\n );\n });\n onUnmounted(() => {\n lockRegistry.delete(id);\n });\n};\nexport {\n useActivatedFocusTrap as a,\n useSafeScrollLock as u\n};\n//# sourceMappingURL=useSafeScrollLock-BAPMIjjV.mjs.map\n","import { h as getSSRHandler, i as unrefElement } from \"./index-DngH9Pjm.mjs\";\nimport { getCurrentInstance, watch, computed, inject } from \"vue\";\nimport { f as modalManagerPluginKey } from \"./keys-DuZp76_V.mjs\";\nimport { a as tryOnScopeDispose } from \"./index-DlGgXMQF.mjs\";\nconst modalOpenClassName = \"modal-open\";\nconst useSharedModalStack = () => {\n const modalManagerPlugin = inject(modalManagerPluginKey);\n const dispose = (modal) => {\n modalManagerPlugin == null ? void 0 : modalManagerPlugin.removeStack(modal);\n modalManagerPlugin == null ? void 0 : modalManagerPlugin.removeRegistry(modal);\n };\n const updateHTMLAttrs = getSSRHandler(\"updateHTMLAttrs\", (selector, attribute, value) => {\n const el = typeof selector === \"string\" ? window == null ? void 0 : window.document.querySelector(selector) : unrefElement(selector);\n if (!el) return;\n if (attribute === \"class\") {\n el.classList.toggle(modalOpenClassName, value === modalOpenClassName);\n } else {\n el.setAttribute(attribute, value);\n }\n });\n tryOnScopeDispose(() => {\n updateHTMLAttrs(\"body\", \"class\", \"\");\n });\n watch(\n () => modalManagerPlugin == null ? void 0 : modalManagerPlugin.countStack.value,\n (newValue) => {\n if (newValue === void 0) return;\n updateHTMLAttrs(\"body\", \"class\", newValue > 0 ? modalOpenClassName : \"\");\n }\n );\n return {\n ...modalManagerPlugin,\n dispose\n };\n};\nconst useModalManager = (modalOpen, initialValue) => {\n const { pushRegistry, pushStack, removeStack, stack, dispose, countStack } = useSharedModalStack();\n const currentModal = getCurrentInstance();\n if (!currentModal || currentModal.type.__name !== \"BModal\") {\n throw new Error(\"useModalManager must only use in BModal component\");\n }\n pushRegistry == null ? void 0 : pushRegistry(currentModal);\n tryOnScopeDispose(() => {\n dispose(currentModal);\n });\n const setInStack = (newValue, oldValue) => {\n if (newValue) {\n pushStack == null ? void 0 : pushStack(currentModal);\n } else if (oldValue && !newValue) {\n removeStack == null ? void 0 : removeStack(currentModal);\n }\n };\n setInStack(initialValue, initialValue);\n watch(modalOpen, setInStack);\n return {\n activePosition: computed(\n () => stack == null ? void 0 : stack.value.findIndex((el) => {\n var _a, _b;\n return ((_a = el.exposed) == null ? void 0 : _a.id) === ((_b = currentModal.exposed) == null ? void 0 : _b.id);\n })\n ),\n activeModalCount: countStack,\n stackWithoutSelf: computed(\n () => (stack == null ? void 0 : stack.value.filter((el) => {\n var _a, _b;\n return ((_a = el.exposed) == null ? void 0 : _a.id) !== ((_b = currentModal.exposed) == null ? void 0 : _b.id);\n })) ?? []\n )\n };\n};\nexport {\n useModalManager as a,\n useSharedModalStack as u\n};\n//# sourceMappingURL=useModalManager-B5E0Qeku.mjs.map\n","import { computed, toValue, defineComponent, mergeModels, useSlots, useModel, ref, watch, openBlock, createBlock, unref, withCtx, createVNode, Transition, mergeProps, withDirectives, createElementVNode, normalizeClass, createElementBlock, renderSlot, normalizeProps, guardReactiveProps, resolveDynamicComponent, createTextVNode, toDisplayString, Fragment, createCommentVNode, vShow, renderList } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-BuoSLvNO.mjs\";\nimport { o as onKeyStroke, e as useFocus, c as useEventListener } from \"./index-DngH9Pjm.mjs\";\nimport { a as useActivatedFocusTrap, u as useSafeScrollLock } from \"./useSafeScrollLock-BAPMIjjV.mjs\";\nimport { a as BvTriggerableEvent } from \"./classes-IC0yVJlq.mjs\";\nimport { _ as _sfc_main$3 } from \"./BButton.vue_vue_type_script_setup_true_lang-DUrERyIC.mjs\";\nimport { _ as _sfc_main$4 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-B_GsCJs6.mjs\";\nimport { u as useId } from \"./useId-SLUTyEVA.mjs\";\nimport { i as isEmptySlot } from \"./dom-B-SQyhbA.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { a as useModalManager } from \"./useModalManager-B5E0Qeku.mjs\";\nimport { _ as _sfc_main$2 } from \"./ConditionalTeleport.vue_vue_type_script_lang-CBHk9gJ3.mjs\";\nimport { _ as _export_sfc } from \"./_plugin-vue_export-helper-1tPrXgE0.mjs\";\nimport { useModalController } from \"./src/composables/useModalController/index.mjs\";\nconst useFadeTransition = (noFade) => computed(() => {\n const NO_FADE_PROPS = {\n name: \"\",\n enterActiveClass: \"\",\n enterToClass: \"\",\n leaveActiveClass: \"\",\n leaveToClass: \"showing\",\n enterFromClass: \"showing\",\n leaveFromClass: \"\",\n css: true\n };\n const FADE_PROPS = {\n ...NO_FADE_PROPS,\n name: \"fade\",\n enterActiveClass: \"fade showing\",\n leaveActiveClass: \"fade showing\"\n };\n return toValue(noFade) ? NO_FADE_PROPS : FADE_PROPS;\n});\nconst _hoisted_1 = [\"id\", \"aria-labelledby\", \"aria-describedby\"];\nconst _hoisted_2 = [\"id\"];\nconst fallbackClassSelector = \"modal-fallback-focus\";\nconst defaultModalDialogZIndex = 1056;\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BModal\",\n props: /* @__PURE__ */ mergeModels({\n autofocus: { type: Boolean, default: true },\n autofocusButton: { default: void 0 },\n body: { default: void 0 },\n bodyAttrs: { default: void 0 },\n bodyBgVariant: { default: null },\n bodyClass: { default: null },\n bodyScrolling: { type: Boolean, default: false },\n bodyTextVariant: { default: null },\n bodyVariant: { default: null },\n busy: { type: Boolean, default: false },\n buttonSize: { default: \"md\" },\n cancelDisabled: { type: Boolean, default: false },\n cancelTitle: { default: \"Cancel\" },\n cancelVariant: { default: \"secondary\" },\n centered: { type: Boolean, default: false },\n contentClass: { default: void 0 },\n dialogClass: { default: void 0 },\n footerBgVariant: { default: null },\n footerBorderVariant: { default: null },\n footerClass: { default: void 0 },\n footerTextVariant: { default: null },\n footerVariant: { default: null },\n fullscreen: { type: [Boolean, String], default: false },\n headerBgVariant: { default: null },\n headerBorderVariant: { default: null },\n headerClass: { default: void 0 },\n headerCloseClass: { default: void 0 },\n headerCloseLabel: { default: \"Close\" },\n headerCloseVariant: { default: \"secondary\" },\n headerTextVariant: { default: null },\n headerVariant: { default: null },\n hideBackdrop: { type: Boolean, default: false },\n hideFooter: { type: Boolean, default: false },\n hideHeader: { type: Boolean, default: false },\n hideHeaderClose: { type: Boolean, default: false },\n id: { default: void 0 },\n lazy: { type: Boolean, default: false },\n modalClass: { default: void 0 },\n noCloseOnBackdrop: { type: Boolean, default: false },\n noCloseOnEsc: { type: Boolean, default: false },\n noFade: { type: Boolean, default: false },\n noTrap: { type: Boolean, default: false },\n noStacking: { type: Boolean },\n okDisabled: { type: Boolean, default: false },\n okOnly: { type: Boolean, default: false },\n okTitle: { default: \"OK\" },\n okVariant: { default: \"primary\" },\n scrollable: { type: Boolean, default: false },\n size: { default: \"md\" },\n title: { default: void 0 },\n titleClass: { default: void 0 },\n titleSrOnly: { type: Boolean, default: false },\n titleTag: { default: \"h5\" },\n transProps: { default: void 0 },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" }\n }, {\n \"modelValue\": { type: Boolean, ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"backdrop\", \"cancel\", \"close\", \"esc\", \"hidden\", \"hide\", \"hide-prevented\", \"ok\", \"show\", \"show-prevented\", \"shown\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BModal\");\n const emit = __emit;\n const slots = useSlots();\n const computedId = useId(() => props.id, \"modal\");\n const modelValue = useModel(__props, \"modelValue\");\n const element = ref(null);\n const fallbackFocusElement = ref(null);\n const okButton = ref(null);\n const cancelButton = ref(null);\n const closeButton = ref(null);\n const isActive = ref(false);\n const lazyLoadCompleted = ref(false);\n const { needsFallback } = useActivatedFocusTrap({\n element,\n isActive,\n noTrap: () => props.noTrap,\n fallbackFocus: {\n ref: fallbackFocusElement,\n classSelector: fallbackClassSelector\n }\n });\n const fadeTransitionProps = useFadeTransition(true);\n onKeyStroke(\n \"Escape\",\n () => {\n hideFn(\"esc\");\n },\n { target: element }\n );\n useSafeScrollLock(modelValue, () => props.bodyScrolling);\n const { focused: modalFocus } = useFocus(element, {\n initialValue: modelValue.value && props.autofocusButton === void 0 && props.autofocus === true\n });\n const { focused: okButtonFocus } = useFocus(okButton, {\n initialValue: modelValue.value && props.autofocusButton === \"ok\" && props.autofocus === true\n });\n const { focused: cancelButtonFocus } = useFocus(cancelButton, {\n initialValue: modelValue.value && props.autofocusButton === \"cancel\" && props.autofocus === true\n });\n const { focused: closeButtonFocus } = useFocus(closeButton, {\n initialValue: modelValue.value && props.autofocusButton === \"close\" && props.autofocus === true\n });\n const modalClasses = computed(() => [\n props.modalClass,\n {\n fade: !props.noFade,\n show: isActive.value\n }\n ]);\n const lazyShowing = computed(\n () => props.lazy === false || props.lazy === true && lazyLoadCompleted.value === true || props.lazy === true && modelValue.value === true\n );\n const hasHeaderCloseSlot = computed(() => !isEmptySlot(slots[\"header-close\"]));\n const modalDialogClasses = computed(() => [\n props.dialogClass,\n {\n \"modal-fullscreen\": props.fullscreen === true,\n [`modal-fullscreen-${props.fullscreen}-down`]: typeof props.fullscreen === \"string\",\n [`modal-${props.size}`]: props.size !== \"md\",\n \"modal-dialog-centered\": props.centered,\n \"modal-dialog-scrollable\": props.scrollable\n }\n ]);\n const bodyColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.bodyBgVariant,\n textVariant: props.bodyTextVariant,\n variant: props.bodyVariant\n }));\n const bodyClasses = computed(() => [props.bodyClass, bodyColorClasses.value]);\n const headerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.headerBgVariant,\n textVariant: props.headerTextVariant,\n variant: props.headerVariant,\n borderVariant: props.headerBorderVariant\n }));\n const headerClasses = computed(() => [props.headerClass, headerColorClasses.value]);\n const headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : void 0,\n class: props.headerCloseClass\n }));\n const footerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.footerBgVariant,\n textVariant: props.footerTextVariant,\n variant: props.footerVariant,\n borderVariant: props.footerBorderVariant\n }));\n const footerClasses = computed(() => [props.footerClass, footerColorClasses.value]);\n const titleClasses = computed(() => [\n props.titleClass,\n {\n [\"visually-hidden\"]: props.titleSrOnly\n }\n ]);\n const disableCancel = computed(() => props.cancelDisabled || props.busy);\n const disableOk = computed(() => props.okDisabled || props.busy);\n const buildTriggerableEvent = (type, opts = {}) => new BvTriggerableEvent(type, {\n cancelable: false,\n target: element.value || null,\n relatedTarget: null,\n trigger: null,\n ...opts,\n componentId: computedId.value\n });\n watch(modelValue, (newValue, oldValue) => {\n if (newValue === oldValue) return;\n if (newValue === true) {\n showFn();\n } else {\n hideFn();\n }\n });\n const hideFn = (trigger = \"\") => {\n if (trigger === \"backdrop\" && props.noCloseOnBackdrop || trigger === \"esc\" && props.noCloseOnEsc) {\n emit(\"hide-prevented\");\n return;\n }\n const event = buildTriggerableEvent(\"hide\", { cancelable: trigger !== \"\", trigger });\n if (trigger === \"ok\") {\n emit(trigger, event);\n }\n if (trigger === \"cancel\") {\n emit(trigger, event);\n }\n if (trigger === \"close\") {\n emit(trigger, event);\n }\n if (trigger === \"backdrop\") {\n emit(trigger, event);\n }\n if (trigger === \"esc\") {\n emit(trigger, event);\n }\n emit(\"hide\", event);\n if (event.defaultPrevented) {\n emit(\"hide-prevented\");\n if (!modelValue.value) modelValue.value = true;\n return;\n }\n if (modelValue.value) modelValue.value = false;\n };\n const showFn = () => {\n if (isActive.value) return;\n const event = buildTriggerableEvent(\"show\", { cancelable: true });\n emit(\"show\", event);\n if (event.defaultPrevented) {\n if (modelValue.value) modelValue.value = false;\n emit(\"show-prevented\");\n return;\n }\n if (!modelValue.value) modelValue.value = true;\n };\n const pickFocusItem = () => {\n if (props.autofocus === false) return;\n props.autofocusButton === \"ok\" ? okButtonFocus.value = true : props.autofocusButton === \"close\" ? closeButtonFocus.value = true : props.autofocusButton === \"cancel\" ? cancelButtonFocus.value = true : modalFocus.value = true;\n };\n const onBeforeEnter = () => {\n showFn();\n };\n const onAfterEnter = () => {\n isActive.value = true;\n pickFocusItem();\n emit(\"shown\", buildTriggerableEvent(\"shown\"));\n if (props.lazy === true) lazyLoadCompleted.value = true;\n };\n const isLeaving = ref(false);\n const onLeave = () => {\n isActive.value = false;\n isLeaving.value = true;\n };\n const onAfterLeave = () => {\n emit(\"hidden\", buildTriggerableEvent(\"hidden\"));\n if (props.lazy === true) lazyLoadCompleted.value = false;\n isLeaving.value = false;\n };\n const { activePosition, activeModalCount, stackWithoutSelf } = useModalManager(\n isActive,\n modelValue.value\n );\n watch(stackWithoutSelf, (newValue, oldValue) => {\n if (newValue.length > oldValue.length && isActive.value === true && props.noStacking === true)\n hideFn();\n });\n const computedZIndex = computed(() => ({\n // Make sure that newly opened modals have a higher z-index than currently active ones.\n // All active modals have a z-index of ('defaultZIndex' - 'stackSize' - 'positionInStack').\n //\n // This means inactive modals will already be higher than active ones when opened.\n \"z-index\": isActive.value || isLeaving.value ? (\n // Just for reference there is a single frame in which the modal is not active but still has a higher z-index than the active ones due to _when_ it calculates its position. It's a small visual effect\n defaultModalDialogZIndex - (((activeModalCount == null ? void 0 : activeModalCount.value) ?? 0) - ((activePosition == null ? void 0 : activePosition.value) ?? 0))\n ) : defaultModalDialogZIndex\n }));\n useEventListener(element, \"bv-toggle\", () => {\n modelValue.value ? hideFn() : showFn();\n });\n const sharedSlots = computed(() => ({\n cancel: () => {\n hideFn(\"cancel\");\n },\n close: () => {\n hideFn(\"close\");\n },\n hide: hideFn,\n ok: () => {\n hideFn(\"ok\");\n },\n active: isActive.value,\n visible: modelValue.value\n }));\n __expose({\n hide: hideFn,\n id: computedId,\n show: showFn\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$2, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n createVNode(Transition, mergeProps({ ...unref(fadeTransitionProps), ...unref(props).transProps, enterToClass: \"show\" }, {\n appear: modelValue.value,\n onBeforeEnter,\n onAfterEnter,\n onLeave,\n onAfterLeave\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", mergeProps({\n id: unref(computedId),\n ref_key: \"element\",\n ref: element,\n class: [\"modal\", modalClasses.value],\n role: \"dialog\",\n \"aria-labelledby\": !unref(props).hideHeader ? `${unref(computedId)}-label` : void 0,\n \"aria-describedby\": `${unref(computedId)}-body`,\n tabindex: \"-1\"\n }, _ctx.$attrs, { style: computedZIndex.value }), [\n createElementVNode(\"div\", {\n class: normalizeClass([\"modal-dialog\", modalDialogClasses.value])\n }, [\n lazyShowing.value ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"modal-content\", unref(props).contentClass])\n }, [\n !unref(props).hideHeader ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"modal-header\", headerClasses.value])\n }, [\n renderSlot(_ctx.$slots, \"header\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).titleTag), {\n id: `${unref(computedId)}-label`,\n class: normalizeClass([\"modal-title\", titleClasses.value])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).title), 1)\n ], true)\n ]),\n _: 3\n }, 8, [\"id\", \"class\"])),\n !unref(props).hideHeaderClose ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n hasHeaderCloseSlot.value ? (openBlock(), createBlock(_sfc_main$3, mergeProps({ key: 0 }, headerCloseAttrs.value, {\n onClick: _cache[0] || (_cache[0] = ($event) => hideFn(\"close\"))\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"header-close\", {}, void 0, true)\n ]),\n _: 3\n }, 16)) : (openBlock(), createBlock(_sfc_main$4, mergeProps({\n key: 1,\n \"aria-label\": unref(props).headerCloseLabel\n }, headerCloseAttrs.value, {\n onClick: _cache[1] || (_cache[1] = ($event) => hideFn(\"close\"))\n }), null, 16, [\"aria-label\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ], true)\n ], 2)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", mergeProps({\n id: `${unref(computedId)}-body`,\n class: [\"modal-body\", bodyClasses.value]\n }, unref(props).bodyAttrs), [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).body), 1)\n ], true)\n ], 16, _hoisted_2),\n !unref(props).hideFooter ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass([\"modal-footer\", footerClasses.value])\n }, [\n renderSlot(_ctx.$slots, \"footer\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n renderSlot(_ctx.$slots, \"cancel\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n !unref(props).okOnly ? (openBlock(), createBlock(_sfc_main$3, {\n key: 0,\n ref_key: \"cancelButton\",\n ref: cancelButton,\n disabled: disableCancel.value,\n size: unref(props).buttonSize,\n variant: unref(props).cancelVariant,\n onClick: _cache[2] || (_cache[2] = ($event) => hideFn(\"cancel\"))\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(props).cancelTitle), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"size\", \"variant\"])) : createCommentVNode(\"\", true)\n ], true),\n renderSlot(_ctx.$slots, \"ok\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createVNode(_sfc_main$3, {\n ref_key: \"okButton\",\n ref: okButton,\n disabled: disableOk.value,\n size: unref(props).buttonSize,\n variant: unref(props).okVariant,\n onClick: _cache[3] || (_cache[3] = ($event) => hideFn(\"ok\"))\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(props).okTitle), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"size\", \"variant\"])\n ], true)\n ], true)\n ], 2)) : createCommentVNode(\"\", true)\n ], 2)) : createCommentVNode(\"\", true)\n ], 2),\n !unref(props).hideBackdrop ? renderSlot(_ctx.$slots, \"backdrop\", normalizeProps(mergeProps({ key: 0 }, sharedSlots.value)), () => [\n createElementVNode(\"div\", {\n class: \"modal-backdrop fade show\",\n onClick: _cache[4] || (_cache[4] = ($event) => hideFn(\"backdrop\"))\n })\n ], true) : createCommentVNode(\"\", true),\n unref(needsFallback) ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n ref_key: \"fallbackFocusElement\",\n ref: fallbackFocusElement,\n class: normalizeClass(fallbackClassSelector),\n tabindex: \"0\",\n style: { \"width\": \"0\", \"height\": \"0\", \"overflow\": \"hidden\" }\n }, null, 512)) : createCommentVNode(\"\", true)\n ], 16, _hoisted_1), [\n [vShow, modelValue.value]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nconst BModal = /* @__PURE__ */ _export_sfc(_sfc_main$1, [[\"__scopeId\", \"data-v-b05df8ad\"]]);\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BModalOrchestrator\",\n props: {\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BModalOrchestrator\");\n const tools = useModalController();\n __expose({\n ...tools\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$2, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled\n }, {\n default: withCtx(() => {\n var _a;\n return [\n createElementVNode(\"div\", mergeProps({ id: \"__BVID__modal-container\" }, _ctx.$attrs), [\n (openBlock(true), createElementBlock(Fragment, null, renderList((_a = unref(tools).modals) == null ? void 0 : _a.value, ([self, modal]) => {\n return openBlock(), createBlock(resolveDynamicComponent(modal.component ?? BModal), mergeProps({\n key: self,\n ref_for: true\n }, modal.props, {\n modelValue: modal.props._modelValue,\n \"onUpdate:modelValue\": [($event) => modal.props._modelValue = $event, ($event) => {\n var _a2, _b;\n return (_b = (_a2 = unref(tools)).leave) == null ? void 0 : _b.call(_a2, self);\n }],\n \"teleport-disabled\": true,\n onHide: (e) => {\n if (modal.props._isConfirm === true) {\n if (e.trigger === \"ok\") {\n modal.props._promise.resolve(true);\n return;\n }\n if (e.trigger === \"cancel\") {\n modal.props._promise.resolve(false);\n return;\n }\n modal.props._promise.resolve(null);\n }\n modal.props._promise.resolve(true);\n },\n onHidden: ($event) => {\n var _a2, _b;\n return (_b = (_a2 = unref(tools)).remove) == null ? void 0 : _b.call(_a2, self);\n }\n }), null, 16, [\"modelValue\", \"onUpdate:modelValue\", \"onHide\", \"onHidden\"]);\n }), 128))\n ], 16)\n ];\n }),\n _: 1\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nexport {\n BModal as B,\n _sfc_main as _\n};\n//# sourceMappingURL=BModalOrchestrator.vue_vue_type_script_setup_true_lang-DESSsMw4.mjs.map\n"],"names":["candidateSelectors","candidateSelector","NoElement","matches","getRootNode","element","_element$getRootNode","isInert","isInert2","node","lookUp","_node$getAttribute","inertAtt","inert","result","isContentEditable","_node$getAttribute2","attValue","getCandidates","el","includeContainer","filter","candidates","getCandidatesIteratively","getCandidatesIteratively2","elements","options","elementsToCheck","assigned","content","nestedCandidates","validCandidate","shadowRoot","validShadowRoot","_nestedCandidates","hasTabIndex","getTabIndex","getSortOrderTabIndex","isScope","tabIndex","sortOrderedTabbables","a","b","isInput","isHiddenInput","isDetailsWithSummary","r","child","getCheckedRadio","nodes","form","i","isTabbableRadio","radioScope","queryRadios","name","radioSet","err","checked","isRadio","isNonTabbableRadio","isNodeAttached","_nodeRoot","nodeRoot","nodeRootHost","attached","_nodeRootHost","_nodeRootHost$ownerDo","_node$ownerDocument","_nodeRoot2","_nodeRootHost2","_nodeRootHost2$ownerD","isZeroArea","_node$getBoundingClie","width","height","isHidden","_ref","displayCheck","getShadowRoot","isDirectSummary","nodeUnderDetails","originalNode","parentElement","rootNode","isDisabledFromFieldset","parentNode","isNodeMatchingSelectorFocusable","isNodeMatchingSelectorTabbable","isValidShadowRootTabbable","shadowHostNode","sortByOrder","sortByOrder2","regularTabbables","orderedTabbables","item","candidateTabindex","acc","sortable","tabbable","container","focusable","isTabbable","focusableCandidateSelector","isFocusable","ownKeys","e","t","o","r2","_objectSpread2","_defineProperty","obj","key","value","_toPropertyKey","_toPrimitive","input","hint","prim","res","arg","activeFocusTraps","trapStack","trap","activeTrap","trapIndex","isSelectableInput","isEscapeEvent","isTabEvent","isKeyForward","isKeyBackward","delay","fn","findIndex","arr","idx","valueOrHandler","_len","params","_key","getActualTarget","event","internalTrapStack","createFocusTrap","userOptions","doc","config","state","getOption","configOverrideOptions","optionName","configOptionName","findContainerIndex","composedPath","tabbableNodes","getNodeForOption","optionValue","_len2","_key2","getInitialFocusNode","firstTabbableGroup","firstTabbableNode","updateTabbableNodes","focusableNodes","lastTabbableNode","firstDomTabbableNode","lastDomTabbableNode","posTabIndexesFound","forward","nodeIdx","group","g","getActiveElement","getActiveElement2","activeElement","tryFocus","tryFocus2","getReturnFocusNode","previousActiveElement","findNextNavNode","_ref2","target","_ref2$isBackward","isBackward","destinationNode","containerIndex","containerGroup","startOfGroupIndex","_ref3","destinationGroupIndex","destinationGroup","lastOfGroupIndex","_ref4","_destinationGroupIndex","_destinationGroup","checkPointerDown","checkFocusIn","targetContained","nextNode","navAcrossContainers","mruContainerIdx","mruTabIdx","n","checkKeyNav","checkKey","checkClick","addListeners","removeListeners","checkDomRemoval","mutations","isFocusedNodeRemoved","mutation","removedNodes","mutationObserver","updateObservedNodes","activateOptions","onActivate","onPostActivate","checkCanFocusTrap","finishActivation","deactivateOptions","onDeactivate","onPostDeactivate","checkCanReturnFocus","returnFocus","finishDeactivation","pauseOptions","onPause","onPostPause","unpauseOptions","onUnpause","onPostUnpause","containerElements","elementsAsArray","useFocusTrap","immediate","focusTrapOptions","hasFocus","ref","isPaused","activate","opts","deactivate","pause","unpause","targets","computed","_targets","toValue","_el","unrefElement","notNullish","watch","els","tryOnScopeDispose","useActivatedFocusTrap","isActive","noTrap","fallbackFocus","focusTrapOpts","resolvedIsActive","readonly","toRef","resolvedNoTrap","checkNeedsFocus","_a","tabbableElements","needsFallback","onMounted","useMutationObserver","newValue","nextTick","prevousRightPadding","lockRegistry","useSafeScrollLock","isOpen","bodyScroll","resolvedIsOpen","id","useId","inverseBodyScrollingValue","toValue$1","isLocked","useScrollLock","modelVal","bodyVal","scrollBarGap","hasLocked","val","myLocked","hasLockedAfter","onUnmounted","modalOpenClassName","useSharedModalStack","modalManagerPlugin","inject","modalManagerPluginKey","dispose","modal","updateHTMLAttrs","getSSRHandler","selector","attribute","useModalManager","modalOpen","initialValue","pushRegistry","pushStack","removeStack","stack","countStack","currentModal","getCurrentInstance","setInStack","oldValue","_b","useFadeTransition","noFade","NO_FADE_PROPS","FADE_PROPS","_hoisted_1","_hoisted_2","fallbackClassSelector","defaultModalDialogZIndex","_sfc_main$1","defineComponent","mergeModels","__props","__expose","__emit","props","useDefaults","emit","slots","useSlots","computedId","modelValue","useModel","fallbackFocusElement","okButton","cancelButton","closeButton","lazyLoadCompleted","fadeTransitionProps","onKeyStroke","hideFn","modalFocus","useFocus","okButtonFocus","cancelButtonFocus","closeButtonFocus","modalClasses","lazyShowing","hasHeaderCloseSlot","isEmptySlot","modalDialogClasses","bodyColorClasses","useColorVariantClasses","bodyClasses","headerColorClasses","headerClasses","headerCloseAttrs","footerColorClasses","footerClasses","titleClasses","disableCancel","disableOk","buildTriggerableEvent","type","BvTriggerableEvent","showFn","trigger","pickFocusItem","onBeforeEnter","onAfterEnter","isLeaving","onLeave","onAfterLeave","activePosition","activeModalCount","stackWithoutSelf","computedZIndex","useEventListener","sharedSlots","_ctx","_cache","openBlock","createBlock","_sfc_main$2","unref","withCtx","createVNode","Transition","mergeProps","withDirectives","createElementVNode","normalizeClass","createElementBlock","createCommentVNode","renderSlot","normalizeProps","guardReactiveProps","resolveDynamicComponent","createTextVNode","toDisplayString","Fragment","_sfc_main$3","$event","_sfc_main$4","vShow","BModal","_export_sfc"],"mappings":"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"}