an-quasar-utils
Version:
`npm i an-quasar-utils` or `yarn add an-quasar-utils`
1,344 lines • 387 kB
JavaScript
(function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode('*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.mx-auto{margin-left:auto;margin-right:auto}.flex{display:flex}.h-full{height:100%}.w-full{width:100%}.min-w-28{min-width:7rem}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.\\!items-start{align-items:flex-start!important}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.\\!justify-between{justify-content:space-between!important}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-5{gap:1.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-solid{border-style:solid}.p-2{padding:.5rem}.p-5{padding:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-bold{font-weight:700}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\\[\\&\\>div\\>div\\:before\\]\\:\\!border-solid>div>div:before{border-style:solid!important}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
import { computed as d, markRaw as Ka, defineComponent as Un, reactive as xn, h as f, withDirectives as At, getCurrentInstance as ke, unref as pl, ref as J, onBeforeUnmount as at, Transition as Mt, onDeactivated as _n, nextTick as Le, watch as se, onMounted as jt, onUnmounted as Ti, Teleport as Vi, openBlock as Ae, createBlock as st, withCtx as Me, createVNode as Se, mergeProps as Qt, createElementVNode as Ue, toDisplayString as Ln, renderSlot as ot, createCommentVNode as Ie, provide as Ai, onActivated as wl, createElementBlock as Tt, onBeforeUpdate as Wa, inject as Di, onBeforeMount as Yn, onUpdated as Li, toRaw as Yt, useSlots as Qa, Fragment as Rn, createSlots as Zl, createTextVNode as Fi, normalizeClass as $i, renderList as al, normalizeProps as Do, mergeModels as Lo, useModel as Hi } from "vue";
const Gl = {
xs: 18,
sm: 24,
md: 32,
lg: 38,
xl: 46
}, Cn = {
size: String
};
function qn(e, t = Gl) {
return d(() => e.size !== void 0 ? { fontSize: e.size in t ? `${t[e.size]}px` : e.size } : null);
}
function _t(e, t, n, l) {
return Object.defineProperty(e, t, {
get: n,
set: l,
enumerable: !0
}), e;
}
function Ii(e, t) {
for (const n in t)
_t(e, n, t[n]);
return e;
}
function Ce(e) {
return Ka(Un(e));
}
function yo(e) {
return Ka(e);
}
const ji = (e, t) => {
const n = xn(e);
for (const l in e)
_t(
t,
l,
() => n[l],
(o) => {
n[l] = o;
}
);
return t;
};
function We(e, t) {
return e !== void 0 && e() || t;
}
function Xa(e, t) {
if (e !== void 0) {
const n = e();
if (n != null)
return n.slice();
}
return t;
}
function Vt(e, t) {
return e !== void 0 ? t.concat(e()) : t;
}
function Ni(e, t) {
return e === void 0 ? t : t !== void 0 ? t.concat(e()) : e();
}
function zi(e, t, n, l, o, a) {
t.key = l + o;
const r = f(e, t, n);
return o === !0 ? At(r, a()) : r;
}
const Fo = "0 0 24 24", $o = (e) => e, Bl = (e) => `ionicons ${e}`, Ja = {
"mdi-": (e) => `mdi ${e}`,
"icon-": $o,
// fontawesome equiv
"bt-": (e) => `bt ${e}`,
"eva-": (e) => `eva ${e}`,
"ion-md": Bl,
"ion-ios": Bl,
"ion-logo": Bl,
"iconfont ": $o,
"ti-": (e) => `themify-icon ${e}`,
"bi-": (e) => `bootstrap-icons ${e}`
}, Za = {
o_: "-outlined",
r_: "-round",
s_: "-sharp"
}, Ga = {
sym_o_: "-outlined",
sym_r_: "-rounded",
sym_s_: "-sharp"
}, Ui = new RegExp("^(" + Object.keys(Ja).join("|") + ")"), Yi = new RegExp("^(" + Object.keys(Za).join("|") + ")"), Ho = new RegExp("^(" + Object.keys(Ga).join("|") + ")"), Ki = /^[Mm]\s?[-+]?\.?\d/, Wi = /^img:/, Qi = /^svguse:/, Xi = /^ion-/, Ji = /^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /, yt = Ce({
name: "QIcon",
props: {
...Cn,
tag: {
type: String,
default: "i"
},
name: String,
color: String,
left: Boolean,
right: Boolean
},
setup(e, { slots: t }) {
const { proxy: { $q: n } } = ke(), l = qn(e), o = d(
() => "q-icon" + (e.left === !0 ? " on-left" : "") + (e.right === !0 ? " on-right" : "") + (e.color !== void 0 ? ` text-${e.color}` : "")
), a = d(() => {
let r, u = e.name;
if (u === "none" || !u)
return { none: !0 };
if (n.iconMapFn !== null) {
const i = n.iconMapFn(u);
if (i !== void 0)
if (i.icon !== void 0) {
if (u = i.icon, u === "none" || !u)
return { none: !0 };
} else
return {
cls: i.cls,
content: i.content !== void 0 ? i.content : " "
};
}
if (Ki.test(u) === !0) {
const [i, v = Fo] = u.split("|");
return {
svg: !0,
viewBox: v,
nodes: i.split("&&").map((S) => {
const [g, b, x] = S.split("@@");
return f("path", { style: b, d: g, transform: x });
})
};
}
if (Wi.test(u) === !0)
return {
img: !0,
src: u.substring(4)
};
if (Qi.test(u) === !0) {
const [i, v = Fo] = u.split("|");
return {
svguse: !0,
src: i.substring(7),
viewBox: v
};
}
let c = " ";
const s = u.match(Ui);
if (s !== null)
r = Ja[s[1]](u);
else if (Ji.test(u) === !0)
r = u;
else if (Xi.test(u) === !0)
r = `ionicons ion-${n.platform.is.ios === !0 ? "ios" : "md"}${u.substring(3)}`;
else if (Ho.test(u) === !0) {
r = "notranslate material-symbols";
const i = u.match(Ho);
i !== null && (u = u.substring(6), r += Ga[i[1]]), c = u;
} else {
r = "notranslate material-icons";
const i = u.match(Yi);
i !== null && (u = u.substring(2), r += Za[i[1]]), c = u;
}
return {
cls: r,
content: c
};
});
return () => {
const r = {
class: o.value,
style: l.value,
"aria-hidden": "true",
role: "presentation"
};
return a.value.none === !0 ? f(e.tag, r, We(t.default)) : a.value.img === !0 ? f(e.tag, r, Vt(t.default, [
f("img", { src: a.value.src })
])) : a.value.svg === !0 ? f(e.tag, r, Vt(t.default, [
f("svg", {
viewBox: a.value.viewBox || "0 0 24 24"
}, a.value.nodes)
])) : a.value.svguse === !0 ? f(e.tag, r, Vt(t.default, [
f("svg", {
viewBox: a.value.viewBox
}, [
f("use", { "xlink:href": a.value.src })
])
])) : (a.value.cls !== void 0 && (r.class += " " + a.value.cls), f(e.tag, r, Vt(t.default, [
a.value.content
])));
};
}
}), er = {
size: {
type: [String, Number],
default: "1em"
},
color: String
};
function tr(e) {
return {
cSize: d(() => e.size in Gl ? `${Gl[e.size]}px` : e.size),
classes: d(
() => "q-spinner" + (e.color ? ` text-${e.color}` : "")
)
};
}
const nr = Ce({
name: "QSpinner",
props: {
...er,
thickness: {
type: Number,
default: 5
}
},
setup(e) {
const { cSize: t, classes: n } = tr(e);
return () => f("svg", {
class: n.value + " q-spinner-mat",
width: t.value,
height: t.value,
viewBox: "25 25 50 50"
}, [
f("circle", {
class: "path",
cx: "50",
cy: "50",
r: "20",
fill: "none",
stroke: "currentColor",
"stroke-width": e.thickness,
"stroke-miterlimit": "10"
})
]);
}
});
function eo(e, t) {
const n = e.style;
for (const l in t)
n[l] = t[l];
}
function Zi(e) {
if (e == null)
return;
if (typeof e == "string")
try {
return document.querySelector(e) || void 0;
} catch {
return;
}
const t = pl(e);
if (t)
return t.$el || t;
}
function lr(e, t) {
if (e == null || e.contains(t) === !0)
return !0;
for (let n = e.nextElementSibling; n !== null; n = n.nextElementSibling)
if (n.contains(t))
return !0;
return !1;
}
const Ze = {
hasPassive: !1,
passiveCapture: !0,
notPassiveCapture: !0
};
try {
const e = Object.defineProperty({}, "passive", {
get() {
Object.assign(Ze, {
hasPassive: !0,
passive: { passive: !0 },
notPassive: { passive: !1 },
passiveCapture: { passive: !0, capture: !0 },
notPassiveCapture: { passive: !1, capture: !0 }
});
}
});
window.addEventListener("qtest", null, e), window.removeEventListener("qtest", null, e);
} catch {
}
function or() {
}
function Gi(e) {
return e.button === 0;
}
function Sn(e) {
return e.touches && e.touches[0] ? e = e.touches[0] : e.changedTouches && e.changedTouches[0] ? e = e.changedTouches[0] : e.targetTouches && e.targetTouches[0] && (e = e.targetTouches[0]), {
top: e.clientY,
left: e.clientX
};
}
function eu(e) {
if (e.path)
return e.path;
if (e.composedPath)
return e.composedPath();
const t = [];
let n = e.target;
for (; n; ) {
if (t.push(n), n.tagName === "HTML")
return t.push(document), t.push(window), t;
n = n.parentElement;
}
}
function gt(e) {
e.stopPropagation();
}
function ct(e) {
e.cancelable !== !1 && e.preventDefault();
}
function Fe(e) {
e.cancelable !== !1 && e.preventDefault(), e.stopPropagation();
}
function Tl(e, t) {
if (e === void 0 || t === !0 && e.__dragPrevented === !0)
return;
const n = t === !0 ? (l) => {
l.__dragPrevented = !0, l.addEventListener("dragstart", ct, Ze.notPassiveCapture);
} : (l) => {
delete l.__dragPrevented, l.removeEventListener("dragstart", ct, Ze.notPassiveCapture);
};
e.querySelectorAll("a, img").forEach(n);
}
function nn(e, t, n) {
const l = `__q_${t}_evt`;
e[l] = e[l] !== void 0 ? e[l].concat(n) : n, n.forEach((o) => {
o[0].addEventListener(o[1], e[o[2]], Ze[o[3]]);
});
}
function Fn(e, t) {
const n = `__q_${t}_evt`;
e[n] !== void 0 && (e[n].forEach((l) => {
l[0].removeEventListener(l[1], e[l[2]], Ze[l[3]]);
}), e[n] = void 0);
}
function po(e) {
return e !== Object(e) || e.isComposing === !0 || e.qKeyEvent === !0;
}
function It(e, t) {
return po(e) === !0 ? !1 : [].concat(t).includes(e.keyCode);
}
function tu(e, t = 250) {
let n = !1, l;
return function() {
return n === !1 && (n = !0, setTimeout(() => {
n = !1;
}, t), l = e.apply(this, arguments)), l;
};
}
function Io(e, t, n, l) {
n.modifiers.stop === !0 && gt(e);
const o = n.modifiers.color;
let a = n.modifiers.center;
a = a === !0 || l === !0;
const r = document.createElement("span"), u = document.createElement("span"), c = Sn(e), { left: s, top: i, width: v, height: S } = t.getBoundingClientRect(), g = Math.sqrt(v * v + S * S), b = g / 2, x = `${(v - g) / 2}px`, h = a ? x : `${c.left - s - b}px`, P = `${(S - g) / 2}px`, O = a ? P : `${c.top - i - b}px`;
u.className = "q-ripple__inner", eo(u, {
height: `${g}px`,
width: `${g}px`,
transform: `translate3d(${h},${O},0) scale3d(.2,.2,1)`,
opacity: 0
}), r.className = `q-ripple${o ? " text-" + o : ""}`, r.setAttribute("dir", "ltr"), r.appendChild(u), t.appendChild(r);
const _ = () => {
r.remove(), clearTimeout(y);
};
n.abort.push(_);
let y = setTimeout(() => {
u.classList.add("q-ripple__inner--enter"), u.style.transform = `translate3d(${x},${P},0) scale3d(1,1,1)`, u.style.opacity = 0.2, y = setTimeout(() => {
u.classList.remove("q-ripple__inner--enter"), u.classList.add("q-ripple__inner--leave"), u.style.opacity = 0, y = setTimeout(() => {
r.remove(), n.abort.splice(n.abort.indexOf(_), 1);
}, 275);
}, 250);
}, 50);
}
function jo(e, { modifiers: t, value: n, arg: l }) {
const o = Object.assign({}, e.cfg.ripple, t, n);
e.modifiers = {
early: o.early === !0,
stop: o.stop === !0,
center: o.center === !0,
color: o.color || l,
keyCodes: [].concat(o.keyCodes || 13)
};
}
const ar = yo(
{
name: "ripple",
beforeMount(e, t) {
const n = t.instance.$.appContext.config.globalProperties.$q.config || {};
if (n.ripple === !1)
return;
const l = {
cfg: n,
enabled: t.value !== !1,
modifiers: {},
abort: [],
start(o) {
l.enabled === !0 && o.qSkipRipple !== !0 && o.type === (l.modifiers.early === !0 ? "pointerdown" : "click") && Io(o, e, l, o.qKeyEvent === !0);
},
keystart: tu((o) => {
l.enabled === !0 && o.qSkipRipple !== !0 && It(o, l.modifiers.keyCodes) === !0 && o.type === `key${l.modifiers.early === !0 ? "down" : "up"}` && Io(o, e, l, !0);
}, 300)
};
jo(l, t), e.__qripple = l, nn(l, "main", [
[e, "pointerdown", "start", "passive"],
[e, "click", "start", "passive"],
[e, "keydown", "keystart", "passive"],
[e, "keyup", "keystart", "passive"]
]);
},
updated(e, t) {
if (t.oldValue !== t.value) {
const n = e.__qripple;
n !== void 0 && (n.enabled = t.value !== !1, n.enabled === !0 && Object(t.value) === t.value && jo(n, t));
}
},
beforeUnmount(e) {
const t = e.__qripple;
t !== void 0 && (t.abort.forEach((n) => {
n();
}), Fn(t, "main"), delete e._qripple);
}
}
), rr = {
left: "start",
center: "center",
right: "end",
between: "between",
around: "around",
evenly: "evenly",
stretch: "stretch"
}, nu = Object.keys(rr), lu = {
align: {
type: String,
validator: (e) => nu.includes(e)
}
};
function ou(e) {
return d(() => {
const t = e.align === void 0 ? e.vertical === !0 ? "stretch" : "left" : e.align;
return `${e.vertical === !0 ? "items" : "justify"}-${rr[t]}`;
});
}
function rl(e) {
if (Object(e.$parent) === e.$parent)
return e.$parent;
let { parent: t } = e.$;
for (; Object(t) === t; ) {
if (Object(t.proxy) === t.proxy)
return t.proxy;
t = t.parent;
}
}
function wo(e) {
return e.appContext.config.globalProperties.$router !== void 0;
}
function Sl(e) {
return e.isUnmounted === !0 || e.isDeactivated === !0;
}
function No(e) {
return e ? e.aliasOf ? e.aliasOf.path : e.path : "";
}
function zo(e, t) {
return (e.aliasOf || e) === (t.aliasOf || t);
}
function au(e, t) {
for (const n in t) {
const l = t[n], o = e[n];
if (typeof l == "string") {
if (l !== o)
return !1;
} else if (Array.isArray(o) === !1 || o.length !== l.length || l.some((a, r) => a !== o[r]))
return !1;
}
return !0;
}
function Uo(e, t) {
return Array.isArray(t) === !0 ? e.length === t.length && e.every((n, l) => n === t[l]) : e.length === 1 && e[0] === t;
}
function ru(e, t) {
return Array.isArray(e) === !0 ? Uo(e, t) : Array.isArray(t) === !0 ? Uo(t, e) : e === t;
}
function iu(e, t) {
if (Object.keys(e).length !== Object.keys(t).length)
return !1;
for (const n in e)
if (ru(e[n], t[n]) === !1)
return !1;
return !0;
}
const ir = {
// router-link
to: [String, Object],
replace: Boolean,
// regular <a> link
href: String,
target: String,
// state
disable: Boolean
}, uu = {
...ir,
// router-link
exact: Boolean,
activeClass: {
type: String,
default: "q-router-link--active"
},
exactActiveClass: {
type: String,
default: "q-router-link--exact-active"
}
};
function ur({ fallbackTag: e, useDisableForRouterLinkProps: t = !0 } = {}) {
const n = ke(), { props: l, proxy: o, emit: a } = n, r = wo(n), u = d(() => l.disable !== !0 && l.href !== void 0), c = t === !0 ? d(
() => r === !0 && l.disable !== !0 && u.value !== !0 && l.to !== void 0 && l.to !== null && l.to !== ""
) : d(
() => r === !0 && u.value !== !0 && l.to !== void 0 && l.to !== null && l.to !== ""
), s = d(() => c.value === !0 ? O(l.to) : null), i = d(() => s.value !== null), v = d(() => u.value === !0 || i.value === !0), S = d(() => l.type === "a" || v.value === !0 ? "a" : l.tag || e || "div"), g = d(() => u.value === !0 ? {
href: l.href,
target: l.target
} : i.value === !0 ? {
href: s.value.href,
target: l.target
} : {}), b = d(() => {
if (i.value === !1)
return -1;
const { matched: p } = s.value, { length: F } = p, A = p[F - 1];
if (A === void 0)
return -1;
const U = o.$route.matched;
if (U.length === 0)
return -1;
const D = U.findIndex(
zo.bind(null, A)
);
if (D !== -1)
return D;
const L = No(p[F - 2]);
return (
// we are dealing with nested routes
F > 1 && No(A) === L && U[U.length - 1].path !== L ? U.findIndex(
zo.bind(null, p[F - 2])
) : D
);
}), x = d(
() => i.value === !0 && b.value !== -1 && au(o.$route.params, s.value.params)
), h = d(
() => x.value === !0 && b.value === o.$route.matched.length - 1 && iu(o.$route.params, s.value.params)
), P = d(() => i.value === !0 ? h.value === !0 ? ` ${l.exactActiveClass} ${l.activeClass}` : l.exact === !0 ? "" : x.value === !0 ? ` ${l.activeClass}` : "" : "");
function O(p) {
try {
return o.$router.resolve(p);
} catch {
}
return null;
}
function _(p, { returnRouterError: F, to: A = l.to, replace: U = l.replace } = {}) {
if (l.disable === !0)
return p.preventDefault(), Promise.resolve(!1);
if (
// don't redirect with control keys;
// should match RouterLink from Vue Router
p.metaKey || p.altKey || p.ctrlKey || p.shiftKey || p.button !== void 0 && p.button !== 0 || l.target === "_blank"
)
return Promise.resolve(!1);
p.preventDefault();
const D = o.$router[U === !0 ? "replace" : "push"](A);
return F === !0 ? D : D.then(() => {
}).catch(() => {
});
}
function y(p) {
if (i.value === !0) {
const F = (A) => _(p, A);
a("click", p, F), p.defaultPrevented !== !0 && F();
} else
a("click", p);
}
return {
hasRouterLink: i,
hasHrefLink: u,
hasLink: v,
linkTag: S,
resolvedLink: s,
linkIsActive: x,
linkIsExactActive: h,
linkClass: P,
linkAttrs: g,
getLink: O,
navigateToRouterLink: _,
navigateOnClick: y
};
}
const cl = {
none: 0,
xs: 4,
sm: 8,
md: 16,
lg: 24,
xl: 32
}, su = {
xs: 8,
sm: 10,
md: 14,
lg: 20,
xl: 24
}, cu = ["button", "submit", "reset"], du = /[^\s]\/[^\s]/, sr = ["flat", "outline", "push", "unelevated"];
function cr(e, t) {
return e.flat === !0 ? "flat" : e.outline === !0 ? "outline" : e.push === !0 ? "push" : e.unelevated === !0 ? "unelevated" : t;
}
const fu = {
...Cn,
...ir,
type: {
type: String,
default: "button"
},
label: [Number, String],
icon: String,
iconRight: String,
...sr.reduce(
(e, t) => (e[t] = Boolean) && e,
{}
),
square: Boolean,
rounded: Boolean,
glossy: Boolean,
size: String,
fab: Boolean,
fabMini: Boolean,
padding: String,
color: String,
textColor: String,
noCaps: Boolean,
noWrap: Boolean,
dense: Boolean,
tabindex: [Number, String],
ripple: {
type: [Boolean, Object],
default: !0
},
align: {
...lu.align,
default: "center"
},
stack: Boolean,
stretch: Boolean,
loading: {
type: Boolean,
default: null
},
disable: Boolean
}, vu = {
...fu,
round: Boolean
};
function mu(e) {
const t = qn(e, su), n = ou(e), { hasRouterLink: l, hasLink: o, linkTag: a, linkAttrs: r, navigateOnClick: u } = ur({
fallbackTag: "button"
}), c = d(() => {
const h = e.fab === !1 && e.fabMini === !1 ? t.value : {};
return e.padding !== void 0 ? Object.assign({}, h, {
padding: e.padding.split(/\s+/).map((P) => P in cl ? cl[P] + "px" : P).join(" "),
minWidth: "0",
minHeight: "0"
}) : h;
}), s = d(
() => e.rounded === !0 || e.fab === !0 || e.fabMini === !0
), i = d(
() => e.disable !== !0 && e.loading !== !0
), v = d(() => i.value === !0 ? e.tabindex || 0 : -1), S = d(() => cr(e, "standard")), g = d(() => {
const h = { tabindex: v.value };
return o.value === !0 ? Object.assign(h, r.value) : cu.includes(e.type) === !0 && (h.type = e.type), a.value === "a" ? (e.disable === !0 ? h["aria-disabled"] = "true" : h.href === void 0 && (h.role = "button"), l.value !== !0 && du.test(e.type) === !0 && (h.type = e.type)) : e.disable === !0 && (h.disabled = "", h["aria-disabled"] = "true"), e.loading === !0 && e.percentage !== void 0 && Object.assign(h, {
role: "progressbar",
"aria-valuemin": 0,
"aria-valuemax": 100,
"aria-valuenow": e.percentage
}), h;
}), b = d(() => {
let h;
e.color !== void 0 ? e.flat === !0 || e.outline === !0 ? h = `text-${e.textColor || e.color}` : h = `bg-${e.color} text-${e.textColor || "white"}` : e.textColor && (h = `text-${e.textColor}`);
const P = e.round === !0 ? "round" : `rectangle${s.value === !0 ? " q-btn--rounded" : e.square === !0 ? " q-btn--square" : ""}`;
return `q-btn--${S.value} q-btn--${P}` + (h !== void 0 ? " " + h : "") + (i.value === !0 ? " q-btn--actionable q-focusable q-hoverable" : e.disable === !0 ? " disabled" : "") + (e.fab === !0 ? " q-btn--fab" : e.fabMini === !0 ? " q-btn--fab-mini" : "") + (e.noCaps === !0 ? " q-btn--no-uppercase" : "") + (e.dense === !0 ? " q-btn--dense" : "") + (e.stretch === !0 ? " no-border-radius self-stretch" : "") + (e.glossy === !0 ? " glossy" : "") + (e.square ? " q-btn--square" : "");
}), x = d(
() => n.value + (e.stack === !0 ? " column" : " row") + (e.noWrap === !0 ? " no-wrap text-no-wrap" : "") + (e.loading === !0 ? " q-btn__content--hidden" : "")
);
return {
classes: b,
style: c,
innerClasses: x,
attributes: g,
hasLink: o,
linkTag: a,
navigateOnClick: u,
isActionable: i
};
}
const { passiveCapture: xt } = Ze;
let vn = null, mn = null, hn = null;
const Re = Ce({
name: "QBtn",
props: {
...vu,
percentage: Number,
darkPercentage: Boolean,
onTouchstart: [Function, Array]
},
emits: ["click", "keydown", "mousedown", "keyup"],
setup(e, { slots: t, emit: n }) {
const { proxy: l } = ke(), {
classes: o,
style: a,
innerClasses: r,
attributes: u,
hasLink: c,
linkTag: s,
navigateOnClick: i,
isActionable: v
} = mu(e), S = J(null), g = J(null);
let b = null, x, h = null;
const P = d(
() => e.label !== void 0 && e.label !== null && e.label !== ""
), O = d(() => e.disable === !0 || e.ripple === !1 ? !1 : {
keyCodes: c.value === !0 ? [13, 32] : [13],
...e.ripple === !0 ? {} : e.ripple
}), _ = d(() => ({ center: e.round })), y = d(() => {
const M = Math.max(0, Math.min(100, e.percentage));
return M > 0 ? { transition: "transform 0.6s", transform: `translateX(${M - 100}%)` } : {};
}), p = d(() => {
if (e.loading === !0)
return {
onMousedown: $,
onTouchstart: $,
onClick: $,
onKeydown: $,
onKeyup: $
};
if (v.value === !0) {
const M = {
onClick: A,
onKeydown: U,
onMousedown: L
};
if (l.$q.platform.has.touch === !0) {
const K = e.onTouchstart !== void 0 ? "" : "Passive";
M[`onTouchstart${K}`] = D;
}
return M;
}
return {
// needed; especially for disabled <a> tags
onClick: Fe
};
}), F = d(() => ({
ref: S,
class: "q-btn q-btn-item non-selectable no-outline " + o.value,
style: a.value,
...u.value,
...p.value
}));
function A(M) {
if (S.value !== null) {
if (M !== void 0) {
if (M.defaultPrevented === !0)
return;
const K = document.activeElement;
if (e.type === "submit" && K !== document.body && S.value.contains(K) === !1 && K.contains(S.value) === !1) {
S.value.focus();
const Q = () => {
document.removeEventListener("keydown", Fe, !0), document.removeEventListener("keyup", Q, xt), S.value !== null && S.value.removeEventListener("blur", Q, xt);
};
document.addEventListener("keydown", Fe, !0), document.addEventListener("keyup", Q, xt), S.value.addEventListener("blur", Q, xt);
}
}
i(M);
}
}
function U(M) {
S.value !== null && (n("keydown", M), It(M, [13, 32]) === !0 && mn !== S.value && (mn !== null && E(), M.defaultPrevented !== !0 && (S.value.focus(), mn = S.value, S.value.classList.add("q-btn--active"), document.addEventListener("keyup", H, !0), S.value.addEventListener("blur", H, xt)), Fe(M)));
}
function D(M) {
S.value !== null && (n("touchstart", M), M.defaultPrevented !== !0 && (vn !== S.value && (vn !== null && E(), vn = S.value, b = M.target, b.addEventListener("touchcancel", H, xt), b.addEventListener("touchend", H, xt)), x = !0, h !== null && clearTimeout(h), h = setTimeout(() => {
h = null, x = !1;
}, 200)));
}
function L(M) {
S.value !== null && (M.qSkipRipple = x === !0, n("mousedown", M), M.defaultPrevented !== !0 && hn !== S.value && (hn !== null && E(), hn = S.value, S.value.classList.add("q-btn--active"), document.addEventListener("mouseup", H, xt)));
}
function H(M) {
if (S.value !== null && !(M !== void 0 && M.type === "blur" && document.activeElement === S.value)) {
if (M !== void 0 && M.type === "keyup") {
if (mn === S.value && It(M, [13, 32]) === !0) {
const K = new MouseEvent("click", M);
K.qKeyEvent = !0, M.defaultPrevented === !0 && ct(K), M.cancelBubble === !0 && gt(K), S.value.dispatchEvent(K), Fe(M), M.qKeyEvent = !0;
}
n("keyup", M);
}
E();
}
}
function E(M) {
const K = g.value;
M !== !0 && (vn === S.value || hn === S.value) && K !== null && K !== document.activeElement && (K.setAttribute("tabindex", -1), K.focus()), vn === S.value && (b !== null && (b.removeEventListener("touchcancel", H, xt), b.removeEventListener("touchend", H, xt)), vn = b = null), hn === S.value && (document.removeEventListener("mouseup", H, xt), hn = null), mn === S.value && (document.removeEventListener("keyup", H, !0), S.value !== null && S.value.removeEventListener("blur", H, xt), mn = null), S.value !== null && S.value.classList.remove("q-btn--active");
}
function $(M) {
Fe(M), M.qSkipRipple = !0;
}
return at(() => {
E(!0);
}), Object.assign(l, {
click: (M) => {
v.value === !0 && A(M);
}
}), () => {
let M = [];
e.icon !== void 0 && M.push(
f(yt, {
name: e.icon,
left: e.stack !== !0 && P.value === !0,
role: "img"
})
), P.value === !0 && M.push(
f("span", { class: "block" }, [e.label])
), M = Vt(t.default, M), e.iconRight !== void 0 && e.round === !1 && M.push(
f(yt, {
name: e.iconRight,
right: e.stack !== !0 && P.value === !0,
role: "img"
})
);
const K = [
f("span", {
class: "q-focus-helper",
ref: g
})
];
return e.loading === !0 && e.percentage !== void 0 && K.push(
f("span", {
class: "q-btn__progress absolute-full overflow-hidden" + (e.darkPercentage === !0 ? " q-btn__progress--dark" : "")
}, [
f("span", {
class: "q-btn__progress-indicator fit block",
style: y.value
})
])
), K.push(
f("span", {
class: "q-btn__content text-center col items-center q-anchor--skip " + r.value
}, M)
), e.loading !== null && K.push(
f(Mt, {
name: "q-transition--fade"
}, () => e.loading === !0 ? [
f("span", {
key: "loading",
class: "absolute-full flex flex-center"
}, t.loading !== void 0 ? t.loading() : [f(nr)])
] : null)
), At(
f(
s.value,
F.value,
K
),
[[
ar,
O.value,
void 0,
_.value
]]
);
};
}
}), yn = Ce({
name: "QCardSection",
props: {
tag: {
type: String,
default: "div"
},
horizontal: Boolean
},
setup(e, { slots: t }) {
const n = d(
() => `q-card__section q-card__section--${e.horizontal === !0 ? "horiz row no-wrap" : "vert"}`
);
return () => f(e.tag, { class: n.value }, We(t.default));
}
}), rt = {
dark: {
type: Boolean,
default: null
}
};
function it(e, t) {
return d(() => e.dark === null ? t.dark.isActive : e.dark);
}
const hu = {
true: "inset",
item: "item-inset",
"item-thumbnail": "item-thumbnail-inset"
}, Vl = {
xs: 2,
sm: 4,
md: 8,
lg: 16,
xl: 24
}, So = Ce({
name: "QSeparator",
props: {
...rt,
spaced: [Boolean, String],
inset: [Boolean, String],
vertical: Boolean,
color: String,
size: String
},
setup(e) {
const t = ke(), n = it(e, t.proxy.$q), l = d(() => e.vertical === !0 ? "vertical" : "horizontal"), o = d(() => ` q-separator--${l.value}`), a = d(() => e.inset !== !1 ? `${o.value}-${hu[e.inset]}` : ""), r = d(
() => `q-separator${o.value}${a.value}` + (e.color !== void 0 ? ` bg-${e.color}` : "") + (n.value === !0 ? " q-separator--dark" : "")
), u = d(() => {
const c = {};
if (e.size !== void 0 && (c[e.vertical === !0 ? "width" : "height"] = e.size), e.spaced !== !1) {
const s = e.spaced === !0 ? `${Vl.md}px` : e.spaced in Vl ? `${Vl[e.spaced]}px` : e.spaced, i = e.vertical === !0 ? ["Left", "Right"] : ["Top", "Bottom"];
c[`margin${i[0]}`] = c[`margin${i[1]}`] = s;
}
return c;
});
return () => f("hr", {
class: r.value,
style: u.value,
"aria-orientation": l.value
});
}
}), In = J(
!1
);
let to;
function gu(e, t) {
const n = /(edg|edge|edga|edgios)\/([\w.]+)/.exec(e) || /(opr)[\/]([\w.]+)/.exec(e) || /(vivaldi)[\/]([\w.]+)/.exec(e) || /(chrome|crios)[\/]([\w.]+)/.exec(e) || /(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e) || /(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e) || /(firefox|fxios)[\/]([\w.]+)/.exec(e) || /(webkit)[\/]([\w.]+)/.exec(e) || /(opera)(?:.*version|)[\/]([\w.]+)/.exec(e) || [];
return {
browser: n[5] || n[3] || n[1] || "",
version: n[4] || n[2] || "0",
platform: t[0] || ""
};
}
function bu(e) {
return /(ipad)/.exec(e) || /(ipod)/.exec(e) || /(windows phone)/.exec(e) || /(iphone)/.exec(e) || /(kindle)/.exec(e) || /(silk)/.exec(e) || /(android)/.exec(e) || /(win)/.exec(e) || /(mac)/.exec(e) || /(linux)/.exec(e) || /(cros)/.exec(e) || /(playbook)/.exec(e) || /(bb)/.exec(e) || /(blackberry)/.exec(e) || [];
}
const dr = "ontouchstart" in window || window.navigator.maxTouchPoints > 0;
function yu(e) {
const t = e.toLowerCase(), n = bu(t), l = gu(t, n), o = {};
l.browser && (o[l.browser] = !0, o.version = l.version, o.versionNumber = parseInt(l.version, 10)), l.platform && (o[l.platform] = !0);
const a = o.android || o.ios || o.bb || o.blackberry || o.ipad || o.iphone || o.ipod || o.kindle || o.playbook || o.silk || o["windows phone"];
if (a === !0 || t.indexOf("mobile") !== -1 ? o.mobile = !0 : o.desktop = !0, o["windows phone"] && (o.winphone = !0, delete o["windows phone"]), o.edga || o.edgios || o.edg ? (o.edge = !0, l.browser = "edge") : o.crios ? (o.chrome = !0, l.browser = "chrome") : o.fxios && (o.firefox = !0, l.browser = "firefox"), (o.ipod || o.ipad || o.iphone) && (o.ios = !0), o.vivaldi && (l.browser = "vivaldi", o.vivaldi = !0), // Chrome, Opera 15+, Vivaldi and Safari are webkit based browsers
(o.chrome || o.opr || o.safari || o.vivaldi || o.mobile === !0 && o.ios !== !0 && a !== !0) && (o.webkit = !0), o.opr && (l.browser = "opera", o.opera = !0), o.safari && (o.blackberry || o.bb ? (l.browser = "blackberry", o.blackberry = !0) : o.playbook ? (l.browser = "playbook", o.playbook = !0) : o.android ? (l.browser = "android", o.android = !0) : o.kindle ? (l.browser = "kindle", o.kindle = !0) : o.silk && (l.browser = "silk", o.silk = !0)), o.name = l.browser, o.platform = l.platform, t.indexOf("electron") !== -1)
o.electron = !0;
else if (document.location.href.indexOf("-extension://") !== -1)
o.bex = !0;
else {
if (window.Capacitor !== void 0 ? (o.capacitor = !0, o.nativeMobile = !0, o.nativeMobileWrapper = "capacitor") : (window._cordovaNative !== void 0 || window.cordova !== void 0) && (o.cordova = !0, o.nativeMobile = !0, o.nativeMobileWrapper = "cordova"), In.value === !0 && (to = { is: { ...o } }), dr === !0 && o.mac === !0 && (o.desktop === !0 && o.safari === !0 || o.nativeMobile === !0 && o.android !== !0 && o.ios !== !0 && o.ipad !== !0)) {
delete o.mac, delete o.desktop;
const r = Math.min(window.innerHeight, window.innerWidth) > 414 ? "ipad" : "iphone";
Object.assign(o, {
mobile: !0,
ios: !0,
platform: r,
[r]: !0
});
}
o.mobile !== !0 && window.navigator.userAgentData && window.navigator.userAgentData.mobile && (delete o.desktop, o.mobile = !0);
}
return o;
}
const Yo = navigator.userAgent || navigator.vendor || window.opera, pu = {
has: {
touch: !1,
webStorage: !1
},
within: { iframe: !1 }
}, tt = {
userAgent: Yo,
is: yu(Yo),
has: {
touch: dr
},
within: {
iframe: window.self !== window.top
}
}, no = {
install(e) {
const { $q: t } = e;
In.value === !0 ? (e.onSSRHydrated.push(() => {
Object.assign(t.platform, tt), In.value = !1;
}), t.platform = xn(this)) : t.platform = this;
}
};
{
let e;
_t(tt.has, "webStorage", () => {
if (e !== void 0)
return e;
try {
if (window.localStorage)
return e = !0, !0;
} catch {
}
return e = !1, !1;
}), Object.assign(no, tt), In.value === !0 && (Object.assign(no, to, pu), to = null);
}
function wu(e, t, n) {
function l() {
}
return at(() => {
e.value === !0 && void 0;
}), {
removeFromHistory: l,
addToHistory() {
}
};
}
function fr() {
let e = null;
const t = ke();
function n() {
e !== null && (clearTimeout(e), e = null);
}
return _n(n), at(n), {
removeTimeout: n,
registerTimeout(l, o) {
n(), Sl(t) === !1 && (e = setTimeout(() => {
e = null, l();
}, o));
}
};
}
function vr() {
let e;
const t = ke();
function n() {
e = void 0;
}
return _n(n), at(n), {
removeTick: n,
registerTick(l) {
e = l, Le(() => {
e === l && (Sl(t) === !1 && e(), e = void 0);
});
}
};
}
const mr = {
modelValue: {
type: Boolean,
default: null
},
"onUpdate:modelValue": [Function, Array]
}, hr = [
"beforeShow",
"show",
"beforeHide",
"hide"
];
function gr({
showing: e,
canShow: t,
// optional
hideOnRouteChange: n,
// optional
handleShow: l,
// optional
handleHide: o,
// optional
processOnMount: a
// optional
}) {
const r = ke(), { props: u, emit: c, proxy: s } = r;
let i;
function v(O) {
e.value === !0 ? b(O) : S(O);
}
function S(O) {
if (u.disable === !0 || O !== void 0 && O.qAnchorHandled === !0 || t !== void 0 && t(O) !== !0)
return;
const _ = u["onUpdate:modelValue"] !== void 0;
_ === !0 && (c("update:modelValue", !0), i = O, Le(() => {
i === O && (i = void 0);
})), (u.modelValue === null || _ === !1) && g(O);
}
function g(O) {
e.value !== !0 && (e.value = !0, c("beforeShow", O), l !== void 0 ? l(O) : c("show", O));
}
function b(O) {
if (u.disable === !0)
return;
const _ = u["onUpdate:modelValue"] !== void 0;
_ === !0 && (c("update:modelValue", !1), i = O, Le(() => {
i === O && (i = void 0);
})), (u.modelValue === null || _ === !1) && x(O);
}
function x(O) {
e.value !== !1 && (e.value = !1, c("beforeHide", O), o !== void 0 ? o(O) : c("hide", O));
}
function h(O) {
u.disable === !0 && O === !0 ? u["onUpdate:modelValue"] !== void 0 && c("update:modelValue", !1) : O === !0 !== e.value && (O === !0 ? g : x)(i);
}
se(() => u.modelValue, h), n !== void 0 && wo(r) === !0 && se(() => s.$route.fullPath, () => {
n.value === !0 && e.value === !0 && b();
}), a === !0 && jt(() => {
h(u.modelValue);
});
const P = { show: S, hide: b, toggle: v };
return Object.assign(s, P), P;
}
const br = {
transitionShow: {
type: String,
default: "fade"
},
transitionHide: {
type: String,
default: "fade"
},
transitionDuration: {
type: [String, Number],
default: 300
}
};
function yr(e, t = () => {
}, n = () => {
}) {
return {
transitionProps: d(() => {
const l = `q-transition--${e.transitionShow || t()}`, o = `q-transition--${e.transitionHide || n()}`;
return {
appear: !0,
enterFromClass: `${l}-enter-from`,
enterActiveClass: `${l}-enter-active`,
enterToClass: `${l}-enter-to`,
leaveFromClass: `${o}-leave-from`,
leaveActiveClass: `${o}-leave-active`,
leaveToClass: `${o}-leave-to`
};
}),
transitionStyle: d(() => `--q-transition-duration: ${e.transitionDuration}ms`)
};
}
let ln = [], jn = [];
function pr(e) {
jn = jn.filter((t) => t !== e);
}
function Su(e) {
pr(e), jn.push(e);
}
function Ko(e) {
pr(e), jn.length === 0 && ln.length !== 0 && (ln[ln.length - 1](), ln = []);
}
function Kn(e) {
jn.length === 0 ? e() : ln.push(e);
}
function ku(e) {
ln = ln.filter((t) => t !== e);
}
const Wo = {};
let xu = 1, _u = document.body;
function Cu(e, t) {
const n = document.createElement("div");
if (n.id = t !== void 0 ? `q-portal--${t}--${xu++}` : e, Wo.globalNodes !== void 0) {
const l = Wo.globalNodes.class;
l !== void 0 && (n.className = l);
}
return _u.appendChild(n), n;
}
function qu(e) {
e.remove();
}
const pn = [];
function Eu(e) {
return pn.find(
(t) => t.contentEl !== null && t.contentEl.contains(e)
);
}
function wr(e, t) {
do {
if (e.$options.name === "QMenu") {
if (e.hide(t), e.$props.separateClosePopup === !0)
return rl(e);
} else if (e.__qPortal === !0) {
const n = rl(e);
return n !== void 0 && n.$options.name === "QPopupProxy" ? (e.hide(t), n) : e;
}
e = rl(e);
} while (e != null);
}
function Mu(e, t, n) {
for (; n !== 0 && e !== void 0 && e !== null; ) {
if (e.__qPortal === !0) {
if (n--, e.$options.name === "QMenu") {
e = wr(e, t);
continue;
}
e.hide(t);
}
e = rl(e);
}
}
const Pu = Ce({
name: "QPortal",
setup(e, { slots: t }) {
return () => t.default();
}
});
function Ru(e) {
for (e = e.parent; e != null; ) {
if (e.type.name === "QGlobalDialog")
return !0;
if (e.type.name === "QDialog" || e.type.name === "QMenu")
return !1;
e = e.parent;
}
return !1;
}
function Sr(e, t, n, l) {
const o = J(!1), a = J(!1);
let r = null;
const u = {}, c = l === "dialog" && Ru(e);
function s(v) {
if (v === !0) {
Ko(u), a.value = !0;
return;
}
a.value = !1, o.value === !1 && (c === !1 && r === null && (r = Cu(!1, l)), o.value = !0, pn.push(e.proxy), Su(u));
}
function i(v) {
if (a.value = !1, v !== !0) return;
Ko(u), o.value = !1;
const S = pn.indexOf(e.proxy);
S !== -1 && pn.splice(S, 1), r !== null && (qu(r), r = null);
}
return Ti(() => {
i(!0);
}), e.proxy.__qPortal = !0, _t(e.proxy, "contentEl", () => t.value), {
showPortal: s,
hidePortal: i,
portalIsActive: o,
portalIsAccessible: a,
renderPortal: () => c === !0 ? n() : o.value === !0 ? [f(Vi, { to: r }, f(Pu, n))] : void 0
};
}
const kr = [Element, String], Ou = [null, document, document.body, document.scrollingElement, document.documentElement];
function xr(e, t) {
let n = Zi(t);
if (n === void 0) {
if (e == null)
return window;
n = e.closest(".scroll,.scroll-y,.overflow-auto");
}
return Ou.includes(n) ? window : n;
}
function Bu(e) {
return e === window ? window.pageYOffset || window.scrollY || document.body.scrollTop || 0 : e.scrollTop;
}
function Tu(e) {
return e === window ? window.pageXOffset || window.scrollX || document.body.scrollLeft || 0 : e.scrollLeft;
}
let Xn;
function Vu() {
if (Xn !== void 0)
return Xn;
const e = document.createElement("p"), t = document.createElement("div");
eo(e, {
width: "100%",
height: "200px"
}), eo(t, {
position: "absolute",
top: "0px",
left: "0px",
visibility: "hidden",
width: "200px",
height: "150px",
overflow: "hidden"
}), t.appendChild(e), document.body.appendChild(t);
const n = e.offsetWidth;
t.style.overflow = "scroll";
let l = e.offsetWidth;
return n === l && (l = t.clientWidth), t.remove(), Xn = n - l, Xn;
}
function Au(e, t = !0) {
return !e || e.nodeType !== Node.ELEMENT_NODE ? !1 : t ? e.scrollHeight > e.clientHeight && (e.classList.contains("scroll") || e.classList.contains("overflow-auto") || ["auto", "scroll"].includes(window.getComputedStyle(e)["overflow-y"])) : e.scrollWidth > e.clientWidth && (e.classList.contains("scroll") || e.classList.contains("overflow-auto") || ["auto", "scroll"].includes(window.getComputedStyle(e)["overflow-x"]));
}
let On = 0, Al, Dl, An, Ll = !1, Qo, Xo, Jo, Gt = null;
function Du(e) {
Lu(e) && Fe(e);
}
function Lu(e) {
if (e.target === document.body || e.target.classList.contains("q-layout__backdrop"))
return !0;
const t = eu(e), n = e.shiftKey && !e.deltaX, l = !n && Math.abs(e.deltaX) <= Math.abs(e.deltaY), o = n || l ? e.deltaY : e.deltaX;
for (let a = 0; a < t.length; a++) {
const r = t[a];
if (Au(r, l))
return l ? o < 0 && r.scrollTop === 0 ? !0 : o > 0 && r.scrollTop + r.clientHeight === r.scrollHeight : o < 0 && r.scrollLeft === 0 ? !0 : o > 0 && r.scrollLeft + r.clientWidth === r.scrollWidth;
}
return !0;
}
function Zo(e) {
e.target === document && (document.scrollingElement.scrollTop = document.scrollingElement.scrollTop);
}
function Jn(e) {
Ll !== !0 && (Ll = !0, requestAnimationFrame(() => {
Ll = !1;
const { height: t } = e.target, { clientHeight: n, scrollTop: l } = document.scrollingElement;
(An === void 0 || t !== window.innerHeight) && (An = n - t, document.scrollingElement.scrollTop = l), l > An && (document.scrollingElement.scrollTop -= Math.ceil((l - An) / 8));
}));
}
function Go(e) {
const t = document.body, n = window.visualViewport !== void 0;
if (e === "add") {
const { overflowY: l, overflowX: o } = window.getComputedStyle(t);
Al = Tu(window), Dl = Bu(window), Qo = t.style.left, Xo = t.style.top, Jo = window.location.href, t.style.left = `-${Al}px`, t.style.top = `-${Dl}px`, o !== "hidden" && (o === "scroll" || t.scrollWidth > window.innerWidth) && t.classList.add("q-body--force-scrollbar-x"), l !== "hidden" && (l === "scroll" || t.scrollHeight > window.innerHeight) && t.classList.add("q-body--force-scrollbar-y"), t.classList.add("q-body--prevent-scroll"), document.qScrollPrevented = !0, tt.is.ios === !0 && (n === !0 ? (window.scrollTo(0, 0), window.visualViewport.addEventListener("resize", Jn, Ze.passiveCapture), window.visualViewport.addEventListener("scroll", Jn, Ze.passiveCapture), window.scrollTo(0, 0)) : window.addEventListener("scroll", Zo, Ze.passiveCapture));
}
tt.is.desktop === !0 && tt.is.mac === !0 && window[`${e}EventListener`]("wheel", Du, Ze.notPassive), e === "remove" && (tt.is.ios === !0 && (n === !0 ? (window.visualViewport.removeEventListener("resize", Jn, Ze.passiveCapture), window.visualViewport.removeEventListener("scroll", Jn, Ze.passiveCapture)) : window.removeEventListener("scroll", Zo, Ze.passiveCapture)), t.classList.remove("q-body--prevent-scroll"), t.classList.remove("q-body--force-scrollbar-x"), t.classList.remove("q-body--force-scrollbar-y"), document.qScrollPrevented = !1, t.style.left = Qo, t.style.top = Xo, window.location.href === Jo && window.scrollTo(Al, Dl), An = void 0);
}
function Fu(e) {
let t = "add";
if (e === !0) {
if (On++, Gt !== null) {
clearTimeout(Gt), Gt = null;
return;
}
if (On > 1)
return;
} else {
if (On === 0 || (On--, On > 0))
return;
if (t = "remove", tt.is.ios === !0 && tt.is.nativeMobile === !0) {
Gt !== null && clearTimeout(Gt), Gt = setTimeout(() => {
Go(t), Gt = null;
}, 100);
return;
}
}
Go(t);
}
func