{"version":3,"file":"BJfX744F.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/transitions/dialog-transition.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/scopeId.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 let includeHidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n while (el) {\n if (includeHidden ? isPotentiallyScrollable(el) : 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}\nfunction isPotentiallyScrollable(el) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;\n const style = window.getComputedStyle(el);\n return ['scroll', 'auto'].includes(style.overflowY);\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","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Utilities\nimport { Transition } from 'vue';\nimport { acceleratedEasing, animate, deceleratedEasing, genericComponent, nullifyTransforms, propsFactory, standardEasing } from \"../../util/index.mjs\";\nimport { getTargetBox } from \"../../util/box.mjs\"; // Types\nexport const makeVDialogTransitionProps = propsFactory({\n target: [Object, Array]\n}, 'v-dialog-transition');\nexport const VDialogTransition = genericComponent()({\n name: 'VDialogTransition',\n props: makeVDialogTransitionProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const functions = {\n onBeforeEnter(el) {\n el.style.pointerEvents = 'none';\n el.style.visibility = 'hidden';\n },\n async onEnter(el, done) {\n await new Promise(resolve => requestAnimationFrame(resolve));\n await new Promise(resolve => requestAnimationFrame(resolve));\n el.style.visibility = '';\n const {\n x,\n y,\n sx,\n sy,\n speed\n } = getDimensions(props.target, el);\n const animation = animate(el, [{\n transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,\n opacity: 0\n }, {}], {\n duration: 225 * speed,\n easing: deceleratedEasing\n });\n getChildren(el)?.forEach(el => {\n animate(el, [{\n opacity: 0\n }, {\n opacity: 0,\n offset: 0.33\n }, {}], {\n duration: 225 * 2 * speed,\n easing: standardEasing\n });\n });\n animation.finished.then(() => done());\n },\n onAfterEnter(el) {\n el.style.removeProperty('pointer-events');\n },\n onBeforeLeave(el) {\n el.style.pointerEvents = 'none';\n },\n async onLeave(el, done) {\n await new Promise(resolve => requestAnimationFrame(resolve));\n const {\n x,\n y,\n sx,\n sy,\n speed\n } = getDimensions(props.target, el);\n const animation = animate(el, [{}, {\n transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,\n opacity: 0\n }], {\n duration: 125 * speed,\n easing: acceleratedEasing\n });\n animation.finished.then(() => done());\n getChildren(el)?.forEach(el => {\n animate(el, [{}, {\n opacity: 0,\n offset: 0.2\n }, {\n opacity: 0\n }], {\n duration: 125 * 2 * speed,\n easing: standardEasing\n });\n });\n },\n onAfterLeave(el) {\n el.style.removeProperty('pointer-events');\n }\n };\n return () => {\n return props.target ? _createVNode(Transition, _mergeProps({\n \"name\": \"dialog-transition\"\n }, functions, {\n \"css\": false\n }), slots) : _createVNode(Transition, {\n \"name\": \"dialog-transition\"\n }, slots);\n };\n }\n});\n\n/** Animatable children (card, sheet, list) */\nfunction getChildren(el) {\n const els = el.querySelector(':scope > .v-card, :scope > .v-sheet, :scope > .v-list')?.children;\n return els && [...els];\n}\nfunction getDimensions(target, el) {\n const targetBox = getTargetBox(target);\n const elBox = nullifyTransforms(el);\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v));\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ');\n let offsetX = targetBox.left + targetBox.width / 2;\n if (anchorSide === 'left' || anchorOffset === 'left') {\n offsetX -= targetBox.width / 2;\n } else if (anchorSide === 'right' || anchorOffset === 'right') {\n offsetX += targetBox.width / 2;\n }\n let offsetY = targetBox.top + targetBox.height / 2;\n if (anchorSide === 'top' || anchorOffset === 'top') {\n offsetY -= targetBox.height / 2;\n } else if (anchorSide === 'bottom' || anchorOffset === 'bottom') {\n offsetY += targetBox.height / 2;\n }\n const tsx = targetBox.width / elBox.width;\n const tsy = targetBox.height / elBox.height;\n const maxs = Math.max(1, tsx, tsy);\n const sx = tsx / maxs || 0;\n const sy = tsy / maxs || 0;\n\n // Animate elements larger than 12% of the screen area up to 1.5x slower\n const asa = elBox.width * elBox.height / (window.innerWidth * window.innerHeight);\n const speed = asa > 0.12 ? Math.min(1.5, (asa - 0.12) * 10 + 1) : 1;\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n sx,\n sy,\n speed\n };\n}\n//# sourceMappingURL=dialog-transition.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, getTargetBox } 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 if (isRtl) {\n el.style.removeProperty('left');\n } else {\n el.style.removeProperty('right');\n }\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 = Array.isArray(data.target.value) || isFixedPosition(data.target.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.target, data.contentEl], (_ref, _ref2) => {\n let [newTarget, newContentEl] = _ref;\n let [oldTarget, oldContentEl] = _ref2;\n if (oldTarget && !Array.isArray(oldTarget)) observer.unobserve(oldTarget);\n if (newTarget && !Array.isArray(newTarget)) observer.observe(newTarget);\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.target.value || !data.contentEl.value) return;\n const targetBox = getTargetBox(data.target.value);\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.targetEl.value ?? data.contentEl.value, onScroll);\n}\nfunction blockScrollStrategy(data, props) {\n const offsetParent = data.root.value?.offsetParent;\n const scrollElements = [...new Set([...getScrollParents(data.targetEl.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 if (el !== document.documentElement) {\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth));\n }\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.targetEl.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, matchesSelector, propsFactory, refElement, unbindProps } from \"../../util/index.mjs\"; // Types\nexport const makeActivatorProps = propsFactory({\n target: [String, Object],\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 vm = getCurrentInstance('useActivator');\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 cursorTarget = ref();\n const availableEvents = {\n onClick: e => {\n e.stopPropagation();\n activatorEl.value = e.currentTarget || e.target;\n if (!isActive.value) {\n cursorTarget.value = [e.clientX, e.clientY];\n }\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 (matchesSelector(e.target, ':focus-visible') === false) 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 watch(isActive, val => {\n if (!val) {\n setTimeout(() => {\n cursorTarget.value = undefined;\n });\n }\n }, {\n flush: 'post'\n });\n const activatorRef = ref();\n watchEffect(() => {\n if (!activatorRef.value) return;\n nextTick(() => {\n activatorEl.value = refElement(activatorRef.value);\n });\n });\n const targetRef = ref();\n const target = computed(() => {\n if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value;\n if (targetRef.value) return refElement(targetRef.value);\n return getTarget(props.target, vm) || activatorEl.value;\n });\n const targetEl = computed(() => {\n return Array.isArray(target.value) ? undefined : target.value;\n });\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 target,\n targetEl,\n targetRef,\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 const activator = getTarget(selector, vm);\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : undefined;\n return activatorEl.value;\n }\n}\nfunction getTarget(selector, vm) {\n if (!selector) return;\n let target;\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode;\n while (el?.hasAttribute('data-no-activator')) {\n el = el.parentNode;\n }\n target = el;\n } else if (typeof selector === 'string') {\n // Selector\n target = document.querySelector(selector);\n } else if ('$el' in selector) {\n // Component (ref)\n target = selector.$el;\n } else {\n // HTMLElement | Element | [x, y]\n target = selector;\n }\n return target;\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","// Utilities\nimport { getCurrentInstance } from \"../util/index.mjs\";\nexport function useScopeId() {\n const vm = getCurrentInstance('useScopeId');\n const scopeId = vm.vnode.scopeId;\n return {\n scopeId: scopeId ? {\n [scopeId]: ''\n } : undefined\n };\n}\n//# sourceMappingURL=scopeId.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: [Boolean, String],\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 target,\n targetEl,\n targetRef,\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 target,\n isActive\n });\n useScrollStrategies(props, {\n root,\n contentEl,\n targetEl,\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 targetRef\n }, activatorEvents.value, props.activatorProps)\n }), isMounted.value && hasContent.value && _createVNode(Teleport, {\n \"disabled\": !teleportTarget.value,\n \"to\": teleportTarget.value\n }, {\n default: () => [_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\": target.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 target,\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","includeHidden","isPotentiallyScrollable","hasScrollbar","getScrollParents","stopAt","elements","style","isFixedPosition","makeVDialogTransitionProps","propsFactory","VDialogTransition","genericComponent","_ref","slots","functions","done","resolve","x","y","sx","sy","speed","getDimensions","animation","animate","deceleratedEasing","_a","getChildren","standardEasing","acceleratedEasing","_createVNode","Transition","_mergeProps","els","target","targetBox","getTargetBox","elBox","nullifyTransforms","originX","originY","anchorSide","anchorOffset","offsetX","offsetY","tsx","tsy","maxs","asa","elementToViewport","point","offset","getOffset","a","b","anchorToPoint","anchor","box","side","align","locationStrategies","staticLocationStrategy","connectedLocationStrategy","makeLocationStrategyProps","val","useLocationStrategies","data","contentStyles","ref","updateLocation","IN_BROWSER","useToggleScope","reset","watch","onScopeDispose","_b","onResize","e","getIntrinsicSize","isRtl","contentBox","preferredAnchor","preferredOrigin","destructComputed","parsedAnchor","parseAnchor","parsedOrigin","flipSide","flipAlign","flipCorner","minWidth","minHeight","maxWidth","maxHeight","key","computed","observe","observer","_ref2","newTarget","newContentEl","oldTarget","oldContentEl","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","delay","makeActivatorProps","useActivator","isActive","isTop","vm","getCurrentInstance","activatorEl","isHovered","isFocused","firstEnter","openOnFocus","openOnClick","runOpenDelay","runCloseDelay","value","cursorTarget","availableEvents","matchesSelector","activatorEvents","events","contentEvents","menu","inject","scrimEvents","activatorRef","refElement","targetRef","getTarget","targetEl","_useActivator","oldVal","activator","getActivator","unbindActivatorProps","bindActivatorProps","_props","mergeProps","selector","useHydration","shallowRef","ssr","useDisplay","isMounted","onMounted","makeLazyProps","useLazy","isBooted","hasContent","onAfterLeave","useScopeId","scopeId","StackSymbol","globalStack","reactive","useStack","zIndex","disableGlobalStack","createStackEntry","parent","stack","provide","_zIndex","lastZIndex","idx","toRaw","globalTop","_isTop","localTop","readonly","useTeleport","_target","targetElement","container","defaultConditional","checkEvent","binding","checkIsActive","directive","handleShadow","callback","ClickOutside","onClick","onMousedown","app","Scrim","modelValue","color","rest","makeVOverlayProps","makeComponentProps","makeDimensionProps","makeThemeProps","makeTransitionProps","VOverlay","attrs","emit","model","useProxiedModel","teleportTarget","themeClasses","provideTheme","rtlClasses","useRtl","scrimColor","useBackgroundColor","stackStyles","toRef","dimensionStyles","useDimension","contentEl","onClickOutside","animateClick","closeConditional","onKeydown","router","useRouter","useBackButton","next","top","scrollParent","useRender","_Fragment","Teleport","MaybeTransition","_withDirectives","_vShow","_resolveDirective"],"mappings":"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","debug_id":"76460643-5fdf-5807-84a1-e0baf223b788"}