UNPKG

vuetify

Version:

Vue Material Component Framework

375 lines 294 kB
/*! * Vuetify v3.3.3 * Forged by John Leider * Released under the MIT License. */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Vuetify={},e.Vue)}(this,(function(e,t){"use strict" function a(e,t){return a=>Object.keys(e).reduce(((l,o)=>{const n="object"==typeof e[o]&&null!=e[o]&&!Array.isArray(e[o])?e[o]:{type:e[o]} return l[o]=a&&o in a?{...n,default:a[o]}:n,t&&!l[o].source&&(l[o].source=t),l}),{})}const l=a({class:[String,Array],style:{type:[String,Array,Object],default:null}},"component") function o(e,t,a){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,a)}function n(e,t,a){return function(e,t,a){if(t.set)t.set.call(e,a) else{if(!t.writable)throw new TypeError("attempted to set read only private field") t.value=a}}(e,i(e,t,"set"),a),a}function r(e,t){return function(e,t){if(t.get)return t.get.call(e) return t.value}(e,i(e,t,"get"))}function i(e,t,a){if(!t.has(e))throw new TypeError("attempted to "+a+" private field on non-instance") return t.get(e)}function s(e,t,a){const l=t.length-1 if(l<0)return void 0===e?a:e for(let o=0;o<l;o++){if(null==e)return a e=e[t[o]]}return null==e||void 0===e[t[l]]?a:e[t[l]]}function u(e,t){if(e===t)return!0 if(e instanceof Date&&t instanceof Date&&e.getTime()!==t.getTime())return!1 if(e!==Object(e)||t!==Object(t))return!1 const a=Object.keys(e) return a.length===Object.keys(t).length&&a.every((a=>u(e[a],t[a])))}function c(e,t,a){return null!=e&&t&&"string"==typeof t?void 0!==e[t]?e[t]:s(e,(t=(t=t.replace(/\[(\w+)\]/g,".$1")).replace(/^\./,"")).split("."),a):a}function d(e,t,a){if(null==t)return void 0===e?a:e if(e!==Object(e)){if("function"!=typeof t)return a const l=t(e,a) return void 0===l?a:l}if("string"==typeof t)return c(e,t,a) if(Array.isArray(t))return s(e,t,a) if("function"!=typeof t)return a const l=t(e,a) return void 0===l?a:l}function v(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0 return Array.from({length:e},((e,a)=>t+a))}function p(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"px" return null==e||""===e?void 0:isNaN(+e)?String(e):isFinite(+e)?`${Number(e)}${t}`:void 0}function f(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function m(e){return e&&"$el"in e?e.$el:e}const g=Object.freeze({enter:13,tab:9,delete:46,esc:27,space:32,up:38,down:40,left:37,right:39,end:35,home:36,del:46,backspace:8,insert:45,pageup:33,pagedown:34,shift:16}),h=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 y(e){return Object.keys(e)}function b(e,t){return t.every((t=>e.hasOwnProperty(t)))}function V(e,t,a){const l=Object.create(null),o=Object.create(null) for(const n in e)t.some((e=>e instanceof RegExp?e.test(n):e===n))&&!a?.some((e=>e===n))?l[n]=e[n]:o[n]=e[n] return[l,o]}function w(e,t){const a={...e} return t.forEach((e=>delete a[e])),a}function S(e){return V(e,["class","style","id",/^data-/])}function k(e){return null==e?[]:Array.isArray(e)?e:[e]}function x(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1 return Math.max(t,Math.min(a,e))}function C(e){const t=e.toString().trim() return t.includes(".")?t.length-t.indexOf(".")-1:0}function N(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0" return e+a.repeat(Math.max(0,t-e.length))}function _(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3 if(e<t)return`${e} B` const a=1024===t?["Ki","Mi","Gi"]:["k","M","G"] let l=-1 for(;Math.abs(e)>=t&&l<a.length-1;)e/=t,++l return`${e.toFixed(1)} ${a[l]}B`}function I(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0 const l={} for(const t in e)l[t]=e[t] for(const o in t){const n=e[o],r=t[o] f(n)&&f(r)?l[o]=I(n,r,a):Array.isArray(n)&&Array.isArray(r)&&a?l[o]=a(n,r):l[o]=r}return l}function B(e){return e.map((e=>e.type===t.Fragment?B(e.children):e)).flat()}function R(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"" if(R.cache.has(e))return R.cache.get(e) const t=e.replace(/[^a-z]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase() return R.cache.set(e,t),t}function A(e,t){if(!t||"object"!=typeof t)return[] if(Array.isArray(t))return t.map((t=>A(e,t))).flat(1) if(Array.isArray(t.children))return t.children.map((t=>A(e,t))).flat(1) if(t.component){if(Object.getOwnPropertySymbols(t.component.provides).includes(e))return[t.component] if(t.component.subTree)return A(e,t.component.subTree).flat(1)}return[]}R.cache=new Map var E=new WeakMap,T=new WeakMap class P{constructor(e){o(this,E,{writable:!0,value:[]}),o(this,T,{writable:!0,value:0}),this.size=e}push(e){r(this,E)[r(this,T)]=e,n(this,T,(r(this,T)+1)%this.size)}values(){return r(this,E).slice(r(this,T)).concat(r(this,E).slice(0,r(this,T)))}}function $(e){const a=t.reactive({}),l=t.computed(e) return t.watchEffect((()=>{for(const e in l.value)a[e]=l.value[e]}),{flush:"sync"}),t.toRefs(a)}function L(e,t){return e.includes(t)}const M=/^on[^a-z]/,F=e=>M.test(e) function D(e){return e[2].toLowerCase()+e.slice(3)}const O=()=>[Function,Array] function z(e,a){return!!(e[a="on"+t.capitalize(a)]||e[`${a}Once`]||e[`${a}Capture`]||e[`${a}OnceCapture`]||e[`${a}CaptureOnce`])}function j(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),l=1;l<t;l++)a[l-1]=arguments[l] if(Array.isArray(e))for(const t of e)t(...a) else"function"==typeof e&&e(...a)}function H(e){const t=["button","[href]",'input:not([type="hidden"])',"select","textarea","[tabindex]"].map((e=>`${e}:not([tabindex="-1"]):not([disabled])`)).join(", ") return[...e.querySelectorAll(t)]}function U(e,t){const a=H(e),l=a.indexOf(document.activeElement) if(t)if("first"===t)a[0]?.focus() else if("last"===t)a.at(-1)?.focus() else{let o,n=l const r="next"===t?1:-1 do{n+=r,o=a[n]}while((!o||null==o.offsetParent)&&n<a.length&&n>=0) o?o.focus():U(e,"next"===t?"first":"last")}else e!==document.activeElement&&e.contains(document.activeElement)||a[0]?.focus()}function W(){}const Y=["top","bottom"],G=["start","end","left","right"] function X(e,t){let[a,l]=e.split(" ") return l||(l=L(Y,a)?"start":L(G,a)?"top":"center"),{side:q(a,t),align:q(l,t)}}function q(e,t){return"start"===e?t?"right":"left":"end"===e?t?"left":"right":e}function K(e){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.side],align:e.align}}function Z(e){return{side:e.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.align]}}function J(e){return{side:e.align,align:e.side}}function Q(e){return L(Y,e.side)?"y":"x"}class ee{constructor(e){let{x:t,y:a,width:l,height:o}=e this.x=t,this.y=a,this.width=l,this.height=o}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 te(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 ae(e){const t=e.getBoundingClientRect(),a=getComputedStyle(e),l=a.transform if(l){let o,n,r,i,s if(l.startsWith("matrix3d("))o=l.slice(9,-1).split(/, /),n=+o[0],r=+o[5],i=+o[12],s=+o[13] else{if(!l.startsWith("matrix("))return new ee(t) o=l.slice(7,-1).split(/, /),n=+o[0],r=+o[3],i=+o[4],s=+o[5]}const u=a.transformOrigin,c=t.x-i-(1-n)*parseFloat(u),d=t.y-s-(1-r)*parseFloat(u.slice(u.indexOf(" ")+1)),v=n?t.width/n:e.offsetWidth+1,p=r?t.height/r:e.offsetHeight+1 return new ee({x:c,y:d,width:v,height:p})}return new ee(t)}function le(e,t,a){if(void 0===e.animate)return{finished:Promise.resolve()} let l try{l=e.animate(t,a)}catch(e){return{finished:Promise.resolve()}}return void 0===l.finished&&(l.finished=new Promise((e=>{l.onfinish=()=>{e(l)}}))),l}const oe=new WeakMap function ne(e,t){Object.keys(t).forEach((a=>{if(F(a)){const l=D(a),o=oe.get(e) if(null==t[a])o?.forEach((t=>{const[a,n]=t a===l&&(e.removeEventListener(l,n),o.delete(t))})) else if(!o||![...o]?.some((e=>e[0]===l&&e[1]===t[a]))){e.addEventListener(l,t[a]) const n=o||new Set n.add([l,t[a]]),oe.has(e)||oe.set(e,n)}}else null==t[a]?e.removeAttribute(a):e.setAttribute(a,t[a])}))}function re(e,t){Object.keys(t).forEach((t=>{if(F(t)){const a=D(t),l=oe.get(e) l?.forEach((t=>{const[o,n]=t o===a&&(e.removeEventListener(a,n),l.delete(t))}))}else e.removeAttribute(t)}))}function ie(e){t.warn(`Vuetify: ${e}`)}function se(e){t.warn(`Vuetify error: ${e}`)}const ue=.20689655172413793,ce=e=>e>ue**3?Math.cbrt(e):e/(3*ue**2)+4/29,de=e=>e>ue?e**3:3*ue**2*(e-4/29) function ve(e){const t=ce,a=t(e[1]) return[116*a-16,500*(t(e[0]/.95047)-a),200*(a-t(e[2]/1.08883))]}function pe(e){const t=de,a=(e[0]+16)/116 return[.95047*t(a+e[1]/500),t(a),1.08883*t(a-e[2]/200)]}const fe=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],me=e=>e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055,ge=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],he=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4 function ye(e){const t=Array(3),a=me,l=fe for(let o=0;o<3;++o)t[o]=Math.round(255*x(a(l[o][0]*e[0]+l[o][1]*e[1]+l[o][2]*e[2]))) return{r:t[0],g:t[1],b:t[2]}}function be(e){let{r:t,g:a,b:l}=e const o=[0,0,0],n=he,r=ge t=n(t/255),a=n(a/255),l=n(l/255) for(let e=0;e<3;++e)o[e]=r[e][0]*t+r[e][1]*a+r[e][2]*l return o}function Ve(e){return!!e&&/^(#|var\(--|(rgb|hsl)a?\()/.test(e)}const we=/^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/,Se={rgb:(e,t,a,l)=>({r:e,g:t,b:a,a:l}),rgba:(e,t,a,l)=>({r:e,g:t,b:a,a:l}),hsl:(e,t,a,l)=>Ce({h:e,s:t,l:a,a:l}),hsla:(e,t,a,l)=>Ce({h:e,s:t,l:a,a:l}),hsv:(e,t,a,l)=>xe({h:e,s:t,v:a,a:l}),hsva:(e,t,a,l)=>xe({h:e,s:t,v:a,a:l})} function ke(e){if("number"==typeof e)return(isNaN(e)||e<0||e>16777215)&&ie(`'${e}' is not a valid hex color`),{r:(16711680&e)>>16,g:(65280&e)>>8,b:255&e} if("string"==typeof e&&we.test(e)){const{groups:t}=e.match(we),{fn:a,values:l}=t,o=l.split(/,\s*/).map((e=>e.endsWith("%")&&["hsl","hsla","hsv","hsva"].includes(a)?parseFloat(e)/100:parseFloat(e))) return Se[a](...o)}if("string"==typeof e){let t=e.startsWith("#")?e.slice(1):e;[3,4].includes(t.length)?t=t.split("").map((e=>e+e)).join(""):[6,8].includes(t.length)||ie(`'${e}' is not a valid hex(a) color`) const a=parseInt(t,16) return(isNaN(a)||a<0||a>4294967295)&&ie(`'${e}' is not a valid hex(a) color`),Te(t)}if("object"==typeof e){if(b(e,["r","g","b"]))return e if(b(e,["h","s","l"]))return xe(Ie(e)) if(b(e,["h","s","v"]))return xe(e)}throw new TypeError(`Invalid color: ${null==e?e:String(e)||e.constructor.name}\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function xe(e){const{h:t,s:a,v:l,a:o}=e,n=e=>{const o=(e+t/60)%6 return l-l*a*Math.max(Math.min(o,4-o,1),0)},r=[n(5),n(3),n(1)].map((e=>Math.round(255*e))) return{r:r[0],g:r[1],b:r[2],a:o}}function Ce(e){return xe(Ie(e))}function Ne(e){if(!e)return{h:0,s:1,v:1,a:1} const t=e.r/255,a=e.g/255,l=e.b/255,o=Math.max(t,a,l),n=Math.min(t,a,l) let r=0 o!==n&&(o===t?r=60*(0+(a-l)/(o-n)):o===a?r=60*(2+(l-t)/(o-n)):o===l&&(r=60*(4+(t-a)/(o-n)))),r<0&&(r+=360) const i=[r,0===o?0:(o-n)/o,o] return{h:i[0],s:i[1],v:i[2],a:e.a}}function _e(e){const{h:t,s:a,v:l,a:o}=e,n=l-l*a/2 return{h:t,s:1===n||0===n?0:(l-n)/Math.min(n,1-n),l:n,a:o}}function Ie(e){const{h:t,s:a,l,a:o}=e,n=l+a*Math.min(l,1-l) return{h:t,s:0===n?0:2-2*l/n,v:n,a:o}}function Be(e){let{r:t,g:a,b:l,a:o}=e return void 0===o?`rgb(${t}, ${a}, ${l})`:`rgba(${t}, ${a}, ${l}, ${o})`}function Re(e){return Be(xe(e))}function Ae(e){const t=Math.round(e).toString(16) return("00".substr(0,2-t.length)+t).toUpperCase()}function Ee(e){let{r:t,g:a,b:l,a:o}=e return`#${[Ae(t),Ae(a),Ae(l),void 0!==o?Ae(Math.round(255*o)):""].join("")}`}function Te(e){e=function(e){e.startsWith("#")&&(e=e.slice(1)) 3!==(e=e.replace(/([^0-9a-f])/gi,"F")).length&&4!==e.length||(e=e.split("").map((e=>e+e)).join("")) 6!==e.length&&(e=N(N(e,6),8,"F")) return e}(e) let[t,a,l,o]=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1 const a=[] let l=0 for(;l<e.length;)a.push(e.substr(l,t)),l+=t return a}(e,2).map((e=>parseInt(e,16))) return o=void 0===o?o:o/255,{r:t,g:a,b:l,a:o}}function Pe(e){return Ee(xe(e))}function $e(e,t){const a=ve(be(e)) return a[0]=a[0]+10*t,ye(pe(a))}function Le(e,t){const a=ve(be(e)) return a[0]=a[0]-10*t,ye(pe(a))}function Me(e){return be(ke(e))[1]}function Fe(e,t){const a=Me(e),l=Me(t) return(Math.max(a,l)+.05)/(Math.min(a,l)+.05)}function De(e,a){let l function o(){l=t.effectScope(),l.run((()=>a.length?a((()=>{l?.stop(),o()})):a()))}t.watch(e,(e=>{e&&!l?o():e||(l?.stop(),l=void 0)}),{immediate:!0}),t.onScopeDispose((()=>{l?.stop()}))}const Oe=Symbol.for("vuetify:defaults") function ze(e){return t.ref(e)}function je(){const e=t.inject(Oe) if(!e)throw new Error("[Vuetify] Could not find defaults instance") return e}function He(e,a){const l=je(),o=t.ref(e),n=t.computed((()=>{if(t.unref(a?.disabled))return l.value const e=t.unref(a?.scoped),n=t.unref(a?.reset),r=t.unref(a?.root) let i=I(o.value,{prev:l.value}) if(e)return i if(n||r){const e=Number(n||1/0) for(let t=0;t<=e&&(i&&"prev"in i);t++)i=i.prev return i&&"string"==typeof r&&r in i&&(i=I(I(i,{prev:i}),i[r])),i}return i.prev?I(i.prev,i):i})) return t.provide(Oe,n),n}function Ue(e,t){return void 0!==e.props?.[t]||void 0!==e.props?.[R(t)]}function We(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:je() const o=Ze("useDefaults") if(a=a??o.type.name??o.type.__name,!a)throw new Error("[Vuetify] Could not determine component name") const n=t.computed((()=>l.value?.[e._as??a])),r=new Proxy(e,{get(e,t){const a=Reflect.get(e,t) return"class"===t||"style"===t?[n.value?.[t],a].filter((e=>null!=e)):"string"!=typeof t||Ue(o.vnode,t)?a:n.value?.[t]??l.value?.global?.[t]??a}}),i=t.shallowRef() function s(){De(i,(()=>{He(I(ut(Oe)?.value??{},i.value))}))}return t.watchEffect((()=>{if(n.value){const e=Object.entries(n.value).filter((e=>{let[t]=e return t.startsWith(t[0].toUpperCase())})) e.length&&(i.value=Object.fromEntries(e))}})),{props:r,provideSubDefaults:s}}function Ye(e){if(e._setup=e._setup??e.setup,!e.name)return ie("The component is missing an explicit name, unable to generate default prop value"),e if(e._setup){e.props=a(e.props??{},e.name)() const t=Object.keys(e.props) e.filterProps=function(e){return V(e,t,["class","style"])},e.props._as=String,e.setup=function(t,a){const l=je() if(!l.value)return e._setup(t,a) const{props:o,provideSubDefaults:n}=We(t,t._as??e.name,l),r=e._setup(o,a) return n(),r}}return e}function Ge(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0] return a=>(e?Ye:t.defineComponent)(a)}function Xe(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"div",o=arguments.length>2?arguments[2]:void 0 return Ge()({name:o??t.capitalize(t.camelize(e.replace(/__/g,"-"))),props:{tag:{type:String,default:a},...l()},setup(a,l){let{slots:o}=l return()=>t.h(a.tag,{class:[e,a.class],style:a.style},o.default?.())}})}function qe(e){if("function"!=typeof e.getRootNode){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 Ke="cubic-bezier(0.4, 0, 0.2, 1)" function Ze(e,a){const l=t.getCurrentInstance() if(!l)throw new Error(`[Vuetify] ${e} ${a||"must be called from inside a setup function"}`) return l}function Je(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"composables" const t=Ze(e).type return R(t?.aliasName||t?.name)}let Qe=0,et=new WeakMap function tt(){const e=Ze("getUid") if(et.has(e))return et.get(e) {const t=Qe++ return et.set(e,t),t}}function at(e){for(;e;){if(ot(e))return e e=e.parentElement}return document.scrollingElement}function lt(e,t){const a=[] if(t&&e&&!t.contains(e))return a for(;e&&(ot(e)&&a.push(e),e!==t);)e=e.parentElement return a}function ot(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1 const t=window.getComputedStyle(e) return"scroll"===t.overflowY||"auto"===t.overflowY&&e.scrollHeight>e.clientHeight}tt.reset=()=>{Qe=0,et=new WeakMap} const nt="undefined"!=typeof window,rt=nt&&"IntersectionObserver"in window,it=nt&&("ontouchstart"in window||window.navigator.maxTouchPoints>0),st=nt&&"undefined"!=typeof CSS&&void 0!==CSS.supports&&CSS.supports("selector(:focus-visible)") function ut(e){const{provides:t}=Ze("injectSelf") if(t&&e in t)return t[e]}function ct(e){Ze("useRender").render=e}function dt(e){const a=t.ref(),l=t.ref() if(nt){const o=new ResizeObserver((t=>{e?.(t,o),t.length&&(l.value=t[0].contentRect)})) t.onBeforeUnmount((()=>{o.disconnect()})),t.watch(a,((e,t)=>{t&&(o.unobserve(m(t)),l.value=void 0),e&&o.observe(m(e))}),{flush:"post"})}return{resizeRef:a,contentRect:t.readonly(l)}}const vt=Symbol.for("vuetify:layout"),pt=Symbol.for("vuetify:layout-item"),ft=a({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},"layout"),mt=a({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},"layout-item") function gt(){const e=t.inject(vt) if(!e)throw new Error("[Vuetify] Could not find injected layout") return{getLayoutItem:e.getLayoutItem,mainRect:e.mainRect,mainStyles:e.mainStyles}}function ht(e){const a=t.inject(vt) if(!a)throw new Error("[Vuetify] Could not find injected layout") const l=e.id??`layout-item-${tt()}`,o=Ze("useLayoutItem") t.provide(pt,{id:l}) const n=t.shallowRef(!1) t.onDeactivated((()=>n.value=!0)),t.onActivated((()=>n.value=!1)) const{layoutItemStyles:r,layoutItemScrimStyles:i}=a.register(o,{...e,active:t.computed((()=>!n.value&&e.active.value)),id:l}) return t.onBeforeUnmount((()=>a.unregister(l))),{layoutItemStyles:r,layoutRect:a.layoutRect,layoutItemScrimStyles:i}}function yt(e){const a=t.inject(vt,null),l=t.computed((()=>a?a.rootZIndex.value-100:1e3)),o=t.ref([]),n=t.reactive(new Map),r=t.reactive(new Map),i=t.reactive(new Map),s=t.reactive(new Map),u=t.reactive(new Map),{resizeRef:c,contentRect:d}=dt(),v=t.computed((()=>{const t=new Map,a=e.overlaps??[] for(const e of a.filter((e=>e.includes(":")))){const[a,l]=e.split(":") if(!o.value.includes(a)||!o.value.includes(l))continue const i=n.get(a),s=n.get(l),u=r.get(a),c=r.get(l) i&&s&&u&&c&&(t.set(l,{position:i.value,amount:parseInt(u.value,10)}),t.set(a,{position:s.value,amount:-parseInt(c.value,10)}))}return t})),f=t.computed((()=>{const e=[...new Set([...i.values()].map((e=>e.value)))].sort(((e,t)=>e-t)),t=[] for(const a of e){const e=o.value.filter((e=>i.get(e)?.value===a)) t.push(...e)}return((e,t,a,l)=>{let o={top:0,left:0,right:0,bottom:0} const n=[{id:"",layer:{...o}}] for(const r of e){const e=t.get(r),i=a.get(r),s=l.get(r) if(!e||!i||!s)continue const u={...o,[e.value]:parseInt(o[e.value],10)+(s.value?parseInt(i.value,10):0)} n.push({id:r,layer:u}),o=u}return n})(t,n,r,s)})),m=t.computed((()=>!Array.from(u.values()).some((e=>e.value)))),g=t.computed((()=>f.value[f.value.length-1].layer)),h=t.computed((()=>({"--v-layout-left":p(g.value.left),"--v-layout-right":p(g.value.right),"--v-layout-top":p(g.value.top),"--v-layout-bottom":p(g.value.bottom),...m.value?void 0:{transition:"none"}}))),y=t.computed((()=>f.value.slice(1).map(((e,t)=>{let{id:a}=e const{layer:l}=f.value[t],o=r.get(a),i=n.get(a) return{id:a,...l,size:Number(o.value),position:i.value}})))),b=e=>y.value.find((t=>t.id===e)),V=Ze("createLayout"),w=t.shallowRef(!1) t.onMounted((()=>{w.value=!0})),t.provide(vt,{register:(e,a)=>{let{id:c,order:d,position:p,layoutSize:g,elementSize:h,active:b,disableTransitions:S,absolute:k}=a i.set(c,d),n.set(c,p),r.set(c,g),s.set(c,b),S&&u.set(c,S) const x=A(pt,V?.vnode).indexOf(e) x>-1?o.value.splice(x,0,c):o.value.push(c) const C=t.computed((()=>y.value.findIndex((e=>e.id===c)))),N=t.computed((()=>l.value+2*f.value.length-2*C.value)) return{layoutItemStyles:t.computed((()=>{const e="left"===p.value||"right"===p.value,t="right"===p.value,a="bottom"===p.value,o={[p.value]:0,zIndex:N.value,transform:`translate${e?"X":"Y"}(${(b.value?0:-110)*(t||a?-1:1)}%)`,position:k.value||1e3!==l.value?"absolute":"fixed",...m.value?void 0:{transition:"none"}} if(!w.value)return o const n=y.value[C.value] if(!n)throw new Error(`[Vuetify] Could not find layout item "${c}"`) const r=v.value.get(c) return r&&(n[r.position]+=r.amount),{...o,height:e?`calc(100% - ${n.top}px - ${n.bottom}px)`:h.value?`${h.value}px`:void 0,left:t?void 0:`${n.left}px`,right:t?`${n.right}px`:void 0,top:"bottom"!==p.value?`${n.top}px`:void 0,bottom:"top"!==p.value?`${n.bottom}px`:void 0,width:e?h.value?`${h.value}px`:void 0:`calc(100% - ${n.left}px - ${n.right}px)`}})),layoutItemScrimStyles:t.computed((()=>({zIndex:N.value-1}))),zIndex:N}},unregister:e=>{i.delete(e),n.delete(e),r.delete(e),s.delete(e),u.delete(e),o.value=o.value.filter((t=>t!==e))},mainRect:g,mainStyles:h,getLayoutItem:b,items:y,layoutRect:d,rootZIndex:l}) return{layoutClasses:t.computed((()=>["v-layout",{"v-layout--full-height":e.fullHeight}])),layoutStyles:t.computed((()=>({zIndex:l.value,position:a?"relative":void 0,overflow:a?"hidden":void 0}))),getLayoutItem:b,items:y,layoutRect:d,layoutRef:c}}var bt={badge:"Badge",close:"Close",dataIterator:{noResultsText:"No matching records found",loadingText:"Loading items..."},dataTable:{itemsPerPageText:"Rows per page:",ariaLabel:{sortDescending:"Sorted descending.",sortAscending:"Sorted ascending.",sortNone:"Not sorted.",activateNone:"Activate to remove sorting.",activateDescending:"Activate to sort descending.",activateAscending:"Activate to sort ascending."},sortBy:"Sort by"},dataFooter:{itemsPerPageText:"Items per page:",itemsPerPageAll:"All",nextPage:"Next page",prevPage:"Previous page",firstPage:"First page",lastPage:"Last page",pageText:"{0}-{1} of {2}"},datePicker:{itemsSelected:"{0} selected",nextMonthAriaLabel:"Next month",nextYearAriaLabel:"Next year",prevMonthAriaLabel:"Previous month",prevYearAriaLabel:"Previous year"},noDataText:"No data available",carousel:{prev:"Previous visual",next:"Next visual",ariaLabel:{delimiter:"Carousel slide {0} of {1}"}},calendar:{moreEvents:"{0} more"},input:{clear:"Clear {0}",prependAction:"{0} prepended action",appendAction:"{0} appended action"},fileInput:{counter:"{0} files",counterSize:"{0} files ({1} in total)"},timePicker:{am:"AM",pm:"PM"},pagination:{ariaLabel:{root:"Pagination Navigation",next:"Next page",previous:"Previous page",page:"Go to page {0}",currentPage:"Page {0}, Current page",first:"First page",last:"Last page"}},rating:{ariaLabel:{item:"Rating {0} of {1}"}},loading:"Loading...",infiniteScroll:{loadMore:"Load more",empty:"No more"}} const Vt={af:!1,ar:!0,bg:!1,ca:!1,ckb:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1} function wt(e,a,l){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e=>e,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:e=>e const r=Ze("useProxiedModel"),i=t.ref(void 0!==e[a]?e[a]:l),s=R(a),u=s!==a,c=u?t.computed((()=>(e[a],!(!r.vnode.props?.hasOwnProperty(a)&&!r.vnode.props?.hasOwnProperty(s)||!r.vnode.props?.hasOwnProperty(`onUpdate:${a}`)&&!r.vnode.props?.hasOwnProperty(`onUpdate:${s}`))))):t.computed((()=>(e[a],!(!r.vnode.props?.hasOwnProperty(a)||!r.vnode.props?.hasOwnProperty(`onUpdate:${a}`))))) De((()=>!c.value),(()=>{t.watch((()=>e[a]),(e=>{i.value=e}))})) const d=t.computed({get(){const t=e[a] return o(c.value?t:i.value)},set(l){const s=n(l),u=t.toRaw(c.value?e[a]:i.value) u!==s&&o(u)!==l&&(i.value=s,r?.emit(`update:${a}`,s))}}) return Object.defineProperty(d,"externalValue",{get:()=>c.value?e[a]:i.value}),d}const St="$vuetify.",kt=(e,t)=>e.replace(/\{(\d+)\}/g,((e,a)=>String(t[+a]))),xt=(e,t,a)=>function(l){for(var o=arguments.length,n=new Array(o>1?o-1:0),r=1;r<o;r++)n[r-1]=arguments[r] if(!l.startsWith(St))return kt(l,n) const i=l.replace(St,""),s=e.value&&a.value[e.value],u=t.value&&a.value[t.value] let d=c(s,i,null) return d||(ie(`Translation key "${l}" not found in "${e.value}", trying fallback locale`),d=c(u,i,null)),d||(se(`Translation key "${l}" not found in fallback`),d=l),"string"!=typeof d&&(se(`Translation key "${l}" has a non-string value`),d=l),kt(d,n)} function Ct(e,t){return(a,l)=>new Intl.NumberFormat([e.value,t.value],l).format(a)}function Nt(e,a,l){const o=wt(e,a,e[a]??l.value) return o.value=e[a]??l.value,t.watch(l,(t=>{null==e[a]&&(o.value=l.value)})),o}function _t(e){return t=>{const a=Nt(t,"locale",e.current),l=Nt(t,"fallback",e.fallback),o=Nt(t,"messages",e.messages) return{name:"vuetify",current:a,fallback:l,messages:o,t:xt(a,l,o),n:Ct(a,l),provide:_t({current:a,fallback:l,messages:o})}}}const It=Symbol.for("vuetify:locale") function Bt(e){const a=e?.adapter&&(l=e?.adapter,null!=l.name)?e?.adapter:function(e){const a=t.shallowRef(e?.locale??"en"),l=t.shallowRef(e?.fallback??"en"),o=t.ref({en:bt,...e?.messages}) return{name:"vuetify",current:a,fallback:l,messages:o,t:xt(a,l,o),n:Ct(a,l),provide:_t({current:a,fallback:l,messages:o})}}(e) var l const o=function(e,a){const l=t.ref(a?.rtl??Vt),o=t.computed((()=>l.value[e.current.value]??!1)) return{isRtl:o,rtl:l,rtlClasses:t.computed((()=>"v-locale--is-"+(o.value?"rtl":"ltr")))}}(a,e) return{...a,...o}}function Rt(){const e=t.inject(It) if(!e)throw new Error("[Vuetify] Could not find injected locale instance") return e}function At(e){const a=t.inject(It) if(!a)throw new Error("[Vuetify] Could not find injected locale instance") const l=a.provide(e),o=function(e,a,l){const o=t.computed((()=>l.rtl??a.value[e.current.value]??!1)) return{isRtl:o,rtl:a,rtlClasses:t.computed((()=>"v-locale--is-"+(o.value?"rtl":"ltr")))}}(l,a.rtl,e),n={...l,...o} return t.provide(It,n),n}function Et(){const e=t.inject(It) if(!e)throw new Error("[Vuetify] Could not find injected rtl instance") return{isRtl:e.isRtl,rtlClasses:e.rtlClasses}}const Tt=2.4,Pt=.2126729,$t=.7151522,Lt=.072175,Mt=.03,Ft=12.82051282051282,Dt=.06 function Ot(e,t){const a=(e.r/255)**Tt,l=(e.g/255)**Tt,o=(e.b/255)**Tt,n=(t.r/255)**Tt,r=(t.g/255)**Tt,i=(t.b/255)**Tt let s,u=a*Pt+l*$t+o*Lt,c=n*Pt+r*$t+i*Lt if(u<=Mt&&(u+=(Mt-u)**1.45),c<=Mt&&(c+=(Mt-c)**1.45),Math.abs(c-u)<5e-4)return 0 if(c>u){const e=1.25*(c**.55-u**.58) s=e<.001?0:e<.078?e-e*Ft*Dt:e-Dt}else{const e=1.25*(c**.62-u**.57) s=e>-.001?0:e>-.078?e-e*Ft*Dt:e+Dt}return 100*s}const zt=Symbol.for("vuetify:theme"),jt=a({theme:String},"theme"),Ht={defaultTheme:"light",variations:{colors:[],lighten:0,darken:0},themes:{light:{dark:!1,colors:{background:"#FFFFFF",surface:"#FFFFFF","surface-variant":"#424242","on-surface-variant":"#EEEEEE",primary:"#6200EE","primary-darken-1":"#3700B3",secondary:"#03DAC6","secondary-darken-1":"#018786",error:"#B00020",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#000000","border-opacity":.12,"high-emphasis-opacity":.87,"medium-emphasis-opacity":.6,"disabled-opacity":.38,"idle-opacity":.04,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.12,"dragged-opacity":.08,"theme-kbd":"#212529","theme-on-kbd":"#FFFFFF","theme-code":"#F5F5F5","theme-on-code":"#000000"}},dark:{dark:!0,colors:{background:"#121212",surface:"#212121","surface-variant":"#BDBDBD","on-surface-variant":"#424242",primary:"#BB86FC","primary-darken-1":"#3700B3",secondary:"#03DAC5","secondary-darken-1":"#03DAC5",error:"#CF6679",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#FFFFFF","border-opacity":.12,"high-emphasis-opacity":1,"medium-emphasis-opacity":.7,"disabled-opacity":.5,"idle-opacity":.1,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.16,"dragged-opacity":.08,"theme-kbd":"#212529","theme-on-kbd":"#FFFFFF","theme-code":"#343434","theme-on-code":"#CCCCCC"}}}} function Ut(e){const a=t.reactive(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ht if(!e)return{...Ht,isDisabled:!0} const t={} for(const[a,l]of Object.entries(e.themes??{})){const e=l.dark||"dark"===a?Ht.themes?.dark:Ht.themes?.light t[a]=I(e,l)}return I(Ht,{...e,themes:t})}(e)),l=t.ref(a.defaultTheme),o=t.ref(a.themes),n=t.computed((()=>{const e={} for(const[t,l]of Object.entries(o.value)){const o=e[t]={...l,colors:{...l.colors}} if(a.variations)for(const e of a.variations.colors){const t=o.colors[e] if(t)for(const l of["lighten","darken"]){const n="lighten"===l?$e:Le for(const r of v(a.variations[l],1))o.colors[`${e}-${l}-${r}`]=Ee(n(ke(t),r))}}for(const e of Object.keys(o.colors)){if(/^on-[a-z]/.test(e)||o.colors[`on-${e}`])continue const t=`on-${e}`,a=ke(o.colors[e]),l=Math.abs(Ot(ke(0),a)),n=Math.abs(Ot(ke(16777215),a)) o.colors[t]=n>Math.min(l,50)?"#fff":"#000"}}return e})),r=t.computed((()=>n.value[l.value])),i=t.computed((()=>{const e=[] r.value.dark&&Gt(e,":root",["color-scheme: dark"]),Gt(e,":root",Xt(r.value)) for(const[t,a]of Object.entries(n.value))Gt(e,`.v-theme--${t}`,["color-scheme: "+(a.dark?"dark":"normal"),...Xt(a)]) const t=[],a=[],l=new Set(Object.values(n.value).flatMap((e=>Object.keys(e.colors)))) for(const e of l)/^on-[a-z]/.test(e)?Gt(a,`.${e}`,[`color: rgb(var(--v-theme-${e})) !important`]):(Gt(t,`.bg-${e}`,[`--v-theme-overlay-multiplier: var(--v-theme-${e}-overlay-multiplier)`,`background-color: rgb(var(--v-theme-${e})) !important`,`color: rgb(var(--v-theme-on-${e})) !important`]),Gt(a,`.text-${e}`,[`color: rgb(var(--v-theme-${e})) !important`]),Gt(a,`.border-${e}`,[`--v-border-color: var(--v-theme-${e})`])) return e.push(...t,...a),e.map(((e,t)=>0===t?e:` ${e}`)).join("")})) function s(){return{style:[{children:i.value,id:"vuetify-theme-stylesheet",nonce:a.cspNonce||!1}]}}const u=t.computed((()=>a.isDisabled?void 0:`v-theme--${l.value}`)) return{install:function(e){if(a.isDisabled)return const l=e._context.provides.usehead if(l)if(l.push){const e=l.push(s) t.watch(i,(()=>{e.patch(s)}))}else nt?(l.addHeadObjs(t.computed(s)),t.watchEffect((()=>l.updateDOM()))):l.addHeadObjs(s()) else{let e=nt?document.getElementById("vuetify-theme-stylesheet"):null function l(){if("undefined"!=typeof document&&!e){const t=document.createElement("style") t.type="text/css",t.id="vuetify-theme-stylesheet",a.cspNonce&&t.setAttribute("nonce",a.cspNonce),e=t,document.head.appendChild(e)}e&&(e.innerHTML=i.value)}t.watch(i,l,{immediate:!0})}},isDisabled:a.isDisabled,name:l,themes:o,current:r,computedThemes:n,themeClasses:u,styles:i,global:{name:l,current:r}}}function Wt(e){Ze("provideTheme") const a=t.inject(zt,null) if(!a)throw new Error("Could not find Vuetify theme injection") const l=t.computed((()=>e.theme??a?.name.value)),o=t.computed((()=>a.isDisabled?void 0:`v-theme--${l.value}`)),n={...a,name:l,themeClasses:o} return t.provide(zt,n),n}function Yt(){Ze("useTheme") const e=t.inject(zt,null) if(!e)throw new Error("Could not find Vuetify theme injection") return e}function Gt(e,t,a){e.push(`${t} {\n`,...a.map((e=>` ${e};\n`)),"}\n")}function Xt(e){const t=e.dark?2:1,a=e.dark?1:2,l=[] for(const[o,n]of Object.entries(e.colors)){const e=ke(n) l.push(`--v-theme-${o}: ${e.r},${e.g},${e.b}`),o.startsWith("on-")||l.push(`--v-theme-${o}-overlay-multiplier: ${Me(n)>.18?t:a}`)}for(const[t,a]of Object.entries(e.variables)){const e="string"==typeof a&&a.startsWith("#")?ke(a):void 0,o=e?`${e.r}, ${e.g}, ${e.b}`:void 0 l.push(`--v-${t}: ${o??a}`)}return l}const qt=a({...l(),...ft({fullHeight:!0}),...jt()},"VApp"),Kt=Ge()({name:"VApp",props:qt(),setup(e,a){let{slots:l}=a const o=Wt(e),{layoutClasses:n,layoutStyles:r,getLayoutItem:i,items:s,layoutRef:u}=yt(e),{rtlClasses:c}=Et() return ct((()=>t.createVNode("div",{ref:u,class:["v-application",o.themeClasses.value,n.value,c.value,e.class],style:[r.value,e.style]},[t.createVNode("div",{class:"v-application__wrap"},[l.default?.()])]))),{getLayoutItem:i,items:s,theme:o}}}),Zt=a({tag:{type:String,default:"div"}},"tag"),Jt=a({text:String,...l(),...Zt()},"VToolbarTitle"),Qt=Ge()({name:"VToolbarTitle",props:Jt(),setup(e,a){let{slots:l}=a return ct((()=>{const a=!!(l.default||l.text||e.text) return t.createVNode(e.tag,{class:["v-toolbar-title",e.class],style:e.style},{default:()=>[a&&t.createVNode("div",{class:"v-toolbar-title__placeholder"},[l.text?l.text():e.text,l.default?.()])]})})),{}}}),ea=a({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},"transition") function ta(e,a,l){return Ge()({name:e,props:ea({mode:l,origin:a}),setup(a,l){let{slots:o}=l const n={onBeforeEnter(e){a.origin&&(e.style.transformOrigin=a.origin)},onLeave(e){if(a.leaveAbsolute){const{offsetTop:t,offsetLeft:a,offsetWidth:l,offsetHeight:o}=e e._transitionInitialStyles={position:e.style.position,top:e.style.top,left:e.style.left,width:e.style.width,height:e.style.height},e.style.position="absolute",e.style.top=`${t}px`,e.style.left=`${a}px`,e.style.width=`${l}px`,e.style.height=`${o}px`}a.hideOnLeave&&e.style.setProperty("display","none","important")},onAfterLeave(e){if(a.leaveAbsolute&&e?._transitionInitialStyles){const{position:t,top:a,left:l,width:o,height:n}=e._transitionInitialStyles delete e._transitionInitialStyles,e.style.position=t||"",e.style.top=a||"",e.style.left=l||"",e.style.width=o||"",e.style.height=n||""}}} return()=>{const l=a.group?t.TransitionGroup:t.Transition return t.h(l,{name:a.disabled?"":e,css:!a.disabled,...a.group?void 0:{mode:a.mode},...a.disabled?{}:n},o.default)}}})}function aa(e,a){let l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"in-out" return Ge()({name:e,props:{mode:{type:String,default:l},disabled:Boolean},setup(l,o){let{slots:n}=o return()=>t.h(t.Transition,{name:l.disabled?"":e,css:!l.disabled,...l.disabled?{}:a},n.default)}})}function la(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1&&void 0!==arguments[1]&&arguments[1] const l=a?"width":"height",o=t.camelize(`offset-${l}`) return{onBeforeEnter(e){e._parent=e.parentNode,e._initialStyle={transition:e.style.transition,overflow:e.style.overflow,[l]:e.style[l]}},onEnter(t){const a=t._initialStyle t.style.setProperty("transition","none","important"),t.style.overflow="hidden" const n=`${t[o]}px` t.style[l]="0",t.offsetHeight,t.style.transition=a.transition,e&&t._parent&&t._parent.classList.add(e),requestAnimationFrame((()=>{t.style[l]=n}))},onAfterEnter:r,onEnterCancelled:r,onLeave(e){e._initialStyle={transition:"",overflow:e.style.overflow,[l]:e.style[l]},e.style.overflow="hidden",e.style[l]=`${e[o]}px`,e.offsetHeight,requestAnimationFrame((()=>e.style[l]="0"))},onAfterLeave:n,onLeaveCancelled:n} function n(t){e&&t._parent&&t._parent.classList.remove(e),r(t)}function r(e){const t=e._initialStyle[l] e.style.overflow=e._initialStyle.overflow,null!=t&&(e.style[l]=t),delete e._initialStyle}}const oa=a({target:Object},"v-dialog-transition"),na=Ge()({name:"VDialogTransition",props:oa(),setup(e,a){let{slots:l}=a const o={onBeforeEnter(e){e.style.pointerEvents="none",e.style.visibility="hidden"},async onEnter(t,a){await new Promise((e=>requestAnimationFrame(e))),await new Promise((e=>requestAnimationFrame(e))),t.style.visibility="" const{x:l,y:o,sx:n,sy:r,speed:i}=ia(e.target,t),s=le(t,[{transform:`translate(${l}px, ${o}px) scale(${n}, ${r})`,opacity:0},{}],{duration:225*i,easing:"cubic-bezier(0.0, 0, 0.2, 1)"}) ra(t)?.forEach((e=>{le(e,[{opacity:0},{opacity:0,offset:.33},{}],{duration:450*i,easing:Ke})})),s.finished.then((()=>a()))},onAfterEnter(e){e.style.removeProperty("pointer-events")},onBeforeLeave(e){e.style.pointerEvents="none"},async onLeave(t,a){await new Promise((e=>requestAnimationFrame(e))) const{x:l,y:o,sx:n,sy:r,speed:i}=ia(e.target,t) le(t,[{},{transform:`translate(${l}px, ${o}px) scale(${n}, ${r})`,opacity:0}],{duration:125*i,easing:"cubic-bezier(0.4, 0, 1, 1)"}).finished.then((()=>a())),ra(t)?.forEach((e=>{le(e,[{},{opacity:0,offset:.2},{opacity:0}],{duration:250*i,easing:Ke})}))},onAfterLeave(e){e.style.removeProperty("pointer-events")}} return()=>e.target?t.createVNode(t.Transition,t.mergeProps({name:"dialog-transition"},o,{css:!1}),l):t.createVNode(t.Transition,{name:"dialog-transition"},l)}}) function ra(e){const t=e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list")?.children return t&&[...t]}function ia(e,t){const a=e.getBoundingClientRect(),l=ae(t),[o,n]=getComputedStyle(t).transformOrigin.split(" ").map((e=>parseFloat(e))),[r,i]=getComputedStyle(t).getPropertyValue("--v-overlay-anchor-origin").split(" ") let s=a.left+a.width/2 "left"===r||"left"===i?s-=a.width/2:"right"!==r&&"right"!==i||(s+=a.width/2) let u=a.top+a.height/2 "top"===r||"top"===i?u-=a.height/2:"bottom"!==r&&"bottom"!==i||(u+=a.height/2) const c=a.width/l.width,d=a.height/l.height,v=Math.max(1,c,d),p=c/v||0,f=d/v||0,m=l.width*l.height/(window.innerWidth*window.innerHeight),g=m>.12?Math.min(1.5,10*(m-.12)+1):1 return{x:s-(o+l.left),y:u-(n+l.top),sx:p,sy:f,speed:g}}const sa=ta("fab-transition","center center","out-in"),ua=ta("dialog-bottom-transition"),ca=ta("dialog-top-transition"),da=ta("fade-transition"),va=ta("scale-transition"),pa=ta("scroll-x-transition"),fa=ta("scroll-x-reverse-transition"),ma=ta("scroll-y-transition"),ga=ta("scroll-y-reverse-transition"),ha=ta("slide-x-transition"),ya=ta("slide-x-reverse-transition"),ba=ta("slide-y-transition"),Va=ta("slide-y-reverse-transition"),wa=aa("expand-transition",la()),Sa=aa("expand-x-transition",la("",!0)),ka=a({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},"VDefaultsProvider"),xa=Ge(!1)({name:"VDefaultsProvider",props:ka(),setup(e,a){let{slots:l}=a const{defaults:o,disabled:n,reset:r,root:i,scoped:s}=t.toRefs(e) return He(o,{reset:r,root:i,scoped:s,disabled:n}),()=>l.default?.()}}),Ca=a({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},"dimension") function Na(e){return{dimensionStyles:t.computed((()=>({height:p(e.height),maxHeight:p(e.maxHeight),maxWidth:p(e.maxWidth),minHeight:p(e.minHeight),minWidth:p(e.minWidth),width:p(e.width)})))}}const _a=a({aspectRatio:[String,Number],contentClass:String,inline:Boolean,...l(),...Ca()},"VResponsive"),Ia=Ge()({name:"VResponsive",props:_a(),setup(e,a){let{slots:l}=a const{aspectStyles:o}=function(e){return{aspectStyles:t.computed((()=>{const t=Number(e.aspectRatio) return t?{paddingBottom:String(1/t*100)+"%"}:void 0}))}}(e),{dimensionStyles:n}=Na(e) return ct((()=>t.createVNode("div",{class:["v-responsive",{"v-responsive--inline":e.inline},e.class],style:[n.value,e.style]},[t.createVNode("div",{class:"v-responsive__sizer",style:o.value},null),l.additional?.(),l.default&&t.createVNode("div",{class:["v-responsive__content",e.contentClass]},[l.default()])]))),{}}}),Ba=a({transition:{type:[Boolean,String,Object],default:"fade-transition",validator:e=>!0!==e}},"transition"),Ra=(e,a)=>{let{slots:l}=a const{transition:o,disabled:n,...r}=e,{component:i=t.Transition,...s}="object"==typeof o?o:{} return t.h(i,t.mergeProps("string"==typeof o?{name:n?"":o}:s,r,{disabled:n}),l)} function Aa(e,t){const a=e._observe?.[t.instance.$.uid] a&&(a.observer.unobserve(e),delete e._observe[t.instance.$.uid])}const Ea={mounted:function(e,t){if(!rt)return const a=t.modifiers||{},l=t.value,{handler:o,options:n}="object"==typeof l?l:{handler:l,options:{}},r=new IntersectionObserver((function(){let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0 const r=e._observe?.[t.instance.$.uid] if(!r)return const i=l.some((e=>e.isIntersecting)) !o||a.quiet&&!r.init||a.once&&!i&&!r.init||o(i,l,n),i&&a.once?Aa(e,t):r.init=!0}),n) e._observe=Object(e._observe),e._observe[t.instance.$.uid]={init:!1,observer:r},r.observe(e)},unmounted:Aa},Ta=a({alt:String,cover:Boolean,eager:Boolean,gradient:String,lazySrc:String,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},sizes:String,src:{type:[String,Object],default:""},srcset:String,..._a(),...l(),...Ba()},"VImg"),Pa=Ge()({name:"VImg",directives:{intersect:Ea},props:Ta(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,a){let{emit:l,slots:o}=a const n=t.shallowRef(""),r=t.ref(),i=t.shallowRef(e.eager?"loading":"idle"),s=t.shallowRef(),u=t.shallowRef(),c=t.computed((()=>e.src&&"object"==typeof e.src?{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)})),d=t.computed((()=>c.value.aspect||s.value/u.value||0)) function v(a){if((!e.eager||!a)&&(!rt||a||e.eager)){if(i.value="loading",c.value.lazySrc){const e=new Image e.src=c.value.lazySrc,h(e,null)}c.value.src&&t.nextTick((()=>{if(l("loadstart",r.value?.currentSrc||c.value.src),r.value?.complete){if(r.value.naturalWidth||f(),"error"===i.value)return d.value||h(r.value,null),p()}else d.value||h(r.value),m()}))}}function p(){m(),i.value="loaded",l("load",r.value?.currentSrc||c.value.src)}function f(){i.value="error",l("error",r.value?.currentSrc||c.value.src)}function m(){const e=r.value e&&(n.value=e.currentSrc||e.src)}t.watch((()=>e.src),(()=>{v("idle"!==i.value)})),t.watch(d,((e,t)=>{!e&&t&&r.value&&h(r.value)})),t.onBeforeMount((()=>v())) let g=-1 function h(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100 const a=()=>{clearTimeout(g) const{naturalHeight:l,naturalWidth:o}=e l||o?(s.value=o,u.value=l):e.complete||"loading"!==i.value||null==t?(e.currentSrc.endsWith(".svg")||e.currentSrc.startsWith("data:image/svg+xml"))&&(s.value=1,u.value=1):g=window.setTimeout(a,t)} a()}const y=t.computed((()=>({"v-img__img--cover":e.cover,"v-img__img--contain":!e.cover}))),b=()=>{if(!c.value.src||"idle"===i.value)return null const a=t.createVNode("img",{class:["v-img__img",y.value],src:c.value.src,srcset:c.value.srcset,alt:e.alt,sizes:e.sizes,ref:r,onLoad:p,onError:f},null),l=o.sources?.() return t.createVNode(Ra,{transition:e.transition,appear:!0},{default:()=>[t.withDirectives(l?t.createVNode("picture",{class:"v-img__picture"},[l,a]):a,[[t.vShow,"loaded"===i.value]])]})},V=()=>t.createVNode(Ra,{transition:e.transition},{default:()=>[c.value.lazySrc&&"loaded"!==i.value&&t.createVNode("img",{class:["v-img__img","v-img__img--preload",y.value],src:c.value.lazySrc,alt:e.alt},null)]}),w=()=>o.placeholder?t.createVNode(Ra,{transition:e.transition,appear:!0},{default:()=>[("loading"===i.value||"error"===i.value&&!o.error)&&t.createVNode("div",{class:"v-img__placeholder"},[o.placeholder()])]}):null,S=()=>o.error?t.createVNode(Ra,{transition:e.transition,appear:!0},{default:()=>["error"===i.value&&t.createVNode("div",{class:"v-img__error"},[o.error()])]}):null,k=()=>e.gradient?t.createVNode("div",{class:"v-img__gradient",style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,x=t.shallowRef(!1) {const e=t.watch(d,(t=>{t&&(requestAnimationFrame((()=>{requestAnimationFrame((()=>{x.value=!0}))})),e())}))}return ct((()=>{const[a]=Ia.filterProps(e) return t.withDirectives(t.createVNode(Ia,t.mergeProps({class:["v-img",{"v-img--booting":!x.value},e.class],style:e.style},a,{aspectRatio:d.value,"aria-label":e.alt,role:e.alt?"img":void 0}),{additional:()=>t.createVNode(t.Fragment,null,[t.createVNode(b,null,null),t.createVNode(V,null,null),t.createVNode(k,null,null),t.createVNode(w,null,null),t.createVNode(S,null,null)]),default:o.default}),[[t.resolveDirective("intersect"),{handler:v,options:e.options},null,{once:!0}]])})),{currentSrc:n,image:r,state:i,naturalWidth:s,naturalHeight:u}}}),$a=a({border:[Boolean,Number,String]},"border") function La(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Je() const l=t.computed((()=>{const l=t.isRef(e)?e.value:e.border,o=[] if(!0===l||""===l)o.push(`${a}--border`) else if("string"==typeof l||0===l)for(const e of String(l).split(" "))o.push(`border-${e}`) return o})) return{borderClasses:l}}function Ma(e){return $((()=>{const t=[],a={} return e.value.background&&(Ve(e.value.background)?a.backgroundColor=e.value.background:t.push(`bg-${e.value.background}`)),e.value.text&&(Ve(e.value.text)?(a.color=e.value.text,a.caretColor=e.value.text):t.push(`text-${e.value.text}`)),{colorClasses:t,colorStyles:a}}))}function Fa(e,a){const l=t.computed((()=>({text:t.isRef(e)?e.value:a?e[a]:null}))),{colorClasses:o,colorStyles:n}=Ma(l) return{textColorClasses:o,textColorStyles:n}}function Da(e,a){const l=t.computed((()=>({background:t.isRef(e)?e.value:a?e[a]:null}))),{colorClasses:o,colorStyles:n}=Ma(l) return{backgroundColorClasses:o,backgroundColorStyles:n}}const Oa=a({elevation:{type:[Number,String],validator(e){const t=parseInt(e) return!isNaN(t)&&t>=0&&t<=24}}},"elevation") function za(e){return{elevationClasses:t.computed((()=>{const a=t.isRef(e)?e.value:e.elevation,l=[] return null==a||l.push(`elevation-${a}`),l}))}}const ja=a({rounded:{type:[Boolean,Number,String],default:void 0}},"rounded") function Ha(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Je() const l=t.computed((()=>{const l=t.isRef(e)?e.value:e.rounded,o=[] if(!0===l||""===l)o.push(`${a}--rounded`) else if("string"==typeof l||0===l)for(const e of String(l).split(" "))o.push(`rounded-${e}`) return o})) return{roundedClasses:l}}const Ua=[null,"prominent","default","comfortable","compact"],Wa=a({absolute:Boolean,collapse:Boolean,color:String,density:{type:String,default:"default",validator:e=>Ua.includes(e)},extended:Boolean,extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...$a(),...l(),...Oa(),...ja(),...Zt({tag:"header"}),...jt()},"VToolbar"),Ya=Ge()({name:"VToolbar",props:Wa(),setup(e,a){let{slots:l}=a const{backgroundColorClasses:o,backgroundColorStyles:n}=Da(t.toRef(e,"color")),{borderClasses:r}=La(e),{elevationClasses:i}=za(e),{roundedClasses:s}=Ha(e),{themeClasses:u}=Wt(e),{rtlClasses:c}=Et(),d=t.shallowRef(!(!e.extended&&!l.extension?.())),v=t.computed((()=>parseInt(Number(e.height)+("prominent"===e.density?Number(e.height):0)-("comfortable"===e.density?8:0)-("compact"===e.density?16:0),10))),f=t.computed((()=>d.value?parseInt(Number(e.extensionHeight)+("prominent"===e.density?Number(e.extensionHeight):0)-("comfortable"===e.density?4:0)-("compact"===e.density?8:0),10):0)) return He({VBtn:{variant:"text"}}),ct((()=>{const a=!(!e.title&&!l.title),m=!(!l.image&&!e.image),g=l.extension?.() return d.value=!(!e.extended&&!g),t.createVNode(e.tag,{class:["v-toolbar",{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},o.value,r.value,i.value,s.value,u.value,c.value,e.class],style:[n.value,e.style]},{default:()=>[m&&t.createVNode("div",{key:"image",class:"v-toolbar__image"},[l.image?t.createVNode(xa,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},l.image):t.createVNode(Pa,{key:"image-img",cover:!0,src:e.image},null)]),t.createVNode(xa,{defaults:{VTabs:{height:p(v.value)}}},{default:()=>[t.createVNode("div",{class:"v-toolbar__content",style:{height:p(v.value)}},[l.prepend&&t.createVNode("div",{class:"v-toolbar__prepend"},[l.prepend?.()]),a&&t.createVNode(Qt,{key:"title",text:e.title},{text:l.title}),l.default?.(),l.append&&t.createVNode("div",{class:"v-toolbar__append"},[l.append?.()])])]}),t.createVNode(xa,{defaults:{VTabs:{height:p(f.value)}}},{default:()=>[t.createVNode(wa,null,{default:()=>[d.value&&t.createVNode("div",{class:"v-toolbar__extension",style:{height:p(f.value)}},[g])]})]})]})})),{contentHeight:v,extensionHeight:f}}}),Ga=a({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},"scroll") function Xa(){const e=t.shallowRef(!1) t.onMounted((()=>{window.requestAnimationFrame((()=>{e.value=!0}))})) return{ssrBootStyles:t.computed((()=>e.value?void 0:{transition:"none !important"})),isBooted:t.readonly(e)}}const qa=a({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:e=>["top","bottom"].includes(e)},...Wa(),...mt(),...Ga(),height:{type:[Number,String],default:64}},"VAppBar"),Ka=Ge()({name:"VAppBar",props:qa(),emits:{"update:modelValue":e=>!0},setup(e,a){let{slots:l}=a const o=t.ref(),n=wt(e,"modelValue"),r=t.computed((()=>{const t=new Set(e.scrollBehavior?.split(" ")??[]) return{hide:t.has("hide"),inverted:t.has("inverted"),collapse:t.has("collapse"),elevate:t.has("elevate"),fadeImage:t.has("fade-image")}})),i=t.computed((()=>{const e=r.value return e.hide||e.inverted||e.collapse||e.elevate||e.fadeImage||!n.value})),{currentScroll:s,scrollThreshold:u,isScrollingUp:c,scrollRatio:d}=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{} const{canScroll:l}=a let o=0 const n=t.ref(null),r=t.shallowRef(0),i=t.shallowRef(0),s=t.shallowRef(0),u=t.shallowRef(!1),c=t.shallowRef(!1),d=t.computed((()=>Number(e.scrollThreshold))),v=t.computed((()=>x((d.value-r.value)/d.value||0))),p=()=>{const e=n.value !e||l&&!l.value||(o=r.value,r.value="window"in e?e.pageYOffset:e.scrollTop,c.value=r.value<o,s.value=Math.abs(r.value-d.value))} return t.watch(c,(()=>{i.value=i.value||r.value})),t.watch(u,(()=>{i.value=0})),t.onMounted((()=>{t.watch((()=>e.scrollTarget),(e=>{const t=e?document.querySelector(e):window t?t!==n.value&&(n.value?.removeEventListener("scroll",p),n.value=t,n.value.addEventListener("scroll",p,{passive:!0})):ie(`Unable to locate element with identifier ${e}`)}),{immediate:!0})})),t