{"version":3,"file":"VOverlay-5b179b1e.js","sources":["../../../node_modules/vuetify/lib/util/bindProps.mjs","../../../node_modules/vuetify/lib/util/dom.mjs","../../../node_modules/vuetify/lib/util/getScrollParent.mjs","../../../node_modules/vuetify/lib/util/isFixedPosition.mjs","../../../node_modules/vuetify/lib/components/VOverlay/util/point.mjs","../../../node_modules/vuetify/lib/components/VOverlay/locationStrategies.mjs","../../../node_modules/vuetify/lib/components/VOverlay/requestNewFrame.mjs","../../../node_modules/vuetify/lib/components/VOverlay/scrollStrategies.mjs","../../../node_modules/vuetify/lib/components/VMenu/shared.mjs","../../../node_modules/vuetify/lib/composables/delay.mjs","../../../node_modules/vuetify/lib/components/VOverlay/useActivator.mjs","../../../node_modules/vuetify/lib/composables/hydration.mjs","../../../node_modules/vuetify/lib/composables/lazy.mjs","../../../node_modules/vuetify/lib/composables/stack.mjs","../../../node_modules/vuetify/lib/composables/teleport.mjs","../../../node_modules/vuetify/lib/directives/click-outside/index.mjs","../../../node_modules/vuetify/lib/components/VOverlay/VOverlay.mjs"],"sourcesContent":["// Utilities\nimport { eventName, isOn } from \"./helpers.mjs\";\nconst handlers = new WeakMap();\nexport function bindProps(el, props) {\n Object.keys(props).forEach(k => {\n if (isOn(k)) {\n const name = eventName(k);\n const handler = handlers.get(el);\n if (props[k] == null) {\n handler?.forEach(v => {\n const [n, fn] = v;\n if (n === name) {\n el.removeEventListener(name, fn);\n handler.delete(v);\n }\n });\n } else if (!handler || ![...handler]?.some(v => v[0] === name && v[1] === props[k])) {\n el.addEventListener(name, props[k]);\n const _handler = handler || new Set();\n _handler.add([name, props[k]]);\n if (!handlers.has(el)) handlers.set(el, _handler);\n }\n } else {\n if (props[k] == null) {\n el.removeAttribute(k);\n } else {\n el.setAttribute(k, props[k]);\n }\n }\n });\n}\nexport function unbindProps(el, props) {\n Object.keys(props).forEach(k => {\n if (isOn(k)) {\n const name = eventName(k);\n const handler = handlers.get(el);\n handler?.forEach(v => {\n const [n, fn] = v;\n if (n === name) {\n el.removeEventListener(name, fn);\n handler.delete(v);\n }\n });\n } else {\n el.removeAttribute(k);\n }\n });\n}\n//# sourceMappingURL=bindProps.mjs.map","/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot(node) {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode;\n\n // The root parent is the document if the node is attached to the DOM\n if (node !== document) return null;\n return document;\n }\n const root = node.getRootNode();\n\n // The composed root node is the document if the node is attached to the DOM\n if (root !== document && root.getRootNode({\n composed: true\n }) !== document) return null;\n return root;\n}\n//# sourceMappingURL=dom.mjs.map","export function getScrollParent(el) {\n while (el) {\n if (hasScrollbar(el)) return el;\n el = el.parentElement;\n }\n return document.scrollingElement;\n}\nexport function getScrollParents(el, stopAt) {\n const elements = [];\n if (stopAt && el && !stopAt.contains(el)) return elements;\n while (el) {\n if (hasScrollbar(el)) elements.push(el);\n if (el === stopAt) break;\n el = el.parentElement;\n }\n return elements;\n}\nexport function hasScrollbar(el) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;\n const style = window.getComputedStyle(el);\n return style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;\n}\n//# sourceMappingURL=getScrollParent.mjs.map","export function isFixedPosition(el) {\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n return true;\n }\n el = el.offsetParent;\n }\n return false;\n}\n//# sourceMappingURL=isFixedPosition.mjs.map","// Types\n\n/** Convert a point in local space to viewport space */\nexport function elementToViewport(point, offset) {\n return {\n x: point.x + offset.x,\n y: point.y + offset.y\n };\n}\n\n/** Convert a point in viewport space to local space */\nexport function viewportToElement(point, offset) {\n return {\n x: point.x - offset.x,\n y: point.y - offset.y\n };\n}\n\n/** Get the difference between two points */\nexport function getOffset(a, b) {\n return {\n x: a.x - b.x,\n y: a.y - b.y\n };\n}\n\n/** Convert an anchor object to a point in local space */\nexport function anchorToPoint(anchor, box) {\n if (anchor.side === 'top' || anchor.side === 'bottom') {\n const {\n side,\n align\n } = anchor;\n const x = align === 'left' ? 0 : align === 'center' ? box.width / 2 : align === 'right' ? box.width : align;\n const y = side === 'top' ? 0 : side === 'bottom' ? box.height : side;\n return elementToViewport({\n x,\n y\n }, box);\n } else if (anchor.side === 'left' || anchor.side === 'right') {\n const {\n side,\n align\n } = anchor;\n const x = side === 'left' ? 0 : side === 'right' ? box.width : side;\n const y = align === 'top' ? 0 : align === 'center' ? box.height / 2 : align === 'bottom' ? box.height : align;\n return elementToViewport({\n x,\n y\n }, box);\n }\n return elementToViewport({\n x: box.width / 2,\n y: box.height / 2\n }, box);\n}\n//# sourceMappingURL=point.mjs.map","// Composables\nimport { useToggleScope } from \"../../composables/toggleScope.mjs\"; // Utilities\nimport { computed, nextTick, onScopeDispose, ref, watch } from 'vue';\nimport { anchorToPoint, getOffset } from \"./util/point.mjs\";\nimport { clamp, consoleError, convertToUnit, destructComputed, flipAlign, flipCorner, flipSide, getAxis, getScrollParents, IN_BROWSER, isFixedPosition, nullifyTransforms, parseAnchor, propsFactory } from \"../../util/index.mjs\";\nimport { Box, getOverflow } from \"../../util/box.mjs\"; // Types\nconst locationStrategies = {\n static: staticLocationStrategy,\n // specific viewport position, usually centered\n connected: connectedLocationStrategy // connected to a certain element\n};\n\nexport const makeLocationStrategyProps = propsFactory({\n locationStrategy: {\n type: [String, Function],\n default: 'static',\n validator: val => typeof val === 'function' || val in locationStrategies\n },\n location: {\n type: String,\n default: 'bottom'\n },\n origin: {\n type: String,\n default: 'auto'\n },\n offset: [Number, String, Array]\n}, 'VOverlay-location-strategies');\nexport function useLocationStrategies(props, data) {\n const contentStyles = ref({});\n const updateLocation = ref();\n if (IN_BROWSER) {\n useToggleScope(() => !!(data.isActive.value && props.locationStrategy), reset => {\n watch(() => props.locationStrategy, reset);\n onScopeDispose(() => {\n updateLocation.value = undefined;\n });\n if (typeof props.locationStrategy === 'function') {\n updateLocation.value = props.locationStrategy(data, props, contentStyles)?.updateLocation;\n } else {\n updateLocation.value = locationStrategies[props.locationStrategy](data, props, contentStyles)?.updateLocation;\n }\n });\n window.addEventListener('resize', onResize, {\n passive: true\n });\n onScopeDispose(() => {\n window.removeEventListener('resize', onResize);\n updateLocation.value = undefined;\n });\n }\n function onResize(e) {\n updateLocation.value?.(e);\n }\n return {\n contentStyles,\n updateLocation\n };\n}\nfunction staticLocationStrategy() {\n // TODO\n}\n\n/** Get size of element ignoring max-width/max-height */\nfunction getIntrinsicSize(el, isRtl) {\n // const scrollables = new Map()\n // el.querySelectorAll('*').forEach(el => {\n // const x = el.scrollLeft\n // const y = el.scrollTop\n // if (x || y) {\n // scrollables.set(el, [x, y])\n // }\n // })\n\n // const initialMaxWidth = el.style.maxWidth\n // const initialMaxHeight = el.style.maxHeight\n // el.style.removeProperty('max-width')\n // el.style.removeProperty('max-height')\n\n /* eslint-disable-next-line sonarjs/prefer-immediate-return */\n const contentBox = nullifyTransforms(el);\n if (isRtl) {\n contentBox.x += parseFloat(el.style.right || 0);\n } else {\n contentBox.x -= parseFloat(el.style.left || 0);\n }\n contentBox.y -= parseFloat(el.style.top || 0);\n\n // el.style.maxWidth = initialMaxWidth\n // el.style.maxHeight = initialMaxHeight\n // scrollables.forEach((position, el) => {\n // el.scrollTo(...position)\n // })\n\n return contentBox;\n}\nfunction connectedLocationStrategy(data, props, contentStyles) {\n const activatorFixed = isFixedPosition(data.activatorEl.value);\n if (activatorFixed) {\n Object.assign(contentStyles.value, {\n position: 'fixed',\n top: 0,\n [data.isRtl.value ? 'right' : 'left']: 0\n });\n }\n const {\n preferredAnchor,\n preferredOrigin\n } = destructComputed(() => {\n const parsedAnchor = parseAnchor(props.location, data.isRtl.value);\n const parsedOrigin = props.origin === 'overlap' ? parsedAnchor : props.origin === 'auto' ? flipSide(parsedAnchor) : parseAnchor(props.origin, data.isRtl.value);\n\n // Some combinations of props may produce an invalid origin\n if (parsedAnchor.side === parsedOrigin.side && parsedAnchor.align === flipAlign(parsedOrigin).align) {\n return {\n preferredAnchor: flipCorner(parsedAnchor),\n preferredOrigin: flipCorner(parsedOrigin)\n };\n } else {\n return {\n preferredAnchor: parsedAnchor,\n preferredOrigin: parsedOrigin\n };\n }\n });\n const [minWidth, minHeight, maxWidth, maxHeight] = ['minWidth', 'minHeight', 'maxWidth', 'maxHeight'].map(key => {\n return computed(() => {\n const val = parseFloat(props[key]);\n return isNaN(val) ? Infinity : val;\n });\n });\n const offset = computed(() => {\n if (Array.isArray(props.offset)) {\n return props.offset;\n }\n if (typeof props.offset === 'string') {\n const offset = props.offset.split(' ').map(parseFloat);\n if (offset.length < 2) offset.push(0);\n return offset;\n }\n return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0];\n });\n let observe = false;\n const observer = new ResizeObserver(() => {\n if (observe) updateLocation();\n });\n watch([data.activatorEl, data.contentEl], (_ref, _ref2) => {\n let [newActivatorEl, newContentEl] = _ref;\n let [oldActivatorEl, oldContentEl] = _ref2;\n if (oldActivatorEl) observer.unobserve(oldActivatorEl);\n if (newActivatorEl) observer.observe(newActivatorEl);\n if (oldContentEl) observer.unobserve(oldContentEl);\n if (newContentEl) observer.observe(newContentEl);\n }, {\n immediate: true\n });\n onScopeDispose(() => {\n observer.disconnect();\n });\n\n // eslint-disable-next-line max-statements\n function updateLocation() {\n observe = false;\n requestAnimationFrame(() => {\n requestAnimationFrame(() => observe = true);\n });\n if (!data.activatorEl.value || !data.contentEl.value) return;\n const targetBox = data.activatorEl.value.getBoundingClientRect();\n const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);\n const scrollParents = getScrollParents(data.contentEl.value);\n const viewportMargin = 12;\n if (!scrollParents.length) {\n scrollParents.push(document.documentElement);\n if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {\n contentBox.x -= parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-x') || 0);\n contentBox.y -= parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-y') || 0);\n }\n }\n const viewport = scrollParents.reduce((box, el) => {\n const rect = el.getBoundingClientRect();\n const scrollBox = new Box({\n x: el === document.documentElement ? 0 : rect.x,\n y: el === document.documentElement ? 0 : rect.y,\n width: el.clientWidth,\n height: el.clientHeight\n });\n if (box) {\n return new Box({\n x: Math.max(box.left, scrollBox.left),\n y: Math.max(box.top, scrollBox.top),\n width: Math.min(box.right, scrollBox.right) - Math.max(box.left, scrollBox.left),\n height: Math.min(box.bottom, scrollBox.bottom) - Math.max(box.top, scrollBox.top)\n });\n }\n return scrollBox;\n }, undefined);\n viewport.x += viewportMargin;\n viewport.y += viewportMargin;\n viewport.width -= viewportMargin * 2;\n viewport.height -= viewportMargin * 2;\n let placement = {\n anchor: preferredAnchor.value,\n origin: preferredOrigin.value\n };\n function checkOverflow(_placement) {\n const box = new Box(contentBox);\n const targetPoint = anchorToPoint(_placement.anchor, targetBox);\n const contentPoint = anchorToPoint(_placement.origin, box);\n let {\n x,\n y\n } = getOffset(targetPoint, contentPoint);\n switch (_placement.anchor.side) {\n case 'top':\n y -= offset.value[0];\n break;\n case 'bottom':\n y += offset.value[0];\n break;\n case 'left':\n x -= offset.value[0];\n break;\n case 'right':\n x += offset.value[0];\n break;\n }\n switch (_placement.anchor.align) {\n case 'top':\n y -= offset.value[1];\n break;\n case 'bottom':\n y += offset.value[1];\n break;\n case 'left':\n x -= offset.value[1];\n break;\n case 'right':\n x += offset.value[1];\n break;\n }\n box.x += x;\n box.y += y;\n box.width = Math.min(box.width, maxWidth.value);\n box.height = Math.min(box.height, maxHeight.value);\n const overflows = getOverflow(box, viewport);\n return {\n overflows,\n x,\n y\n };\n }\n let x = 0;\n let y = 0;\n const available = {\n x: 0,\n y: 0\n };\n const flipped = {\n x: false,\n y: false\n };\n let resets = -1;\n while (true) {\n if (resets++ > 10) {\n consoleError('Infinite loop detected in connectedLocationStrategy');\n break;\n }\n const {\n x: _x,\n y: _y,\n overflows\n } = checkOverflow(placement);\n x += _x;\n y += _y;\n contentBox.x += _x;\n contentBox.y += _y;\n\n // flip\n {\n const axis = getAxis(placement.anchor);\n const hasOverflowX = overflows.x.before || overflows.x.after;\n const hasOverflowY = overflows.y.before || overflows.y.after;\n let reset = false;\n ['x', 'y'].forEach(key => {\n if (key === 'x' && hasOverflowX && !flipped.x || key === 'y' && hasOverflowY && !flipped.y) {\n const newPlacement = {\n anchor: {\n ...placement.anchor\n },\n origin: {\n ...placement.origin\n }\n };\n const flip = key === 'x' ? axis === 'y' ? flipAlign : flipSide : axis === 'y' ? flipSide : flipAlign;\n newPlacement.anchor = flip(newPlacement.anchor);\n newPlacement.origin = flip(newPlacement.origin);\n const {\n overflows: newOverflows\n } = checkOverflow(newPlacement);\n if (newOverflows[key].before <= overflows[key].before && newOverflows[key].after <= overflows[key].after || newOverflows[key].before + newOverflows[key].after < (overflows[key].before + overflows[key].after) / 2) {\n placement = newPlacement;\n reset = flipped[key] = true;\n }\n }\n });\n if (reset) continue;\n }\n\n // shift\n if (overflows.x.before) {\n x += overflows.x.before;\n contentBox.x += overflows.x.before;\n }\n if (overflows.x.after) {\n x -= overflows.x.after;\n contentBox.x -= overflows.x.after;\n }\n if (overflows.y.before) {\n y += overflows.y.before;\n contentBox.y += overflows.y.before;\n }\n if (overflows.y.after) {\n y -= overflows.y.after;\n contentBox.y -= overflows.y.after;\n }\n\n // size\n {\n const overflows = getOverflow(contentBox, viewport);\n available.x = viewport.width - overflows.x.before - overflows.x.after;\n available.y = viewport.height - overflows.y.before - overflows.y.after;\n x += overflows.x.before;\n contentBox.x += overflows.x.before;\n y += overflows.y.before;\n contentBox.y += overflows.y.before;\n }\n break;\n }\n const axis = getAxis(placement.anchor);\n Object.assign(contentStyles.value, {\n '--v-overlay-anchor-origin': `${placement.anchor.side} ${placement.anchor.align}`,\n transformOrigin: `${placement.origin.side} ${placement.origin.align}`,\n // transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,\n top: convertToUnit(pixelRound(y)),\n left: data.isRtl.value ? undefined : convertToUnit(pixelRound(x)),\n right: data.isRtl.value ? convertToUnit(pixelRound(-x)) : undefined,\n minWidth: convertToUnit(axis === 'y' ? Math.min(minWidth.value, targetBox.width) : minWidth.value),\n maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),\n maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value)))\n });\n return {\n available,\n contentBox\n };\n }\n watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation());\n nextTick(() => {\n const result = updateLocation();\n\n // TODO: overflowing content should only require a single updateLocation call\n // Icky hack to make sure the content is positioned consistently\n if (!result) return;\n const {\n available,\n contentBox\n } = result;\n if (contentBox.height > available.y) {\n requestAnimationFrame(() => {\n updateLocation();\n requestAnimationFrame(() => {\n updateLocation();\n });\n });\n }\n });\n return {\n updateLocation\n };\n}\nfunction pixelRound(val) {\n return Math.round(val * devicePixelRatio) / devicePixelRatio;\n}\nfunction pixelCeil(val) {\n return Math.ceil(val * devicePixelRatio) / devicePixelRatio;\n}\n//# sourceMappingURL=locationStrategies.mjs.map","let clean = true;\nconst frames = [];\n\n/**\n * Schedule a task to run in an animation frame on its own\n * This is useful for heavy tasks that may cause jank if all ran together\n */\nexport function requestNewFrame(cb) {\n if (!clean || frames.length) {\n frames.push(cb);\n run();\n } else {\n clean = false;\n cb();\n run();\n }\n}\nlet raf = -1;\nfunction run() {\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(() => {\n const frame = frames.shift();\n if (frame) frame();\n if (frames.length) run();else clean = true;\n });\n}\n//# sourceMappingURL=requestNewFrame.mjs.map","// Utilities\nimport { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue';\nimport { requestNewFrame } from \"./requestNewFrame.mjs\";\nimport { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from \"../../util/index.mjs\"; // Types\nconst scrollStrategies = {\n none: null,\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy\n};\nexport const makeScrollStrategyProps = propsFactory({\n scrollStrategy: {\n type: [String, Function],\n default: 'block',\n validator: val => typeof val === 'function' || val in scrollStrategies\n }\n}, 'VOverlay-scroll-strategies');\nexport function useScrollStrategies(props, data) {\n if (!IN_BROWSER) return;\n let scope;\n watchEffect(async () => {\n scope?.stop();\n if (!(data.isActive.value && props.scrollStrategy)) return;\n scope = effectScope();\n await nextTick();\n scope.active && scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data, props, scope);\n } else {\n scrollStrategies[props.scrollStrategy]?.(data, props, scope);\n }\n });\n });\n onScopeDispose(() => {\n scope?.stop();\n });\n}\nfunction closeScrollStrategy(data) {\n function onScroll(e) {\n data.isActive.value = false;\n }\n bindScroll(data.activatorEl.value ?? data.contentEl.value, onScroll);\n}\nfunction blockScrollStrategy(data, props) {\n const offsetParent = data.root.value?.offsetParent;\n const scrollElements = [...new Set([...getScrollParents(data.activatorEl.value, props.contained ? offsetParent : undefined), ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : undefined)])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'));\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth;\n const scrollableParent = (el => hasScrollbar(el) && el)(offsetParent || document.documentElement);\n if (scrollableParent) {\n data.root.value.classList.add('v-overlay--scroll-blocked');\n }\n scrollElements.forEach((el, i) => {\n el.style.setProperty('--v-body-scroll-x', convertToUnit(-el.scrollLeft));\n el.style.setProperty('--v-body-scroll-y', convertToUnit(-el.scrollTop));\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth));\n el.classList.add('v-overlay-scroll-blocked');\n });\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n const x = parseFloat(el.style.getPropertyValue('--v-body-scroll-x'));\n const y = parseFloat(el.style.getPropertyValue('--v-body-scroll-y'));\n el.style.removeProperty('--v-body-scroll-x');\n el.style.removeProperty('--v-body-scroll-y');\n el.style.removeProperty('--v-scrollbar-offset');\n el.classList.remove('v-overlay-scroll-blocked');\n el.scrollLeft = -x;\n el.scrollTop = -y;\n });\n if (scrollableParent) {\n data.root.value.classList.remove('v-overlay--scroll-blocked');\n }\n });\n}\nfunction repositionScrollStrategy(data, props, scope) {\n let slow = false;\n let raf = -1;\n let ric = -1;\n function update(e) {\n requestNewFrame(() => {\n const start = performance.now();\n data.updateLocation.value?.(e);\n const time = performance.now() - start;\n slow = time / (1000 / 60) > 2;\n });\n }\n ric = (typeof requestIdleCallback === 'undefined' ? cb => cb() : requestIdleCallback)(() => {\n scope.run(() => {\n bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e);\n });\n });\n } else {\n update(e);\n }\n });\n });\n });\n onScopeDispose(() => {\n typeof cancelIdleCallback !== 'undefined' && cancelIdleCallback(ric);\n cancelAnimationFrame(raf);\n });\n}\n\n/** @private */\nfunction bindScroll(el, onScroll) {\n const scrollElements = [document, ...getScrollParents(el)];\n scrollElements.forEach(el => {\n el.addEventListener('scroll', onScroll, {\n passive: true\n });\n });\n onScopeDispose(() => {\n scrollElements.forEach(el => {\n el.removeEventListener('scroll', onScroll);\n });\n });\n}\n//# sourceMappingURL=scrollStrategies.mjs.map","// Types\n\nexport const VMenuSymbol = Symbol.for('vuetify:v-menu');\n//# sourceMappingURL=shared.mjs.map","// Utilities\nimport { IN_BROWSER, propsFactory } from \"../util/index.mjs\"; // Types\n// Composables\nexport const makeDelayProps = propsFactory({\n closeDelay: [Number, String],\n openDelay: [Number, String]\n}, 'delay');\nexport function useDelay(props, cb) {\n const delays = {};\n const runDelayFactory = prop => () => {\n // istanbul ignore next\n if (!IN_BROWSER) return Promise.resolve(true);\n const active = prop === 'openDelay';\n delays.closeDelay && window.clearTimeout(delays.closeDelay);\n delete delays.closeDelay;\n delays.openDelay && window.clearTimeout(delays.openDelay);\n delete delays.openDelay;\n return new Promise(resolve => {\n const delay = parseInt(props[prop] ?? 0, 10);\n delays[prop] = window.setTimeout(() => {\n cb?.(active);\n resolve(active);\n }, delay);\n });\n };\n return {\n runCloseDelay: runDelayFactory('closeDelay'),\n runOpenDelay: runDelayFactory('openDelay')\n };\n}\n//# sourceMappingURL=delay.mjs.map","// Components\nimport { VMenuSymbol } from \"../VMenu/shared.mjs\"; // Composables\nimport { makeDelayProps, useDelay } from \"../../composables/delay.mjs\"; // Utilities\nimport { computed, effectScope, inject, mergeProps, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue';\nimport { bindProps, getCurrentInstance, IN_BROWSER, propsFactory, refElement, SUPPORTS_FOCUS_VISIBLE, unbindProps } from \"../../util/index.mjs\"; // Types\nexport const makeActivatorProps = propsFactory({\n activator: [String, Object],\n activatorProps: {\n type: Object,\n default: () => ({})\n },\n openOnClick: {\n type: Boolean,\n default: undefined\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined\n },\n closeOnContentClick: Boolean,\n ...makeDelayProps()\n}, 'VOverlay-activator');\nexport function useActivator(props, _ref) {\n let {\n isActive,\n isTop\n } = _ref;\n const activatorEl = ref();\n let isHovered = false;\n let isFocused = false;\n let firstEnter = true;\n const openOnFocus = computed(() => props.openOnFocus || props.openOnFocus == null && props.openOnHover);\n const openOnClick = computed(() => props.openOnClick || props.openOnClick == null && !props.openOnHover && !openOnFocus.value);\n const {\n runOpenDelay,\n runCloseDelay\n } = useDelay(props, value => {\n if (value === (props.openOnHover && isHovered || openOnFocus.value && isFocused) && !(props.openOnHover && isActive.value && !isTop.value)) {\n if (isActive.value !== value) {\n firstEnter = true;\n }\n isActive.value = value;\n }\n });\n const availableEvents = {\n onClick: e => {\n e.stopPropagation();\n activatorEl.value = e.currentTarget || e.target;\n isActive.value = !isActive.value;\n },\n onMouseenter: e => {\n if (e.sourceCapabilities?.firesTouchEvents) return;\n isHovered = true;\n activatorEl.value = e.currentTarget || e.target;\n runOpenDelay();\n },\n onMouseleave: e => {\n isHovered = false;\n runCloseDelay();\n },\n onFocus: e => {\n if (SUPPORTS_FOCUS_VISIBLE && !e.target.matches(':focus-visible')) return;\n isFocused = true;\n e.stopPropagation();\n activatorEl.value = e.currentTarget || e.target;\n runOpenDelay();\n },\n onBlur: e => {\n isFocused = false;\n e.stopPropagation();\n runCloseDelay();\n }\n };\n const activatorEvents = computed(() => {\n const events = {};\n if (openOnClick.value) {\n events.onClick = availableEvents.onClick;\n }\n if (props.openOnHover) {\n events.onMouseenter = availableEvents.onMouseenter;\n events.onMouseleave = availableEvents.onMouseleave;\n }\n if (openOnFocus.value) {\n events.onFocus = availableEvents.onFocus;\n events.onBlur = availableEvents.onBlur;\n }\n return events;\n });\n const contentEvents = computed(() => {\n const events = {};\n if (props.openOnHover) {\n events.onMouseenter = () => {\n isHovered = true;\n runOpenDelay();\n };\n events.onMouseleave = () => {\n isHovered = false;\n runCloseDelay();\n };\n }\n if (openOnFocus.value) {\n events.onFocusin = () => {\n isFocused = true;\n runOpenDelay();\n };\n events.onFocusout = () => {\n isFocused = false;\n runCloseDelay();\n };\n }\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null);\n events.onClick = () => {\n isActive.value = false;\n menu?.closeParents();\n };\n }\n return events;\n });\n const scrimEvents = computed(() => {\n const events = {};\n if (props.openOnHover) {\n events.onMouseenter = () => {\n if (firstEnter) {\n isHovered = true;\n firstEnter = false;\n runOpenDelay();\n }\n };\n events.onMouseleave = () => {\n isHovered = false;\n runCloseDelay();\n };\n }\n return events;\n });\n watch(isTop, val => {\n if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {\n isActive.value = false;\n }\n });\n const activatorRef = ref();\n watchEffect(() => {\n if (!activatorRef.value) return;\n nextTick(() => {\n activatorEl.value = refElement(activatorRef.value);\n });\n });\n const vm = getCurrentInstance('useActivator');\n let scope;\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope();\n scope.run(() => {\n _useActivator(props, vm, {\n activatorEl,\n activatorEvents\n });\n });\n } else if (scope) {\n scope.stop();\n }\n }, {\n flush: 'post',\n immediate: true\n });\n onScopeDispose(() => {\n scope?.stop();\n });\n return {\n activatorEl,\n activatorRef,\n activatorEvents,\n contentEvents,\n scrimEvents\n };\n}\nfunction _useActivator(props, vm, _ref2) {\n let {\n activatorEl,\n activatorEvents\n } = _ref2;\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal);\n activator && unbindActivatorProps(activator);\n }\n if (val) {\n nextTick(() => bindActivatorProps());\n }\n }, {\n immediate: true\n });\n watch(() => props.activatorProps, () => {\n bindActivatorProps();\n });\n onScopeDispose(() => {\n unbindActivatorProps();\n });\n function bindActivatorProps() {\n let el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getActivator();\n let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;\n if (!el) return;\n bindProps(el, mergeProps(activatorEvents.value, _props));\n }\n function unbindActivatorProps() {\n let el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getActivator();\n let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;\n if (!el) return;\n unbindProps(el, mergeProps(activatorEvents.value, _props));\n }\n function getActivator() {\n let selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.activator;\n let activator;\n if (selector) {\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode;\n while (el.hasAttribute('data-no-activator')) {\n el = el.parentNode;\n }\n activator = el;\n } else if (typeof selector === 'string') {\n // Selector\n activator = document.querySelector(selector);\n } else if ('$el' in selector) {\n // Component (ref)\n activator = selector.$el;\n } else {\n // HTMLElement | Element\n activator = selector;\n }\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : null;\n return activatorEl.value;\n }\n}\n//# sourceMappingURL=useActivator.mjs.map","// Composables\nimport { useDisplay } from \"./display.mjs\"; // Utilities\nimport { onMounted, shallowRef } from 'vue';\nimport { IN_BROWSER } from \"../util/index.mjs\";\nexport function useHydration() {\n if (!IN_BROWSER) return shallowRef(false);\n const {\n ssr\n } = useDisplay();\n if (ssr) {\n const isMounted = shallowRef(false);\n onMounted(() => {\n isMounted.value = true;\n });\n return isMounted;\n } else {\n return shallowRef(true);\n }\n}\n//# sourceMappingURL=hydration.mjs.map","// Utilities\nimport { computed, shallowRef, watch } from 'vue';\nimport { propsFactory } from \"../util/index.mjs\"; // Types\nexport const makeLazyProps = propsFactory({\n eager: Boolean\n}, 'lazy');\nexport function useLazy(props, active) {\n const isBooted = shallowRef(false);\n const hasContent = computed(() => isBooted.value || props.eager || active.value);\n watch(active, () => isBooted.value = true);\n function onAfterLeave() {\n if (!props.eager) isBooted.value = false;\n }\n return {\n isBooted,\n hasContent,\n onAfterLeave\n };\n}\n//# sourceMappingURL=lazy.mjs.map","// Composables\nimport { useToggleScope } from \"./toggleScope.mjs\"; // Utilities\nimport { computed, inject, onScopeDispose, provide, reactive, readonly, shallowRef, toRaw, watchEffect } from 'vue';\nimport { getCurrentInstance } from \"../util/index.mjs\"; // Types\nconst StackSymbol = Symbol.for('vuetify:stack');\nconst globalStack = reactive([]);\nexport function useStack(isActive, zIndex, disableGlobalStack) {\n const vm = getCurrentInstance('useStack');\n const createStackEntry = !disableGlobalStack;\n const parent = inject(StackSymbol, undefined);\n const stack = reactive({\n activeChildren: new Set()\n });\n provide(StackSymbol, stack);\n const _zIndex = shallowRef(+zIndex.value);\n useToggleScope(isActive, () => {\n const lastZIndex = globalStack.at(-1)?.[1];\n _zIndex.value = lastZIndex ? lastZIndex + 10 : +zIndex.value;\n if (createStackEntry) {\n globalStack.push([vm.uid, _zIndex.value]);\n }\n parent?.activeChildren.add(vm.uid);\n onScopeDispose(() => {\n if (createStackEntry) {\n const idx = toRaw(globalStack).findIndex(v => v[0] === vm.uid);\n globalStack.splice(idx, 1);\n }\n parent?.activeChildren.delete(vm.uid);\n });\n });\n const globalTop = shallowRef(true);\n if (createStackEntry) {\n watchEffect(() => {\n const _isTop = globalStack.at(-1)?.[0] === vm.uid;\n setTimeout(() => globalTop.value = _isTop);\n });\n }\n const localTop = computed(() => !stack.activeChildren.size);\n return {\n globalTop: readonly(globalTop),\n localTop,\n stackStyles: computed(() => ({\n zIndex: _zIndex.value\n }))\n };\n}\n//# sourceMappingURL=stack.mjs.map","// Utilities\nimport { computed, warn } from 'vue';\nimport { IN_BROWSER } from \"../util/index.mjs\"; // Types\nexport function useTeleport(target) {\n const teleportTarget = computed(() => {\n const _target = target.value;\n if (_target === true || !IN_BROWSER) return undefined;\n const targetElement = _target === false ? document.body : typeof _target === 'string' ? document.querySelector(_target) : _target;\n if (targetElement == null) {\n warn(`Unable to locate target ${_target}`);\n return undefined;\n }\n let container = targetElement.querySelector(':scope > .v-overlay-container');\n if (!container) {\n container = document.createElement('div');\n container.className = 'v-overlay-container';\n targetElement.appendChild(container);\n }\n return container;\n });\n return {\n teleportTarget\n };\n}\n//# sourceMappingURL=teleport.mjs.map","// Utilities\nimport { attachedRoot } from \"../../util/index.mjs\"; // Types\nfunction defaultConditional() {\n return true;\n}\nfunction checkEvent(e, el, binding) {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false;\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el);\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot && root.host === e.target) return false;\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = (typeof binding.value === 'object' && binding.value.include || (() => []))();\n // Add the root element for the component this directive was defined on\n elements.push(el);\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el?.contains(e.target));\n}\nfunction checkIsActive(e, binding) {\n const isActive = typeof binding.value === 'object' && binding.value.closeConditional || defaultConditional;\n return isActive(e);\n}\nfunction directive(e, el, binding) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler;\n el._clickOutside.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e);\n }, 0);\n}\nfunction handleShadow(el, callback) {\n const root = attachedRoot(el);\n callback(document);\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root);\n }\n}\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n mounted(el, binding) {\n const onClick = e => directive(e, el, binding);\n const onMousedown = e => {\n el._clickOutside.lastMousedownWasOutside = checkEvent(e, el, binding);\n };\n handleShadow(el, app => {\n app.addEventListener('click', onClick, true);\n app.addEventListener('mousedown', onMousedown, true);\n });\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: false\n };\n }\n el._clickOutside[binding.instance.$.uid] = {\n onClick,\n onMousedown\n };\n },\n unmounted(el, binding) {\n if (!el._clickOutside) return;\n handleShadow(el, app => {\n if (!app || !el._clickOutside?.[binding.instance.$.uid]) return;\n const {\n onClick,\n onMousedown\n } = el._clickOutside[binding.instance.$.uid];\n app.removeEventListener('click', onClick, true);\n app.removeEventListener('mousedown', onMousedown, true);\n });\n delete el._clickOutside[binding.instance.$.uid];\n }\n};\nexport default ClickOutside;\n//# sourceMappingURL=index.mjs.map","import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, vShow as _vShow, Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VOverlay.css\";\n\n// Composables\nimport { makeLocationStrategyProps, useLocationStrategies } from \"./locationStrategies.mjs\";\nimport { makeScrollStrategyProps, useScrollStrategies } from \"./scrollStrategies.mjs\";\nimport { makeActivatorProps, useActivator } from \"./useActivator.mjs\";\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { useHydration } from \"../../composables/hydration.mjs\";\nimport { makeLazyProps, useLazy } from \"../../composables/lazy.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { useBackButton, useRouter } from \"../../composables/router.mjs\";\nimport { useScopeId } from \"../../composables/scopeId.mjs\";\nimport { useStack } from \"../../composables/stack.mjs\";\nimport { useTeleport } from \"../../composables/teleport.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { useToggleScope } from \"../../composables/toggleScope.mjs\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.mjs\"; // Directives\nimport { ClickOutside } from \"../../directives/click-outside/index.mjs\"; // Utilities\nimport { computed, mergeProps, ref, Teleport, toRef, Transition, watch } from 'vue';\nimport { animate, convertToUnit, genericComponent, getScrollParent, IN_BROWSER, propsFactory, standardEasing, useRender } from \"../../util/index.mjs\"; // Types\nfunction Scrim(props) {\n const {\n modelValue,\n color,\n ...rest\n } = props;\n return _createVNode(Transition, {\n \"name\": \"fade-transition\",\n \"appear\": true\n }, {\n default: () => [props.modelValue && _createVNode(\"div\", _mergeProps({\n \"class\": ['v-overlay__scrim', props.color.backgroundColorClasses.value],\n \"style\": props.color.backgroundColorStyles.value\n }, rest), null)]\n });\n}\nexport const makeVOverlayProps = propsFactory({\n absolute: Boolean,\n attach: [Boolean, String, Object],\n closeOnBack: {\n type: Boolean,\n default: true\n },\n contained: Boolean,\n contentClass: null,\n contentProps: null,\n disabled: Boolean,\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [String, Boolean],\n default: true\n },\n zIndex: {\n type: [Number, String],\n default: 2000\n },\n ...makeActivatorProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps()\n}, 'VOverlay');\nexport const VOverlay = genericComponent()({\n name: 'VOverlay',\n directives: {\n ClickOutside\n },\n inheritAttrs: false,\n props: {\n _disableGlobalStack: Boolean,\n ...makeVOverlayProps()\n },\n emits: {\n 'click:outside': e => true,\n 'update:modelValue': value => true,\n afterLeave: () => true\n },\n setup(props, _ref) {\n let {\n slots,\n attrs,\n emit\n } = _ref;\n const model = useProxiedModel(props, 'modelValue');\n const isActive = computed({\n get: () => model.value,\n set: v => {\n if (!(v && props.disabled)) model.value = v;\n }\n });\n const {\n teleportTarget\n } = useTeleport(computed(() => props.attach || props.contained));\n const {\n themeClasses\n } = provideTheme(props);\n const {\n rtlClasses,\n isRtl\n } = useRtl();\n const {\n hasContent,\n onAfterLeave\n } = useLazy(props, isActive);\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null;\n }));\n const {\n globalTop,\n localTop,\n stackStyles\n } = useStack(isActive, toRef(props, 'zIndex'), props._disableGlobalStack);\n const {\n activatorEl,\n activatorRef,\n activatorEvents,\n contentEvents,\n scrimEvents\n } = useActivator(props, {\n isActive,\n isTop: localTop\n });\n const {\n dimensionStyles\n } = useDimension(props);\n const isMounted = useHydration();\n const {\n scopeId\n } = useScopeId();\n watch(() => props.disabled, v => {\n if (v) isActive.value = false;\n });\n const root = ref();\n const contentEl = ref();\n const {\n contentStyles,\n updateLocation\n } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n activatorEl,\n isActive\n });\n useScrollStrategies(props, {\n root,\n contentEl,\n activatorEl,\n isActive,\n updateLocation\n });\n function onClickOutside(e) {\n emit('click:outside', e);\n if (!props.persistent) isActive.value = false;else animateClick();\n }\n function closeConditional() {\n return isActive.value && globalTop.value;\n }\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown);\n } else {\n window.removeEventListener('keydown', onKeydown);\n }\n }, {\n immediate: true\n });\n function onKeydown(e) {\n if (e.key === 'Escape' && globalTop.value) {\n if (!props.persistent) {\n isActive.value = false;\n if (contentEl.value?.contains(document.activeElement)) {\n activatorEl.value?.focus();\n }\n } else animateClick();\n }\n }\n const router = useRouter();\n useToggleScope(() => props.closeOnBack, () => {\n useBackButton(router, next => {\n if (globalTop.value && isActive.value) {\n next(false);\n if (!props.persistent) isActive.value = false;else animateClick();\n } else {\n next();\n }\n });\n });\n const top = ref();\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value);\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop;\n }\n }\n });\n\n // Add a quick \"bounce\" animation to the content\n function animateClick() {\n if (props.noClickAnimation) return;\n contentEl.value && animate(contentEl.value, [{\n transformOrigin: 'center'\n }, {\n transform: 'scale(1.03)'\n }, {\n transformOrigin: 'center'\n }], {\n duration: 150,\n easing: standardEasing\n });\n }\n useRender(() => _createVNode(_Fragment, null, [slots.activator?.({\n isActive: isActive.value,\n props: mergeProps({\n ref: activatorRef\n }, activatorEvents.value, props.activatorProps)\n }), isMounted.value && _createVNode(Teleport, {\n \"disabled\": !teleportTarget.value,\n \"to\": teleportTarget.value\n }, {\n default: () => [hasContent.value && _createVNode(\"div\", _mergeProps({\n \"class\": ['v-overlay', {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained\n }, themeClasses.value, rtlClasses.value, props.class],\n \"style\": [stackStyles.value, {\n top: convertToUnit(top.value)\n }, props.style],\n \"ref\": root\n }, scopeId, attrs), [_createVNode(Scrim, _mergeProps({\n \"color\": scrimColor,\n \"modelValue\": isActive.value && !!props.scrim\n }, scrimEvents.value), null), _createVNode(MaybeTransition, {\n \"appear\": true,\n \"persisted\": true,\n \"transition\": props.transition,\n \"target\": activatorEl.value,\n \"onAfterLeave\": () => {\n onAfterLeave();\n emit('afterLeave');\n }\n }, {\n default: () => [_withDirectives(_createVNode(\"div\", _mergeProps({\n \"ref\": contentEl,\n \"class\": ['v-overlay__content', props.contentClass],\n \"style\": [dimensionStyles.value, contentStyles.value]\n }, contentEvents.value, props.contentProps), [slots.default?.({\n isActive\n })]), [[_vShow, isActive.value], [_resolveDirective(\"click-outside\"), {\n handler: onClickOutside,\n closeConditional,\n include: () => [activatorEl.value]\n }]])]\n })])]\n })]));\n return {\n activatorEl,\n animateClick,\n contentEl,\n globalTop,\n localTop,\n updateLocation\n };\n }\n});\n//# sourceMappingURL=VOverlay.mjs.map"],"names":["handlers","bindProps","el","props","k","isOn","name","eventName","handler","v","n","fn","_handler","unbindProps","attachedRoot","node","root","getScrollParent","hasScrollbar","getScrollParents","stopAt","elements","style","isFixedPosition","elementToViewport","point","offset","getOffset","a","b","anchorToPoint","anchor","box","side","align","x","y","locationStrategies","staticLocationStrategy","connectedLocationStrategy","makeLocationStrategyProps","propsFactory","val","useLocationStrategies","data","contentStyles","ref","updateLocation","IN_BROWSER","useToggleScope","reset","watch","onScopeDispose","_a","_b","onResize","e","getIntrinsicSize","isRtl","contentBox","nullifyTransforms","preferredAnchor","preferredOrigin","destructComputed","parsedAnchor","parseAnchor","parsedOrigin","flipSide","flipAlign","flipCorner","minWidth","minHeight","maxWidth","maxHeight","key","computed","observe","observer","_ref","_ref2","newActivatorEl","newContentEl","oldActivatorEl","oldContentEl","targetBox","scrollParents","viewportMargin","viewport","rect","scrollBox","Box","placement","checkOverflow","_placement","targetPoint","contentPoint","getOverflow","available","flipped","resets","_x","_y","overflows","axis","getAxis","hasOverflowX","hasOverflowY","newPlacement","flip","newOverflows","convertToUnit","pixelRound","pixelCeil","clamp","nextTick","result","clean","frames","requestNewFrame","cb","run","raf","frame","scrollStrategies","closeScrollStrategy","blockScrollStrategy","repositionScrollStrategy","makeScrollStrategyProps","useScrollStrategies","scope","watchEffect","effectScope","onScroll","bindScroll","offsetParent","scrollElements","scrollbarWidth","scrollableParent","i","slow","ric","update","start","VMenuSymbol","makeDelayProps","useDelay","delays","runDelayFactory","prop","active","resolve","delay","makeActivatorProps","useActivator","isActive","isTop","activatorEl","isHovered","isFocused","firstEnter","openOnFocus","openOnClick","runOpenDelay","runCloseDelay","value","availableEvents","SUPPORTS_FOCUS_VISIBLE","activatorEvents","events","contentEvents","menu","inject","scrimEvents","activatorRef","refElement","vm","getCurrentInstance","_useActivator","oldVal","activator","getActivator","unbindActivatorProps","bindActivatorProps","_props","mergeProps","selector","useHydration","shallowRef","ssr","useDisplay","isMounted","onMounted","makeLazyProps","useLazy","isBooted","hasContent","onAfterLeave","StackSymbol","globalStack","reactive","useStack","zIndex","disableGlobalStack","createStackEntry","parent","stack","provide","_zIndex","lastZIndex","idx","toRaw","globalTop","_isTop","localTop","readonly","useTeleport","target","_target","targetElement","container","defaultConditional","checkEvent","binding","checkIsActive","directive","handleShadow","callback","ClickOutside","onClick","onMousedown","app","Scrim","modelValue","color","rest","_createVNode","Transition","_mergeProps","makeVOverlayProps","makeComponentProps","makeDimensionProps","makeThemeProps","makeTransitionProps","VOverlay","genericComponent","slots","attrs","emit","model","useProxiedModel","teleportTarget","themeClasses","provideTheme","rtlClasses","useRtl","scrimColor","useBackgroundColor","stackStyles","toRef","dimensionStyles","useDimension","scopeId","useScopeId","contentEl","onClickOutside","animateClick","closeConditional","onKeydown","router","useRouter","useBackButton","next","top","scrollParent","animate","standardEasing","useRender","_Fragment","Teleport","MaybeTransition","_withDirectives","_vShow","_resolveDirective"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}