var Id = Object.defineProperty; var Ad = (e, t, n) => t in e ? Id(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n; var it = (e, t, n) => Ad(e, typeof t != "symbol" ? t + "" : t, n); import { defineComponent as Ra, computed as x, watch as le, h as At, warn as $a, reactive as Jt, watchEffect as qe, toRef as O, capitalize as wn, shallowRef as Z, Fragment as ue, isRef as ya, isReactive as _d, isProxy as Vd, toRaw as Ie, camelize as ir, isVNode as Od, Comment as Ed, unref as ot, getCurrentInstance as Td, ref as ne, provide as Be, inject as xe, toValue as Me, createElementVNode as C, normalizeClass as ee, createVNode as S, normalizeStyle as ge, onScopeDispose as je, effectScope as or, useId as bt, onBeforeUnmount as _t, onMounted as kn, onUpdated as Fd, mergeProps as Y, toRefs as sr, Text as Dd, readonly as ur, Transition as Qt, resolveDynamicComponent as Nd, nextTick as Ae, withDirectives as ze, toDisplayString as tt, TransitionGroup as cr, vShow as ln, createTextVNode as gn, Teleport as Md, onDeactivated as Ld, onBeforeMount as ja, cloneVNode as Bd, resolveComponent as Ze, createBlock as Fe, openBlock as oe, createSlots as Cl, withCtx as Te, render as Ko, createElementBlock as Se, createCommentVNode as He, onBeforeUpdate as Rd, withModifiers as na, renderList as aa } from "vue"; /*! * Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2025 Fonticons, Inc. */ function Pl(e, t) { (t == null || t > e.length) && (t = e.length); for (var n = 0, a = Array(t); n < t; n++) a[n] = e[n]; return a; } function $d(e) { if (Array.isArray(e)) return e; } function jd(e) { if (Array.isArray(e)) return Pl(e); } function zd(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); } function Wd(e, t) { for (var n = 0; n < t.length; n++) { var a = t[n]; a.enumerable = a.enumerable || !1, a.configurable = !0, "value" in a && (a.writable = !0), Object.defineProperty(e, qo(a.key), a); } } function Hd(e, t, n) { return t && Wd(e.prototype, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } function da(e, t) { var n = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"]; if (!n) { if (Array.isArray(e) || (n = dr(e)) || t) { n && (e = n); var a = 0, l = function() { }; return { s: l, n: function() { return a >= e.length ? { done: !0 } : { done: !1, value: e[a++] }; }, e: function(s) { throw s; }, f: l }; } throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } var r, i = !0, o = !1; return { s: function() { n = n.call(e); }, n: function() { var s = n.next(); return i = s.done, s; }, e: function(s) { o = !0, r = s; }, f: function() { try { i || n.return == null || n.return(); } finally { if (o) throw r; } } }; } function de(e, t, n) { return (t = qo(t)) in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e; } function Ud(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function Yd(e, t) { var n = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"]; if (n != null) { var a, l, r, i, o = [], s = !0, u = !1; try { if (r = (n = n.call(e)).next, t === 0) { if (Object(n) !== n) return; s = !1; } else for (; !(s = (a = r.call(n)).done) && (o.push(a.value), o.length !== t); s = !0) ; } catch (c) { u = !0, l = c; } finally { try { if (!s && n.return != null && (i = n.return(), Object(i) !== i)) return; } finally { if (u) throw l; } } return o; } } function Gd() { throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function Kd() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function ai(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); t && (a = a.filter(function(l) { return Object.getOwnPropertyDescriptor(e, l).enumerable; })), n.push.apply(n, a); } return n; } function H(e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t] != null ? arguments[t] : {}; t % 2 ? ai(Object(n), !0).forEach(function(a) { de(e, a, n[a]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ai(Object(n)).forEach(function(a) { Object.defineProperty(e, a, Object.getOwnPropertyDescriptor(n, a)); }); } return e; } function za(e, t) { return $d(e) || Yd(e, t) || dr(e, t) || Gd(); } function vt(e) { return jd(e) || Ud(e) || dr(e) || Kd(); } function qd(e, t) { if (typeof e != "object" || !e) return e; var n = e[Symbol.toPrimitive]; if (n !== void 0) { var a = n.call(e, t); if (typeof a != "object") return a; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function qo(e) { var t = qd(e, "string"); return typeof t == "symbol" ? t : t + ""; } function ba(e) { "@babel/helpers - typeof"; return ba = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, ba(e); } function dr(e, t) { if (e) { if (typeof e == "string") return Pl(e, t); var n = {}.toString.call(e).slice(8, -1); return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Pl(e, t) : void 0; } } var li = function() { }, fr = {}, Xo = {}, Jo = null, Qo = { mark: li, measure: li }; try { typeof window < "u" && (fr = window), typeof document < "u" && (Xo = document), typeof MutationObserver < "u" && (Jo = MutationObserver), typeof performance < "u" && (Qo = performance); } catch { } var Xd = fr.navigator || {}, ri = Xd.userAgent, ii = ri === void 0 ? "" : ri, Mt = fr, Ce = Xo, oi = Jo, la = Qo; Mt.document; var Vt = !!Ce.documentElement && !!Ce.head && typeof Ce.addEventListener == "function" && typeof Ce.createElement == "function", Zo = ~ii.indexOf("MSIE") || ~ii.indexOf("Trident/"), al, Jd = /fa(k|kd|s|r|l|t|d|dr|dl|dt|b|slr|slpr|wsb|tl|ns|nds|es|jr|jfr|jdr|usb|ufsb|udsb|cr|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, Qd = /Font ?Awesome ?([567 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit|Notdog Duo|Notdog|Chisel|Etch|Thumbprint|Jelly Fill|Jelly Duo|Jelly|Utility|Utility Fill|Utility Duo|Slab Press|Slab|Whiteboard)?.*/i, es = { classic: { fa: "solid", fas: "solid", "fa-solid": "solid", far: "regular", "fa-regular": "regular", fal: "light", "fa-light": "light", fat: "thin", "fa-thin": "thin", fab: "brands", "fa-brands": "brands" }, duotone: { fa: "solid", fad: "solid", "fa-solid": "solid", "fa-duotone": "solid", fadr: "regular", "fa-regular": "regular", fadl: "light", "fa-light": "light", fadt: "thin", "fa-thin": "thin" }, sharp: { fa: "solid", fass: "solid", "fa-solid": "solid", fasr: "regular", "fa-regular": "regular", fasl: "light", "fa-light": "light", fast: "thin", "fa-thin": "thin" }, "sharp-duotone": { fa: "solid", fasds: "solid", "fa-solid": "solid", fasdr: "regular", "fa-regular": "regular", fasdl: "light", "fa-light": "light", fasdt: "thin", "fa-thin": "thin" }, slab: { "fa-regular": "regular", faslr: "regular" }, "slab-press": { "fa-regular": "regular", faslpr: "regular" }, thumbprint: { "fa-light": "light", fatl: "light" }, whiteboard: { "fa-semibold": "semibold", fawsb: "semibold" }, notdog: { "fa-solid": "solid", fans: "solid" }, "notdog-duo": { "fa-solid": "solid", fands: "solid" }, etch: { "fa-solid": "solid", faes: "solid" }, jelly: { "fa-regular": "regular", fajr: "regular" }, "jelly-fill": { "fa-regular": "regular", fajfr: "regular" }, "jelly-duo": { "fa-regular": "regular", fajdr: "regular" }, chisel: { "fa-regular": "regular", facr: "regular" }, utility: { "fa-semibold": "semibold", fausb: "semibold" }, "utility-duo": { "fa-semibold": "semibold", faudsb: "semibold" }, "utility-fill": { "fa-semibold": "semibold", faufsb: "semibold" } }, Zd = { GROUP: "duotone-group", PRIMARY: "primary", SECONDARY: "secondary" }, ts = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone", "fa-thumbprint", "fa-whiteboard", "fa-notdog", "fa-notdog-duo", "fa-chisel", "fa-etch", "fa-jelly", "fa-jelly-fill", "fa-jelly-duo", "fa-slab", "fa-slab-press", "fa-utility", "fa-utility-duo", "fa-utility-fill"], Ue = "classic", Kn = "duotone", ns = "sharp", as = "sharp-duotone", ls = "chisel", rs = "etch", is = "jelly", os = "jelly-duo", ss = "jelly-fill", us = "notdog", cs = "notdog-duo", ds = "slab", fs = "slab-press", vs = "thumbprint", ms = "utility", gs = "utility-duo", hs = "utility-fill", ys = "whiteboard", ef = "Classic", tf = "Duotone", nf = "Sharp", af = "Sharp Duotone", lf = "Chisel", rf = "Etch", of = "Jelly", sf = "Jelly Duo", uf = "Jelly Fill", cf = "Notdog", df = "Notdog Duo", ff = "Slab", vf = "Slab Press", mf = "Thumbprint", gf = "Utility", hf = "Utility Duo", yf = "Utility Fill", bf = "Whiteboard", bs = [Ue, Kn, ns, as, ls, rs, is, os, ss, us, cs, ds, fs, vs, ms, gs, hs, ys]; al = {}, de(de(de(de(de(de(de(de(de(de(al, Ue, ef), Kn, tf), ns, nf), as, af), ls, lf), rs, rf), is, of), os, sf), ss, uf), us, cf), de(de(de(de(de(de(de(de(al, cs, df), ds, ff), fs, vf), vs, mf), ms, gf), gs, hf), hs, yf), ys, bf); var pf = { classic: { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, duotone: { 900: "fad", 400: "fadr", 300: "fadl", 100: "fadt" }, sharp: { 900: "fass", 400: "fasr", 300: "fasl", 100: "fast" }, "sharp-duotone": { 900: "fasds", 400: "fasdr", 300: "fasdl", 100: "fasdt" }, slab: { 400: "faslr" }, "slab-press": { 400: "faslpr" }, whiteboard: { 600: "fawsb" }, thumbprint: { 300: "fatl" }, notdog: { 900: "fans" }, "notdog-duo": { 900: "fands" }, etch: { 900: "faes" }, chisel: { 400: "facr" }, jelly: { 400: "fajr" }, "jelly-fill": { 400: "fajfr" }, "jelly-duo": { 400: "fajdr" }, utility: { 600: "fausb" }, "utility-duo": { 600: "faudsb" }, "utility-fill": { 600: "faufsb" } }, Sf = { "Font Awesome 7 Free": { 900: "fas", 400: "far" }, "Font Awesome 7 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal", 100: "fat" }, "Font Awesome 7 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 7 Duotone": { 900: "fad", 400: "fadr", normal: "fadr", 300: "fadl", 100: "fadt" }, "Font Awesome 7 Sharp": { 900: "fass", 400: "fasr", normal: "fasr", 300: "fasl", 100: "fast" }, "Font Awesome 7 Sharp Duotone": { 900: "fasds", 400: "fasdr", normal: "fasdr", 300: "fasdl", 100: "fasdt" }, "Font Awesome 7 Jelly": { 400: "fajr", normal: "fajr" }, "Font Awesome 7 Jelly Fill": { 400: "fajfr", normal: "fajfr" }, "Font Awesome 7 Jelly Duo": { 400: "fajdr", normal: "fajdr" }, "Font Awesome 7 Slab": { 400: "faslr", normal: "faslr" }, "Font Awesome 7 Slab Press": { 400: "faslpr", normal: "faslpr" }, "Font Awesome 7 Thumbprint": { 300: "fatl", normal: "fatl" }, "Font Awesome 7 Notdog": { 900: "fans", normal: "fans" }, "Font Awesome 7 Notdog Duo": { 900: "fands", normal: "fands" }, "Font Awesome 7 Etch": { 900: "faes", normal: "faes" }, "Font Awesome 7 Chisel": { 400: "facr", normal: "facr" }, "Font Awesome 7 Whiteboard": { 600: "fawsb", normal: "fawsb" }, "Font Awesome 7 Utility": { 600: "fausb", normal: "fausb" }, "Font Awesome 7 Utility Duo": { 600: "faudsb", normal: "faudsb" }, "Font Awesome 7 Utility Fill": { 600: "faufsb", normal: "faufsb" } }, wf = /* @__PURE__ */ new Map([["classic", { defaultShortPrefixId: "fas", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin", "brands"], futureStyleIds: [], defaultFontWeight: 900 }], ["duotone", { defaultShortPrefixId: "fad", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp", { defaultShortPrefixId: "fass", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["sharp-duotone", { defaultShortPrefixId: "fasds", defaultStyleId: "solid", styleIds: ["solid", "regular", "light", "thin"], futureStyleIds: [], defaultFontWeight: 900 }], ["chisel", { defaultShortPrefixId: "facr", defaultStyleId: "regular", styleIds: ["regular"], futureStyleIds: [], defaultFontWeight: 400 }], ["etch", { defaultShortPrefixId: "faes", defaultStyleId: "solid", styleIds: ["solid"], futureStyleIds: [], defaultFontWeight: 900 }], ["jelly", { defaultShortPrefixId: "fajr", defaultStyleId: "regular", styleIds: ["regular"], futureStyleIds: [], defaultFontWeight: 400 }], ["jelly-duo", { defaultShortPrefixId: "fajdr", defaultStyleId: "regular", styleIds: ["regular"], futureStyleIds: [], defaultFontWeight: 400 }], ["jelly-fill", { defaultShortPrefixId: "fajfr", defaultStyleId: "regular", styleIds: ["regular"], futureStyleIds: [], defaultFontWeight: 400 }], ["notdog", { defaultShortPrefixId: "fans", defaultStyleId: "solid", styleIds: ["solid"], futureStyleIds: [], defaultFontWeight: 900 }], ["notdog-duo", { defaultShortPrefixId: "fands", defaultStyleId: "solid", styleIds: ["solid"], futureStyleIds: [], defaultFontWeight: 900 }], ["slab", { defaultShortPrefixId: "faslr", defaultStyleId: "regular", styleIds: ["regular"], futureStyleIds: [], defaultFontWeight: 400 }], ["slab-press", { defaultShortPrefixId: "faslpr", defaultStyleId: "regular", styleIds: ["regular"], futureStyleIds: [], defaultFontWeight: 400 }], ["thumbprint", { defaultShortPrefixId: "fatl", defaultStyleId: "light", styleIds: ["light"], futureStyleIds: [], defaultFontWeight: 300 }], ["utility", { defaultShortPrefixId: "fausb", defaultStyleId: "semibold", styleIds: ["semibold"], futureStyleIds: [], defaultFontWeight: 600 }], ["utility-duo", { defaultShortPrefixId: "faudsb", defaultStyleId: "semibold", styleIds: ["semibold"], futureStyleIds: [], defaultFontWeight: 600 }], ["utility-fill", { defaultShortPrefixId: "faufsb", defaultStyleId: "semibold", styleIds: ["semibold"], futureStyleIds: [], defaultFontWeight: 600 }], ["whiteboard", { defaultShortPrefixId: "fawsb", defaultStyleId: "semibold", styleIds: ["semibold"], futureStyleIds: [], defaultFontWeight: 600 }]]), kf = { chisel: { regular: "facr" }, classic: { brands: "fab", light: "fal", regular: "far", solid: "fas", thin: "fat" }, duotone: { light: "fadl", regular: "fadr", solid: "fad", thin: "fadt" }, etch: { solid: "faes" }, jelly: { regular: "fajr" }, "jelly-duo": { regular: "fajdr" }, "jelly-fill": { regular: "fajfr" }, notdog: { solid: "fans" }, "notdog-duo": { solid: "fands" }, sharp: { light: "fasl", regular: "fasr", solid: "fass", thin: "fast" }, "sharp-duotone": { light: "fasdl", regular: "fasdr", solid: "fasds", thin: "fasdt" }, slab: { regular: "faslr" }, "slab-press": { regular: "faslpr" }, thumbprint: { light: "fatl" }, utility: { semibold: "fausb" }, "utility-duo": { semibold: "faudsb" }, "utility-fill": { semibold: "faufsb" }, whiteboard: { semibold: "fawsb" } }, ps = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], si = { kit: { fak: "kit", "fa-kit": "kit" }, "kit-duotone": { fakd: "kit-duotone", "fa-kit-duotone": "kit-duotone" } }, xf = ["kit"], Cf = "kit", Pf = "kit-duotone", If = "Kit", Af = "Kit Duotone"; de(de({}, Cf, If), Pf, Af); var _f = { kit: { "fa-kit": "fak" } }, Vf = { "Font Awesome Kit": { 400: "fak", normal: "fak" }, "Font Awesome Kit Duotone": { 400: "fakd", normal: "fakd" } }, Of = { kit: { fak: "fa-kit" } }, ui = { kit: { kit: "fak" }, "kit-duotone": { "kit-duotone": "fakd" } }, ll, ra = { GROUP: "duotone-group", SWAP_OPACITY: "swap-opacity", PRIMARY: "primary", SECONDARY: "secondary" }, Ef = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone", "fa-thumbprint", "fa-whiteboard", "fa-notdog", "fa-notdog-duo", "fa-chisel", "fa-etch", "fa-jelly", "fa-jelly-fill", "fa-jelly-duo", "fa-slab", "fa-slab-press", "fa-utility", "fa-utility-duo", "fa-utility-fill"], Tf = "classic", Ff = "duotone", Df = "sharp", Nf = "sharp-duotone", Mf = "chisel", Lf = "etch", Bf = "jelly", Rf = "jelly-duo", $f = "jelly-fill", jf = "notdog", zf = "notdog-duo", Wf = "slab", Hf = "slab-press", Uf = "thumbprint", Yf = "utility", Gf = "utility-duo", Kf = "utility-fill", qf = "whiteboard", Xf = "Classic", Jf = "Duotone", Qf = "Sharp", Zf = "Sharp Duotone", ev = "Chisel", tv = "Etch", nv = "Jelly", av = "Jelly Duo", lv = "Jelly Fill", rv = "Notdog", iv = "Notdog Duo", ov = "Slab", sv = "Slab Press", uv = "Thumbprint", cv = "Utility", dv = "Utility Duo", fv = "Utility Fill", vv = "Whiteboard"; ll = {}, de(de(de(de(de(de(de(de(de(de(ll, Tf, Xf), Ff, Jf), Df, Qf), Nf, Zf), Mf, ev), Lf, tv), Bf, nv), Rf, av), $f, lv), jf, rv), de(de(de(de(de(de(de(de(ll, zf, iv), Wf, ov), Hf, sv), Uf, uv), Yf, cv), Gf, dv), Kf, fv), qf, vv); var mv = "kit", gv = "kit-duotone", hv = "Kit", yv = "Kit Duotone"; de(de({}, mv, hv), gv, yv); var bv = { classic: { "fa-brands": "fab", "fa-duotone": "fad", "fa-light": "fal", "fa-regular": "far", "fa-solid": "fas", "fa-thin": "fat" }, duotone: { "fa-regular": "fadr", "fa-light": "fadl", "fa-thin": "fadt" }, sharp: { "fa-solid": "fass", "fa-regular": "fasr", "fa-light": "fasl", "fa-thin": "fast" }, "sharp-duotone": { "fa-solid": "fasds", "fa-regular": "fasdr", "fa-light": "fasdl", "fa-thin": "fasdt" }, slab: { "fa-regular": "faslr" }, "slab-press": { "fa-regular": "faslpr" }, whiteboard: { "fa-semibold": "fawsb" }, thumbprint: { "fa-light": "fatl" }, notdog: { "fa-solid": "fans" }, "notdog-duo": { "fa-solid": "fands" }, etch: { "fa-solid": "faes" }, jelly: { "fa-regular": "fajr" }, "jelly-fill": { "fa-regular": "fajfr" }, "jelly-duo": { "fa-regular": "fajdr" }, chisel: { "fa-regular": "facr" }, utility: { "fa-semibold": "fausb" }, "utility-duo": { "fa-semibold": "faudsb" }, "utility-fill": { "fa-semibold": "faufsb" } }, pv = { classic: ["fas", "far", "fal", "fat", "fad"], duotone: ["fadr", "fadl", "fadt"], sharp: ["fass", "fasr", "fasl", "fast"], "sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"], slab: ["faslr"], "slab-press": ["faslpr"], whiteboard: ["fawsb"], thumbprint: ["fatl"], notdog: ["fans"], "notdog-duo": ["fands"], etch: ["faes"], jelly: ["fajr"], "jelly-fill": ["fajfr"], "jelly-duo": ["fajdr"], chisel: ["facr"], utility: ["fausb"], "utility-duo": ["faudsb"], "utility-fill": ["faufsb"] }, Il = { classic: { fab: "fa-brands", fad: "fa-duotone", fal: "fa-light", far: "fa-regular", fas: "fa-solid", fat: "fa-thin" }, duotone: { fadr: "fa-regular", fadl: "fa-light", fadt: "fa-thin" }, sharp: { fass: "fa-solid", fasr: "fa-regular", fasl: "fa-light", fast: "fa-thin" }, "sharp-duotone": { fasds: "fa-solid", fasdr: "fa-regular", fasdl: "fa-light", fasdt: "fa-thin" }, slab: { faslr: "fa-regular" }, "slab-press": { faslpr: "fa-regular" }, whiteboard: { fawsb: "fa-semibold" }, thumbprint: { fatl: "fa-light" }, notdog: { fans: "fa-solid" }, "notdog-duo": { fands: "fa-solid" }, etch: { faes: "fa-solid" }, jelly: { fajr: "fa-regular" }, "jelly-fill": { fajfr: "fa-regular" }, "jelly-duo": { fajdr: "fa-regular" }, chisel: { facr: "fa-regular" }, utility: { fausb: "fa-semibold" }, "utility-duo": { faudsb: "fa-semibold" }, "utility-fill": { faufsb: "fa-semibold" } }, Sv = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands", "fa-semibold"], Ss = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", "faslr", "faslpr", "fawsb", "fatl", "fans", "fands", "faes", "fajr", "fajfr", "fajdr", "facr", "fausb", "faudsb", "faufsb"].concat(Ef, Sv), wv = ["solid", "regular", "light", "thin", "duotone", "brands", "semibold"], ws = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], kv = ws.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), xv = ["aw", "fw", "pull-left", "pull-right"], Cv = [].concat(vt(Object.keys(pv)), wv, xv, ["2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "inverse", "layers", "layers-bottom-left", "layers-bottom-right", "layers-counter", "layers-text", "layers-top-left", "layers-top-right", "li", "pull-end", "pull-start", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", "width-auto", "width-fixed", ra.GROUP, ra.SWAP_OPACITY, ra.PRIMARY, ra.SECONDARY]).concat(ws.map(function(e) { return "".concat(e, "x"); })).concat(kv.map(function(e) { return "w-".concat(e); })), Pv = { "Font Awesome 5 Free": { 900: "fas", 400: "far" }, "Font Awesome 5 Pro": { 900: "fas", 400: "far", normal: "far", 300: "fal" }, "Font Awesome 5 Brands": { 400: "fab", normal: "fab" }, "Font Awesome 5 Duotone": { 900: "fad" } }, Ct = "___FONT_AWESOME___", Al = 16, ks = "fa", xs = "svg-inline--fa", Zt = "data-fa-i2svg", _l = "data-fa-pseudo-element", Iv = "data-fa-pseudo-element-pending", vr = "data-prefix", mr = "data-icon", ci = "fontawesome-i2svg", Av = "async", _v = ["HTML", "HEAD", "STYLE", "SCRIPT"], Cs = ["::before", "::after", ":before", ":after"], Ps = function() { try { return process.env.NODE_ENV === "production"; } catch { return !1; } }(); function qn(e) { return new Proxy(e, { get: function(n, a) { return a in n ? n[a] : n[Ue]; } }); } var Is = H({}, es); Is[Ue] = H(H(H(H({}, { "fa-duotone": "duotone" }), es[Ue]), si.kit), si["kit-duotone"]); var Vv = qn(Is), Vl = H({}, kf); Vl[Ue] = H(H(H(H({}, { duotone: "fad" }), Vl[Ue]), ui.kit), ui["kit-duotone"]); var di = qn(Vl), Ol = H({}, Il); Ol[Ue] = H(H({}, Ol[Ue]), Of.kit); var gr = qn(Ol), El = H({}, bv); El[Ue] = H(H({}, El[Ue]), _f.kit); qn(El); var Ov = Jd, As = "fa-layers-text", Ev = Qd, Tv = H({}, pf); qn(Tv); var Fv = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], rl = Zd, Dv = [].concat(vt(xf), vt(Cv)), Dn = Mt.FontAwesomeConfig || {}; function Nv(e) { var t = Ce.querySelector("script[" + e + "]"); if (t) return t.getAttribute(e); } function Mv(e) { return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e; } if (Ce && typeof Ce.querySelector == "function") { var Lv = [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-search-pseudo-elements-warnings", "searchPseudoElementsWarnings"], ["data-search-pseudo-elements-full-scan", "searchPseudoElementsFullScan"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]]; Lv.forEach(function(e) { var t = za(e, 2), n = t[0], a = t[1], l = Mv(Nv(n)); l != null && (Dn[a] = l); }); } var _s = { styleDefault: "solid", familyDefault: Ue, cssPrefix: ks, replacementClass: xs, autoReplaceSvg: !0, autoAddCss: !0, searchPseudoElements: !1, searchPseudoElementsWarnings: !0, searchPseudoElementsFullScan: !1, observeMutations: !0, mutateApproach: "async", keepOriginalSource: !0, measurePerformance: !1, showMissingIcons: !0 }; Dn.familyPrefix && (Dn.cssPrefix = Dn.familyPrefix); var hn = H(H({}, _s), Dn); hn.autoReplaceSvg || (hn.observeMutations = !1); var ae = {}; Object.keys(_s).forEach(function(e) { Object.defineProperty(ae, e, { enumerable: !0, set: function(n) { hn[e] = n, Nn.forEach(function(a) { return a(ae); }); }, get: function() { return hn[e]; } }); }); Object.defineProperty(ae, "familyPrefix", { enumerable: !0, set: function(t) { hn.cssPrefix = t, Nn.forEach(function(n) { return n(ae); }); }, get: function() { return hn.cssPrefix; } }); Mt.FontAwesomeConfig = ae; var Nn = []; function Bv(e) { return Nn.push(e), function() { Nn.splice(Nn.indexOf(e), 1); }; } var sn = Al, ht = { size: 16, x: 0, y: 0, rotate: 0, flipX: !1, flipY: !1 }; function Rv(e) { if (!(!e || !Vt)) { var t = Ce.createElement("style"); t.setAttribute("type", "text/css"), t.innerHTML = e; for (var n = Ce.head.childNodes, a = null, l = n.length - 1; l > -1; l--) { var r = n[l], i = (r.tagName || "").toUpperCase(); ["STYLE", "LINK"].indexOf(i) > -1 && (a = r); } return Ce.head.insertBefore(t, a), e; } } var $v = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; function fi() { for (var e = 12, t = ""; e-- > 0; ) t += $v[Math.random() * 62 | 0]; return t; } function xn(e) { for (var t = [], n = (e || []).length >>> 0; n--; ) t[n] = e[n]; return t; } function hr(e) { return e.classList ? xn(e.classList) : (e.getAttribute("class") || "").split(" ").filter(function(t) { return t; }); } function Vs(e) { return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function jv(e) { return Object.keys(e || {}).reduce(function(t, n) { return t + "".concat(n, '="').concat(Vs(e[n]), '" '); }, "").trim(); } function Wa(e) { return Object.keys(e || {}).reduce(function(t, n) { return t + "".concat(n, ": ").concat(e[n].trim(), ";"); }, ""); } function yr(e) { return e.size !== ht.size || e.x !== ht.x || e.y !== ht.y || e.rotate !== ht.rotate || e.flipX || e.flipY; } function zv(e) { var t = e.transform, n = e.containerWidth, a = e.iconWidth, l = { transform: "translate(".concat(n / 2, " 256)") }, r = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), o = "rotate(".concat(t.rotate, " 0 0)"), s = { transform: "".concat(r, " ").concat(i, " ").concat(o) }, u = { transform: "translate(".concat(a / 2 * -1, " -256)") }; return { outer: l, inner: s, path: u }; } function Wv(e) { var t = e.transform, n = e.width, a = n === void 0 ? Al : n, l = e.height, r = l === void 0 ? Al : l, i = ""; return Zo ? i += "translate(".concat(t.x / sn - a / 2, "em, ").concat(t.y / sn - r / 2, "em) ") : i += "translate(calc(-50% + ".concat(t.x / sn, "em), calc(-50% + ").concat(t.y / sn, "em)) "), i += "scale(".concat(t.size / sn * (t.flipX ? -1 : 1), ", ").concat(t.size / sn * (t.flipY ? -1 : 1), ") "), i += "rotate(".concat(t.rotate, "deg) "), i; } var Hv = `:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 7 Free"; --fa-font-regular: normal 400 1em/1 "Font Awesome 7 Free"; --fa-font-light: normal 300 1em/1 "Font Awesome 7 Pro"; --fa-font-thin: normal 100 1em/1 "Font Awesome 7 Pro"; --fa-font-duotone: normal 900 1em/1 "Font Awesome 7 Duotone"; --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 7 Duotone"; --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 7 Duotone"; --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 7 Duotone"; --fa-font-brands: normal 400 1em/1 "Font Awesome 7 Brands"; --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 7 Sharp"; --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 7 Sharp"; --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 7 Sharp"; --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 7 Sharp"; --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 7 Sharp Duotone"; --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 7 Sharp Duotone"; --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 7 Sharp Duotone"; --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 7 Sharp Duotone"; --fa-font-slab-regular: normal 400 1em/1 "Font Awesome 7 Slab"; --fa-font-slab-press-regular: normal 400 1em/1 "Font Awesome 7 Slab Press"; --fa-font-whiteboard-semibold: normal 600 1em/1 "Font Awesome 7 Whiteboard"; --fa-font-thumbprint-light: normal 300 1em/1 "Font Awesome 7 Thumbprint"; --fa-font-notdog-solid: normal 900 1em/1 "Font Awesome 7 Notdog"; --fa-font-notdog-duo-solid: normal 900 1em/1 "Font Awesome 7 Notdog Duo"; --fa-font-etch-solid: normal 900 1em/1 "Font Awesome 7 Etch"; --fa-font-jelly-regular: normal 400 1em/1 "Font Awesome 7 Jelly"; --fa-font-jelly-fill-regular: normal 400 1em/1 "Font Awesome 7 Jelly Fill"; --fa-font-jelly-duo-regular: normal 400 1em/1 "Font Awesome 7 Jelly Duo"; --fa-font-chisel-regular: normal 400 1em/1 "Font Awesome 7 Chisel"; --fa-font-utility-semibold: normal 600 1em/1 "Font Awesome 7 Utility"; --fa-font-utility-duo-semibold: normal 600 1em/1 "Font Awesome 7 Utility Duo"; --fa-font-utility-fill-semibold: normal 600 1em/1 "Font Awesome 7 Utility Fill"; } .svg-inline--fa { box-sizing: content-box; display: var(--fa-display, inline-block); height: 1em; overflow: visible; vertical-align: -0.125em; width: var(--fa-width, 1.25em); } .svg-inline--fa.fa-2xs { vertical-align: 0.1em; } .svg-inline--fa.fa-xs { vertical-align: 0em; } .svg-inline--fa.fa-sm { vertical-align: -0.0714285714em; } .svg-inline--fa.fa-lg { vertical-align: -0.2em; } .svg-inline--fa.fa-xl { vertical-align: -0.25em; } .svg-inline--fa.fa-2xl { vertical-align: -0.3125em; } .svg-inline--fa.fa-pull-left, .svg-inline--fa .fa-pull-start { float: inline-start; margin-inline-end: var(--fa-pull-margin, 0.3em); } .svg-inline--fa.fa-pull-right, .svg-inline--fa .fa-pull-end { float: inline-end; margin-inline-start: var(--fa-pull-margin, 0.3em); } .svg-inline--fa.fa-li { width: var(--fa-li-width, 2em); inset-inline-start: calc(-1 * var(--fa-li-width, 2em)); inset-block-start: 0.25em; /* syncing vertical alignment with Web Font rendering */ } .fa-layers-counter, .fa-layers-text { display: inline-block; position: absolute; text-align: center; } .fa-layers { display: inline-block; height: 1em; position: relative; text-align: center; vertical-align: -0.125em; width: var(--fa-width, 1.25em); } .fa-layers .svg-inline--fa { inset: 0; margin: auto; position: absolute; transform-origin: center center; } .fa-layers-text { left: 50%; top: 50%; transform: translate(-50%, -50%); transform-origin: center center; } .fa-layers-counter { background-color: var(--fa-counter-background-color, #ff253a); border-radius: var(--fa-counter-border-radius, 1em); box-sizing: border-box; color: var(--fa-inverse, #fff); line-height: var(--fa-counter-line-height, 1); max-width: var(--fa-counter-max-width, 5em); min-width: var(--fa-counter-min-width, 1.5em); overflow: hidden; padding: var(--fa-counter-padding, 0.25em 0.5em); right: var(--fa-right, 0); text-overflow: ellipsis; top: var(--fa-top, 0); transform: scale(var(--fa-counter-scale, 0.25)); transform-origin: top right; } .fa-layers-bottom-right { bottom: var(--fa-bottom, 0); right: var(--fa-right, 0); top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom right; } .fa-layers-bottom-left { bottom: var(--fa-bottom, 0); left: var(--fa-left, 0); right: auto; top: auto; transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: bottom left; } .fa-layers-top-right { top: var(--fa-top, 0); right: var(--fa-right, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top right; } .fa-layers-top-left { left: var(--fa-left, 0); right: auto; top: var(--fa-top, 0); transform: scale(var(--fa-layers-scale, 0.25)); transform-origin: top left; } .fa-1x { font-size: 1em; } .fa-2x { font-size: 2em; } .fa-3x { font-size: 3em; } .fa-4x { font-size: 4em; } .fa-5x { font-size: 5em; } .fa-6x { font-size: 6em; } .fa-7x { font-size: 7em; } .fa-8x { font-size: 8em; } .fa-9x { font-size: 9em; } .fa-10x { font-size: 10em; } .fa-2xs { font-size: calc(10 / 16 * 1em); /* converts a 10px size into an em-based value that's relative to the scale's 16px base */ line-height: calc(1 / 10 * 1em); /* sets the line-height of the icon back to that of it's parent */ vertical-align: calc((6 / 10 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ } .fa-xs { font-size: calc(12 / 16 * 1em); /* converts a 12px size into an em-based value that's relative to the scale's 16px base */ line-height: calc(1 / 12 * 1em); /* sets the line-height of the icon back to that of it's parent */ vertical-align: calc((6 / 12 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ } .fa-sm { font-size: calc(14 / 16 * 1em); /* converts a 14px size into an em-based value that's relative to the scale's 16px base */ line-height: calc(1 / 14 * 1em); /* sets the line-height of the icon back to that of it's parent */ vertical-align: calc((6 / 14 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ } .fa-lg { font-size: calc(20 / 16 * 1em); /* converts a 20px size into an em-based value that's relative to the scale's 16px base */ line-height: calc(1 / 20 * 1em); /* sets the line-height of the icon back to that of it's parent */ vertical-align: calc((6 / 20 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ } .fa-xl { font-size: calc(24 / 16 * 1em); /* converts a 24px size into an em-based value that's relative to the scale's 16px base */ line-height: calc(1 / 24 * 1em); /* sets the line-height of the icon back to that of it's parent */ vertical-align: calc((6 / 24 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ } .fa-2xl { font-size: calc(32 / 16 * 1em); /* converts a 32px size into an em-based value that's relative to the scale's 16px base */ line-height: calc(1 / 32 * 1em); /* sets the line-height of the icon back to that of it's parent */ vertical-align: calc((6 / 32 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */ } .fa-width-auto { --fa-width: auto; } .fa-fw, .fa-width-fixed { --fa-width: 1.25em; } .fa-ul { list-style-type: none; margin-inline-start: var(--fa-li-margin, 2.5em); padding-inline-start: 0; } .fa-ul > li { position: relative; } .fa-li { inset-inline-start: calc(-1 * var(--fa-li-width, 2em)); position: absolute; text-align: center; width: var(--fa-li-width, 2em); line-height: inherit; } /* Heads Up: Bordered Icons will not be supported in the future! - This feature will be deprecated in the next major release of Font Awesome (v8)! - You may continue to use it in this version *v7), but it will not be supported in Font Awesome v8. */ /* Notes: * --@{v.$css-prefix}-border-width = 1/16 by default (to render as ~1px based on a 16px default font-size) * --@{v.$css-prefix}-border-padding = ** 3/16 for vertical padding (to give ~2px of vertical whitespace around an icon considering it's vertical alignment) ** 4/16 for horizontal padding (to give ~4px of horizontal whitespace around an icon) */ .fa-border { border-color: var(--fa-border-color, #eee); border-radius: var(--fa-border-radius, 0.1em); border-style: var(--fa-border-style, solid); border-width: var(--fa-border-width, 0.0625em); box-sizing: var(--fa-border-box-sizing, content-box); padding: var(--fa-border-padding, 0.1875em 0.25em); } .fa-pull-left, .fa-pull-start { float: inline-start; margin-inline-end: var(--fa-pull-margin, 0.3em); } .fa-pull-right, .fa-pull-end { float: inline-end; margin-inline-start: var(--fa-pull-margin, 0.3em); } .fa-beat { animation-name: fa-beat; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-bounce { animation-name: fa-bounce; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } .fa-fade { animation-name: fa-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-beat-fade { animation-name: fa-beat-fade; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } .fa-flip { animation-name: fa-flip; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, ease-in-out); } .fa-shake { animation-name: fa-shake; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin { animation-name: fa-spin; animation-delay: var(--fa-animation-delay, 0s); animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 2s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, linear); } .fa-spin-reverse { --fa-animation-direction: reverse; } .fa-pulse, .fa-spin-pulse { animation-name: fa-spin; animation-direction: var(--fa-animation-direction, normal); animation-duration: var(--fa-animation-duration, 1s); animation-iteration-count: var(--fa-animation-iteration-count, infinite); animation-timing-function: var(--fa-animation-timing, steps(8)); } @media (prefers-reduced-motion: reduce) { .fa-beat, .fa-bounce, .fa-fade, .fa-beat-fade, .fa-flip, .fa-pulse, .fa-shake, .fa-spin, .fa-spin-pulse { animation: none !important; transition: none !important; } } @keyframes fa-beat { 0%, 90% { transform: scale(1); } 45% { transform: scale(var(--fa-beat-scale, 1.25)); } } @keyframes fa-bounce { 0% { transform: scale(1, 1) translateY(0); } 10% { transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } 30% { transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } 50% { transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } 57% { transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } 64% { transform: scale(1, 1) translateY(0); } 100% { transform: scale(1, 1) translateY(0); } } @keyframes fa-fade { 50% { opacity: var(--fa-fade-opacity, 0.4); } } @keyframes fa-beat-fade { 0%, 100% { opacity: var(--fa-beat-fade-opacity, 0.4); transform: scale(1); } 50% { opacity: 1; transform: scale(var(--fa-beat-fade-scale, 1.125)); } } @keyframes fa-flip { 50% { transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } @keyframes fa-shake { 0% { transform: rotate(-15deg); } 4% { transform: rotate(15deg); } 8%, 24% { transform: rotate(-18deg); } 12%, 28% { transform: rotate(18deg); } 16% { transform: rotate(-22deg); } 20% { transform: rotate(22deg); } 32% { transform: rotate(-12deg); } 36% { transform: rotate(12deg); } 40%, 100% { transform: rotate(0deg); } } @keyframes fa-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .fa-rotate-90 { transform: rotate(90deg); } .fa-rotate-180 { transform: rotate(180deg); } .fa-rotate-270 { transform: rotate(270deg); } .fa-flip-horizontal { transform: scale(-1, 1); } .fa-flip-vertical { transform: scale(1, -1); } .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); } .fa-rotate-by { transform: rotate(var(--fa-rotate-angle, 0)); } .svg-inline--fa .fa-primary { fill: var(--fa-primary-color, currentColor); opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa .fa-secondary { fill: var(--fa-secondary-color, currentColor); opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-primary { opacity: var(--fa-secondary-opacity, 0.4); } .svg-inline--fa.fa-swap-opacity .fa-secondary { opacity: var(--fa-primary-opacity, 1); } .svg-inline--fa mask .fa-primary, .svg-inline--fa mask .fa-secondary { fill: black; } .svg-inline--fa.fa-inverse { fill: var(--fa-inverse, #fff); } .fa-stack { display: inline-block; height: 2em; line-height: 2em; position: relative; vertical-align: middle; width: 2.5em; } .fa-inverse { color: var(--fa-inverse, #fff); } .svg-inline--fa.fa-stack-1x { --fa-width: 1.25em; height: 1em; width: var(--fa-width); } .svg-inline--fa.fa-stack-2x { --fa-width: 2.5em; height: 2em; width: var(--fa-width); } .fa-stack-1x, .fa-stack-2x { inset: 0; margin: auto; position: absolute; z-index: var(--fa-stack-z-index, auto); }`; function Os() { var e = ks, t = xs, n = ae.cssPrefix, a = ae.replacementClass, l = Hv; if (n !== e || a !== t) { var r = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), o = new RegExp("\\.".concat(t), "g"); l = l.replace(r, ".".concat(n, "-")).replace(i, "--".concat(n, "-")).replace(o, ".".concat(a)); } return l; } var vi = !1; function il() { ae.autoAddCss && !vi && (Rv(Os()), vi = !0); } var Uv = { mixout: function() { return { dom: { css: Os, insertCss: il } }; }, hooks: function() { return { beforeDOMElementCreation: function() { il(); }, beforeI2svg: function() { il(); } }; } }, Pt = Mt || {}; Pt[Ct] || (Pt[Ct] = {}); Pt[Ct].styles || (Pt[Ct].styles = {}); Pt[Ct].hooks || (Pt[Ct].hooks = {}); Pt[Ct].shims || (Pt[Ct].shims = []); var dt = Pt[Ct], Es = [], Ts = function() { Ce.removeEventListener("DOMContentLoaded", Ts), pa = 1, Es.map(function(t) { return t(); }); }, pa = !1; Vt && (pa = (Ce.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Ce.readyState), pa || Ce.addEventListener("DOMContentLoaded", Ts)); function Yv(e) { Vt && (pa ? setTimeout(e, 0) : Es.push(e)); } function Xn(e) { var t = e.tag, n = e.attributes, a = n === void 0 ? {} : n, l = e.children, r = l === void 0 ? [] : l; return typeof e == "string" ? Vs(e) : "<".concat(t, " ").concat(jv(a), ">").concat(r.map(Xn).join(""), ""); } function mi(e, t, n) { if (e && e[t] && e[t][n]) return { prefix: t, iconName: n, icon: e[t][n] }; } var ol = function(t, n, a, l) { var r = Object.keys(t), i = r.length, o = n, s, u, c; for (a === void 0 ? (s = 1, c = t[r[0]]) : (s = 0, c = a); s < i; s++) u = r[s], c = o(c, t[u], u, t); return c; }; function Fs(e) { return vt(e).length !== 1 ? null : e.codePointAt(0).toString(16); } function gi(e) { return Object.keys(e).reduce(function(t, n) { var a = e[n], l = !!a.icon; return l ? t[a.iconName] = a.icon : t[n] = a, t; }, {}); } function Tl(e, t) { var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, a = n.skipHooks, l = a === void 0 ? !1 : a, r = gi(t); typeof dt.hooks.addPack == "function" && !l ? dt.hooks.addPack(e, gi(t)) : dt.styles[e] = H(H({}, dt.styles[e] || {}), r), e === "fas" && Tl("fa", t); } var Rn = dt.styles, Gv = dt.shims, Ds = Object.keys(gr), Kv = Ds.reduce(function(e, t) { return e[t] = Object.keys(gr[t]), e; }, {}), br = null, Ns = {}, Ms = {}, Ls = {}, Bs = {}, Rs = {}; function qv(e) { return ~Dv.indexOf(e); } function Xv(e, t) { var n = t.split("-"), a = n[0], l = n.slice(1).join("-"); return a === e && l !== "" && !qv(l) ? l : null; } var $s = function() { var t = function(r) { return ol(Rn, function(i, o, s) { return i[s] = ol(o, r, {}), i; }, {}); }; Ns = t(function(l, r, i) { if (r[3] && (l[r[3]] = i), r[2]) { var o = r[2].filter(function(s) { return typeof s == "number"; }); o.forEach(function(s) { l[s.toString(16)] = i; }); } return l; }), Ms = t(function(l, r, i) { if (l[i] = i, r[2]) { var o = r[2].filter(function(s) { return typeof s == "string"; }); o.forEach(function(s) { l[s] = i; }); } return l; }), Rs = t(function(l, r, i) { var o = r[2]; return l[i] = i, o.forEach(function(s) { l[s] = i; }), l; }); var n = "far" in Rn || ae.autoFetchSvg, a = ol(Gv, function(l, r) { var i = r[0], o = r[1], s = r[2]; return o === "far" && !n && (o = "fas"), typeof i == "string" && (l.names[i] = { prefix: o, iconName: s }), typeof i == "number" && (l.unicodes[i.toString(16)] = { prefix: o, iconName: s }), l; }, { names: {}, unicodes: {} }); Ls = a.names, Bs = a.unicodes, br = Ha(ae.styleDefault, { family: ae.familyDefault }); }; Bv(function(e) { br = Ha(e.styleDefault, { family: ae.familyDefault }); }); $s(); function pr(e, t) { return (Ns[e] || {})[t]; } function Jv(e, t) { return (Ms[e] || {})[t]; } function Kt(e, t) { return (Rs[e] || {})[t]; } function js(e) { return Ls[e] || { prefix: null, iconName: null }; } function Qv(e) { var t = Bs[e], n = pr("fas", e); return t || (n ? { prefix: "fas", iconName: n } : null) || { prefix: null, iconName: null }; } function Lt() { return br; } var zs = function() { return { prefix: null, iconName: null, rest: [] }; }; function Zv(e) { var t = Ue, n = Ds.reduce(function(a, l) { return a[l] = "".concat(ae.cssPrefix, "-").concat(l), a; }, {}); return bs.forEach(function(a) { (e.includes(n[a]) || e.some(function(l) { return Kv[a].includes(l); })) && (t = a); }), t; } function Ha(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.family, a = n === void 0 ? Ue : n, l = Vv[a][e]; if (a === Kn && !e) return "fad"; var r = di[a][e] || di[a][l], i = e in dt.styles ? e : null, o = r || i || null; return o; } function em(e) { var t = [], n = null; return e.forEach(function(a) { var l = Xv(ae.cssPrefix, a); l ? n = l : a && t.push(a); }), { iconName: n, rest: t }; } function hi(e) { return e.sort().filter(function(t, n, a) { return a.indexOf(t) === n; }); } var yi = Ss.concat(ps); function Ua(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.skipLookups, a = n === void 0 ? !1 : n, l = null, r = hi(e.filter(function(m) { return yi.includes(m); })), i = hi(e.filter(function(m) { return !yi.includes(m); })), o = r.filter(function(m) { return l = m, !ts.includes(m); }), s = za(o, 1), u = s[0], c = u === void 0 ? null : u, d = Zv(r), v = H(H({}, em(i)), {}, { prefix: Ha(c, { family: d }) }); return H(H(H({}, v), lm({ values: e, family: d, styles: Rn, config: ae, canonical: v, givenPrefix: l })), tm(a, l, v)); } function tm(e, t, n) { var a = n.prefix, l = n.iconName; if (e || !a || !l) return { prefix: a, iconName: l }; var r = t === "fa" ? js(l) : {}, i = Kt(a, l); return l = r.iconName || i || l, a = r.prefix || a, a === "far" && !Rn.far && Rn.fas && !ae.autoFetchSvg && (a = "fas"), { prefix: a, iconName: l }; } var nm = bs.filter(function(e) { return e !== Ue || e !== Kn; }), am = Object.keys(Il).filter(function(e) { return e !== Ue; }).map(function(e) { return Object.keys(Il[e]); }).flat(); function lm(e) { var t = e.values, n = e.family, a = e.canonical, l = e.givenPrefix, r = l === void 0 ? "" : l, i = e.styles, o = i === void 0 ? {} : i, s = e.config, u = s === void 0 ? {} : s, c = n === Kn, d = t.includes("fa-duotone") || t.includes("fad"), v = u.familyDefault === "duotone", m = a.prefix === "fad" || a.prefix === "fa-duotone"; if (!c && (d || v || m) && (a.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (a.prefix = "fab"), !a.prefix && nm.includes(n)) { var y = Object.keys(o).find(function(b) { return am.includes(b); }); if (y || u.autoFetchSvg) { var f = wf.get(n).defaultShortPrefixId; a.prefix = f, a.iconName = Kt(a.prefix, a.iconName) || a.iconName; } } return (a.prefix === "fa" || r === "fa") && (a.prefix = Lt() || "fas"), a; } var rm = /* @__PURE__ */ function() { function e() { zd(this, e), this.definitions = {}; } return Hd(e, [{ key: "add", value: function() { for (var n = this, a = arguments.length, l = new Array(a), r = 0; r < a; r++) l[r] = arguments[r]; var i = l.reduce(this._pullDefinitions, {}); Object.keys(i).forEach(function(o) { n.definitions[o] = H(H({}, n.definitions[o] || {}), i[o]), Tl(o, i[o]); var s = gr[Ue][o]; s && Tl(s, i[o]), $s(); }); } }, { key: "reset", value: function() { this.definitions = {}; } }, { key: "_pullDefinitions", value: function(n, a) { var l = a.prefix && a.iconName && a.icon ? { 0: a } : a; return Object.keys(l).map(function(r) { var i = l[r], o = i.prefix, s = i.iconName, u = i.icon, c = u[2]; n[o] || (n[o] = {}), c.length > 0 && c.forEach(function(d) { typeof d == "string" && (n[o][d] = u); }), n[o][s] = u; }), n; } }]); }(), bi = [], dn = {}, vn = {}, im = Object.keys(vn); function om(e, t) { var n = t.mixoutsTo; return bi = e, dn = {}, Object.keys(vn).forEach(function(a) { im.indexOf(a) === -1 && delete vn[a]; }), bi.forEach(function(a) { var l = a.mixout ? a.mixout() : {}; if (Object.keys(l).forEach(function(i) { typeof l[i] == "function" && (n[i] = l[i]), ba(l[i]) === "object" && Object.keys(l[i]).forEach(function(o) { n[i] || (n[i] = {}), n[i][o] = l[i][o]; }); }), a.hooks) { var r = a.hooks(); Object.keys(r).forEach(function(i) { dn[i] || (dn[i] = []), dn[i].push(r[i]); }); } a.provides && a.provides(vn); }), n; } function Fl(e, t) { for (var n = arguments.length, a = new Array(n > 2 ? n - 2 : 0), l = 2; l < n; l++) a[l - 2] = arguments[l]; var r = dn[e] || []; return r.forEach(function(i) { t = i.apply(null, [t].concat(a)); }), t; } function en(e) { for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++) n[a - 1] = arguments[a]; var l = dn[e] || []; l.forEach(function(r) { r.apply(null, n); }); } function Bt() { var e = arguments[0], t = Array.prototype.slice.call(arguments, 1); return vn[e] ? vn[e].apply(null, t) : void 0; } function Dl(e) { e.prefix === "fa" && (e.prefix = "fas"); var t = e.iconName, n = e.prefix || Lt(); if (t) return t = Kt(n, t) || t, mi(Ws.definitions, n, t) || mi(dt.styles, n, t); } var Ws = new rm(), sm = function() { ae.autoReplaceSvg = !1, ae.observeMutations = !1, en("noAuto"); }, um = { i2svg: function() { var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; return Vt ? (en("beforeI2svg", t), Bt("pseudoElements2svg", t), Bt("i2svg", t)) : Promise.reject(new Error("Operation requires a DOM of some kind.")); }, watch: function() { var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = t.autoReplaceSvgRoot; ae.autoReplaceSvg === !1 && (ae.autoReplaceSvg = !0), ae.observeMutations = !0, Yv(function() { dm({ autoReplaceSvgRoot: n }), en("watch", t); }); } }, cm = { icon: function(t) { if (t === null) return null; if (ba(t) === "object" && t.prefix && t.iconName) return { prefix: t.prefix, iconName: Kt(t.prefix, t.iconName) || t.iconName }; if (Array.isArray(t) && t.length === 2) { var n = t[1].indexOf("fa-") === 0 ? t[1].slice(3) : t[1], a = Ha(t[0]); return { prefix: a, iconName: Kt(a, n) || n }; } if (typeof t == "string" && (t.indexOf("".concat(ae.cssPrefix, "-")) > -1 || t.match(Ov))) { var l = Ua(t.split(" "), { skipLookups: !0 }); return { prefix: l.prefix || Lt(), iconName: Kt(l.prefix, l.iconName) || l.iconName }; } if (typeof t == "string") { var r = Lt(); return { prefix: r, iconName: Kt(r, t) || t }; } } }, at = { noAuto: sm, config: ae, dom: um, parse: cm, library: Ws, findIconDefinition: Dl, toHtml: Xn }, dm = function() { var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = t.autoReplaceSvgRoot, a = n === void 0 ? Ce : n; (Object.keys(dt.styles).length > 0 || ae.autoFetchSvg) && Vt && ae.autoReplaceSvg && at.dom.i2svg({ node: a }); }; function Ya(e, t) { return Object.defineProperty(e, "abstract", { get: t }), Object.defineProperty(e, "html", { get: function() { return e.abstract.map(function(a) { return Xn(a); }); } }), Object.defineProperty(e, "node", { get: function() { if (Vt) { var a = Ce.createElement("div"); return a.innerHTML = e.html, a.children; } } }), e; } function fm(e) { var t = e.children, n = e.main, a = e.mask, l = e.attributes, r = e.styles, i = e.transform; if (yr(i) && n.found && !a.found) { var o = n.width, s = n.height, u = { x: o / s / 2, y: 0.5 }; l.style = Wa(H(H({}, r), {}, { "transform-origin": "".concat(u.x + i.x / 16, "em ").concat(u.y + i.y / 16, "em") })); } return [{ tag: "svg", attributes: l, children: t }]; } function vm(e) { var t = e.prefix, n = e.iconName, a = e.children, l = e.attributes, r = e.symbol, i = r === !0 ? "".concat(t, "-").concat(ae.cssPrefix, "-").concat(n) : r; return [{ tag: "svg", attributes: { style: "display: none;" }, children: [{ tag: "symbol", attributes: H(H({}, l), {}, { id: i }), children: a }] }]; } function mm(e) { var t = ["aria-label", "aria-labelledby", "title", "role"]; return t.some(function(n) { return n in e; }); } function Sr(e) { var t = e.icons, n = t.main, a = t.mask, l = e.prefix, r = e.iconName, i = e.transform, o = e.symbol, s = e.maskId, u = e.extra, c = e.watchable, d = c === void 0 ? !1 : c, v = a.found ? a : n, m = v.width, y = v.height, f = [ae.replacementClass, r ? "".concat(ae.cssPrefix, "-").concat(r) : ""].filter(function(P) { return u.classes.indexOf(P) === -1; }).filter(function(P) { return P !== "" || !!P; }).concat(u.classes).join(" "), b = { children: [], attributes: H(H({}, u.attributes), {}, { "data-prefix": l, "data-icon": r, class: f, role: u.attributes.role || "img", viewBox: "0 0 ".concat(m, " ").concat(y) }) }; !mm(u.attributes) && !u.attributes["aria-hidden"] && (b.attributes["aria-hidden"] = "true"), d && (b.attributes[Zt] = ""); var g = H(H({}, b), {}, { prefix: l, iconName: r, main: n, mask: a, maskId: s, transform: i, symbol: o, styles: H({}, u.styles) }), h = a.found && n.found ? Bt("generateAbstractMask", g) || { children: [], attributes: {} } : Bt("generateAbstractIcon", g) || { children: [], attributes: {} }, p = h.children, w = h.attributes; return g.children = p, g.attributes = w, o ? vm(g) : fm(g); } function pi(e) { var t = e.content, n = e.width, a = e.height, l = e.transform, r = e.extra, i = e.watchable, o = i === void 0 ? !1 : i, s = H(H({}, r.attributes), {}, { class: r.classes.join(" ") }); o && (s[Zt] = ""); var u = H({}, r.styles); yr(l) && (u.transform = Wv({ transform: l, width: n, height: a }), u["-webkit-transform"] = u.transform); var c = Wa(u); c.length > 0 && (s.style = c); var d = []; return d.push({ tag: "span", attributes: s, children: [t] }), d; } function gm(e) { var t = e.content, n = e.extra, a = H(H({}, n.attributes), {}, { class: n.classes.join(" ") }), l = Wa(n.styles); l.length > 0 && (a.style = l); var r = []; return r.push({ tag: "span", attributes: a, children: [t] }), r; } var sl = dt.styles; function Nl(e) { var t = e[0], n = e[1], a = e.slice(4), l = za(a, 1), r = l[0], i = null; return Array.isArray(r) ? i = { tag: "g", attributes: { class: "".concat(ae.cssPrefix, "-").concat(rl.GROUP) }, children: [{ tag: "path", attributes: { class: "".concat(ae.cssPrefix, "-").concat(rl.SECONDARY), fill: "currentColor", d: r[0] } }, { tag: "path", attributes: { class: "".concat(ae.cssPrefix, "-").concat(rl.PRIMARY), fill: "currentColor", d: r[1] } }] } : i = { tag: "path", attributes: { fill: "currentColor", d: r } }, { found: !0, width: t, height: n, icon: i }; } var hm = { found: !1, width: 512, height: 512 }; function ym(e, t) { !Ps && !ae.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.')); } function Ml(e, t) { var n = t; return t === "fa" && ae.styleDefault !== null && (t = Lt()), new Promise(function(a, l) { if (n === "fa") { var r = js(e) || {}; e = r.iconName || e, t = r.prefix || t; } if (e && t && sl[t] && sl[t][e]) { var i = sl[t][e]; return a(Nl(i)); } ym(e, t), a(H(H({}, hm), {}, { icon: ae.showMissingIcons && e ? Bt("missingIconAbstract") || {} : {} })); }); } var Si = function() { }, Ll = ae.measurePerformance && la && la.mark && la.measure ? la : { mark: Si, measure: Si }, On = 'FA "7.1.0"', bm = function(t) { return Ll.mark("".concat(On, " ").concat(t, " begins")), function() { return Hs(t); }; }, Hs = function(t) { Ll.mark("".concat(On, " ").concat(t, " ends")), Ll.measure("".concat(On, " ").concat(t), "".concat(On, " ").concat(t, " begins"), "".concat(On, " ").concat(t, " ends")); }, wr = { begin: bm, end: Hs }, fa = function() { }; function wi(e) { var t = e.getAttribute ? e.getAttribute(Zt) : null; return typeof t == "string"; } function pm(e) { var t = e.getAttribute ? e.getAttribute(vr) : null, n = e.getAttribute ? e.getAttribute(mr) : null; return t && n; } function Sm(e) { return e && e.classList && e.classList.contains && e.classList.contains(ae.replacementClass); } function wm() { if (ae.autoReplaceSvg === !0) return va.replace; var e = va[ae.autoReplaceSvg]; return e || va.replace; } function km(e) { return Ce.createElementNS("http://www.w3.org/2000/svg", e); } function xm(e) { return Ce.createElement(e); } function Us(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.ceFn, a = n === void 0 ? e.tag === "svg" ? km : xm : n; if (typeof e == "string") return Ce.createTextNode(e); var l = a(e.tag); Object.keys(e.attributes || []).forEach(function(i) { l.setAttribute(i, e.attributes[i]); }); var r = e.children || []; return r.forEach(function(i) { l.appendChild(Us(i, { ceFn: a })); }), l; } function Cm(e) { var t = " ".concat(e.outerHTML, " "); return t = "".concat(t, "Font Awesome fontawesome.com "), t; } var va = { replace: function(t) { var n = t[0]; if (n.parentNode) if (t[1].forEach(function(l) { n.parentNode.insertBefore(Us(l), n); }), n.getAttribute(Zt) === null && ae.keepOriginalSource) { var a = Ce.createComment(Cm(n)); n.parentNode.replaceChild(a, n); } else n.remove(); }, nest: function(t) { var n = t[0], a = t[1]; if (~hr(n).indexOf(ae.replacementClass)) return va.replace(t); var l = new RegExp("".concat(ae.cssPrefix, "-.*")); if (delete a[0].attributes.id, a[0].attributes.class) { var r = a[0].attributes.class.split(" ").reduce(function(o, s) { return s === ae.replacementClass || s.match(l) ? o.toSvg.push(s) : o.toNode.push(s), o; }, { toNode: [], toSvg: [] }); a[0].attributes.class = r.toSvg.join(" "), r.toNode.length === 0 ? n.removeAttribute("class") : n.setAttribute("class", r.toNode.join(" ")); } var i = a.map(function(o) { return Xn(o); }).join(` `); n.setAttribute(Zt, ""), n.innerHTML = i; } }; function ki(e) { e(); } function Ys(e, t) { var n = typeof t == "function" ? t : fa; if (e.length === 0) n(); else { var a = ki; ae.mutateApproach === Av && (a = Mt.requestAnimationFrame || ki), a(function() { var l = wm(), r = wr.begin("mutate"); e.map(l), r(), n(); }); } } var kr = !1; function Gs() { kr = !0; } function Bl() { kr = !1; } var Sa = null; function xi(e) { if (oi && ae.observeMutations) { var t = e.treeCallback, n = t === void 0 ? fa : t, a = e.nodeCallback, l = a === void 0 ? fa : a, r = e.pseudoElementsCallback, i = r === void 0 ? fa : r, o = e.observeMutationsRoot, s = o === void 0 ? Ce : o; Sa = new oi(function(u) { if (!kr) { var c = Lt(); xn(u).forEach(function(d) { if (d.type === "childList" && d.addedNodes.length > 0 && !wi(d.addedNodes[0]) && (ae.searchPseudoElements && i(d.target), n(d.target)), d.type === "attributes" && d.target.parentNode && ae.searchPseudoElements && i([d.target], !0), d.type === "attributes" && wi(d.target) && ~Fv.indexOf(d.attributeName)) if (d.attributeName === "class" && pm(d.target)) { var v = Ua(hr(d.target)), m = v.prefix, y = v.iconName; d.target.setAttribute(vr, m || c), y && d.target.setAttribute(mr, y); } else Sm(d.target) && l(d.target); }); } }), Vt && Sa.observe(s, { childList: !0, attributes: !0, characterData: !0, subtree: !0 }); } } function Pm() { Sa && Sa.disconnect(); } function Im(e) { var t = e.getAttribute("style"), n = []; return t && (n = t.split(";").reduce(function(a, l) { var r = l.split(":"), i = r[0], o = r.slice(1); return i && o.length > 0 && (a[i] = o.join(":").trim()), a; }, {})), n; } function Am(e) { var t = e.getAttribute("data-prefix"), n = e.getAttribute("data-icon"), a = e.innerText !== void 0 ? e.innerText.trim() : "", l = Ua(hr(e)); return l.prefix || (l.prefix = Lt()), t && n && (l.prefix = t, l.iconName = n), l.iconName && l.prefix || (l.prefix && a.length > 0 && (l.iconName = Jv(l.prefix, e.innerText) || pr(l.prefix, Fs(e.innerText))), !l.iconName && ae.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (l.iconName = e.firstChild.data)), l; } function _m(e) { var t = xn(e.attributes).reduce(function(n, a) { return n.name !== "class" && n.name !== "style" && (n[a.name] = a.value), n; }, {}); return t; } function Vm() { return { iconName: null, prefix: null, transform: ht, symbol: !1, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, extra: { classes: [], styles: {}, attributes: {} } }; } function Ci(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { styleParser: !0 }, n = Am(e), a = n.iconName, l = n.prefix, r = n.rest, i = _m(e), o = Fl("parseNodeAttributes", {}, e), s = t.styleParser ? Im(e) : []; return H({ iconName: a, prefix: l, transform: ht, mask: { iconName: null, prefix: null, rest: [] }, maskId: null, symbol: !1, extra: { classes: r, styles: s, attributes: i } }, o); } var Om = dt.styles; function Ks(e) { var t = ae.autoReplaceSvg === "nest" ? Ci(e, { styleParser: !1 }) : Ci(e); return ~t.extra.classes.indexOf(As) ? Bt("generateLayersText", e, t) : Bt("generateSvgReplacementMutation", e, t); } function Em() { return [].concat(vt(ps), vt(Ss)); } function Pi(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; if (!Vt) return Promise.resolve(); var n = Ce.documentElement.classList, a = function(d) { return n.add("".concat(ci, "-").concat(d)); }, l = function(d) { return n.remove("".concat(ci, "-").concat(d)); }, r = ae.autoFetchSvg ? Em() : ts.concat(Object.keys(Om)); r.includes("fa") || r.push("fa"); var i = [".".concat(As, ":not([").concat(Zt, "])")].concat(r.map(function(c) { return ".".concat(c, ":not([").concat(Zt, "])"); })).join(", "); if (i.length === 0) return Promise.resolve(); var o = []; try { o = xn(e.querySelectorAll(i)); } catch { } if (o.length > 0) a("pending"), l("complete"); else return Promise.resolve(); var s = wr.begin("onTree"), u = o.reduce(function(c, d) { try { var v = Ks(d); v && c.push(v); } catch (m) { Ps || m.name === "MissingIcon" && console.error(m); } return c; }, []); return new Promise(function(c, d) { Promise.all(u).then(function(v) { Ys(v, function() { a("active"), a("complete"), l("pending"), typeof t == "function" && t(), s(), c(); }); }).catch(function(v) { s(), d(v); }); }); } function Tm(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null; Ks(e).then(function(n) { n && Ys([n], t); }); } function Fm(e) { return function(t) { var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = (t || {}).icon ? t : Dl(t || {}), l = n.mask; return l && (l = (l || {}).icon ? l : Dl(l || {})), e(a, H(H({}, n), {}, { mask: l })); }; } var Dm = function(t) { var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = n.transform, l = a === void 0 ? ht : a, r = n.symbol, i = r === void 0 ? !1 : r, o = n.mask, s = o === void 0 ? null : o, u = n.maskId, c = u === void 0 ? null : u, d = n.classes, v = d === void 0 ? [] : d, m = n.attributes, y = m === void 0 ? {} : m, f = n.styles, b = f === void 0 ? {} : f; if (t) { var g = t.prefix, h = t.iconName, p = t.icon; return Ya(H({ type: "icon" }, t), function() { return en("beforeDOMElementCreation", { iconDefinition: t, params: n }), Sr({ icons: { main: Nl(p), mask: s ? Nl(s.icon) : { found: !1, width: null, height: null, icon: {} } }, prefix: g, iconName: h, transform: H(H({}, ht), l), symbol: i, maskId: c, extra: { attributes: y, styles: b, classes: v } }); }); } }, Nm = { mixout: function() { return { icon: Fm(Dm) }; }, hooks: function() { return { mutationObserverCallbacks: function(n) { return n.treeCallback = Pi, n.nodeCallback = Tm, n; } }; }, provides: function(t) { t.i2svg = function(n) { var a = n.node, l = a === void 0 ? Ce : a, r = n.callback, i = r === void 0 ? function() { } : r; return Pi(l, i); }, t.generateSvgReplacementMutation = function(n, a) { var l = a.iconName, r = a.prefix, i = a.transform, o = a.symbol, s = a.mask, u = a.maskId, c = a.extra; return new Promise(function(d, v) { Promise.all([Ml(l, r), s.iconName ? Ml(s.iconName, s.prefix) : Promise.resolve({ found: !1, width: 512, height: 512, icon: {} })]).then(function(m) { var y = za(m, 2), f = y[0], b = y[1]; d([n, Sr({ icons: { main: f, mask: b }, prefix: r, iconName: l, transform: i, symbol: o, maskId: u, extra: c, watchable: !0 })]); }).catch(v); }); }, t.generateAbstractIcon = function(n) { var a = n.children, l = n.attributes, r = n.main, i = n.transform, o = n.styles, s = Wa(o); s.length > 0 && (l.style = s); var u; return yr(i) && (u = Bt("generateAbstractTransformGrouping", { main: r, transform: i, containerWidth: r.width, iconWidth: r.width })), a.push(u || r.icon), { children: a, attributes: l }; }; } }, Mm = { mixout: function() { return { layer: function(n) { var a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, l = a.classes, r = l === void 0 ? [] : l; return Ya({ type: "layer" }, function() { en("beforeDOMElementCreation", { assembler: n, params: a }); var i = []; return n(function(o) { Array.isArray(o) ? o.map(function(s) { i = i.concat(s.abstract); }) : i = i.concat(o.abstract); }), [{ tag: "span", attributes: { class: ["".concat(ae.cssPrefix, "-layers")].concat(vt(r)).join(" ") }, children: i }]; }); } }; } }, Lm = { mixout: function() { return { counter: function(n) { var a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; a.title; var l = a.classes, r = l === void 0 ? [] : l, i = a.attributes, o = i === void 0 ? {} : i, s = a.styles, u = s === void 0 ? {} : s; return Ya({ type: "counter", content: n }, function() { return en("beforeDOMElementCreation", { content: n, params: a }), gm({ content: n.toString(), extra: { attributes: o, styles: u, classes: ["".concat(ae.cssPrefix, "-layers-counter")].concat(vt(r)) } }); }); } }; } }, Bm = { mixout: function() { return { text: function(n) { var a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, l = a.transform, r = l === void 0 ? ht : l, i = a.classes, o = i === void 0 ? [] : i, s = a.attributes, u = s === void 0 ? {} : s, c = a.styles, d = c === void 0 ? {} : c; return Ya({ type: "text", content: n }, function() { return en("beforeDOMElementCreation", { content: n, params: a }), pi({ content: n, transform: H(H({}, ht), r), extra: { attributes: u, styles: d, classes: ["".concat(ae.cssPrefix, "-layers-text")].concat(vt(o)) } }); }); } }; }, provides: function(t) { t.generateLayersText = function(n, a) { var l = a.transform, r = a.extra, i = null, o = null; if (Zo) { var s = parseInt(getComputedStyle(n).fontSize, 10), u = n.getBoundingClientRect(); i = u.width / s, o = u.height / s; } return Promise.resolve([n, pi({ content: n.innerHTML, width: i, height: o, transform: l, extra: r, watchable: !0 })]); }; } }, qs = new RegExp('"', "ug"), Ii = [1105920, 1112319], Ai = H(H(H(H({}, { FontAwesome: { normal: "fas", 400: "fas" } }), Sf), Pv), Vf), Rl = Object.keys(Ai).reduce(function(e, t) { return e[t.toLowerCase()] = Ai[t], e; }, {}), Rm = Object.keys(Rl).reduce(function(e, t) { var n = Rl[t]; return e[t] = n[900] || vt(Object.entries(n))[0][1], e; }, {}); function $m(e) { var t = e.replace(qs, ""); return Fs(vt(t)[0] || ""); } function jm(e) { var t = e.getPropertyValue("font-feature-settings").includes("ss01"), n = e.getPropertyValue("content"), a = n.replace(qs, ""), l = a.codePointAt(0), r = l >= Ii[0] && l <= Ii[1], i = a.length === 2 ? a[0] === a[1] : !1; return r || i || t; } function zm(e, t) { var n = e.replace(/^['"]|['"]$/g, "").toLowerCase(), a = parseInt(t), l = isNaN(a) ? "normal" : a; return (Rl[n] || {})[l] || Rm[n]; } function _i(e, t) { var n = "".concat(Iv).concat(t.replace(":", "-")); return new Promise(function(a, l) { if (e.getAttribute(n) !== null) return a(); var r = xn(e.children), i = r.filter(function(_) { return _.getAttribute(_l) === t; })[0], o = Mt.getComputedStyle(e, t), s = o.getPropertyValue("font-family"), u = s.match(Ev), c = o.getPropertyValue("font-weight"), d = o.getPropertyValue("content"); if (i && !u) return e.removeChild(i), a(); if (u && d !== "none" && d !== "") { var v = o.getPropertyValue("content"), m = zm(s, c), y = $m(v), f = u[0].startsWith("FontAwesome"), b = jm(o), g = pr(m, y), h = g; if (f) { var p = Qv(y); p.iconName && p.prefix && (g = p.iconName, m = p.prefix); } if (g && !b && (!i || i.getAttribute(vr) !== m || i.getAttribute(mr) !== h)) { e.setAttribute(n, h), i && e.removeChild(i); var w = Vm(), P = w.extra; P.attributes[_l] = t, Ml(g, m).then(function(_) { var I = Sr(H(H({}, w), {}, { icons: { main: _, mask: zs() }, prefix: m, iconName: h, extra: P, watchable: !0 })), k = Ce.createElementNS("http://www.w3.org/2000/svg", "svg"); t === "::before" ? e.insertBefore(k, e.firstChild) : e.appendChild(k), k.outerHTML = I.map(function(E) { return Xn(E); }).join(` `), e.removeAttribute(n), a(); }).catch(l); } else a(); } else a(); }); } function Wm(e) { return Promise.all([_i(e, "::before"), _i(e, "::after")]); } function Hm(e) { return e.parentNode !== document.head && !~_v.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(_l) && (!e.parentNode || e.parentNode.tagName !== "svg"); } var Um = function(t) { return !!t && Cs.some(function(n) { return t.includes(n); }); }, Ym = function(t) { if (!t) return []; var n = /* @__PURE__ */ new Set(), a = t.split(/,(?![^()]*\))/).map(function(s) { return s.trim(); }); a = a.flatMap(function(s) { return s.includes("(") ? s : s.split(",").map(function(u) { return u.trim(); }); }); var l = da(a), r; try { for (l.s(); !(r = l.n()).done; ) { var i = r.value; if (Um(i)) { var o = Cs.reduce(function(s, u) { return s.replace(u, ""); }, i); o !== "" && o !== "*" && n.add(o); } } } catch (s) { l.e(s); } finally { l.f(); } return n; }; function Vi(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1; if (Vt) { var n; if (t) n = e; else if (ae.searchPseudoElementsFullScan) n = e.querySelectorAll("*"); else { var a = /* @__PURE__ */ new Set(), l = da(document.styleSheets), r; try { for (l.s(); !(r = l.n()).done; ) { var i = r.value; try { var o = da(i.cssRules), s; try { for (o.s(); !(s = o.n()).done; ) { var u = s.value, c = Ym(u.selectorText), d = da(c), v; try { for (d.s(); !(v = d.n()).done; ) { var m = v.value; a.add(m); } } catch (f) { d.e(f); } finally { d.f(); } } } catch (f) { o.e(f); } finally { o.f(); } } catch (f) { ae.searchPseudoElementsWarnings && console.warn("Font Awesome: cannot parse stylesheet: ".concat(i.href, " (").concat(f.message, `) If it declares any Font Awesome CSS pseudo-elements, they will not be rendered as SVG icons. Add crossorigin="anonymous" to the , enable searchPseudoElementsFullScan for slower but more thorough DOM parsing, or suppress this warning by setting searchPseudoElementsWarnings to false.`)); } } } catch (f) { l.e(f); } finally { l.f(); } if (!a.size) return; var y = Array.from(a).join(", "); try { n = e.querySelectorAll(y); } catch { } } return new Promise(function(f, b) { var g = xn(n).filter(Hm).map(Wm), h = wr.begin("searchPseudoElements"); Gs(), Promise.all(g).then(function() { h(), Bl(), f(); }).catch(function() { h(), Bl(), b(); }); }); } } var Gm = { hooks: function() { return { mutationObserverCallbacks: function(n) { return n.pseudoElementsCallback = Vi, n; } }; }, provides: function(t) { t.pseudoElements2svg = function(n) { var a = n.node, l = a === void 0 ? Ce : a; ae.searchPseudoElements && Vi(l); }; } }, Oi = !1, Km = { mixout: function() { return { dom: { unwatch: function() { Gs(), Oi = !0; } } }; }, hooks: function() { return { bootstrap: function() { xi(Fl("mutationObserverCallbacks", {})); }, noAuto: function() { Pm(); }, watch: function(n) { var a = n.observeMutationsRoot; Oi ? Bl() : xi(Fl("mutationObserverCallbacks", { observeMutationsRoot: a })); } }; } }, Ei = function(t) { var n = { size: 16, x: 0, y: 0, flipX: !1, flipY: !1, rotate: 0 }; return t.toLowerCase().split(" ").reduce(function(a, l) { var r = l.toLowerCase().split("-"), i = r[0], o = r.slice(1).join("-"); if (i && o === "h") return a.flipX = !0, a; if (i && o === "v") return a.flipY = !0, a; if (o = parseFloat(o), isNaN(o)) return a; switch (i) { case "grow": a.size = a.size + o; break; case "shrink": a.size = a.size - o; break; case "left": a.x = a.x - o; break; case "right": a.x = a.x + o; break; case "up": a.y = a.y - o; break; case "down": a.y = a.y + o; break; case "rotate": a.rotate = a.rotate + o; break; } return a; }, n); }, qm = { mixout: function() { return { parse: { transform: function(n) { return Ei(n); } } }; }, hooks: function() { return { parseNodeAttributes: function(n, a) { var l = a.getAttribute("data-fa-transform"); return l && (n.transform = Ei(l)), n; } }; }, provides: function(t) { t.generateAbstractTransformGrouping = function(n) { var a = n.main, l = n.transform, r = n.containerWidth, i = n.iconWidth, o = { transform: "translate(".concat(r / 2, " 256)") }, s = "translate(".concat(l.x * 32, ", ").concat(l.y * 32, ") "), u = "scale(".concat(l.size / 16 * (l.flipX ? -1 : 1), ", ").concat(l.size / 16 * (l.flipY ? -1 : 1), ") "), c = "rotate(".concat(l.rotate, " 0 0)"), d = { transform: "".concat(s, " ").concat(u, " ").concat(c) }, v = { transform: "translate(".concat(i / 2 * -1, " -256)") }, m = { outer: o, inner: d, path: v }; return { tag: "g", attributes: H({}, m.outer), children: [{ tag: "g", attributes: H({}, m.inner), children: [{ tag: a.icon.tag, children: a.icon.children, attributes: H(H({}, a.icon.attributes), m.path) }] }] }; }; } }, ul = { x: 0, y: 0, width: "100%", height: "100%" }; function Ti(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e; } function Xm(e) { return e.tag === "g" ? e.children : [e]; } var Jm = { hooks: function() { return { parseNodeAttributes: function(n, a) { var l = a.getAttribute("data-fa-mask"), r = l ? Ua(l.split(" ").map(function(i) { return i.trim(); })) : zs(); return r.prefix || (r.prefix = Lt()), n.mask = r, n.maskId = a.getAttribute("data-fa-mask-id"), n; } }; }, provides: function(t) { t.generateAbstractMask = function(n) { var a = n.children, l = n.attributes, r = n.main, i = n.mask, o = n.maskId, s = n.transform, u = r.width, c = r.icon, d = i.width, v = i.icon, m = zv({ transform: s, containerWidth: d, iconWidth: u }), y = { tag: "rect", attributes: H(H({}, ul), {}, { fill: "white" }) }, f = c.children ? { children: c.children.map(Ti) } : {}, b = { tag: "g", attributes: H({}, m.inner), children: [Ti(H({ tag: c.tag, attributes: H(H({}, c.attributes), m.path) }, f))] }, g = { tag: "g", attributes: H({}, m.outer), children: [b] }, h = "mask-".concat(o || fi()), p = "clip-".concat(o || fi()), w = { tag: "mask", attributes: H(H({}, ul), {}, { id: h, maskUnits: "userSpaceOnUse", maskContentUnits: "userSpaceOnUse" }), children: [y, g] }, P = { tag: "defs", children: [{ tag: "clipPath", attributes: { id: p }, children: Xm(v) }, w] }; return a.push(P, { tag: "rect", attributes: H({ fill: "currentColor", "clip-path": "url(#".concat(p, ")"), mask: "url(#".concat(h, ")") }, ul) }), { children: a, attributes: l }; }; } }, Qm = { provides: function(t) { var n = !1; Mt.matchMedia && (n = Mt.matchMedia("(prefers-reduced-motion: reduce)").matches), t.missingIconAbstract = function() { var a = [], l = { fill: "currentColor" }, r = { attributeType: "XML", repeatCount: "indefinite", dur: "2s" }; a.push({ tag: "path", attributes: H(H({}, l), {}, { d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z" }) }); var i = H(H({}, r), {}, { attributeName: "opacity" }), o = { tag: "circle", attributes: H(H({}, l), {}, { cx: "256", cy: "364", r: "28" }), children: [] }; return n || o.children.push({ tag: "animate", attributes: H(H({}, r), {}, { attributeName: "r", values: "28;14;28;28;14;28;" }) }, { tag: "animate", attributes: H(H({}, i), {}, { values: "1;0;1;1;0;1;" }) }), a.push(o), a.push({ tag: "path", attributes: H(H({}, l), {}, { opacity: "1", d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z" }), children: n ? [] : [{ tag: "animate", attributes: H(H({}, i), {}, { values: "1;0;0;0;0;1;" }) }] }), n || a.push({ tag: "path", attributes: H(H({}, l), {}, { opacity: "0", d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z" }), children: [{ tag: "animate", attributes: H(H({}, i), {}, { values: "0;0;1;1;0;0;" }) }] }), { tag: "g", attributes: { class: "missing" }, children: a }; }; } }, Zm = { hooks: function() { return { parseNodeAttributes: function(n, a) { var l = a.getAttribute("data-fa-symbol"), r = l === null ? !1 : l === "" ? !0 : l; return n.symbol = r, n; } }; } }, eg = [Uv, Nm, Mm, Lm, Bm, Gm, Km, qm, Jm, Qm, Zm]; om(eg, { mixoutsTo: at }); at.noAuto; var Xs = at.config; at.library; at.dom; var wa = at.parse; at.findIconDefinition; at.toHtml; var tg = at.icon; at.layer; var ng = at.text; at.counter; function $l(e, t) { (t == null || t > e.length) && (t = e.length); for (var n = 0, a = Array(t); n < t; n++) a[n] = e[n]; return a; } function ag(e) { if (Array.isArray(e)) return $l(e); } function Ge(e, t, n) { return (t = ug(t)) in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e; } function lg(e) { if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e); } function rg() { throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); } function Fi(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var a = Object.getOwnPropertySymbols(e); t && (a = a.filter(function(l) { return Object.getOwnPropertyDescriptor(e, l).enumerable; })), n.push.apply(n, a); } return n; } function ct(e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t] != null ? arguments[t] : {}; t % 2 ? Fi(Object(n), !0).forEach(function(a) { Ge(e, a, n[a]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Fi(Object(n)).forEach(function(a) { Object.defineProperty(e, a, Object.getOwnPropertyDescriptor(n, a)); }); } return e; } function ig(e, t) { if (e == null) return {}; var n, a, l = og(e, t); if (Object.getOwnPropertySymbols) { var r = Object.getOwnPropertySymbols(e); for (a = 0; a < r.length; a++) n = r[a], t.indexOf(n) === -1 && {}.propertyIsEnumerable.call(e, n) && (l[n] = e[n]); } return l; } function og(e, t) { if (e == null) return {}; var n = {}; for (var a in e) if ({}.hasOwnProperty.call(e, a)) { if (t.indexOf(a) !== -1) continue; n[a] = e[a]; } return n; } function jl(e) { return ag(e) || lg(e) || cg(e) || rg(); } function sg(e, t) { if (typeof e != "object" || !e) return e; var n = e[Symbol.toPrimitive]; if (n !== void 0) { var a = n.call(e, t); if (typeof a != "object") return a; throw new TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } function ug(e) { var t = sg(e, "string"); return typeof t == "symbol" ? t : t + ""; } function ka(e) { "@babel/helpers - typeof"; return ka = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { return typeof t; } : function(t) { return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, ka(e); } function cg(e, t) { if (e) { if (typeof e == "string") return $l(e, t); var n = {}.toString.call(e).slice(8, -1); return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? $l(e, t) : void 0; } } function Mn(e, t) { return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Ge({}, e, t) : {}; } function dg(e) { var t, n = (t = { "fa-spin": e.spin, "fa-pulse": e.pulse, // the fixedWidth property has been deprecated as of version 7.0.0 "fa-fw": e.fixedWidth, "fa-border": e.border, "fa-li": e.listItem, "fa-inverse": e.inverse, "fa-flip": e.flip === !0, "fa-flip-horizontal": e.flip === "horizontal" || e.flip === "both", "fa-flip-vertical": e.flip === "vertical" || e.flip === "both" }, Ge(Ge(Ge(Ge(Ge(Ge(Ge(Ge(Ge(Ge(t, "fa-".concat(e.size), e.size !== null), "fa-rotate-".concat(e.rotation), e.rotation !== null), "fa-rotate-by", e.rotateBy), "fa-pull-".concat(e.pull), e.pull !== null), "fa-swap-opacity", e.swapOpacity), "fa-bounce", e.bounce), "fa-shake", e.shake), "fa-beat", e.beat), "fa-fade", e.fade), "fa-beat-fade", e.beatFade), Ge(Ge(Ge(Ge(t, "fa-flash", e.flash), "fa-spin-pulse", e.spinPulse), "fa-spin-reverse", e.spinReverse), "fa-width-auto", e.widthAuto)); return Object.keys(n).map(function(a) { return n[a] ? a : null; }).filter(function(a) { return a; }); } var fg = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, Js = { exports: {} }; (function(e) { (function(t) { var n = function(g, h, p) { if (!u(h) || d(h) || v(h) || m(h) || s(h)) return h; var w, P = 0, _ = 0; if (c(h)) for (w = [], _ = h.length; P < _; P++) w.push(n(g, h[P], p)); else { w = {}; for (var I in h) Object.prototype.hasOwnProperty.call(h, I) && (w[g(I, p)] = n(g, h[I], p)); } return w; }, a = function(g, h) { h = h || {}; var p = h.separator || "_", w = h.split || /(?=[A-Z])/; return g.split(w).join(p); }, l = function(g) { return y(g) ? g : (g = g.replace(/[\-_\s]+(.)?/g, function(h, p) { return p ? p.toUpperCase() : ""; }), g.substr(0, 1).toLowerCase() + g.substr(1)); }, r = function(g) { var h = l(g); return h.substr(0, 1).toUpperCase() + h.substr(1); }, i = function(g, h) { return a(g, h).toLowerCase(); }, o = Object.prototype.toString, s = function(g) { return typeof g == "function"; }, u = function(g) { return g === Object(g); }, c = function(g) { return o.call(g) == "[object Array]"; }, d = function(g) { return o.call(g) == "[object Date]"; }, v = function(g) { return o.call(g) == "[object RegExp]"; }, m = function(g) { return o.call(g) == "[object Boolean]"; }, y = function(g) { return g = g - 0, g === g; }, f = function(g, h) { var p = h && "process" in h ? h.process : h; return typeof p != "function" ? g : function(w, P) { return p(w, g, P); }; }, b = { camelize: l, decamelize: i, pascalize: r, depascalize: i, camelizeKeys: function(g, h) { return n(f(l, h), g); }, decamelizeKeys: function(g, h) { return n(f(i, h), g, h); }, pascalizeKeys: function(g, h) { return n(f(r, h), g); }, depascalizeKeys: function() { return this.decamelizeKeys.apply(this, arguments); } }; e.exports ? e.exports = b : t.humps = b; })(fg); })(Js); var vg = Js.exports, mg = ["class", "style"]; function gg(e) { return e.split(";").map(function(t) { return t.trim(); }).filter(function(t) { return t; }).reduce(function(t, n) { var a = n.indexOf(":"), l = vg.camelize(n.slice(0, a)), r = n.slice(a + 1).trim(); return t[l] = r, t; }, {}); } function hg(e) { return e.split(/\s+/).reduce(function(t, n) { return t[n] = !0, t; }, {}); } function xr(e) { var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (typeof e == "string") return e; var a = (e.children || []).map(function(s) { return xr(s); }), l = Object.keys(e.attributes || {}).reduce(function(s, u) { var c = e.attributes[u]; switch (u) { case "class": s.class = hg(c); break; case "style": s.style = gg(c); break; default: s.attrs[u] = c; } return s; }, { attrs: {}, class: {}, style: {} }); n.class; var r = n.style, i = r === void 0 ? {} : r, o = ig(n, mg); return At(e.tag, ct(ct(ct({}, t), {}, { class: l.class, style: ct(ct({}, l.style), i) }, l.attrs), o), a); } var Qs = !1; try { Qs = process.env.NODE_ENV === "production"; } catch { } function yg() { if (!Qs && console && typeof console.error == "function") { var e; (e = console).error.apply(e, arguments); } } function Di(e) { if (e && ka(e) === "object" && e.prefix && e.iconName && e.icon) return e; if (wa.icon) return wa.icon(e); if (e === null) return null; if (ka(e) === "object" && e.prefix && e.iconName) return e; if (Array.isArray(e) && e.length === 2) return { prefix: e[0], iconName: e[1] }; if (typeof e == "string") return { prefix: "fas", iconName: e }; } var Cn = Ra({ name: "FontAwesomeIcon", props: { border: { type: Boolean, default: !1 }, // the fixedWidth property has been deprecated as of version 7 fixedWidth: { type: Boolean, default: !1 }, flip: { type: [Boolean, String], default: !1, validator: function(t) { return [!0, !1, "horizontal", "vertical", "both"].indexOf(t) > -1; } }, icon: { type: [Object, Array, String], required: !0 }, mask: { type: [Object, Array, String], default: null }, maskId: { type: String, default: null }, listItem: { type: Boolean, default: !1 }, pull: { type: String, default: null, validator: function(t) { return ["right", "left"].indexOf(t) > -1; } }, pulse: { type: Boolean, default: !1 }, rotation: { type: [String, Number], default: null, validator: function(t) { return [90, 180, 270].indexOf(Number.parseInt(t, 10)) > -1; } }, // the rotateBy property is only supported in version 7.0.0 and later rotateBy: { type: Boolean, default: !1 }, swapOpacity: { type: Boolean, default: !1 }, size: { type: String, default: null, validator: function(t) { return ["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"].indexOf(t) > -1; } }, spin: { type: Boolean, default: !1 }, transform: { type: [String, Object], default: null }, symbol: { type: [Boolean, String], default: !1 }, title: { type: String, default: null }, titleId: { type: String, default: null }, inverse: { type: Boolean, default: !1 }, bounce: { type: Boolean, default: !1 }, shake: { type: Boolean, default: !1 }, beat: { type: Boolean, default: !1 }, fade: { type: Boolean, default: !1 }, beatFade: { type: Boolean, default: !1 }, flash: { type: Boolean, default: !1 }, spinPulse: { type: Boolean, default: !1 }, spinReverse: { type: Boolean, default: !1 }, // the widthAuto property is only supported in version 7.0.0 and later widthAuto: { type: Boolean, default: !1 } }, setup: function(t, n) { var a = n.attrs, l = x(function() { return Di(t.icon); }), r = x(function() { return Mn("classes", dg(t)); }), i = x(function() { return Mn("transform", typeof t.transform == "string" ? wa.transform(t.transform) : t.transform); }), o = x(function() { return Mn("mask", Di(t.mask)); }), s = x(function() { var c = ct(ct(ct(ct({}, r.value), i.value), o.value), {}, { symbol: t.symbol, maskId: t.maskId }); return c.title = t.title, c.titleId = t.titleId, tg(l.value, c); }); le(s, function(c) { if (!c) return yg("Could not find one or more icon(s)", l.value, o.value); }, { immediate: !0 }); var u = x(function() { return s.value ? xr(s.value.abstract[0], {}, a) : null; }); return function() { return u.value; }; } }); Ra({ name: "FontAwesomeLayers", props: { fixedWidth: { type: Boolean, default: !1 } }, setup: function(t, n) { var a = n.slots, l = Xs.familyPrefix, r = x(function() { return ["".concat(l, "-layers")].concat(jl(t.fixedWidth ? ["".concat(l, "-fw")] : [])); }); return function() { return At("div", { class: r.value }, a.default ? a.default() : []); }; } }); Ra({ name: "FontAwesomeLayersText", props: { value: { type: [String, Number], default: "" }, transform: { type: [String, Object], default: null }, counter: { type: Boolean, default: !1 }, position: { type: String, default: null, validator: function(t) { return ["bottom-left", "bottom-right", "top-left", "top-right"].indexOf(t) > -1; } } }, setup: function(t, n) { var a = n.attrs, l = Xs.familyPrefix, r = x(function() { return Mn("classes", [].concat(jl(t.counter ? ["".concat(l, "-layers-counter")] : []), jl(t.position ? ["".concat(l, "-layers-").concat(t.position)] : []))); }), i = x(function() { return Mn("transform", typeof t.transform == "string" ? wa.transform(t.transform) : t.transform); }), o = x(function() { var u = ng(t.value.toString(), ct(ct({}, i.value), r.value)), c = u.abstract; return t.counter && (c[0].attributes.class = c[0].attributes.class.replace("fa-layers-text", "")), c[0]; }), s = x(function() { return xr(o.value, {}, a); }); return function() { return s.value; }; } }); /*! * Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2025 Fonticons, Inc. */ var bg = { prefix: "fas", iconName: "magnifying-glass", icon: [512, 512, [128269, "search"], "f002", "M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"] }, Zs = bg, pg = { prefix: "fas", iconName: "chevron-right", icon: [320, 512, [9002], "f054", "M311.1 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L243.2 256 73.9 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"] }, Sg = { prefix: "fas", iconName: "check", icon: [448, 512, [10003, 10004], "f00c", "M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z"] }, wg = { prefix: "fas", iconName: "backward-fast", icon: [512, 512, [9198, "fast-backward"], "f049", "M492.2 477.6c-12 5-25.7 2.2-34.9-6.9L288 301.3 288 448c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9L64 301.3 64 448c0 17.7-14.3 32-32 32S0 465.7 0 448L0 64C0 46.3 14.3 32 32 32S64 46.3 64 64L64 210.7 233.4 41.4c9.2-9.2 22.9-11.9 34.9-6.9S288 51.1 288 64l0 146.7 169.4-169.4c9.2-9.2 22.9-11.9 34.9-6.9S512 51.1 512 64l0 384c0 12.9-7.8 24.6-19.8 29.6z"] }, kg = wg, xg = { prefix: "fas", iconName: "chevron-left", icon: [320, 512, [9001], "f053", "M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"] }, Cg = { prefix: "fas", iconName: "caret-up", icon: [320, 512, [], "f0d8", "M140.3 135.2c12.6-10.3 31.1-9.5 42.8 2.2l128 128c9.2 9.2 11.9 22.9 6.9 34.9S301.4 320 288.5 320l-256 0c-12.9 0-24.6-7.8-29.6-19.8S.7 274.5 9.9 265.4l128-128 2.4-2.2z"] }, Pg = { prefix: "fas", iconName: "caret-down", icon: [320, 512, [], "f0d7", "M140.3 376.8c12.6 10.2 31.1 9.5 42.8-2.2l128-128c9.2-9.2 11.9-22.9 6.9-34.9S301.4 192 288.5 192l-256 0c-12.9 0-24.6 7.8-29.6 19.8S.7 237.5 9.9 246.6l128 128 2.4 2.2z"] }, Ig = { prefix: "fas", iconName: "forward-fast", icon: [512, 512, [9197, "fast-forward"], "f050", "M19.8 477.6c12 5 25.7 2.2 34.9-6.9L224 301.3 224 448c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9L448 301.3 448 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-384c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 146.7-169.4-169.4c-9.2-9.2-22.9-11.9-34.9-6.9S224 51.1 224 64L224 210.7 54.6 41.4c-9.2-9.2-22.9-11.9-34.9-6.9S0 51.1 0 64L0 448c0 12.9 7.8 24.6 19.8 29.6z"] }, Ag = Ig, _g = { prefix: "fas", iconName: "indent", icon: [448, 512, [], "f03c", "M0 64C0 46.3 14.3 32 32 32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32zm32 96l192 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3L0 176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z"] }, Vg = { prefix: "fas", iconName: "hashtag", icon: [512, 512, [62098], "23", "M214.7 .7c17.3 3.7 28.3 20.7 24.6 38l-19.1 89.3 126.5 0 22-102.7C372.4 8 389.4-3 406.7 .7s28.3 20.7 24.6 38L412.2 128 480 128c17.7 0 32 14.3 32 32s-14.3 32-32 32l-81.6 0-27.4 128 67.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-81.6 0-22 102.7c-3.7 17.3-20.7 28.3-38 24.6s-28.3-20.7-24.6-38l19.1-89.3-126.5 0-22 102.7c-3.7 17.3-20.7 28.3-38 24.6s-28.3-20.7-24.6-38L99.8 384 32 384c-17.7 0-32-14.3-32-32s14.3-32 32-32l81.6 0 27.4-128-67.8 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l81.6 0 22-102.7C180.4 8 197.4-3 214.7 .7zM206.4 192l-27.4 128 126.5 0 27.4-128-126.5 0z"] }, Og = { prefix: "fas", iconName: "arrows-rotate", icon: [512, 512, [128472, "refresh", "sync"], "f021", "M65.9 228.5c13.3-93 93.4-164.5 190.1-164.5 53 0 101 21.5 135.8 56.2 .2 .2 .4 .4 .6 .6l7.6 7.2-47.9 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 53.4-11.3-10.7C390.5 28.6 326.5 0 256 0 127 0 20.3 95.4 2.6 219.5 .1 237 12.2 253.2 29.7 255.7s33.7-9.7 36.2-27.1zm443.5 64c2.5-17.5-9.7-33.7-27.1-36.2s-33.7 9.7-36.2 27.1c-13.3 93-93.4 164.5-190.1 164.5-53 0-101-21.5-135.8-56.2-.2-.2-.4-.4-.6-.6l-7.6-7.2 47.9 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 320c-8.5 0-16.7 3.4-22.7 9.5S-.1 343.7 0 352.3l1 127c.1 17.7 14.6 31.9 32.3 31.7S65.2 496.4 65 478.7l-.4-51.5 10.7 10.1c46.3 46.1 110.2 74.7 180.7 74.7 129 0 235.7-95.4 253.4-219.5z"] }, eu = Og; /*! * Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2025 Fonticons, Inc. */ var Eg = { prefix: "far", iconName: "calendar", icon: [448, 512, [128197, 128198], "f133", "M120 0c13.3 0 24 10.7 24 24l0 40 160 0 0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40 32 0c35.3 0 64 28.7 64 64l0 288c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 128C0 92.7 28.7 64 64 64l32 0 0-40c0-13.3 10.7-24 24-24zm0 112l-56 0c-8.8 0-16 7.2-16 16l0 48 352 0 0-48c0-8.8-7.2-16-16-16l-264 0zM48 224l0 192c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-192-352 0z"] }, Tg = { prefix: "far", iconName: "circle-down", icon: [512, 512, [61466, "arrow-alt-circle-down"], "f358", "M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512 256 256 0 1 0 0-512zM244.7 387.3c6.2 6.2 16.4 6.2 22.6 0l104-104c4.6-4.6 5.9-11.5 3.5-17.4S366.5 256 360 256l-72 0 0-104c0-13.3-10.7-24-24-24l-16 0c-13.3 0-24 10.7-24 24l0 104-72 0c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l104 104z"] }, Fg = Tg, Dg = { prefix: "far", iconName: "square", icon: [448, 512, [9632, 9723, 9724, 61590], "f0c8", "M384 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l320 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"] }; class Ng { constructor() { this.title = "", this.key = void 0, this.sort = void 0; } } class Ni { constructor() { this.PageCount = 1, this.PerPage = 10, this.CurrentPage = 1, this.TotalCount = 0; } } class o0 { constructor() { this.PageSize = void 0, this.PageCount = void 0, this.CurrentPage = void 0, this.TotalCount = void 0, this.Items = []; } } class Rt { constructor() { this.Key = "Id", this.Name = void 0, this.ShowKey = void 0, this.Active = !0; } } const Mi = "change", Mg = "load", Li = "rowClick", Bi = "search", Ri = "itemSelection", $i = "multiSelection", tu = "selected-row", Ln = "unselected-row", Lg = "row-class", Bg = { props: { data: { type: Object, required: !0 }, filter: { type: Object, required: !0 }, prop: { type: String, required: !0 } }, components: { FontAwesomeIcon: Cn }, data() { return { data: this.data, filter: this.filter, prop: this.prop, calendar: Eg }; }, methods: { filterDate(e) { this.data[this.prop] = e, this.$emit("filterValue", e); } } }, Ot = (e, t) => { const n = e.__vccOpts || e; for (const [a, l] of t) n[a] = l; return n; }; function Nt(e) { $a(`Vuetify: ${e}`); } function Jn(e) { $a(`Vuetify error: ${e}`); } function Rg(e, t) { t = Array.isArray(t) ? t.slice(0, -1).map((n) => `'${n}'`).join(", ") + ` or '${t.at(-1)}'` : `'${t}'`, $a(`[Vuetify UPGRADE] '${e}' is deprecated, use ${t} instead.`); } const We = typeof window < "u", Cr = We && "IntersectionObserver" in window, $g = We && "matchMedia" in window && typeof window.matchMedia == "function", yn = () => $g && window.matchMedia("(prefers-reduced-motion: reduce)").matches; function ji(e, t, n) { jg(e, t), t.set(e, n); } function jg(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); } function zi(e, t, n) { return e.set(nu(e, t), n), n; } function kt(e, t) { return e.get(nu(e, t)); } function nu(e, t, n) { if (typeof e == "function" ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); } function au(e, t, n) { const a = t.length - 1; if (a < 0) return e === void 0 ? n : e; for (let l = 0; l < a; l++) { if (e == null) return n; e = e[t[l]]; } return e == null || e[t[a]] === void 0 ? n : e[t[a]]; } function $n(e, t, n) { return e == null || !t || typeof t != "string" ? n : e[t] !== void 0 ? e[t] : (t = t.replace(/\[(\w+)\]/g, ".$1"), t = t.replace(/^\./, ""), au(e, t.split("."), n)); } function Ke(e, t, n) { if (t === !0) return e === void 0 ? n : e; if (t == null || typeof t == "boolean") return n; if (e !== Object(e)) { if (typeof t != "function") return n; const l = t(e, n); return typeof l > "u" ? n : l; } if (typeof t == "string") return $n(e, t, n); if (Array.isArray(t)) return au(e, t, n); if (typeof t != "function") return n; const a = t(e, n); return typeof a > "u" ? n : a; } function fn(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; return Array.from({ length: e }, (n, a) => t + a); } function X(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "px"; if (e == null || e === "") return; const n = Number(e); return isNaN(n) ? String(e) : isFinite(n) ? `${n}${t}` : void 0; } function bn(e) { return e !== null && typeof e == "object" && !Array.isArray(e); } function zl(e) { let t; return e !== null && typeof e == "object" && ((t = Object.getPrototypeOf(e)) === Object.prototype || t === null); } function lu(e) { if (e && "$el" in e) { const t = e.$el; return (t == null ? void 0 : t.nodeType) === Node.TEXT_NODE ? t.nextElementSibling : t; } return e; } const Wi = Object.freeze({ enter: "Enter", tab: "Tab", delete: "Delete", esc: "Escape", space: "Space", up: "ArrowUp", down: "ArrowDown", left: "ArrowLeft", right: "ArrowRight", end: "End", home: "Home", del: "Delete", backspace: "Backspace", insert: "Insert", pageup: "PageUp", pagedown: "PageDown", shift: "Shift" }); function cl(e, t) { return t.every((n) => e.hasOwnProperty(n)); } function $t(e, t) { const n = {}; for (const a of t) Object.prototype.hasOwnProperty.call(e, a) && (n[a] = e[a]); return n; } function Wl(e, t, n) { const a = /* @__PURE__ */ Object.create(null), l = /* @__PURE__ */ Object.create(null); for (const r in e) t.some((i) => i instanceof RegExp ? i.test(r) : i === r) ? a[r] = e[r] : l[r] = e[r]; return [a, l]; } function _e(e, t) { const n = { ...e }; return t.forEach((a) => delete n[a]), n; } const ru = /^on[^a-z]/, Pr = (e) => ru.test(e), zg = ["onAfterscriptexecute", "onAnimationcancel", "onAnimationend", "onAnimationiteration", "onAnimationstart", "onAuxclick", "onBeforeinput", "onBeforescriptexecute", "onChange", "onClick", "onCompositionend", "onCompositionstart", "onCompositionupdate", "onContextmenu", "onCopy", "onCut", "onDblclick", "onFocusin", "onFocusout", "onFullscreenchange", "onFullscreenerror", "onGesturechange", "onGestureend", "onGesturestart", "onGotpointercapture", "onInput", "onKeydown", "onKeypress", "onKeyup", "onLostpointercapture", "onMousedown", "onMousemove", "onMouseout", "onMouseover", "onMouseup", "onMousewheel", "onPaste", "onPointercancel", "onPointerdown", "onPointerenter", "onPointerleave", "onPointermove", "onPointerout", "onPointerover", "onPointerup", "onReset", "onSelect", "onSubmit", "onTouchcancel", "onTouchend", "onTouchmove", "onTouchstart", "onTransitioncancel", "onTransitionend", "onTransitionrun", "onTransitionstart", "onWheel"]; function iu(e) { const [t, n] = Wl(e, [ru]), a = _e(t, zg), [l, r] = Wl(n, ["class", "style", "id", "inert", /^data-/]); return Object.assign(l, t), Object.assign(r, a), [l, r]; } function Pe(e) { return e == null ? [] : Array.isArray(e) ? e : [e]; } function Wg(e, t) { let n = 0; const a = function() { for (var l = arguments.length, r = new Array(l), i = 0; i < l; i++) r[i] = arguments[i]; clearTimeout(n), n = setTimeout(() => e(...r), ot(t)); }; return a.clear = () => { clearTimeout(n); }, a.immediate = e, a; } function Re(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1; return Math.max(t, Math.min(n, e)); } function Hi(e, t) { let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "0"; return e + n.repeat(Math.max(0, t - e.length)); } function Hg(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1; const n = []; let a = 0; for (; a < e.length; ) n.push(e.substr(a, t)), a += t; return n; } function xt() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = arguments.length > 2 ? arguments[2] : void 0; const a = {}; for (const l in e) a[l] = e[l]; for (const l in t) { const r = e[l], i = t[l]; if (zl(r) && zl(i)) { a[l] = xt(r, i, n); continue; } if (n && Array.isArray(r) && Array.isArray(i)) { a[l] = n(r, i); continue; } a[l] = i; } return a; } function ou(e) { return e.map((t) => t.type === ue ? ou(t.children) : t).flat(); } function qt() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; if (qt.cache.has(e)) return qt.cache.get(e); const t = e.replace(/[^a-z]/gi, "-").replace(/\B([A-Z])/g, "-$1").toLowerCase(); return qt.cache.set(e, t), t; } qt.cache = /* @__PURE__ */ new Map(); function En(e, t) { if (!t || typeof t != "object") return []; if (Array.isArray(t)) return t.map((n) => En(e, n)).flat(1); if (t.suspense) return En(e, t.ssContent); if (Array.isArray(t.children)) return t.children.map((n) => En(e, n)).flat(1); if (t.component) { if (Object.getOwnPropertyDescriptor(t.component.provides, e)) return [t.component]; if (t.component.subTree) return En(e, t.component.subTree).flat(1); } return []; } var un = /* @__PURE__ */ new WeakMap(), Gt = /* @__PURE__ */ new WeakMap(); class Ug { constructor(t) { ji(this, un, []), ji(this, Gt, 0), this.size = t; } get isFull() { return kt(un, this).length === this.size; } push(t) { kt(un, this)[kt(Gt, this)] = t, zi(Gt, this, (kt(Gt, this) + 1) % this.size); } values() { return kt(un, this).slice(kt(Gt, this)).concat(kt(un, this).slice(0, kt(Gt, this))); } clear() { kt(un, this).length = 0, zi(Gt, this, 0); } } function Ir(e) { const t = Jt({}); qe(() => { const a = e(); for (const l in a) t[l] = a[l]; }, { flush: "sync" }); const n = {}; for (const a in t) n[a] = O(() => t[a]); return n; } function xa(e, t) { return e.includes(t); } function su(e) { return e[2].toLowerCase() + e.slice(3); } const $e = () => [Function, Array]; function Ui(e, t) { return t = "on" + wn(t), !!(e[t] || e[`${t}Once`] || e[`${t}Capture`] || e[`${t}OnceCapture`] || e[`${t}CaptureOnce`]); } function Ar(e) { for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++) n[a - 1] = arguments[a]; if (Array.isArray(e)) for (const l of e) l(...n); else typeof e == "function" && e(...n); } function Xt(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; const n = ["button", "[href]", 'input:not([type="hidden"])', "select", "textarea", "details:not(:has(> summary))", "details > summary", "[tabindex]", '[contenteditable]:not([contenteditable="false"])', "audio[controls]", "video[controls]"].map((l) => `${l}${t ? ':not([tabindex="-1"])' : ""}:not([disabled], [inert])`).join(", "); let a; try { a = [...e.querySelectorAll(n)]; } catch (l) { return Jn(String(l)), []; } return a.filter((l) => !l.closest("[inert]")).filter((l) => !!l.offsetParent || l.getClientRects().length > 0).filter((l) => { var r, i; return !((r = l.parentElement) != null && r.closest("details:not([open])")) || l.tagName === "SUMMARY" && ((i = l.parentElement) == null ? void 0 : i.tagName) === "DETAILS"; }); } function uu(e, t, n) { let a, l = e.indexOf(document.activeElement); const r = t === "next" ? 1 : -1; do l += r, a = e[l]; while ((!a || a.offsetParent == null || !((n == null ? void 0 : n(a)) ?? !0)) && l < e.length && l >= 0); return a; } function Bn(e, t) { var a, l, r, i; const n = Xt(e); if (t == null) (e === document.activeElement || !e.contains(document.activeElement)) && ((a = n[0]) == null || a.focus()); else if (t === "first") (l = n[0]) == null || l.focus(); else if (t === "last") (r = n.at(-1)) == null || r.focus(); else if (typeof t == "number") (i = n[t]) == null || i.focus(); else { const o = uu(n, t); o ? o.focus() : Bn(e, t === "next" ? "first" : "last"); } } function ia(e) { return e == null || typeof e == "string" && e.trim() === ""; } function Ca(e, t) { if (!(We && typeof CSS < "u" && typeof CSS.supports < "u" && CSS.supports(`selector(${t})`))) return null; try { return !!e && e.matches(t); } catch { return null; } } function cu(e) { return e.some((t) => Od(t) ? t.type === Ed ? !1 : t.type !== ue || cu(t.children) : !0) ? e : null; } function Yg(e, t) { if (!We || e === 0) return t(), () => { }; const n = window.setTimeout(t, e); return () => window.clearTimeout(n); } function Gg(e, t) { const n = e.clientX, a = e.clientY, l = t.getBoundingClientRect(), r = l.left, i = l.top, o = l.right, s = l.bottom; return n >= r && n <= o && a >= i && a <= s; } function Pa() { const e = Z(), t = (n) => { e.value = n; }; return Object.defineProperty(t, "value", { enumerable: !0, get: () => e.value, set: (n) => e.value = n }), Object.defineProperty(t, "el", { enumerable: !0, get: () => lu(e.value) }), t; } function Yi(e) { const t = e.key.length === 1, n = !e.ctrlKey && !e.metaKey && !e.altKey; return t && n; } function jt(e) { return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || typeof e == "bigint"; } function Hl(e) { return "\\^$*+?.()|{}[]".includes(e) ? `\\${e}` : e; } function Kg(e, t, n) { const a = new RegExp(`[\\d\\-${Hl(n)}]`), l = e.split("").filter((i) => a.test(i)).filter((i, o, s) => o === 0 && /[-]/.test(i) || // sign allowed at the start i === n && o === s.indexOf(i) || // decimal separator allowed only once /\d/.test(i)).join(""); if (t === 0) return l.split(n)[0]; const r = new RegExp(`${Hl(n)}\\d`); if (t !== null && r.test(l)) { const i = l.split(n); return [i[0], i[1].substring(0, t)].join(n); } return l; } function qg(e) { const t = {}; for (const n in e) t[ir(n)] = e[n]; return t; } function Xg(e) { const t = ["checked", "disabled"]; return Object.fromEntries(Object.entries(e).filter((n) => { let [a, l] = n; return t.includes(a) ? !!l : l !== void 0; })); } function Gi(e) { const t = (n) => Array.isArray(n) ? n.map((a) => t(a)) : ya(n) || _d(n) || Vd(n) ? t(Ie(n)) : zl(n) ? Object.keys(n).reduce((a, l) => (a[l] = t(n[l]), a), {}) : n; return t(e); } const du = ["top", "bottom"], Jg = ["start", "end", "left", "right"]; function Ul(e, t) { let [n, a] = e.split(" "); return a || (a = xa(du, n) ? "start" : xa(Jg, n) ? "top" : "center"), { side: Ki(n, t), align: Ki(a, t) }; } function Ki(e, t) { return e === "start" ? t ? "right" : "left" : e === "end" ? t ? "left" : "right" : e; } function dl(e) { return { side: { center: "center", top: "bottom", bottom: "top", left: "right", right: "left" }[e.side], align: e.align }; } function fl(e) { return { side: e.side, align: { center: "center", top: "bottom", bottom: "top", left: "right", right: "left" }[e.align] }; } function qi(e) { return { side: e.align, align: e.side }; } function Xi(e) { return xa(du, e.side) ? "y" : "x"; } class st { constructor(t) { const n = document.body.currentCSSZoom ?? 1, a = t instanceof Element, l = a ? 1 + (1 - n) / n : 1, { x: r, y: i, width: o, height: s } = a ? t.getBoundingClientRect() : t; this.x = r * l, this.y = i * l, this.width = o * l, this.height = s * l; } get top() { return this.y; } get bottom() { return this.y + this.height; } get left() { return this.x; } get right() { return this.x + this.width; } } function Ji(e, t) { return { x: { before: Math.max(0, t.left - e.left), after: Math.max(0, e.right - t.right) }, y: { before: Math.max(0, t.top - e.top), after: Math.max(0, e.bottom - t.bottom) } }; } function fu(e) { if (Array.isArray(e)) { const t = document.body.currentCSSZoom ?? 1, n = 1 + (1 - t) / t; return new st({ x: e[0] * n, y: e[1] * n, width: 0 * n, height: 0 * n }); } else return new st(e); } function Qg(e) { if (e === document.documentElement) if (visualViewport) { const t = document.body.currentCSSZoom ?? 1; return new st({ x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft, y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop, width: visualViewport.width * visualViewport.scale / t, height: visualViewport.height * visualViewport.scale / t }); } else return new st({ x: 0, y: 0, width: document.documentElement.clientWidth, height: document.documentElement.clientHeight }); else return new st(e); } function _r(e) { const t = new st(e), n = getComputedStyle(e), a = n.transform; if (a) { let l, r, i, o, s; if (a.startsWith("matrix3d(")) l = a.slice(9, -1).split(/, /), r = Number(l[0]), i = Number(l[5]), o = Number(l[12]), s = Number(l[13]); else if (a.startsWith("matrix(")) l = a.slice(7, -1).split(/, /), r = Number(l[0]), i = Number(l[3]), o = Number(l[4]), s = Number(l[5]); else return new st(t); const u = n.transformOrigin, c = t.x - o - (1 - r) * parseFloat(u), d = t.y - s - (1 - i) * parseFloat(u.slice(u.indexOf(" ") + 1)), v = r ? t.width / r : e.offsetWidth + 1, m = i ? t.height / i : e.offsetHeight + 1; return new st({ x: c, y: d, width: v, height: m }); } else return new st(t); } function Tt(e, t, n) { if (typeof e.animate > "u") return { finished: Promise.resolve() }; let a; try { a = e.animate(t, n); } catch { return { finished: Promise.resolve() }; } return typeof a.finished > "u" && (a.finished = new Promise((l) => { a.onfinish = () => { l(a); }; })), a; } const ma = /* @__PURE__ */ new WeakMap(); function Zg(e, t) { Object.keys(t).forEach((n) => { if (Pr(n)) { const a = su(n), l = ma.get(e); if (t[n] == null) l == null || l.forEach((r) => { const [i, o] = r; i === a && (e.removeEventListener(a, o), l.delete(r)); }); else if (!l || ![...l].some((r) => r[0] === a && r[1] === t[n])) { e.addEventListener(a, t[n]); const r = l || /* @__PURE__ */ new Set(); r.add([a, t[n]]), ma.has(e) || ma.set(e, r); } } else t[n] == null ? e.removeAttribute(n) : e.setAttribute(n, t[n]); }); } function eh(e, t) { Object.keys(t).forEach((n) => { if (Pr(n)) { const a = su(n), l = ma.get(e); l == null || l.forEach((r) => { const [i, o] = r; i === a && (e.removeEventListener(a, o), l.delete(r)); }); } else e.removeAttribute(n); }); } const cn = 2.4, Qi = 0.2126729, Zi = 0.7151522, eo = 0.072175, th = 0.55, nh = 0.58, ah = 0.57, lh = 0.62, oa = 0.03, to = 1.45, rh = 5e-4, ih = 1.25, oh = 1.25, no = 0.078, ao = 12.82051282051282, sa = 0.06, lo = 1e-3; function ro(e, t) { const n = (e.r / 255) ** cn, a = (e.g / 255) ** cn, l = (e.b / 255) ** cn, r = (t.r / 255) ** cn, i = (t.g / 255) ** cn, o = (t.b / 255) ** cn; let s = n * Qi + a * Zi + l * eo, u = r * Qi + i * Zi + o * eo; if (s <= oa && (s += (oa - s) ** to), u <= oa && (u += (oa - u) ** to), Math.abs(u - s) < rh) return 0; let c; if (u > s) { const d = (u ** th - s ** nh) * ih; c = d < lo ? 0 : d < no ? d - d * ao * sa : d - sa; } else { const d = (u ** lh - s ** ah) * oh; c = d > -lo ? 0 : d > -no ? d - d * ao * sa : d + sa; } return c * 100; } function Yl(e) { return !!e && /^(#|var\(--|(rgb|hsl)a?\()/.test(e); } function sh(e) { return Yl(e) && !/^((rgb|hsl)a?\()?var\(--/.test(e); } const io = /^(?(?:rgb|hsl)a?)\((?.+)\)/, uh = { rgb: (e, t, n, a) => ({ r: e, g: t, b: n, a }), rgba: (e, t, n, a) => ({ r: e, g: t, b: n, a }), hsl: (e, t, n, a) => oo({ h: e, s: t, l: n, a }), hsla: (e, t, n, a) => oo({ h: e, s: t, l: n, a }), hsv: (e, t, n, a) => jn({ h: e, s: t, v: n, a }), hsva: (e, t, n, a) => jn({ h: e, s: t, v: n, a }) }; function Tn(e) { if (typeof e == "number") return (isNaN(e) || e < 0 || e > 16777215) && Nt(`'${e}' is not a valid hex color`), { r: (e & 16711680) >> 16, g: (e & 65280) >> 8, b: e & 255 }; if (typeof e == "string" && io.test(e)) { const { groups: t } = e.match(io), { fn: n, values: a } = t, l = a.split(/,\s*|\s*\/\s*|\s+/).map((r, i) => r.endsWith("%") || // unitless slv are % i > 0 && i < 3 && ["hsl", "hsla", "hsv", "hsva"].includes(n) ? parseFloat(r) / 100 : parseFloat(r)); return uh[n](...l); } else if (typeof e == "string") { let t = e.startsWith("#") ? e.slice(1) : e; [3, 4].includes(t.length) ? t = t.split("").map((a) => a + a).join("") : [6, 8].includes(t.length) || Nt(`'${e}' is not a valid hex(a) color`); const n = parseInt(t, 16); return (isNaN(n) || n < 0 || n > 4294967295) && Nt(`'${e}' is not a valid hex(a) color`), ch(t); } else if (typeof e == "object") { if (cl(e, ["r", "g", "b"])) return e; if (cl(e, ["h", "s", "l"])) return jn(vu(e)); if (cl(e, ["h", "s", "v"])) return jn(e); } throw new TypeError(`Invalid color: ${e == null ? e : String(e) || e.constructor.name} Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`); } function jn(e) { const { h: t, s: n, v: a, a: l } = e, r = (o) => { const s = (o + t / 60) % 6; return a - a * n * Math.max(Math.min(s, 4 - s, 1), 0); }, i = [r(5), r(3), r(1)].map((o) => Math.round(o * 255)); return { r: i[0], g: i[1], b: i[2], a: l }; } function oo(e) { return jn(vu(e)); } function vu(e) { const { h: t, s: n, l: a, a: l } = e, r = a + n * Math.min(a, 1 - a), i = r === 0 ? 0 : 2 - 2 * a / r; return { h: t, s: i, v: r, a: l }; } function ch(e) { e = dh(e); let [t, n, a, l] = Hg(e, 2).map((r) => parseInt(r, 16)); return l = l === void 0 ? l : l / 255, { r: t, g: n, b: a, a: l }; } function dh(e) { return e.startsWith("#") && (e = e.slice(1)), e = e.replace(/([^0-9a-f])/gi, "F"), (e.length === 3 || e.length === 4) && (e = e.split("").map((t) => t + t).join("")), e.length !== 6 && (e = Hi(Hi(e, 6), 8, "F")), e; } function fh(e) { const t = Math.abs(ro(Tn(0), Tn(e))); return Math.abs(ro(Tn(16777215), Tn(e))) > Math.min(t, 50) ? "#fff" : "#000"; } function L(e, t) { return (n) => Object.keys(e).reduce((a, l) => { const i = typeof e[l] == "object" && e[l] != null && !Array.isArray(e[l]) ? e[l] : { type: e[l] }; return n && l in n ? a[l] = { ...i, default: n[l] } : a[l] = i, t && !a[l].source && (a[l].source = t), a; }, {}); } const he = L({ class: [String, Array, Object], style: { type: [String, Array, Object], default: null } }, "component"); function Ve(e, t) { const n = Td(); if (!n) throw new Error(`[Vuetify] ${e} must be called from inside a setup function`); return n; } function pt() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "composables"; const t = Ve(e).type; return qt((t == null ? void 0 : t.aliasName) || (t == null ? void 0 : t.name)); } function vh(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Ve("injectSelf"); const { provides: n } = t; if (n && e in n) return n[e]; } const Ia = Symbol.for("vuetify:defaults"); function Vr() { const e = xe(Ia); if (!e) throw new Error("[Vuetify] Could not find defaults instance"); return e; } function It(e, t) { const n = Vr(), a = ne(e), l = x(() => { if (ot(t == null ? void 0 : t.disabled)) return n.value; const i = ot(t == null ? void 0 : t.scoped), o = ot(t == null ? void 0 : t.reset), s = ot(t == null ? void 0 : t.root); if (a.value == null && !(i || o || s)) return n.value; let u = xt(a.value, { prev: n.value }); if (i) return u; if (o || s) { const c = Number(o || 1 / 0); for (let d = 0; d <= c && !(!u || !("prev" in u)); d++) u = u.prev; return u && typeof s == "string" && s in u && (u = xt(xt(u, { prev: u }), u[s])), u; } return u.prev ? xt(u.prev, u) : u; }); return Be(Ia, l), l; } function mh(e, t) { return e.props && (typeof e.props[t] < "u" || typeof e.props[qt(t)] < "u"); } function gh() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 ? arguments[1] : void 0, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Vr(); const a = Ve("useDefaults"); if (t = t ?? a.type.name ?? a.type.__name, !t) throw new Error("[Vuetify] Could not determine component name"); const l = x(() => { var s; return (s = n.value) == null ? void 0 : s[e._as ?? t]; }), r = new Proxy(e, { get(s, u) { var m, y, f, b; const c = Reflect.get(s, u); if (u === "class" || u === "style") return [(m = l.value) == null ? void 0 : m[u], c].filter((g) => g != null); if (mh(a.vnode, u)) return c; const d = (y = l.value) == null ? void 0 : y[u]; if (d !== void 0) return d; const v = (b = (f = n.value) == null ? void 0 : f.global) == null ? void 0 : b[u]; return v !== void 0 ? v : c; } }), i = Z(); qe(() => { if (l.value) { const s = Object.entries(l.value).filter((u) => { let [c] = u; return c.startsWith(c[0].toUpperCase()); }); i.value = s.length ? Object.fromEntries(s) : void 0; } else i.value = void 0; }); function o() { const s = vh(Ia, a); Be(Ia, x(() => i.value ? xt((s == null ? void 0 : s.value) ?? {}, i.value) : s == null ? void 0 : s.value)); } return { props: r, provideSubDefaults: o }; } function Qn(e) { if (e._setup = e._setup ?? e.setup, !e.name) return Nt("The component is missing an explicit name, unable to generate default prop value"), e; if (e._setup) { e.props = L(e.props ?? {}, e.name)(); const t = Object.keys(e.props).filter((n) => n !== "class" && n !== "style"); e.filterProps = function(a) { return $t(a, t); }, e.props._as = String, e.setup = function(a, l) { const r = Vr(); if (!r.value) return e._setup(a, l); const { props: i, provideSubDefaults: o } = gh(a, a._as ?? e.name, r), s = e._setup(i, l); return o(), s; }; } return e; } function q() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0; return (t) => (e ? Qn : Ra)(t); } function hh(e, t) { return t.props = e, t; } function Or(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "div", n = arguments.length > 2 ? arguments[2] : void 0; return q()({ name: n ?? wn(ir(e.replace(/__/g, "-"))), props: { tag: { type: String, default: t }, ...he() }, setup(a, l) { let { slots: r } = l; return () => { var i; return At(a.tag, { class: [e, a.class], style: a.style }, (i = r.default) == null ? void 0 : i.call(r)); }; } }); } function yh(e, t, n, a) { if (!n || jt(e) || jt(t)) return; const l = n.get(e); if (l) l.set(t, a); else { const r = /* @__PURE__ */ new WeakMap(); r.set(t, a), n.set(e, r); } } function bh(e, t, n) { var r, i; if (!n || jt(e) || jt(t)) return null; const a = (r = n.get(e)) == null ? void 0 : r.get(t); if (typeof a == "boolean") return a; const l = (i = n.get(t)) == null ? void 0 : i.get(e); return typeof l == "boolean" ? l : null; } function Qe(e, t) { let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : /* @__PURE__ */ new WeakMap(); if (e === t) return !0; if (e instanceof Date && t instanceof Date && e.getTime() !== t.getTime() || e !== Object(e) || t !== Object(t)) return !1; const a = Object.keys(e); if (a.length !== Object.keys(t).length) return !1; const l = bh(e, t, n); return l || (yh(e, t, n, !0), a.every((r) => Qe(e[r], t[r], n))); } function mu(e) { if (typeof e.getRootNode != "function") { for (; e.parentNode; ) e = e.parentNode; return e !== document ? null : document; } const t = e.getRootNode(); return t !== document && t.getRootNode({ composed: !0 }) !== document ? null : t; } const Aa = "cubic-bezier(0.4, 0, 0.2, 1)", so = "cubic-bezier(0.0, 0, 0.2, 1)", uo = "cubic-bezier(0.4, 0, 1, 1)", ph = { linear: (e) => e, easeInQuad: (e) => e ** 2, easeOutQuad: (e) => e * (2 - e), easeInOutQuad: (e) => e < 0.5 ? 2 * e ** 2 : -1 + (4 - 2 * e) * e, easeInCubic: (e) => e ** 3, easeOutCubic: (e) => --e ** 3 + 1, easeInOutCubic: (e) => e < 0.5 ? 4 * e ** 3 : (e - 1) * (2 * e - 2) * (2 * e - 2) + 1, easeInQuart: (e) => e ** 4, easeOutQuart: (e) => 1 - --e ** 4, easeInOutQuart: (e) => e < 0.5 ? 8 * e ** 4 : 1 - 8 * --e ** 4, easeInQuint: (e) => e ** 5, easeOutQuint: (e) => 1 + --e ** 5, easeInOutQuint: (e) => e < 0.5 ? 16 * e ** 5 : 1 + 16 * --e ** 5, instant: (e) => 1 }; function co(e, t, n) { return Object.keys(e).filter((a) => Pr(a) && a.endsWith(t)).reduce((a, l) => (a[l.slice(0, -t.length)] = (r) => Ar(e[l], r, n(r)), a), {}); } function gu(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1; for (; e; ) { if (t ? Sh(e) : Er(e)) return e; e = e.parentElement; } return document.scrollingElement; } function _a(e, t) { const n = []; if (t && e && !t.contains(e)) return n; for (; e && (Er(e) && n.push(e), e !== t); ) e = e.parentElement; return n; } function Er(e) { if (!e || e.nodeType !== Node.ELEMENT_NODE) return !1; const t = window.getComputedStyle(e), n = t.overflowY === "scroll" || t.overflowY === "auto" && e.scrollHeight > e.clientHeight, a = t.overflowX === "scroll" || t.overflowX === "auto" && e.scrollWidth > e.clientWidth; return n || a; } function Sh(e) { if (!e || e.nodeType !== Node.ELEMENT_NODE) return !1; const t = window.getComputedStyle(e); return ["scroll", "auto"].includes(t.overflowY); } function wh(e) { for (; e; ) { if (window.getComputedStyle(e).position === "fixed") return !0; e = e.offsetParent; } return !1; } function re(e) { const t = Ve("useRender"); t.render = e; } function kh(e, t) { let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : { leading: !0, trailing: !0 }, a = 0, l = 0, r = !1, i = 0; function o() { clearTimeout(a), r = !1, i = 0; } const s = function() { for (var u = arguments.length, c = new Array(u), d = 0; d < u; d++) c[d] = arguments[d]; clearTimeout(a); const v = Date.now(); i || (i = v); const m = v - Math.max(i, l); function y() { l = Date.now(), a = setTimeout(o, t), e(...c); } r ? m >= t ? y() : n.trailing && (a = setTimeout(y, t - m)) : (r = !0, n.leading && y()); }; return s.clear = o, s.immediate = e, s; } const Wt = L({ border: [Boolean, Number, String] }, "border"); function rn(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : pt(); return { borderClasses: x(() => { const a = e.border; return a === !0 || a === "" ? `${t}--border` : typeof a == "string" || a === 0 ? String(a).split(" ").map((l) => `border-${l}`) : []; }) }; } const xh = [null, "default", "comfortable", "compact"], lt = L({ density: { type: String, default: "default", validator: (e) => xh.includes(e) } }, "density"); function Et(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : pt(); return { densityClasses: O(() => `${t}--density-${e.density}`) }; } const on = L({ elevation: { type: [Number, String], validator(e) { const t = parseInt(e); return !isNaN(t) && t >= 0 && // Material Design has a maximum elevation of 24 // https://material.io/design/environment/elevation.html#default-elevations t <= 24; } } }, "elevation"); function Pn(e) { return { elevationClasses: O(() => { const n = ya(e) ? e.value : e.elevation; return n == null ? [] : [`elevation-${n}`]; }) }; } const ut = L({ rounded: { type: [Boolean, Number, String], default: void 0 }, tile: Boolean }, "rounded"); function mt(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : pt(); return { roundedClasses: x(() => { const a = ya(e) ? e.value : e.rounded, l = ya(e) ? !1 : e.tile, r = []; if (l || a === !1) r.push("rounded-0"); else if (a === !0 || a === "") r.push(`${t}--rounded`); else if (typeof a == "string" || a === 0) for (const i of String(a).split(" ")) r.push(`rounded-${i}`); return r; }) }; } const Oe = L({ tag: { type: [String, Object, Function], default: "div" } }, "tag"), Gl = Symbol.for("vuetify:theme"), Ne = L({ theme: String }, "theme"); function Xe(e) { Ve("provideTheme"); const t = xe(Gl, null); if (!t) throw new Error("Could not find Vuetify theme injection"); const n = O(() => e.theme ?? t.name.value), a = O(() => t.themes.value[n.value]), l = O(() => t.isDisabled ? void 0 : `${t.prefix}theme--${n.value}`), r = { ...t, name: n, current: a, themeClasses: l }; return Be(Gl, r), r; } function hu() { Ve("useTheme"); const e = xe(Gl, null); if (!e) throw new Error("Could not find Vuetify theme injection"); return e; } function Tr(e) { return Ir(() => { const { class: t, style: n } = Ch(e); return { colorClasses: t, colorStyles: n }; }); } function yt(e) { const { colorClasses: t, colorStyles: n } = Tr(() => ({ text: Me(e) })); return { textColorClasses: t, textColorStyles: n }; } function nt(e) { const { colorClasses: t, colorStyles: n } = Tr(() => ({ background: Me(e) })); return { backgroundColorClasses: t, backgroundColorStyles: n }; } function Ch(e) { const t = Me(e), n = [], a = {}; if (t.background) if (Yl(t.background)) { if (a.backgroundColor = t.background, !t.text && sh(t.background)) { const l = Tn(t.background); if (l.a == null || l.a === 1) { const r = fh(l); a.color = r, a.caretColor = r; } } } else n.push(`bg-${t.background}`); return t.text && (Yl(t.text) ? (a.color = t.text, a.caretColor = t.text) : n.push(`text-${t.text}`)), { class: n, style: a }; } const Ph = ["elevated", "flat", "tonal", "outlined", "text", "plain"]; function Ga(e, t) { return C(ue, null, [e && C("span", { key: "overlay", class: ee(`${t}__overlay`) }, null), C("span", { key: "underlay", class: ee(`${t}__underlay`) }, null)]); } const Ht = L({ color: String, variant: { type: String, default: "elevated", validator: (e) => Ph.includes(e) } }, "variant"); function Ka(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : pt(); const n = O(() => { const { variant: r } = Me(e); return `${t}--variant-${r}`; }), { colorClasses: a, colorStyles: l } = Tr(() => { const { variant: r, color: i } = Me(e); return { [["elevated", "flat"].includes(r) ? "background" : "text"]: i }; }); return { colorClasses: a, colorStyles: l, variantClasses: n }; } const yu = L({ baseColor: String, divided: Boolean, direction: { type: String, default: "horizontal" }, ...Wt(), ...he(), ...lt(), ...on(), ...ut(), ...Oe(), ...Ne(), ...Ht() }, "VBtnGroup"), fo = q()({ name: "VBtnGroup", props: yu(), setup(e, t) { let { slots: n } = t; const { themeClasses: a } = Xe(e), { densityClasses: l } = Et(e), { borderClasses: r } = rn(e), { elevationClasses: i } = Pn(e), { roundedClasses: o } = mt(e); It({ VBtn: { height: O(() => e.direction === "horizontal" ? "auto" : null), baseColor: O(() => e.baseColor), color: O(() => e.color), density: O(() => e.density), flat: !0, variant: O(() => e.variant) } }), re(() => S(e.tag, { class: ee(["v-btn-group", `v-btn-group--${e.direction}`, { "v-btn-group--divided": e.divided }, a.value, r.value, l.value, i.value, o.value, e.class]), style: ge(e.style) }, n)); } }); function zt(e, t) { let n; function a() { n = or(), n.run(() => t.length ? t(() => { n == null || n.stop(), a(); }) : t()); } le(e, (l) => { l && !n ? a() : l || (n == null || n.stop(), n = void 0); }, { immediate: !0 }), je(() => { n == null || n.stop(); }); } function me(e, t, n) { let a = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : (d) => d, l = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : (d) => d; const r = Ve("useProxiedModel"), i = ne(e[t] !== void 0 ? e[t] : n), o = qt(t), u = o !== t ? x(() => { var d, v, m, y; return e[t], !!(((d = r.vnode.props) != null && d.hasOwnProperty(t) || (v = r.vnode.props) != null && v.hasOwnProperty(o)) && ((m = r.vnode.props) != null && m.hasOwnProperty(`onUpdate:${t}`) || (y = r.vnode.props) != null && y.hasOwnProperty(`onUpdate:${o}`))); }) : x(() => { var d, v; return e[t], !!((d = r.vnode.props) != null && d.hasOwnProperty(t) && ((v = r.vnode.props) != null && v.hasOwnProperty(`onUpdate:${t}`))); }); zt(() => !u.value, () => { le(() => e[t], (d) => { i.value = d; }); }); const c = x({ get() { const d = e[t]; return a(u.value ? d : i.value); }, set(d) { const v = l(d), m = Ie(u.value ? e[t] : i.value); m === v || a(m) === d || (i.value = v, r == null || r.emit(`update:${t}`, v)); } }); return Object.defineProperty(c, "externalValue", { get: () => u.value ? e[t] : i.value }), c; } const Fr = L({ modelValue: { type: null, default: void 0 }, multiple: Boolean, mandatory: [Boolean, String], max: Number, selectedClass: String, disabled: Boolean }, "group"), bu = L({ value: null, disabled: Boolean, selectedClass: String }, "group-item"); function Kl(e, t) { let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0; const a = Ve("useGroupItem"); if (!a) throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function"); const l = bt(); Be(Symbol.for(`${t.description}:id`), l); const r = xe(t, null); if (!r) { if (!n) return r; throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`); } const i = O(() => e.value), o = x(() => !!(r.disabled.value || e.disabled)); function s() { r == null || r.register({ id: l, value: i, disabled: o }, a); } function u() { r == null || r.unregister(l); } s(), _t(() => u()); const c = x(() => r.isSelected(l)), d = x(() => r.items.value[0].id === l), v = x(() => r.items.value[r.items.value.length - 1].id === l), m = x(() => c.value && [r.selectedClass.value, e.selectedClass]); return le(c, (y) => { a.emit("group:selected", { value: y }); }, { flush: "sync" }), { id: l, isSelected: c, isFirst: d, isLast: v, toggle: () => r.select(l, !c.value), select: (y) => r.select(l, y), selectedClass: m, value: i, disabled: o, group: r, register: s, unregister: u }; } function Dr(e, t) { let n = !1; const a = Jt([]), l = me(e, "modelValue", [], (v) => v === void 0 ? [] : pu(a, v === null ? [null] : Pe(v)), (v) => { const m = Ah(a, v); return e.multiple ? m : m[0]; }), r = Ve("useGroup"); function i(v, m) { const y = v, f = Symbol.for(`${t.description}:id`), g = En(f, r == null ? void 0 : r.vnode).indexOf(m); ot(y.value) === void 0 && (y.value = g, y.useIndexAsValue = !0), g > -1 ? a.splice(g, 0, y) : a.push(y); } function o(v) { if (n) return; s(); const m = a.findIndex((y) => y.id === v); a.splice(m, 1); } function s() { const v = a.find((m) => !m.disabled); v && e.mandatory === "force" && !l.value.length && (l.value = [v.id]); } kn(() => { s(); }), _t(() => { n = !0; }), Fd(() => { for (let v = 0; v < a.length; v++) a[v].useIndexAsValue && (a[v].value = v); }); function u(v, m) { const y = a.find((f) => f.id === v); if (!(m && (y != null && y.disabled))) if (e.multiple) { const f = l.value.slice(), b = f.findIndex((h) => h === v), g = ~b; if (m = m ?? !g, g && e.mandatory && f.length <= 1 || !g && e.max != null && f.length + 1 > e.max) return; b < 0 && m ? f.push(v) : b >= 0 && !m && f.splice(b, 1), l.value = f; } else { const f = l.value.includes(v); if (e.mandatory && f || !f && !m) return; l.value = m ?? !f ? [v] : []; } } function c(v) { if (e.multiple && Nt('This method is not supported when using "multiple" prop'), l.value.length) { const m = l.value[0], y = a.findIndex((g) => g.id === m); let f = (y + v) % a.length, b = a[f]; for (; b.disabled && f !== y; ) f = (f + v) % a.length, b = a[f]; if (b.disabled) return; l.value = [a[f].id]; } else { const m = a.find((y) => !y.disabled); m && (l.value = [m.id]); } } const d = { register: i, unregister: o, selected: l, select: u, disabled: O(() => e.disabled), prev: () => c(a.length - 1), next: () => c(1), isSelected: (v) => l.value.includes(v), selectedClass: O(() => e.selectedClass), items: O(() => a), getItemIndex: (v) => Ih(a, v) }; return Be(t, d), d; } function Ih(e, t) { const n = pu(e, [t]); return n.length ? e.findIndex((a) => a.id === n[0]) : -1; } function pu(e, t) { const n = []; return t.forEach((a) => { const l = e.find((i) => Qe(a, i.value)), r = e[a]; (l == null ? void 0 : l.value) !== void 0 ? n.push(l.id) : r != null && r.useIndexAsValue && n.push(r.id); }), n; } function Ah(e, t) { const n = []; return t.forEach((a) => { const l = e.findIndex((r) => r.id === a); if (~l) { const r = e[l]; n.push(r.value !== void 0 ? r.value : l); } }), n; } const Su = Symbol.for("vuetify:v-btn-toggle"), _h = L({ ...yu(), ...Fr() }, "VBtnToggle"); q()({ name: "VBtnToggle", props: _h(), emits: { "update:modelValue": (e) => !0 }, setup(e, t) { let { slots: n } = t; const { isSelected: a, next: l, prev: r, select: i, selected: o } = Dr(e, Su); return re(() => { const s = fo.filterProps(e); return S(fo, Y({ class: ["v-btn-toggle", e.class] }, s, { style: e.style }), { default: () => { var u; return [(u = n.default) == null ? void 0 : u.call(n, { isSelected: a, next: l, prev: r, select: i, selected: o })]; } }); }), { next: l, prev: r, select: i }; } }); const Vh = L({ defaults: Object, disabled: Boolean, reset: [Number, String], root: [Boolean, String], scoped: Boolean }, "VDefaultsProvider"), De = q(!1)({ name: "VDefaultsProvider", props: Vh(), setup(e, t) { let { slots: n } = t; const { defaults: a, disabled: l, reset: r, root: i, scoped: o } = sr(e); return It(a, { reset: r, root: i, scoped: o, disabled: l }), () => { var s; return (s = n.default) == null ? void 0 : s.call(n); }; } }), se = [String, Function, Object, Array], Oh = Symbol.for("vuetify:icons"), qa = L({ icon: { type: se }, // Could not remove this and use makeTagProps, types complained because it is not required tag: { type: [String, Object, Function], required: !0 } }, "icon"), vo = q()({ name: "VComponentIcon", props: qa(), setup(e, t) { let { slots: n } = t; return () => { const a = e.icon; return S(e.tag, null, { default: () => { var l; return [e.icon ? S(a, null, null) : (l = n.default) == null ? void 0 : l.call(n)]; } }); }; } }), Eh = Qn({ name: "VSvgIcon", inheritAttrs: !1, props: qa(), setup(e, t) { let { attrs: n } = t; return () => S(e.tag, Y(n, { style: null }), { default: () => [C("svg", { class: "v-icon__svg", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", role: "img", "aria-hidden": "true" }, [Array.isArray(e.icon) ? e.icon.map((a) => Array.isArray(a) ? C("path", { d: a[0], "fill-opacity": a[1] }, null) : C("path", { d: a }, null)) : C("path", { d: e.icon }, null)])] }); } }); Qn({ name: "VLigatureIcon", props: qa(), setup(e) { return () => S(e.tag, null, { default: () => [e.icon] }); } }); Qn({ name: "VClassIcon", props: qa(), setup(e) { return () => S(e.tag, { class: ee(e.icon) }, null); } }); const Th = (e) => { const t = xe(Oh); if (!t) throw new Error("Missing Vuetify Icons provide!"); return { iconData: x(() => { var s; const a = Me(e); if (!a) return { component: vo }; let l = a; if (typeof l == "string" && (l = l.trim(), l.startsWith("$") && (l = (s = t.aliases) == null ? void 0 : s[l.slice(1)])), l || Nt(`Could not find aliased icon "${a}"`), Array.isArray(l)) return { component: Eh, icon: l }; if (typeof l != "string") return { component: vo, icon: l }; const r = Object.keys(t.sets).find((u) => typeof l == "string" && l.startsWith(`${u}:`)), i = r ? l.slice(r.length + 1) : l; return { component: t.sets[r ?? t.defaultSet].component, icon: i }; }) }; }, Fh = ["x-small", "small", "default", "large", "x-large"], In = L({ size: { type: [String, Number], default: "default" } }, "size"); function Zn(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : pt(); return Ir(() => { const n = e.size; let a, l; return xa(Fh, n) ? a = `${t}--size-${n}` : n && (l = { width: X(n), height: X(n) }), { sizeClasses: a, sizeStyles: l }; }); } const Dh = L({ color: String, disabled: Boolean, start: Boolean, end: Boolean, icon: se, opacity: [String, Number], ...he(), ...In(), ...Oe({ tag: "i" }), ...Ne() }, "VIcon"), Le = q()({ name: "VIcon", props: Dh(), setup(e, t) { let { attrs: n, slots: a } = t; const l = Z(), { themeClasses: r } = hu(), { iconData: i } = Th(() => l.value || e.icon), { sizeClasses: o } = Zn(e), { textColorClasses: s, textColorStyles: u } = yt(() => e.color); return re(() => { var v, m; const c = (v = a.default) == null ? void 0 : v.call(a); c && (l.value = (m = ou(c).filter((y) => y.type === Dd && y.children && typeof y.children == "string")[0]) == null ? void 0 : m.children); const d = !!(n.onClick || n.onClickOnce); return S(i.value.component, { tag: e.tag, icon: i.value.icon, class: ee(["v-icon", "notranslate", r.value, o.value, s.value, { "v-icon--clickable": d, "v-icon--disabled": e.disabled, "v-icon--start": e.start, "v-icon--end": e.end }, e.class]), style: ge([{ "--v-icon-opacity": e.opacity }, o.value ? void 0 : { fontSize: X(e.size), height: X(e.size), width: X(e.size) }, u.value, e.style]), role: d ? "button" : void 0, "aria-hidden": !d, tabindex: d ? e.disabled ? -1 : 0 : void 0 }, { default: () => [c] }); }), {}; } }); function wu(e, t) { const n = ne(), a = Z(!1); if (Cr) { const l = new IntersectionObserver((r) => { a.value = !!r.find((i) => i.isIntersecting); }, t); je(() => { l.disconnect(); }), le(n, (r, i) => { i && (l.unobserve(i), a.value = !1), r && l.observe(r); }, { flush: "post" }); } return { intersectionRef: n, isIntersecting: a }; } function tn(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "content"; const n = Pa(), a = ne(); if (We) { const l = new ResizeObserver((r) => { e == null || e(r, l), r.length && (t === "content" ? a.value = r[0].contentRect : a.value = r[0].target.getBoundingClientRect()); }); _t(() => { l.disconnect(); }), le(() => n.el, (r, i) => { i && (l.unobserve(i), a.value = void 0), r && l.observe(r); }, { flush: "post" }); } return { resizeRef: n, contentRect: ur(a) }; } const Nh = L({ bgColor: String, color: String, indeterminate: [Boolean, String], rounded: Boolean, modelValue: { type: [Number, String], default: 0 }, rotate: { type: [Number, String], default: 0 }, width: { type: [Number, String], default: 4 }, ...he(), ...In(), ...Oe({ tag: "div" }), ...Ne() }, "VProgressCircular"), Mh = q()({ name: "VProgressCircular", props: Nh(), setup(e, t) { let { slots: n } = t; const a = 20, l = 2 * Math.PI * a, r = ne(), { themeClasses: i } = Xe(e), { sizeClasses: o, sizeStyles: s } = Zn(e), { textColorClasses: u, textColorStyles: c } = yt(() => e.color), { textColorClasses: d, textColorStyles: v } = yt(() => e.bgColor), { intersectionRef: m, isIntersecting: y } = wu(), { resizeRef: f, contentRect: b } = tn(), g = O(() => Re(parseFloat(e.modelValue), 0, 100)), h = O(() => Number(e.width)), p = O(() => s.value ? Number(e.size) : b.value ? b.value.width : Math.max(h.value, 32)), w = O(() => a / (1 - h.value / p.value) * 2), P = O(() => h.value / p.value * w.value), _ = O(() => { const k = (100 - g.value) / 100 * l; return e.rounded && g.value > 0 && g.value < 100 ? X(Math.min(l - 0.01, k + P.value)) : X(k); }), I = x(() => { const k = Number(e.rotate); return e.rounded ? k + P.value / 2 / l * 360 : k; }); return qe(() => { m.value = r.value, f.value = r.value; }), re(() => S(e.tag, { ref: r, class: ee(["v-progress-circular", { "v-progress-circular--indeterminate": !!e.indeterminate, "v-progress-circular--visible": y.value, "v-progress-circular--disable-shrink": e.indeterminate && (e.indeterminate === "disable-shrink" || yn()) }, i.value, o.value, u.value, e.class]), style: ge([s.value, c.value, e.style]), role: "progressbar", "aria-valuemin": "0", "aria-valuemax": "100", "aria-valuenow": e.indeterminate ? void 0 : g.value }, { default: () => [C("svg", { style: { transform: `rotate(calc(-90deg + ${I.value}deg))` }, xmlns: "http://www.w3.org/2000/svg", viewBox: `0 0 ${w.value} ${w.value}` }, [C("circle", { class: ee(["v-progress-circular__underlay", d.value]), style: ge(v.value), fill: "transparent", cx: "50%", cy: "50%", r: a, "stroke-width": P.value, "stroke-dasharray": l, "stroke-dashoffset": 0 }, null), C("circle", { class: "v-progress-circular__overlay", fill: "transparent", cx: "50%", cy: "50%", r: a, "stroke-width": P.value, "stroke-dasharray": l, "stroke-dashoffset": _.value, "stroke-linecap": e.rounded ? "round" : void 0 }, null)]), n.default && C("div", { class: "v-progress-circular__content" }, [n.default({ value: g.value })])] })), {}; } }), St = L({ height: [Number, String], maxHeight: [Number, String], maxWidth: [Number, String], minHeight: [Number, String], minWidth: [Number, String], width: [Number, String] }, "dimension"); function wt(e) { return { dimensionStyles: x(() => { const n = {}, a = X(e.height), l = X(e.maxHeight), r = X(e.maxWidth), i = X(e.minHeight), o = X(e.minWidth), s = X(e.width); return a != null && (n.height = a), l != null && (n.maxHeight = l), r != null && (n.maxWidth = r), i != null && (n.minHeight = i), o != null && (n.minWidth = o), s != null && (n.width = s), n; }) }; } const ku = Symbol.for("vuetify:locale"); function Je() { const e = xe(ku); if (!e) throw new Error("[Vuetify] Could not find injected locale instance"); return e; } function gt() { const e = xe(ku); if (!e) throw new Error("[Vuetify] Could not find injected rtl instance"); return { isRtl: e.isRtl, rtlClasses: e.rtlClasses }; } const mo = { center: "center", top: "bottom", bottom: "top", left: "right", right: "left" }, Xa = L({ location: String }, "location"); function Ja(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, n = arguments.length > 2 ? arguments[2] : void 0; const { isRtl: a } = gt(); return { locationStyles: x(() => { if (!e.location) return {}; const { side: r, align: i } = Ul(e.location.split(" ").length > 1 ? e.location : `${e.location} center`, a.value); function o(u) { return n ? n(u) : 0; } const s = {}; return r !== "center" && (t ? s[mo[r]] = `calc(100% - ${o(r)}px)` : s[r] = 0), i !== "center" ? t ? s[mo[i]] = `calc(100% - ${o(i)}px)` : s[i] = 0 : (r === "center" ? s.top = s.left = "50%" : s[{ top: "left", bottom: "left", left: "top", right: "top" }[r]] = "50%", s.transform = { top: "translateX(-50%)", bottom: "translateX(-50%)", left: "translateY(-50%)", right: "translateY(-50%)", center: "translate(-50%, -50%)" }[r]), s; }) }; } const Lh = L({ chunkCount: { type: [Number, String], default: null }, chunkWidth: { type: [Number, String], default: null }, chunkGap: { type: [Number, String], default: 4 } }, "chunks"); function Bh(e, t) { const n = O(() => !!e.chunkCount || !!e.chunkWidth), a = x(() => { const o = Me(t); if (!o) return 0; if (!e.chunkCount) return Number(e.chunkWidth); const s = Number(e.chunkCount); return (o - Number(e.chunkGap) * (s - 1)) / s; }), l = O(() => Number(e.chunkGap)), r = x(() => { if (!n.value) return {}; const o = X(l.value), s = X(a.value); return { maskRepeat: "repeat-x", maskImage: `linear-gradient(90deg, #000, #000 ${s}, transparent ${s}, transparent)`, maskSize: `calc(${s} + ${o}) 100%` }; }); function i(o) { const s = Me(t); if (!s) return o; const u = 100 * l.value / s, c = 100 * (a.value + l.value) / s, d = Math.floor((o + u) / c); return Re(0, d * c - u / 2, 100); } return { hasChunks: n, chunksMaskStyles: r, snapValueToChunk: i }; } const Rh = L({ absolute: Boolean, active: { type: Boolean, default: !0 }, bgColor: String, bgOpacity: [Number, String], bufferValue: { type: [Number, String], default: 0 }, bufferColor: String, bufferOpacity: [Number, String], clickable: Boolean, color: String, height: { type: [Number, String], default: 4 }, indeterminate: Boolean, max: { type: [Number, String], default: 100 }, modelValue: { type: [Number, String], default: 0 }, opacity: [Number, String], reverse: Boolean, stream: Boolean, striped: Boolean, roundedBar: Boolean, ...Lh(), ...he(), ...Xa({ location: "top" }), ...ut(), ...Oe(), ...Ne() }, "VProgressLinear"), $h = q()({ name: "VProgressLinear", props: Rh(), emits: { "update:modelValue": (e) => !0 }, setup(e, t) { let { slots: n } = t; const a = ne(), l = me(e, "modelValue"), { isRtl: r, rtlClasses: i } = gt(), { themeClasses: o } = Xe(e), { locationStyles: s } = Ja(e), { textColorClasses: u, textColorStyles: c } = yt(() => e.color), { backgroundColorClasses: d, backgroundColorStyles: v } = nt(() => e.bgColor || e.color), { backgroundColorClasses: m, backgroundColorStyles: y } = nt(() => e.bufferColor || e.bgColor || e.color), { backgroundColorClasses: f, backgroundColorStyles: b } = nt(() => e.color), { roundedClasses: g } = mt(e), { intersectionRef: h, isIntersecting: p } = wu(), w = x(() => parseFloat(e.max)), P = x(() => parseFloat(e.height)), _ = x(() => Re(parseFloat(e.bufferValue) / w.value * 100, 0, 100)), I = x(() => Re(parseFloat(l.value) / w.value * 100, 0, 100)), k = x(() => r.value !== e.reverse), E = x(() => e.indeterminate ? "fade-transition" : "slide-x-transition"), T = Z(0), { hasChunks: M, chunksMaskStyles: N, snapValueToChunk: B } = Bh(e, T); zt(M, () => { const { resizeRef: K } = tn((z) => T.value = z[0].contentRect.width); qe(() => K.value = a.value); }); const $ = x(() => M.value ? B(_.value) : _.value), j = x(() => M.value ? B(I.value) : I.value); function G(K) { if (!h.value) return; const { left: z, right: te, width: W } = h.value.getBoundingClientRect(), Q = k.value ? W - K.clientX + (te - W) : K.clientX - z; l.value = Math.round(Q / W * w.value); } return qe(() => { h.value = a.value; }), re(() => S(e.tag, { ref: a, class: ee(["v-progress-linear", { "v-progress-linear--absolute": e.absolute, "v-progress-linear--active": e.active && p.value, "v-progress-linear--reverse": k.value, "v-progress-linear--rounded": e.rounded, "v-progress-linear--rounded-bar": e.roundedBar, "v-progress-linear--striped": e.striped, "v-progress-linear--clickable": e.clickable }, g.value, o.value, i.value, e.class]), style: ge([{ bottom: e.location === "bottom" ? 0 : void 0, top: e.location === "top" ? 0 : void 0, height: e.active ? X(P.value) : 0, "--v-progress-linear-height": X(P.value), ...e.absolute ? s.value : {} }, N.value, e.style]), role: "progressbar", "aria-hidden": e.active ? "false" : "true", "aria-valuemin": "0", "aria-valuemax": e.max, "aria-valuenow": e.indeterminate ? void 0 : Math.min(parseFloat(l.value), w.value), onClick: e.clickable && G }, { default: () => [e.stream && C("div", { key: "stream", class: ee(["v-progress-linear__stream", u.value]), style: { ...c.value, [k.value ? "left" : "right"]: X(-P.value), borderTop: `${X(P.value / 2)} dotted`, opacity: parseFloat(e.bufferOpacity), top: `calc(50% - ${X(P.value / 4)})`, width: X(100 - _.value, "%"), "--v-progress-linear-stream-to": X(P.value * (k.value ? 1 : -1)) } }, null), C("div", { class: ee(["v-progress-linear__background", d.value]), style: ge([v.value, { opacity: parseFloat(e.bgOpacity), width: e.stream ? 0 : void 0 }]) }, null), C("div", { class: ee(["v-progress-linear__buffer", m.value]), style: ge([y.value, { opacity: parseFloat(e.bufferOpacity), width: X($.value, "%") }]) }, null), S(Qt, { name: E.value }, { default: () => [e.indeterminate ? C("div", { class: "v-progress-linear__indeterminate" }, [["long", "short"].map((K) => C("div", { key: K, class: ee(["v-progress-linear__indeterminate", K, f.value]), style: ge(b.value) }, null))]) : C("div", { class: ee(["v-progress-linear__determinate", f.value]), style: ge([b.value, { width: X(j.value, "%") }]) }, null)] }), n.default && C("div", { class: "v-progress-linear__content" }, [n.default({ value: I.value, buffer: _.value })])] })), {}; } }), Nr = L({ loading: [Boolean, String] }, "loader"); function Mr(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : pt(); return { loaderClasses: O(() => ({ [`${t}--loading`]: e.loading })) }; } function xu(e, t) { var a; let { slots: n } = t; return C("div", { class: ee(`${e.name}__loader`) }, [((a = n.default) == null ? void 0 : a.call(n, { color: e.color, isActive: e.active })) || S($h, { absolute: e.absolute, active: e.active, color: e.color, height: "2", indeterminate: !0 }, null)]); } const jh = ["static", "relative", "fixed", "absolute", "sticky"], Cu = L({ position: { type: String, validator: ( /* istanbul ignore next */ (e) => jh.includes(e) ) } }, "position"); function Pu(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : pt(); return { positionClasses: O(() => e.position ? `${t}--${e.position}` : void 0) }; } function zh() { const e = Ve("useRoute"); return x(() => { var t; return (t = e == null ? void 0 : e.proxy) == null ? void 0 : t.$route; }); } function Wh() { var e, t; return (t = (e = Ve("useRouter")) == null ? void 0 : e.proxy) == null ? void 0 : t.$router; } function Lr(e, t) { var d, v; const n = Nd("RouterLink"), a = O(() => !!(e.href || e.to)), l = x(() => (a == null ? void 0 : a.value) || Ui(t, "click") || Ui(e, "click")); if (typeof n == "string" || !("useLink" in n)) { const m = O(() => e.href); return { isLink: a, isRouterLink: O(() => !1), isClickable: l, href: m, linkProps: Jt({ href: m }) }; } const r = n.useLink({ to: O(() => e.to || ""), replace: O(() => e.replace) }), i = x(() => e.to ? r : void 0), o = zh(), s = x(() => { var m, y, f; return i.value ? e.exact ? o.value ? ((f = i.value.isExactActive) == null ? void 0 : f.value) && Qe(i.value.route.value.query, o.value.query) : ((y = i.value.isExactActive) == null ? void 0 : y.value) ?? !1 : ((m = i.value.isActive) == null ? void 0 : m.value) ?? !1 : !1; }), u = x(() => { var m; return e.to ? (m = i.value) == null ? void 0 : m.route.value.href : e.href; }), c = O(() => !!e.to); return { isLink: a, isRouterLink: c, isClickable: l, isActive: s, route: (d = i.value) == null ? void 0 : d.route, navigate: (v = i.value) == null ? void 0 : v.navigate, href: u, linkProps: Jt({ href: u, "aria-current": O(() => s.value ? "page" : void 0), "aria-disabled": O(() => e.disabled && a.value ? "true" : void 0), tabindex: O(() => e.disabled && a.value ? "-1" : void 0) }) }; } const Br = L({ href: String, replace: Boolean, to: [String, Object], exact: Boolean }, "router"); let vl = !1; function Hh(e, t) { let n = !1, a, l; We && (e != null && e.beforeEach) && (Ae(() => { window.addEventListener("popstate", r), a = e.beforeEach((i, o, s) => { vl ? n ? t(s) : s() : setTimeout(() => n ? t(s) : s()), vl = !0; }), l = e == null ? void 0 : e.afterEach(() => { vl = !1; }); }), je(() => { window.removeEventListener("popstate", r), a == null || a(), l == null || l(); })); function r(i) { var o; (o = i.state) != null && o.replaced || (n = !0, setTimeout(() => n = !1)); } } function Uh(e, t) { le(() => { var n; return (n = e.isActive) == null ? void 0 : n.value; }, (n) => { e.isLink.value && n != null && t && Ae(() => { t(n); }); }, { immediate: !0 }); } const ql = Symbol("rippleStop"), Yh = 80; function go(e, t) { e.style.transform = t, e.style.webkitTransform = t; } function Xl(e) { return e.constructor.name === "TouchEvent"; } function Iu(e) { return e.constructor.name === "KeyboardEvent"; } const Gh = function(e, t) { var d; let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, a = 0, l = 0; if (!Iu(e)) { const v = t.getBoundingClientRect(), m = Xl(e) ? e.touches[e.touches.length - 1] : e; a = m.clientX - v.left, l = m.clientY - v.top; } let r = 0, i = 0.3; (d = t._ripple) != null && d.circle ? (i = 0.15, r = t.clientWidth / 2, r = n.center ? r : r + Math.sqrt((a - r) ** 2 + (l - r) ** 2) / 4) : r = Math.sqrt(t.clientWidth ** 2 + t.clientHeight ** 2) / 2; const o = `${(t.clientWidth - r * 2) / 2}px`, s = `${(t.clientHeight - r * 2) / 2}px`, u = n.center ? o : `${a - r}px`, c = n.center ? s : `${l - r}px`; return { radius: r, scale: i, x: u, y: c, centerX: o, centerY: s }; }, Va = { /* eslint-disable max-statements */ show(e, t) { var m; let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; if (!((m = t == null ? void 0 : t._ripple) != null && m.enabled)) return; const a = document.createElement("span"), l = document.createElement("span"); a.appendChild(l), a.className = "v-ripple__container", n.class && (a.className += ` ${n.class}`); const { radius: r, scale: i, x: o, y: s, centerX: u, centerY: c } = Gh(e, t, n), d = `${r * 2}px`; l.className = "v-ripple__animation", l.style.width = d, l.style.height = d, t.appendChild(a); const v = window.getComputedStyle(t); v && v.position === "static" && (t.style.position = "relative", t.dataset.previousPosition = "static"), l.classList.add("v-ripple__animation--enter"), l.classList.add("v-ripple__animation--visible"), go(l, `translate(${o}, ${s}) scale3d(${i},${i},${i})`), l.dataset.activated = String(performance.now()), requestAnimationFrame(() => { requestAnimationFrame(() => { l.classList.remove("v-ripple__animation--enter"), l.classList.add("v-ripple__animation--in"), go(l, `translate(${u}, ${c}) scale3d(1,1,1)`); }); }); }, hide(e) { var r; if (!((r = e == null ? void 0 : e._ripple) != null && r.enabled)) return; const t = e.getElementsByClassName("v-ripple__animation"); if (t.length === 0) return; const n = Array.from(t).findLast((i) => !i.dataset.isHiding); if (n) n.dataset.isHiding = "true"; else return; const a = performance.now() - Number(n.dataset.activated), l = Math.max(250 - a, 0); setTimeout(() => { n.classList.remove("v-ripple__animation--in"), n.classList.add("v-ripple__animation--out"), setTimeout(() => { var o; e.getElementsByClassName("v-ripple__animation").length === 1 && e.dataset.previousPosition && (e.style.position = e.dataset.previousPosition, delete e.dataset.previousPosition), ((o = n.parentNode) == null ? void 0 : o.parentNode) === e && e.removeChild(n.parentNode); }, 300); }, l); } }; function Au(e) { return typeof e > "u" || !!e; } function zn(e) { const t = {}, n = e.currentTarget; if (!(!(n != null && n._ripple) || n._ripple.touched || e[ql])) { if (e[ql] = !0, Xl(e)) n._ripple.touched = !0, n._ripple.isTouch = !0; else if (n._ripple.isTouch) return; if (t.center = n._ripple.centered || Iu(e), n._ripple.class && (t.class = n._ripple.class), Xl(e)) { if (n._ripple.showTimerCommit) return; n._ripple.showTimerCommit = () => { Va.show(e, n, t); }, n._ripple.showTimer = window.setTimeout(() => { var a; (a = n == null ? void 0 : n._ripple) != null && a.showTimerCommit && (n._ripple.showTimerCommit(), n._ripple.showTimerCommit = null); }, Yh); } else Va.show(e, n, t); } } function Oa(e) { e[ql] = !0; } function et(e) { const t = e.currentTarget; if (t != null && t._ripple) { if (window.clearTimeout(t._ripple.showTimer), e.type === "touchend" && t._ripple.showTimerCommit) { t._ripple.showTimerCommit(), t._ripple.showTimerCommit = null, t._ripple.showTimer = window.setTimeout(() => { et(e); }); return; } window.setTimeout(() => { t._ripple && (t._ripple.touched = !1); }), Va.hide(t); } } function _u(e) { const t = e.currentTarget; t != null && t._ripple && (t._ripple.showTimerCommit && (t._ripple.showTimerCommit = null), window.clearTimeout(t._ripple.showTimer)); } let Wn = !1; function Kh(e, t) { !Wn && t.includes(e.key) && (Wn = !0, zn(e)); } function Vu(e) { Wn = !1, et(e); } function Ou(e) { Wn && (Wn = !1, et(e)); } function Eu(e, t, n) { const { value: a, modifiers: l } = t, r = Au(a); r || Va.hide(e), e._ripple = e._ripple ?? {}, e._ripple.enabled = r, e._ripple.centered = l.center, e._ripple.circle = l.circle; const i = bn(a) ? a : {}; i.class && (e._ripple.class = i.class); const o = i.keys ?? ["Enter", "Space"]; if (e._ripple.keyDownHandler = (s) => Kh(s, o), r && !n) { if (l.stop) { e.addEventListener("touchstart", Oa, { passive: !0 }), e.addEventListener("mousedown", Oa); return; } e.addEventListener("touchstart", zn, { passive: !0 }), e.addEventListener("touchend", et, { passive: !0 }), e.addEventListener("touchmove", _u, { passive: !0 }), e.addEventListener("touchcancel", et), e.addEventListener("mousedown", zn), e.addEventListener("mouseup", et), e.addEventListener("mouseleave", et), e.addEventListener("keydown", e._ripple.keyDownHandler), e.addEventListener("keyup", Vu), e.addEventListener("blur", Ou), e.addEventListener("dragstart", et, { passive: !0 }); } else !r && n && Tu(e); } function Tu(e) { var t; e.removeEventListener("touchstart", Oa), e.removeEventListener("mousedown", Oa), e.removeEventListener("touchstart", zn), e.removeEventListener("touchend", et), e.removeEventListener("touchmove", _u), e.removeEventListener("touchcancel", et), e.removeEventListener("mousedown", zn), e.removeEventListener("mouseup", et), e.removeEventListener("mouseleave", et), (t = e._ripple) != null && t.keyDownHandler && e.removeEventListener("keydown", e._ripple.keyDownHandler), e.removeEventListener("keyup", Vu), e.removeEventListener("blur", Ou), e.removeEventListener("dragstart", et); } function qh(e, t) { Eu(e, t, !1); } function Xh(e) { Tu(e), delete e._ripple; } function Jh(e, t) { if (t.value === t.oldValue) return; const n = Au(t.oldValue); Eu(e, t, n); } const nn = { mounted: qh, unmounted: Xh, updated: Jh }, Qh = L({ active: { type: Boolean, default: void 0 }, activeColor: String, baseColor: String, symbol: { type: null, default: Su }, flat: Boolean, icon: [Boolean, String, Function, Object], prependIcon: se, appendIcon: se, block: Boolean, readonly: Boolean, slim: Boolean, stacked: Boolean, spaced: String, ripple: { type: [Boolean, Object], default: !0 }, text: { type: [String, Number, Boolean], default: void 0 }, ...Wt(), ...he(), ...lt(), ...St(), ...on(), ...bu(), ...Nr(), ...Xa(), ...Cu(), ...ut(), ...Br(), ...In(), ...Oe({ tag: "button" }), ...Ne(), ...Ht({ variant: "elevated" }) }, "VBtn"), be = q()({ name: "VBtn", props: Qh(), emits: { "group:selected": (e) => !0 }, setup(e, t) { let { attrs: n, slots: a } = t; const { themeClasses: l } = Xe(e), { borderClasses: r } = rn(e), { densityClasses: i } = Et(e), { dimensionStyles: o } = wt(e), { elevationClasses: s } = Pn(e), { loaderClasses: u } = Mr(e), { locationStyles: c } = Ja(e), { positionClasses: d } = Pu(e), { roundedClasses: v } = mt(e), { sizeClasses: m, sizeStyles: y } = Zn(e), f = Kl(e, e.symbol, !1), b = Lr(e, n), g = x(() => { var M; return e.active !== void 0 ? e.active : b.isRouterLink.value ? (M = b.isActive) == null ? void 0 : M.value : f == null ? void 0 : f.isSelected.value; }), h = O(() => g.value ? e.activeColor ?? e.color : e.color), p = x(() => { var N, B; return { color: (f == null ? void 0 : f.isSelected.value) && (!b.isLink.value || ((N = b.isActive) == null ? void 0 : N.value)) || !f || ((B = b.isActive) == null ? void 0 : B.value) ? h.value ?? e.baseColor : e.baseColor, variant: e.variant }; }), { colorClasses: w, colorStyles: P, variantClasses: _ } = Ka(p), I = x(() => (f == null ? void 0 : f.disabled.value) || e.disabled), k = O(() => e.variant === "elevated" && !(e.disabled || e.flat || e.border)), E = x(() => { if (!(e.value === void 0 || typeof e.value == "symbol")) return Object(e.value) === e.value ? JSON.stringify(e.value, null, 0) : e.value; }); function T(M) { var N; I.value || b.isLink.value && (M.metaKey || M.ctrlKey || M.shiftKey || M.button !== 0 || n.target === "_blank") || (b.isRouterLink.value ? (N = b.navigate) == null || N.call(b, M) : f == null || f.toggle()); } return Uh(b, f == null ? void 0 : f.select), re(() => { const M = b.isLink.value ? "a" : e.tag, N = !!(e.prependIcon || a.prepend), B = !!(e.appendIcon || a.append), $ = !!(e.icon && e.icon !== !0); return ze(S(M, Y(b.linkProps, { type: M === "a" ? void 0 : "button", class: ["v-btn", f == null ? void 0 : f.selectedClass.value, { "v-btn--active": g.value, "v-btn--block": e.block, "v-btn--disabled": I.value, "v-btn--elevated": k.value, "v-btn--flat": e.flat, "v-btn--icon": !!e.icon, "v-btn--loading": e.loading, "v-btn--readonly": e.readonly, "v-btn--slim": e.slim, "v-btn--stacked": e.stacked }, e.spaced ? ["v-btn--spaced", `v-btn--spaced-${e.spaced}`] : [], l.value, r.value, w.value, i.value, s.value, u.value, d.value, v.value, m.value, _.value, e.class], style: [P.value, o.value, c.value, y.value, e.style], "aria-busy": e.loading ? !0 : void 0, disabled: I.value && M !== "a" || void 0, tabindex: e.loading || e.readonly ? -1 : void 0, onClick: T, value: E.value }), { default: () => { var j; return [Ga(!0, "v-btn"), !e.icon && N && C("span", { key: "prepend", class: "v-btn__prepend" }, [a.prepend ? S(De, { key: "prepend-defaults", disabled: !e.prependIcon, defaults: { VIcon: { icon: e.prependIcon } } }, a.prepend) : S(Le, { key: "prepend-icon", icon: e.prependIcon }, null)]), C("span", { class: "v-btn__content", "data-no-activator": "" }, [!a.default && $ ? S(Le, { key: "content-icon", icon: e.icon }, null) : S(De, { key: "content-defaults", disabled: !$, defaults: { VIcon: { icon: e.icon } } }, { default: () => { var G; return [((G = a.default) == null ? void 0 : G.call(a)) ?? tt(e.text)]; } })]), !e.icon && B && C("span", { key: "append", class: "v-btn__append" }, [a.append ? S(De, { key: "append-defaults", disabled: !e.appendIcon, defaults: { VIcon: { icon: e.appendIcon } } }, a.append) : S(Le, { key: "append-icon", icon: e.appendIcon }, null)]), !!e.loading && C("span", { key: "loader", class: "v-btn__loader" }, [((j = a.loader) == null ? void 0 : j.call(a)) ?? S(Mh, { color: typeof e.loading == "boolean" ? void 0 : e.loading, indeterminate: !0, width: "2" }, null)])]; } }), [[nn, !I.value && e.ripple, "", { center: !!e.icon }]]); }), { group: f }; } }), Fu = L({ modelValue: null, color: String, cancelText: { type: String, default: "$vuetify.confirmEdit.cancel" }, okText: { type: String, default: "$vuetify.confirmEdit.ok" }, disabled: { type: [Boolean, Array], default: void 0 }, hideActions: Boolean }, "VConfirmEdit"), ho = q()({ name: "VConfirmEdit", props: Fu(), emits: { cancel: () => !0, save: (e) => !0, "update:modelValue": (e) => !0 }, setup(e, t) { let { emit: n, slots: a } = t; const l = me(e, "modelValue"), r = ne(); qe(() => { r.value = structuredClone(Gi(l.value)); }); const { t: i } = Je(), o = x(() => Qe(l.value, r.value)); function s(f) { return typeof e.disabled == "boolean" ? e.disabled : Array.isArray(e.disabled) ? e.disabled.includes(f) : o.value; } const u = x(() => s("save")), c = x(() => s("cancel")); function d() { l.value = r.value, n("save", r.value); } function v() { r.value = structuredClone(Gi(l.value)), n("cancel"); } function m(f) { return C(ue, null, [S(be, Y({ disabled: c.value, variant: "text", color: e.color, onClick: v, text: i(e.cancelText) }, f), null), S(be, Y({ disabled: u.value, variant: "text", color: e.color, onClick: d, text: i(e.okText) }, f), null)]); } let y = !1; return re(() => { var f; return C(ue, null, [(f = a.default) == null ? void 0 : f.call(a, { model: r, save: d, cancel: v, isPristine: o.value, get actions() { return y = !0, m; } }), !e.hideActions && !y && m()]); }), { save: d, cancel: v, isPristine: o }; } }), Zh = L({ fluid: { type: Boolean, default: !1 }, ...he(), ...St(), ...Oe() }, "VContainer"), ey = q()({ name: "VContainer", props: Zh(), setup(e, t) { let { slots: n } = t; const { rtlClasses: a } = gt(), { dimensionStyles: l } = wt(e); return re(() => S(e.tag, { class: ee(["v-container", { "v-container--fluid": e.fluid }, a.value, e.class]), style: ge([l.value, e.style]) }, n)), {}; } }), Qa = ["sm", "md", "lg", "xl", "xxl"], ty = Symbol.for("vuetify:display"), ea = L({ mobile: { type: Boolean, default: !1 }, mobileBreakpoint: [Number, String] }, "display"); function Ut() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : { mobile: null }, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : pt(); const n = xe(ty); if (!n) throw new Error("Could not find Vuetify display injection"); const a = x(() => e.mobile ? !0 : typeof e.mobileBreakpoint == "number" ? n.width.value < e.mobileBreakpoint : e.mobileBreakpoint ? n.width.value < n.thresholds.value[e.mobileBreakpoint] : e.mobile === null ? n.mobile.value : !1), l = O(() => t ? { [`${t}--mobile`]: a.value } : {}); return { ...n, displayClasses: l, mobile: a }; } const Du = Qa.reduce((e, t) => (e[t] = { type: [Boolean, String, Number], default: !1 }, e), {}), Nu = Qa.reduce((e, t) => { const n = "offset" + wn(t); return e[n] = { type: [String, Number], default: null }, e; }, {}), Mu = Qa.reduce((e, t) => { const n = "order" + wn(t); return e[n] = { type: [String, Number], default: null }, e; }, {}), yo = { col: Object.keys(Du), offset: Object.keys(Nu), order: Object.keys(Mu) }; function ny(e, t, n) { let a = e; if (!(n == null || n === !1)) { if (t) { const l = t.replace(e, ""); a += `-${l}`; } return e === "col" && (a = "v-" + a), e === "col" && (n === "" || n === !0) || (a += `-${n}`), a.toLowerCase(); } } const ay = ["auto", "start", "end", "center", "baseline", "stretch"], ly = L({ cols: { type: [Boolean, String, Number], default: !1 }, ...Du, offset: { type: [String, Number], default: null }, ...Nu, order: { type: [String, Number], default: null }, ...Mu, alignSelf: { type: String, default: null, validator: (e) => ay.includes(e) }, ...he(), ...Oe() }, "VCol"), ml = q()({ name: "VCol", props: ly(), setup(e, t) { let { slots: n } = t; const a = x(() => { const l = []; let r; for (r in yo) yo[r].forEach((o) => { const s = e[o], u = ny(r, o, s); u && l.push(u); }); const i = l.some((o) => o.startsWith("v-col-")); return l.push({ // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified. "v-col": !i || !e.cols, [`v-col-${e.cols}`]: e.cols, [`offset-${e.offset}`]: e.offset, [`order-${e.order}`]: e.order, [`align-self-${e.alignSelf}`]: e.alignSelf }), l; }); return () => { var l; return At(e.tag, { class: [a.value, e.class], style: e.style }, (l = n.default) == null ? void 0 : l.call(n)); }; } }), Rr = ["start", "end", "center"], Lu = ["space-between", "space-around", "space-evenly"]; function $r(e, t) { return Qa.reduce((n, a) => { const l = e + wn(a); return n[l] = t(), n; }, {}); } const ry = [...Rr, "baseline", "stretch"], Bu = (e) => ry.includes(e), Ru = $r("align", () => ({ type: String, default: null, validator: Bu })), iy = [...Rr, ...Lu], $u = (e) => iy.includes(e), ju = $r("justify", () => ({ type: String, default: null, validator: $u })), oy = [...Rr, ...Lu, "stretch"], zu = (e) => oy.includes(e), Wu = $r("alignContent", () => ({ type: String, default: null, validator: zu })), bo = { align: Object.keys(Ru), justify: Object.keys(ju), alignContent: Object.keys(Wu) }, sy = { align: "align", justify: "justify", alignContent: "align-content" }; function uy(e, t, n) { let a = sy[e]; if (n != null) { if (t) { const l = t.replace(e, ""); a += `-${l}`; } return a += `-${n}`, a.toLowerCase(); } } const cy = L({ dense: Boolean, noGutters: Boolean, align: { type: String, default: null, validator: Bu }, ...Ru, justify: { type: String, default: null, validator: $u }, ...ju, alignContent: { type: String, default: null, validator: zu }, ...Wu, ...he(), ...Oe() }, "VRow"), Jl = q()({ name: "VRow", props: cy(), setup(e, t) { let { slots: n } = t; const a = x(() => { const l = []; let r; for (r in bo) bo[r].forEach((i) => { const o = e[i], s = uy(r, i, o); s && l.push(s); }); return l.push({ "v-row--no-gutters": e.noGutters, "v-row--dense": e.dense, [`align-${e.align}`]: e.align, [`justify-${e.justify}`]: e.justify, [`align-content-${e.alignContent}`]: e.alignContent }), l; }); return () => { var l; return At(e.tag, { class: ["v-row", a.value, e.class], style: e.style }, (l = n.default) == null ? void 0 : l.call(n)); }; } }), po = Or("v-spacer", "div", "VSpacer"), Hu = L({ active: { type: [String, Array], default: void 0 }, controlHeight: [Number, String], controlVariant: { type: String, default: "docked" }, noMonthPicker: Boolean, disabled: { type: [Boolean, String, Array], default: null }, nextIcon: { type: se, default: "$next" }, prevIcon: { type: se, default: "$prev" }, modeIcon: { type: se, default: "$subgroup" }, text: String, monthText: String, yearText: String, viewMode: { type: String, default: "month" } }, "VDatePickerControls"), So = q()({ name: "VDatePickerControls", props: Hu(), emits: { "click:year": () => !0, "click:month": () => !0, "click:prev": () => !0, "click:next": () => !0, "click:prev-year": () => !0, "click:next-year": () => !0 }, setup(e, t) { let { emit: n, slots: a } = t; const { t: l } = Je(), r = x(() => Array.isArray(e.disabled) ? e.disabled.includes("text") : !!e.disabled), i = x(() => Array.isArray(e.disabled) ? e.disabled.includes("mode") : !!e.disabled), o = x(() => Array.isArray(e.disabled) ? e.disabled.includes("prev-month") : !!e.disabled), s = x(() => Array.isArray(e.disabled) ? e.disabled.includes("next-month") : !!e.disabled), u = x(() => Array.isArray(e.disabled) ? e.disabled.includes("prev-year") : !!e.disabled), c = x(() => Array.isArray(e.disabled) ? e.disabled.includes("next-year") : !!e.disabled); function d() { n("click:prev"); } function v() { n("click:next"); } function m() { n("click:prev-year"); } function y() { n("click:next-year"); } function f() { n("click:year"); } function b() { n("click:month"); } return re(() => { const g = { VBtn: { density: "comfortable", variant: "text" } }, h = S(be, { "data-testid": "prev-month", disabled: o.value, icon: e.prevIcon, "aria-label": l("$vuetify.datePicker.ariaLabel.previousMonth"), onClick: d }, null), p = S(be, { "data-testid": "next-month", disabled: s.value, icon: e.nextIcon, "aria-label": l("$vuetify.datePicker.ariaLabel.nextMonth"), onClick: v }, null), w = S(be, { "data-testid": "prev-year", disabled: u.value, icon: e.prevIcon, "aria-label": l("$vuetify.datePicker.ariaLabel.previousYear"), onClick: m }, null), P = S(be, { "data-testid": "next-year", disabled: c.value, icon: e.nextIcon, "aria-label": l("$vuetify.datePicker.ariaLabel.nextYear"), onClick: y }, null), _ = S(be, { class: "v-date-picker-controls__only-month-btn", "data-testid": "month-btn", density: "default", disabled: r.value, text: e.monthText, appendIcon: e.modeIcon, rounded: !0, "aria-label": l("$vuetify.datePicker.ariaLabel.selectMonth"), onClick: b }, null), I = S(be, { class: "v-date-picker-controls__only-year-btn", "data-testid": "year-btn", density: "default", disabled: i.value, text: e.yearText, appendIcon: e.modeIcon, rounded: !0, "aria-label": l("$vuetify.datePicker.ariaLabel.selectYear"), onClick: f }, null), k = S(be, { class: "v-date-picker-controls__year-btn", "data-testid": "year-btn", density: "default", disabled: i.value, text: e.text, appendIcon: e.modeIcon, rounded: !0, "aria-label": l("$vuetify.datePicker.ariaLabel.selectYear"), onClick: f }, null), E = C(ue, null, [S(be, { class: "v-date-picker-controls__month-btn", "data-testid": "month-btn", height: "36", disabled: r.value, text: e.text, rounded: !0, "aria-label": l("$vuetify.datePicker.ariaLabel.selectMonth"), onClick: b }, null), S(be, { class: "v-date-picker-controls__mode-btn", "data-testid": "year-btn", disabled: i.value, icon: e.modeIcon, "aria-label": l("$vuetify.datePicker.ariaLabel.selectYear"), onClick: f }, null)]), T = { viewMode: e.viewMode, disabled: Array.isArray(e.disabled) ? e.disabled : [], monthYearText: e.text ?? "", monthText: e.monthText ?? "", yearText: e.yearText ?? "", openMonths: b, openYears: f, prevMonth: d, nextMonth: v, prevYear: m, nextYear: y }, M = C(ue, null, [e.noMonthPicker ? k : E, S(po, null, null), C("div", { class: "v-date-picker-controls__month" }, [h, p])]), N = C(ue, null, [C("div", { class: "v-date-picker-controls__month" }, [h, _, p]), S(po, null, null), C("div", { class: "v-date-picker-controls__year" }, [w, I, P])]); return S(De, { defaults: g }, { default: () => { var B; return [C("div", { class: ee(["v-date-picker-controls", `v-date-picker-controls--variant-${e.controlVariant}`]), style: { "--v-date-picker-controls-height": X(e.controlHeight) } }, [((B = a.default) == null ? void 0 : B.call(a, T)) ?? C(ue, null, [e.controlVariant === "modal" && M, e.controlVariant === "docked" && N])])]; } }); }), {}; } }), An = L({ transition: { type: null, default: "fade-transition", validator: (e) => e !== !0 } }, "transition"), ft = (e, t) => { let { slots: n } = t; const { transition: a, disabled: l, group: r, ...i } = e, { component: o = r ? cr : Qt, ...s } = bn(a) ? a : {}; let u; return bn(a) ? u = Y(s, Xg({ disabled: l, group: r }), i) : u = Y({ name: l || !a ? "" : a }, i), At(o, u, n); }, dy = L({ appendIcon: se, color: String, header: String, transition: String, onClick: $e() }, "VDatePickerHeader"), wo = q()({ name: "VDatePickerHeader", props: dy(), emits: { click: () => !0, "click:append": () => !0 }, setup(e, t) { let { emit: n, slots: a } = t; const { backgroundColorClasses: l, backgroundColorStyles: r } = nt(() => e.color); function i() { n("click"); } function o() { n("click:append"); } return re(() => { const s = !!(a.default || e.header), u = !!(a.append || e.appendIcon); return C("div", { class: ee(["v-date-picker-header", { "v-date-picker-header--clickable": !!e.onClick }, l.value]), style: ge(r.value), onClick: i }, [a.prepend && C("div", { key: "prepend", class: "v-date-picker-header__prepend" }, [a.prepend()]), s && S(ft, { key: "content", name: e.transition }, { default: () => { var c; return [C("div", { key: e.header, class: "v-date-picker-header__content" }, [((c = a.default) == null ? void 0 : c.call(a)) ?? e.header])]; } }), u && C("div", { class: "v-date-picker-header__append" }, [a.append ? S(De, { key: "append-defaults", disabled: !e.appendIcon, defaults: { VBtn: { icon: e.appendIcon, variant: "text" } } }, { default: () => { var c; return [(c = a.append) == null ? void 0 : c.call(a)]; } }) : S(be, { key: "append-btn", icon: e.appendIcon, variant: "text", onClick: o }, null)])]); }), {}; } }), fy = L({ bordered: Boolean, color: String, content: [Number, String], dot: Boolean, floating: Boolean, icon: se, inline: Boolean, label: { type: String, default: "$vuetify.badge" }, max: [Number, String], modelValue: { type: Boolean, default: !0 }, offsetX: [Number, String], offsetY: [Number, String], textColor: String, ...he(), ...Xa({ location: "top end" }), ...ut(), ...Oe(), ...Ne(), ...An({ transition: "scale-rotate-transition" }), ...St() }, "VBadge"), vy = q()({ name: "VBadge", inheritAttrs: !1, props: fy(), setup(e, t) { const { backgroundColorClasses: n, backgroundColorStyles: a } = nt(() => e.color), { roundedClasses: l } = mt(e), { t: r } = Je(), { textColorClasses: i, textColorStyles: o } = yt(() => e.textColor), { themeClasses: s } = hu(), { locationStyles: u } = Ja(e, !0, (d) => (e.floating ? e.dot ? 2 : 4 : e.dot ? 8 : 12) + (["top", "bottom"].includes(d) ? Number(e.offsetY ?? 0) : ["left", "right"].includes(d) ? Number(e.offsetX ?? 0) : 0)), { dimensionStyles: c } = wt(e); return re(() => { const d = Number(e.content), v = !e.max || isNaN(d) ? e.content : d <= Number(e.max) ? d : `${e.max}+`, [m, y] = Wl(t.attrs, ["aria-atomic", "aria-label", "aria-live", "role", "title"]); return S(e.tag, Y({ class: ["v-badge", { "v-badge--bordered": e.bordered, "v-badge--dot": e.dot, "v-badge--floating": e.floating, "v-badge--inline": e.inline }, e.class] }, y, { style: e.style }), { default: () => { var f, b; return [C("div", { class: "v-badge__wrapper" }, [(b = (f = t.slots).default) == null ? void 0 : b.call(f), S(ft, { transition: e.transition }, { default: () => { var g, h; return [ze(C("span", Y({ class: ["v-badge__badge", s.value, n.value, l.value, i.value], style: [a.value, o.value, c.value, e.inline ? {} : u.value], "aria-atomic": "true", "aria-label": r(e.label, d), "aria-live": "polite", role: "status" }, m), [e.dot ? void 0 : t.slots.badge ? (h = (g = t.slots).badge) == null ? void 0 : h.call(g) : e.icon ? S(Le, { icon: e.icon }, null) : v]), [[ln, e.modelValue]])]; } })])]; } }); }), {}; } }), my = Symbol.for("vuetify:date-options"); function Uu(e, t, n) { const a = Yu(e, t, n), l = [t]; for (let r = 1; r < a; r++) { const i = e.addDays(t, r); l.push(i); } return n && l.push(e.endOfDay(n)), l; } function Yu(e, t, n) { const a = [`${e.toISO(n ?? t).split("T")[0]}T00:00:00Z`, `${e.toISO(t).split("T")[0]}T00:00:00Z`]; return typeof e.date() == "string" ? e.getDiff(a[0], a[1], "days") : e.getDiff(e.date(a[0]), e.date(a[1]), "days"); } function gy(e, t) { const n = Jt(typeof e.adapter == "function" ? new e.adapter({ locale: e.locale[t.current.value] ?? t.current.value, formats: e.formats }) : e.adapter); return le(t.current, (a) => { n.locale = e.locale[a] ?? a ?? n.locale; }), n; } function Yt() { const e = xe(my); if (!e) throw new Error("[Vuetify] Could not find injected date options"); const t = Je(); return gy(e, t); } const hy = L({ allowedDates: [Array, Function], disabled: { type: Boolean, default: null }, displayValue: null, modelValue: Array, month: [Number, String], max: null, min: null, showAdjacentMonths: Boolean, year: [Number, String], weekdays: { type: Array, default: () => [0, 1, 2, 3, 4, 5, 6] }, weeksInMonth: { type: String, default: "dynamic" }, firstDayOfWeek: { type: [Number, String], default: void 0 }, firstDayOfYear: { type: [Number, String], default: void 0 }, weekdayFormat: String }, "calendar"); function yy(e) { const t = Yt(), n = me(e, "modelValue", [], (f) => Pe(f).map((b) => t.date(b))), a = x(() => e.displayValue ? t.date(e.displayValue) : n.value.length > 0 ? t.date(n.value[0]) : e.min ? t.date(e.min) : Array.isArray(e.allowedDates) ? t.date(e.allowedDates[0]) : t.date()), l = me(e, "year", void 0, (f) => { const b = f != null ? Number(f) : t.getYear(a.value); return t.startOfYear(t.setYear(t.date(), b)); }, (f) => t.getYear(f)), r = me(e, "month", void 0, (f) => { const b = f != null ? Number(f) : t.getMonth(a.value), g = t.setYear(t.startOfMonth(t.date()), t.getYear(l.value)); return t.setMonth(g, b); }, (f) => t.getMonth(f)), i = x(() => { const f = t.toJsDate(t.startOfWeek(t.date(), e.firstDayOfWeek)).getDay(); return t.getWeekdays(e.firstDayOfWeek, e.weekdayFormat).filter((b, g) => e.weekdays.includes((g + f) % 7)); }), o = x(() => { const f = t.getWeekArray(r.value, e.firstDayOfWeek), b = f.flat(), g = 6 * 7; if (e.weeksInMonth === "static" && b.length < g) { const h = b[b.length - 1]; let p = []; for (let w = 1; w <= g - b.length; w++) p.push(t.addDays(h, w)), w % 7 === 0 && (f.push(p), p = []); } return f; }); function s(f, b) { return f.filter((g) => e.weekdays.includes(t.toJsDate(g).getDay())).map((g, h) => { const p = t.toISO(g), w = !t.isSameMonth(g, r.value), P = t.isSameDay(g, t.startOfMonth(r.value)), _ = t.isSameDay(g, t.endOfMonth(r.value)), I = t.isSameDay(g, r.value), k = e.weekdays.length; return { date: g, formatted: t.format(g, "keyboardDate"), isAdjacent: w, isDisabled: y(g), isEnd: _, isHidden: w && !e.showAdjacentMonths, isSame: I, isSelected: n.value.some((E) => t.isSameDay(g, E)), isStart: P, isToday: t.isSameDay(g, b), isWeekEnd: h % k === k - 1, isWeekStart: h % k === 0, isoDate: p, localized: t.format(g, "dayOfMonth"), month: t.getMonth(g), year: t.getYear(g) }; }); } const u = x(() => { const f = t.startOfWeek(a.value, e.firstDayOfWeek), b = []; for (let h = 0; h <= 6; h++) b.push(t.addDays(f, h)); const g = t.date(); return s(b, g); }), c = x(() => { const f = o.value.flat(), b = t.date(); return s(f, b); }), d = x(() => o.value.map((f) => f.length ? t.getWeek(f[0], e.firstDayOfWeek, e.firstDayOfYear) : null)), { minDate: v, maxDate: m } = jr(e); function y(f) { if (e.disabled) return !0; const b = t.date(f); return v.value && t.isBefore(t.endOfDay(b), v.value) || m.value && t.isAfter(b, m.value) ? !0 : Array.isArray(e.allowedDates) && e.allowedDates.length > 0 ? !e.allowedDates.some((g) => t.isSameDay(t.date(g), b)) : typeof e.allowedDates == "function" ? !e.allowedDates(b) : !1; } return { displayValue: a, daysInMonth: c, daysInWeek: u, genDays: s, model: n, weeksInMonth: o, weekdayLabels: i, weekNumbers: d }; } function jr(e) { const t = Yt(), n = x(() => { if (!e.min) return null; const i = t.date(e.min); return t.isValid(i) ? i : null; }), a = x(() => { if (!e.max) return null; const i = t.date(e.max); return t.isValid(i) ? i : null; }); function l(i) { return n.value && t.isBefore(i, n.value) ? n.value : a.value && t.isAfter(i, a.value) ? a.value : i; } function r(i) { return (!n.value || t.isAfter(i, n.value)) && (!a.value || t.isBefore(i, a.value)); } return { minDate: n, maxDate: a, clampDate: l, isInAllowedRange: r }; } const Gu = L({ color: String, hideWeekdays: Boolean, multiple: [Boolean, Number, String], showWeek: Boolean, transition: { type: String, default: "picker-transition" }, reverseTransition: { type: String, default: "picker-reverse-transition" }, events: { type: [Array, Function, Object], default: () => null }, eventColor: { type: [Array, Function, Object, String], default: () => null }, ..._e(hy(), ["displayValue"]) }, "VDatePickerMonth"), ko = q()({ name: "VDatePickerMonth", props: Gu(), emits: { "update:modelValue": (e) => !0, "update:month": (e) => !0, "update:year": (e) => !0 }, setup(e, t) { let { emit: n, slots: a } = t; const l = ne(), { t: r } = Je(), { daysInMonth: i, model: o, weekNumbers: s, weekdayLabels: u } = yy(e), c = Yt(), d = Z(), v = Z(), m = Z(!1), y = O(() => m.value ? e.reverseTransition : e.transition); e.multiple === "range" && o.value.length > 0 && (d.value = o.value[0], o.value.length > 1 && (v.value = o.value[o.value.length - 1])); const f = x(() => { const _ = ["number", "string"].includes(typeof e.multiple) ? Number(e.multiple) : 1 / 0; return o.value.length >= _; }); le(i, (_, I) => { I && (m.value = c.isBefore(_[0].date, I[0].date)); }); function b(_) { const I = c.startOfDay(_); if (o.value.length === 0 ? d.value = void 0 : o.value.length === 1 && (d.value = o.value[0], v.value = void 0), !d.value) d.value = I, o.value = [d.value]; else if (v.value) d.value = _, v.value = void 0, o.value = [d.value]; else { if (c.isSameDay(I, d.value)) { d.value = void 0, o.value = []; return; } else c.isBefore(I, d.value) ? (v.value = c.endOfDay(d.value), d.value = I) : v.value = c.endOfDay(I); o.value = Uu(c, d.value, v.value); } } function g(_) { const I = c.format(_.date, "fullDateWithWeekday"), k = _.isToday ? "currentDate" : "selectDate"; return r(`$vuetify.datePicker.ariaLabel.${k}`, I); } function h(_) { const I = o.value.findIndex((k) => c.isSameDay(k, _)); if (I === -1) o.value = [...o.value, _]; else { const k = [...o.value]; k.splice(I, 1), o.value = k; } } function p(_) { e.multiple === "range" ? b(_) : e.multiple ? h(_) : o.value = [_]; } function w(_) { const { events: I, eventColor: k } = e; let E, T = []; if (Array.isArray(I) ? E = I.includes(_) : I instanceof Function ? E = I(_) || !1 : I ? E = I[_] || !1 : E = !1, E) E !== !0 ? T = Pe(E) : typeof k == "string" ? T = [k] : typeof k == "function" ? T = Pe(k(_)) : Array.isArray(k) ? T = k : typeof k == "object" && k !== null && (T = Pe(k[_])); else return []; return T.length ? T.filter(Boolean).map((M) => typeof M == "string" ? M : "surface-variant") : ["surface-variant"]; } function P(_) { const I = w(_); return I.length ? C("div", { class: "v-date-picker-month__events" }, [I.map((k) => S(vy, { dot: !0, color: k }, null))]) : null; } re(() => C("div", { class: "v-date-picker-month", style: { "--v-date-picker-days-in-week": e.weekdays.length } }, [e.showWeek && C("div", { key: "weeks", class: "v-date-picker-month__weeks" }, [!e.hideWeekdays && C("div", { key: "hide-week-days", class: "v-date-picker-month__day" }, [gn(" ")]), s.value.map((_) => C("div", { class: ee(["v-date-picker-month__day", "v-date-picker-month__day--adjacent"]) }, [_]))]), S(ft, { name: y.value }, { default: () => { var _; return [C("div", { ref: l, key: (_ = i.value[0].date) == null ? void 0 : _.toString(), class: "v-date-picker-month__days" }, [!e.hideWeekdays && u.value.map((I) => C("div", { class: ee(["v-date-picker-month__day", "v-date-picker-month__weekday"]) }, [I])), i.value.map((I, k) => { var T; const E = { props: { class: "v-date-picker-month__day-btn", color: I.isSelected || I.isToday ? e.color : void 0, disabled: I.isDisabled, icon: !0, ripple: !1, variant: I.isSelected ? "flat" : I.isToday ? "outlined" : "text", "aria-label": g(I), "aria-current": I.isToday ? "date" : void 0, onClick: () => p(I.date) }, item: I, i: k }; return f.value && !I.isSelected && (I.isDisabled = !0), C("div", { class: ee(["v-date-picker-month__day", { "v-date-picker-month__day--adjacent": I.isAdjacent, "v-date-picker-month__day--hide-adjacent": I.isHidden, "v-date-picker-month__day--selected": I.isSelected, "v-date-picker-month__day--week-end": I.isWeekEnd, "v-date-picker-month__day--week-start": I.isWeekStart }]), "data-v-date": I.isDisabled ? void 0 : I.isoDate }, [(e.showAdjacentMonths || !I.isAdjacent) && (((T = a.day) == null ? void 0 : T.call(a, E)) ?? S(be, E.props, { default: () => [I.localized, P(I.isoDate)] }))]); })])]; } })])); } }), Ku = L({ color: String, height: [String, Number], min: null, max: null, modelValue: Number, year: Number, allowedMonths: [Array, Function] }, "VDatePickerMonths"), xo = q()({ name: "VDatePickerMonths", props: Ku(), emits: { "update:modelValue": (e) => !0 }, setup(e, t) { let { emit: n, slots: a } = t; const l = Yt(), r = me(e, "modelValue"), i = x(() => { let s = l.startOfYear(l.date()); return e.year && (s = l.setYear(s, e.year)), fn(12).map((u) => { const c = l.format(s, "monthShort"), d = l.format(s, "month"), v = !!(!o(u) || e.min && l.isAfter(l.startOfMonth(l.date(e.min)), s) || e.max && l.isAfter(s, l.startOfMonth(l.date(e.max)))); return s = l.getNextMonth(s), { isDisabled: v, text: c, label: d, value: u }; }); }); qe(() => { r.value = r.value ?? l.getMonth(l.date()); }); function o(s) { return Array.isArray(e.allowedMonths) && e.allowedMonths.length ? e.allowedMonths.includes(s) : typeof e.allowedMonths == "function" ? e.allowedMonths(s) : !0; } return re(() => C("div", { class: "v-date-picker-months", style: { height: X(e.height) } }, [C("div", { class: "v-date-picker-months__content" }, [i.value.map((s, u) => { var v; const c = { active: r.value === u, ariaLabel: s.label, color: r.value === u ? e.color : void 0, disabled: s.isDisabled, rounded: !0, text: s.text, variant: r.value === s.value ? "flat" : "text", onClick: () => d(u) }; function d(m) { if (r.value === m) { n("update:modelValue", r.value); return; } r.value = m; } return ((v = a.month) == null ? void 0 : v.call(a, { month: s, i: u, props: c })) ?? S(be, Y({ key: "month" }, c), null); })])])), {}; } }); function by(e, t) { if (!Cr) return; const n = t.modifiers || {}, a = t.value, { handler: l, options: r } = typeof a == "object" ? a : { handler: a, options: {} }, i = new IntersectionObserver(function() { var d; let o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], s = arguments.length > 1 ? arguments[1] : void 0; const u = (d = e._observe) == null ? void 0 : d[t.instance.$.uid]; if (!u) return; const c = o.some((v) => v.isIntersecting); l && (!n.quiet || u.init) && (!n.once || c || u.init) && l(c, o, s), c && n.once ? qu(e, t) : u.init = !0; }, r); e._observe = Object(e._observe), e._observe[t.instance.$.uid] = { init: !1, observer: i }, i.observe(e); } function qu(e, t) { var a; const n = (a = e._observe) == null ? void 0 : a[t.instance.$.uid]; n && (n.observer.unobserve(e), delete e._observe[t.instance.$.uid]); } const pn = { mounted: by, unmounted: qu }, Xu = L({ color: String, height: [String, Number], min: null, max: null, modelValue: Number, allowedYears: [Array, Function] }, "VDatePickerYears"), Co = q()({ name: "VDatePickerYears", props: Xu(), directives: { vIntersect: pn }, emits: { "update:modelValue": (e) => !0 }, setup(e, t) { let { emit: n, slots: a } = t; const l = Yt(), r = me(e, "modelValue"), i = Z(!1), o = x(() => { const d = l.getYear(l.date()); let v = d - 100, m = d + 52; e.min && (v = l.getYear(l.date(e.min))), e.max && (m = l.getYear(l.date(e.max))); let y = l.startOfYear(l.date()); return y = l.setYear(y, v), fn(m - v + 1, v).map((f) => { const b = l.format(y, "year"); return y = l.setYear(y, l.getYear(y) + 1), { text: b, value: f, isDisabled: !c(f) }; }); }); qe(() => { r.value = r.value ?? l.getYear(l.date()); }); const s = Pa(); function u() { var d; (d = s.el) == null || d.scrollIntoView({ block: "center" }); } function c(d) { return Array.isArray(e.allowedYears) && e.allowedYears.length ? e.allowedYears.includes(d) : typeof e.allowedYears == "function" ? e.allowedYears(d) : !0; } return re(() => ze(C("div", { class: "v-date-picker-years", style: { height: X(e.height) } }, [C("div", { class: "v-date-picker-years__content", onFocus: () => { var d; return (d = s.el) == null ? void 0 : d.focus(); }, onFocusin: () => i.value = !0, onFocusout: () => i.value = !1, tabindex: i.value ? -1 : 0 }, [o.value.map((d, v) => { var y; const m = { ref: r.value === d.value ? s : void 0, active: r.value === d.value, color: r.value === d.value ? e.color : void 0, rounded: !0, text: d.text, disabled: d.isDisabled, variant: r.value === d.value ? "flat" : "text", onClick: () => { if (r.value === d.value) { n("update:modelValue", r.value); return; } r.value = d.value; } }; return ((y = a.year) == null ? void 0 : y.call(a, { year: d, i: v, props: m })) ?? S(be, Y({ key: "month" }, m), null); })])]), [[pn, { handler: u }, null, { once: !0 }]])), {}; } }), py = L({ disabled: Boolean, group: Boolean, hideOnLeave: Boolean, leaveAbsolute: Boolean, mode: String, origin: String }, "transition"); function rt(e, t, n) { return q()({ name: e, props: py({ mode: n, origin: t }), setup(a, l) { let { slots: r } = l; const i = { onBeforeEnter(o) { a.origin && (o.style.transformOrigin = a.origin); }, onLeave(o) { if (a.leaveAbsolute) { const { offsetTop: s, offsetLeft: u, offsetWidth: c, offsetHeight: d } = o; o._transitionInitialStyles = { position: o.style.position, top: o.style.top, left: o.style.left, width: o.style.width, height: o.style.height }, o.style.position = "absolute", o.style.top = `${s}px`, o.style.left = `${u}px`, o.style.width = `${c}px`, o.style.height = `${d}px`; } a.hideOnLeave && o.style.setProperty("display", "none", "important"); }, onAfterLeave(o) { if (a.leaveAbsolute && (o != null && o._transitionInitialStyles)) { const { position: s, top: u, left: c, width: d, height: v } = o._transitionInitialStyles; delete o._transitionInitialStyles, o.style.position = s || "", o.style.top = u || "", o.style.left = c || "", o.style.width = d || "", o.style.height = v || ""; } } }; return () => { const o = a.group ? cr : Qt; return At(o, { name: a.disabled ? "" : e, css: !a.disabled, ...a.group ? void 0 : { mode: a.mode }, ...a.disabled ? {} : i }, r.default); }; } }); } function Ju(e, t) { let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "in-out"; return q()({ name: e, props: { mode: { type: String, default: n }, disabled: { type: Boolean, default: yn() }, group: Boolean }, setup(a, l) { let { slots: r } = l; const i = a.group ? cr : Qt; return () => At(i, { name: a.disabled ? "" : e, css: !a.disabled, // mode: props.mode, // TODO: vuejs/vue-next#3104 ...a.disabled ? {} : t }, r.default); } }); } function Qu() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ""; const n = (arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1) ? "width" : "height", a = ir(`offset-${n}`); return { onBeforeEnter(i) { i._parent = i.parentNode, i._initialStyle = { transition: i.style.transition, overflow: i.style.overflow, [n]: i.style[n] }; }, onEnter(i) { const o = i._initialStyle; if (!o) return; i.style.setProperty("transition", "none", "important"), i.style.overflow = "hidden"; const s = `${i[a]}px`; i.style[n] = "0", i.offsetHeight, i.style.transition = o.transition, e && i._parent && i._parent.classList.add(e), requestAnimationFrame(() => { i.style[n] = s; }); }, onAfterEnter: r, onEnterCancelled: r, onLeave(i) { i._initialStyle = { transition: "", overflow: i.style.overflow, [n]: i.style[n] }, i.style.overflow = "hidden", i.style[n] = `${i[a]}px`, i.offsetHeight, requestAnimationFrame(() => i.style[n] = "0"); }, onAfterLeave: l, onLeaveCancelled: l }; function l(i) { e && i._parent && i._parent.classList.remove(e), r(i); } function r(i) { if (!i._initialStyle) return; const o = i._initialStyle[n]; i.style.overflow = i._initialStyle.overflow, o != null && (i.style[n] = o), delete i._initialStyle; } } const Sy = L({ target: [Object, Array] }, "v-dialog-transition"), gl = /* @__PURE__ */ new WeakMap(), Zu = q()({ name: "VDialogTransition", props: Sy(), setup(e, t) { let { slots: n } = t; const a = { onBeforeEnter(l) { l.style.pointerEvents = "none", l.style.visibility = "hidden"; }, async onEnter(l, r) { var v; await new Promise((m) => requestAnimationFrame(m)), await new Promise((m) => requestAnimationFrame(m)), l.style.visibility = ""; const i = Io(e.target, l), { x: o, y: s, sx: u, sy: c, speed: d } = i; if (gl.set(l, i), yn()) Tt(l, [{ opacity: 0 }, {}], { duration: 125 * d, easing: so }).finished.then(() => r()); else { const m = Tt(l, [{ transform: `translate(${o}px, ${s}px) scale(${u}, ${c})`, opacity: 0 }, {}], { duration: 225 * d, easing: so }); (v = Po(l)) == null || v.forEach((y) => { Tt(y, [{ opacity: 0 }, { opacity: 0, offset: 0.33 }, {}], { duration: 225 * 2 * d, easing: Aa }); }), m.finished.then(() => r()); } }, onAfterEnter(l) { l.style.removeProperty("pointer-events"); }, onBeforeLeave(l) { l.style.pointerEvents = "none"; }, async onLeave(l, r) { var v; await new Promise((m) => requestAnimationFrame(m)); let i; !gl.has(l) || Array.isArray(e.target) || e.target.offsetParent || e.target.getClientRects().length ? i = Io(e.target, l) : i = gl.get(l); const { x: o, y: s, sx: u, sy: c, speed: d } = i; yn() ? Tt(l, [{}, { opacity: 0 }], { duration: 85 * d, easing: uo }).finished.then(() => r()) : (Tt(l, [{}, { transform: `translate(${o}px, ${s}px) scale(${u}, ${c})`, opacity: 0 }], { duration: 125 * d, easing: uo }).finished.then(() => r()), (v = Po(l)) == null || v.forEach((y) => { Tt(y, [{}, { opacity: 0, offset: 0.2 }, { opacity: 0 }], { duration: 125 * 2 * d, easing: Aa }); })); }, onAfterLeave(l) { l.style.removeProperty("pointer-events"); } }; return () => e.target ? S(Qt, Y({ name: "dialog-transition" }, a, { css: !1 }), n) : S(Qt, { name: "dialog-transition" }, n); } }); function Po(e) { var n; const t = (n = e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list")) == null ? void 0 : n.children; return t && [...t]; } function Io(e, t) { const n = fu(e), a = _r(t), [l, r] = getComputedStyle(t).transformOrigin.split(" ").map((g) => parseFloat(g)), [i, o] = getComputedStyle(t).getPropertyValue("--v-overlay-anchor-origin").split(" "); let s = n.left + n.width / 2; i === "left" || o === "left" ? s -= n.width / 2 : (i === "right" || o === "right") && (s += n.width / 2); let u = n.top + n.height / 2; i === "top" || o === "top" ? u -= n.height / 2 : (i === "bottom" || o === "bottom") && (u += n.height / 2); const c = n.width / a.width, d = n.height / a.height, v = Math.max(1, c, d), m = c / v || 0, y = d / v || 0, f = a.width * a.height / (window.innerWidth * window.innerHeight), b = f > 0.12 ? Math.min(1.5, (f - 0.12) * 10 + 1) : 1; return { x: s - (l + a.left), y: u - (r + a.top), sx: m, sy: y, speed: b }; } rt("fab-transition", "center center", "out-in"); rt("dialog-bottom-transition"); rt("dialog-top-transition"); const Ql = rt("fade-transition"); rt("scale-transition"); rt("scroll-x-transition"); rt("scroll-x-reverse-transition"); rt("scroll-y-transition"); rt("scroll-y-reverse-transition"); rt("slide-x-transition"); rt("slide-x-reverse-transition"); const ec = rt("slide-y-transition"); rt("slide-y-reverse-transition"); const wy = Ju("expand-transition", Qu()), tc = Ju("expand-x-transition", Qu("", !0)), ky = Or("v-picker-title"), nc = L({ color: String, ...Wt(), ...he(), ...St(), ...on(), ...Xa(), ...Cu(), ...ut(), ...Oe(), ...Ne() }, "VSheet"), Ao = q()({ name: "VSheet", props: nc(), setup(e, t) { let { slots: n } = t; const { themeClasses: a } = Xe(e), { backgroundColorClasses: l, backgroundColorStyles: r } = nt(() => e.color), { borderClasses: i } = rn(e), { dimensionStyles: o } = wt(e), { elevationClasses: s } = Pn(e), { locationStyles: u } = Ja(e), { positionClasses: c } = Pu(e), { roundedClasses: d } = mt(e); return re(() => S(e.tag, { class: ee(["v-sheet", a.value, l.value, i.value, s.value, c.value, d.value, e.class]), style: ge([r.value, o.value, u.value, e.style]) }, n)), {}; } }), ac = L({ bgColor: String, divided: Boolean, landscape: Boolean, title: String, hideHeader: Boolean, hideTitle: Boolean, ...nc() }, "VPicker"), _o = q()({ name: "VPicker", props: ac(), setup(e, t) { let { slots: n } = t; const { backgroundColorClasses: a, backgroundColorStyles: l } = nt(() => e.color); return re(() => { const r = Ao.filterProps(e), i = !e.hideTitle && !!(e.title || n.title); return S(Ao, Y(r, { color: e.bgColor, class: ["v-picker", { "v-picker--divided": e.divided, "v-picker--landscape": e.landscape, "v-picker--with-actions": !!n.actions }, e.class], style: e.style }), { default: () => { var o; return [!e.hideHeader && C("div", { key: "header", class: ee(["v-picker__header-wrapper", a.value]), style: ge([l.value]) }, [i && S(ky, { key: "picker-title" }, { default: () => { var s; return [((s = n.title) == null ? void 0 : s.call(n)) ?? e.title]; } }), n.header && C("div", { class: "v-picker__header" }, [n.header()])]), C("div", { class: "v-picker__body" }, [(o = n.default) == null ? void 0 : o.call(n)]), n.actions && S(De, { defaults: { VBtn: { slim: !0, variant: "text" } } }, { default: () => [C("div", { class: "v-picker__actions" }, [n.actions()])] })]; } }); }), {}; } }), lc = L({ // TODO: implement in v3.5 // calendarIcon: { // type: String, // default: '$calendar', // }, // keyboardIcon: { // type: String, // default: '$edit', // }, // inputMode: { // type: String as PropType<'calendar' | 'keyboard'>, // default: 'calendar', // }, // inputText: { // type: String, // default: '$vuetify.datePicker.input.placeholder', // }, // inputPlaceholder: { // type: String, // default: 'dd/mm/yyyy', // }, header: { type: String, default: "$vuetify.datePicker.header" }, headerColor: String, headerDateFormat: { type: String, default: "normalDateWithWeekday" }, landscapeHeaderWidth: [Number, String], ..._e(Hu(), ["active", "monthText", "yearText"]), ...Gu({ weeksInMonth: "static" }), ..._e(Ku(), ["modelValue"]), ..._e(Xu(), ["modelValue"]), ...ac({ title: "$vuetify.datePicker.title" }), modelValue: null }, "VDatePicker"), Vo = q()({ name: "VDatePicker", props: lc(), emits: { "update:modelValue": (e) => !0, "update:month": (e) => !0, "update:year": (e) => !0, // 'update:inputMode': (date: any) => true, "update:viewMode": (e) => !0 }, setup(e, t) { let { emit: n, slots: a } = t; const l = Yt(), { t: r } = Je(), { rtlClasses: i } = gt(), o = me(e, "modelValue", void 0, (V) => Pe(V).map((F) => l.date(F)), (V) => e.multiple ? V : V[0]), s = me(e, "viewMode"), { minDate: u, maxDate: c, clampDate: d } = jr(e), v = x(() => { var U; const V = l.date(), F = (U = o.value) != null && U[0] ? l.date(o.value[0]) : d(V); return F && l.isValid(F) ? F : V; }), m = O(() => e.headerColor ?? e.color), y = me(e, "month"), f = x({ get: () => Number(y.value ?? l.getMonth(l.startOfMonth(v.value))), set: (V) => y.value = V }), b = me(e, "year"), g = x({ get: () => Number(b.value ?? l.getYear(l.startOfYear(l.setMonth(v.value, f.value)))), set: (V) => b.value = V }), h = Z(!1), p = x(() => { if (e.multiple && o.value.length > 1) return r("$vuetify.datePicker.itemsSelected", o.value.length); const V = o.value[0] && l.isValid(o.value[0]) ? l.format(l.date(o.value[0]), e.headerDateFormat) : r(e.header); return e.landscape && V.split(" ").length === 3 ? V.replace(" ", ` `) : V; }), w = O(() => { let V = l.date(); return V = l.setDate(V, 1), V = l.setMonth(V, f.value), V = l.setYear(V, g.value), V; }), P = O(() => l.format(w.value, "monthAndYear")), _ = O(() => l.format(w.value, "monthShort")), I = O(() => l.format(w.value, "year")), k = O(() => `date-picker-header${h.value ? "-reverse" : ""}-transition`), E = x(() => { if (e.disabled) return !0; const V = []; if (s.value !== "month") V.push("prev-month", "next-month", "prev-year", "next-year"); else { let F = l.date(); if (F = l.startOfMonth(F), F = l.setMonth(F, f.value), F = l.setYear(F, g.value), u.value) { const U = l.addDays(l.startOfMonth(F), -1), D = l.addDays(l.startOfYear(F), -1); l.isAfter(u.value, U) && V.push("prev-month"), l.isAfter(u.value, D) && V.push("prev-year"); } if (c.value) { const U = l.addDays(l.endOfMonth(F), 1), D = l.addDays(l.endOfYear(F), 1); l.isAfter(U, c.value) && V.push("next-month"), l.isAfter(D, c.value) && V.push("next-year"); } } return V; }), T = x(() => e.allowedYears || B), M = x(() => e.allowedMonths || $); function N(V, F) { const U = e.allowedDates; if (typeof U != "function") return !0; const D = 1 + Yu(l, V, F); for (let J = 0; J < D; J++) if (U(l.addDays(V, J))) return !0; return !1; } function B(V) { if (typeof e.allowedDates == "function") { const F = l.parseISO(`${V}-01-01`); return N(F, l.endOfYear(F)); } if (Array.isArray(e.allowedDates) && e.allowedDates.length) { for (const F of e.allowedDates) if (l.getYear(l.date(F)) === V) return !0; return !1; } return !0; } function $(V) { if (typeof e.allowedDates == "function") { const F = String(V + 1).padStart(2, "0"), U = l.parseISO(`${g.value}-${F}-01`); return N(U, l.endOfMonth(U)); } if (Array.isArray(e.allowedDates) && e.allowedDates.length) { for (const F of e.allowedDates) if (l.getYear(l.date(F)) === g.value && l.getMonth(l.date(F)) === V) return !0; return !1; } return !0; } function j() { f.value < 11 ? f.value++ : (g.value++, f.value = 0, A()), R(); } function G() { f.value > 0 ? f.value-- : (g.value--, f.value = 11, A()), R(); } function K() { if (g.value++, c.value) { const V = String(f.value + 1).padStart(2, "0"), F = l.parseISO(`${g.value}-${V}-01`); l.isAfter(F, c.value) && (f.value = l.getMonth(c.value)); } A(); } function z() { if (g.value--, u.value) { const V = String(f.value + 1).padStart(2, "0"), F = l.endOfMonth(l.parseISO(`${g.value}-${V}-01`)); l.isAfter(u.value, F) && (f.value = l.getMonth(u.value)); } A(); } function te() { s.value = "month"; } function W() { s.value = s.value === "months" ? "month" : "months"; } function Q() { s.value = s.value === "year" ? "month" : "year"; } function R() { s.value === "months" && W(); } function A() { s.value === "year" && Q(); } return le(o, (V, F) => { const U = Pe(F), D = Pe(V); if (!D.length) return; const J = l.date(U[U.length - 1]), ce = l.date(D[D.length - 1]); if (l.isSameDay(J, ce)) return; const fe = l.getMonth(ce), ie = l.getYear(ce); fe !== f.value && (f.value = fe, R()), ie !== g.value && (g.value = ie, A()), h.value = l.isBefore(J, ce); }), re(() => { const V = _o.filterProps(e), F = _e(So.filterProps(e), ["viewMode"]), U = wo.filterProps(e), D = ko.filterProps(e), J = _e(xo.filterProps(e), ["modelValue"]), ce = _e(Co.filterProps(e), ["modelValue"]), fe = { color: m.value, header: p.value, transition: k.value }; return S(_o, Y(V, { color: m.value, class: ["v-date-picker", `v-date-picker--${s.value}`, { "v-date-picker--show-week": e.showWeek }, i.value, e.class], style: [{ "--v-date-picker-landscape-header-width": X(e.landscapeHeaderWidth) }, e.style] }), { title: () => { var ie; return ((ie = a.title) == null ? void 0 : ie.call(a)) ?? C("div", { class: "v-date-picker__title" }, [r(e.title)]); }, header: () => a.header ? S(De, { defaults: { VDatePickerHeader: { ...fe } } }, { default: () => { var ie; return [(ie = a.header) == null ? void 0 : ie.call(a, fe)]; } }) : S(wo, Y({ key: "header" }, U, fe, { onClick: s.value !== "month" ? te : void 0 }), { prepend: a.prepend, append: a.append }), default: () => C(ue, null, [S(So, Y(F, { disabled: E.value, viewMode: s.value, text: P.value, monthText: _.value, yearText: I.value, "onClick:next": j, "onClick:prev": G, "onClick:nextYear": K, "onClick:prevYear": z, "onClick:month": W, "onClick:year": Q }), { default: a.controls }), S(Ql, { hideOnLeave: !0 }, { default: () => [s.value === "months" ? S(xo, Y({ key: "date-picker-months" }, J, { modelValue: f.value, "onUpdate:modelValue": [(ie) => f.value = ie, R], min: u.value, max: c.value, year: g.value, allowedMonths: M.value }), { month: a.month }) : s.value === "year" ? S(Co, Y({ key: "date-picker-years" }, ce, { modelValue: g.value, "onUpdate:modelValue": [(ie) => g.value = ie, A], min: u.value, max: c.value, allowedYears: T.value }), { year: a.year }) : S(ko, Y({ key: "date-picker-month" }, D, { modelValue: o.value, "onUpdate:modelValue": (ie) => o.value = ie, month: f.value, "onUpdate:month": [(ie) => f.value = ie, R], year: g.value, "onUpdate:year": [(ie) => g.value = ie, A], min: u.value, max: c.value }), { day: a.day })] })]), actions: a.actions }); }), {}; } }); function Za(e) { const { t } = Je(); function n(a) { let { name: l, color: r, ...i } = a; const o = { prepend: "prependAction", prependInner: "prependAction", append: "appendAction", appendInner: "appendAction", clear: "clear" }[l], s = e[`onClick:${l}`]; function u(d) { d.key !== "Enter" && d.key !== " " || (d.preventDefault(), d.stopPropagation(), Ar(s, new PointerEvent("click", d))); } const c = s && o ? t(`$vuetify.input.${o}`, e.label ?? "") : void 0; return S(Le, Y({ icon: e[`${l}Icon`], "aria-label": c, onClick: s, onKeydown: u, color: r }, i), null); } return { InputIcon: n }; } function hl(e, t) { return { x: e.x + t.x, y: e.y + t.y }; } function xy(e, t) { return { x: e.x - t.x, y: e.y - t.y }; } function Oo(e, t) { if (e.side === "top" || e.side === "bottom") { const { side: n, align: a } = e, l = a === "left" ? 0 : a === "center" ? t.width / 2 : a === "right" ? t.width : a, r = n === "top" ? 0 : n === "bottom" ? t.height : n; return hl({ x: l, y: r }, t); } else if (e.side === "left" || e.side === "right") { const { side: n, align: a } = e, l = n === "left" ? 0 : n === "right" ? t.width : n, r = a === "top" ? 0 : a === "center" ? t.height / 2 : a === "bottom" ? t.height : a; return hl({ x: l, y: r }, t); } return hl({ x: t.width / 2, y: t.height / 2 }, t); } const rc = { static: Iy, // specific viewport position, usually centered connected: _y // connected to a certain element }, Cy = L({ locationStrategy: { type: [String, Function], default: "static", validator: (e) => typeof e == "function" || e in rc }, location: { type: String, default: "bottom" }, origin: { type: String, default: "auto" }, offset: [Number, String, Array], stickToTarget: Boolean, viewportMargin: { type: [Number, String], default: 12 } }, "VOverlay-location-strategies"); function Py(e, t) { const n = ne({}), a = ne(); We && zt(() => !!(t.isActive.value && e.locationStrategy), (o) => { var s, u; le(() => e.locationStrategy, o), je(() => { window.removeEventListener("resize", l), visualViewport == null || visualViewport.removeEventListener("resize", r), visualViewport == null || visualViewport.removeEventListener("scroll", i), a.value = void 0; }), window.addEventListener("resize", l, { passive: !0 }), visualViewport == null || visualViewport.addEventListener("resize", r, { passive: !0 }), visualViewport == null || visualViewport.addEventListener("scroll", i, { passive: !0 }), typeof e.locationStrategy == "function" ? a.value = (s = e.locationStrategy(t, e, n)) == null ? void 0 : s.updateLocation : a.value = (u = rc[e.locationStrategy](t, e, n)) == null ? void 0 : u.updateLocation; }); function l(o) { var s; (s = a.value) == null || s.call(a, o); } function r(o) { var s; (s = a.value) == null || s.call(a, o); } function i(o) { var s; (s = a.value) == null || s.call(a, o); } return { contentStyles: n, updateLocation: a }; } function Iy() { } function Ay(e, t) { const n = _r(e); return t ? n.x += parseFloat(e.style.right || 0) : n.x -= parseFloat(e.style.left || 0), n.y -= parseFloat(e.style.top || 0), n; } function _y(e, t, n) { (Array.isArray(e.target.value) || wh(e.target.value)) && Object.assign(n.value, { position: "fixed", top: 0, [e.isRtl.value ? "right" : "left"]: 0 }); const { preferredAnchor: l, preferredOrigin: r } = Ir(() => { const g = Ul(t.location, e.isRtl.value), h = t.origin === "overlap" ? g : t.origin === "auto" ? dl(g) : Ul(t.origin, e.isRtl.value); return g.side === h.side && g.align === fl(h).align ? { preferredAnchor: qi(g), preferredOrigin: qi(h) } : { preferredAnchor: g, preferredOrigin: h }; }), [i, o, s, u] = ["minWidth", "minHeight", "maxWidth", "maxHeight"].map((g) => x(() => { const h = parseFloat(t[g]); return isNaN(h) ? 1 / 0 : h; })), c = x(() => { if (Array.isArray(t.offset)) return t.offset; if (typeof t.offset == "string") { const g = t.offset.split(" ").map(parseFloat); return g.length < 2 && g.push(0), g; } return typeof t.offset == "number" ? [t.offset, 0] : [0, 0]; }); let d = !1, v = -1; const m = new Ug(4), y = new ResizeObserver(() => { if (!d) return; if (requestAnimationFrame((h) => { h !== v && m.clear(), requestAnimationFrame((p) => { v = p; }); }), m.isFull) { const h = m.values(); if (Qe(h.at(-1), h.at(-3)) && !Qe(h.at(-1), h.at(-2))) return; } const g = b(); g && m.push(g.flipped); }); let f = new st({ x: 0, y: 0, width: 0, height: 0 }); le(e.target, (g, h) => { h && !Array.isArray(h) && y.unobserve(h), Array.isArray(g) ? Qe(g, h) || b() : g && y.observe(g); }, { immediate: !0 }), le(e.contentEl, (g, h) => { h && y.unobserve(h), g && y.observe(g); }, { immediate: !0 }), je(() => { y.disconnect(); }); function b() { if (d = !1, requestAnimationFrame(() => d = !0), !e.target.value || !e.contentEl.value) return; (Array.isArray(e.target.value) || e.target.value.offsetParent || e.target.value.getClientRects().length) && (f = fu(e.target.value)); const g = Ay(e.contentEl.value, e.isRtl.value), h = _a(e.contentEl.value), p = Number(t.viewportMargin); h.length || (h.push(document.documentElement), e.contentEl.value.style.top && e.contentEl.value.style.left || (g.x -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x") || 0), g.y -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y") || 0))); const w = h.reduce((B, $) => { const j = Qg($); return B ? new st({ x: Math.max(B.left, j.left), y: Math.max(B.top, j.top), width: Math.min(B.right, j.right) - Math.max(B.left, j.left), height: Math.min(B.bottom, j.bottom) - Math.max(B.top, j.top) }) : j; }, void 0); t.stickToTarget ? (w.x += Math.min(p, f.x), w.y += Math.min(p, f.y), w.width = Math.max(w.width - p * 2, f.x + f.width - p), w.height = Math.max(w.height - p * 2, f.y + f.height - p)) : (w.x += p, w.y += p, w.width -= p * 2, w.height -= p * 2); let P = { anchor: l.value, origin: r.value }; function _(B) { const $ = new st(g), j = Oo(B.anchor, f), G = Oo(B.origin, $); let { x: K, y: z } = xy(j, G); switch (B.anchor.side) { case "top": z -= c.value[0]; break; case "bottom": z += c.value[0]; break; case "left": K -= c.value[0]; break; case "right": K += c.value[0]; break; } switch (B.anchor.align) { case "top": z -= c.value[1]; break; case "bottom": z += c.value[1]; break; case "left": K -= c.value[1]; break; case "right": K += c.value[1]; break; } return $.x += K, $.y += z, $.width = Math.min($.width, s.value), $.height = Math.min($.height, u.value), { overflows: Ji($, w), x: K, y: z }; } let I = 0, k = 0; const E = { x: 0, y: 0 }, T = { x: !1, y: !1 }; let M = -1; for (; ; ) { if (M++ > 10) { Jn("Infinite loop detected in connectedLocationStrategy"); break; } const { x: B, y: $, overflows: j } = _(P); I += B, k += $, g.x += B, g.y += $; { const G = Xi(P.anchor), K = j.x.before || j.x.after, z = j.y.before || j.y.after; let te = !1; if (["x", "y"].forEach((W) => { if (W === "x" && K && !T.x || W === "y" && z && !T.y) { const Q = { anchor: { ...P.anchor }, origin: { ...P.origin } }, R = W === "x" ? G === "y" ? fl : dl : G === "y" ? dl : fl; Q.anchor = R(Q.anchor), Q.origin = R(Q.origin); const { overflows: A } = _(Q); (A[W].before <= j[W].before && A[W].after <= j[W].after || A[W].before + A[W].after < (j[W].before + j[W].after) / 2) && (P = Q, te = T[W] = !0); } }), te) continue; } j.x.before && (I += j.x.before, g.x += j.x.before), j.x.after && (I -= j.x.after, g.x -= j.x.after), j.y.before && (k += j.y.before, g.y += j.y.before), j.y.after && (k -= j.y.after, g.y -= j.y.after); { const G = Ji(g, w); E.x = w.width - G.x.before - G.x.after, E.y = w.height - G.y.before - G.y.after, I += G.x.before, g.x += G.x.before, k += G.y.before, g.y += G.y.before; } break; } const N = Xi(P.anchor); return Object.assign(n.value, { "--v-overlay-anchor-origin": `${P.anchor.side} ${P.anchor.align}`, transformOrigin: `${P.origin.side} ${P.origin.align}`, // transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`, top: X(yl(k)), left: e.isRtl.value ? void 0 : X(yl(I)), right: e.isRtl.value ? X(yl(-I)) : void 0, minWidth: X(N === "y" ? Math.min(i.value, f.width) : i.value), maxWidth: X(Eo(Re(E.x, i.value === 1 / 0 ? 0 : i.value, s.value))), maxHeight: X(Eo(Re(E.y, o.value === 1 / 0 ? 0 : o.value, u.value))) }), { available: E, contentBox: g, flipped: T }; } return le(() => [l.value, r.value, t.offset, t.minWidth, t.minHeight, t.maxWidth, t.maxHeight], () => b()), Ae(() => { const g = b(); if (!g) return; const { available: h, contentBox: p } = g; p.height > h.y && requestAnimationFrame(() => { b(), requestAnimationFrame(() => { b(); }); }); }), { updateLocation: b }; } function yl(e) { return Math.round(e * devicePixelRatio) / devicePixelRatio; } function Eo(e) { return Math.ceil(e * devicePixelRatio) / devicePixelRatio; } let Zl = !0; const Ea = []; function Vy(e) { !Zl || Ea.length ? (Ea.push(e), er()) : (Zl = !1, e(), er()); } let To = -1; function er() { cancelAnimationFrame(To), To = requestAnimationFrame(() => { const e = Ea.shift(); e && e(), Ea.length ? er() : Zl = !0; }); } const ga = { none: null, close: Ty, block: Fy, reposition: Dy }, Oy = L({ scrollStrategy: { type: [String, Function], default: "block", validator: (e) => typeof e == "function" || e in ga } }, "VOverlay-scroll-strategies"); function Ey(e, t) { if (!We) return; let n; qe(async () => { n == null || n.stop(), t.isActive.value && e.scrollStrategy && (n = or(), await new Promise((a) => setTimeout(a)), n.active && n.run(() => { var a; typeof e.scrollStrategy == "function" ? e.scrollStrategy(t, e, n) : (a = ga[e.scrollStrategy]) == null || a.call(ga, t, e, n); })); }), je(() => { n == null || n.stop(); }); } function Ty(e) { function t(n) { e.isActive.value = !1; } ic(zr(e.target.value, e.contentEl.value), t); } function Fy(e, t) { var o; const n = (o = e.root.value) == null ? void 0 : o.offsetParent, a = zr(e.target.value, e.contentEl.value), l = [.../* @__PURE__ */ new Set([..._a(a, t.contained ? n : void 0), ..._a(e.contentEl.value, t.contained ? n : void 0)])].filter((s) => !s.classList.contains("v-overlay-scroll-blocked")), r = window.innerWidth - document.documentElement.offsetWidth, i = ((s) => Er(s) && s)(n || document.documentElement); i && e.root.value.classList.add("v-overlay--scroll-blocked"), l.forEach((s, u) => { s.style.setProperty("--v-body-scroll-x", X(-s.scrollLeft)), s.style.setProperty("--v-body-scroll-y", X(-s.scrollTop)), s !== document.documentElement && s.style.setProperty("--v-scrollbar-offset", X(r)), s.classList.add("v-overlay-scroll-blocked"); }), je(() => { l.forEach((s, u) => { const c = parseFloat(s.style.getPropertyValue("--v-body-scroll-x")), d = parseFloat(s.style.getPropertyValue("--v-body-scroll-y")), v = s.style.scrollBehavior; s.style.scrollBehavior = "auto", s.style.removeProperty("--v-body-scroll-x"), s.style.removeProperty("--v-body-scroll-y"), s.style.removeProperty("--v-scrollbar-offset"), s.classList.remove("v-overlay-scroll-blocked"), s.scrollLeft = -c, s.scrollTop = -d, s.style.scrollBehavior = v; }), i && e.root.value.classList.remove("v-overlay--scroll-blocked"); }); } function Dy(e, t, n) { let a = !1, l = -1, r = -1; function i(o) { Vy(() => { var c, d; const s = performance.now(); (d = (c = e.updateLocation).value) == null || d.call(c, o), a = (performance.now() - s) / (1e3 / 60) > 2; }); } r = (typeof requestIdleCallback > "u" ? (o) => o() : requestIdleCallback)(() => { n.run(() => { ic(zr(e.target.value, e.contentEl.value), (o) => { a ? (cancelAnimationFrame(l), l = requestAnimationFrame(() => { l = requestAnimationFrame(() => { i(o); }); })) : i(o); }); }); }), je(() => { typeof cancelIdleCallback < "u" && cancelIdleCallback(r), cancelAnimationFrame(l); }); } function zr(e, t) { return Array.isArray(e) ? document.elementsFromPoint(...e).find((n) => !(t != null && t.contains(n))) : e ?? t; } function ic(e, t) { const n = [document, ..._a(e)]; n.forEach((a) => { a.addEventListener("scroll", t, { passive: !0 }); }), je(() => { n.forEach((a) => { a.removeEventListener("scroll", t); }); }); } const tr = Symbol.for("vuetify:v-menu"), Ny = L({ closeDelay: [Number, String], openDelay: [Number, String] }, "delay"); function My(e, t) { let n = () => { }; function a(i, o) { n == null || n(); const s = i ? e.openDelay : e.closeDelay, u = Math.max((o == null ? void 0 : o.minDelay) ?? 0, Number(s ?? 0)); return new Promise((c) => { n = Yg(u, () => { t == null || t(i), c(i); }); }); } function l() { return a(!0); } function r(i) { return a(!1, i); } return { clearDelay: n, runOpenDelay: l, runCloseDelay: r }; } const Ly = L({ 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, ...Ny() }, "VOverlay-activator"); function By(e, t) { let { isActive: n, isTop: a, contentEl: l } = t; const r = Ve("useActivator"), i = ne(); let o = !1, s = !1, u = !0; const c = x(() => e.openOnFocus || e.openOnFocus == null && e.openOnHover), d = x(() => e.openOnClick || e.openOnClick == null && !e.openOnHover && !c.value), { runOpenDelay: v, runCloseDelay: m } = My(e, (k) => { k === (e.openOnHover && o || c.value && s) && !(e.openOnHover && n.value && !a.value) && (n.value !== k && (u = !0), n.value = k); }), y = ne(), f = { onClick: (k) => { k.stopPropagation(), i.value = k.currentTarget || k.target, n.value || (y.value = [k.clientX, k.clientY]), n.value = !n.value; }, onMouseenter: (k) => { o = !0, i.value = k.currentTarget || k.target, v(); }, onMouseleave: (k) => { o = !1, m(); }, onFocus: (k) => { Ca(k.target, ":focus-visible") !== !1 && (s = !0, k.stopPropagation(), i.value = k.currentTarget || k.target, v()); }, onBlur: (k) => { s = !1, k.stopPropagation(), m({ minDelay: 1 }); } }, b = x(() => { const k = {}; return d.value && (k.onClick = f.onClick), e.openOnHover && (k.onMouseenter = f.onMouseenter, k.onMouseleave = f.onMouseleave), c.value && (k.onFocus = f.onFocus, k.onBlur = f.onBlur), k; }), g = x(() => { const k = {}; if (e.openOnHover && (k.onMouseenter = () => { o = !0, v(); }, k.onMouseleave = () => { o = !1, m(); }), c.value && (k.onFocusin = (E) => { E.target.matches(":focus-visible") && (s = !0, v()); }, k.onFocusout = () => { s = !1, m({ minDelay: 1 }); }), e.closeOnContentClick) { const E = xe(tr, null); k.onClick = () => { n.value = !1, E == null || E.closeParents(); }; } return k; }), h = x(() => { const k = {}; return e.openOnHover && (k.onMouseenter = () => { u && (o = !0, u = !1, v()); }, k.onMouseleave = () => { o = !1, m(); }), k; }); le(a, (k) => { var E; k && (e.openOnHover && !o && (!c.value || !s) || c.value && !s && (!e.openOnHover || !o)) && !((E = l.value) != null && E.contains(document.activeElement)) && (n.value = !1); }), le(n, (k) => { k || setTimeout(() => { y.value = void 0; }); }, { flush: "post" }); const p = Pa(); qe(() => { p.value && Ae(() => { i.value = p.el; }); }); const w = Pa(), P = x(() => e.target === "cursor" && y.value ? y.value : w.value ? w.el : oc(e.target, r) || i.value), _ = x(() => Array.isArray(P.value) ? void 0 : P.value); let I; return le(() => !!e.activator, (k) => { k && We ? (I = or(), I.run(() => { Ry(e, r, { activatorEl: i, activatorEvents: b }); })) : I && I.stop(); }, { flush: "post", immediate: !0 }), je(() => { I == null || I.stop(); }), { activatorEl: i, activatorRef: p, target: P, targetEl: _, targetRef: w, activatorEvents: b, contentEvents: g, scrimEvents: h }; } function Ry(e, t, n) { let { activatorEl: a, activatorEvents: l } = n; le(() => e.activator, (s, u) => { if (u && s !== u) { const c = o(u); c && i(c); } s && Ae(() => r()); }, { immediate: !0 }), le(() => e.activatorProps, () => { r(); }), je(() => { i(); }); function r() { let s = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : o(), u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.activatorProps; s && Zg(s, Y(l.value, u)); } function i() { let s = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : o(), u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.activatorProps; s && eh(s, Y(l.value, u)); } function o() { let s = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : e.activator; const u = oc(s, t); return a.value = (u == null ? void 0 : u.nodeType) === Node.ELEMENT_NODE ? u : void 0, a.value; } } function oc(e, t) { var a, l; if (!e) return; let n; if (e === "parent") { let r = (l = (a = t == null ? void 0 : t.proxy) == null ? void 0 : a.$el) == null ? void 0 : l.parentNode; for (; r != null && r.hasAttribute("data-no-activator"); ) r = r.parentNode; n = r; } else typeof e == "string" ? n = document.querySelector(e) : "$el" in e ? n = e.$el : n = e; return n; } const $y = L({ retainFocus: Boolean, captureFocus: Boolean, /** @deprecated */ disableInitialFocus: Boolean }, "focusTrap"), ha = /* @__PURE__ */ new Map(); let Fo = 0; function Do(e) { const t = document.activeElement; if (e.key !== "Tab" || !t) return; const n = Array.from(ha.values()).filter((u) => { var v; let { isActive: c, contentEl: d } = u; return c.value && ((v = d.value) == null ? void 0 : v.contains(t)); }).map((u) => u.contentEl.value); let a, l = t.parentElement; for (; l; ) { if (n.includes(l)) { a = l; break; } l = l.parentElement; } if (!a) return; const r = Xt(a).filter((u) => u.tabIndex >= 0); if (!r.length) return; const i = document.activeElement; if (r.length === 1 && r[0].classList.contains("v-list") && r[0].contains(i)) { e.preventDefault(); return; } const o = r[0], s = r[r.length - 1]; e.shiftKey && (i === o || o.classList.contains("v-list") && o.contains(i)) && (e.preventDefault(), s.focus()), !e.shiftKey && (i === s || s.classList.contains("v-list") && s.contains(i)) && (e.preventDefault(), o.focus()); } function jy(e, t) { let { isActive: n, localTop: a, contentEl: l } = t; const r = Symbol("trap"); let i = !1, o = -1; async function s() { i = !0, o = window.setTimeout(() => { i = !1; }, 100); } async function u(v) { var f; const m = v.relatedTarget, y = v.target; document.removeEventListener("pointerdown", s), document.removeEventListener("keydown", c), await Ae(), n.value && !i && m !== y && l.value && // We're the menu without open submenus or overlays Me(a) && // It isn't the document or the container body ![document, l.value].includes(y) && // It isn't inside the container body !l.value.contains(y) && ((f = Xt(l.value)[0]) == null || f.focus()); } function c(v) { if (v.key === "Tab" && (document.removeEventListener("keydown", c), n.value && l.value && v.target && !l.value.contains(v.target))) { const m = Xt(document.documentElement); if (v.shiftKey && v.target === m.at(0) || !v.shiftKey && v.target === m.at(-1)) { const y = Xt(l.value); y.length > 0 && (v.preventDefault(), y[0].focus()); } } } const d = O(() => n.value && e.captureFocus && !e.disableInitialFocus); We && (le(() => e.retainFocus, (v) => { v ? ha.set(r, { isActive: n, contentEl: l }) : ha.delete(r); }, { immediate: !0 }), le(d, (v) => { v ? (document.addEventListener("pointerdown", s), document.addEventListener("focusin", u, { once: !0 }), document.addEventListener("keydown", c)) : (document.removeEventListener("pointerdown", s), document.removeEventListener("focusin", u), document.removeEventListener("keydown", c)); }, { immediate: !0 }), Fo++ < 1 && document.addEventListener("keydown", Do)), je(() => { ha.delete(r), clearTimeout(o), document.removeEventListener("pointerdown", s), document.removeEventListener("focusin", u), document.removeEventListener("keydown", c), --Fo < 1 && document.removeEventListener("keydown", Do); }); } function zy() { if (!We) return Z(!1); const { ssr: e } = Ut(); if (e) { const t = Z(!1); return kn(() => { t.value = !0; }), t; } else return Z(!0); } const Wy = L({ eager: Boolean }, "lazy"); function Hy(e, t) { const n = Z(!1), a = O(() => n.value || e.eager || t.value); le(t, () => n.value = !0); function l() { e.eager || (n.value = !1); } return { isBooted: n, hasContent: a, onAfterLeave: l }; } function Wr() { const t = Ve("useScopeId").vnode.scopeId; return { scopeId: t ? { [t]: "" } : void 0 }; } const No = Symbol.for("vuetify:stack"), Vn = Jt([]); function Uy(e, t, n) { const a = Ve("useStack"), l = !n, r = xe(No, void 0), i = Jt({ activeChildren: /* @__PURE__ */ new Set() }); Be(No, i); const o = Z(Number(Me(t))); zt(e, () => { var d; const c = (d = Vn.at(-1)) == null ? void 0 : d[1]; o.value = c ? c + 10 : Number(Me(t)), l && Vn.push([a.uid, o.value]), r == null || r.activeChildren.add(a.uid), je(() => { if (l) { const v = Ie(Vn).findIndex((m) => m[0] === a.uid); Vn.splice(v, 1); } r == null || r.activeChildren.delete(a.uid); }); }); const s = Z(!0); l && qe(() => { var d; const c = ((d = Vn.at(-1)) == null ? void 0 : d[0]) === a.uid; setTimeout(() => s.value = c); }); const u = O(() => !i.activeChildren.size); return { globalTop: ur(s), localTop: u, stackStyles: O(() => ({ zIndex: o.value })) }; } function Yy(e) { return { teleportTarget: x(() => { const n = e(); if (n === !0 || !We) return; const a = n === !1 ? document.body : typeof n == "string" ? document.querySelector(n) : n; if (a == null) { $a(`Unable to locate target ${n}`); return; } let l = [...a.children].find((r) => r.matches(".v-overlay-container")); return l || (l = document.createElement("div"), l.className = "v-overlay-container", a.appendChild(l)), l; }) }; } function Gy() { return !0; } function sc(e, t, n) { if (!e || uc(e, n) === !1) return !1; const a = mu(t); if (typeof ShadowRoot < "u" && a instanceof ShadowRoot && a.host === e.target) return !1; const l = (typeof n.value == "object" && n.value.include || (() => []))(); return l.push(t), !l.some((r) => r == null ? void 0 : r.contains(e.target)); } function uc(e, t) { return (typeof t.value == "object" && t.value.closeConditional || Gy)(e); } function Ky(e, t, n) { const a = typeof n.value == "function" ? n.value : n.value.handler; e.shadowTarget = e.target, t._clickOutside.lastMousedownWasOutside && sc(e, t, n) && setTimeout(() => { uc(e, n) && a && a(e); }, 0); } function Mo(e, t) { const n = mu(e); t(document), typeof ShadowRoot < "u" && n instanceof ShadowRoot && t(n); } const Lo = { // [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(e, t) { const n = (l) => Ky(l, e, t), a = (l) => { e._clickOutside.lastMousedownWasOutside = sc(l, e, t); }; Mo(e, (l) => { l.addEventListener("click", n, !0), l.addEventListener("mousedown", a, !0); }), e._clickOutside || (e._clickOutside = { lastMousedownWasOutside: !1 }), e._clickOutside[t.instance.$.uid] = { onClick: n, onMousedown: a }; }, beforeUnmount(e, t) { e._clickOutside && (Mo(e, (n) => { var r; if (!n || !((r = e._clickOutside) != null && r[t.instance.$.uid])) return; const { onClick: a, onMousedown: l } = e._clickOutside[t.instance.$.uid]; n.removeEventListener("click", a, !0), n.removeEventListener("mousedown", l, !0); }), delete e._clickOutside[t.instance.$.uid]); } }; function qy(e) { const { modelValue: t, color: n, ...a } = e; return S(Qt, { name: "fade-transition", appear: !0 }, { default: () => [e.modelValue && C("div", Y({ class: ["v-overlay__scrim", e.color.backgroundColorClasses.value], style: e.color.backgroundColorStyles.value }, a), null)] }); } const Hr = L({ absolute: Boolean, attach: [Boolean, String, Object], closeOnBack: { type: Boolean, default: !0 }, contained: Boolean, contentClass: null, contentProps: null, disabled: Boolean, opacity: [Number, String], noClickAnimation: Boolean, modelValue: Boolean, persistent: Boolean, scrim: { type: [Boolean, String], default: !0 }, zIndex: { type: [Number, String], default: 2e3 }, ...Ly(), ...he(), ...St(), ...Wy(), ...Cy(), ...Oy(), ...$y(), ...Ne(), ...An() }, "VOverlay"), Ta = q()({ name: "VOverlay", directives: { vClickOutside: Lo }, inheritAttrs: !1, props: { _disableGlobalStack: Boolean, ..._e(Hr(), ["disableInitialFocus"]) }, emits: { "click:outside": (e) => !0, "update:modelValue": (e) => !0, keydown: (e) => !0, afterEnter: () => !0, afterLeave: () => !0 }, setup(e, t) { let { slots: n, attrs: a, emit: l } = t; const r = Ve("VOverlay"), i = ne(), o = ne(), s = ne(), u = me(e, "modelValue"), c = x({ get: () => u.value, set: (D) => { D && e.disabled || (u.value = D); } }), { themeClasses: d } = Xe(e), { rtlClasses: v, isRtl: m } = gt(), { hasContent: y, onAfterLeave: f } = Hy(e, c), b = nt(() => typeof e.scrim == "string" ? e.scrim : null), { globalTop: g, localTop: h, stackStyles: p } = Uy(c, () => e.zIndex, e._disableGlobalStack), { activatorEl: w, activatorRef: P, target: _, targetEl: I, targetRef: k, activatorEvents: E, contentEvents: T, scrimEvents: M } = By(e, { isActive: c, isTop: h, contentEl: s }), { teleportTarget: N } = Yy(() => { var ce, fe, ie; const D = e.attach || e.contained; if (D) return D; const J = ((ce = w == null ? void 0 : w.value) == null ? void 0 : ce.getRootNode()) || ((ie = (fe = r.proxy) == null ? void 0 : fe.$el) == null ? void 0 : ie.getRootNode()); return J instanceof ShadowRoot ? J : !1; }), { dimensionStyles: B } = wt(e), $ = zy(), { scopeId: j } = Wr(); le(() => e.disabled, (D) => { D && (c.value = !1); }); const { contentStyles: G, updateLocation: K } = Py(e, { isRtl: m, contentEl: s, target: _, isActive: c }); Ey(e, { root: i, contentEl: s, targetEl: I, target: _, isActive: c, updateLocation: K }); function z(D) { l("click:outside", D), e.persistent ? V() : c.value = !1; } function te(D) { return c.value && h.value && // If using scrim, only close if clicking on it rather than anything opened on top (!e.scrim || D.target === o.value || D instanceof MouseEvent && D.shadowTarget === o.value); } jy(e, { isActive: c, localTop: h, contentEl: s }), We && le(c, (D) => { D ? window.addEventListener("keydown", W) : window.removeEventListener("keydown", W); }, { immediate: !0 }), _t(() => { We && window.removeEventListener("keydown", W); }); function W(D) { var J, ce, fe; D.key === "Escape" && g.value && ((J = s.value) != null && J.contains(document.activeElement) || l("keydown", D), e.persistent ? V() : (c.value = !1, (ce = s.value) != null && ce.contains(document.activeElement) && ((fe = w.value) == null || fe.focus()))); } function Q(D) { D.key === "Escape" && !g.value || l("keydown", D); } const R = Wh(); zt(() => e.closeOnBack, () => { Hh(R, (D) => { g.value && c.value ? (D(!1), e.persistent ? V() : c.value = !1) : D(); }); }); const A = ne(); le(() => c.value && (e.absolute || e.contained) && N.value == null, (D) => { if (D) { const J = gu(i.value); J && J !== document.scrollingElement && (A.value = J.scrollTop); } }); function V() { e.noClickAnimation || s.value && Tt(s.value, [{ transformOrigin: "center" }, { transform: "scale(1.03)" }, { transformOrigin: "center" }], { duration: 150, easing: Aa }); } function F() { l("afterEnter"); } function U() { f(), l("afterLeave"); } return re(() => { var D; return C(ue, null, [(D = n.activator) == null ? void 0 : D.call(n, { isActive: c.value, targetRef: k, props: Y({ ref: P }, E.value, e.activatorProps) }), $.value && y.value && S(Md, { disabled: !N.value, to: N.value }, { default: () => [C("div", Y({ class: ["v-overlay", { "v-overlay--absolute": e.absolute || e.contained, "v-overlay--active": c.value, "v-overlay--contained": e.contained }, d.value, v.value, e.class], style: [p.value, { "--v-overlay-opacity": e.opacity, top: X(A.value) }, e.style], ref: i, onKeydown: Q }, j, a), [S(qy, Y({ color: b, modelValue: c.value && !!e.scrim, ref: o }, M.value), null), S(ft, { appear: !0, persisted: !0, transition: e.transition, target: _.value, onAfterEnter: F, onAfterLeave: U }, { default: () => { var J; return [ze(C("div", Y({ ref: s, class: ["v-overlay__content", e.contentClass], style: [B.value, G.value] }, T.value, e.contentProps), [(J = n.default) == null ? void 0 : J.call(n, { isActive: c })]), [[ln, c.value], [Lo, { handler: z, closeConditional: te, include: () => [w.value] }]])]; } })])] })]); }), { activatorEl: w, scrimEl: o, target: _, animateClick: V, contentEl: s, rootEl: i, globalTop: g, localTop: h, updateLocation: K }; } }), bl = Symbol("Forwarded refs"); function pl(e, t) { let n = e; for (; n; ) { const a = Reflect.getOwnPropertyDescriptor(n, t); if (a) return a; n = Object.getPrototypeOf(n); } } function _n(e) { for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++) n[a - 1] = arguments[a]; return e[bl] = n, new Proxy(e, { get(l, r) { if (Reflect.has(l, r)) return Reflect.get(l, r); if (!(typeof r == "symbol" || r.startsWith("$") || r.startsWith("__"))) { for (const i of n) if (i.value && Reflect.has(i.value, r)) { const o = Reflect.get(i.value, r); return typeof o == "function" ? o.bind(i.value) : o; } } }, has(l, r) { if (Reflect.has(l, r)) return !0; if (typeof r == "symbol" || r.startsWith("$") || r.startsWith("__")) return !1; for (const i of n) if (i.value && Reflect.has(i.value, r)) return !0; return !1; }, set(l, r, i) { if (Reflect.has(l, r)) return Reflect.set(l, r, i); if (typeof r == "symbol" || r.startsWith("$") || r.startsWith("__")) return !1; for (const o of n) if (o.value && Reflect.has(o.value, r)) return Reflect.set(o.value, r, i); return !1; }, getOwnPropertyDescriptor(l, r) { var o; const i = Reflect.getOwnPropertyDescriptor(l, r); if (i) return i; if (!(typeof r == "symbol" || r.startsWith("$") || r.startsWith("__"))) { for (const s of n) { if (!s.value) continue; const u = pl(s.value, r) ?? ("_" in s.value ? pl((o = s.value._) == null ? void 0 : o.setupState, r) : void 0); if (u) return u; } for (const s of n) { const u = s.value && s.value[bl]; if (!u) continue; const c = u.slice(); for (; c.length; ) { const d = c.shift(), v = pl(d.value, r); if (v) return v; const m = d.value && d.value[bl]; m && c.push(...m); } } } } }); } const Xy = L({ // TODO // disableKeys: Boolean, id: String, submenu: Boolean, ..._e(Hr({ captureFocus: !0, closeDelay: 250, closeOnContentClick: !0, locationStrategy: "connected", location: void 0, openDelay: 300, scrim: !1, scrollStrategy: "reposition", transition: { component: Zu } }), ["absolute"]) }, "VMenu"), cc = q()({ name: "VMenu", props: Xy(), emits: { "update:modelValue": (e) => !0 }, setup(e, t) { let { slots: n } = t; const a = me(e, "modelValue"), { scopeId: l } = Wr(), { isRtl: r } = gt(), i = bt(), o = O(() => e.id || `v-menu-${i}`), s = ne(), u = xe(tr, null), c = Z(/* @__PURE__ */ new Set()); Be(tr, { register() { c.value.add(i); }, unregister() { c.value.delete(i); }, closeParents(f) { setTimeout(() => { var b; !c.value.size && !e.persistent && (f == null || (b = s.value) != null && b.contentEl && !Gg(f, s.value.contentEl)) && (a.value = !1, u == null || u.closeParents()); }, 40); } }), _t(() => u == null ? void 0 : u.unregister()), Ld(() => a.value = !1), le(a, (f) => { f ? u == null || u.register() : u == null || u.unregister(); }, { immediate: !0 }); function d(f) { u == null || u.closeParents(f); } function v(f) { var b, g, h, p, w; if (!e.disabled) if (f.key === "Tab" || f.key === "Enter" && !e.closeOnContentClick) { if (f.key === "Enter" && (f.target instanceof HTMLTextAreaElement || f.target instanceof HTMLInputElement && f.target.closest("form"))) return; f.key === "Enter" && f.preventDefault(), !uu(Xt((b = s.value) == null ? void 0 : b.contentEl, !1), f.shiftKey ? "prev" : "next", (_) => _.tabIndex >= 0) && !e.retainFocus && (a.value = !1, (h = (g = s.value) == null ? void 0 : g.activatorEl) == null || h.focus()); } else e.submenu && f.key === (r.value ? "ArrowRight" : "ArrowLeft") && (a.value = !1, (w = (p = s.value) == null ? void 0 : p.activatorEl) == null || w.focus()); } function m(f) { var g; if (e.disabled) return; const b = (g = s.value) == null ? void 0 : g.contentEl; b && a.value ? f.key === "ArrowDown" ? (f.preventDefault(), f.stopImmediatePropagation(), Bn(b, "next")) : f.key === "ArrowUp" ? (f.preventDefault(), f.stopImmediatePropagation(), Bn(b, "prev")) : e.submenu && (f.key === (r.value ? "ArrowRight" : "ArrowLeft") ? a.value = !1 : f.key === (r.value ? "ArrowLeft" : "ArrowRight") && (f.preventDefault(), Bn(b, "first"))) : (e.submenu ? f.key === (r.value ? "ArrowLeft" : "ArrowRight") : ["ArrowDown", "ArrowUp"].includes(f.key)) && (a.value = !0, f.preventDefault(), setTimeout(() => setTimeout(() => m(f)))); } const y = x(() => Y({ "aria-haspopup": "menu", "aria-expanded": String(a.value), "aria-controls": o.value, "aria-owns": o.value, onKeydown: m }, e.activatorProps)); return re(() => { const f = Ta.filterProps(e); return S(Ta, Y({ ref: s, id: o.value, class: ["v-menu", e.class], style: e.style }, f, { modelValue: a.value, "onUpdate:modelValue": (b) => a.value = b, absolute: !0, activatorProps: y.value, location: e.location ?? (e.submenu ? "end" : "bottom"), "onClick:outside": d, onKeydown: v }, l), { activator: n.activator, default: function() { for (var b = arguments.length, g = new Array(b), h = 0; h < b; h++) g[h] = arguments[h]; return S(De, { root: "VMenu" }, { default: () => { var p; return [(p = n.default) == null ? void 0 : p.call(n, ...g)]; } }); } }); }), _n({ id: o, ΨopenChildren: c }, s); } }), Jy = L({ active: Boolean, disabled: Boolean, max: [Number, String], value: { type: [Number, String], default: 0 }, ...he(), ...An({ transition: { component: ec } }) }, "VCounter"), Qy = q()({ name: "VCounter", functional: !0, props: Jy(), setup(e, t) { let { slots: n } = t; const a = O(() => e.max ? `${e.value} / ${e.max}` : String(e.value)); return re(() => S(ft, { transition: e.transition }, { default: () => [ze(C("div", { class: ee(["v-counter", { "text-error": e.max && !e.disabled && parseFloat(e.value) > parseFloat(e.max) }, e.class]), style: ge(e.style) }, [n.default ? n.default({ counter: a.value, max: e.max, value: e.value }) : a.value]), [[ln, e.active]])] })), {}; } }), Zy = L({ text: String, onClick: $e(), ...he(), ...Ne() }, "VLabel"), dc = q()({ name: "VLabel", props: Zy(), setup(e, t) { let { slots: n } = t; return re(() => { var a; return C("label", { class: ee(["v-label", { "v-label--clickable": !!e.onClick }, e.class]), style: ge(e.style), onClick: e.onClick }, [e.text, (a = n.default) == null ? void 0 : a.call(n)]); }), {}; } }), eb = L({ floating: Boolean, ...he() }, "VFieldLabel"), ua = q()({ name: "VFieldLabel", props: eb(), setup(e, t) { let { slots: n } = t; return re(() => S(dc, { class: ee(["v-field-label", { "v-field-label--floating": e.floating }, e.class]), style: ge(e.style) }, n)), {}; } }), Ur = L({ focused: Boolean, "onUpdate:focused": $e() }, "focus"); function fc(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : pt(); const n = me(e, "focused"), a = O(() => ({ [`${t}--focused`]: n.value })); function l() { n.value = !0; } function r() { n.value = !1; } return { focusClasses: a, isFocused: n, focus: l, blur: r }; } const tb = ["underlined", "outlined", "filled", "solo", "solo-inverted", "solo-filled", "plain"], vc = L({ appendInnerIcon: se, bgColor: String, clearable: Boolean, clearIcon: { type: se, default: "$clear" }, active: Boolean, centerAffix: { type: Boolean, default: void 0 }, color: String, baseColor: String, dirty: Boolean, disabled: { type: Boolean, default: null }, glow: Boolean, error: Boolean, flat: Boolean, iconColor: [Boolean, String], label: String, persistentClear: Boolean, prependInnerIcon: se, reverse: Boolean, singleLine: Boolean, variant: { type: String, default: "filled", validator: (e) => tb.includes(e) }, "onClick:clear": $e(), "onClick:appendInner": $e(), "onClick:prependInner": $e(), ...he(), ...Nr(), ...ut(), ...Ne() }, "VField"), Bo = q()({ name: "VField", inheritAttrs: !1, props: { id: String, details: Boolean, labelId: String, ...Ur(), ...vc() }, emits: { "update:focused": (e) => !0, "update:modelValue": (e) => !0 }, setup(e, t) { let { attrs: n, emit: a, slots: l } = t; const { themeClasses: r } = Xe(e), { loaderClasses: i } = Mr(e), { focusClasses: o, isFocused: s, focus: u, blur: c } = fc(e), { InputIcon: d } = Za(e), { roundedClasses: v } = mt(e), { rtlClasses: m } = gt(), y = O(() => e.dirty || e.active), f = O(() => !!(e.label || l.label)), b = O(() => !e.singleLine && f.value), g = bt(), h = x(() => e.id || `input-${g}`), p = O(() => e.details ? `${h.value}-messages` : void 0), w = ne(), P = ne(), _ = ne(), I = x(() => ["plain", "underlined"].includes(e.variant)), k = x(() => e.error || e.disabled ? void 0 : y.value && s.value ? e.color : e.baseColor), E = x(() => { if (!(!e.iconColor || e.glow && !s.value)) return e.iconColor === !0 ? k.value : e.iconColor; }), { backgroundColorClasses: T, backgroundColorStyles: M } = nt(() => e.bgColor), { textColorClasses: N, textColorStyles: B } = yt(k); le(y, (G) => { if (b.value && !yn()) { const K = w.value.$el, z = P.value.$el; requestAnimationFrame(() => { const te = _r(K), W = z.getBoundingClientRect(), Q = W.x - te.x, R = W.y - te.y - (te.height / 2 - W.height / 2), A = W.width / 0.75, V = Math.abs(A - te.width) > 1 ? { maxWidth: X(A) } : void 0, F = getComputedStyle(K), U = getComputedStyle(z), D = parseFloat(F.transitionDuration) * 1e3 || 150, J = parseFloat(U.getPropertyValue("--v-field-label-scale")), ce = U.getPropertyValue("color"); K.style.visibility = "visible", z.style.visibility = "hidden", Tt(K, { transform: `translate(${Q}px, ${R}px) scale(${J})`, color: ce, ...V }, { duration: D, easing: Aa, direction: G ? "normal" : "reverse" }).finished.then(() => { K.style.removeProperty("visibility"), z.style.removeProperty("visibility"); }); }); } }, { flush: "post" }); const $ = x(() => ({ isActive: y, isFocused: s, controlRef: _, iconColor: E, blur: c, focus: u })); function j(G) { G.target !== document.activeElement && G.preventDefault(); } return re(() => { var Q; const G = e.variant === "outlined", K = !!(l["prepend-inner"] || e.prependInnerIcon), z = !!(e.clearable || l.clear) && !e.disabled, te = !!(l["append-inner"] || e.appendInnerIcon || z), W = () => l.label ? l.label({ ...$.value, label: e.label, props: { for: h.value } }) : e.label; return C("div", Y({ class: ["v-field", { "v-field--active": y.value, "v-field--appended": te, "v-field--center-affix": e.centerAffix ?? !I.value, "v-field--disabled": e.disabled, "v-field--dirty": e.dirty, "v-field--error": e.error, "v-field--glow": e.glow, "v-field--flat": e.flat, "v-field--has-background": !!e.bgColor, "v-field--persistent-clear": e.persistentClear, "v-field--prepended": K, "v-field--reverse": e.reverse, "v-field--single-line": e.singleLine, "v-field--no-label": !W(), [`v-field--variant-${e.variant}`]: !0 }, r.value, T.value, o.value, i.value, v.value, m.value, e.class], style: [M.value, e.style], onClick: j }, n), [C("div", { class: "v-field__overlay" }, null), S(xu, { name: "v-field", active: !!e.loading, color: e.error ? "error" : typeof e.loading == "string" ? e.loading : e.color }, { default: l.loader }), K && C("div", { key: "prepend", class: "v-field__prepend-inner" }, [l["prepend-inner"] ? l["prepend-inner"]($.value) : e.prependInnerIcon && S(d, { key: "prepend-icon", name: "prependInner", color: E.value }, null)]), C("div", { class: "v-field__field", "data-no-activator": "" }, [["filled", "solo", "solo-inverted", "solo-filled"].includes(e.variant) && b.value && S(ua, { key: "floating-label", ref: P, class: ee([N.value]), floating: !0, for: h.value, "aria-hidden": !y.value, style: ge(B.value) }, { default: () => [W()] }), f.value && S(ua, { key: "label", ref: w, id: e.labelId, for: h.value, "aria-hidden": b.value && y.value }, { default: () => [W()] }), ((Q = l.default) == null ? void 0 : Q.call(l, { ...$.value, props: { id: h.value, class: "v-field__input", "aria-describedby": p.value }, focus: u, blur: c })) ?? C("div", { id: h.value, class: "v-field__input", "aria-describedby": p.value }, null)]), z && S(tc, { key: "clear" }, { default: () => [ze(C("div", { class: "v-field__clearable", onMousedown: (R) => { R.preventDefault(), R.stopPropagation(); } }, [S(De, { defaults: { VIcon: { icon: e.clearIcon } } }, { default: () => [l.clear ? l.clear({ ...$.value, props: { onFocus: u, onBlur: c, onClick: e["onClick:clear"], tabindex: -1 } }) : S(d, { name: "clear", onFocus: u, onBlur: c, tabindex: -1 }, null)] })]), [[ln, e.dirty]])] }), te && C("div", { key: "append", class: "v-field__append-inner" }, [l["append-inner"] ? l["append-inner"]($.value) : e.appendInnerIcon && S(d, { key: "append-icon", name: "appendInner", color: E.value }, null)]), C("div", { class: ee(["v-field__outline", N.value]), style: ge(B.value) }, [G && C(ue, null, [C("div", { class: "v-field__outline__start" }, null), b.value && C("div", { class: "v-field__outline__notch" }, [S(ua, { ref: P, floating: !0, for: h.value, "aria-hidden": !y.value }, { default: () => [W()] })]), C("div", { class: "v-field__outline__end" }, null)]), I.value && b.value && S(ua, { ref: P, floating: !0, for: h.value, "aria-hidden": !y.value }, { default: () => [W()] })])]); }), { controlRef: _, fieldIconColor: E }; } }), nb = L({ active: Boolean, color: String, messages: { type: [Array, String], default: () => [] }, ...he(), ...An({ transition: { component: ec, leaveAbsolute: !0, group: !0 } }) }, "VMessages"), ab = q()({ name: "VMessages", props: nb(), setup(e, t) { let { slots: n } = t; const a = x(() => Pe(e.messages)), { textColorClasses: l, textColorStyles: r } = yt(() => e.color); return re(() => S(ft, { transition: e.transition, tag: "div", class: ee(["v-messages", l.value, e.class]), style: ge([r.value, e.style]) }, { default: () => [e.active && a.value.map((i, o) => C("div", { class: "v-messages__message", key: `${o}-${a.value}` }, [n.message ? n.message({ message: i }) : i]))] })), {}; } }), lb = Symbol.for("vuetify:form"); function Yr(e) { const t = xe(lb, null); return { ...t, isReadonly: x(() => !!((e == null ? void 0 : e.readonly) ?? (t == null ? void 0 : t.isReadonly.value))), isDisabled: x(() => !!((e == null ? void 0 : e.disabled) ?? (t == null ? void 0 : t.isDisabled.value))) }; } const rb = Symbol.for("vuetify:rules"); function ib(e) { const t = xe(rb, null); if (!e) { if (!t) throw new Error("Could not find Vuetify rules injection"); return t.aliases; } return (t == null ? void 0 : t.resolve(e)) ?? O(e); } const ob = L({ disabled: { type: Boolean, default: null }, error: Boolean, errorMessages: { type: [Array, String], default: () => [] }, maxErrors: { type: [Number, String], default: 1 }, name: String, label: String, readonly: { type: Boolean, default: null }, rules: { type: Array, default: () => [] }, modelValue: null, validateOn: String, validationValue: null, ...Ur() }, "validation"); function sb(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : pt(), n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : bt(); const a = me(e, "modelValue"), l = x(() => e.validationValue === void 0 ? a.value : e.validationValue), r = Yr(e), i = ib(() => e.rules), o = ne([]), s = Z(!0), u = x(() => !!(Pe(a.value === "" ? null : a.value).length || Pe(l.value === "" ? null : l.value).length)), c = x(() => { var w; return (w = e.errorMessages) != null && w.length ? Pe(e.errorMessages).concat(o.value).slice(0, Math.max(0, Number(e.maxErrors))) : o.value; }), d = x(() => { var _; let w = (e.validateOn ?? ((_ = r.validateOn) == null ? void 0 : _.value)) || "input"; w === "lazy" && (w = "input lazy"), w === "eager" && (w = "input eager"); const P = new Set((w == null ? void 0 : w.split(" ")) ?? []); return { input: P.has("input"), blur: P.has("blur") || P.has("input") || P.has("invalid-input"), invalidInput: P.has("invalid-input"), lazy: P.has("lazy"), eager: P.has("eager") }; }), v = x(() => { var w; return e.error || (w = e.errorMessages) != null && w.length ? !1 : e.rules.length ? s.value ? o.value.length || d.value.lazy ? null : !0 : !o.value.length : !0; }), m = Z(!1), y = x(() => ({ [`${t}--error`]: v.value === !1, [`${t}--dirty`]: u.value, [`${t}--disabled`]: r.isDisabled.value, [`${t}--readonly`]: r.isReadonly.value })), f = Ve("validation"), b = x(() => e.name ?? ot(n)); ja(() => { var w; (w = r.register) == null || w.call(r, { id: b.value, vm: f, validate: p, reset: g, resetValidation: h }); }), _t(() => { var w; (w = r.unregister) == null || w.call(r, b.value); }), kn(async () => { var w; d.value.lazy || await p(!d.value.eager), (w = r.update) == null || w.call(r, b.value, v.value, c.value); }), zt(() => d.value.input || d.value.invalidInput && v.value === !1, () => { le(l, () => { if (l.value != null) p(); else if (e.focused) { const w = le(() => e.focused, (P) => { P || p(), w(); }); } }); }), zt(() => d.value.blur, () => { le(() => e.focused, (w) => { w || p(); }); }), le([v, c], () => { var w; (w = r.update) == null || w.call(r, b.value, v.value, c.value); }); async function g() { a.value = null, await Ae(), await h(); } async function h() { s.value = !0, d.value.lazy ? o.value = [] : await p(!d.value.eager); } async function p() { let w = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1; const P = []; m.value = !0; for (const _ of i.value) { if (P.length >= Number(e.maxErrors ?? 1)) break; const k = await (typeof _ == "function" ? _ : () => _)(l.value); if (k !== !0) { if (k !== !1 && typeof k != "string") { console.warn(`${k} is not a valid value. Rule functions must return boolean true or a string.`); continue; } P.push(k || ""); } } return o.value = P, m.value = !1, s.value = w, o.value; } return { errorMessages: c, isDirty: u, isDisabled: r.isDisabled, isReadonly: r.isReadonly, isPristine: s, isValid: v, isValidating: m, reset: g, resetValidation: h, validate: p, validationClasses: y }; } const mc = L({ id: String, appendIcon: se, baseColor: String, centerAffix: { type: Boolean, default: !0 }, color: String, glow: Boolean, iconColor: [Boolean, String], prependIcon: se, hideDetails: [Boolean, String], hideSpinButtons: Boolean, hint: String, persistentHint: Boolean, messages: { type: [Array, String], default: () => [] }, direction: { type: String, default: "horizontal", validator: (e) => ["horizontal", "vertical"].includes(e) }, "onClick:prepend": $e(), "onClick:append": $e(), ...he(), ...lt(), ...$t(St(), ["maxWidth", "minWidth", "width"]), ...Ne(), ...ob() }, "VInput"), Ro = q()({ name: "VInput", props: { ...mc() }, emits: { "update:modelValue": (e) => !0 }, setup(e, t) { let { attrs: n, slots: a, emit: l } = t; const { densityClasses: r } = Et(e), { dimensionStyles: i } = wt(e), { themeClasses: o } = Xe(e), { rtlClasses: s } = gt(), { InputIcon: u } = Za(e), c = bt(), d = x(() => e.id || `input-${c}`), { errorMessages: v, isDirty: m, isDisabled: y, isReadonly: f, isPristine: b, isValid: g, isValidating: h, reset: p, resetValidation: w, validate: P, validationClasses: _ } = sb(e, "v-input", d), I = x(() => { var $; return ($ = e.errorMessages) != null && $.length || !b.value && v.value.length ? v.value : e.hint && (e.persistentHint || e.focused) ? e.hint : e.messages; }), k = O(() => I.value.length > 0), E = O(() => !e.hideDetails || e.hideDetails === "auto" && (k.value || !!a.details)), T = x(() => E.value ? `${d.value}-messages` : void 0), M = x(() => ({ id: d, messagesId: T, isDirty: m, isDisabled: y, isReadonly: f, isPristine: b, isValid: g, isValidating: h, hasDetails: E, reset: p, resetValidation: w, validate: P })), N = O(() => e.error || e.disabled ? void 0 : e.focused ? e.color : e.baseColor), B = O(() => { if (e.iconColor) return e.iconColor === !0 ? N.value : e.iconColor; }); return re(() => { var G, K; const $ = !!(a.prepend || e.prependIcon), j = !!(a.append || e.appendIcon); return C("div", { class: ee(["v-input", `v-input--${e.direction}`, { "v-input--center-affix": e.centerAffix, "v-input--focused": e.focused, "v-input--glow": e.glow, "v-input--hide-spin-buttons": e.hideSpinButtons }, r.value, o.value, s.value, _.value, e.class]), style: ge([i.value, e.style]) }, [$ && C("div", { key: "prepend", class: "v-input__prepend" }, [a.prepend ? a.prepend(M.value) : e.prependIcon && S(u, { key: "prepend-icon", name: "prepend", color: B.value }, null)]), a.default && C("div", { class: "v-input__control" }, [(G = a.default) == null ? void 0 : G.call(a, M.value)]), j && C("div", { key: "append", class: "v-input__append" }, [a.append ? a.append(M.value) : e.appendIcon && S(u, { key: "append-icon", name: "append", color: B.value }, null)]), E.value && C("div", { id: T.value, class: "v-input__details", role: "alert", "aria-live": "polite" }, [S(ab, { active: k.value, messages: I.value }, { message: a.message }), (K = a.details) == null ? void 0 : K.call(a, M.value)])]); }), { reset: p, resetValidation: w, validate: P, isValid: g, errorMessages: v }; } }), ub = L({ autocomplete: String }, "autocomplete"); function gc(e) { const t = bt(), n = Z(0), a = O(() => e.autocomplete === "suppress"), l = O(() => { if (e.name) return a.value ? `${e.name}-${t}-${n.value}` : e.name; }), r = O(() => a.value ? "off" : e.autocomplete); return { isSuppressing: a, fieldAutocomplete: r, fieldName: l, update: () => n.value = (/* @__PURE__ */ new Date()).getTime() }; } function cb(e) { function t(n, a) { if (!e.autofocus || !n) return; const l = a[0].target, r = l.matches("input,textarea") ? l : l.querySelector("input,textarea"); r == null || r.focus(); } return { onIntersect: t }; } const db = ["color", "file", "time", "date", "datetime-local", "week", "month"], el = L({ autofocus: Boolean, counter: [Boolean, Number, String], counterValue: [Number, Function], prefix: String, placeholder: String, persistentPlaceholder: Boolean, persistentCounter: Boolean, suffix: String, role: String, type: { type: String, default: "text" }, modelModifiers: Object, ...ub(), ...mc(), ...vc() }, "VTextField"), an = q()({ name: "VTextField", directives: { vIntersect: pn }, inheritAttrs: !1, props: el(), emits: { "click:control": (e) => !0, "mousedown:control": (e) => !0, "update:focused": (e) => !0, "update:modelValue": (e) => !0 }, setup(e, t) { let { attrs: n, emit: a, slots: l } = t; const r = me(e, "modelValue"), { isFocused: i, focus: o, blur: s } = fc(e), { onIntersect: u } = cb(e), c = x(() => typeof e.counterValue == "function" ? e.counterValue(r.value) : typeof e.counterValue == "number" ? e.counterValue : (r.value ?? "").toString().length), d = x(() => { if (n.maxlength) return n.maxlength; if (!(!e.counter || typeof e.counter != "number" && typeof e.counter != "string")) return e.counter; }), v = x(() => ["plain", "underlined"].includes(e.variant)), m = ne(), y = ne(), f = ne(), b = gc(e), g = x(() => db.includes(e.type) || e.persistentPlaceholder || i.value || e.active); function h() { b.isSuppressing.value && b.update(), i.value || o(), Ae(() => { var I; f.value !== document.activeElement && ((I = f.value) == null || I.focus()); }); } function p(I) { a("mousedown:control", I), I.target !== f.value && (h(), I.preventDefault()); } function w(I) { a("click:control", I); } function P(I, k) { I.stopPropagation(), h(), Ae(() => { k(), Ar(e["onClick:clear"], I); }); } function _(I) { var N; const k = I.target; if (!((N = e.modelModifiers) != null && N.trim && ["text", "search", "password", "tel", "url"].includes(e.type))) { r.value = k.value; return; } const E = k.value, T = k.selectionStart, M = k.selectionEnd; r.value = E, Ae(() => { let B = 0; E.trimStart().length === k.value.length && (B = E.length - k.value.length), T != null && (k.selectionStart = T - B), M != null && (k.selectionEnd = M - B); }); } return re(() => { const I = !!(l.counter || e.counter !== !1 && e.counter != null), k = !!(I || l.details), [E, T] = iu(n), { modelValue: M, ...N } = Ro.filterProps(e), B = Bo.filterProps(e); return S(Ro, Y({ ref: m, modelValue: r.value, "onUpdate:modelValue": ($) => r.value = $, class: ["v-text-field", { "v-text-field--prefixed": e.prefix, "v-text-field--suffixed": e.suffix, "v-input--plain-underlined": v.value }, e.class], style: e.style }, E, N, { centerAffix: !v.value, focused: i.value }), { ...l, default: ($) => { let { id: j, isDisabled: G, isDirty: K, isReadonly: z, isValid: te, hasDetails: W, reset: Q } = $; return S(Bo, Y({ ref: y, onMousedown: p, onClick: w, "onClick:clear": (R) => P(R, Q), role: e.role }, _e(B, ["onClick:clear"]), { id: j.value, labelId: `${j.value}-label`, active: g.value || K.value, dirty: K.value || e.dirty, disabled: G.value, focused: i.value, details: W.value, error: te.value === !1 }), { ...l, default: (R) => { let { props: { class: A, ...V }, controlRef: F } = R; const U = C("input", Y({ ref: (D) => f.value = F.value = D, value: r.value, onInput: _, autofocus: e.autofocus, readonly: z.value, disabled: G.value, name: b.fieldName.value, autocomplete: b.fieldAutocomplete.value, placeholder: e.placeholder, size: 1, role: e.role, type: e.type, onFocus: o, onBlur: s, "aria-labelledby": `${j.value}-label` }, V, T), null); return C(ue, null, [e.prefix && C("span", { class: "v-text-field__prefix" }, [C("span", { class: "v-text-field__prefix__text" }, [e.prefix])]), ze(l.default ? C("div", { class: ee(A), "data-no-activator": "" }, [l.default({ id: j }), U]) : Bd(U, { class: A }), [[pn, u, null, { once: !0 }]]), e.suffix && C("span", { class: "v-text-field__suffix" }, [C("span", { class: "v-text-field__suffix__text" }, [e.suffix])])]); } }); }, details: k ? ($) => { var j; return C(ue, null, [(j = l.details) == null ? void 0 : j.call(l, $), I && C(ue, null, [C("span", null, null), S(Qy, { active: e.persistentCounter || i.value, value: c.value, max: d.value, disabled: e.disabled }, l.counter)])]); } : void 0 }); }), _n({}, m, y, f); } }); class Ft { constructor(t, n) { this.order = t, this.separator = n; } get format() { return this.order.split("").map((t) => `${t}${t}`).join(this.separator).replace("yy", "yyyy"); } static canBeParsed(t) { if (typeof t != "string") return !1; const n = t.toLowerCase(); return ["y", "m", "d"].every((a) => n.includes(a)) && ["/", "-", "."].some((a) => t.includes(a)); } static parse(t) { if (!Ft.canBeParsed(t)) throw new Error(`[${t}] cannot be parsed into date format specification`); const n = t.toLowerCase().split("").filter((l, r, i) => "dmy".includes(l) && i.indexOf(l) === r).join(""), a = ["/", "-", "."].find((l) => t.includes(l)); return new Ft(n, a); } } const fb = L({ inputFormat: { type: String, validator: (e) => !e || Ft.canBeParsed(e) } }, "date-format"); function vb(e, t) { const n = Yt(); function a() { const s = t.value ?? "en-US", u = Intl.DateTimeFormat(s, { year: "numeric", month: "2-digit", day: "2-digit" }).format(n.toJsDate(n.parseISO("1999-12-07"))).replace(/(07)|(٠٧)|(٢٩)|(۱۶)|(০৭)/, "dd").replace(/(12)|(١٢)|(٠٨)|(۰۹)|(১২)/, "mm").replace(/(1999)|(2542)|(١٩٩٩)|(١٤٢٠)|(۱۳۷۸)|(১৯৯৯)/, "yyyy").replace(/[^ymd\-/.]/g, "").replace(/\.$/, ""); return Ft.canBeParsed(u) ? u : (Nt(`Date format inferred from locale [${s}] is invalid: [${u}]`), "mm/dd/yyyy"); } const l = O(() => Ft.canBeParsed(e.inputFormat) ? Ft.parse(e.inputFormat) : Ft.parse(a())); function r(s) { function u(h) { const p = h.trim().split(l.value.separator); return { y: Number(p[l.value.order.indexOf("y")]), m: Number(p[l.value.order.indexOf("m")]), d: Number(p[l.value.order.indexOf("d")]) }; } function c(h) { const { y: p, m: w, d: P } = h; return !p || !w || !P || w < 1 || w > 12 || P < 1 || P > 31 ? null : { year: d(p), month: w, day: P }; } function d(h) { const p = n.getYear(n.date()); if (h > 100 || p % 100 >= 50) return h; const w = ~~(p / 100) * 100; return h < 50 ? w + h : w - 100 + h; } const v = u(s), m = c(v); if (!m) return null; const { year: y, month: f, day: b } = m, g = (h) => String(h).padStart(2, "0"); return n.parseISO(`${y}-${g(f)}-${g(b)}`); } function i(s) { return !!r(s); } function o(s) { const u = n.toISO(s).split("T")[0].split("-"); return l.value.order.split("").map((c) => u["ymd".indexOf(c)]).join(l.value.separator); } return { isValid: i, parseDate: r, formatDate: o, parserFormat: O(() => l.value.format) }; } const mb = L({ displayFormat: { type: [Function, String], default: void 0 }, location: { type: String, default: "bottom start" }, menu: Boolean, updateOn: { type: Array, default: () => ["blur", "enter"] }, pickerProps: Object, ...fb(), ...ea({ mobile: null }), ...Ur(), ...Fu({ hideActions: !0 }), ...el({ prependIcon: "$calendar" }), ..._e(lc({ hideHeader: !0, showAdjacentMonths: !0 }), ["location", "rounded", "height", "minHeight", "maxHeight"]) }, "VDateInput"), gb = q()({ name: "VDateInput", props: mb(), emits: { save: (e) => !0, cancel: () => !0, "update:focused": (e) => !0, "update:modelValue": (e) => !0, "update:menu": (e) => !0 }, setup(e, t) { let { emit: n, slots: a } = t; const { t: l, current: r } = Je(), i = Yt(), { isValid: o, parseDate: s, formatDate: u, parserFormat: c } = vb(e, r), { mobile: d } = Ut(e), { InputIcon: v } = Za(e), { clampDate: m, isInAllowedRange: y } = jr(e), f = () => e.multiple ? [] : null, b = me(e, "modelValue", f(), (z) => Array.isArray(z) ? z.map((te) => i.toJsDate(te)) : z && i.toJsDate(z), (z) => Array.isArray(z) ? z.map((te) => i.date(te)) : z && i.date(z)), g = me(e, "menu"), h = Z(!1), p = Z(e.focused), w = ne(), P = ne(["save"]); function _(z) { return typeof e.displayFormat == "function" ? e.displayFormat(z) : e.displayFormat ? i.format(z, e.displayFormat ?? "keyboardDate") : u(z); } const I = x(() => { const z = Pe(b.value); if (!z.length) return null; if (e.multiple === !0) return l("$vuetify.datePicker.itemsSelected", z.length); if (e.multiple === "range") { const te = z[0], W = z[z.length - 1]; return !i.isValid(te) || !i.isValid(W) ? "" : `${_(i.date(te))} - ${_(i.date(W))}`; } return i.isValid(b.value) ? _(i.date(b.value)) : ""; }), k = x(() => { if (d.value) return h.value ? "text" : "none"; }), E = x(() => !e.disabled && !e.readonly), T = x(() => e.updateOn.length ? !(d.value && h.value) && e.readonly : !0); le(g, (z) => { z || (h.value = !1, P.value = ["save"]); }); function M(z) { z.key === "Enter" && ((!g.value || !p.value) && (g.value = !0), e.updateOn.includes("enter") && !e.readonly && K(z.target)); } function N(z) { z.preventDefault(), z.stopPropagation(), g.value && d.value ? h.value = !0 : g.value = !0; } function B() { n("cancel"), g.value = !1, h.value = !1; } function $(z) { n("save", z), g.value = !1; } function j(z) { z == null && (b.value = f()); } function G(z) { e.updateOn.includes("blur") && !e.readonly && K(z.target), d.value && h.value && !p.value && (g.value = !1, h.value = !1); } function K(z) { let { value: te } = z; if (!te.trim()) b.value = f(); else if (!e.multiple) o(te) && (b.value = m(s(te))); else { const W = te.trim().split(/\D+-\D+|[^\d\-/.]+/); if (W.every(o)) if (e.multiple === "range") { const [Q, R] = W.map(s).map(m).toSorted((A, V) => i.isAfter(A, V) ? 1 : -1); b.value = Uu(i, Q, R); } else b.value = W.map(s).filter(y); } } return re(() => { const z = !!(e.prependIcon || a.prepend), te = ho.filterProps(e), W = { ...Vo.filterProps(_e(e, ["active", "bgColor", "color", "location", "rounded", "maxWidth", "minWidth", "width"])), ...e.pickerProps }, Q = $t(a, ["title", "header", "day", "month", "year"]), R = an.filterProps(_e(e, ["placeholder"])); return S(an, Y({ ref: w }, R, { class: ["v-date-input", e.class], style: e.style, modelValue: I.value, inputmode: k.value, placeholder: e.placeholder ?? c.value, readonly: T.value, onKeydown: E.value ? M : void 0, focused: g.value || p.value, onBlur: G, validationValue: b.value, "onClick:control": E.value ? N : void 0, "onUpdate:modelValue": j, "onUpdate:focused": (A) => p.value = A }), { ...a, default: () => { var A; return C(ue, null, [S(cc, { modelValue: g.value, "onUpdate:modelValue": (V) => g.value = V, activator: "parent", minWidth: "0", eager: p.value, location: e.location, closeOnContentClick: !1, openOnClick: !1 }, { default: () => [S(ho, Y(te, { modelValue: b.value, "onUpdate:modelValue": (V) => b.value = V, disabled: P.value, onSave: $, onCancel: B }), { default: (V) => { let { actions: F, model: U, save: D, cancel: J, isPristine: ce } = V; function fe(ie) { e.hideActions ? (b.value = ie, e.multiple || (g.value = !1)) : U.value = ie, n("save", ie), P.value = []; } return S(Vo, Y(W, { modelValue: e.hideActions ? b.value : U.value, "onUpdate:modelValue": (ie) => fe(ie), onMousedown: (ie) => ie.preventDefault() }), { ...Q, actions: e.hideActions ? void 0 : () => { var ie; return ((ie = a.actions) == null ? void 0 : ie.call(a, { save: D, cancel: J, isPristine: ce })) ?? F(); } }); } })] }), (A = a.default) == null ? void 0 : A.call(a)]); }, prepend: z ? (A) => a.prepend ? a.prepend(A) : e.prependIcon && S(v, { key: "prepend-icon", name: "prepend", tabindex: e["onClick:prepend"] ? void 0 : -1, onClick: E.value ? N : void 0 }, null) : void 0 }); }), _n({}, w); } }); function hb(e, t, n, a, l, r) { const i = Ze("FontAwesomeIcon"); return oe(), Fe(gb, { "prepend-icon": "", onSave: t[0] || (t[0] = (o) => r.filterDate(o)), "v-model": l.data, "model-value": l.filter }, Cl({ _: 2 }, [ l.calendar ? { name: "prepend-inner", fn: Te(() => [ S(i, { icon: l.calendar }, null, 8, ["icon"]) ]), key: "0" } : void 0 ]), 1032, ["v-model", "model-value"]); } const hc = /* @__PURE__ */ Ot(Bg, [["render", hb]]), yb = { components: { FontAwesomeIcon: Cn }, props: { showFilters: { type: Boolean, required: !0 } }, data() { return { showFilters: this.showFilters, faSearch: Zs, reload: eu }; }, methods: { search() { this.$emit("search"); }, refresh() { this.$emit("refresh"); } } }, bb = L({ id: String, interactive: Boolean, text: String, ..._e(Hr({ closeOnBack: !1, location: "end", locationStrategy: "connected", eager: !0, minWidth: 0, offset: 10, openOnClick: !1, openOnHover: !0, origin: "auto", scrim: !1, scrollStrategy: "reposition", transition: null }), ["absolute", "retainFocus", "captureFocus", "disableInitialFocus"]) }, "VTooltip"), pb = q()({ name: "VTooltip", props: bb(), emits: { "update:modelValue": (e) => !0 }, setup(e, t) { let { slots: n } = t; const a = me(e, "modelValue"), { scopeId: l } = Wr(), r = bt(), i = O(() => e.id || `v-tooltip-${r}`), o = ne(), s = x(() => e.location.split(" ").length > 1 ? e.location : e.location + " center"), u = x(() => e.origin === "auto" || e.origin === "overlap" || e.origin.split(" ").length > 1 || e.location.split(" ").length > 1 ? e.origin : e.origin + " center"), c = O(() => e.transition != null ? e.transition : a.value ? "scale-transition" : "fade-transition"), d = x(() => Y({ "aria-describedby": i.value }, e.activatorProps)); return re(() => { const v = Ta.filterProps(e); return S(Ta, Y({ ref: o, class: ["v-tooltip", { "v-tooltip--interactive": e.interactive }, e.class], style: e.style, id: i.value }, v, { modelValue: a.value, "onUpdate:modelValue": (m) => a.value = m, transition: c.value, absolute: !0, location: s.value, origin: u.value, role: "tooltip", activatorProps: d.value, _disableGlobalStack: !0 }, l), { activator: n.activator, default: function() { var b; for (var m = arguments.length, y = new Array(m), f = 0; f < m; f++) y[f] = arguments[f]; return ((b = n.default) == null ? void 0 : b.call(n, ...y)) ?? e.text; } }); }), _n({}, o); } }); function Sb(e, t) { const n = typeof e == "string" ? Ze(e) : e, a = wb(n, t); return { mounted: a, updated: a, unmounted(l) { Ko(null, l); } }; } function wb(e, t) { return function(n, a, l) { var d, v, m; const r = typeof t == "function" ? t(a) : t, i = ((d = a.value) == null ? void 0 : d.text) ?? a.value ?? (r == null ? void 0 : r.text), o = bn(a.value) ? a.value : {}, s = () => i ?? n.textContent, u = (l.ctx === a.instance.$ ? (v = kb(l, a.instance.$)) == null ? void 0 : v.provides : (m = l.ctx) == null ? void 0 : m.provides) ?? a.instance.$.provides, c = At(e, Y(r, o), s); c.appContext = Object.assign(/* @__PURE__ */ Object.create(null), a.instance.$.appContext, { provides: u }), Ko(c, n); }; } function kb(e, t) { const n = /* @__PURE__ */ new Set(), a = (r) => { var i, o; for (const s of r) { if (!s) continue; if (s === e || s.el && e.el && s.el === e.el) return !0; n.add(s); let u; if (s.suspense ? u = a([s.ssContent]) : Array.isArray(s.children) ? u = a(s.children) : (i = s.component) != null && i.vnode && (u = a([(o = s.component) == null ? void 0 : o.subTree])), u) return u; n.delete(s); } return !1; }; if (!a([t.subTree])) return Jn("Could not find original vnode, component will not inherit provides"), t; const l = Array.from(n).reverse(); for (const r of l) if (r.component) return r.component; return t; } const Fa = Sb(pb, (e) => { var n; return { activator: (bn(e.value) ? !e.value.text : ["", !1, null].includes(e.value)) ? null : "parent", location: (n = e.arg) == null ? void 0 : n.replace("-", " "), text: typeof e.value == "boolean" ? void 0 : e.value }; }); function xb(e, t, n, a, l, r) { const i = Ze("FontAwesomeIcon"); return oe(), Se(ue, null, [ l.showFilters ? ze((oe(), Fe(be, { key: 0, onClick: t[0] || (t[0] = (o) => r.search()), style: { "margin-right": "10px" }, color: "#1697f6" }, { default: Te(() => [ S(i, { icon: l.faSearch }, null, 8, ["icon"]) ]), _: 1 })), [ [Fa, "Search"] ]) : He("", !0), l.showFilters ? ze((oe(), Fe(be, { key: 1, onClick: t[1] || (t[1] = (o) => r.refresh()), style: { "margin-right": "10px" }, color: "#1697f6" }, { default: Te(() => [ S(i, { icon: l.reload }, null, 8, ["icon"]) ]), _: 1 })), [ [Fa, "Refresh"] ]) : He("", !0) ], 64); } const Cb = /* @__PURE__ */ Ot(yb, [["render", xb]]), Pb = { props: { data: { type: Object, required: !0 }, filter: { type: Object, required: !0 }, prop: { type: String, required: !0 } }, data() { return { data: this.data, filter: this.filter, prop: this.prop }; }, methods: { filterValue(e) { this.data[this.prop] = e.target.value, this.$emit("filterValue", e); } } }; function Ib(e, t, n, a, l, r) { return oe(), Fe(an, { onBlur: t[0] || (t[0] = (i) => r.filterValue(i)), "v-model": l.data, "model-value": l.filter }, null, 8, ["v-model", "model-value"]); } const yc = /* @__PURE__ */ Ot(Pb, [["render", Ib]]), Ab = { props: { data: { type: Object, required: !0 }, filter: { type: Number, required: !0 }, prop: { type: String, required: !0 } }, data() { return console.log(this.filter), { data: this.data, filter: this.filter, prop: this.prop }; }, methods: { filterValue(e, t) { this.data[this.prop] = e.target.value, this.$emit("filterValue", e, t); } } }, _b = ["dotted", "dashed", "solid", "double"], Vb = L({ color: String, contentOffset: [Number, String, Array], gradient: Boolean, inset: Boolean, length: [Number, String], opacity: [Number, String], thickness: [Number, String], vertical: Boolean, variant: { type: String, default: "solid", validator: (e) => _b.includes(e) }, ...he(), ...Ne() }, "VDivider"), Dt = q()({ name: "VDivider", props: Vb(), setup(e, t) { let { attrs: n, slots: a } = t; const { themeClasses: l } = Xe(e), { textColorClasses: r, textColorStyles: i } = yt(() => e.color), o = x(() => { const u = {}; return e.length && (u[e.vertical ? "height" : "width"] = X(e.length)), e.thickness && (u[e.vertical ? "borderRightWidth" : "borderTopWidth"] = X(e.thickness)), u; }), s = O(() => { const u = Array.isArray(e.contentOffset) ? e.contentOffset[0] : e.contentOffset, c = Array.isArray(e.contentOffset) ? e.contentOffset[1] : 0; return { marginBlock: e.vertical && u ? X(u) : void 0, marginInline: !e.vertical && u ? X(u) : void 0, transform: c ? `translate${e.vertical ? "X" : "Y"}(${X(c)})` : void 0 }; }); return re(() => { const u = C("hr", { class: ee([{ "v-divider": !0, "v-divider--gradient": e.gradient && !a.default, "v-divider--inset": e.inset, "v-divider--vertical": e.vertical }, l.value, r.value, e.class]), style: ge([o.value, i.value, { "--v-border-opacity": e.opacity }, { "border-style": e.variant }, e.style]), "aria-orientation": !n.role || n.role === "separator" ? e.vertical ? "vertical" : "horizontal" : void 0, role: `${n.role || "separator"}` }, null); return a.default ? C("div", { class: ee(["v-divider__wrapper", { "v-divider__wrapper--gradient": e.gradient, "v-divider__wrapper--inset": e.inset, "v-divider__wrapper--vertical": e.vertical }]) }, [u, C("div", { class: "v-divider__content", style: ge(s.value) }, [a.default()]), u]) : u; }), {}; } }), Ob = 50, Eb = 500; function Tb(e) { let { toggleUpDown: t } = e, n = -1, a = -1; je(r); function l(o) { r(), i(o), window.addEventListener("pointerup", r), document.addEventListener("blur", r), n = window.setTimeout(() => { a = window.setInterval(() => i(o), Ob); }, Eb); } function r() { window.clearTimeout(n), window.clearInterval(a), window.removeEventListener("pointerup", r), document.removeEventListener("blur", r); } je(r); function i(o) { t(o === "up"); } return { holdStart: l, holdStop: r }; } const Fb = L({ controlVariant: { type: String, default: "default" }, inset: Boolean, hideInput: Boolean, modelValue: { type: Number, default: null }, min: { type: Number, default: Number.MIN_SAFE_INTEGER }, max: { type: Number, default: Number.MAX_SAFE_INTEGER }, step: { type: Number, default: 1 }, precision: { type: Number, default: 0 }, minFractionDigits: { type: Number, default: null }, decimalSeparator: { type: String, validator: (e) => !e || e.length === 1 }, ..._e(el(), ["modelValue", "validationValue"]) }, "VNumberInput"), Db = q()({ name: "VNumberInput", props: { ...Fb() }, emits: { "update:focused": (e) => !0, "update:modelValue": (e) => !0 }, setup(e, t) { let { slots: n } = t; const a = ne(), { holdStart: l, holdStop: r } = Tb({ toggleUpDown: M }), i = Yr(e), o = x(() => i.isDisabled.value || i.isReadonly.value), s = Z(e.focused), { decimalSeparator: u } = Je(), c = x(() => { var A; return ((A = e.decimalSeparator) == null ? void 0 : A[0]) || u.value; }); function d(A) { let V = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.precision, F = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0; const U = V == null ? String(A) : A.toFixed(V); if (s.value && F) return Number(U).toString().replace(".", c.value); if (e.minFractionDigits === null || V !== null && V < e.minFractionDigits) return U.replace(".", c.value); let [D, J] = U.split("."); return J = (J ?? "").padEnd(e.minFractionDigits, "0").replace(new RegExp(`(?<=\\d{${e.minFractionDigits}})0+$`, "g"), ""), [D, J].filter(Boolean).join(c.value); } const v = me(e, "modelValue", null, (A) => A ?? null, (A) => A == null ? A ?? null : Re(Number(A), e.min, e.max)), m = Z(null), y = Z(null); le(v, (A) => { var V; s.value && !o.value && Number((V = m.value) == null ? void 0 : V.replace(c.value, ".")) === A || (A == null ? (m.value = null, y.value = null) : isNaN(A) || (m.value = d(A), y.value = Number(m.value.replace(c.value, ".")))); }, { immediate: !0 }); const f = x({ get: () => m.value, set(A) { if (A === null || A === "") { v.value = null, m.value = null, y.value = null; return; } const V = Number(A.replace(c.value, ".")); isNaN(V) || (m.value = A, y.value = V, V <= e.max && V >= e.min && (v.value = V)); } }), b = x(() => { var V; if (y.value === null) return !1; const A = Number((V = m.value) == null ? void 0 : V.replace(c.value, ".")); return A !== Re(A, e.min, e.max); }), g = x(() => o.value ? !1 : (v.value ?? 0) + e.step <= e.max), h = x(() => o.value ? !1 : (v.value ?? 0) - e.step >= e.min), p = x(() => e.hideInput ? "stacked" : e.controlVariant), w = O(() => p.value === "split" ? "$plus" : "$collapse"), P = O(() => p.value === "split" ? "$minus" : "$expand"), _ = O(() => p.value === "split" ? "default" : "small"), I = O(() => p.value === "stacked" ? "auto" : "100%"), k = { props: { onClick: $, onPointerup: j, onPointerdown: G, onPointercancel: j } }, E = { props: { onClick: $, onPointerup: j, onPointerdown: K, onPointercancel: j } }; le(() => e.precision, () => te()), le(() => e.minFractionDigits, () => te()), kn(() => { z(); }); function T(A) { if (A == null) return 0; const V = A.toString(), F = V.indexOf("."); return ~F ? V.length - F : 0; } function M() { let A = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0; if (o.value) return; if (v.value == null) { f.value = d(Re(0, e.min, e.max)); return; } let V = Math.max(T(v.value), T(e.step)); e.precision != null && (V = Math.max(V, e.precision)), A ? g.value && (f.value = d(v.value + e.step, V)) : h.value && (f.value = d(v.value - e.step, V)); } function N(A) { var fe; if (!A.data) return; const V = A.target, { value: F, selectionStart: U, selectionEnd: D } = V ?? {}, J = F ? F.slice(0, U) + A.data + F.slice(D) : A.data, ce = Kg(J, e.precision, c.value); if (new RegExp(`^-?\\d*${Hl(c.value)}?\\d*$`).test(J) || (A.preventDefault(), V.value = ce, Ae(() => f.value = ce)), e.precision != null) { if (((fe = J.split(c.value)[1]) == null ? void 0 : fe.length) > e.precision) { A.preventDefault(), V.value = ce, Ae(() => f.value = ce); const ie = (U ?? 0) + A.data.length; V.setSelectionRange(ie, ie); } e.precision === 0 && J.endsWith(c.value) && (A.preventDefault(), V.value = ce, Ae(() => f.value = ce)); } } async function B(A) { ["Enter", "ArrowLeft", "ArrowRight", "Backspace", "Delete", "Tab"].includes(A.key) || A.ctrlKey || ["ArrowDown", "ArrowUp"].includes(A.key) && (A.preventDefault(), A.stopPropagation(), z(), await Ae(), A.key === "ArrowDown" ? M(!1) : M()); } function $(A) { A.stopPropagation(); } function j(A) { const V = A.currentTarget; V == null || V.releasePointerCapture(A.pointerId), A.preventDefault(), r(); } function G(A) { const V = A.currentTarget; V == null || V.setPointerCapture(A.pointerId), A.preventDefault(), A.stopPropagation(), l("up"); } function K(A) { const V = A.currentTarget; V == null || V.setPointerCapture(A.pointerId), A.preventDefault(), A.stopPropagation(), l("down"); } function z() { if (o.value || !a.value) return; const A = a.value.value, V = Number(A.replace(c.value, ".")); A && !isNaN(V) ? f.value = d(Re(V, e.min, e.max)) : f.value = null; } function te() { o.value || (f.value = v.value !== null && !isNaN(v.value) ? d(v.value, e.precision, !1) : null); } function W() { if (!o.value) { if (v.value === null || isNaN(v.value)) { f.value = null; return; } f.value = v.value.toString().replace(".", c.value); } } function Q() { W(); } function R() { z(); } return re(() => { const { modelValue: A, type: V, ...F } = an.filterProps(e); function U() { return n.increment ? S(De, { key: "increment-defaults", defaults: { VBtn: { disabled: !g.value, height: I.value, size: _.value, icon: w.value, variant: "text" } } }, { default: () => [n.increment(k)] }) : S(be, { "aria-hidden": "true", "data-testid": "increment", disabled: !g.value, height: I.value, icon: w.value, key: "increment-btn", onClick: $, onPointerdown: G, onPointerup: j, onPointercancel: j, size: _.value, variant: "text", tabindex: "-1" }, null); } function D() { return n.decrement ? S(De, { key: "decrement-defaults", defaults: { VBtn: { disabled: !h.value, height: I.value, size: _.value, icon: P.value, variant: "text" } } }, { default: () => [n.decrement(E)] }) : S(be, { "aria-hidden": "true", "data-testid": "decrement", disabled: !h.value, height: I.value, icon: P.value, key: "decrement-btn", onClick: $, onPointerdown: K, onPointerup: j, onPointercancel: j, size: _.value, variant: "text", tabindex: "-1" }, null); } function J() { return C("div", { class: "v-number-input__control" }, [D(), S(Dt, { vertical: p.value !== "stacked" }, null), U()]); } function ce() { return !e.hideInput && !e.inset ? S(Dt, { vertical: !0 }, null) : void 0; } const fe = p.value === "split" ? C("div", { class: "v-number-input__control" }, [S(Dt, { vertical: !0 }, null), U()]) : e.reverse || p.value === "hidden" ? void 0 : C(ue, null, [ce(), J()]), ie = n["append-inner"] || fe, ve = p.value === "split" ? C("div", { class: "v-number-input__control" }, [D(), S(Dt, { vertical: !0 }, null)]) : e.reverse && p.value !== "hidden" ? C(ue, null, [J(), ce()]) : void 0, Ee = n["prepend-inner"] || ve; return S(an, Y({ ref: a }, F, { modelValue: f.value, "onUpdate:modelValue": (ke) => f.value = ke, focused: s.value, "onUpdate:focused": (ke) => s.value = ke, validationValue: v.value, error: e.error || b.value || void 0, onBeforeinput: N, onFocus: Q, onBlur: R, onKeydown: B, class: ["v-number-input", { "v-number-input--default": p.value === "default", "v-number-input--hide-input": e.hideInput, "v-number-input--inset": e.inset, "v-number-input--reverse": e.reverse, "v-number-input--split": p.value === "split", "v-number-input--stacked": p.value === "stacked" }, e.class], style: e.style, inputmode: "decimal" }), { ...n, "append-inner": ie ? function() { var ye; for (var ke = arguments.length, we = new Array(ke), pe = 0; pe < ke; pe++) we[pe] = arguments[pe]; return C(ue, null, [(ye = n["append-inner"]) == null ? void 0 : ye.call(n, ...we), fe]); } : void 0, "prepend-inner": Ee ? function() { var ye; for (var ke = arguments.length, we = new Array(ke), pe = 0; pe < ke; pe++) we[pe] = arguments[pe]; return C(ue, null, [ve, (ye = n["prepend-inner"]) == null ? void 0 : ye.call(n, ...we)]); } : void 0 }); }), _n({}, a); } }); function Nb(e, t, n, a, l, r) { return oe(), Fe(Db, { onBlur: t[0] || (t[0] = (i) => r.filterValue(i, l.prop)), "v-model": l.data, "model-value": l.filter, precision: 2, "control-variant": "hidden" }, null, 8, ["v-model", "model-value"]); } const Fn = /* @__PURE__ */ Ot(Ab, [["render", Nb]]), Mb = (e) => !isNaN(parseFloat(e)) && !isNaN(e - 0), bc = (e) => /^[\d]{4}-[\d]{2}-[\d]{2}T[\d]{2}:[\d]{2}:[\d]{2}.[\d]+$/.test(e) ? new window.Date(e) instanceof window.Date : !1, Lb = (e) => typeof e == "string" || e instanceof String, Bb = (e) => { const t = new Date(e); return t.toLocaleDateString() + " " + t.toLocaleTimeString(); }, ca = (e, t) => { for (let n of Object.keys(e)) if (e[n] != t[n]) return !1; return !0; }, Rb = { components: { Date: hc, Number: Fn, Text: yc, FontAwesomeIcon: Cn }, props: { item: { type: Object, required: !0 }, filters: { type: Object, required: !0 }, showFilters: { type: Boolean, required: !0 }, options: { type: Rt, required: !0, default: () => new Rt() }, prop: { type: String, required: !0 } }, data() { return { item: this.item, index: this.index, filters: this.filters, showFilters: this.showFilters, key: this.key, hashTag: Vg, isString: Lb, isNumber: Mb, isDateTime: bc }; }, watch: { key(e) { this.key = e; } }, methods: { filterValue(e, t) { this.$emit("filterValue", e, t); }, filterDate(e, t) { this.$emit("filterValue", e, t); } } }, $b = { key: 0 }, jb = { key: 1 }, zb = { key: 0 }, Wb = { key: 1 }, Hb = { key: 2 }; function Ub(e, t, n, a, l, r) { const i = Ze("FontAwesomeIcon"), o = Ze("Number"), s = Ze("Date"), u = Ze("Text"); return n.prop == n.options.Key && n.options.Active ? (oe(), Se("span", $b, [ S(i, { icon: l.hashTag }, null, 8, ["icon"]) ])) : (oe(), Se("span", jb, [ l.isNumber(l.item[n.prop]) ? (oe(), Se("div", zb, [ S(o, { filter: l.filters[n.prop], prop: n.prop, data: l.filters, onFilterValue: t[0] || (t[0] = (c) => r.filterValue(c, l.filters[n.prop])) }, null, 8, ["filter", "prop", "data"]) ])) : l.isDateTime(l.item[n.prop]) ? (oe(), Se("div", Wb, [ S(s, { data: l.filters, filter: l.filters[n.prop], prop: n.prop, onFilterValue: t[1] || (t[1] = (c) => r.filterDate(c, l.filters[n.prop])) }, null, 8, ["data", "filter", "prop"]) ])) : l.isString(l.item[n.prop]) ? (oe(), Se("div", Hb, [ S(u, { data: l.filters, filter: l.filters[n.prop], prop: n.prop, onFilterValue: t[2] || (t[2] = (c) => r.filterValue(c, l.filters[n.prop])) }, null, 8, ["data", "filter", "prop"]) ])) : He("", !0) ])); } const Yb = /* @__PURE__ */ Ot(Rb, [["render", Ub]]), Gb = { components: { FontAwesomeIcon: Cn }, props: { options: { type: Rt, required: !0, default: () => new Rt() }, dataHeader: { type: Object, required: !0 }, id: { type: Number, required: !0 }, startPosition: { type: Boolean, required: !0 } }, mounted() { }, data() { return { key: this.key, dataHeader: this.dataHeader, id: this.id, options: this.options, carretDown: Pg, carretUp: Cg }; }, watch: { key(e) { this.key = e; } }, methods: { sort(e, t, n) { this.$emit("sort", e, t, n); } } }, Kb = { key: 0, style: { display: "flex" } }, qb = { key: 0 }, Xb = { key: 1 }, Jb = { key: 1 }, Qb = { key: 2 }; function Zb(e, t, n, a, l, r) { const i = Ze("FontAwesomeIcon"); return l.options.ShowKey || !n.startPosition ? (oe(), Se("div", Kb, [ gn(tt(l.dataHeader.title) + " ", 1), l.dataHeader.sort ? (oe(), Se("div", qb, [ S(i, { onClick: t[0] || (t[0] = (o) => r.sort(o, l.dataHeader, l.id)), icon: l.carretDown }, null, 8, ["icon"]) ])) : (oe(), Se("div", Xb, [ S(i, { onClick: t[1] || (t[1] = (o) => r.sort(o, l.dataHeader, l.id)), icon: l.carretUp }, null, 8, ["icon"]) ])) ])) : l.options.Active ? (oe(), Se("div", Jb, tt(l.dataHeader.title), 1)) : (oe(), Se("div", Qb, tt(l.dataHeader.title), 1)); } const ep = /* @__PURE__ */ Ot(Gb, [["render", Zb]]), tp = { components: { FontAwesomeIcon: Cn }, props: { totalCount: { type: Number, required: !0 }, pageCount: { type: Number, required: !0 }, perPage: { type: Number, required: !0 }, page: { type: Number, required: !0 } }, data() { return { totalCount: this.totalCount, pageCount: this.pageCount, perPage: this.perPage, page: this.page, arrowDown: Fg, chevronLeft: xg, chevronRight: pg, fastBackward: kg, fastForward: Ag }; }, watch: { page(e, t) { this.page = e; }, perPage(e, t) { this.perPage = e; }, pageCount(e, t) { this.pageCount = e; }, totalCount(e, t) { this.totalCount = e; } }, methods: { pageChange(e) { this.$emit("pageChange", e); }, pageSize(e) { this.$emit("pageSize", e); }, firstPage(e) { this.$emit("firstPage", e); }, lastPage(e) { this.$emit("lastPage", e); }, previousPage(e) { this.$emit("previousPage", e); }, nextPage(e) { this.$emit("nextPage", e); } } }, np = Symbol.for("vuetify:goto"); function ap() { return { container: void 0, duration: 300, layout: !1, offset: 0, easing: "easeInOutCubic", patterns: ph }; } function lp(e) { return Gr(e) ?? (document.scrollingElement || document.body); } function Gr(e) { return typeof e == "string" ? document.querySelector(e) : lu(e); } function Sl(e, t, n) { if (typeof e == "number") return t && n ? -e : e; let a = Gr(e), l = 0; for (; a; ) l += t ? a.offsetLeft : a.offsetTop, a = a.offsetParent; return l; } async function $o(e, t, n, a) { const l = n ? "scrollLeft" : "scrollTop", r = xt((a == null ? void 0 : a.options) ?? ap(), t), i = a == null ? void 0 : a.rtl.value, o = (typeof e == "number" ? e : Gr(e)) ?? 0, s = r.container === "parent" && o instanceof HTMLElement ? o.parentElement : lp(r.container), u = yn() ? r.patterns.instant : typeof r.easing == "function" ? r.easing : r.patterns[r.easing]; if (!u) throw new TypeError(`Easing function "${r.easing}" not found.`); let c; if (typeof o == "number") c = Sl(o, n, i); else if (c = Sl(o, n, i) - Sl(s, n, i), r.layout) { const y = window.getComputedStyle(o).getPropertyValue("--v-layout-top"); y && (c -= parseInt(y, 10)); } c += r.offset, c = ip(s, c, !!i, !!n); const d = s[l] ?? 0; if (c === d) return Promise.resolve(c); const v = performance.now(); return new Promise((m) => requestAnimationFrame(function y(f) { const g = (f - v) / r.duration, h = Math.floor(d + (c - d) * u(Re(g, 0, 1))); if (s[l] = h, g >= 1 && Math.abs(h - s[l]) < 10) return m(c); if (g > 2) return Nt("Scroll target is not reachable"), m(s[l]); requestAnimationFrame(y); })); } function rp() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; const t = xe(np), { isRtl: n } = gt(); if (!t) throw new Error("[Vuetify] Could not find injected goto instance"); const a = { ...t, // can be set via VLocaleProvider rtl: O(() => t.rtl.value || n.value) }; async function l(r, i) { return $o(r, xt(e, i), !1, a); } return l.horizontal = async (r, i) => $o(r, xt(e, i), !0, a), l; } function ip(e, t, n, a) { const { scrollWidth: l, scrollHeight: r } = e, [i, o] = e === document.scrollingElement ? [window.innerWidth, window.innerHeight] : [e.offsetWidth, e.offsetHeight]; let s, u; return a ? n ? (s = -(l - i), u = 0) : (s = 0, u = l - i) : (s = 0, u = r + -o), Re(t, s, u); } function op() { const e = ne([]); Rd(() => e.value = []); function t(n, a) { e.value[a] = n; } return { refs: e, updateRef: t }; } const sp = L({ activeColor: String, start: { type: [Number, String], default: 1 }, modelValue: { type: Number, default: (e) => e.start }, disabled: Boolean, length: { type: [Number, String], default: 1, validator: (e) => e % 1 === 0 }, totalVisible: [Number, String], firstIcon: { type: se, default: "$first" }, prevIcon: { type: se, default: "$prev" }, nextIcon: { type: se, default: "$next" }, lastIcon: { type: se, default: "$last" }, ariaLabel: { type: String, default: "$vuetify.pagination.ariaLabel.root" }, pageAriaLabel: { type: String, default: "$vuetify.pagination.ariaLabel.page" }, currentPageAriaLabel: { type: String, default: "$vuetify.pagination.ariaLabel.currentPage" }, firstAriaLabel: { type: String, default: "$vuetify.pagination.ariaLabel.first" }, previousAriaLabel: { type: String, default: "$vuetify.pagination.ariaLabel.previous" }, nextAriaLabel: { type: String, default: "$vuetify.pagination.ariaLabel.next" }, lastAriaLabel: { type: String, default: "$vuetify.pagination.ariaLabel.last" }, ellipsis: { type: String, default: "..." }, showFirstLastPage: Boolean, ...Wt(), ...he(), ...lt(), ...on(), ...ut(), ...In(), ...Oe({ tag: "nav" }), ...Ne(), ...Ht({ variant: "text" }) }, "VPagination"), nr = q()({ name: "VPagination", props: sp(), emits: { "update:modelValue": (e) => !0, first: (e) => !0, prev: (e) => !0, next: (e) => !0, last: (e) => !0 }, setup(e, t) { let { slots: n, emit: a } = t; const l = me(e, "modelValue"), { t: r, n: i } = Je(), { isRtl: o } = gt(), { themeClasses: s } = Xe(e), { width: u } = Ut(), c = Z(-1); It(void 0, { scoped: !0 }); const { resizeRef: d } = tn((k) => { if (!k.length) return; const { target: E, contentRect: T } = k[0], M = E.querySelector(".v-pagination__list > *"); if (!M) return; const N = T.width, B = M.offsetWidth + parseFloat(getComputedStyle(M).marginRight) * 2; c.value = f(N, B); }), v = x(() => parseInt(e.length, 10)), m = x(() => parseInt(e.start, 10)), y = x(() => e.totalVisible != null ? parseInt(e.totalVisible, 10) : c.value >= 0 ? c.value : f(u.value, 58)); function f(k, E) { const T = e.showFirstLastPage ? 5 : 3; return Math.max(0, Math.floor( // Round to two decimal places to avoid floating point errors Number(((k - E * T) / E).toFixed(2)) )); } const b = x(() => { if (v.value <= 0 || isNaN(v.value) || v.value > Number.MAX_SAFE_INTEGER) return []; if (y.value <= 0) return []; if (y.value === 1) return [l.value]; if (v.value <= y.value) return fn(v.value, m.value); const k = y.value % 2 === 0, E = k ? y.value / 2 : Math.floor(y.value / 2), T = k ? E : E + 1, M = v.value - E; if (T - l.value >= 0) return [...fn(Math.max(1, y.value - 1), m.value), e.ellipsis, v.value]; if (l.value - M >= (k ? 1 : 0)) { const N = y.value - 1, B = v.value - N + m.value; return [m.value, e.ellipsis, ...fn(N, B)]; } else { const N = Math.max(1, y.value - 2), B = N === 1 ? l.value : l.value - Math.ceil(N / 2) + m.value; return [m.value, e.ellipsis, ...fn(N, B), e.ellipsis, v.value]; } }); function g(k, E, T) { k.preventDefault(), l.value = E, T && a(T, E); } const { refs: h, updateRef: p } = op(); It({ VPaginationBtn: { color: O(() => e.color), border: O(() => e.border), density: O(() => e.density), size: O(() => e.size), variant: O(() => e.variant), rounded: O(() => e.rounded), elevation: O(() => e.elevation) } }); const w = x(() => b.value.map((k, E) => { const T = (M) => p(M, E); if (typeof k == "string") return { isActive: !1, key: `ellipsis-${E}`, page: k, props: { ref: T, ellipsis: !0, icon: !0, disabled: !0 } }; { const M = k === l.value; return { isActive: M, key: k, page: i(k), props: { ref: T, ellipsis: !1, icon: !0, disabled: !!e.disabled || Number(e.length) < 2, color: M ? e.activeColor : e.color, "aria-current": M, "aria-label": r(M ? e.currentPageAriaLabel : e.pageAriaLabel, k), onClick: (N) => g(N, k) } }; } })), P = x(() => { const k = !!e.disabled || l.value <= m.value, E = !!e.disabled || l.value >= m.value + v.value - 1; return { first: e.showFirstLastPage ? { icon: o.value ? e.lastIcon : e.firstIcon, onClick: (T) => g(T, m.value, "first"), disabled: k, "aria-label": r(e.firstAriaLabel), "aria-disabled": k } : void 0, prev: { icon: o.value ? e.nextIcon : e.prevIcon, onClick: (T) => g(T, l.value - 1, "prev"), disabled: k, "aria-label": r(e.previousAriaLabel), "aria-disabled": k }, next: { icon: o.value ? e.prevIcon : e.nextIcon, onClick: (T) => g(T, l.value + 1, "next"), disabled: E, "aria-label": r(e.nextAriaLabel), "aria-disabled": E }, last: e.showFirstLastPage ? { icon: o.value ? e.firstIcon : e.lastIcon, onClick: (T) => g(T, m.value + v.value - 1, "last"), disabled: E, "aria-label": r(e.lastAriaLabel), "aria-disabled": E } : void 0 }; }); function _() { var E; const k = l.value - m.value; (E = h.value[k]) == null || E.$el.focus(); } function I(k) { k.key === Wi.left && !e.disabled && l.value > Number(e.start) ? (l.value = l.value - 1, Ae(_)) : k.key === Wi.right && !e.disabled && l.value < m.value + v.value - 1 && (l.value = l.value + 1, Ae(_)); } return re(() => S(e.tag, { ref: d, class: ee(["v-pagination", s.value, e.class]), style: ge(e.style), role: "navigation", "aria-label": r(e.ariaLabel), onKeydown: I, "data-test": "v-pagination-root" }, { default: () => [C("ul", { class: "v-pagination__list" }, [e.showFirstLastPage && C("li", { key: "first", class: "v-pagination__first", "data-test": "v-pagination-first" }, [n.first ? n.first(P.value.first) : S(be, Y({ _as: "VPaginationBtn" }, P.value.first), null)]), C("li", { key: "prev", class: "v-pagination__prev", "data-test": "v-pagination-prev" }, [n.prev ? n.prev(P.value.prev) : S(be, Y({ _as: "VPaginationBtn" }, P.value.prev), null)]), w.value.map((k, E) => C("li", { key: k.key, class: ee(["v-pagination__item", { "v-pagination__item--is-active": k.isActive }]), "data-test": "v-pagination-item" }, [n.item ? n.item(k) : S(be, Y({ _as: "VPaginationBtn" }, k.props), { default: () => [k.page] })])), C("li", { key: "next", class: "v-pagination__next", "data-test": "v-pagination-next" }, [n.next ? n.next(P.value.next) : S(be, Y({ _as: "VPaginationBtn" }, P.value.next), null)]), e.showFirstLastPage && C("li", { key: "last", class: "v-pagination__last", "data-test": "v-pagination-last" }, [n.last ? n.last(P.value.last) : S(be, Y({ _as: "VPaginationBtn" }, P.value.last), null)])])] })), {}; } }); function up(e) { return { aspectStyles: x(() => { const t = Number(e.aspectRatio); return t ? { paddingBottom: String(1 / t * 100) + "%" } : void 0; }) }; } const pc = L({ aspectRatio: [String, Number], contentClass: null, inline: Boolean, ...he(), ...St() }, "VResponsive"), jo = q()({ name: "VResponsive", props: pc(), setup(e, t) { let { slots: n } = t; const { aspectStyles: a } = up(e), { dimensionStyles: l } = wt(e); return re(() => { var r; return C("div", { class: ee(["v-responsive", { "v-responsive--inline": e.inline }, e.class]), style: ge([l.value, e.style]) }, [C("div", { class: "v-responsive__sizer", style: ge(a.value) }, null), (r = n.additional) == null ? void 0 : r.call(n), n.default && C("div", { class: ee(["v-responsive__content", e.contentClass]) }, [n.default()])]); }), {}; } }), cp = L({ absolute: Boolean, alt: String, cover: Boolean, color: String, draggable: { type: [Boolean, String], default: void 0 }, eager: Boolean, gradient: String, lazySrc: String, options: { type: Object, // For more information on types, navigate to: // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API default: () => ({ root: void 0, rootMargin: void 0, threshold: void 0 }) }, sizes: String, src: { type: [String, Object], default: "" }, crossorigin: String, referrerpolicy: String, srcset: String, position: String, ...pc(), ...he(), ...ut(), ...An() }, "VImg"), dp = q()({ name: "VImg", directives: { vIntersect: pn }, props: cp(), emits: { loadstart: (e) => !0, load: (e) => !0, error: (e) => !0 }, setup(e, t) { let { emit: n, slots: a } = t; const { backgroundColorClasses: l, backgroundColorStyles: r } = nt(() => e.color), { roundedClasses: i } = mt(e), o = Ve("VImg"), s = Z(""), u = ne(), c = Z(e.eager ? "loading" : "idle"), d = Z(), v = Z(), m = x(() => e.src && typeof e.src == "object" ? { src: e.src.src, srcset: e.srcset || e.src.srcset, lazySrc: e.lazySrc || e.src.lazySrc, aspect: Number(e.aspectRatio || e.src.aspect || 0) } : { src: e.src, srcset: e.srcset, lazySrc: e.lazySrc, aspect: Number(e.aspectRatio || 0) }), y = x(() => m.value.aspect || d.value / v.value || 0); le(() => e.src, () => { f(c.value !== "idle"); }), le(y, (N, B) => { !N && B && u.value && w(u.value); }), ja(() => f()); function f(N) { if (!(e.eager && N) && !(Cr && !N && !e.eager)) { if (c.value = "loading", m.value.lazySrc) { const B = new Image(); B.src = m.value.lazySrc, w(B, null); } m.value.src && Ae(() => { var B; n("loadstart", ((B = u.value) == null ? void 0 : B.currentSrc) || m.value.src), setTimeout(() => { var $; if (!o.isUnmounted) if (($ = u.value) != null && $.complete) { if (u.value.naturalWidth || g(), c.value === "error") return; y.value || w(u.value, null), c.value === "loading" && b(); } else y.value || w(u.value), h(); }); }); } } function b() { var N; o.isUnmounted || (h(), w(u.value), c.value = "loaded", n("load", ((N = u.value) == null ? void 0 : N.currentSrc) || m.value.src)); } function g() { var N; o.isUnmounted || (c.value = "error", n("error", ((N = u.value) == null ? void 0 : N.currentSrc) || m.value.src)); } function h() { const N = u.value; N && (s.value = N.currentSrc || N.src); } let p = -1; _t(() => { clearTimeout(p); }); function w(N) { let B = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 100; const $ = () => { if (clearTimeout(p), o.isUnmounted) return; const { naturalHeight: j, naturalWidth: G } = N; j || G ? (d.value = G, v.value = j) : !N.complete && c.value === "loading" && B != null ? p = window.setTimeout($, B) : (N.currentSrc.endsWith(".svg") || N.currentSrc.startsWith("data:image/svg+xml")) && (d.value = 1, v.value = 1); }; $(); } const P = O(() => ({ "v-img__img--cover": e.cover, "v-img__img--contain": !e.cover })), _ = () => { var $; if (!m.value.src || c.value === "idle") return null; const N = C("img", { class: ee(["v-img__img", P.value]), style: { objectPosition: e.position }, crossorigin: e.crossorigin, src: m.value.src, srcset: m.value.srcset, alt: e.alt, referrerpolicy: e.referrerpolicy, draggable: e.draggable, sizes: e.sizes, ref: u, onLoad: b, onError: g }, null), B = ($ = a.sources) == null ? void 0 : $.call(a); return S(ft, { transition: e.transition, appear: !0 }, { default: () => [ze(B ? C("picture", { class: "v-img__picture" }, [B, N]) : N, [[ln, c.value === "loaded"]])] }); }, I = () => S(ft, { transition: e.transition }, { default: () => [m.value.lazySrc && c.value !== "loaded" && C("img", { class: ee(["v-img__img", "v-img__img--preload", P.value]), style: { objectPosition: e.position }, crossorigin: e.crossorigin, src: m.value.lazySrc, alt: e.alt, referrerpolicy: e.referrerpolicy, draggable: e.draggable }, null)] }), k = () => a.placeholder ? S(ft, { transition: e.transition, appear: !0 }, { default: () => [(c.value === "loading" || c.value === "error" && !a.error) && C("div", { class: "v-img__placeholder" }, [a.placeholder()])] }) : null, E = () => a.error ? S(ft, { transition: e.transition, appear: !0 }, { default: () => [c.value === "error" && C("div", { class: "v-img__error" }, [a.error()])] }) : null, T = () => e.gradient ? C("div", { class: "v-img__gradient", style: { backgroundImage: `linear-gradient(${e.gradient})` } }, null) : null, M = Z(!1); { const N = le(y, (B) => { B && (requestAnimationFrame(() => { requestAnimationFrame(() => { M.value = !0; }); }), N()); }); } return re(() => { const N = jo.filterProps(e); return ze(S(jo, Y({ class: ["v-img", { "v-img--absolute": e.absolute, "v-img--booting": !M.value }, l.value, i.value, e.class], style: [{ width: X(e.width === "auto" ? d.value : e.width) }, r.value, e.style] }, N, { aspectRatio: y.value, "aria-label": e.alt, role: e.alt ? "img" : void 0 }), { additional: () => C(ue, null, [S(_, null, null), S(I, null, null), S(T, null, null), S(k, null, null), S(E, null, null)]), default: a.default }), [[pn, { handler: f, options: e.options }, null, { once: !0 }]]); }), { currentSrc: s, image: u, state: c, naturalWidth: d, naturalHeight: v }; } }), fp = L({ start: Boolean, end: Boolean, icon: se, image: String, text: String, ...Wt(), ...he(), ...lt(), ...ut(), ...In(), ...Oe(), ...Ne(), ...Ht({ variant: "flat" }) }, "VAvatar"), Hn = q()({ name: "VAvatar", props: fp(), setup(e, t) { let { slots: n } = t; const { themeClasses: a } = Xe(e), { borderClasses: l } = rn(e), { colorClasses: r, colorStyles: i, variantClasses: o } = Ka(e), { densityClasses: s } = Et(e), { roundedClasses: u } = mt(e), { sizeClasses: c, sizeStyles: d } = Zn(e); return re(() => S(e.tag, { class: ee(["v-avatar", { "v-avatar--start": e.start, "v-avatar--end": e.end }, a.value, l.value, r.value, s.value, u.value, c.value, o.value, e.class]), style: ge([i.value, d.value, e.style]) }, { default: () => [n.default ? S(De, { key: "content-defaults", defaults: { VImg: { cover: !0, src: e.image }, VIcon: { icon: e.icon } } }, { default: () => [n.default()] }) : e.image ? S(dp, { key: "image", src: e.image, alt: "", cover: !0 }, null) : e.icon ? S(Le, { key: "icon", icon: e.icon }, null) : e.text, Ga(!1, "v-avatar")] })), {}; } }), Sc = Symbol.for("vuetify:selection-control-group"), wc = L({ color: String, disabled: { type: Boolean, default: null }, defaultsTarget: String, error: Boolean, id: String, inline: Boolean, falseIcon: se, trueIcon: se, ripple: { type: [Boolean, Object], default: !0 }, multiple: { type: Boolean, default: null }, name: String, readonly: { type: Boolean, default: null }, modelValue: null, type: String, valueComparator: { type: Function, default: Qe }, ...he(), ...lt(), ...Ne() }, "SelectionControlGroup"), vp = L({ ...wc({ defaultsTarget: "VSelectionControl" }) }, "VSelectionControlGroup"); q()({ name: "VSelectionControlGroup", props: vp(), emits: { "update:modelValue": (e) => !0 }, setup(e, t) { let { slots: n } = t; const a = me(e, "modelValue"), l = bt(), r = O(() => e.id || `v-selection-control-group-${l}`), i = O(() => e.name || r.value), o = /* @__PURE__ */ new Set(); return Be(Sc, { modelValue: a, forceUpdate: () => { o.forEach((s) => s()); }, onForceUpdate: (s) => { o.add(s), je(() => { o.delete(s); }); } }), It({ [e.defaultsTarget]: { color: O(() => e.color), disabled: O(() => e.disabled), density: O(() => e.density), error: O(() => e.error), inline: O(() => e.inline), modelValue: a, multiple: O(() => !!e.multiple || e.multiple == null && Array.isArray(a.value)), name: i, falseIcon: O(() => e.falseIcon), trueIcon: O(() => e.trueIcon), readonly: O(() => e.readonly), ripple: O(() => e.ripple), type: O(() => e.type), valueComparator: O(() => e.valueComparator) } }), re(() => { var s; return C("div", { class: ee(["v-selection-control-group", { "v-selection-control-group--inline": e.inline }, e.class]), style: ge(e.style), role: e.type === "radio" ? "radiogroup" : void 0 }, [(s = n.default) == null ? void 0 : s.call(n)]); }), {}; } }); const kc = L({ label: String, baseColor: String, trueValue: null, falseValue: null, value: null, ...he(), ...wc() }, "VSelectionControl"); function mp(e) { const t = xe(Sc, void 0), { densityClasses: n } = Et(e), a = me(e, "modelValue"), l = x(() => e.trueValue !== void 0 ? e.trueValue : e.value !== void 0 ? e.value : !0), r = x(() => e.falseValue !== void 0 ? e.falseValue : !1), i = x(() => !!e.multiple || e.multiple == null && Array.isArray(a.value)), o = x({ get() { const m = t ? t.modelValue.value : a.value; return i.value ? Pe(m).some((y) => e.valueComparator(y, l.value)) : e.valueComparator(m, l.value); }, set(m) { if (e.readonly) return; const y = m ? l.value : r.value; let f = y; i.value && (f = m ? [...Pe(a.value), y] : Pe(a.value).filter((b) => !e.valueComparator(b, l.value))), t ? t.modelValue.value = f : a.value = f; } }), { textColorClasses: s, textColorStyles: u } = yt(() => { if (!(e.error || e.disabled)) return o.value ? e.color : e.baseColor; }), { backgroundColorClasses: c, backgroundColorStyles: d } = nt(() => o.value && !e.error && !e.disabled ? e.color : e.baseColor), v = x(() => o.value ? e.trueIcon : e.falseIcon); return { group: t, densityClasses: n, trueValue: l, falseValue: r, model: o, textColorClasses: s, textColorStyles: u, backgroundColorClasses: c, backgroundColorStyles: d, icon: v }; } const zo = q()({ name: "VSelectionControl", directives: { vRipple: nn }, inheritAttrs: !1, props: kc(), emits: { "update:modelValue": (e) => !0 }, setup(e, t) { let { attrs: n, slots: a } = t; const { group: l, densityClasses: r, icon: i, model: o, textColorClasses: s, textColorStyles: u, backgroundColorClasses: c, backgroundColorStyles: d, trueValue: v } = mp(e), m = bt(), y = Z(!1), f = Z(!1), b = ne(), g = O(() => e.id || `input-${m}`), h = O(() => !e.disabled && !e.readonly); l == null || l.onForceUpdate(() => { b.value && (b.value.checked = o.value); }); function p(I) { h.value && (y.value = !0, Ca(I.target, ":focus-visible") !== !1 && (f.value = !0)); } function w() { y.value = !1, f.value = !1; } function P(I) { I.stopPropagation(); } function _(I) { if (!h.value) { b.value && (b.value.checked = o.value); return; } e.readonly && l && Ae(() => l.forceUpdate()), o.value = I.target.checked; } return re(() => { var M, N; const I = a.label ? a.label({ label: e.label, props: { for: g.value } }) : e.label, [k, E] = iu(n), T = C("input", Y({ ref: b, checked: o.value, disabled: !!e.disabled, id: g.value, onBlur: w, onFocus: p, onInput: _, "aria-disabled": !!e.disabled, "aria-label": e.label, type: e.type, value: v.value, name: e.name, "aria-checked": e.type === "checkbox" ? o.value : void 0 }, E), null); return C("div", Y({ class: ["v-selection-control", { "v-selection-control--dirty": o.value, "v-selection-control--disabled": e.disabled, "v-selection-control--error": e.error, "v-selection-control--focused": y.value, "v-selection-control--focus-visible": f.value, "v-selection-control--inline": e.inline }, r.value, e.class] }, k, { style: e.style }), [C("div", { class: ee(["v-selection-control__wrapper", s.value]), style: ge(u.value) }, [(M = a.default) == null ? void 0 : M.call(a, { backgroundColorClasses: c, backgroundColorStyles: d }), ze(C("div", { class: ee(["v-selection-control__input"]) }, [((N = a.input) == null ? void 0 : N.call(a, { model: o, textColorClasses: s, textColorStyles: u, backgroundColorClasses: c, backgroundColorStyles: d, inputNode: T, icon: i.value, props: { onFocus: p, onBlur: w, id: g.value } })) ?? C(ue, null, [i.value && S(Le, { key: "icon", icon: i.value }, null), T])]), [[nn, !e.disabled && !e.readonly && e.ripple, null, { center: !0, circle: !0 }]])]), I && S(dc, { for: g.value, onClick: P }, { default: () => [I] })]); }), { isFocused: y, input: b }; } }), gp = L({ indeterminate: Boolean, indeterminateIcon: { type: se, default: "$checkboxIndeterminate" }, ...kc({ falseIcon: "$checkboxOff", trueIcon: "$checkboxOn" }) }, "VCheckboxBtn"), Un = q()({ name: "VCheckboxBtn", props: gp(), emits: { "update:modelValue": (e) => !0, "update:indeterminate": (e) => !0 }, setup(e, t) { let { slots: n } = t; const a = me(e, "indeterminate"), l = me(e, "modelValue"); function r(s) { a.value && (a.value = !1); } const i = O(() => a.value ? e.indeterminateIcon : e.falseIcon), o = O(() => a.value ? e.indeterminateIcon : e.trueIcon); return re(() => { const s = _e(zo.filterProps(e), ["modelValue"]); return S(zo, Y(s, { modelValue: l.value, "onUpdate:modelValue": [(u) => l.value = u, r], class: ["v-checkbox-btn", e.class], style: e.style, type: "checkbox", falseIcon: i.value, trueIcon: o.value, "aria-checked": a.value ? "mixed" : void 0 }), n); }), {}; } }); function hp(e) { let { selectedElement: t, containerElement: n, isRtl: a, isHorizontal: l } = e; const r = Yn(l, n), i = xc(l, a, n), o = Yn(l, t), s = Cc(l, t), u = o * 0.4; return i > s ? s - u : i + r < s + o ? s - r + o + u : i; } function yp(e) { let { selectedElement: t, containerElement: n, isHorizontal: a } = e; const l = Yn(a, n), r = Cc(a, t), i = Yn(a, t); return r - l / 2 + i / 2; } function Wo(e, t) { const n = e ? "scrollWidth" : "scrollHeight"; return (t == null ? void 0 : t[n]) || 0; } function bp(e, t) { const n = e ? "clientWidth" : "clientHeight"; return (t == null ? void 0 : t[n]) || 0; } function xc(e, t, n) { if (!n) return 0; const { scrollLeft: a, offsetWidth: l, scrollWidth: r } = n; return e ? t ? r - l + a : a : n.scrollTop; } function Yn(e, t) { const n = e ? "offsetWidth" : "offsetHeight"; return (t == null ? void 0 : t[n]) || 0; } function Cc(e, t) { const n = e ? "offsetLeft" : "offsetTop"; return (t == null ? void 0 : t[n]) || 0; } const Pc = Symbol.for("vuetify:v-slide-group"), Ic = L({ centerActive: Boolean, scrollToActive: { type: Boolean, default: !0 }, contentClass: null, direction: { type: String, default: "horizontal" }, symbol: { type: null, default: Pc }, nextIcon: { type: se, default: "$next" }, prevIcon: { type: se, default: "$prev" }, showArrows: { type: [Boolean, String], validator: (e) => typeof e == "boolean" || ["always", "desktop", "mobile", "never"].includes(e) }, ...he(), ...ea({ mobile: null }), ...Oe(), ...Fr({ selectedClass: "v-slide-group-item--active" }) }, "VSlideGroup"), Ho = q()({ name: "VSlideGroup", props: Ic(), emits: { "update:modelValue": (e) => !0 }, setup(e, t) { let { slots: n } = t; const { isRtl: a } = gt(), { displayClasses: l, mobile: r } = Ut(e), i = Dr(e, e.symbol), o = Z(!1), s = Z(0), u = Z(0), c = Z(0), d = x(() => e.direction === "horizontal"), { resizeRef: v, contentRect: m } = tn(), { resizeRef: y, contentRect: f } = tn(), b = rp(), g = x(() => ({ container: v.el, duration: 200, easing: "easeOutQuart" })), h = x(() => i.selected.value.length ? i.items.value.findIndex((R) => R.id === i.selected.value[0]) : -1), p = x(() => i.selected.value.length ? i.items.value.findIndex((R) => R.id === i.selected.value[i.selected.value.length - 1]) : -1); if (We) { let R = -1; le(() => [i.selected.value, m.value, f.value, d.value], () => { cancelAnimationFrame(R), R = requestAnimationFrame(() => { if (m.value && f.value) { const A = d.value ? "width" : "height"; u.value = m.value[A], c.value = f.value[A], o.value = u.value + 1 < c.value; } if (e.scrollToActive && h.value >= 0 && y.el) { const A = y.el.children[p.value]; P(A, e.centerActive); } }); }); } const w = Z(!1); function P(R, A) { let V = 0; A ? V = yp({ containerElement: v.el, isHorizontal: d.value, selectedElement: R }) : V = hp({ containerElement: v.el, isHorizontal: d.value, isRtl: a.value, selectedElement: R }), _(V); } function _(R) { if (!We || !v.el) return; const A = Yn(d.value, v.el), V = xc(d.value, a.value, v.el); if (!(Wo(d.value, v.el) <= A || // Prevent scrolling by only a couple of pixels, which doesn't look smooth Math.abs(R - V) < 16)) { if (d.value && a.value && v.el) { const { scrollWidth: U, offsetWidth: D } = v.el; R = U - D - R; } d.value ? b.horizontal(R, g.value) : b(R, g.value); } } function I(R) { const { scrollTop: A, scrollLeft: V } = R.target; s.value = d.value ? V : A; } function k(R) { if (w.value = !0, !(!o.value || !y.el)) { for (const A of R.composedPath()) for (const V of y.el.children) if (V === A) { P(V); return; } } } function E(R) { w.value = !1; } let T = !1; function M(R) { var A; !T && !w.value && !(R.relatedTarget && ((A = y.el) != null && A.contains(R.relatedTarget))) && j(), T = !1; } function N() { T = !0; } function B(R) { if (!y.el) return; function A(V) { R.preventDefault(), j(V); } d.value ? R.key === "ArrowRight" ? A(a.value ? "prev" : "next") : R.key === "ArrowLeft" && A(a.value ? "next" : "prev") : R.key === "ArrowDown" ? A("next") : R.key === "ArrowUp" && A("prev"), R.key === "Home" ? A("first") : R.key === "End" && A("last"); } function $(R, A) { if (!R) return; let V = R; do V = V == null ? void 0 : V[A === "next" ? "nextElementSibling" : "previousElementSibling"]; while (V != null && V.hasAttribute("disabled")); return V; } function j(R) { if (!y.el) return; let A; if (!R) A = Xt(y.el)[0]; else if (R === "next") { if (A = $(y.el.querySelector(":focus"), R), !A) return j("first"); } else if (R === "prev") { if (A = $(y.el.querySelector(":focus"), R), !A) return j("last"); } else R === "first" ? (A = y.el.firstElementChild, A != null && A.hasAttribute("disabled") && (A = $(A, "next"))) : R === "last" && (A = y.el.lastElementChild, A != null && A.hasAttribute("disabled") && (A = $(A, "prev"))); A && A.focus({ preventScroll: !0 }); } function G(R) { const A = d.value && a.value ? -1 : 1, V = (R === "prev" ? -A : A) * u.value; let F = s.value + V; if (d.value && a.value && v.el) { const { scrollWidth: U, offsetWidth: D } = v.el; F += U - D; } _(F); } const K = x(() => ({ next: i.next, prev: i.prev, select: i.select, isSelected: i.isSelected })), z = x(() => o.value || Math.abs(s.value) > 0), te = x(() => { switch (e.showArrows) { case "never": return !1; case "always": return !0; case "desktop": return !r.value; case !0: return z.value; case "mobile": return r.value || z.value; default: return !r.value && z.value; } }), W = x(() => Math.abs(s.value) > 1), Q = x(() => { if (!v.value || !z.value) return !1; const R = Wo(d.value, v.el), A = bp(d.value, v.el); return R - A - Math.abs(s.value) > 1; }); return re(() => S(e.tag, { class: ee(["v-slide-group", { "v-slide-group--vertical": !d.value, "v-slide-group--has-affixes": te.value, "v-slide-group--is-overflowing": o.value }, l.value, e.class]), style: ge(e.style), tabindex: w.value || i.selected.value.length ? -1 : 0, onFocus: M }, { default: () => { var R, A, V; return [te.value && C("div", { key: "prev", class: ee(["v-slide-group__prev", { "v-slide-group__prev--disabled": !W.value }]), onMousedown: N, onClick: () => W.value && G("prev") }, [((R = n.prev) == null ? void 0 : R.call(n, K.value)) ?? S(Ql, null, { default: () => [S(Le, { icon: a.value ? e.nextIcon : e.prevIcon }, null)] })]), C("div", { key: "container", ref: v, class: ee(["v-slide-group__container", e.contentClass]), onScroll: I }, [C("div", { ref: y, class: "v-slide-group__content", onFocusin: k, onFocusout: E, onKeydown: B }, [(A = n.default) == null ? void 0 : A.call(n, K.value)])]), te.value && C("div", { key: "next", class: ee(["v-slide-group__next", { "v-slide-group__next--disabled": !Q.value }]), onMousedown: N, onClick: () => Q.value && G("next") }, [((V = n.next) == null ? void 0 : V.call(n, K.value)) ?? S(Ql, null, { default: () => [S(Le, { icon: a.value ? e.prevIcon : e.nextIcon }, null)] })])]; } })), { selected: i.selected, scrollTo: G, scrollOffset: s, focus: j, hasPrev: W, hasNext: Q }; } }), Ac = Symbol.for("vuetify:v-chip-group"), pp = L({ baseColor: String, column: Boolean, filter: Boolean, valueComparator: { type: Function, default: Qe }, ...Ic({ scrollToActive: !1 }), ...he(), ...Fr({ selectedClass: "v-chip--selected" }), ...Oe(), ...Ne(), ...Ht({ variant: "tonal" }) }, "VChipGroup"); q()({ name: "VChipGroup", props: pp(), emits: { "update:modelValue": (e) => !0 }, setup(e, t) { let { slots: n } = t; const { themeClasses: a } = Xe(e), { isSelected: l, select: r, next: i, prev: o, selected: s } = Dr(e, Ac); return It({ VChip: { baseColor: O(() => e.baseColor), color: O(() => e.color), disabled: O(() => e.disabled), filter: O(() => e.filter), variant: O(() => e.variant) } }), re(() => { const u = Ho.filterProps(e); return S(Ho, Y(u, { class: ["v-chip-group", { "v-chip-group--column": e.column }, a.value, e.class], style: e.style }), { default: () => { var c; return [(c = n.default) == null ? void 0 : c.call(n, { isSelected: l, select: r, next: i, prev: o, selected: s.value })]; } }); }), {}; } }); const Sp = L({ activeClass: String, appendAvatar: String, appendIcon: se, baseColor: String, closable: Boolean, closeIcon: { type: se, default: "$delete" }, closeLabel: { type: String, default: "$vuetify.close" }, draggable: Boolean, filter: Boolean, filterIcon: { type: se, default: "$complete" }, label: Boolean, link: { type: Boolean, default: void 0 }, pill: Boolean, prependAvatar: String, prependIcon: se, ripple: { type: [Boolean, Object], default: !0 }, text: { type: [String, Number, Boolean], default: void 0 }, modelValue: { type: Boolean, default: !0 }, onClick: $e(), onClickOnce: $e(), ...Wt(), ...he(), ...lt(), ...on(), ...bu(), ...ut(), ...Br(), ...In(), ...Oe({ tag: "span" }), ...Ne(), ...Ht({ variant: "tonal" }) }, "VChip"), ar = q()({ name: "VChip", directives: { vRipple: nn }, props: Sp(), emits: { "click:close": (e) => !0, "update:modelValue": (e) => !0, "group:selected": (e) => !0, click: (e) => !0 }, setup(e, t) { let { attrs: n, emit: a, slots: l } = t; const { t: r } = Je(), { borderClasses: i } = rn(e), { densityClasses: o } = Et(e), { elevationClasses: s } = Pn(e), { roundedClasses: u } = mt(e), { sizeClasses: c } = Zn(e), { themeClasses: d } = Xe(e), v = me(e, "modelValue"), m = Kl(e, Ac, !1), y = Kl(e, Pc, !1), f = Lr(e, n), b = O(() => e.link !== !1 && f.isLink.value), g = x(() => !e.disabled && e.link !== !1 && (!!m || e.link || f.isClickable.value)), h = O(() => ({ "aria-label": r(e.closeLabel), disabled: e.disabled, onClick(k) { k.preventDefault(), k.stopPropagation(), v.value = !1, a("click:close", k); } })); le(v, (k) => { k ? (m == null || m.register(), y == null || y.register()) : (m == null || m.unregister(), y == null || y.unregister()); }); const { colorClasses: p, colorStyles: w, variantClasses: P } = Ka(() => ({ color: !m || m.isSelected.value ? e.color ?? e.baseColor : e.baseColor, variant: e.variant })); function _(k) { var E; a("click", k), g.value && ((E = f.navigate) == null || E.call(f, k), m == null || m.toggle()); } function I(k) { (k.key === "Enter" || k.key === " ") && (k.preventDefault(), _(k)); } return () => { var j; const k = f.isLink.value ? "a" : e.tag, E = !!(e.appendIcon || e.appendAvatar), T = !!(E || l.append), M = !!(l.close || e.closable), N = !!(l.filter || e.filter) && m, B = !!(e.prependIcon || e.prependAvatar), $ = !!(B || l.prepend); return v.value && ze(S(k, Y(f.linkProps, { class: ["v-chip", { "v-chip--disabled": e.disabled, "v-chip--label": e.label, "v-chip--link": g.value, "v-chip--filter": N, "v-chip--pill": e.pill, [`${e.activeClass}`]: e.activeClass && ((j = f.isActive) == null ? void 0 : j.value) }, d.value, i.value, p.value, o.value, s.value, u.value, c.value, P.value, m == null ? void 0 : m.selectedClass.value, e.class], style: [w.value, e.style], disabled: e.disabled || void 0, draggable: e.draggable, tabindex: g.value ? 0 : void 0, onClick: _, onKeydown: g.value && !b.value && I }), { default: () => { var G; return [Ga(g.value, "v-chip"), N && S(tc, { key: "filter" }, { default: () => [ze(C("div", { class: "v-chip__filter" }, [l.filter ? S(De, { key: "filter-defaults", disabled: !e.filterIcon, defaults: { VIcon: { icon: e.filterIcon } } }, l.filter) : S(Le, { key: "filter-icon", icon: e.filterIcon }, null)]), [[ln, m.isSelected.value]])] }), $ && C("div", { key: "prepend", class: "v-chip__prepend" }, [l.prepend ? S(De, { key: "prepend-defaults", disabled: !B, defaults: { VAvatar: { image: e.prependAvatar, start: !0 }, VIcon: { icon: e.prependIcon, start: !0 } } }, l.prepend) : C(ue, null, [e.prependIcon && S(Le, { key: "prepend-icon", icon: e.prependIcon, start: !0 }, null), e.prependAvatar && S(Hn, { key: "prepend-avatar", image: e.prependAvatar, start: !0 }, null)])]), C("div", { class: "v-chip__content", "data-no-activator": "" }, [((G = l.default) == null ? void 0 : G.call(l, { isSelected: m == null ? void 0 : m.isSelected.value, selectedClass: m == null ? void 0 : m.selectedClass.value, select: m == null ? void 0 : m.select, toggle: m == null ? void 0 : m.toggle, value: m == null ? void 0 : m.value.value, disabled: e.disabled })) ?? tt(e.text)]), T && C("div", { key: "append", class: "v-chip__append" }, [l.append ? S(De, { key: "append-defaults", disabled: !E, defaults: { VAvatar: { end: !0, image: e.appendAvatar }, VIcon: { end: !0, icon: e.appendIcon } } }, l.append) : C(ue, null, [e.appendIcon && S(Le, { key: "append-icon", end: !0, icon: e.appendIcon }, null), e.appendAvatar && S(Hn, { key: "append-avatar", end: !0, image: e.appendAvatar }, null)])]), M && C("button", Y({ key: "close", class: "v-chip__close", type: "button", "data-testid": "close-chip" }, h.value), [l.close ? S(De, { key: "close-defaults", defaults: { VIcon: { icon: e.closeIcon, size: "x-small" } } }, l.close) : S(Le, { key: "close-icon", icon: e.closeIcon, size: "x-small" }, null)])]; } }), [[nn, g.value && e.ripple, null]]); }; } }), lr = Symbol.for("vuetify:list"); function _c() { let { filterable: e } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : { filterable: !1 }; const t = xe(lr, { filterable: !1, hasPrepend: Z(!1), updateHasPrepend: () => null }), n = { filterable: t.filterable || e, hasPrepend: Z(!1), updateHasPrepend: (a) => { a && (n.hasPrepend.value = a); } }; return Be(lr, n), t; } function Vc() { return xe(lr, null); } const Kr = (e) => { const t = { activate: (n) => { let { id: a, value: l, activated: r } = n; return a = Ie(a), e && !l && r.size === 1 && r.has(a) || (l ? r.add(a) : r.delete(a)), r; }, in: (n, a, l) => { let r = /* @__PURE__ */ new Set(); if (n != null) for (const i of Pe(n)) r = t.activate({ id: i, value: !0, activated: new Set(r), children: a, parents: l }); return r; }, out: (n) => Array.from(n) }; return t; }, Oc = (e) => { const t = Kr(e); return { activate: (a) => { let { activated: l, id: r, ...i } = a; r = Ie(r); const o = l.has(r) ? /* @__PURE__ */ new Set([r]) : /* @__PURE__ */ new Set(); return t.activate({ ...i, id: r, activated: o }); }, in: (a, l, r) => { let i = /* @__PURE__ */ new Set(); if (a != null) { const o = Pe(a); o.length && (i = t.in(o.slice(0, 1), l, r)); } return i; }, out: (a, l, r) => t.out(a, l, r) }; }, wp = (e) => { const t = Kr(e); return { activate: (a) => { let { id: l, activated: r, children: i, ...o } = a; return l = Ie(l), i.has(l) ? r : t.activate({ id: l, activated: r, children: i, ...o }); }, in: t.in, out: t.out }; }, kp = (e) => { const t = Oc(e); return { activate: (a) => { let { id: l, activated: r, children: i, ...o } = a; return l = Ie(l), i.has(l) ? r : t.activate({ id: l, activated: r, children: i, ...o }); }, in: t.in, out: t.out }; }, xp = { open: (e) => { let { id: t, value: n, opened: a, parents: l } = e; if (n) { const r = /* @__PURE__ */ new Set(); r.add(t); let i = l.get(t); for (; i != null; ) r.add(i), i = l.get(i); return r; } else return a.delete(t), a; }, select: () => null }, Ec = { open: (e) => { let { id: t, value: n, opened: a, parents: l } = e; if (n) { let r = l.get(t); for (a.add(t); r != null && r !== t; ) a.add(r), r = l.get(r); return a; } else a.delete(t); return a; }, select: () => null }, Cp = { open: Ec.open, select: (e) => { let { id: t, value: n, opened: a, parents: l } = e; if (!n) return a; const r = []; let i = l.get(t); for (; i != null; ) r.push(i), i = l.get(i); return new Set(r); } }, qr = (e) => { const t = { select: (n) => { let { id: a, value: l, selected: r } = n; if (a = Ie(a), e && !l) { const i = Array.from(r.entries()).reduce((o, s) => { let [u, c] = s; return c === "on" && o.push(u), o; }, []); if (i.length === 1 && i[0] === a) return r; } return r.set(a, l ? "on" : "off"), r; }, in: (n, a, l, r) => { const i = /* @__PURE__ */ new Map(); for (const o of n || []) t.select({ id: o, value: !0, selected: i, children: a, parents: l, disabled: r }); return i; }, out: (n) => { const a = []; for (const [l, r] of n.entries()) r === "on" && a.push(l); return a; } }; return t; }, Tc = (e) => { const t = qr(e); return { select: (a) => { let { selected: l, id: r, ...i } = a; r = Ie(r); const o = l.has(r) ? /* @__PURE__ */ new Map([[r, l.get(r)]]) : /* @__PURE__ */ new Map(); return t.select({ ...i, id: r, selected: o }); }, in: (a, l, r, i) => a != null && a.length ? t.in(a.slice(0, 1), l, r, i) : /* @__PURE__ */ new Map(), out: (a, l, r) => t.out(a, l, r) }; }, Pp = (e) => { const t = qr(e); return { select: (a) => { let { id: l, selected: r, children: i, ...o } = a; return l = Ie(l), i.has(l) ? r : t.select({ id: l, selected: r, children: i, ...o }); }, in: t.in, out: t.out }; }, Ip = (e) => { const t = Tc(e); return { select: (a) => { let { id: l, selected: r, children: i, ...o } = a; return l = Ie(l), i.has(l) ? r : t.select({ id: l, selected: r, children: i, ...o }); }, in: t.in, out: t.out }; }, Fc = (e) => { const t = { select: (n) => { let { id: a, value: l, selected: r, children: i, parents: o, disabled: s } = n; a = Ie(a); const u = new Map(r), c = [a]; for (; c.length; ) { const v = c.shift(); s.has(v) || r.set(Ie(v), l ? "on" : "off"), i.has(v) && c.push(...i.get(v)); } let d = Ie(o.get(a)); for (; d; ) { let v = !0, m = !0; for (const y of i.get(d)) { const f = Ie(y); if (!s.has(f) && (r.get(f) !== "on" && (v = !1), r.has(f) && r.get(f) !== "off" && (m = !1), !v && !m)) break; } r.set(d, v ? "on" : m ? "off" : "indeterminate"), d = Ie(o.get(d)); } return e && !l && Array.from(r.entries()).reduce((m, y) => { let [f, b] = y; return b === "on" && m.push(f), m; }, []).length === 0 ? u : r; }, in: (n, a, l) => { let r = /* @__PURE__ */ new Map(); for (const i of n || []) r = t.select({ id: i, value: !0, selected: r, children: a, parents: l, disabled: /* @__PURE__ */ new Set() }); return r; }, out: (n, a) => { const l = []; for (const [r, i] of n.entries()) i === "on" && !a.has(r) && l.push(r); return l; } }; return t; }, Ap = (e) => { const t = Fc(e); return { select: t.select, in: t.in, out: (a, l, r) => { const i = []; for (const [o, s] of a.entries()) if (s === "on") { if (r.has(o)) { const u = r.get(o); if (a.get(u) === "on") continue; } i.push(o); } return i; } }; }, Sn = Symbol.for("vuetify:nested"), Dc = { id: Z(), root: { itemsRegistration: ne("render"), register: () => null, unregister: () => null, updateDisabled: () => null, children: ne(/* @__PURE__ */ new Map()), parents: ne(/* @__PURE__ */ new Map()), disabled: ne(/* @__PURE__ */ new Set()), open: () => null, openOnSelect: () => null, activate: () => null, select: () => null, activatable: ne(!1), selectable: ne(!1), opened: ne(/* @__PURE__ */ new Set()), activated: ne(/* @__PURE__ */ new Set()), selected: ne(/* @__PURE__ */ new Map()), selectedValues: ne([]), getPath: () => [] } }, _p = L({ activatable: Boolean, selectable: Boolean, activeStrategy: [String, Function, Object], selectStrategy: [String, Function, Object], openStrategy: [String, Object], opened: null, activated: null, selected: null, mandatory: Boolean, itemsRegistration: { type: String, default: "render" } }, "nested"), Vp = (e, t, n) => { let a = !1; const l = Z(/* @__PURE__ */ new Map()), r = Z(/* @__PURE__ */ new Map()), i = Z(/* @__PURE__ */ new Set()), o = me(e, "opened", e.opened, (p) => new Set(Array.isArray(p) ? p.map((w) => Ie(w)) : p), (p) => [...p.values()]), s = x(() => { if (typeof e.activeStrategy == "object") return e.activeStrategy; if (typeof e.activeStrategy == "function") return e.activeStrategy(e.mandatory); switch (e.activeStrategy) { case "leaf": return wp(e.mandatory); case "single-leaf": return kp(e.mandatory); case "independent": return Kr(e.mandatory); case "single-independent": default: return Oc(e.mandatory); } }), u = x(() => { if (typeof e.selectStrategy == "object") return e.selectStrategy; if (typeof e.selectStrategy == "function") return e.selectStrategy(e.mandatory); switch (e.selectStrategy) { case "single-leaf": return Ip(e.mandatory); case "leaf": return Pp(e.mandatory); case "independent": return qr(e.mandatory); case "single-independent": return Tc(e.mandatory); case "trunk": return Ap(e.mandatory); case "classic": default: return Fc(e.mandatory); } }), c = x(() => { if (typeof e.openStrategy == "object") return e.openStrategy; switch (e.openStrategy) { case "list": return Cp; case "single": return xp; case "multiple": default: return Ec; } }), d = me(e, "activated", e.activated, (p) => s.value.in(p, l.value, r.value), (p) => s.value.out(p, l.value, r.value)), v = me(e, "selected", e.selected, (p) => u.value.in(p, l.value, r.value, i.value), (p) => u.value.out(p, l.value, r.value)); _t(() => { a = !0; }); function m(p) { const w = []; let P = Ie(p); for (; P !== void 0; ) w.unshift(P), P = r.value.get(P); return w; } const y = Ve("nested"), f = /* @__PURE__ */ new Set(), b = kh(() => { Ae(() => { l.value = new Map(l.value), r.value = new Map(r.value); }); }, 100); le(() => [t.value, Me(n)], () => { e.itemsRegistration === "props" && g(); }, { immediate: !0 }); function g() { const p = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map(), P = /* @__PURE__ */ new Set(), _ = Me(n) ? (E) => Ie(E.raw) : (E) => E.value, I = [...t.value]; let k = 0; for (; k < I.length; ) { const E = I[k++], T = _(E); if (E.children) { const M = []; for (const N of E.children) { const B = _(N); p.set(B, T), M.push(B), I.push(N); } w.set(T, M); } E.props.disabled && P.add(T); } l.value = w, r.value = p, i.value = P; } const h = { id: Z(), root: { opened: o, activatable: O(() => e.activatable), selectable: O(() => e.selectable), activated: d, selected: v, selectedValues: x(() => { const p = []; for (const [w, P] of v.value.entries()) P === "on" && p.push(w); return p; }), itemsRegistration: O(() => e.itemsRegistration), register: (p, w, P, _) => { if (f.has(p)) { const I = m(p).map(String).join(" -> "), k = m(w).concat(p).map(String).join(" -> "); Jn(`Multiple nodes with the same ID ${I} ${k}`); return; } else f.add(p); w && p !== w && r.value.set(p, w), P && i.value.add(p), _ && l.value.set(p, []), w != null && l.value.set(w, [...l.value.get(w) || [], p]), b(); }, unregister: (p) => { if (a) return; f.delete(p), l.value.delete(p), i.value.delete(p); const w = r.value.get(p); if (w) { const P = l.value.get(w) ?? []; l.value.set(w, P.filter((_) => _ !== p)); } r.value.delete(p), b(); }, updateDisabled: (p, w) => { w ? i.value.add(p) : i.value.delete(p); }, open: (p, w, P) => { y.emit("click:open", { id: p, value: w, path: m(p), event: P }); const _ = c.value.open({ id: p, value: w, opened: new Set(o.value), children: l.value, parents: r.value, event: P }); _ && (o.value = _); }, openOnSelect: (p, w, P) => { const _ = c.value.select({ id: p, value: w, selected: new Map(v.value), opened: new Set(o.value), children: l.value, parents: r.value, event: P }); _ && (o.value = _); }, select: (p, w, P) => { y.emit("click:select", { id: p, value: w, path: m(p), event: P }); const _ = u.value.select({ id: p, value: w, selected: new Map(v.value), children: l.value, parents: r.value, disabled: i.value, event: P }); _ && (v.value = _), h.root.openOnSelect(p, w, P); }, activate: (p, w, P) => { if (!e.activatable) return h.root.select(p, !0, P); y.emit("click:activate", { id: p, value: w, path: m(p), event: P }); const _ = s.value.activate({ id: p, value: w, activated: new Set(d.value), children: l.value, parents: r.value, event: P }); if (_.size !== d.value.size) d.value = _; else { for (const I of _) if (!d.value.has(I)) { d.value = _; return; } for (const I of d.value) if (!_.has(I)) { d.value = _; return; } } }, children: l, parents: r, disabled: i, getPath: m } }; return Be(Sn, h), h.root; }, Nc = (e, t, n) => { const a = xe(Sn, Dc), l = Symbol("nested item"), r = x(() => { const o = Ie(Me(e)); return o !== void 0 ? o : l; }), i = { ...a, id: r, open: (o, s) => a.root.open(r.value, o, s), openOnSelect: (o, s) => a.root.openOnSelect(r.value, o, s), isOpen: x(() => a.root.opened.value.has(r.value)), parent: x(() => a.root.parents.value.get(r.value)), activate: (o, s) => a.root.activate(r.value, o, s), isActivated: x(() => a.root.activated.value.has(r.value)), select: (o, s) => a.root.select(r.value, o, s), isSelected: x(() => a.root.selected.value.get(r.value) === "on"), isIndeterminate: x(() => a.root.selected.value.get(r.value) === "indeterminate"), isLeaf: x(() => !a.root.children.value.get(r.value)), isGroupActivator: a.isGroupActivator }; return ja(() => { a.isGroupActivator || a.root.itemsRegistration.value === "props" || Ae(() => { a.root.register(r.value, a.id.value, Me(t), n); }); }), _t(() => { a.isGroupActivator || a.root.itemsRegistration.value === "props" || a.root.unregister(r.value); }), le(r, (o, s) => { a.isGroupActivator || a.root.itemsRegistration.value === "props" || (a.root.unregister(s), Ae(() => { a.root.register(o, a.id.value, Me(t), n); })); }), le(() => Me(t), (o) => { a.root.updateDisabled(r.value, o); }), n && Be(Sn, i), i; }, Op = () => { const e = xe(Sn, Dc); Be(Sn, { ...e, isGroupActivator: !0 }); }; function Ep() { const e = Z(!1); return kn(() => { window.requestAnimationFrame(() => { e.value = !0; }); }), { ssrBootStyles: O(() => e.value ? void 0 : { transition: "none !important" }), isBooted: ur(e) }; } const Tp = Qn({ name: "VListGroupActivator", setup(e, t) { let { slots: n } = t; return Op(), () => { var a; return (a = n.default) == null ? void 0 : a.call(n); }; } }), Fp = L({ /* @deprecated */ activeColor: String, baseColor: String, color: String, collapseIcon: { type: se, default: "$collapse" }, disabled: Boolean, expandIcon: { type: se, default: "$expand" }, rawId: [String, Number], prependIcon: se, appendIcon: se, fluid: Boolean, subgroup: Boolean, title: String, value: null, ...he(), ...Oe() }, "VListGroup"), Uo = q()({ name: "VListGroup", props: Fp(), setup(e, t) { let { slots: n } = t; const { isOpen: a, open: l, id: r } = Nc(() => e.value, () => e.disabled, !0), i = x(() => `v-list-group--id-${String(e.rawId ?? r.value)}`), o = Vc(), { isBooted: s } = Ep(), u = xe(Sn), c = O(() => { var f; return ((f = u == null ? void 0 : u.root) == null ? void 0 : f.itemsRegistration.value) === "render"; }); function d(f) { var b; ["INPUT", "TEXTAREA"].includes((b = f.target) == null ? void 0 : b.tagName) || l(!a.value, f); } const v = x(() => ({ onClick: d, class: "v-list-group__header", id: i.value })), m = x(() => a.value ? e.collapseIcon : e.expandIcon), y = x(() => ({ VListItem: { activeColor: e.activeColor, baseColor: e.baseColor, color: e.color, prependIcon: e.prependIcon || e.subgroup && m.value, appendIcon: e.appendIcon || !e.subgroup && m.value, title: e.title, value: e.value } })); return re(() => S(e.tag, { class: ee(["v-list-group", { "v-list-group--prepend": o == null ? void 0 : o.hasPrepend.value, "v-list-group--fluid": e.fluid, "v-list-group--subgroup": e.subgroup, "v-list-group--open": a.value }, e.class]), style: ge(e.style) }, { default: () => [n.activator && S(De, { defaults: y.value }, { default: () => [S(Tp, null, { default: () => [n.activator({ props: v.value, isOpen: a.value })] })] }), S(ft, { transition: { component: wy }, disabled: !s.value }, { default: () => { var f, b; return [c.value ? ze(C("div", { class: "v-list-group__items", role: "group", "aria-labelledby": i.value }, [(f = n.default) == null ? void 0 : f.call(n)]), [[ln, a.value]]) : a.value && C("div", { class: "v-list-group__items", role: "group", "aria-labelledby": i.value }, [(b = n.default) == null ? void 0 : b.call(n)])]; } })] })), { isOpen: a }; } }), Dp = L({ opacity: [Number, String], ...he(), ...Oe() }, "VListItemSubtitle"), Np = q()({ name: "VListItemSubtitle", props: Dp(), setup(e, t) { let { slots: n } = t; return re(() => S(e.tag, { class: ee(["v-list-item-subtitle", e.class]), style: ge([{ "--v-list-item-subtitle-opacity": e.opacity }, e.style]) }, n)), {}; } }), Mp = Or("v-list-item-title"), Lp = L({ active: { type: Boolean, default: void 0 }, activeClass: String, /* @deprecated */ activeColor: String, appendAvatar: String, appendIcon: se, baseColor: String, disabled: Boolean, lines: [Boolean, String], link: { type: Boolean, default: void 0 }, nav: Boolean, prependAvatar: String, prependIcon: se, ripple: { type: [Boolean, Object], default: !0 }, slim: Boolean, prependGap: [Number, String], subtitle: { type: [String, Number, Boolean], default: void 0 }, title: { type: [String, Number, Boolean], default: void 0 }, value: null, onClick: $e(), onClickOnce: $e(), ...Wt(), ...he(), ...lt(), ...St(), ...on(), ...ut(), ...Br(), ...Oe(), ...Ne(), ...Ht({ variant: "text" }) }, "VListItem"), Da = q()({ name: "VListItem", directives: { vRipple: nn }, props: Lp(), emits: { click: (e) => !0 }, setup(e, t) { let { attrs: n, slots: a, emit: l } = t; const r = Lr(e, n), i = x(() => e.value === void 0 ? r.href.value : e.value), { activate: o, isActivated: s, select: u, isOpen: c, isSelected: d, isIndeterminate: v, isGroupActivator: m, root: y, parent: f, openOnSelect: b, id: g } = Nc(i, () => e.disabled, !1), h = Vc(), p = x(() => { var D; return e.active !== !1 && (e.active || ((D = r.isActive) == null ? void 0 : D.value) || (y.activatable.value ? s.value : d.value)); }), w = O(() => e.link !== !1 && r.isLink.value), P = x(() => !!h && (y.selectable.value || y.activatable.value || e.value != null)), _ = x(() => !e.disabled && e.link !== !1 && (e.link || r.isClickable.value || P.value)), I = x(() => h ? w.value ? "link" : P.value ? "option" : "listitem" : void 0), k = x(() => { if (P.value) return y.activatable.value ? s.value : y.selectable.value ? d.value : p.value; }), E = O(() => e.rounded || e.nav), T = O(() => e.color ?? e.activeColor), M = O(() => ({ color: p.value ? T.value ?? e.baseColor : e.baseColor, variant: e.variant })); le(() => { var D; return (D = r.isActive) == null ? void 0 : D.value; }, (D) => { D && N(); }), ja(() => { var D; (D = r.isActive) != null && D.value && Ae(() => N()); }); function N() { f.value != null && y.open(f.value, !0), b(!0); } const { themeClasses: B } = Xe(e), { borderClasses: $ } = rn(e), { colorClasses: j, colorStyles: G, variantClasses: K } = Ka(M), { densityClasses: z } = Et(e), { dimensionStyles: te } = wt(e), { elevationClasses: W } = Pn(e), { roundedClasses: Q } = mt(E), R = O(() => e.lines ? `v-list-item--${e.lines}-line` : void 0), A = O(() => e.ripple !== void 0 && e.ripple && (h != null && h.filterable) ? { keys: ["Enter"] } : e.ripple), V = x(() => ({ isActive: p.value, select: u, isOpen: c.value, isSelected: d.value, isIndeterminate: v.value })); function F(D) { var J, ce; l("click", D), !["INPUT", "TEXTAREA"].includes((J = D.target) == null ? void 0 : J.tagName) && _.value && ((ce = r.navigate) == null || ce.call(r, D), !m && (y.activatable.value ? o(!s.value, D) : (y.selectable.value || e.value != null && !w.value) && u(!d.value, D))); } function U(D) { const J = D.target; ["INPUT", "TEXTAREA"].includes(J.tagName) || (D.key === "Enter" || D.key === " " && !(h != null && h.filterable)) && (D.preventDefault(), D.stopPropagation(), D.target.dispatchEvent(new MouseEvent("click", D))); } return re(() => { const D = w.value ? "a" : e.tag, J = a.title || e.title != null, ce = a.subtitle || e.subtitle != null, fe = !!(e.appendAvatar || e.appendIcon), ie = !!(fe || a.append), ve = !!(e.prependAvatar || e.prependIcon), Ee = !!(ve || a.prepend); return h == null || h.updateHasPrepend(Ee), e.activeColor && Rg("active-color", ["color", "base-color"]), ze(S(D, Y(r.linkProps, { class: ["v-list-item", { "v-list-item--active": p.value, "v-list-item--disabled": e.disabled, "v-list-item--link": _.value, "v-list-item--nav": e.nav, "v-list-item--slim": e.slim, [`${e.activeClass}`]: e.activeClass && p.value }, B.value, $.value, j.value, z.value, W.value, R.value, Q.value, K.value, e.class], style: [{ "--v-list-prepend-gap": X(e.prependGap) }, G.value, te.value, e.style], tabindex: _.value ? h ? -2 : 0 : void 0, "aria-selected": k.value, role: I.value, onClick: F, onKeydown: _.value && !w.value && U }), { default: () => { var ke; return [Ga(_.value || p.value, "v-list-item"), Ee && C("div", { key: "prepend", class: "v-list-item__prepend" }, [a.prepend ? S(De, { key: "prepend-defaults", disabled: !ve, defaults: { VAvatar: { density: e.density, image: e.prependAvatar }, VIcon: { density: e.density, icon: e.prependIcon }, VListItemAction: { start: !0 } } }, { default: () => { var we; return [(we = a.prepend) == null ? void 0 : we.call(a, V.value)]; } }) : C(ue, null, [e.prependAvatar && S(Hn, { key: "prepend-avatar", density: e.density, image: e.prependAvatar }, null), e.prependIcon && S(Le, { key: "prepend-icon", density: e.density, icon: e.prependIcon }, null)]), C("div", { class: "v-list-item__spacer" }, null)]), C("div", { class: "v-list-item__content", "data-no-activator": "" }, [J && S(Mp, { key: "title" }, { default: () => { var we; return [((we = a.title) == null ? void 0 : we.call(a, { title: e.title })) ?? tt(e.title)]; } }), ce && S(Np, { key: "subtitle" }, { default: () => { var we; return [((we = a.subtitle) == null ? void 0 : we.call(a, { subtitle: e.subtitle })) ?? tt(e.subtitle)]; } }), (ke = a.default) == null ? void 0 : ke.call(a, V.value)]), ie && C("div", { key: "append", class: "v-list-item__append" }, [a.append ? S(De, { key: "append-defaults", disabled: !fe, defaults: { VAvatar: { density: e.density, image: e.appendAvatar }, VIcon: { density: e.density, icon: e.appendIcon }, VListItemAction: { end: !0 } } }, { default: () => { var we; return [(we = a.append) == null ? void 0 : we.call(a, V.value)]; } }) : C(ue, null, [e.appendIcon && S(Le, { key: "append-icon", density: e.density, icon: e.appendIcon }, null), e.appendAvatar && S(Hn, { key: "append-avatar", density: e.density, image: e.appendAvatar }, null)]), C("div", { class: "v-list-item__spacer" }, null)])]; } }), [[nn, _.value && A.value]]); }), { activate: o, isActivated: s, isGroupActivator: m, isSelected: d, list: h, select: u, root: y, id: g, link: r }; } }), Bp = L({ color: String, inset: Boolean, sticky: Boolean, title: String, ...he(), ...Oe() }, "VListSubheader"), Mc = q()({ name: "VListSubheader", props: Bp(), setup(e, t) { let { slots: n } = t; const { textColorClasses: a, textColorStyles: l } = yt(() => e.color); return re(() => { const r = !!(n.default || e.title); return S(e.tag, { class: ee(["v-list-subheader", { "v-list-subheader--inset": e.inset, "v-list-subheader--sticky": e.sticky }, a.value, e.class]), style: ge([{ textColorStyles: l }, e.style]) }, { default: () => { var i; return [r && C("div", { class: "v-list-subheader__text" }, [((i = n.default) == null ? void 0 : i.call(n)) ?? e.title])]; } }); }), {}; } }), Rp = L({ items: Array, returnObject: Boolean }, "VListChildren"), Lc = q()({ name: "VListChildren", props: Rp(), setup(e, t) { let { slots: n } = t; return _c(), () => { var a, l; return ((a = n.default) == null ? void 0 : a.call(n)) ?? ((l = e.items) == null ? void 0 : l.map((r) => { var v, m; let { children: i, props: o, type: s, raw: u } = r; if (s === "divider") return ((v = n.divider) == null ? void 0 : v.call(n, { props: o })) ?? S(Dt, o, null); if (s === "subheader") return ((m = n.subheader) == null ? void 0 : m.call(n, { props: o })) ?? S(Mc, o, null); const c = { subtitle: n.subtitle ? (y) => { var f; return (f = n.subtitle) == null ? void 0 : f.call(n, { ...y, item: u }); } : void 0, prepend: n.prepend ? (y) => { var f; return (f = n.prepend) == null ? void 0 : f.call(n, { ...y, item: u }); } : void 0, append: n.append ? (y) => { var f; return (f = n.append) == null ? void 0 : f.call(n, { ...y, item: u }); } : void 0, title: n.title ? (y) => { var f; return (f = n.title) == null ? void 0 : f.call(n, { ...y, item: u }); } : void 0 }, d = Uo.filterProps(o); return i ? S(Uo, Y(d, { value: e.returnObject ? u : o == null ? void 0 : o.value, rawId: o == null ? void 0 : o.value }), { activator: (y) => { let { props: f } = y; const b = Y(o, f, { value: e.returnObject ? u : o.value }); return n.header ? n.header({ props: b }) : S(Da, b, c); }, default: () => S(Lc, { items: i, returnObject: e.returnObject }, n) }) : n.item ? n.item({ props: o }) : S(Da, Y(o, { value: e.returnObject ? u : o.value }), c); })); }; } }), Bc = L({ items: { type: Array, default: () => [] }, itemTitle: { type: [String, Array, Function], default: "title" }, itemValue: { type: [String, Array, Function], default: "value" }, itemChildren: { type: [Boolean, String, Array, Function], default: "children" }, itemProps: { type: [Boolean, String, Array, Function], default: "props" }, itemType: { type: [Boolean, String, Array, Function], default: "type" }, returnObject: Boolean, valueComparator: Function }, "list-items"), $p = /* @__PURE__ */ new Set(["item", "divider", "subheader"]); function mn(e, t) { const n = Ke(t, e.itemTitle, t), a = Ke(t, e.itemValue, n), l = Ke(t, e.itemChildren), r = e.itemProps === !0 ? typeof t == "object" && t != null && !Array.isArray(t) ? "children" in t ? _e(t, ["children"]) : t : void 0 : Ke(t, e.itemProps); let i = Ke(t, e.itemType, "item"); $p.has(i) || (i = "item"); const o = { title: n, value: a, ...r }; return { type: i, title: String(o.title ?? ""), value: o.value, props: o, children: i === "item" && Array.isArray(l) ? Rc(e, l) : void 0, raw: t }; } mn.neededProps = ["itemTitle", "itemValue", "itemChildren", "itemProps", "itemType"]; function Rc(e, t) { const n = $t(e, mn.neededProps), a = []; for (const l of t) a.push(mn(n, l)); return a; } function jp(e) { const t = x(() => Rc(e, e.items)), n = x(() => t.value.some((o) => o.value === null)), a = Z(/* @__PURE__ */ new Map()), l = Z([]); qe(() => { const o = t.value, s = /* @__PURE__ */ new Map(), u = []; for (let c = 0; c < o.length; c++) { const d = o[c]; if (jt(d.value) || d.value === null) { let v = s.get(d.value); v || (v = [], s.set(d.value, v)), v.push(d); } else u.push(d); } a.value = s, l.value = u; }); function r(o) { const s = a.value, u = t.value, c = l.value, d = n.value, v = e.returnObject, m = !!e.valueComparator, y = e.valueComparator || Qe, f = $t(e, mn.neededProps), b = []; e: for (const g of o) { if (!d && g === null) continue; if (v && typeof g == "string") { b.push(mn(f, g)); continue; } const h = s.get(g); if (m || !h) { for (const p of m ? u : c) if (y(g, p.value)) { b.push(p); continue e; } b.push(mn(f, g)); continue; } b.push(...h); } return b; } function i(o) { return e.returnObject ? o.map((s) => { let { raw: u } = s; return u; }) : o.map((s) => { let { value: u } = s; return u; }); } return { items: t, transformIn: r, transformOut: i }; } const zp = /* @__PURE__ */ new Set(["item", "divider", "subheader"]); function Wp(e, t) { const n = jt(t) ? t : Ke(t, e.itemTitle), a = jt(t) ? t : Ke(t, e.itemValue, void 0), l = Ke(t, e.itemChildren), r = e.itemProps === !0 ? _e(t, ["children"]) : Ke(t, e.itemProps); let i = Ke(t, e.itemType, "item"); zp.has(i) || (i = "item"); const o = { title: n, value: a, ...r }; return { type: i, title: o.title, value: o.value, props: o, children: i === "item" && l ? $c(e, l) : void 0, raw: t }; } function $c(e, t) { const n = []; for (const a of t) n.push(Wp(e, a)); return n; } function Hp(e) { return { items: x(() => $c(e, e.items)) }; } const Up = L({ baseColor: String, /* @deprecated */ activeColor: String, activeClass: String, bgColor: String, disabled: Boolean, filterable: Boolean, expandIcon: se, collapseIcon: se, lines: { type: [Boolean, String], default: "one" }, slim: Boolean, prependGap: [Number, String], indent: [Number, String], nav: Boolean, "onClick:open": $e(), "onClick:select": $e(), "onUpdate:opened": $e(), ..._p({ selectStrategy: "single-leaf", openStrategy: "list" }), ...Wt(), ...he(), ...lt(), ...St(), ...on(), ...Bc(), ...ut(), ...Oe(), ...Ne(), ...Ht({ variant: "text" }) }, "VList"), Yp = q()({ name: "VList", props: Up(), emits: { "update:selected": (e) => !0, "update:activated": (e) => !0, "update:opened": (e) => !0, "click:open": (e) => !0, "click:activate": (e) => !0, "click:select": (e) => !0 }, setup(e, t) { let { slots: n } = t; const { items: a } = Hp(e), { themeClasses: l } = Xe(e), { backgroundColorClasses: r, backgroundColorStyles: i } = nt(() => e.bgColor), { borderClasses: o } = rn(e), { densityClasses: s } = Et(e), { dimensionStyles: u } = wt(e), { elevationClasses: c } = Pn(e), { roundedClasses: d } = mt(e), { children: v, open: m, parents: y, select: f, getPath: b } = Vp(e, a, () => e.returnObject), g = O(() => e.lines ? `v-list--${e.lines}-line` : void 0), h = O(() => e.activeColor), p = O(() => e.baseColor), w = O(() => e.color), P = O(() => e.selectable || e.activatable); _c({ filterable: e.filterable }), It({ VListGroup: { activeColor: h, baseColor: p, color: w, expandIcon: O(() => e.expandIcon), collapseIcon: O(() => e.collapseIcon) }, VListItem: { activeClass: O(() => e.activeClass), activeColor: h, baseColor: p, color: w, density: O(() => e.density), disabled: O(() => e.disabled), lines: O(() => e.lines), nav: O(() => e.nav), slim: O(() => e.slim), variant: O(() => e.variant) } }); const _ = Z(!1), I = ne(); function k($) { _.value = !0; } function E($) { _.value = !1; } function T($) { var j; !_.value && !($.relatedTarget && ((j = I.value) != null && j.contains($.relatedTarget))) && B(); } function M($) { const j = $.target; if (!(!I.value || j.tagName === "INPUT" && ["Home", "End"].includes($.key) || j.tagName === "TEXTAREA")) { if ($.key === "ArrowDown") B("next"); else if ($.key === "ArrowUp") B("prev"); else if ($.key === "Home") B("first"); else if ($.key === "End") B("last"); else return; $.preventDefault(); } } function N($) { _.value = !0; } function B($) { if (I.value) return Bn(I.value, $); } return re(() => { const $ = e.indent ?? (e.prependGap ? Number(e.prependGap) + 24 : void 0); return S(e.tag, { ref: I, class: ee(["v-list", { "v-list--disabled": e.disabled, "v-list--nav": e.nav, "v-list--slim": e.slim }, l.value, r.value, o.value, s.value, c.value, g.value, d.value, e.class]), style: ge([{ "--v-list-indent": X($), "--v-list-group-prepend": $ ? "0px" : void 0, "--v-list-prepend-gap": X(e.prependGap) }, i.value, u.value, e.style]), tabindex: e.disabled ? -1 : 0, role: P.value ? "listbox" : "list", "aria-activedescendant": void 0, onFocusin: k, onFocusout: E, onFocus: T, onKeydown: M, onMousedown: N }, { default: () => [S(Lc, { items: a.value, returnObject: e.returnObject }, n)] }); }), { open: m, select: f, focus: B, children: v, parents: y, getPath: b }; } }), Gp = L({ renderless: Boolean, ...he() }, "VVirtualScrollItem"), Kp = q()({ name: "VVirtualScrollItem", inheritAttrs: !1, props: Gp(), emits: { "update:height": (e) => !0 }, setup(e, t) { let { attrs: n, emit: a, slots: l } = t; const { resizeRef: r, contentRect: i } = tn(void 0, "border"); le(() => { var o; return (o = i.value) == null ? void 0 : o.height; }, (o) => { o != null && a("update:height", o); }), re(() => { var o, s; return e.renderless ? C(ue, null, [(o = l.default) == null ? void 0 : o.call(l, { itemRef: r })]) : C("div", Y({ ref: r, class: ["v-virtual-scroll__item", e.class], style: e.style }, n), [(s = l.default) == null ? void 0 : s.call(l)]); }); } }), qp = -1, Xp = 1, wl = 100, Jp = L({ itemHeight: { type: [Number, String], default: null }, itemKey: { type: [String, Array, Function], default: null }, height: [Number, String] }, "virtual"); function Qp(e, t) { const n = Ut(), a = Z(0); qe(() => { a.value = parseFloat(e.itemHeight || 0); }); const l = Z(0), r = Z(Math.ceil( // Assume 16px items filling the entire screen height if // not provided. This is probably incorrect but it minimises // the chance of ending up with empty space at the bottom. // The default value is set here to avoid poisoning getSize() (parseInt(e.height) || n.height.value) / (a.value || 16) ) || 1), i = Z(0), o = Z(0), s = ne(), u = ne(); let c = 0; const { resizeRef: d, contentRect: v } = tn(); qe(() => { d.value = s.value; }); const m = x(() => { var W; return s.value === document.documentElement ? n.height.value : ((W = v.value) == null ? void 0 : W.height) || parseInt(e.height) || 0; }), y = x(() => !!(s.value && u.value && m.value && a.value)); let f = Array.from({ length: t.value.length }), b = Array.from({ length: t.value.length }); const g = Z(0); let h = -1; function p(W) { return f[W] || a.value; } const w = Wg(() => { const W = performance.now(); b[0] = 0; const Q = t.value.length; for (let R = 1; R <= Q; R++) b[R] = (b[R - 1] || 0) + p(R - 1); g.value = Math.max(g.value, performance.now() - W); }, g), P = le(y, (W) => { W && (P(), c = u.value.offsetTop, w.immediate(), G(), ~h && Ae(() => { We && window.requestAnimationFrame(() => { z(h), h = -1; }); })); }); je(() => { w.clear(); }); function _(W, Q) { const R = f[W], A = a.value; a.value = A ? Math.min(a.value, Q) : Q, (R !== Q || A !== a.value) && (f[W] = Q, w()); } function I(W) { W = Re(W, 0, t.value.length); const Q = Math.floor(W), R = W % 1, A = Q + 1, V = b[Q] || 0, F = b[A] || V; return V + (F - V) * R; } function k(W) { return Zp(b, W); } let E = 0, T = 0, M = 0; le(m, (W, Q) => { G(), W < Q && requestAnimationFrame(() => { T = 0, G(); }); }); let N = -1; function B() { if (!s.value || !u.value) return; const W = s.value.scrollTop, Q = performance.now(); Q - M > 500 ? (T = Math.sign(W - E), c = u.value.offsetTop) : T = W - E, E = W, M = Q, window.clearTimeout(N), N = window.setTimeout($, 500), G(); } function $() { !s.value || !u.value || (T = 0, M = 0, window.clearTimeout(N), G()); } let j = -1; function G() { cancelAnimationFrame(j), j = requestAnimationFrame(K); } function K() { if (!s.value || !m.value || !a.value) return; const W = E - c, Q = Math.sign(T), R = Math.max(0, W - wl), A = Re(k(R), 0, t.value.length), V = W + m.value + wl, F = Re(k(V) + 1, A + 1, t.value.length); if ( // Only update the side we're scrolling towards, // the other side will be updated incidentally (Q !== qp || A < l.value) && (Q !== Xp || F > r.value) ) { const U = I(l.value) - I(A), D = I(F) - I(r.value); Math.max(U, D) > wl ? (l.value = A, r.value = F) : (A <= 0 && (l.value = A), F >= t.value.length && (r.value = F)); } i.value = I(l.value), o.value = I(t.value.length) - I(r.value); } function z(W) { const Q = I(W); !s.value || W && !Q ? h = W : s.value.scrollTop = Q; } const te = x(() => t.value.slice(l.value, r.value).map((W, Q) => { const R = Q + l.value; return { raw: W, index: R, key: Ke(W, e.itemKey, R) }; })); return le(t, () => { f = Array.from({ length: t.value.length }), b = Array.from({ length: t.value.length }), w.immediate(), G(); }, { deep: 1 }), { calculateVisibleItems: G, containerRef: s, markerRef: u, computedItems: te, paddingTop: i, paddingBottom: o, scrollToIndex: z, handleScroll: B, handleScrollend: $, handleItemResize: _ }; } function Zp(e, t) { let n = e.length - 1, a = 0, l = 0, r = null, i = -1; if (e[n] < t) return n; for (; a <= n; ) if (l = a + n >> 1, r = e[l], r > t) n = l - 1; else if (r < t) i = l, a = l + 1; else return r === t ? l : a; return i; } const e1 = L({ items: { type: Array, default: () => [] }, renderless: Boolean, ...Jp(), ...he(), ...St() }, "VVirtualScroll"), t1 = q()({ name: "VVirtualScroll", props: e1(), setup(e, t) { let { slots: n } = t; const a = Ve("VVirtualScroll"), { dimensionStyles: l } = wt(e), { calculateVisibleItems: r, containerRef: i, markerRef: o, handleScroll: s, handleScrollend: u, handleItemResize: c, scrollToIndex: d, paddingTop: v, paddingBottom: m, computedItems: y } = Qp(e, O(() => e.items)); return zt(() => e.renderless, () => { function f() { var h, p; const g = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1) ? "addEventListener" : "removeEventListener"; i.value === document.documentElement ? (document[g]("scroll", s, { passive: !0 }), document[g]("scrollend", u)) : ((h = i.value) == null || h[g]("scroll", s, { passive: !0 }), (p = i.value) == null || p[g]("scrollend", u)); } kn(() => { i.value = gu(a.vnode.el, !0), f(!0); }), je(f); }), re(() => { const f = y.value.map((b) => S(Kp, { key: b.key, renderless: e.renderless, "onUpdate:height": (g) => c(b.index, g) }, { default: (g) => { var h; return (h = n.default) == null ? void 0 : h.call(n, { item: b.raw, index: b.index, ...g }); } })); return e.renderless ? C(ue, null, [C("div", { ref: o, class: "v-virtual-scroll__spacer", style: { paddingTop: X(v.value) } }, null), f, C("div", { class: "v-virtual-scroll__spacer", style: { paddingBottom: X(m.value) } }, null)]) : C("div", { ref: i, class: ee(["v-virtual-scroll", e.class]), onScrollPassive: s, onScrollend: u, style: ge([l.value, e.style]) }, [C("div", { ref: o, class: "v-virtual-scroll__container", style: { paddingTop: X(v.value), paddingBottom: X(m.value) } }, [f])]); }), { calculateVisibleItems: r, scrollToIndex: d }; } }); function n1(e, t) { const n = Z(!1); let a; function l(o) { cancelAnimationFrame(a), n.value = !0, a = requestAnimationFrame(() => { a = requestAnimationFrame(() => { n.value = !1; }); }); } async function r() { await new Promise((o) => requestAnimationFrame(o)), await new Promise((o) => requestAnimationFrame(o)), await new Promise((o) => requestAnimationFrame(o)), await new Promise((o) => { if (n.value) { const s = le(n, () => { s(), o(); }); } else o(); }); } async function i(o) { var c, d; if (o.key === "Tab" && ((c = t.value) == null || c.focus()), !["PageDown", "PageUp", "Home", "End"].includes(o.key)) return; const s = (d = e.value) == null ? void 0 : d.$el; if (!s) return; (o.key === "Home" || o.key === "End") && s.scrollTo({ top: o.key === "Home" ? 0 : s.scrollHeight, behavior: "smooth" }), await r(); const u = s.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)"); if (o.key === "PageDown" || o.key === "Home") { const v = s.getBoundingClientRect().top; for (const m of u) if (m.getBoundingClientRect().top >= v) { m.focus(); break; } } else { const v = s.getBoundingClientRect().bottom; for (const m of [...u].reverse()) if (m.getBoundingClientRect().bottom <= v) { m.focus(); break; } } } return { onScrollPassive: l, onKeydown: i }; } const a1 = L({ closeText: { type: String, default: "$vuetify.close" }, openText: { type: String, default: "$vuetify.open" } }, "autocomplete"); function l1(e, t) { const n = bt(), a = x(() => `menu-${n}`), l = O(() => Me(t)), r = O(() => a.value); return { menuId: a, ariaExpanded: l, ariaControls: r }; } const r1 = L({ chips: Boolean, closableChips: Boolean, eager: Boolean, hideNoData: Boolean, hideSelected: Boolean, listProps: { type: Object }, menu: Boolean, menuIcon: { type: se, default: "$dropdown" }, menuProps: { type: Object }, multiple: Boolean, noDataText: { type: String, default: "$vuetify.noDataText" }, openOnClear: Boolean, itemColor: String, noAutoScroll: Boolean, ...a1(), ...Bc({ itemChildren: !1 }) }, "Select"), i1 = L({ ...r1(), ..._e(el({ modelValue: null, role: "combobox" }), ["validationValue", "dirty"]), ...An({ transition: { component: Zu } }) }, "VSelect"), Xr = q()({ name: "VSelect", props: i1(), emits: { "update:focused": (e) => !0, "update:modelValue": (e) => !0, "update:menu": (e) => !0 }, setup(e, t) { let { slots: n } = t; const { t: a } = Je(), l = ne(), r = ne(), i = ne(), { items: o, transformIn: s, transformOut: u } = jp(e), c = me(e, "modelValue", [], (F) => s(F === null ? [null] : Pe(F)), (F) => { const U = u(F); return e.multiple ? U : U[0] ?? null; }), d = x(() => typeof e.counterValue == "function" ? e.counterValue(c.value) : typeof e.counterValue == "number" ? e.counterValue : c.value.length), v = Yr(e), m = gc(e), y = x(() => c.value.map((F) => F.value)), f = Z(!1), b = O(() => e.closableChips && !v.isReadonly.value && !v.isDisabled.value), { InputIcon: g } = Za(e); let h = "", p = 0, w; const P = x(() => e.hideSelected ? o.value.filter((F) => !c.value.some((U) => (e.valueComparator || Qe)(U, F))) : o.value), _ = x(() => e.hideNoData && !P.value.length || v.isReadonly.value || v.isDisabled.value), I = me(e, "menu"), k = x({ get: () => I.value, set: (F) => { var U; I.value && !F && ((U = r.value) != null && U.ΨopenChildren.size) || F && _.value || (I.value = F); } }), { menuId: E, ariaExpanded: T, ariaControls: M } = l1(e, k), N = x(() => { var F; return { ...e.menuProps, activatorProps: { ...((F = e.menuProps) == null ? void 0 : F.activatorProps) || {}, "aria-haspopup": "listbox" // Set aria-haspopup to 'listbox' } }; }), B = ne(), $ = n1(B, l); function j(F) { e.openOnClear && (k.value = !0); } function G() { _.value || (k.value = !k.value); } function K(F) { Yi(F) && z(F); } function z(F) { var ke, we, pe; if (!F.key || v.isReadonly.value) return; if (["Enter", " ", "ArrowDown", "ArrowUp", "Home", "End"].includes(F.key) && F.preventDefault(), ["Enter", "ArrowDown", " "].includes(F.key) && (k.value = !0), ["Escape", "Tab"].includes(F.key) && (k.value = !1), e.clearable && F.key === "Backspace") { F.preventDefault(), c.value = [], j(); return; } F.key === "Home" ? (ke = B.value) == null || ke.focus("first") : F.key === "End" && ((we = B.value) == null || we.focus("last")); const U = 1e3; if (!Yi(F)) return; const D = performance.now(); D - w > U && (h = "", p = 0), h += F.key.toLowerCase(), w = D; const J = P.value; function ce() { let ye = fe(); return ye || h.at(-1) === h.at(-2) && (h = h.slice(0, -1), p++, ye = fe(), ye) || (p = 0, ye = fe(), ye) ? ye : (h = F.key.toLowerCase(), fe()); } function fe() { for (let ye = p; ye < J.length; ye++) { const Ye = J[ye]; if (Ye.title.toLowerCase().startsWith(h)) return [Ye, ye]; } } const ie = ce(); if (!ie) return; const [ve, Ee] = ie; p = Ee, (pe = B.value) == null || pe.focus(Ee), e.multiple || (c.value = [ve]); } function te(F) { let U = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0; if (!F.props.disabled) if (e.multiple) { const D = c.value.findIndex((ce) => (e.valueComparator || Qe)(ce.value, F.value)), J = U ?? !~D; if (~D) { const ce = J ? [...c.value, F] : [...c.value]; ce.splice(D, 1), c.value = ce; } else J && (c.value = [...c.value, F]); } else { const D = U !== !1; c.value = D ? [F] : [], Ae(() => { k.value = !1; }); } } function W(F) { var U; (U = B.value) != null && U.$el.contains(F.relatedTarget) || (k.value = !1); } function Q() { var F; e.eager && ((F = i.value) == null || F.calculateVisibleItems()); } function R() { var F; f.value && ((F = l.value) == null || F.focus()); } function A(F) { f.value = !0; } function V(F) { if (F == null) c.value = []; else if (Ca(l.value, ":autofill") || Ca(l.value, ":-webkit-autofill")) { const U = o.value.find((D) => D.title === F); U && te(U); } else l.value && (l.value.value = ""); } return le(k, () => { if (!e.hideSelected && k.value && c.value.length) { const F = P.value.findIndex((U) => c.value.some((D) => (e.valueComparator || Qe)(D.value, U.value))); We && !e.noAutoScroll && window.requestAnimationFrame(() => { var U; F >= 0 && ((U = i.value) == null || U.scrollToIndex(F)); }); } }), le(o, (F, U) => { k.value || f.value && e.hideNoData && !U.length && F.length && (k.value = !0); }), re(() => { const F = !!(e.chips || n.chip), U = !!(!e.hideNoData || P.value.length || n["prepend-item"] || n["append-item"] || n["no-data"]), D = c.value.length > 0, J = an.filterProps(e), ce = D || !f.value && e.label && !e.persistentPlaceholder ? void 0 : e.placeholder; return S(an, Y({ ref: l }, J, { modelValue: c.value.map((fe) => fe.props.title).join(", "), name: void 0, "onUpdate:modelValue": V, focused: f.value, "onUpdate:focused": (fe) => f.value = fe, validationValue: c.externalValue, counterValue: d.value, dirty: D, class: ["v-select", { "v-select--active-menu": k.value, "v-select--chips": !!e.chips, [`v-select--${e.multiple ? "multiple" : "single"}`]: !0, "v-select--selected": c.value.length, "v-select--selection-slot": !!n.selection }, e.class], style: e.style, inputmode: "none", placeholder: ce, "onClick:clear": j, "onMousedown:control": G, onBlur: W, onKeydown: z, "aria-expanded": T.value, "aria-controls": M.value }), { ...n, default: (fe) => { let { id: ie } = fe; return C(ue, null, [C("select", { hidden: !0, multiple: e.multiple, name: m.fieldName.value }, [o.value.map((ve) => C("option", { key: ve.value, value: ve.value, selected: y.value.includes(ve.value) }, null))]), S(cc, Y({ id: E.value, ref: r, modelValue: k.value, "onUpdate:modelValue": (ve) => k.value = ve, activator: "parent", contentClass: "v-select__content", disabled: _.value, eager: e.eager, maxHeight: 310, openOnClick: !1, closeOnContentClick: !1, transition: e.transition, onAfterEnter: Q, onAfterLeave: R }, N.value), { default: () => [U && S(Yp, Y({ ref: B, selected: y.value, selectStrategy: e.multiple ? "independent" : "single-independent", onMousedown: (ve) => ve.preventDefault(), onKeydown: K, onFocusin: A, tabindex: "-1", selectable: !0, "aria-live": "polite", "aria-labelledby": `${ie.value}-label`, "aria-multiselectable": e.multiple, color: e.itemColor ?? e.color }, $, e.listProps), { default: () => { var ve, Ee, ke; return [(ve = n["prepend-item"]) == null ? void 0 : ve.call(n), !P.value.length && !e.hideNoData && (((Ee = n["no-data"]) == null ? void 0 : Ee.call(n)) ?? S(Da, { key: "no-data", title: a(e.noDataText) }, null)), S(t1, { ref: i, renderless: !0, items: P.value, itemKey: "value" }, { default: (we) => { var ei, ti, ni; let { item: pe, index: ye, itemRef: Ye } = we; const ta = qg(pe.props), Zr = Y(pe.props, { ref: Ye, key: pe.value, onClick: () => te(pe, null), "aria-posinset": ye + 1, "aria-setsize": P.value.length }); return pe.type === "divider" ? ((ei = n.divider) == null ? void 0 : ei.call(n, { props: pe.raw, index: ye })) ?? S(Dt, Y(pe.props, { key: `divider-${ye}` }), null) : pe.type === "subheader" ? ((ti = n.subheader) == null ? void 0 : ti.call(n, { props: pe.raw, index: ye })) ?? S(Mc, Y(pe.props, { key: `subheader-${ye}` }), null) : ((ni = n.item) == null ? void 0 : ni.call(n, { item: pe, index: ye, props: Zr })) ?? S(Da, Y(Zr, { role: "option" }), { prepend: (xd) => { let { isSelected: Cd } = xd; return C(ue, null, [e.multiple && !e.hideSelected ? S(Un, { key: pe.value, modelValue: Cd, ripple: !1, tabindex: "-1", "aria-hidden": !0, onClick: (Pd) => Pd.preventDefault() }, null) : void 0, ta.prependAvatar && S(Hn, { image: ta.prependAvatar }, null), ta.prependIcon && S(Le, { icon: ta.prependIcon }, null)]); } }); } }), (ke = n["append-item"]) == null ? void 0 : ke.call(n)]; } })] }), c.value.map((ve, Ee) => { function ke(Ye) { Ye.stopPropagation(), Ye.preventDefault(), te(ve, !1); } const we = Y(ar.filterProps(ve.props), { "onClick:close": ke, onKeydown(Ye) { Ye.key !== "Enter" && Ye.key !== " " || (Ye.preventDefault(), Ye.stopPropagation(), ke(Ye)); }, onMousedown(Ye) { Ye.preventDefault(), Ye.stopPropagation(); }, modelValue: !0, "onUpdate:modelValue": void 0 }), pe = F ? !!n.chip : !!n.selection, ye = pe ? cu(F ? n.chip({ item: ve, index: Ee, props: we }) : n.selection({ item: ve, index: Ee })) : void 0; if (!(pe && !ye)) return C("div", { key: ve.value, class: "v-select__selection" }, [F ? n.chip ? S(De, { key: "chip-defaults", defaults: { VChip: { closable: b.value, size: "small", text: ve.title } } }, { default: () => [ye] }) : S(ar, Y({ key: "chip", closable: b.value, size: "small", text: ve.title, disabled: ve.props.disabled }, we), null) : ye ?? C("span", { class: "v-select__selection-text" }, [ve.title, e.multiple && Ee < c.value.length - 1 && C("span", { class: "v-select__selection-comma" }, [gn(",")])])]); })]); }, "append-inner": function() { var Ee, ke; for (var fe = arguments.length, ie = new Array(fe), ve = 0; ve < fe; ve++) ie[ve] = arguments[ve]; return C(ue, null, [(Ee = n["append-inner"]) == null ? void 0 : Ee.call(n, ...ie), e.menuIcon ? S(Le, { class: "v-select__menu-icon", color: (ke = l.value) == null ? void 0 : ke.fieldIconColor, icon: e.menuIcon, "aria-hidden": !0 }, null) : void 0, e.appendInnerIcon && S(g, { key: "append-icon", name: "appendInner", color: ie[0].iconColor.value }, null)]); } }); }), _n({ isFocused: f, menu: k, select: te }, l); } }), o1 = { style: { display: "flex", "margin-top": "6px" } }, s1 = { style: { display: "flex", "margin-top": "6px" } }; function u1(e, t, n, a, l, r) { const i = Ze("FontAwesomeIcon"); return oe(), Fe(Jl, { class: "text-center px-4 align-center", wrap: "" }, { default: Te(() => [ S(ml, { class: "text-truncate", cols: "12", md: "2" }, { default: Te(() => [ gn(" Total " + tt(l.totalCount) + " records ", 1) ]), _: 1 }), S(ml, { cols: "12", md: "8" }, { default: Te(() => [ S(nr, { modelValue: l.page, "onUpdate:modelValue": [ t[4] || (t[4] = (o) => l.page = o), t[5] || (t[5] = (o) => r.pageChange(o)) ], "prev-icon": "", "next-icon": "", width: "200px", length: l.pageCount }, Cl({ _: 2 }, [ l.fastBackward ? { name: "prev", fn: Te(() => [ C("div", o1, [ l.pageCount > 1 ? (oe(), Fe(be, { key: 0, onClick: t[0] || (t[0] = (o) => r.firstPage(o)), style: { "margin-right": "10px" } }, { default: Te(() => [ S(i, { icon: l.fastBackward, color: "#303133" }, null, 8, ["icon"]) ]), _: 1 })) : He("", !0), l.pageCount > 1 ? (oe(), Fe(be, { key: 1, onClick: t[1] || (t[1] = (o) => r.previousPage(o)) }, { default: Te(() => [ S(i, { color: "#303133", icon: l.chevronLeft }, null, 8, ["icon"]) ]), _: 1 })) : He("", !0) ]) ]), key: "0" } : void 0, l.chevronLeft ? { name: "next", fn: Te(() => [ C("div", s1, [ l.pageCount > 1 ? (oe(), Fe(be, { key: 0, onClick: t[2] || (t[2] = (o) => r.nextPage(o)) }, { default: Te(() => [ S(i, { color: "#303133", icon: l.chevronRight }, null, 8, ["icon"]) ]), _: 1 })) : He("", !0), l.pageCount > 1 ? (oe(), Fe(be, { key: 1, onClick: t[3] || (t[3] = (o) => r.lastPage(o)), style: { "margin-left": "10px" } }, { default: Te(() => [ S(i, { color: "#303133", icon: l.fastForward }, null, 8, ["icon"]) ]), _: 1 })) : He("", !0) ]) ]), key: "1" } : void 0 ]), 1032, ["modelValue", "length"]) ]), _: 1 }), S(ml, { cols: "12", md: "2" }, { default: Te(() => [ l.pageCount > 1 ? (oe(), Fe(Xr, { key: 0, dense: "", outlined: "", "hide-details": "", value: l.perPage, "menu-icon": "", label: "Items per page", items: [10, 20, 50, 100], "onUpdate:modelValue": t[6] || (t[6] = (o) => r.pageSize(o)) }, Cl({ _: 2 }, [ l.arrowDown ? { name: "append-inner", fn: Te(() => [ S(i, { icon: l.arrowDown }, null, 8, ["icon"]) ]), key: "0" } : void 0 ]), 1032, ["value"])) : He("", !0) ]), _: 1 }) ]), _: 1 }); } const c1 = /* @__PURE__ */ Ot(tp, [["render", u1]]), d1 = { props: { item: { type: Object, required: !0 }, id: { type: Number, required: !0 }, prop: { type: String, required: !0 }, options: { type: Rt, required: !1, default: () => new Rt() } }, watch: { item(e, t) { this.item = e; }, id(e, t) { this.id = e; }, prop(e, t) { this.prop = e; } }, data() { return { item: this.item, id: this.id, prop: this.prop, options: this.options, isDateTime: bc, toDate: Bb }; } }, f1 = { key: 0 }, v1 = { key: 1 }, m1 = { key: 2 }, g1 = { key: 3 }; function h1(e, t, n, a, l, r) { return l.prop == l.options.Key && l.options.ShowKey ? (oe(), Se("span", f1, tt(l.item[l.prop]), 1)) : l.prop == l.options.Key && l.options.Active ? (oe(), Se("span", v1, tt(l.id), 1)) : l.isDateTime(l.item[l.prop]) ? (oe(), Se("span", m1, tt(l.toDate(l.item[l.prop])), 1)) : (oe(), Se("span", g1, tt(l.item[l.prop]), 1)); } const y1 = /* @__PURE__ */ Ot(d1, [["render", h1]]); class b1 { constructor() { it(this, "id", 0); it(this, "startPosition", !1); it(this, "dataHeader", new Ng()); } } class p1 { constructor() { it(this, "id", 0); it(this, "startPosition", !1); it(this, "dataItem", Object.assign({})); it(this, "changeMultipleSet", []); it(this, "changeItemSet", []); it(this, "properties", new S1()); } } class S1 { constructor() { it(this, "rowClass", Ln); it(this, "selected", !1); } } const kl = (e, t) => { for (let n of e) n(t); }, Yo = (e, t, n = []) => { for (let a of e) a(t, n); }, Go = (e, t) => { for (const n of e) t ? (n.properties.selected = !1, n.properties.rowClass = Ln) : (n.properties.selected = !0, n.properties.rowClass = tu); }, w1 = { props: { dataheader: { type: Array, default: () => [] }, options: { type: Rt, required: !1, default: () => new Rt() }, name: { type: String }, dataItems: { type: Array, reactive: !0, required: !0, default: () => [] }, currentItem: { type: Object, required: !1 }, currentId: { type: Fn, required: !1 }, loading: { type: Boolean, required: !1, default: !1 }, crud: { type: Boolean, required: !1, default: !1 }, showFilters: { type: Boolean, required: !1, default: () => !1 }, dialogWidth: { type: Fn, default: () => 800 }, itemsPerPage: { type: Fn, default: () => 10 }, pagination: { type: Ni, required: !1, default: () => new Ni() }, showTime: { type: Boolean, required: !1, default: () => !1 }, select: { type: Boolean, required: !1, default: () => !1 }, multiSelect: { type: Boolean, required: !1, default: () => !1 }, selectedItems: { type: Array, required: !1, default: () => [] } }, components: { FontAwesomeIcon: Cn, Date: hc, Text: yc, Number: Fn, SortView: ep, PaginationView: c1, Filters: Yb, DataItem: y1, Search: Cb }, mounted() { this.firstChange = !0, this.load({}); }, watch: { dataItems(e, t) { this.initData(e), this.firstChange && (this.initFilters(), this.firstChange = !1, setTimeout(() => { this.loaded = !0; }, 800)); }, options(e, t) { console.log(e), this.options = e; }, dataSetItems(e, t) { this.dataSetItems = e; }, pagination(e, t) { this.page = e.CurrentPage, this.perPage = e.PerPage, this.pageCount = e.PageCount, this.totalCount = e.TotalCount; } }, emits: [Mi, Mg, Li, Bi, Ri, $i], data() { return { rowClass: Lg, dataheader: this.dataheader, dataItems: this.dataItems, dialog: !1, selected: this.selectedItems, new: !0, dataSetItems: [], dataSetHeaders: [], loaded: !1, options: this.options, name: this.name, currentId: this.currentId, currentItem: this.currentItem, loading: this.loading, faSearch: Zs, reload: eu, faIndent: _g, faCheck: Sg, faSquare: Dg, multiSelectedItems: [], lastItem: {}, completes: this.completes, filters: { CurrentPage: 1, PerPage: 10, SortColumn: "", SortDirection: 1 }, showFilters: this.showFilters, modelValue: ne([]), firstChange: !0, multiSelected: !1, perPage: this.pagination.PerPage, page: this.pagination.CurrentPage, pageCount: this.pagination.PageCount, totalCount: this.pagination.TotalCount, showTime: this.showTime, isEqual: ca, changeMultipleSets: Yo, changeActiveSets: kl, changeSet: Go }; }, methods: { rowClick(e) { this.$emit(Li, e); }, load(e) { this.onLoad && this.onLoad(e); }, refresh() { this.clear(), this.search(); }, clear() { for (let e of Object.keys(this.filters)) this.filters[e] = null; }, initData(e) { let t = []; for (let [n, a] of e.entries()) { let l = new p1(); l.id = n + 1, l.dataItem = a, l.changeMultipleSet = [(r) => { this.multiSelectedItems.some((i) => ca(i, r.dataItem)) ? (r.properties.rowClass = Ln, r.properties.selected = !1) : (r.properties.rowClass = tu, r.properties.selected = !0); }], l.changeItemSet = [(r, i) => { for (let o of i) o.properties.rowClass = Ln; kl(l.changeMultipleSet, r); }], l.id == 1 && (l.startPosition = !0), t = [...t, l]; } this.dataSetItems = t, this.dataItems = e; }, initHeaders() { let e = []; for (let [t, n] of this.dataheader.entries()) { let a = new b1(); a.id = t + 1, a.dataHeader = n, a.id == 1 && (a.startPosition = !0), e = [...e, a]; } this.dataSetHeaders = e; }, initFilters() { let e = this.dataItems[0]; for (let t of Object.keys(e)) this.filters[t] = null; this.filters.CurrentPage = 0, this.filters.PerPage = 0; }, search() { this.filters != null && this.$emit(Bi, this.filters); }, async updateItem(e, t) { if (this.crud ? (this.currentId = e.dataItem[this.options.Key], this.$emit(Mi, e.dataItem)) : this.rowClick(e.dataItem), this.select) { for (let n of this.dataSetItems) n.properties.rowClass = Ln; Yo(e.changeItemSet, e, this.dataSetItems), this.$emit(Ri, e.dataItem); } this.multiSelect && (this.multiSelectedItems.length ? this.multiSelectedItems.some((n) => ca(n, e.dataItem)) ? this.multiSelectedItems = this.multiSelectedItems.filter((n) => !ca(n, e.dataItem)) : this.multiSelectedItems = [...this.multiSelectedItems, e.dataItem] : this.multiSelectedItems = [e.dataItem], kl(e.changeMultipleSet, e), this.$emit($i, this.multiSelectedItems)); }, filterValue(e, t) { e.target.value; }, filterDate(e, t) { }, optionschange(e) { this.page = e.page, this.filters.CurrentPage = this.page, this.search(); }, nextPage(e) { this.page < this.pageCount && (this.page = this.page + 1, this.filters.CurrentPage = this.page, this.search()); }, previousPage(e) { this.page > 1 && (this.page = this.page - 1, this.filters.CurrentPage = this.page, this.search()); }, firstPage(e) { this.page = 1, this.filters.CurrentPage = this.page, this.search(); }, lastPage(e) { this.page = this.pageCount, this.filters.CurrentPage = this.page, this.search(); }, pageChange(e) { this.page = e, this.filters.CurrentPage = this.page, this.search(); }, pageSize(e) { console.log(e), this.perPage = e, this.filters.PerPage = this.perPage, this.search(); }, sort(e, t, n) { t.sort = !t.sort, this.filters.SortColumn = Object.keys(this.dataItems[0])[n], this.filters.SortDirection = window.Number(t.sort), this.search(); }, selectItem(e) { console.log(e); }, multiSelectItems(e) { Go(this.dataSetItems, this.multiSelected), this.multiSelected = !this.multiSelected; } } }, jc = L({ page: { type: [Number, String], default: 1 }, itemsPerPage: { type: [Number, String], default: 10 } }, "DataTable-paginate"), zc = Symbol.for("vuetify:data-table-pagination"); function Wc(e) { const t = me(e, "page", void 0, (a) => Number(a ?? 1)), n = me(e, "itemsPerPage", void 0, (a) => Number(a ?? 10)); return { page: t, itemsPerPage: n }; } function Hc(e) { const { page: t, itemsPerPage: n, itemsLength: a } = e, l = x(() => n.value === -1 ? 0 : n.value * (t.value - 1)), r = x(() => n.value === -1 ? a.value : Math.min(a.value, l.value + n.value)), i = x(() => n.value === -1 || a.value === 0 ? 1 : Math.ceil(a.value / n.value)); le([t, i], () => { t.value > i.value && (t.value = i.value); }); function o(v) { n.value = v, t.value = 1; } function s() { t.value = Re(t.value + 1, 1, i.value); } function u() { t.value = Re(t.value - 1, 1, i.value); } function c(v) { t.value = Re(v, 1, i.value); } const d = { page: t, itemsPerPage: n, startIndex: l, stopIndex: r, pageCount: i, itemsLength: a, nextPage: s, prevPage: u, setPage: c, setItemsPerPage: o }; return Be(zc, d), d; } function k1() { const e = xe(zc); if (!e) throw new Error("Missing pagination!"); return e; } function x1(e) { const t = Ve("usePaginatedItems"), { items: n, startIndex: a, stopIndex: l, itemsPerPage: r } = e, i = x(() => r.value <= 0 ? n.value : n.value.slice(a.value, l.value)); return le(i, (o) => { t.emit("update:currentItems", o); }, { immediate: !0 }), { paginatedItems: i }; } const Jr = L({ color: String, prevIcon: { type: se, default: "$prev" }, nextIcon: { type: se, default: "$next" }, firstIcon: { type: se, default: "$first" }, lastIcon: { type: se, default: "$last" }, itemsPerPageText: { type: String, default: "$vuetify.dataFooter.itemsPerPageText" }, pageText: { type: String, default: "$vuetify.dataFooter.pageText" }, firstPageLabel: { type: String, default: "$vuetify.dataFooter.firstPage" }, prevPageLabel: { type: String, default: "$vuetify.dataFooter.prevPage" }, nextPageLabel: { type: String, default: "$vuetify.dataFooter.nextPage" }, lastPageLabel: { type: String, default: "$vuetify.dataFooter.lastPage" }, itemsPerPageOptions: { type: Array, default: () => [{ value: 10, title: "10" }, { value: 25, title: "25" }, { value: 50, title: "50" }, { value: 100, title: "100" }, { value: -1, title: "$vuetify.dataFooter.itemsPerPageAll" }] }, showCurrentPage: Boolean }, "VDataTableFooter"), Na = q()({ name: "VDataTableFooter", props: Jr(), setup(e, t) { let { slots: n } = t; const { t: a } = Je(), { page: l, pageCount: r, startIndex: i, stopIndex: o, itemsLength: s, itemsPerPage: u, setItemsPerPage: c } = k1(), d = x(() => e.itemsPerPageOptions.map((v) => typeof v == "number" ? { value: v, title: v === -1 ? a("$vuetify.dataFooter.itemsPerPageAll") : String(v) } : { ...v, title: isNaN(Number(v.title)) ? a(v.title) : v.title })); return re(() => { var m; const v = nr.filterProps(e); return C("div", { class: "v-data-table-footer" }, [(m = n.prepend) == null ? void 0 : m.call(n), C("div", { class: "v-data-table-footer__items-per-page" }, [C("span", null, [a(e.itemsPerPageText)]), S(Xr, { items: d.value, itemColor: e.color, modelValue: u.value, "onUpdate:modelValue": (y) => c(Number(y)), density: "compact", variant: "outlined", "aria-label": a(e.itemsPerPageText), hideDetails: !0 }, null)]), C("div", { class: "v-data-table-footer__info" }, [C("div", null, [a(e.pageText, s.value ? i.value + 1 : 0, o.value, s.value)])]), C("div", { class: "v-data-table-footer__pagination" }, [S(nr, Y({ modelValue: l.value, "onUpdate:modelValue": (y) => l.value = y, density: "comfortable", firstAriaLabel: e.firstPageLabel, lastAriaLabel: e.lastPageLabel, length: r.value, nextAriaLabel: e.nextPageLabel, previousAriaLabel: e.prevPageLabel, rounded: !0, showFirstLastPage: !0, totalVisible: e.showCurrentPage ? 1 : 0, variant: "plain" }, _e(v, ["color"])), null)])]); }), {}; } }), Gn = hh({ align: { type: String, default: "start" }, fixed: { type: [Boolean, String], default: !1 }, fixedOffset: [Number, String], fixedEndOffset: [Number, String], height: [Number, String], lastFixed: Boolean, firstFixedEnd: Boolean, noPadding: Boolean, indent: [Number, String], empty: Boolean, tag: String, width: [Number, String], maxWidth: [Number, String], nowrap: Boolean }, (e, t) => { let { slots: n } = t; const a = e.tag ?? "td", l = typeof e.fixed == "string" ? e.fixed : e.fixed ? "start" : "none"; return S(a, { class: ee(["v-data-table__td", { "v-data-table-column--fixed": l === "start", "v-data-table-column--fixed-end": l === "end", "v-data-table-column--last-fixed": e.lastFixed, "v-data-table-column--first-fixed-end": e.firstFixedEnd, "v-data-table-column--no-padding": e.noPadding, "v-data-table-column--nowrap": e.nowrap, "v-data-table-column--empty": e.empty }, `v-data-table-column--align-${e.align}`]), style: { height: X(e.height), width: X(e.width), maxWidth: X(e.maxWidth), left: l === "start" ? X(e.fixedOffset || null) : void 0, right: l === "end" ? X(e.fixedEndOffset || null) : void 0, paddingInlineStart: e.indent ? X(e.indent) : void 0 } }, { default: () => { var r; return [(r = n.default) == null ? void 0 : r.call(n)]; } }); }), C1 = L({ headers: Array }, "DataTable-header"), Uc = Symbol.for("vuetify:data-table-headers"), Yc = { title: "", sortable: !1 }, P1 = { ...Yc, width: 48 }; function I1() { const t = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []).map((n) => ({ element: n, priority: 0 })); return { enqueue: (n, a) => { let l = !1; for (let r = 0; r < t.length; r++) if (t[r].priority > a) { t.splice(r, 0, { element: n, priority: a }), l = !0; break; } l || t.push({ element: n, priority: a }); }, size: () => t.length, count: () => { let n = 0; if (!t.length) return 0; const a = Math.floor(t[0].priority); for (let l = 0; l < t.length; l++) Math.floor(t[l].priority) === a && (n += 1); return n; }, dequeue: () => t.shift() }; } function rr(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : []; if (!e.children) t.push(e); else for (const n of e.children) rr(n, t); return t; } function Gc(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : /* @__PURE__ */ new Set(); for (const n of e) n.key && t.add(n.key), n.children && Gc(n.children, t); return t; } function A1(e) { if (e.key) { if (e.key === "data-table-group") return Yc; if (["data-table-expand", "data-table-select"].includes(e.key)) return P1; } } function Qr(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; return e.children ? Math.max(t, ...e.children.map((n) => Qr(n, t + 1))) : t; } function _1(e) { let t = !1; function n(r, i) { let o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "none"; if (r) if (o !== "none" && (r.fixed = o), r.fixed === !0 && (r.fixed = "start"), r.fixed === i) if (r.children) if (i === "start") for (let s = r.children.length - 1; s >= 0; s--) n(r.children[s], i, i); else for (let s = 0; s < r.children.length; s++) n(r.children[s], i, i); else !t && i === "start" ? r.lastFixed = !0 : !t && i === "end" ? r.firstFixedEnd = !0 : isNaN(Number(r.width)) ? Jn(`Multiple fixed columns should have a static width (key: ${r.key})`) : r.minWidth = Math.max(Number(r.width) || 0, Number(r.minWidth) || 0), t = !0; else if (r.children) if (i === "start") for (let s = r.children.length - 1; s >= 0; s--) n(r.children[s], i); else for (let s = 0; s < r.children.length; s++) n(r.children[s], i); else t = !1; } for (let r = e.length - 1; r >= 0; r--) n(e[r], "start"); for (let r = 0; r < e.length; r++) n(e[r], "end"); let a = 0; for (let r = 0; r < e.length; r++) a = Kc(e[r], a); let l = 0; for (let r = e.length - 1; r >= 0; r--) l = qc(e[r], l); } function Kc(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; if (!e) return t; if (e.children) { e.fixedOffset = t; for (const n of e.children) t = Kc(n, t); } else e.fixed && e.fixed !== "end" && (e.fixedOffset = t, t += parseFloat(e.width || "0") || 0); return t; } function qc(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; if (!e) return t; if (e.children) { e.fixedEndOffset = t; for (const n of e.children) t = qc(n, t); } else e.fixed === "end" && (e.fixedEndOffset = t, t += parseFloat(e.width || "0") || 0); return t; } function V1(e, t) { const n = []; let a = 0; const l = I1(e); for (; l.size() > 0; ) { let i = l.count(); const o = []; let s = 1; for (; i > 0; ) { const { element: u, priority: c } = l.dequeue(), d = t - a - Qr(u); if (o.push({ ...u, rowspan: d ?? 1, colspan: u.children ? rr(u).length : 1 }), u.children) for (const v of u.children) { const m = c % 1 + s / Math.pow(10, a + 2); l.enqueue(v, a + d + m); } s += 1, i -= 1; } a += 1, n.push(o); } return { columns: e.map((i) => rr(i)).flat(), headers: n }; } function Xc(e) { const t = []; for (const n of e) { const a = { ...A1(n), ...n }, l = a.key ?? (typeof a.value == "string" ? a.value : null), r = a.value ?? l ?? null, i = { ...a, key: l, value: r, sortable: a.sortable ?? (a.key != null || !!a.sort), children: a.children ? Xc(a.children) : void 0 }; t.push(i); } return t; } function Jc(e, t) { const n = ne([]), a = ne([]), l = ne({}), r = ne({}), i = ne({}); qe(() => { var f, b, g; const u = (e.headers || Object.keys(e.items[0] ?? {}).map((h) => ({ key: h, title: wn(h) }))).slice(), c = Gc(u); (f = t == null ? void 0 : t.groupBy) != null && f.value.length && !c.has("data-table-group") && u.unshift({ key: "data-table-group", title: "Group" }), (b = t == null ? void 0 : t.showSelect) != null && b.value && !c.has("data-table-select") && u.unshift({ key: "data-table-select" }), (g = t == null ? void 0 : t.showExpand) != null && g.value && !c.has("data-table-expand") && u.push({ key: "data-table-expand" }); const d = Xc(u); _1(d); const v = Math.max(...d.map((h) => Qr(h))) + 1, m = V1(d, v); n.value = m.headers, a.value = m.columns; const y = m.headers.flat(1); for (const h of y) h.key && (h.sortable && (h.sort && (l.value[h.key] = h.sort), h.sortRaw && (r.value[h.key] = h.sortRaw)), h.filter && (i.value[h.key] = h.filter)); }); const o = { headers: n, columns: a, sortFunctions: l, sortRawFunctions: r, filterFunctions: i }; return Be(Uc, o), o; } function tl() { const e = xe(Uc); if (!e) throw new Error("Missing headers!"); return e; } const O1 = { showSelectAll: !1, allSelected: () => [], select: (e) => { var a; let { items: t, value: n } = e; return new Set(n ? [(a = t[0]) == null ? void 0 : a.value] : []); }, selectAll: (e) => { let { selected: t } = e; return t; } }, Qc = { showSelectAll: !0, allSelected: (e) => { let { currentPage: t } = e; return t; }, select: (e) => { let { items: t, value: n, selected: a } = e; for (const l of t) n ? a.add(l.value) : a.delete(l.value); return a; }, selectAll: (e) => { let { value: t, currentPage: n, selected: a } = e; return Qc.select({ items: n, value: t, selected: a }); } }, E1 = { showSelectAll: !0, allSelected: (e) => { let { allItems: t } = e; return t; }, select: (e) => { let { items: t, value: n, selected: a } = e; for (const l of t) n ? a.add(l.value) : a.delete(l.value); return a; }, selectAll: (e) => { let { value: t, allItems: n } = e; return new Set(t ? n.map((a) => a.value) : []); } }, T1 = L({ showSelect: Boolean, selectStrategy: { type: [String, Object], default: "page" }, modelValue: { type: Array, default: () => [] }, valueComparator: Function }, "DataTable-select"), Zc = Symbol.for("vuetify:data-table-selection"); function ed(e, t) { let { allItems: n, currentPage: a } = t; const l = me(e, "modelValue", e.modelValue, (h) => { const p = e.valueComparator; return p ? new Set(Pe(h).map((w) => { var P; return ((P = n.value.find((_) => p(w, _.value))) == null ? void 0 : P.value) ?? w; })) : new Set(Pe(h).map((w) => { var P, _; return jt(w) ? ((P = n.value.find((I) => w === I.value)) == null ? void 0 : P.value) ?? w : ((_ = n.value.find((I) => Qe(w, I.value))) == null ? void 0 : _.value) ?? w; })); }, (h) => [...h.values()]), r = x(() => n.value.filter((h) => h.selectable)), i = x(() => a.value.filter((h) => h.selectable)), o = x(() => { if (typeof e.selectStrategy == "object") return e.selectStrategy; switch (e.selectStrategy) { case "single": return O1; case "all": return E1; case "page": default: return Qc; } }), s = Z(null); function u(h) { return Pe(h).every((p) => l.value.has(p.value)); } function c(h) { return Pe(h).some((p) => l.value.has(p.value)); } function d(h, p) { const w = o.value.select({ items: h, value: p, selected: new Set(l.value) }); l.value = w; } function v(h, p, w) { const P = []; if (p = p ?? a.value.findIndex((_) => _.value === h.value), e.selectStrategy !== "single" && (w != null && w.shiftKey) && s.value !== null) { const [_, I] = [s.value, p].sort((k, E) => k - E); P.push(...a.value.slice(_, I + 1).filter((k) => k.selectable)); } else P.push(h), s.value = p; d(P, !u([h])); } function m(h) { const p = o.value.selectAll({ value: h, allItems: r.value, currentPage: i.value, selected: new Set(l.value) }); l.value = p; } const y = x(() => l.value.size > 0), f = x(() => { const h = o.value.allSelected({ allItems: r.value, currentPage: i.value }); return !!h.length && u(h); }), b = O(() => o.value.showSelectAll), g = { toggleSelect: v, select: d, selectAll: m, isSelected: u, isSomeSelected: c, someSelected: y, allSelected: f, showSelectAll: b, lastSelectedIndex: s, selectStrategy: o }; return Be(Zc, g), g; } function nl() { const e = xe(Zc); if (!e) throw new Error("Missing selection!"); return e; } const F1 = L({ initialSortOrder: { type: String, default: "asc", validator: (e) => !e || ["asc", "desc"].includes(e) }, sortBy: { type: Array, default: () => [] }, customKeySort: Object, multiSort: { type: [Boolean, Object], default: !1 }, mustSort: Boolean }, "DataTable-sort"), td = Symbol.for("vuetify:data-table-sort"); function nd(e) { const t = O(() => e.initialSortOrder), n = me(e, "sortBy"), a = O(() => e.mustSort), l = O(() => e.multiSort); return { initialSortOrder: t, sortBy: n, multiSort: l, mustSort: a }; } function D1(e, t) { if (!bn(e)) return { active: !!e }; const { key: n, mode: a, modifier: l } = e, r = l === "alt" && (t == null ? void 0 : t.altKey) || l === "shift" && (t == null ? void 0 : t.shiftKey); return { active: !n || (t == null ? void 0 : t.ctrlKey) || (t == null ? void 0 : t.metaKey) || !1, mode: r ? a === "append" ? "prepend" : "append" : a }; } function ad(e) { const { initialSortOrder: t, sortBy: n, mustSort: a, multiSort: l, page: r } = e, i = (u, c) => { if (u.key == null) return; let d = n.value.map((f) => ({ ...f })) ?? []; const v = d.find((f) => f.key === u.key), m = t.value, y = t.value === "desc" ? "asc" : "desc"; if (v) v.order === y ? a.value && d.length === 1 ? v.order = t.value : d = d.filter((f) => f.key !== u.key) : v.order = y; else { const { active: f, mode: b } = D1(l.value, c); f ? b === "prepend" ? d.unshift({ key: u.key, order: m }) : d.push({ key: u.key, order: m }) : d = [{ key: u.key, order: m }]; } n.value = d, r && (r.value = 1); }; function o(u) { return !!n.value.find((c) => c.key === u.key); } const s = { sortBy: n, toggleSort: i, isSorted: o }; return Be(td, s), s; } function ld() { const e = xe(td); if (!e) throw new Error("Missing sort!"); return e; } function N1(e, t, n, a) { const l = Je(); return { sortedItems: x(() => { var i, o; return n.value.length ? M1(t.value, n.value, l.current.value, { transform: a == null ? void 0 : a.transform, sortFunctions: { ...e.customKeySort, ...(i = a == null ? void 0 : a.sortFunctions) == null ? void 0 : i.value }, sortRawFunctions: (o = a == null ? void 0 : a.sortRawFunctions) == null ? void 0 : o.value }) : t.value; }) }; } function M1(e, t, n, a) { const l = new Intl.Collator(n, { sensitivity: "accent", usage: "sort" }); return e.map((i) => [i, a != null && a.transform ? a.transform(i) : i]).sort((i, o) => { var s, u; for (let c = 0; c < t.length; c++) { let d = !1; const v = t[c].key, m = t[c].order ?? "asc"; if (m === !1) continue; let y = $n(i[1], v), f = $n(o[1], v), b = i[0].raw, g = o[0].raw; if (m === "desc" && ([y, f] = [f, y], [b, g] = [g, b]), (s = a == null ? void 0 : a.sortRawFunctions) != null && s[v]) { const h = a.sortRawFunctions[v](b, g); if (h == null) continue; if (d = !0, h) return h; } if ((u = a == null ? void 0 : a.sortFunctions) != null && u[v]) { const h = a.sortFunctions[v](y, f); if (h == null) continue; if (d = !0, h) return h; } if (!d && (y instanceof Date && f instanceof Date && (y = y.getTime(), f = f.getTime()), [y, f] = [y, f].map((h) => h != null ? h.toString().toLocaleLowerCase() : h), y !== f)) return ia(y) && ia(f) ? 0 : ia(y) ? -1 : ia(f) ? 1 : !isNaN(y) && !isNaN(f) ? Number(y) - Number(f) : l.compare(y, f); } return 0; }).map((i) => { let [o] = i; return o; }); } const rd = L({ color: String, disableSort: Boolean, fixedHeader: Boolean, multiSort: Boolean, initialSortOrder: String, sortAscIcon: { type: se, default: "$sortAsc" }, sortDescIcon: { type: se, default: "$sortDesc" }, headerProps: { type: Object }, /** @deprecated */ sticky: Boolean, ...lt(), ...ea(), ...Nr() }, "VDataTableHeaders"), Ma = q()({ name: "VDataTableHeaders", props: rd(), setup(e, t) { let { slots: n } = t; const { t: a } = Je(), { toggleSort: l, sortBy: r, isSorted: i } = ld(), { someSelected: o, allSelected: s, selectAll: u, showSelectAll: c } = nl(), { columns: d, headers: v } = tl(), { loaderClasses: m } = Mr(e); function y(E, T) { if (!(e.sticky || e.fixedHeader) && !E.fixed) return; const M = typeof E.fixed == "string" ? E.fixed : E.fixed ? "start" : "none"; return { position: "sticky", left: M === "start" ? X(E.fixedOffset) : void 0, right: M === "end" ? X(E.fixedEndOffset) : void 0, top: e.sticky || e.fixedHeader ? `calc(var(--v-table-header-height) * ${T})` : void 0 }; } function f(E, T) { E.key === "Enter" && !e.disableSort && l(T, E); } function b(E) { const T = r.value.find((M) => M.key === E.key); return !T && e.initialSortOrder === "asc" || (T == null ? void 0 : T.order) === "asc" ? e.sortAscIcon : e.sortDescIcon; } const { backgroundColorClasses: g, backgroundColorStyles: h } = nt(() => e.color), { displayClasses: p, mobile: w } = Ut(e), P = x(() => ({ headers: v.value, columns: d.value, toggleSort: l, isSorted: i, sortBy: r.value, someSelected: o.value, allSelected: s.value, selectAll: u, getSortIcon: b })), _ = x(() => ["v-data-table__th", { "v-data-table__th--sticky": e.sticky || e.fixedHeader }, p.value, m.value]), I = (E) => { let { column: T, x: M, y: N } = E; const B = T.key === "data-table-select" || T.key === "data-table-expand", $ = T.key === "data-table-group" && T.width === 0 && !T.title, j = Y(e.headerProps ?? {}, T.headerProps ?? {}); return S(Gn, Y({ tag: "th", align: T.align, class: [{ "v-data-table__th--sortable": T.sortable && !e.disableSort, "v-data-table__th--sorted": i(T), "v-data-table__th--fixed": T.fixed }, ..._.value], style: { width: X(T.width), minWidth: X(T.minWidth), maxWidth: X(T.maxWidth), ...y(T, N) }, colspan: T.colspan, rowspan: T.rowspan, fixed: T.fixed, nowrap: T.nowrap, lastFixed: T.lastFixed, firstFixedEnd: T.firstFixedEnd, noPadding: B, empty: $, tabindex: T.sortable ? 0 : void 0, onClick: T.sortable ? (G) => l(T, G) : void 0, onKeydown: T.sortable ? (G) => f(G, T) : void 0 }, j), { default: () => { var z; const G = `header.${T.key}`, K = { column: T, selectAll: u, isSorted: i, toggleSort: l, sortBy: r.value, someSelected: o.value, allSelected: s.value, getSortIcon: b }; return n[G] ? n[G](K) : $ ? "" : T.key === "data-table-select" ? ((z = n["header.data-table-select"]) == null ? void 0 : z.call(n, K)) ?? (c.value && S(Un, { color: e.color, density: e.density, modelValue: s.value, indeterminate: o.value && !s.value, "onUpdate:modelValue": u }, null)) : C("div", { class: "v-data-table-header__content" }, [C("span", null, [T.title]), T.sortable && !e.disableSort && S(Le, { key: "icon", class: "v-data-table-header__sort-icon", icon: b(T) }, null), e.multiSort && i(T) && C("div", { key: "badge", class: ee(["v-data-table-header__sort-badge", ...g.value]), style: ge(h.value) }, [r.value.findIndex((te) => te.key === T.key) + 1])]); } }); }, k = () => { const E = x(() => d.value.filter((M) => (M == null ? void 0 : M.sortable) && !e.disableSort)), T = d.value.find((M) => M.key === "data-table-select"); return S(Gn, Y({ tag: "th", class: [..._.value], colspan: v.value.length + 1 }, e.headerProps), { default: () => [C("div", { class: "v-data-table-header__content" }, [S(Xr, { chips: !0, color: e.color, class: "v-data-table__td-sort-select", clearable: !0, density: "default", items: E.value, label: a("$vuetify.dataTable.sortBy"), multiple: e.multiSort, variant: "underlined", "onClick:clear": () => r.value = [] }, { append: T ? () => S(Un, { color: e.color, density: "compact", modelValue: s.value, indeterminate: o.value && !s.value, "onUpdate:modelValue": () => u(!s.value) }, null) : void 0, chip: (M) => { var N; return S(ar, { onClick: (N = M.item.raw) != null && N.sortable ? () => l(M.item.raw) : void 0, onMousedown: (B) => { B.preventDefault(), B.stopPropagation(); } }, { default: () => [M.item.title, S(Le, { class: ee(["v-data-table__td-sort-icon", i(M.item.raw) && "v-data-table__td-sort-icon-active"]), icon: b(M.item.raw), size: "small" }, null)] }); } })])] }); }; re(() => w.value ? C("tr", null, [S(k, null, null)]) : C(ue, null, [n.headers ? n.headers(P.value) : v.value.map((E, T) => C("tr", null, [E.map((M, N) => S(I, { column: M, x: N, y: T }, null))])), e.loading && C("tr", { class: "v-data-table-progress" }, [C("th", { colspan: d.value.length }, [S(xu, { name: "v-data-table-progress", absolute: !0, active: !0, color: typeof e.loading == "boolean" || e.loading === "true" ? e.color : e.loading, indeterminate: !0 }, { default: n.loader })])])])); } }), L1 = L({ groupBy: { type: Array, default: () => [] } }, "DataTable-group"), id = Symbol.for("vuetify:data-table-group"); function od(e) { return { groupBy: me(e, "groupBy") }; } function sd(e) { const { disableSort: t, groupBy: n, sortBy: a } = e, l = ne(/* @__PURE__ */ new Set()), r = x(() => n.value.map((c) => ({ ...c, order: c.order ?? !1 })).concat(t != null && t.value ? [] : a.value)); function i(c) { return l.value.has(c.id); } function o(c) { const d = new Set(l.value); i(c) ? d.delete(c.id) : d.add(c.id), l.value = d; } function s(c) { function d(v) { const m = []; for (const y of v.items) "type" in y && y.type === "group" ? m.push(...d(y)) : m.push(y); return [...new Set(m)]; } return d({ items: c }); } const u = { sortByWithGroups: r, toggleGroup: o, opened: l, groupBy: n, extractRows: s, isGroupOpen: i }; return Be(id, u), u; } function ud() { const e = xe(id); if (!e) throw new Error("Missing group!"); return e; } function B1(e, t) { if (!e.length) return []; const n = /* @__PURE__ */ new Map(); for (const a of e) { const l = $n(a.raw, t); n.has(l) || n.set(l, []), n.get(l).push(a); } return n; } function cd(e, t) { let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0, a = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "root"; if (!t.length) return []; const l = B1(e, t[0]), r = [], i = t.slice(1); return l.forEach((o, s) => { const u = t[0], c = `${a}_${u}_${s}`; r.push({ depth: n, id: c, key: u, value: s, items: i.length ? cd(o, i, n + 1, c) : o, type: "group" }); }), r; } function dd(e, t, n) { const a = []; for (const l of e) "type" in l && l.type === "group" ? (l.value != null && a.push(l), (t.has(l.id) || l.value == null) && (a.push(...dd(l.items, t, n)), n && a.push({ ...l, type: "group-summary" }))) : a.push(l); return a; } function fd(e, t, n, a) { return { flatItems: x(() => { if (!t.value.length) return e.value; const r = cd(e.value, t.value.map((i) => i.key)); return dd(r, n.value, Me(a)); }) }; } const vd = L({ item: { type: Object, required: !0 }, groupCollapseIcon: { type: se, default: "$tableGroupCollapse" }, groupExpandIcon: { type: se, default: "$tableGroupExpand" }, ...lt() }, "VDataTableGroupHeaderRow"), R1 = q()({ name: "VDataTableGroupHeaderRow", props: vd(), setup(e, t) { let { slots: n } = t; const { isGroupOpen: a, toggleGroup: l, extractRows: r } = ud(), { isSelected: i, isSomeSelected: o, select: s } = nl(), { columns: u } = tl(), c = x(() => r([e.item])), d = O(() => u.value.length - (u.value.some((v) => v.key === "data-table-select") ? 1 : 0)); return () => C("tr", { class: "v-data-table-group-header-row", style: { "--v-data-table-group-header-row-depth": e.item.depth } }, [u.value.map((v) => { var m, y; if (v.key === "data-table-group") { const f = a(e.item) ? e.groupCollapseIcon : e.groupExpandIcon, b = () => l(e.item); return ((m = n["data-table-group"]) == null ? void 0 : m.call(n, { item: e.item, count: c.value.length, props: { icon: f, onClick: b } })) ?? S(Gn, { class: "v-data-table-group-header-row__column", colspan: d.value }, { default: () => [S(be, { size: "small", variant: "text", icon: f, onClick: b }, null), C("span", null, [e.item.value]), C("span", null, [gn("("), c.value.length, gn(")")])] }); } else if (v.key === "data-table-select") { const f = c.value.filter((p) => p.selectable), b = f.length > 0 && i(f), g = o(f) && !b, h = (p) => s(f, p); return ((y = n["data-table-select"]) == null ? void 0 : y.call(n, { props: { modelValue: b, indeterminate: g, "onUpdate:modelValue": h } })) ?? S(Gn, { class: "v-data-table__td--select-row", noPadding: !0 }, { default: () => [S(Un, { density: e.density, disabled: f.length === 0, modelValue: b, indeterminate: g, "onUpdate:modelValue": h }, null)] }); } return ""; })]); } }), $1 = L({ expandOnClick: Boolean, showExpand: Boolean, expanded: { type: Array, default: () => [] } }, "DataTable-expand"), md = Symbol.for("vuetify:datatable:expanded"); function gd(e) { const t = O(() => e.expandOnClick), n = me(e, "expanded", e.expanded, (o) => new Set(o), (o) => [...o.values()]); function a(o, s) { const u = new Set(n.value), c = Ie(o.value); if (s) u.add(c); else { const d = [...n.value].find((v) => Ie(v) === c); u.delete(d); } n.value = u; } function l(o) { const s = Ie(o.value); return [...n.value].some((u) => Ie(u) === s); } function r(o) { a(o, !l(o)); } const i = { expand: a, expanded: n, expandOnClick: t, isExpanded: l, toggleExpand: r }; return Be(md, i), i; } function hd() { const e = xe(md); if (!e) throw new Error("foo"); return e; } const yd = L({ color: String, index: Number, item: Object, cellProps: [Object, Function], collapseIcon: { type: se, default: "$collapse" }, expandIcon: { type: se, default: "$expand" }, onClick: $e(), onContextmenu: $e(), onDblclick: $e(), ...lt(), ...ea() }, "VDataTableRow"), j1 = q()({ name: "VDataTableRow", props: yd(), setup(e, t) { let { slots: n } = t; const { displayClasses: a, mobile: l } = Ut(e, "v-data-table__tr"), { isSelected: r, toggleSelect: i, someSelected: o, allSelected: s, selectAll: u } = nl(), { isExpanded: c, toggleExpand: d } = hd(), { toggleSort: v, sortBy: m, isSorted: y } = ld(), { columns: f } = tl(); re(() => C("tr", { class: ee(["v-data-table__tr", { "v-data-table__tr--clickable": !!(e.onClick || e.onContextmenu || e.onDblclick) }, a.value]), onClick: e.onClick, onContextmenu: e.onContextmenu, onDblclick: e.onDblclick }, [e.item && f.value.map((b, g) => { const h = e.item, p = `item.${b.key}`, w = `header.${b.key}`, P = { index: e.index, item: h.raw, internalItem: h, value: $n(h.columns, b.key), column: b, isSelected: r, toggleSelect: i, isExpanded: c, toggleExpand: d }, _ = { column: b, selectAll: u, isSorted: y, toggleSort: v, sortBy: m.value, someSelected: o.value, allSelected: s.value, getSortIcon: () => "" }, I = typeof e.cellProps == "function" ? e.cellProps({ index: P.index, item: P.item, internalItem: P.internalItem, value: P.value, column: b }) : e.cellProps, k = typeof b.cellProps == "function" ? b.cellProps({ index: P.index, item: P.item, internalItem: P.internalItem, value: P.value }) : b.cellProps, E = b.key === "data-table-select" || b.key === "data-table-expand", T = b.key === "data-table-group" && b.width === 0 && !b.title; return S(Gn, Y({ align: b.align, indent: b.indent, class: { "v-data-table__td--expanded-row": b.key === "data-table-expand", "v-data-table__td--select-row": b.key === "data-table-select" }, fixed: b.fixed, fixedOffset: b.fixedOffset, fixedEndOffset: b.fixedEndOffset, lastFixed: b.lastFixed, firstFixedEnd: b.firstFixedEnd, maxWidth: l.value ? void 0 : b.maxWidth, noPadding: E, empty: T, nowrap: b.nowrap, width: l.value ? void 0 : b.width }, I, k), { default: () => { var N, B, $, j; if (b.key === "data-table-select") return ((N = n["item.data-table-select"]) == null ? void 0 : N.call(n, { ...P, props: { color: e.color, disabled: !h.selectable, modelValue: r([h]), onClick: na(() => i(h), ["stop"]) } })) ?? S(Un, { color: e.color, disabled: !h.selectable, density: e.density, modelValue: r([h]), onClick: na((G) => i(h, e.index, G), ["stop"]) }, null); if (b.key === "data-table-expand") return ((B = n["item.data-table-expand"]) == null ? void 0 : B.call(n, { ...P, props: { icon: c(h) ? e.collapseIcon : e.expandIcon, size: "small", variant: "text", onClick: na(() => d(h), ["stop"]) } })) ?? S(be, { icon: c(h) ? e.collapseIcon : e.expandIcon, size: "small", variant: "text", onClick: na(() => d(h), ["stop"]) }, null); if (n[p] && !l.value) return n[p](P); const M = tt(P.value); return l.value ? C(ue, null, [C("div", { class: "v-data-table__td-title" }, [(($ = n[w]) == null ? void 0 : $.call(n, _)) ?? b.title]), C("div", { class: "v-data-table__td-value" }, [((j = n[p]) == null ? void 0 : j.call(n, P)) ?? M])]) : M; } }); })])); } }), bd = L({ color: String, loading: [Boolean, String], loadingText: { type: String, default: "$vuetify.dataIterator.loadingText" }, hideNoData: Boolean, items: { type: Array, default: () => [] }, noDataText: { type: String, default: "$vuetify.noDataText" }, rowProps: [Object, Function], cellProps: [Object, Function], ...$t(yd(), ["collapseIcon", "expandIcon", "density"]), ...$t(vd(), ["groupCollapseIcon", "groupExpandIcon", "density"]), ...ea() }, "VDataTableRows"), La = q()({ name: "VDataTableRows", inheritAttrs: !1, props: bd(), setup(e, t) { let { attrs: n, slots: a } = t; const { columns: l } = tl(), { expandOnClick: r, toggleExpand: i, isExpanded: o } = hd(), { isSelected: s, toggleSelect: u } = nl(), { toggleGroup: c, isGroupOpen: d } = ud(), { t: v } = Je(), { mobile: m } = Ut(e); return re(() => { var f, b; const y = $t(e, ["groupCollapseIcon", "groupExpandIcon", "density"]); return e.loading && (!e.items.length || a.loading) ? C("tr", { class: "v-data-table-rows-loading", key: "loading" }, [C("td", { colspan: l.value.length }, [((f = a.loading) == null ? void 0 : f.call(a)) ?? v(e.loadingText)])]) : !e.loading && !e.items.length && !e.hideNoData ? C("tr", { class: "v-data-table-rows-no-data", key: "no-data" }, [C("td", { colspan: l.value.length }, [((b = a["no-data"]) == null ? void 0 : b.call(a)) ?? v(e.noDataText)])]) : C(ue, null, [e.items.map((g, h) => { var P, _; if (g.type === "group") { const I = { index: h, item: g, columns: l.value, isExpanded: o, toggleExpand: i, isSelected: s, toggleSelect: u, toggleGroup: c, isGroupOpen: d }; return a["group-header"] ? a["group-header"](I) : S(R1, Y({ key: `group-header_${g.id}`, item: g }, co(n, ":groupHeader", () => I), y), a); } if (g.type === "group-summary") { const I = { index: h, item: g, columns: l.value, toggleGroup: c }; return ((P = a["group-summary"]) == null ? void 0 : P.call(a, I)) ?? ""; } const p = { index: g.virtualIndex ?? h, item: g.raw, internalItem: g, columns: l.value, isExpanded: o, toggleExpand: i, isSelected: s, toggleSelect: u }, w = { ...p, props: Y({ key: `item_${g.key ?? g.index}`, onClick: r.value ? () => { i(g); } : void 0, index: h, item: g, color: e.color, cellProps: e.cellProps, collapseIcon: e.collapseIcon, expandIcon: e.expandIcon, density: e.density, mobile: m.value }, co(n, ":row", () => p), typeof e.rowProps == "function" ? e.rowProps({ item: p.item, index: p.index, internalItem: p.internalItem }) : e.rowProps) }; return C(ue, { key: w.props.key }, [a.item ? a.item(w) : S(j1, w.props, a), o(g) && ((_ = a["expanded-row"]) == null ? void 0 : _.call(a, p))]); })]); }), {}; } }), pd = L({ fixedHeader: Boolean, fixedFooter: Boolean, height: [Number, String], hover: Boolean, striped: { type: String, default: null, validator: (e) => ["even", "odd"].includes(e) }, ...he(), ...lt(), ...Oe(), ...Ne() }, "VTable"), Ba = q()({ name: "VTable", props: pd(), setup(e, t) { let { slots: n, emit: a } = t; const { themeClasses: l } = Xe(e), { densityClasses: r } = Et(e); return re(() => S(e.tag, { class: ee(["v-table", { "v-table--fixed-height": !!e.height, "v-table--fixed-header": e.fixedHeader, "v-table--fixed-footer": e.fixedFooter, "v-table--has-top": !!n.top, "v-table--has-bottom": !!n.bottom, "v-table--hover": e.hover, "v-table--striped-even": e.striped === "even", "v-table--striped-odd": e.striped === "odd" }, l.value, r.value, e.class]), style: ge(e.style) }, { default: () => { var i, o, s; return [(i = n.top) == null ? void 0 : i.call(n), n.default ? C("div", { class: "v-table__wrapper", style: { height: X(e.height) } }, [C("table", null, [n.default()])]) : (o = n.wrapper) == null ? void 0 : o.call(n), (s = n.bottom) == null ? void 0 : s.call(n)]; } })), {}; } }), z1 = L({ items: { type: Array, default: () => [] }, itemValue: { type: [String, Array, Function], default: "id" }, itemSelectable: { type: [String, Array, Function], default: null }, rowProps: [Object, Function], cellProps: [Object, Function], returnObject: Boolean }, "DataTable-items"); function W1(e, t, n, a) { const l = e.returnObject ? t : Ke(t, e.itemValue), r = Ke(t, e.itemSelectable, !0), i = a.reduce((o, s) => (s.key != null && (o[s.key] = Ke(t, s.value)), o), {}); return { type: "item", key: e.returnObject ? Ke(t, e.itemValue) : l, index: n, value: l, selectable: r, columns: i, raw: t }; } function H1(e, t, n) { return t.map((a, l) => W1(e, a, l, n)); } function Sd(e, t) { return { items: x(() => H1(e, e.items, t.value)) }; } function wd(e) { let { page: t, itemsPerPage: n, sortBy: a, groupBy: l, search: r } = e; const i = Ve("VDataTable"), o = () => ({ page: t.value, itemsPerPage: n.value, sortBy: a.value, groupBy: l.value, search: r.value }); let s = null; le(o, (u) => { Qe(s, u) || (s && s.search !== u.search && (t.value = 1), i.emit("update:options", u), s = u); }, { deep: !0, immediate: !0 }); } const U1 = (e, t, n) => { if (e == null || t == null) return -1; if (!t.length) return 0; e = e.toString().toLocaleLowerCase(), t = t.toString().toLocaleLowerCase(); const a = []; let l = e.indexOf(t); for (; ~l; ) a.push([l, l + t.length]), l = e.indexOf(t, l + t.length); return a.length ? a : -1; }; function xl(e, t) { if (!(e == null || typeof e == "boolean" || e === -1)) return typeof e == "number" ? [[e, e + t.length]] : Array.isArray(e[0]) ? e : [e]; } const Y1 = L({ customFilter: Function, customKeyFilter: Object, filterKeys: [Array, String], filterMode: { type: String, default: "intersection" }, noFilter: Boolean }, "filter"); function G1(e, t, n) { var s; const a = [], l = (n == null ? void 0 : n.default) ?? U1, r = n != null && n.filterKeys ? Pe(n.filterKeys) : !1, i = Object.keys((n == null ? void 0 : n.customKeyFilter) ?? {}).length; if (!(e != null && e.length)) return a; let o = null; e: for (let u = 0; u < e.length; u++) { const [c, d = c] = Pe(e[u]), v = {}, m = {}; let y = -1; if ((t || i > 0) && !(n != null && n.noFilter)) { let f = !1; if (typeof c == "object") { if (c.type === "divider" || c.type === "subheader") { (o == null ? void 0 : o.type) === "divider" && c.type === "subheader" && a.push(o), o = { index: u, matches: {}, type: c.type }; continue; } const h = r || Object.keys(d); f = h.length === i; for (const p of h) { const w = Ke(d, p), P = (s = n == null ? void 0 : n.customKeyFilter) == null ? void 0 : s[p]; if (y = P ? P(w, t, c) : l(w, t, c), y !== -1 && y !== !1) P ? v[p] = xl(y, t) : m[p] = xl(y, t); else if ((n == null ? void 0 : n.filterMode) === "every") continue e; } } else y = l(c, t, c), y !== -1 && y !== !1 && (m.title = xl(y, t)); const b = Object.keys(m).length, g = Object.keys(v).length; if (!b && !g || (n == null ? void 0 : n.filterMode) === "union" && g !== i && !b || (n == null ? void 0 : n.filterMode) === "intersection" && (g !== i || !b && i > 0 && !f)) continue; } o && (a.push(o), o = null), a.push({ index: u, matches: { ...m, ...v } }); } return a; } function K1(e, t, n, a) { const l = Z([]), r = Z(/* @__PURE__ */ new Map()), i = x(() => a != null && a.transform ? ot(t).map((s) => [s, a.transform(s)]) : ot(t)); qe(() => { const s = typeof n == "function" ? n() : ot(n), u = typeof s != "string" && typeof s != "number" ? "" : String(s), c = G1(i.value, u, { customKeyFilter: { ...e.customKeyFilter, ...ot(a == null ? void 0 : a.customKeyFilter) }, default: e.customFilter, filterKeys: e.filterKeys, filterMode: e.filterMode, noFilter: e.noFilter }), d = ot(t), v = [], m = /* @__PURE__ */ new Map(); c.forEach((y) => { let { index: f, matches: b } = y; const g = d[f]; v.push(g), m.set(g.value, b); }), l.value = v, r.value = m; }); function o(s) { return r.value.get(s.value); } return { filteredItems: l, filteredMatches: r, getMatches: o }; } const kd = L({ ...bd(), hideDefaultBody: Boolean, hideDefaultFooter: Boolean, hideDefaultHeader: Boolean, width: [String, Number], search: String, ...$1(), ...L1(), ...C1(), ...z1(), ...T1(), ...F1(), ..._e(rd(), ["multiSort", "initialSortOrder"]), ...pd() }, "DataTable"), q1 = L({ ...jc(), ...kd(), ...Y1(), ...Jr() }, "VDataTable"), X1 = q()({ name: "VDataTable", props: q1(), emits: { "update:modelValue": (e) => !0, "update:page": (e) => !0, "update:itemsPerPage": (e) => !0, "update:sortBy": (e) => !0, "update:options": (e) => !0, "update:groupBy": (e) => !0, "update:expanded": (e) => !0, "update:currentItems": (e) => !0 }, setup(e, t) { let { attrs: n, slots: a } = t; const { groupBy: l } = od(e), { initialSortOrder: r, sortBy: i, multiSort: o, mustSort: s } = nd(e), { page: u, itemsPerPage: c } = Wc(e), { disableSort: d } = sr(e), { columns: v, headers: m, sortFunctions: y, sortRawFunctions: f, filterFunctions: b } = Jc(e, { groupBy: l, showSelect: O(() => e.showSelect), showExpand: O(() => e.showExpand) }), { items: g } = Sd(e, v), h = O(() => e.search), { filteredItems: p } = K1(e, g, h, { transform: (J) => J.columns, customKeyFilter: b }), { toggleSort: w } = ad({ initialSortOrder: r, sortBy: i, multiSort: o, mustSort: s, page: u }), { sortByWithGroups: P, opened: _, extractRows: I, isGroupOpen: k, toggleGroup: E } = sd({ groupBy: l, sortBy: i, disableSort: d }), { sortedItems: T } = N1(e, p, P, { transform: (J) => ({ ...J.raw, ...J.columns }), sortFunctions: y, sortRawFunctions: f }), { flatItems: M } = fd(T, l, _, () => !!a["group-summary"]), N = x(() => M.value.length), { startIndex: B, stopIndex: $, pageCount: j, setItemsPerPage: G } = Hc({ page: u, itemsPerPage: c, itemsLength: N }), { paginatedItems: K } = x1({ items: M, startIndex: B, stopIndex: $, itemsPerPage: c }), z = x(() => I(K.value)), { isSelected: te, select: W, selectAll: Q, toggleSelect: R, someSelected: A, allSelected: V } = ed(e, { allItems: g, currentPage: z }), { isExpanded: F, toggleExpand: U } = gd(e); wd({ page: u, itemsPerPage: c, sortBy: i, groupBy: l, search: h }), It({ VDataTableRows: { hideNoData: O(() => e.hideNoData), noDataText: O(() => e.noDataText), loading: O(() => e.loading), loadingText: O(() => e.loadingText) } }); const D = x(() => ({ page: u.value, itemsPerPage: c.value, sortBy: i.value, pageCount: j.value, toggleSort: w, setItemsPerPage: G, someSelected: A.value, allSelected: V.value, isSelected: te, select: W, selectAll: Q, toggleSelect: R, isExpanded: F, toggleExpand: U, isGroupOpen: k, toggleGroup: E, items: z.value.map((J) => J.raw), internalItems: z.value, groupedItems: K.value, columns: v.value, headers: m.value })); return re(() => { const J = Na.filterProps(e), ce = Ma.filterProps(_e(e, ["multiSort"])), fe = La.filterProps(e), ie = Ba.filterProps(e); return S(Ba, Y({ class: ["v-data-table", { "v-data-table--show-select": e.showSelect, "v-data-table--loading": e.loading }, e.class], style: e.style }, ie, { fixedHeader: e.fixedHeader || e.sticky }), { top: () => { var ve; return (ve = a.top) == null ? void 0 : ve.call(a, D.value); }, default: () => { var ve, Ee, ke, we, pe, ye; return a.default ? a.default(D.value) : C(ue, null, [(ve = a.colgroup) == null ? void 0 : ve.call(a, D.value), !e.hideDefaultHeader && C("thead", { key: "thead" }, [S(Ma, Y(ce, { multiSort: !!e.multiSort }), a)]), (Ee = a.thead) == null ? void 0 : Ee.call(a, D.value), !e.hideDefaultBody && C("tbody", null, [(ke = a["body.prepend"]) == null ? void 0 : ke.call(a, D.value), a.body ? a.body(D.value) : S(La, Y(n, fe, { items: K.value }), a), (we = a["body.append"]) == null ? void 0 : we.call(a, D.value)]), (pe = a.tbody) == null ? void 0 : pe.call(a, D.value), (ye = a.tfoot) == null ? void 0 : ye.call(a, D.value)]); }, bottom: () => a.bottom ? a.bottom(D.value) : !e.hideDefaultFooter && C(ue, null, [S(Dt, null, null), S(Na, J, { prepend: a["footer.prepend"] })]) }); }), {}; } }), J1 = L({ itemsLength: { type: [Number, String], required: !0 }, ...jc(), ...kd(), ...Jr() }, "VDataTableServer"), Q1 = q()({ name: "VDataTableServer", props: J1(), emits: { "update:modelValue": (e) => !0, "update:page": (e) => !0, "update:itemsPerPage": (e) => !0, "update:sortBy": (e) => !0, "update:options": (e) => !0, "update:expanded": (e) => !0, "update:groupBy": (e) => !0 }, setup(e, t) { let { attrs: n, slots: a } = t; const { groupBy: l } = od(e), { initialSortOrder: r, sortBy: i, multiSort: o, mustSort: s } = nd(e), { page: u, itemsPerPage: c } = Wc(e), { disableSort: d } = sr(e), v = x(() => parseInt(e.itemsLength, 10)), { columns: m, headers: y } = Jc(e, { groupBy: l, showSelect: O(() => e.showSelect), showExpand: O(() => e.showExpand) }), { items: f } = Sd(e, m), { toggleSort: b } = ad({ initialSortOrder: r, sortBy: i, multiSort: o, mustSort: s, page: u }), { opened: g, isGroupOpen: h, toggleGroup: p, extractRows: w } = sd({ groupBy: l, sortBy: i, disableSort: d }), { pageCount: P, setItemsPerPage: _ } = Hc({ page: u, itemsPerPage: c, itemsLength: v }), { flatItems: I } = fd(f, l, g, () => !!a["group-summary"]), { isSelected: k, select: E, selectAll: T, toggleSelect: M, someSelected: N, allSelected: B } = ed(e, { allItems: f, currentPage: f }), { isExpanded: $, toggleExpand: j } = gd(e), G = x(() => w(f.value)); wd({ page: u, itemsPerPage: c, sortBy: i, groupBy: l, search: O(() => e.search) }), Be("v-data-table", { toggleSort: b, sortBy: i }), It({ VDataTableRows: { hideNoData: O(() => e.hideNoData), noDataText: O(() => e.noDataText), loading: O(() => e.loading), loadingText: O(() => e.loadingText) } }); const K = x(() => ({ page: u.value, itemsPerPage: c.value, sortBy: i.value, pageCount: P.value, toggleSort: b, setItemsPerPage: _, someSelected: N.value, allSelected: B.value, isSelected: k, select: E, selectAll: T, toggleSelect: M, isExpanded: $, toggleExpand: j, isGroupOpen: h, toggleGroup: p, items: G.value.map((z) => z.raw), internalItems: G.value, groupedItems: I.value, columns: m.value, headers: y.value })); re(() => { const z = Na.filterProps(e), te = Ma.filterProps(_e(e, ["multiSort"])), W = La.filterProps(e), Q = Ba.filterProps(e); return S(Ba, Y({ class: ["v-data-table", { "v-data-table--loading": e.loading }, e.class], style: e.style }, Q, { fixedHeader: e.fixedHeader || e.sticky }), { top: () => { var R; return (R = a.top) == null ? void 0 : R.call(a, K.value); }, default: () => { var R, A, V, F, U, D; return a.default ? a.default(K.value) : C(ue, null, [(R = a.colgroup) == null ? void 0 : R.call(a, K.value), !e.hideDefaultHeader && C("thead", { key: "thead", class: "v-data-table__thead", role: "rowgroup" }, [S(Ma, Y(te, { multiSort: !!e.multiSort }), a)]), (A = a.thead) == null ? void 0 : A.call(a, K.value), !e.hideDefaultBody && C("tbody", { class: "v-data-table__tbody", role: "rowgroup" }, [(V = a["body.prepend"]) == null ? void 0 : V.call(a, K.value), a.body ? a.body(K.value) : S(La, Y(n, W, { items: I.value }), a), (F = a["body.append"]) == null ? void 0 : F.call(a, K.value)]), (U = a.tbody) == null ? void 0 : U.call(a, K.value), (D = a.tfoot) == null ? void 0 : D.call(a, K.value)]); }, bottom: () => a.bottom ? a.bottom(K.value) : !e.hideDefaultFooter && C(ue, null, [S(Dt, null, null), S(Na, z, { prepend: a["footer.prepend"] })]) }); }); } }), Z1 = { key: 0, class: "filter-items" }, e0 = { key: 1, class: "filter-items" }, t0 = { key: 0 }, n0 = ["onClick"], a0 = { key: 0 }; function l0(e, t, n, a, l, r) { const i = Ze("FontAwesomeIcon"), o = Ze("SortView"), s = Ze("Filters"), u = Ze("DataItem"), c = Ze("PaginationView"); return oe(), Se("div", null, [ S(ey, null, { default: Te(() => [ S(Jl, { style: { "border-bottom": "1px solid #393E46", padding: "10px" } }, { default: Te(() => [ l.showFilters ? ze((oe(), Fe(be, { key: 0, onClick: t[0] || (t[0] = (d) => r.search()), style: { "margin-right": "10px" }, color: "#1697f6" }, { default: Te(() => [ S(i, { icon: l.faSearch }, null, 8, ["icon"]) ]), _: 1 })), [ [Fa, "Search"] ]) : He("", !0), l.showFilters ? ze((oe(), Fe(be, { key: 1, onClick: t[1] || (t[1] = (d) => r.refresh()), style: { "margin-right": "10px" }, color: "#1697f6" }, { default: Te(() => [ S(i, { icon: l.reload }, null, 8, ["icon"]) ]), _: 1 })), [ [Fa, "Refresh"] ]) : He("", !0) ]), _: 1 }), S(Jl, null, { default: Te(() => [ l.loaded ? (oe(), Fe(X1, { key: 0, "onUpdate:options": t[3] || (t[3] = (d) => r.optionschange(d)), "v-bind:loading-text": "Loading... Please wait", color: "white", striped: "odd", loading: l.loading, "v-bind:model-value": l.modelValue, items: l.dataItems, "items-per-page": l.perPage, page: l.page, "hide-default-header": "", "hide-default-footer": "", "multi-sort": "", hover: "", "return-object": "" }, { item: Te(({ item: d, index: v }) => [ (oe(!0), Se(ue, null, aa(l.dataSetItems, (m) => (oe(), Se(ue, { key: m.id }, [ l.isEqual(d, m.dataItem) ? (oe(), Se(ue, { key: 0 }, [ m.startPosition && l.showFilters ? (oe(), Se("tr", Z1, [ n.multiSelect ? (oe(), Se("td", { key: 0, onClick: t[2] || (t[2] = (y) => r.multiSelectItems(y)) }, [ l.multiSelected ? (oe(), Fe(i, { key: 0, icon: l.faCheck }, null, 8, ["icon"])) : (oe(), Fe(i, { key: 1, icon: l.faSquare }, null, 8, ["icon"])) ])) : He("", !0), (oe(!0), Se(ue, null, aa(l.dataheader, (y, f) => (oe(), Se("td", null, [ S(o, { options: l.options, dataHeader: y, startPosition: f < 1, id: f, onSort: (b) => r.sort(b, y, f) }, null, 8, ["options", "dataHeader", "startPosition", "id", "onSort"]) ]))), 256)) ])) : He("", !0), m.startPosition && l.showFilters ? (oe(), Se("tr", e0, [ n.multiSelect ? (oe(), Se("td", t0)) : He("", !0), (oe(!0), Se(ue, null, aa(Object.keys(m.dataItem), (y) => (oe(), Se("td", null, [ S(s, { item: m.dataItem, filters: l.filters, showFilters: l.showFilters, options: l.options, prop: y, onFilterValue: (f) => r.filterValue(f, l.filters[y]) }, null, 8, ["item", "filters", "showFilters", "options", "prop", "onFilterValue"]) ]))), 256)) ])) : He("", !0), C("tr", Y({ onClick: (y) => r.updateItem(m, m.id) }, { ref_for: !0 }, m.properties, { class: m.properties.rowClass }), [ n.multiSelect ? (oe(), Se("td", a0, [ m.properties.selected ? (oe(), Fe(i, { key: 0, icon: l.faCheck }, null, 8, ["icon"])) : (oe(), Fe(i, { key: 1, icon: l.faSquare }, null, 8, ["icon"])) ])) : He("", !0), (oe(!0), Se(ue, null, aa(Object.keys(m.dataItem), (y) => (oe(), Se("td", null, [ S(u, { item: m.dataItem, prop: y, options: l.options, id: m.id }, null, 8, ["item", "prop", "options", "id"]) ]))), 256)) ], 16, n0) ], 64)) : He("", !0) ], 64))), 128)) ]), _: 1 }, 8, ["loading", "v-bind:model-value", "items", "items-per-page", "page"])) : (oe(), Fe(Q1, { key: 1, "items-length": 0, "item-key": "name", "loading-text": "Loading... Please wait", loading: "" })) ]), _: 1 }), l.loaded ? (oe(), Fe(c, { key: 0, page: l.page, perPage: l.perPage, pageCount: l.pageCount, totalCount: l.totalCount, onPageChange: t[4] || (t[4] = (d) => r.pageChange(d)), onPageSize: t[5] || (t[5] = (d) => r.pageSize(d)), onFirstPage: t[6] || (t[6] = (d) => r.firstPage(d)), onPreviousPage: t[7] || (t[7] = (d) => r.previousPage(d)), onNextPage: t[8] || (t[8] = (d) => r.nextPage(d)), onLastPage: t[9] || (t[9] = (d) => r.lastPage(d)) }, null, 8, ["page", "perPage", "pageCount", "totalCount"])) : He("", !0) ]), _: 1 }) ]); } const s0 = /* @__PURE__ */ Ot(w1, [["render", l0]]); export { Ng as HeaderModel, Rt as Options, o0 as PaginatedResponse, Ni as PaginatonModel, s0 as TableView };