cmms/frontend/node_modules/.vite/deps/vuetify_components_VSnackba...

1806 lines
53 KiB
JavaScript

import "./chunk-QIPKHCUH.js";
import {
useDisplay
} from "./chunk-ACMZNI3W.js";
import {
VuetifyLayoutKey,
useLayout
} from "./chunk-CTAMZJJN.js";
import {
VDefaultsProvider,
VProgressLinear,
genOverlays,
makeLocationProps,
makePositionProps,
makeRoundedProps,
makeVariantProps,
useBackButton,
usePosition,
useRounded,
useRouter,
useVariant
} from "./chunk-2NYZXKZU.js";
import {
makeDimensionProps,
useDimension
} from "./chunk-4E7YEL5Q.js";
import "./chunk-P6FAB7CJ.js";
import {
useProxiedModel,
useRtl,
useToggleScope
} from "./chunk-QN4ZFON4.js";
import {
useBackgroundColor
} from "./chunk-NW4NIPSU.js";
import "./chunk-JH5IUXR2.js";
import {
makeThemeProps,
provideTheme
} from "./chunk-ILOYNRQG.js";
import {
Box,
CircularBuffer,
IN_BROWSER,
animate,
attachedRoot,
bindProps,
clamp,
consoleError,
convertToUnit,
deepEqual,
defer,
destructComputed,
flipAlign,
flipCorner,
flipSide,
genericComponent,
getAxis,
getCurrentInstance,
getElementBox,
getOverflow,
getScrollParent,
getScrollParents,
getTargetBox,
hasScrollbar,
isFixedPosition,
isObject,
makeComponentProps,
matchesSelector,
nullifyTransforms,
omit,
onlyDefinedProps,
parseAnchor,
propsFactory,
refElement,
standardEasing,
templateRef,
unbindProps,
useRender
} from "./chunk-ADPJOAU6.js";
import {
Fragment,
Teleport,
Transition,
TransitionGroup,
computed,
createBaseVNode,
createVNode,
effectScope,
h,
inject,
mergeProps,
nextTick,
onBeforeUnmount,
onMounted,
onScopeDispose,
provide,
reactive,
readonly,
ref,
shallowRef,
toRaw,
toRef,
toValue,
vShow,
warn,
watch,
watchEffect,
withDirectives
} from "./chunk-FIAHBV72.js";
import "./chunk-DC5AMYBS.js";
// node_modules/vuetify/lib/components/VSnackbar/VSnackbar.js
import "/Users/JasonJFraser/Desktop/apps/cmms/frontend/node_modules/vuetify/lib/components/VSnackbar/VSnackbar.css";
// node_modules/vuetify/lib/components/VOverlay/VOverlay.js
import "/Users/JasonJFraser/Desktop/apps/cmms/frontend/node_modules/vuetify/lib/components/VOverlay/VOverlay.css";
// node_modules/vuetify/lib/components/VOverlay/util/point.js
function elementToViewport(point, offset) {
return {
x: point.x + offset.x,
y: point.y + offset.y
};
}
function getOffset(a, b) {
return {
x: a.x - b.x,
y: a.y - b.y
};
}
function anchorToPoint(anchor, box) {
if (anchor.side === "top" || anchor.side === "bottom") {
const {
side,
align
} = anchor;
const x = align === "left" ? 0 : align === "center" ? box.width / 2 : align === "right" ? box.width : align;
const y = side === "top" ? 0 : side === "bottom" ? box.height : side;
return elementToViewport({
x,
y
}, box);
} else if (anchor.side === "left" || anchor.side === "right") {
const {
side,
align
} = anchor;
const x = side === "left" ? 0 : side === "right" ? box.width : side;
const y = align === "top" ? 0 : align === "center" ? box.height / 2 : align === "bottom" ? box.height : align;
return elementToViewport({
x,
y
}, box);
}
return elementToViewport({
x: box.width / 2,
y: box.height / 2
}, box);
}
// node_modules/vuetify/lib/components/VOverlay/locationStrategies.js
var locationStrategies = {
static: staticLocationStrategy,
// specific viewport position, usually centered
connected: connectedLocationStrategy
// connected to a certain element
};
var makeLocationStrategyProps = propsFactory({
locationStrategy: {
type: [String, Function],
default: "static",
validator: (val) => typeof val === "function" || val in locationStrategies
},
location: {
type: String,
default: "bottom"
},
origin: {
type: String,
default: "auto"
},
offset: [Number, String, Array]
}, "VOverlay-location-strategies");
function useLocationStrategies(props, data) {
const contentStyles = ref({});
const updateLocation = ref();
if (IN_BROWSER) {
useToggleScope(() => !!(data.isActive.value && props.locationStrategy), (reset) => {
var _a, _b;
watch(() => props.locationStrategy, reset);
onScopeDispose(() => {
window.removeEventListener("resize", onResize);
visualViewport == null ? void 0 : visualViewport.removeEventListener("resize", onVisualResize);
visualViewport == null ? void 0 : visualViewport.removeEventListener("scroll", onVisualScroll);
updateLocation.value = void 0;
});
window.addEventListener("resize", onResize, {
passive: true
});
visualViewport == null ? void 0 : visualViewport.addEventListener("resize", onVisualResize, {
passive: true
});
visualViewport == null ? void 0 : visualViewport.addEventListener("scroll", onVisualScroll, {
passive: true
});
if (typeof props.locationStrategy === "function") {
updateLocation.value = (_a = props.locationStrategy(data, props, contentStyles)) == null ? void 0 : _a.updateLocation;
} else {
updateLocation.value = (_b = locationStrategies[props.locationStrategy](data, props, contentStyles)) == null ? void 0 : _b.updateLocation;
}
});
}
function onResize(e) {
var _a;
(_a = updateLocation.value) == null ? void 0 : _a.call(updateLocation, e);
}
function onVisualResize(e) {
var _a;
(_a = updateLocation.value) == null ? void 0 : _a.call(updateLocation, e);
}
function onVisualScroll(e) {
var _a;
(_a = updateLocation.value) == null ? void 0 : _a.call(updateLocation, e);
}
return {
contentStyles,
updateLocation
};
}
function staticLocationStrategy() {
}
function getIntrinsicSize(el, isRtl) {
const contentBox = nullifyTransforms(el);
if (isRtl) {
contentBox.x += parseFloat(el.style.right || 0);
} else {
contentBox.x -= parseFloat(el.style.left || 0);
}
contentBox.y -= parseFloat(el.style.top || 0);
return contentBox;
}
function connectedLocationStrategy(data, props, contentStyles) {
const activatorFixed = Array.isArray(data.target.value) || isFixedPosition(data.target.value);
if (activatorFixed) {
Object.assign(contentStyles.value, {
position: "fixed",
top: 0,
[data.isRtl.value ? "right" : "left"]: 0
});
}
const {
preferredAnchor,
preferredOrigin
} = destructComputed(() => {
const parsedAnchor = parseAnchor(props.location, data.isRtl.value);
const parsedOrigin = props.origin === "overlap" ? parsedAnchor : props.origin === "auto" ? flipSide(parsedAnchor) : parseAnchor(props.origin, data.isRtl.value);
if (parsedAnchor.side === parsedOrigin.side && parsedAnchor.align === flipAlign(parsedOrigin).align) {
return {
preferredAnchor: flipCorner(parsedAnchor),
preferredOrigin: flipCorner(parsedOrigin)
};
} else {
return {
preferredAnchor: parsedAnchor,
preferredOrigin: parsedOrigin
};
}
});
const [minWidth, minHeight, maxWidth, maxHeight] = ["minWidth", "minHeight", "maxWidth", "maxHeight"].map((key) => {
return computed(() => {
const val = parseFloat(props[key]);
return isNaN(val) ? Infinity : val;
});
});
const offset = computed(() => {
if (Array.isArray(props.offset)) {
return props.offset;
}
if (typeof props.offset === "string") {
const offset2 = props.offset.split(" ").map(parseFloat);
if (offset2.length < 2) offset2.push(0);
return offset2;
}
return typeof props.offset === "number" ? [props.offset, 0] : [0, 0];
});
let observe = false;
let lastFrame = -1;
const flipped = new CircularBuffer(4);
const observer = new ResizeObserver(() => {
if (!observe) return;
requestAnimationFrame((newTime) => {
if (newTime !== lastFrame) flipped.clear();
requestAnimationFrame((newNewTime) => {
lastFrame = newNewTime;
});
});
if (flipped.isFull) {
const values = flipped.values();
if (deepEqual(values.at(-1), values.at(-3)) && !deepEqual(values.at(-1), values.at(-2))) {
return;
}
}
const result = updateLocation();
if (result) flipped.push(result.flipped);
});
let targetBox = new Box({
x: 0,
y: 0,
width: 0,
height: 0
});
watch(data.target, (newTarget, oldTarget) => {
if (oldTarget && !Array.isArray(oldTarget)) observer.unobserve(oldTarget);
if (!Array.isArray(newTarget)) {
if (newTarget) observer.observe(newTarget);
} else if (!deepEqual(newTarget, oldTarget)) {
updateLocation();
}
}, {
immediate: true
});
watch(data.contentEl, (newContentEl, oldContentEl) => {
if (oldContentEl) observer.unobserve(oldContentEl);
if (newContentEl) observer.observe(newContentEl);
}, {
immediate: true
});
onScopeDispose(() => {
observer.disconnect();
});
function updateLocation() {
observe = false;
requestAnimationFrame(() => observe = true);
if (!data.target.value || !data.contentEl.value) return;
if (Array.isArray(data.target.value) || data.target.value.offsetParent || data.target.value.getClientRects().length) {
targetBox = getTargetBox(data.target.value);
}
const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
const scrollParents = getScrollParents(data.contentEl.value);
const viewportMargin = 12;
if (!scrollParents.length) {
scrollParents.push(document.documentElement);
if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {
contentBox.x -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x") || 0);
contentBox.y -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y") || 0);
}
}
const viewport = scrollParents.reduce((box, el) => {
const scrollBox = getElementBox(el);
if (box) {
return new Box({
x: Math.max(box.left, scrollBox.left),
y: Math.max(box.top, scrollBox.top),
width: Math.min(box.right, scrollBox.right) - Math.max(box.left, scrollBox.left),
height: Math.min(box.bottom, scrollBox.bottom) - Math.max(box.top, scrollBox.top)
});
}
return scrollBox;
}, void 0);
viewport.x += viewportMargin;
viewport.y += viewportMargin;
viewport.width -= viewportMargin * 2;
viewport.height -= viewportMargin * 2;
let placement = {
anchor: preferredAnchor.value,
origin: preferredOrigin.value
};
function checkOverflow(_placement) {
const box = new Box(contentBox);
const targetPoint = anchorToPoint(_placement.anchor, targetBox);
const contentPoint = anchorToPoint(_placement.origin, box);
let {
x: x2,
y: y2
} = getOffset(targetPoint, contentPoint);
switch (_placement.anchor.side) {
case "top":
y2 -= offset.value[0];
break;
case "bottom":
y2 += offset.value[0];
break;
case "left":
x2 -= offset.value[0];
break;
case "right":
x2 += offset.value[0];
break;
}
switch (_placement.anchor.align) {
case "top":
y2 -= offset.value[1];
break;
case "bottom":
y2 += offset.value[1];
break;
case "left":
x2 -= offset.value[1];
break;
case "right":
x2 += offset.value[1];
break;
}
box.x += x2;
box.y += y2;
box.width = Math.min(box.width, maxWidth.value);
box.height = Math.min(box.height, maxHeight.value);
const overflows = getOverflow(box, viewport);
return {
overflows,
x: x2,
y: y2
};
}
let x = 0;
let y = 0;
const available = {
x: 0,
y: 0
};
const flipped2 = {
x: false,
y: false
};
let resets = -1;
while (true) {
if (resets++ > 10) {
consoleError("Infinite loop detected in connectedLocationStrategy");
break;
}
const {
x: _x,
y: _y,
overflows
} = checkOverflow(placement);
x += _x;
y += _y;
contentBox.x += _x;
contentBox.y += _y;
{
const axis2 = getAxis(placement.anchor);
const hasOverflowX = overflows.x.before || overflows.x.after;
const hasOverflowY = overflows.y.before || overflows.y.after;
let reset = false;
["x", "y"].forEach((key) => {
if (key === "x" && hasOverflowX && !flipped2.x || key === "y" && hasOverflowY && !flipped2.y) {
const newPlacement = {
anchor: {
...placement.anchor
},
origin: {
...placement.origin
}
};
const flip = key === "x" ? axis2 === "y" ? flipAlign : flipSide : axis2 === "y" ? flipSide : flipAlign;
newPlacement.anchor = flip(newPlacement.anchor);
newPlacement.origin = flip(newPlacement.origin);
const {
overflows: newOverflows
} = checkOverflow(newPlacement);
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) {
placement = newPlacement;
reset = flipped2[key] = true;
}
}
});
if (reset) continue;
}
if (overflows.x.before) {
x += overflows.x.before;
contentBox.x += overflows.x.before;
}
if (overflows.x.after) {
x -= overflows.x.after;
contentBox.x -= overflows.x.after;
}
if (overflows.y.before) {
y += overflows.y.before;
contentBox.y += overflows.y.before;
}
if (overflows.y.after) {
y -= overflows.y.after;
contentBox.y -= overflows.y.after;
}
{
const overflows2 = getOverflow(contentBox, viewport);
available.x = viewport.width - overflows2.x.before - overflows2.x.after;
available.y = viewport.height - overflows2.y.before - overflows2.y.after;
x += overflows2.x.before;
contentBox.x += overflows2.x.before;
y += overflows2.y.before;
contentBox.y += overflows2.y.before;
}
break;
}
const axis = getAxis(placement.anchor);
Object.assign(contentStyles.value, {
"--v-overlay-anchor-origin": `${placement.anchor.side} ${placement.anchor.align}`,
transformOrigin: `${placement.origin.side} ${placement.origin.align}`,
// transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,
top: convertToUnit(pixelRound(y)),
left: data.isRtl.value ? void 0 : convertToUnit(pixelRound(x)),
right: data.isRtl.value ? convertToUnit(pixelRound(-x)) : void 0,
minWidth: convertToUnit(axis === "y" ? Math.min(minWidth.value, targetBox.width) : minWidth.value),
maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),
maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value)))
});
return {
available,
contentBox,
flipped: flipped2
};
}
watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation());
nextTick(() => {
const result = updateLocation();
if (!result) return;
const {
available,
contentBox
} = result;
if (contentBox.height > available.y) {
requestAnimationFrame(() => {
updateLocation();
requestAnimationFrame(() => {
updateLocation();
});
});
}
});
return {
updateLocation
};
}
function pixelRound(val) {
return Math.round(val * devicePixelRatio) / devicePixelRatio;
}
function pixelCeil(val) {
return Math.ceil(val * devicePixelRatio) / devicePixelRatio;
}
// node_modules/vuetify/lib/components/VOverlay/requestNewFrame.js
var clean = true;
var frames = [];
function requestNewFrame(cb) {
if (!clean || frames.length) {
frames.push(cb);
run();
} else {
clean = false;
cb();
run();
}
}
var raf = -1;
function run() {
cancelAnimationFrame(raf);
raf = requestAnimationFrame(() => {
const frame = frames.shift();
if (frame) frame();
if (frames.length) run();
else clean = true;
});
}
// node_modules/vuetify/lib/components/VOverlay/scrollStrategies.js
var scrollStrategies = {
none: null,
close: closeScrollStrategy,
block: blockScrollStrategy,
reposition: repositionScrollStrategy
};
var makeScrollStrategyProps = propsFactory({
scrollStrategy: {
type: [String, Function],
default: "block",
validator: (val) => typeof val === "function" || val in scrollStrategies
}
}, "VOverlay-scroll-strategies");
function useScrollStrategies(props, data) {
if (!IN_BROWSER) return;
let scope;
watchEffect(async () => {
scope == null ? void 0 : scope.stop();
if (!(data.isActive.value && props.scrollStrategy)) return;
scope = effectScope();
await new Promise((resolve) => setTimeout(resolve));
scope.active && scope.run(() => {
var _a;
if (typeof props.scrollStrategy === "function") {
props.scrollStrategy(data, props, scope);
} else {
(_a = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _a.call(scrollStrategies, data, props, scope);
}
});
});
onScopeDispose(() => {
scope == null ? void 0 : scope.stop();
});
}
function closeScrollStrategy(data) {
function onScroll(e) {
data.isActive.value = false;
}
bindScroll(data.target.value ?? data.contentEl.value, onScroll);
}
function blockScrollStrategy(data, props) {
var _a;
const offsetParent = (_a = data.root.value) == null ? void 0 : _a.offsetParent;
const target = Array.isArray(data.target.value) ? document.elementFromPoint(...data.target.value) : data.target.value;
const scrollElements = [.../* @__PURE__ */ new Set([...getScrollParents(target, props.contained ? offsetParent : void 0), ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : void 0)])].filter((el) => !el.classList.contains("v-overlay-scroll-blocked"));
const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth;
const scrollableParent = ((el) => hasScrollbar(el) && el)(offsetParent || document.documentElement);
if (scrollableParent) {
data.root.value.classList.add("v-overlay--scroll-blocked");
}
scrollElements.forEach((el, i) => {
el.style.setProperty("--v-body-scroll-x", convertToUnit(-el.scrollLeft));
el.style.setProperty("--v-body-scroll-y", convertToUnit(-el.scrollTop));
if (el !== document.documentElement) {
el.style.setProperty("--v-scrollbar-offset", convertToUnit(scrollbarWidth));
}
el.classList.add("v-overlay-scroll-blocked");
});
onScopeDispose(() => {
scrollElements.forEach((el, i) => {
const x = parseFloat(el.style.getPropertyValue("--v-body-scroll-x"));
const y = parseFloat(el.style.getPropertyValue("--v-body-scroll-y"));
const scrollBehavior = el.style.scrollBehavior;
el.style.scrollBehavior = "auto";
el.style.removeProperty("--v-body-scroll-x");
el.style.removeProperty("--v-body-scroll-y");
el.style.removeProperty("--v-scrollbar-offset");
el.classList.remove("v-overlay-scroll-blocked");
el.scrollLeft = -x;
el.scrollTop = -y;
el.style.scrollBehavior = scrollBehavior;
});
if (scrollableParent) {
data.root.value.classList.remove("v-overlay--scroll-blocked");
}
});
}
function repositionScrollStrategy(data, props, scope) {
let slow = false;
let raf2 = -1;
let ric = -1;
function update(e) {
requestNewFrame(() => {
var _a, _b;
const start = performance.now();
(_b = (_a = data.updateLocation).value) == null ? void 0 : _b.call(_a, e);
const time = performance.now() - start;
slow = time / (1e3 / 60) > 2;
});
}
ric = (typeof requestIdleCallback === "undefined" ? (cb) => cb() : requestIdleCallback)(() => {
scope.run(() => {
bindScroll(data.target.value ?? data.contentEl.value, (e) => {
if (slow) {
cancelAnimationFrame(raf2);
raf2 = requestAnimationFrame(() => {
raf2 = requestAnimationFrame(() => {
update(e);
});
});
} else {
update(e);
}
});
});
});
onScopeDispose(() => {
typeof cancelIdleCallback !== "undefined" && cancelIdleCallback(ric);
cancelAnimationFrame(raf2);
});
}
function bindScroll(target, onScroll) {
const el = Array.isArray(target) ? document.elementFromPoint(...target) : target;
const scrollElements = [document, ...getScrollParents(el)];
scrollElements.forEach((el2) => {
el2.addEventListener("scroll", onScroll, {
passive: true
});
});
onScopeDispose(() => {
scrollElements.forEach((el2) => {
el2.removeEventListener("scroll", onScroll);
});
});
}
// node_modules/vuetify/lib/components/VMenu/shared.js
var VMenuSymbol = Symbol.for("vuetify:v-menu");
// node_modules/vuetify/lib/composables/delay.js
var makeDelayProps = propsFactory({
closeDelay: [Number, String],
openDelay: [Number, String]
}, "delay");
function useDelay(props, cb) {
let clearDelay = () => {
};
function runDelay(isOpening) {
clearDelay == null ? void 0 : clearDelay();
const delay = Number(isOpening ? props.openDelay : props.closeDelay);
return new Promise((resolve) => {
clearDelay = defer(delay, () => {
cb == null ? void 0 : cb(isOpening);
resolve(isOpening);
});
});
}
function runOpenDelay() {
return runDelay(true);
}
function runCloseDelay() {
return runDelay(false);
}
return {
clearDelay,
runOpenDelay,
runCloseDelay
};
}
// node_modules/vuetify/lib/components/VOverlay/useActivator.js
var makeActivatorProps = propsFactory({
target: [String, Object],
activator: [String, Object],
activatorProps: {
type: Object,
default: () => ({})
},
openOnClick: {
type: Boolean,
default: void 0
},
openOnHover: Boolean,
openOnFocus: {
type: Boolean,
default: void 0
},
closeOnContentClick: Boolean,
...makeDelayProps()
}, "VOverlay-activator");
function useActivator(props, _ref) {
let {
isActive,
isTop,
contentEl
} = _ref;
const vm = getCurrentInstance("useActivator");
const activatorEl = ref();
let isHovered = false;
let isFocused = false;
let firstEnter = true;
const openOnFocus = computed(() => props.openOnFocus || props.openOnFocus == null && props.openOnHover);
const openOnClick = computed(() => props.openOnClick || props.openOnClick == null && !props.openOnHover && !openOnFocus.value);
const {
runOpenDelay,
runCloseDelay
} = useDelay(props, (value) => {
if (value === (props.openOnHover && isHovered || openOnFocus.value && isFocused) && !(props.openOnHover && isActive.value && !isTop.value)) {
if (isActive.value !== value) {
firstEnter = true;
}
isActive.value = value;
}
});
const cursorTarget = ref();
const availableEvents = {
onClick: (e) => {
e.stopPropagation();
activatorEl.value = e.currentTarget || e.target;
if (!isActive.value) {
cursorTarget.value = [e.clientX, e.clientY];
}
isActive.value = !isActive.value;
},
onMouseenter: (e) => {
var _a;
if ((_a = e.sourceCapabilities) == null ? void 0 : _a.firesTouchEvents) return;
isHovered = true;
activatorEl.value = e.currentTarget || e.target;
runOpenDelay();
},
onMouseleave: (e) => {
isHovered = false;
runCloseDelay();
},
onFocus: (e) => {
if (matchesSelector(e.target, ":focus-visible") === false) return;
isFocused = true;
e.stopPropagation();
activatorEl.value = e.currentTarget || e.target;
runOpenDelay();
},
onBlur: (e) => {
isFocused = false;
e.stopPropagation();
runCloseDelay();
}
};
const activatorEvents = computed(() => {
const events = {};
if (openOnClick.value) {
events.onClick = availableEvents.onClick;
}
if (props.openOnHover) {
events.onMouseenter = availableEvents.onMouseenter;
events.onMouseleave = availableEvents.onMouseleave;
}
if (openOnFocus.value) {
events.onFocus = availableEvents.onFocus;
events.onBlur = availableEvents.onBlur;
}
return events;
});
const contentEvents = computed(() => {
const events = {};
if (props.openOnHover) {
events.onMouseenter = () => {
isHovered = true;
runOpenDelay();
};
events.onMouseleave = () => {
isHovered = false;
runCloseDelay();
};
}
if (openOnFocus.value) {
events.onFocusin = () => {
isFocused = true;
runOpenDelay();
};
events.onFocusout = () => {
isFocused = false;
runCloseDelay();
};
}
if (props.closeOnContentClick) {
const menu = inject(VMenuSymbol, null);
events.onClick = () => {
isActive.value = false;
menu == null ? void 0 : menu.closeParents();
};
}
return events;
});
const scrimEvents = computed(() => {
const events = {};
if (props.openOnHover) {
events.onMouseenter = () => {
if (firstEnter) {
isHovered = true;
firstEnter = false;
runOpenDelay();
}
};
events.onMouseleave = () => {
isHovered = false;
runCloseDelay();
};
}
return events;
});
watch(isTop, (val) => {
var _a;
if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !((_a = contentEl.value) == null ? void 0 : _a.contains(document.activeElement))) {
isActive.value = false;
}
});
watch(isActive, (val) => {
if (!val) {
setTimeout(() => {
cursorTarget.value = void 0;
});
}
}, {
flush: "post"
});
const activatorRef = templateRef();
watchEffect(() => {
if (!activatorRef.value) return;
nextTick(() => {
activatorEl.value = activatorRef.el;
});
});
const targetRef = templateRef();
const target = computed(() => {
if (props.target === "cursor" && cursorTarget.value) return cursorTarget.value;
if (targetRef.value) return targetRef.el;
return getTarget(props.target, vm) || activatorEl.value;
});
const targetEl = computed(() => {
return Array.isArray(target.value) ? void 0 : target.value;
});
let scope;
watch(() => !!props.activator, (val) => {
if (val && IN_BROWSER) {
scope = effectScope();
scope.run(() => {
_useActivator(props, vm, {
activatorEl,
activatorEvents
});
});
} else if (scope) {
scope.stop();
}
}, {
flush: "post",
immediate: true
});
onScopeDispose(() => {
scope == null ? void 0 : scope.stop();
});
return {
activatorEl,
activatorRef,
target,
targetEl,
targetRef,
activatorEvents,
contentEvents,
scrimEvents
};
}
function _useActivator(props, vm, _ref2) {
let {
activatorEl,
activatorEvents
} = _ref2;
watch(() => props.activator, (val, oldVal) => {
if (oldVal && val !== oldVal) {
const activator = getActivator(oldVal);
activator && unbindActivatorProps(activator);
}
if (val) {
nextTick(() => bindActivatorProps());
}
}, {
immediate: true
});
watch(() => props.activatorProps, () => {
bindActivatorProps();
});
onScopeDispose(() => {
unbindActivatorProps();
});
function bindActivatorProps() {
let el = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getActivator();
let _props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : props.activatorProps;
if (!el) return;
bindProps(el, mergeProps(activatorEvents.value, _props));
}
function unbindActivatorProps() {
let el = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getActivator();
let _props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : props.activatorProps;
if (!el) return;
unbindProps(el, mergeProps(activatorEvents.value, _props));
}
function getActivator() {
let selector = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : props.activator;
const activator = getTarget(selector, vm);
activatorEl.value = (activator == null ? void 0 : activator.nodeType) === Node.ELEMENT_NODE ? activator : void 0;
return activatorEl.value;
}
}
function getTarget(selector, vm) {
var _a, _b;
if (!selector) return;
let target;
if (selector === "parent") {
let el = (_b = (_a = vm == null ? void 0 : vm.proxy) == null ? void 0 : _a.$el) == null ? void 0 : _b.parentNode;
while (el == null ? void 0 : el.hasAttribute("data-no-activator")) {
el = el.parentNode;
}
target = el;
} else if (typeof selector === "string") {
target = document.querySelector(selector);
} else if ("$el" in selector) {
target = selector.$el;
} else {
target = selector;
}
return target;
}
// node_modules/vuetify/lib/composables/hydration.js
function useHydration() {
if (!IN_BROWSER) return shallowRef(false);
const {
ssr
} = useDisplay();
if (ssr) {
const isMounted = shallowRef(false);
onMounted(() => {
isMounted.value = true;
});
return isMounted;
} else {
return shallowRef(true);
}
}
// node_modules/vuetify/lib/composables/lazy.js
var makeLazyProps = propsFactory({
eager: Boolean
}, "lazy");
function useLazy(props, active) {
const isBooted = shallowRef(false);
const hasContent = toRef(() => isBooted.value || props.eager || active.value);
watch(active, () => isBooted.value = true);
function onAfterLeave() {
if (!props.eager) isBooted.value = false;
}
return {
isBooted,
hasContent,
onAfterLeave
};
}
// node_modules/vuetify/lib/composables/scopeId.js
function useScopeId() {
const vm = getCurrentInstance("useScopeId");
const scopeId = vm.vnode.scopeId;
return {
scopeId: scopeId ? {
[scopeId]: ""
} : void 0
};
}
// node_modules/vuetify/lib/composables/stack.js
var StackSymbol = Symbol.for("vuetify:stack");
var globalStack = reactive([]);
function useStack(isActive, zIndex, disableGlobalStack) {
const vm = getCurrentInstance("useStack");
const createStackEntry = !disableGlobalStack;
const parent = inject(StackSymbol, void 0);
const stack = reactive({
activeChildren: /* @__PURE__ */ new Set()
});
provide(StackSymbol, stack);
const _zIndex = shallowRef(Number(toValue(zIndex)));
useToggleScope(isActive, () => {
var _a;
const lastZIndex = (_a = globalStack.at(-1)) == null ? void 0 : _a[1];
_zIndex.value = lastZIndex ? lastZIndex + 10 : Number(toValue(zIndex));
if (createStackEntry) {
globalStack.push([vm.uid, _zIndex.value]);
}
parent == null ? void 0 : parent.activeChildren.add(vm.uid);
onScopeDispose(() => {
if (createStackEntry) {
const idx = toRaw(globalStack).findIndex((v) => v[0] === vm.uid);
globalStack.splice(idx, 1);
}
parent == null ? void 0 : parent.activeChildren.delete(vm.uid);
});
});
const globalTop = shallowRef(true);
if (createStackEntry) {
watchEffect(() => {
var _a;
const _isTop = ((_a = globalStack.at(-1)) == null ? void 0 : _a[0]) === vm.uid;
setTimeout(() => globalTop.value = _isTop);
});
}
const localTop = toRef(() => !stack.activeChildren.size);
return {
globalTop: readonly(globalTop),
localTop,
stackStyles: toRef(() => ({
zIndex: _zIndex.value
}))
};
}
// node_modules/vuetify/lib/composables/teleport.js
function useTeleport(target) {
const teleportTarget = computed(() => {
const _target = target();
if (_target === true || !IN_BROWSER) return void 0;
const targetElement = _target === false ? document.body : typeof _target === "string" ? document.querySelector(_target) : _target;
if (targetElement == null) {
warn(`Unable to locate target ${_target}`);
return void 0;
}
let container = [...targetElement.children].find((el) => el.matches(".v-overlay-container"));
if (!container) {
container = document.createElement("div");
container.className = "v-overlay-container";
targetElement.appendChild(container);
}
return container;
});
return {
teleportTarget
};
}
// node_modules/vuetify/lib/composables/transition.js
var makeTransitionProps = propsFactory({
transition: {
type: null,
default: "fade-transition",
validator: (val) => val !== true
}
}, "transition");
var MaybeTransition = (props, _ref) => {
let {
slots
} = _ref;
const {
transition,
disabled,
group,
...rest
} = props;
const {
component = group ? TransitionGroup : Transition,
...customProps
} = isObject(transition) ? transition : {};
let transitionProps;
if (isObject(transition)) {
transitionProps = mergeProps(customProps, onlyDefinedProps({
disabled,
group
}), rest);
} else {
transitionProps = mergeProps({
name: disabled || !transition ? "" : transition
}, rest);
}
return h(component, transitionProps, slots);
};
// node_modules/vuetify/lib/directives/click-outside/index.js
function defaultConditional() {
return true;
}
function checkEvent(e, el, binding) {
if (!e || checkIsActive(e, binding) === false) return false;
const root = attachedRoot(el);
if (typeof ShadowRoot !== "undefined" && root instanceof ShadowRoot && root.host === e.target) return false;
const elements = (typeof binding.value === "object" && binding.value.include || (() => []))();
elements.push(el);
return !elements.some((el2) => el2 == null ? void 0 : el2.contains(e.target));
}
function checkIsActive(e, binding) {
const isActive = typeof binding.value === "object" && binding.value.closeConditional || defaultConditional;
return isActive(e);
}
function directive(e, el, binding) {
const handler = typeof binding.value === "function" ? binding.value : binding.value.handler;
e.shadowTarget = e.target;
el._clickOutside.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {
checkIsActive(e, binding) && handler && handler(e);
}, 0);
}
function handleShadow(el, callback) {
const root = attachedRoot(el);
callback(document);
if (typeof ShadowRoot !== "undefined" && root instanceof ShadowRoot) {
callback(root);
}
}
var ClickOutside = {
// [data-app] may not be found
// if using bind, inserted makes
// sure that the root element is
// available, iOS does not support
// clicks on body
mounted(el, binding) {
const onClick = (e) => directive(e, el, binding);
const onMousedown = (e) => {
el._clickOutside.lastMousedownWasOutside = checkEvent(e, el, binding);
};
handleShadow(el, (app) => {
app.addEventListener("click", onClick, true);
app.addEventListener("mousedown", onMousedown, true);
});
if (!el._clickOutside) {
el._clickOutside = {
lastMousedownWasOutside: false
};
}
el._clickOutside[binding.instance.$.uid] = {
onClick,
onMousedown
};
},
beforeUnmount(el, binding) {
if (!el._clickOutside) return;
handleShadow(el, (app) => {
var _a;
if (!app || !((_a = el._clickOutside) == null ? void 0 : _a[binding.instance.$.uid])) return;
const {
onClick,
onMousedown
} = el._clickOutside[binding.instance.$.uid];
app.removeEventListener("click", onClick, true);
app.removeEventListener("mousedown", onMousedown, true);
});
delete el._clickOutside[binding.instance.$.uid];
}
};
var click_outside_default = ClickOutside;
// node_modules/vuetify/lib/components/VOverlay/VOverlay.js
function Scrim(props) {
const {
modelValue,
color,
...rest
} = props;
return createVNode(Transition, {
"name": "fade-transition",
"appear": true
}, {
default: () => [props.modelValue && createBaseVNode("div", mergeProps({
"class": ["v-overlay__scrim", props.color.backgroundColorClasses.value],
"style": props.color.backgroundColorStyles.value
}, rest), null)]
});
}
var makeVOverlayProps = propsFactory({
absolute: Boolean,
attach: [Boolean, String, Object],
closeOnBack: {
type: Boolean,
default: true
},
contained: Boolean,
contentClass: null,
contentProps: null,
disabled: Boolean,
opacity: [Number, String],
noClickAnimation: Boolean,
modelValue: Boolean,
persistent: Boolean,
scrim: {
type: [Boolean, String],
default: true
},
zIndex: {
type: [Number, String],
default: 2e3
},
...makeActivatorProps(),
...makeComponentProps(),
...makeDimensionProps(),
...makeLazyProps(),
...makeLocationStrategyProps(),
...makeScrollStrategyProps(),
...makeThemeProps(),
...makeTransitionProps()
}, "VOverlay");
var VOverlay = genericComponent()({
name: "VOverlay",
directives: {
vClickOutside: click_outside_default
},
inheritAttrs: false,
props: {
_disableGlobalStack: Boolean,
...makeVOverlayProps()
},
emits: {
"click:outside": (e) => true,
"update:modelValue": (value) => true,
keydown: (e) => true,
afterEnter: () => true,
afterLeave: () => true
},
setup(props, _ref) {
let {
slots,
attrs,
emit
} = _ref;
const vm = getCurrentInstance("VOverlay");
const root = ref();
const scrimEl = ref();
const contentEl = ref();
const model = useProxiedModel(props, "modelValue");
const isActive = computed({
get: () => model.value,
set: (v) => {
if (!(v && props.disabled)) model.value = v;
}
});
const {
themeClasses
} = provideTheme(props);
const {
rtlClasses,
isRtl
} = useRtl();
const {
hasContent,
onAfterLeave: _onAfterLeave
} = useLazy(props, isActive);
const scrimColor = useBackgroundColor(() => {
return typeof props.scrim === "string" ? props.scrim : null;
});
const {
globalTop,
localTop,
stackStyles
} = useStack(isActive, () => props.zIndex, props._disableGlobalStack);
const {
activatorEl,
activatorRef,
target,
targetEl,
targetRef,
activatorEvents,
contentEvents,
scrimEvents
} = useActivator(props, {
isActive,
isTop: localTop,
contentEl
});
const {
teleportTarget
} = useTeleport(() => {
var _a, _b, _c;
const target2 = props.attach || props.contained;
if (target2) return target2;
const rootNode = ((_a = activatorEl == null ? void 0 : activatorEl.value) == null ? void 0 : _a.getRootNode()) || ((_c = (_b = vm.proxy) == null ? void 0 : _b.$el) == null ? void 0 : _c.getRootNode());
if (rootNode instanceof ShadowRoot) return rootNode;
return false;
});
const {
dimensionStyles
} = useDimension(props);
const isMounted = useHydration();
const {
scopeId
} = useScopeId();
watch(() => props.disabled, (v) => {
if (v) isActive.value = false;
});
const {
contentStyles,
updateLocation
} = useLocationStrategies(props, {
isRtl,
contentEl,
target,
isActive
});
useScrollStrategies(props, {
root,
contentEl,
targetEl,
target,
isActive,
updateLocation
});
function onClickOutside(e) {
emit("click:outside", e);
if (!props.persistent) isActive.value = false;
else animateClick();
}
function closeConditional(e) {
return isActive.value && globalTop.value && // If using scrim, only close if clicking on it rather than anything opened on top
(!props.scrim || e.target === scrimEl.value || e instanceof MouseEvent && e.shadowTarget === scrimEl.value);
}
IN_BROWSER && watch(isActive, (val) => {
if (val) {
window.addEventListener("keydown", onKeydown);
} else {
window.removeEventListener("keydown", onKeydown);
}
}, {
immediate: true
});
onBeforeUnmount(() => {
if (!IN_BROWSER) return;
window.removeEventListener("keydown", onKeydown);
});
function onKeydown(e) {
var _a, _b, _c;
if (e.key === "Escape" && globalTop.value) {
if (!((_a = contentEl.value) == null ? void 0 : _a.contains(document.activeElement))) {
emit("keydown", e);
}
if (!props.persistent) {
isActive.value = false;
if ((_b = contentEl.value) == null ? void 0 : _b.contains(document.activeElement)) {
(_c = activatorEl.value) == null ? void 0 : _c.focus();
}
} else animateClick();
}
}
function onKeydownSelf(e) {
if (e.key === "Escape" && !globalTop.value) return;
emit("keydown", e);
}
const router = useRouter();
useToggleScope(() => props.closeOnBack, () => {
useBackButton(router, (next) => {
if (globalTop.value && isActive.value) {
next(false);
if (!props.persistent) isActive.value = false;
else animateClick();
} else {
next();
}
});
});
const top = ref();
watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, (val) => {
if (val) {
const scrollParent = getScrollParent(root.value);
if (scrollParent && scrollParent !== document.scrollingElement) {
top.value = scrollParent.scrollTop;
}
}
});
function animateClick() {
if (props.noClickAnimation) return;
contentEl.value && animate(contentEl.value, [{
transformOrigin: "center"
}, {
transform: "scale(1.03)"
}, {
transformOrigin: "center"
}], {
duration: 150,
easing: standardEasing
});
}
function onAfterEnter() {
emit("afterEnter");
}
function onAfterLeave() {
_onAfterLeave();
emit("afterLeave");
}
useRender(() => {
var _a;
return createBaseVNode(Fragment, null, [(_a = slots.activator) == null ? void 0 : _a.call(slots, {
isActive: isActive.value,
targetRef,
props: mergeProps({
ref: activatorRef
}, activatorEvents.value, props.activatorProps)
}), isMounted.value && hasContent.value && createVNode(Teleport, {
"disabled": !teleportTarget.value,
"to": teleportTarget.value
}, {
default: () => [createBaseVNode("div", mergeProps({
"class": ["v-overlay", {
"v-overlay--absolute": props.absolute || props.contained,
"v-overlay--active": isActive.value,
"v-overlay--contained": props.contained
}, themeClasses.value, rtlClasses.value, props.class],
"style": [stackStyles.value, {
"--v-overlay-opacity": props.opacity,
top: convertToUnit(top.value)
}, props.style],
"ref": root,
"onKeydown": onKeydownSelf
}, scopeId, attrs), [createVNode(Scrim, mergeProps({
"color": scrimColor,
"modelValue": isActive.value && !!props.scrim,
"ref": scrimEl
}, scrimEvents.value), null), createVNode(MaybeTransition, {
"appear": true,
"persisted": true,
"transition": props.transition,
"target": target.value,
"onAfterEnter": onAfterEnter,
"onAfterLeave": onAfterLeave
}, {
default: () => {
var _a2;
return [withDirectives(createBaseVNode("div", mergeProps({
"ref": contentEl,
"class": ["v-overlay__content", props.contentClass],
"style": [dimensionStyles.value, contentStyles.value]
}, contentEvents.value, props.contentProps), [(_a2 = slots.default) == null ? void 0 : _a2.call(slots, {
isActive
})]), [[vShow, isActive.value], [click_outside_default, {
handler: onClickOutside,
closeConditional,
include: () => [activatorEl.value]
}]])];
}
})])]
})]);
});
return {
activatorEl,
scrimEl,
target,
animateClick,
contentEl,
globalTop,
localTop,
updateLocation
};
}
});
// node_modules/vuetify/lib/composables/forwardRefs.js
var Refs = Symbol("Forwarded refs");
function getDescriptor(obj, key) {
let currentObj = obj;
while (currentObj) {
const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key);
if (descriptor) return descriptor;
currentObj = Object.getPrototypeOf(currentObj);
}
return void 0;
}
function forwardRefs(target) {
for (var _len = arguments.length, refs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
refs[_key - 1] = arguments[_key];
}
target[Refs] = refs;
return new Proxy(target, {
get(target2, key) {
if (Reflect.has(target2, key)) {
return Reflect.get(target2, key);
}
if (typeof key === "symbol" || key.startsWith("$") || key.startsWith("__")) return;
for (const ref2 of refs) {
if (ref2.value && Reflect.has(ref2.value, key)) {
const val = Reflect.get(ref2.value, key);
return typeof val === "function" ? val.bind(ref2.value) : val;
}
}
},
has(target2, key) {
if (Reflect.has(target2, key)) {
return true;
}
if (typeof key === "symbol" || key.startsWith("$") || key.startsWith("__")) return false;
for (const ref2 of refs) {
if (ref2.value && Reflect.has(ref2.value, key)) {
return true;
}
}
return false;
},
set(target2, key, value) {
if (Reflect.has(target2, key)) {
return Reflect.set(target2, key, value);
}
if (typeof key === "symbol" || key.startsWith("$") || key.startsWith("__")) return false;
for (const ref2 of refs) {
if (ref2.value && Reflect.has(ref2.value, key)) {
return Reflect.set(ref2.value, key, value);
}
}
return false;
},
getOwnPropertyDescriptor(target2, key) {
var _a;
const descriptor = Reflect.getOwnPropertyDescriptor(target2, key);
if (descriptor) return descriptor;
if (typeof key === "symbol" || key.startsWith("$") || key.startsWith("__")) return;
for (const ref2 of refs) {
if (!ref2.value) continue;
const descriptor2 = getDescriptor(ref2.value, key) ?? ("_" in ref2.value ? getDescriptor((_a = ref2.value._) == null ? void 0 : _a.setupState, key) : void 0);
if (descriptor2) return descriptor2;
}
for (const ref2 of refs) {
const childRefs = ref2.value && ref2.value[Refs];
if (!childRefs) continue;
const queue = childRefs.slice();
while (queue.length) {
const ref3 = queue.shift();
const descriptor2 = getDescriptor(ref3.value, key);
if (descriptor2) return descriptor2;
const childRefs2 = ref3.value && ref3.value[Refs];
if (childRefs2) queue.push(...childRefs2);
}
}
return void 0;
}
});
}
// node_modules/vuetify/lib/components/VSnackbar/VSnackbar.js
function useCountdown(milliseconds) {
const time = shallowRef(milliseconds());
let timer = -1;
function clear() {
clearInterval(timer);
}
function reset() {
clear();
nextTick(() => time.value = milliseconds());
}
function start(el) {
const style = el ? getComputedStyle(el) : {
transitionDuration: 0.2
};
const interval = parseFloat(style.transitionDuration) * 1e3 || 200;
clear();
if (time.value <= 0) return;
const startTime = performance.now();
timer = window.setInterval(() => {
const elapsed = performance.now() - startTime + interval;
time.value = Math.max(milliseconds() - elapsed, 0);
if (time.value <= 0) clear();
}, interval);
}
onScopeDispose(clear);
return {
clear,
time,
start,
reset
};
}
var makeVSnackbarProps = propsFactory({
multiLine: Boolean,
text: String,
timer: [Boolean, String],
timeout: {
type: [Number, String],
default: 5e3
},
vertical: Boolean,
...makeLocationProps({
location: "bottom"
}),
...makePositionProps(),
...makeRoundedProps(),
...makeVariantProps(),
...makeThemeProps(),
...omit(makeVOverlayProps({
transition: "v-snackbar-transition"
}), ["persistent", "noClickAnimation", "scrim", "scrollStrategy"])
}, "VSnackbar");
var VSnackbar = genericComponent()({
name: "VSnackbar",
props: makeVSnackbarProps(),
emits: {
"update:modelValue": (v) => true
},
setup(props, _ref) {
let {
slots
} = _ref;
const isActive = useProxiedModel(props, "modelValue");
const {
positionClasses
} = usePosition(props);
const {
scopeId
} = useScopeId();
const {
themeClasses
} = provideTheme(props);
const {
colorClasses,
colorStyles,
variantClasses
} = useVariant(props);
const {
roundedClasses
} = useRounded(props);
const countdown = useCountdown(() => Number(props.timeout));
const overlay = ref();
const timerRef = ref();
const isHovering = shallowRef(false);
const startY = shallowRef(0);
const mainStyles = ref();
const hasLayout = inject(VuetifyLayoutKey, void 0);
useToggleScope(() => !!hasLayout, () => {
const layout = useLayout();
watchEffect(() => {
mainStyles.value = layout.mainStyles.value;
});
});
watch(isActive, startTimeout);
watch(() => props.timeout, startTimeout);
onMounted(() => {
if (isActive.value) startTimeout();
});
let activeTimeout = -1;
function startTimeout() {
countdown.reset();
window.clearTimeout(activeTimeout);
const timeout = Number(props.timeout);
if (!isActive.value || timeout === -1) return;
const element = refElement(timerRef.value);
countdown.start(element);
activeTimeout = window.setTimeout(() => {
isActive.value = false;
}, timeout);
}
function clearTimeout() {
countdown.reset();
window.clearTimeout(activeTimeout);
}
function onPointerenter() {
isHovering.value = true;
clearTimeout();
}
function onPointerleave() {
isHovering.value = false;
startTimeout();
}
function onTouchstart(event) {
startY.value = event.touches[0].clientY;
}
function onTouchend(event) {
if (Math.abs(startY.value - event.changedTouches[0].clientY) > 50) {
isActive.value = false;
}
}
function onAfterLeave() {
if (isHovering.value) onPointerleave();
}
const locationClasses = computed(() => {
return props.location.split(" ").reduce((acc, loc) => {
acc[`v-snackbar--${loc}`] = true;
return acc;
}, {});
});
useRender(() => {
const overlayProps = VOverlay.filterProps(props);
const hasContent = !!(slots.default || slots.text || props.text);
return createVNode(VOverlay, mergeProps({
"ref": overlay,
"class": ["v-snackbar", {
"v-snackbar--active": isActive.value,
"v-snackbar--multi-line": props.multiLine && !props.vertical,
"v-snackbar--timer": !!props.timer,
"v-snackbar--vertical": props.vertical
}, locationClasses.value, positionClasses.value, props.class],
"style": [mainStyles.value, props.style]
}, overlayProps, {
"modelValue": isActive.value,
"onUpdate:modelValue": ($event) => isActive.value = $event,
"contentProps": mergeProps({
class: ["v-snackbar__wrapper", themeClasses.value, colorClasses.value, roundedClasses.value, variantClasses.value],
style: [colorStyles.value],
onPointerenter,
onPointerleave
}, overlayProps.contentProps),
"persistent": true,
"noClickAnimation": true,
"scrim": false,
"scrollStrategy": "none",
"_disableGlobalStack": true,
"onTouchstartPassive": onTouchstart,
"onTouchend": onTouchend,
"onAfterLeave": onAfterLeave
}, scopeId), {
default: () => {
var _a, _b;
return [genOverlays(false, "v-snackbar"), props.timer && !isHovering.value && createBaseVNode("div", {
"key": "timer",
"class": "v-snackbar__timer"
}, [createVNode(VProgressLinear, {
"ref": timerRef,
"color": typeof props.timer === "string" ? props.timer : "info",
"max": props.timeout,
"modelValue": countdown.time.value
}, null)]), hasContent && createBaseVNode("div", {
"key": "content",
"class": "v-snackbar__content",
"role": "status",
"aria-live": "polite"
}, [((_a = slots.text) == null ? void 0 : _a.call(slots)) ?? props.text, (_b = slots.default) == null ? void 0 : _b.call(slots)]), slots.actions && createVNode(VDefaultsProvider, {
"defaults": {
VBtn: {
variant: "text",
ripple: false,
slim: true
}
}
}, {
default: () => [createBaseVNode("div", {
"class": "v-snackbar__actions"
}, [slots.actions({
isActive
})])]
})];
},
activator: slots.activator
});
});
return forwardRefs({}, overlay);
}
});
export {
VSnackbar
};
//# sourceMappingURL=vuetify_components_VSnackbar.js.map