vuestic-ui
Version:
Vue 3 UI Framework
2 lines • 433 kB
JavaScript
var vuestic=function(I,e,Dt){var Ac;"use strict";const ft=t=>t!==null&&typeof t=="object",mt=t=>t===null||typeof t!="object"?t:Array.isArray(t)?t.map(mt):t instanceof Date?new Date(t.getTime()):t instanceof RegExp?new RegExp(t.source,t.flags):t instanceof Map?new Map(Array.from(t.entries()).map(([o,n])=>[o,mt(n)])):t instanceof Set?new Set(Array.from(t.values()).map(mt)):ft(t)?Object.keys(t).reduce((o,n)=>(o[n]=mt(t[n]),o),{}):t,Mc=()=>({VaIcon:{sizesConfig:{defaultSize:18,sizes:{small:14,medium:18,large:24}}},VaRating:{sizesConfig:{defaultSize:18,sizes:{small:14,medium:18,large:24}}},all:{},presets:{VaButton:{default:{backgroundOpacity:1,hoverBehavior:"mask",hoverOpacity:.15,pressedBehavior:"mask",pressedOpacity:.13},primary:{backgroundOpacity:.1,hoverBehavior:"opacity",hoverOpacity:.07,pressedBehavior:"opacity",pressedOpacity:.13},secondary:{backgroundOpacity:0,hoverBehavior:"opacity",hoverOpacity:.07,pressedBehavior:"opacity",pressedOpacity:.13},plain:{plain:!0,hoverBehavior:"mask",hoverOpacity:.15,pressedBehavior:"mask",pressedOpacity:.13},plainOpacity:{plain:!0,textOpacity:.6,hoverBehavior:"opacity",hoverOpacity:1,pressedBehavior:"opacity",pressedOpacity:.9}},VaInputWrapper:{solid:{background:"backgroundElement"},bordered:{class:"va-input-wrapper--bordered",background:"backgroundElement"}},VaCheckbox:{solid:{style:"--va-checkbox-background: var(--va-background-element)"}},VaRadio:{solid:{style:"--va-radio-background: var(--va-background-element)"}},VaMenu:{context:{cursor:!0,placement:"right-start",trigger:"right-click"}}}}),Ga="VaLocalConfig",Dc=e.computed(()=>[]);function fn(){return e.inject(Ga,Dc)}function qa(t){e.provide(Ga,t)}function zc(t){const o=fn(),n=e.computed(()=>[...o.value,t.value]);qa(n)}const mn="child:",Ya="$va:childComponents",Xa=t=>Object.keys(t).reduce((o,n)=>{const a=`${mn}${n}`;return o[a]={type:Object,required:!1,default:void 0},o},{}),Ja=t=>{const o=e.computed(()=>Object.keys(t).reduce((a,r)=>{if(r.startsWith(mn)){const l=r.slice(mn.length);a[l]=t[r]}return a},{}));e.provide(Ya,o)},gn=()=>{var n;const t=(n=e.getCurrentInstance())==null?void 0:n.attrs["va-child"];if(!t)return null;const o=e.inject(Ya);return o!=null&&o.value?e.computed(()=>o.value[t]):null},Oc=[null,void 0,""],Rc=[null,void 0],Me=t=>Oc.includes(t),Za=t=>!Me(t),yn=t=>Rc.includes(t),Fc=t=>"preset"in t,Qa=t=>Fc(t)?t.preset:void 0,Hc=(t,o)=>{const n=fn(),{globalConfig:a}=He(),r=t.name,l=i=>(i instanceof Array?i:[i]).reduce((u,c)=>{var f,m,g;const d=(g=(m=(f=a.value.components)==null?void 0:f.presets)==null?void 0:m[r])==null?void 0:g[c];if(!d)return u;const p=Qa(d);return{...u,...p?l(p):void 0,...d}},{}),s=gn();return e.computed(()=>{var p,f;const i={...(p=a.value.components)==null?void 0:p.all,...(f=a.value.components)==null?void 0:f[r]},u=n.value.reduce((m,g)=>{const y=g[r];return y?{...m,...y}:m},{}),c=[o,s==null?void 0:s.value,u,i].filter(Za).map(Qa).filter(Za).at(0),d=c?l(c):void 0;return{...i,...u,...d}})},er=[{name:"mi-{icon}",class:"material-icons",resolve:({icon:t})=>({content:t})},{name:"{icon}",class:"material-icons",resolve:({icon:t})=>({content:t})}],tr=(t=>t)([{name:"va-unsorted",to:"swap_vert"},{name:"va-sort-asc",to:"va-arrow-up"},{name:"va-sort-desc",to:"va-arrow-down"},{name:"va-arrow-first",to:"mi-first_page"},{name:"va-arrow-last",to:"mi-last_page"},{name:"va-arrow-right",to:"mi-chevron_right"},{name:"va-arrow-left",to:"mi-chevron_left"},{name:"va-arrow-down",to:"mi-expand_more"},{name:"va-arrow-up",to:"mi-expand_less"},{name:"va-calendar",to:"mi-calendar_today"},{name:"va-delete",to:"mi-delete_outline"},{name:"va-check",to:"mi-check"},{name:"va-check-circle",to:"mi-check_circle"},{name:"va-warning",to:"mi-warning"},{name:"va-clear",to:"mi-highlight_off"},{name:"va-close",to:"mi-close"},{name:"va-loading",to:"mi-loop"},{name:"va-plus",to:"mi-add"},{name:"va-minus",to:"mi-remove"}]),or=t=>(t.aliases=t.aliases||[],t.fonts=t.fonts||[],[...t.aliases,...tr,...t.fonts,...er]),Kc=()=>or({}),nr=t=>typeof t.name=="string",ar=t=>t.name instanceof RegExp,hn={light:{primary:"#154EC1",secondary:"#767C88",success:"#3D9209",info:"#158DE3",danger:"#E42222",warning:"#FFD43A",backgroundPrimary:"#f6f6f6",backgroundSecondary:"#FFFFFF",backgroundElement:"#ECF0F1",backgroundBorder:"#DEE5F2",textPrimary:"#262824",textInverted:"#FFFFFF",shadow:"rgba(0, 0, 0, 0.12)",focus:"#49A8FF",transparent:"rgba(0, 0, 0, 0)"},dark:{primary:"#3472F0",secondary:"#767C88",success:"#66BE33",info:"#3EAAF8",danger:"#F34030",warning:"#FFD952",backgroundPrimary:"#050A10",backgroundSecondary:"#1F262F",backgroundElement:"#131A22",backgroundBorder:"#3D4C58",textPrimary:"#F1F1F1",textInverted:"#0B121A",shadow:"rgba(255, 255, 255, 0.12)",focus:"#49A8FF",transparent:"rgba(0, 0, 0, 0)"}},rr=t=>({...t,get variables(){return this.presets[this.currentPresetName]},set variables(o){this.presets[this.currentPresetName]=o}}),Uc=()=>rr({threshold:150,presets:{light:hn.light,dark:hn.dark},currentPresetName:"light"}),lr=t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase(),jc=/[A-Z0-9]*(?:[^\-_|A-Z|\s.])*/gm,bn=t=>{var o;return((o=t.match(jc))==null?void 0:o.map(n=>n.trim().split(/([0-9]+)|([a-zA-Z]+)/g)).flat().filter(Boolean))||[]},zt=t=>bn(t).map(o=>o.toLowerCase()).join("-"),Wc=t=>bn(t).map((o,n)=>n===0?o.toLowerCase():lr(o)).join(""),sr=t=>bn(t).map(lr).join(" "),ir=/^#([A-Fa-f0-9]{3,4}|[A-Fa-f0-9]{6,8})$/,cr=/^rgba?\(([\d.]+, ?){2}[\d.]+(, ?[\d.]+)?\)$/,dr=/hsla?\([\d.]+(deg|rad|turn|grad)?(,?\s?[\d.]+%?){2}(,?\s?(\/\s?)?[\d.]+%?)?\)/,Gc=t=>ir.test(t)||cr.test(t)||dr.test(t),Cn=t=>typeof t!="object"||t===null?!1:"h"in t&&"s"in t&&"l"in t,kn=t=>typeof t!="object"||t===null?!1:"r"in t&&"g"in t&&"b"in t,ur=t=>{if(!ir.test(t))return null;const o=t.replace("#",""),n=o.length<6,[a,r,l,s]=n?o.split("").map(i=>parseInt(i+i,16)):o.match(/.{2}/g).map(i=>parseInt(i,16));return{r:a,g:r,b:l,a:s??1}},pr=t=>{if(!cr.test(t))return null;const[o,n,a,r=1]=t.match(/[\d.]+/g).map(Number);return{r:o,g:n,b:a,a:r}},fr=t=>{if(!dr.test(t))return null;const[o,n,a,r="1"]=t.match(/[\d.]+%?/g);return{h:Number(o),s:Number(n.replace("%","")),l:Number(a.replace("%","")),a:r.endsWith("%")?Number(r.replace("%",""))/100:Number(r)}},mr=t=>{const o=t.r/255,n=t.g/255,a=t.b/255,r=Math.max(o,n,a),l=Math.min(o,n,a);let s=0,i=0;const u=(r+l)/2;if(r!==l){const c=r-l;switch(i=u>.5?c/(2-r-l):c/(r+l),r){case o:s=(n-a)/c+(n<a?6:0);break;case n:s=(a-o)/c+2;break;case a:s=(o-n)/c+4;break}s*=60}return{h:Math.round(s),s:Math.round(i*100),l:Math.round(u*100),a:t.a}},Sn=(t,o,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(o-t)*6*n:n<1/2?o:n<2/3?t+(o-t)*(2/3-n)*6:t),gr=t=>{const o=t.h/360,n=t.s/100,a=t.l/100,r=a<.5?a*(1+n):a+n-a*n,l=2*a-r,s=Sn(l,r,o+1/3),i=Sn(l,r,o),u=Sn(l,r,o-1/3);return{r:Math.round(s*255),g:Math.round(i*255),b:Math.round(u*255),a:t.a}},oo=t=>{if(Cn(t))return{...t};if(kn(t))return mr(t);const o=ur(t)??pr(t);if(o)return mr(o);const n=fr(t);if(n)return n;throw new Error(`Color ${t} is not valid. Please, provide valid color.`)},Vn=({h:t,s:o,l:n,a})=>`hsla(${t},${o}%,${n}%,${a??1})`,no=t=>{if(kn(t))return{...t};if(Cn(t))return gr(t);const o=fr(t);if(o)return gr(o);const n=ur(t)??pr(t);if(n)return n;throw new Error(`Color ${t} is not valid. Please, provide valid color.`)},ao=({r:t,g:o,b:n,a})=>a===1?`rgb(${t},${o},${n})`:`rgba(${t},${o},${n},${a??1})`,qc=t=>{if(Cn(t))return Vn(t);if(kn(t))return ao(t);if(typeof t=="string")return t;throw new Error(`Color ${t} is not valid. Please, provide valid color.`)},Yc=(t,{h:o,s:n,l:a,a:r})=>{const l=oo(t);return l.a=l.a??1,l.h=o??l.h,l.s=n??l.s,l.l=a??l.l,l.a=r??l.a,l.h<0&&(l.h=360+l.h),l.h>360&&(l.h=l.h-360),l.s=Math.max(0,Math.min(100,l.s)),l.l=Math.max(0,Math.min(100,l.l)),l.a=Math.max(0,Math.min(1,l.a)),l},Xc=(t,{h:o,s:n,l:a,a:r})=>{const l=oo(t);return l.a=l.a??1,l.h+=o??0,l.s+=n??0,l.l+=a??0,l.a+=r??0,l.h<0&&(l.h=360+l.h),l.h>360&&(l.h=l.h-360),l.s=Math.max(0,Math.min(100,l.s)),l.l=Math.max(0,Math.min(100,l.l)),l.a=Math.max(0,Math.min(1,l.a)),l},Jc=t=>/var\(--.+\)/.test(t),Eo=t=>`--va-${zt(t)}`,yr=t=>Wc(t),gt=(t,o)=>{const{r:n,g:a,b:r}=no(t);return ao({r:n,g:a,b:r,a:o})},hr=t=>{const{r:o,g:n,b:a}=no(t);return Math.sqrt(o*o*.241+n*n*.691+a*a*.068)},br=(t,o=.4)=>gt(t,o),Zc=(t,o=.4)=>gt(t,o),Cr=(t,o=.2)=>gt(t,o),kr=(t,o=.3)=>gt(t,o),yt=(t,o)=>Vn(Xc(oo(t),o)),Qc=(t,o)=>Vn(Yc(oo(t),o)),ed=t=>{const o=oo(t);if(o.s<10)return yt(o,{h:2,s:5,l:10});if(o.s<30)return yt(o,{s:-14,l:11});if(o.h>=0&&o.h<44||o.h>=285)return yt(o,{h:11,s:27,l:8});if(o.h>=44&&o.h<85)return yt(o,{h:3,l:9});if(o.h>=85&&o.h<165)return yt(o,{h:16,l:14});if(o.h>=165&&o.h<285)return yt(o,{h:-15,s:3,l:2});throw new Error("This method should handle all colors. But it didn't for some reason.")},_n=t=>`linear-gradient(to right, ${ed(t)}, ${qc(t)})`,td=(t,o,n)=>{const a=gt(o,n);return`linear-gradient(0deg, ${a}, ${a}), ${t}`},od=(t,o)=>{const n=no(t),a=no(o),r=a.a;return ao(r===1?a:r===0?n:{r:Math.round(n.r*(1-r)+a.r*r),g:Math.round(n.g*(1-r)+a.g*r),b:Math.round(n.b*(1-r)+a.b*r),a:n.a})},nd=t=>t?t==="transparent"?!0:no(t).a<=.1:!1,ad=()=>({search:"Search",noOptions:"Items not found",ok:"OK",cancel:"Cancel",uploadFile:"Upload file",undo:"Undo",dropzone:"Drop files here to upload",fileDeleted:"File deleted",closeAlert:"close alert",backToTop:"back to top",toggleDropdown:"toggle dropdown",carousel:"carousel",goPreviousSlide:"go previous slide",goNextSlide:"go next slide",goSlide:"go slide {index}",slideOf:"slide {index} of {length}",close:"close",openColorPicker:"open color picker",colorSelection:"color selection",colorName:"color {color}",decreaseCounter:"decrease counter",increaseCounter:"increase counter",selectAllRows:"select all rows",sortColumnBy:"sort column by {name}",selectRowByIndex:"select row {index}",resetDate:"reset date",nextPeriod:"next period",switchView:"switch view",previousPeriod:"previous period",removeFile:"remove file",reset:"reset",pagination:"pagination",goToTheFirstPage:"go to the first page",goToPreviousPage:"go to the previous page",goToSpecificPage:"go to the {page} page",goToSpecificPageInput:"enter the page number to go",goNextPage:"go next page",goLastPage:"go last page",currentRating:"current rating {value} of {max}",voteRating:"vote rating {value} of {max}",optionsFilter:"options filter",splitPanels:"split panels",movePaginationLeft:"move pagination left",movePaginationRight:"move pagination right",resetTime:"reset time",closeToast:"close toast",selectedOption:"Selected option",noSelectedOption:"Option is not selected",breadcrumbs:"breadcrumbs",counterValue:"counter value",selectedDate:"selected date",selectedTime:"selected time",progressState:"progress state",color:"color",next:"Next",back:"Previous",finish:"Finish",step:"step",progress:"progress",loading:"Loading",sliderValue:"Current slider value is {value}",switch:"Switch",inputField:"Input field",fileTypeIncorrect:"File type is incorrect",select:"Select an option"}),Sr=Symbol("vaBreakpoint"),Vr={xs:0,sm:640,md:1024,lg:1440,xl:1920},rd=()=>({enabled:!0,bodyClass:!0,thresholds:Vr}),ld=((typeof process<"u"?process:{}).env||{}).NODE_ENV||"",Ot=typeof __DEV__<"u"?__DEV__:!["prod","production"].includes(ld),fe=(...t)=>(Ot&&console.warn(...t),!1),sd=t=>{throw new Error(`[Vuestic] ${t}`)};let wn=null,Rt=null;const To=t=>{(Rt==null?void 0:Rt._instance)===null&&(Rt=null),!(t===null&&Rt===null)&&(Rt=wn,wn=t)},Bn=()=>wn,_r=(t,o=void 0)=>{var r;const n=(r=Bn())==null?void 0:r._context.provides[t];return e.getCurrentInstance()?e.inject(t,o):n??sd("You're using Vuestic composable outside Vue app. Since you registered Vuestic in multiple apps, composables can not be used outside setup function anymore.")},vn=t=>t&&typeof t=="object"&&!Array.isArray(t),ht=(t,o)=>(vn(t)||(t={}),Object.keys(o).forEach(n=>{const a=t[n],r=o[n];r instanceof RegExp||r instanceof Date?t[n]=r:vn(a)&&vn(r)?t[n]=ht(Object.create(Object.getPrototypeOf(a),Object.getOwnPropertyDescriptors(a)),r):t[n]=r}),t),id=(...t)=>t.reduce((o,n)=>ht(o,n),{}),cd=[{prefix:"bg",property:"background-color"},{prefix:"text",property:["color","fill"]}],dd=()=>cd;function He(){let t=_r(xo);return t||(t=wr(),fd(t)),t}const ud=t=>t,xo=Symbol("GLOBAL_CONFIG"),pd=()=>({colors:Uc(),icons:Kc(),components:Mc(),breakpoint:rd(),i18n:ad(),colorsClasses:dd(),routerComponent:void 0}),wr=(t={})=>{const o=e.ref(ht(pd(),t));return{getGlobalConfig:()=>o.value,setGlobalConfig:l=>{const s=typeof l=="function"?l(o.value):l;o.value=mt(s)},mergeGlobalConfig:l=>{const s=typeof l=="function"?l(o.value):l;o.value=ht(mt(o.value),s)},globalConfig:o}},fd=t=>{var n,a;const o=((n=e.getCurrentInstance())==null?void 0:n.appContext.provides)||((a=Bn())==null?void 0:a._context.provides);if(!o)throw new Error("Vue app not found for provide");return o[xo]=t,t},Br={align:{type:String,default:"left"},vertical:{type:Boolean,default:!1}},md={left:"flex-start",center:"center",right:"flex-end",between:"space-between",around:"space-around"},gd={left:"flex-start",center:"center",right:"flex-end",stretch:"stretch"},yd=(t,o)=>o?"center":t?md[t]:"flex-start",hd=(t,o)=>o?gd[t]:"center";function vr(t){return{alignComputed:e.computed(()=>({display:"flex",flexDirection:t.vertical?"column":"row",justifyContent:yd(t.align,t.vertical),alignItems:hd(t.align,t.vertical)}))}}const Io=()=>{const t=e.shallowRef([]),o=a=>{a&&t.value.push(a)},n=a=>r=>{r&&(t.value[a]=r)};return e.onBeforeUpdate(()=>{t.value=[]}),{itemRefs:t,setItemRef:o,setItemRefByIndex:n}},ge=(t,o)=>{Ot&&!t&&console.warn('You must pass the @param "prefix" to the useBem hook!');const n=e.computed(()=>typeof o=="function"?o():e.unref(o)),a=e.computed(()=>Object.entries(e.unref(n)).reduce((s,[i,u])=>(u&&(s[`${t}--${zt(i)}`]=!0),s),{})),r=e.computed(()=>Object.keys(a.value)),l=e.computed(()=>r.value.join(" "));return new Proxy({},{ownKeys(){return Reflect.ownKeys(a.value)},getOwnPropertyDescriptor(s,i){return Reflect.getOwnPropertyDescriptor(a.value,i)},get(s,i,u){switch(i){case"asArray":return r;case"asString":return l;case"asObject":return a;default:return Reflect.get(a.value,i,u)}}})},$n=t=>{const o=e.computed(t),n=new Proxy(o,{get(a,r,l){if(typeof o.value=="object")return e.unref(Reflect.get(o.value,r,l))},set(a,r,l){return e.isRef(o.value[r])&&!e.isRef(l)?o.value[r].value=l:o.value[r]=l,!0},deleteProperty(a,r){return Reflect.deleteProperty(o.value,r)},has(a,r){return typeof o.value!="object"?!1:Reflect.has(o.value,r)},ownKeys(){return typeof o.value!="object"?[]:Object.keys(o.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return e.reactive(n)},ro=()=>{const t=e.ref(!1);return e.onMounted(()=>{t.value=!0}),e.onBeforeUnmount(()=>{t.value=!1}),t},bd=["xs","sm","md","lg","xl","smUp","mdUp","lgUp","smDown","mdDown","lgDown"].reduce((t,o)=>(t[o]=!1,t),{}),Cd=()=>{const t=e.inject(Sr,{}),o=ro(),{globalConfig:n}=He(),a=e.computed(()=>{const l=n.value.breakpoint;return l||fe("useBreakpoint: breakpointConfig is not defined!"),l??{}}),r=e.computed(()=>a.value.enabled?{width:void 0,height:void 0,current:void 0,thresholds:a.value.thresholds,...bd}:{});return $n(()=>o.value?t:r.value)},Pn=(t,o,n={})=>{e.onMounted(()=>window.addEventListener(t,o,{capture:!0,...n})),e.onBeforeUnmount(()=>window.removeEventListener(t,o,{capture:!0,...n}))},_e=t=>{if(t&&typeof t=="object"&&(t=e.unref(t),!!t))return typeof t.$el<"u"?t.$el:t},$r=t=>t instanceof HTMLElement,Ge=t=>{!t||!$r(t)||(t.focus(),t.dispatchEvent(new FocusEvent("focus",{bubbles:!0})))},Ao=t=>{!t||!$r(t)||(t.blur(),t.dispatchEvent(new Event("blur",{bubbles:!0})))},Nn=t=>{if(t.tabIndex!==-1){Ge(t);return}const o=t.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');o&&Ge(o)},bt=()=>typeof window>"u",En=()=>!bt(),Pr=()=>typeof window>"u"?void 0:window,kd={},qe=()=>bt()?typeof globalThis>"u"?kd:globalThis:window,Nr=t=>{const o=e.computed(En),n=e.ref(null);return e.watch(o,()=>{o.value&&(n.value=t())},{immediate:!0}),n},Lo=()=>Nr(()=>window),Tn=(t,...o)=>{if(!(!t||typeof t!="object")){if("addEventListener"in t&&typeof t.addEventListener=="function"){t.addEventListener(...o);return}"parentElement"in t&&Tn(t.parentElement,...o)}},xn=(t,...o)=>{if(!(!t||typeof t!="object")){if("removeEventListener"in t&&typeof t.removeEventListener=="function"){t.removeEventListener(...o);return}"parentElement"in t&&xn(t.parentElement,...o)}},be=(t,o,n)=>{const a=n&&typeof n!="boolean"?n:Lo(),r=typeof n=="boolean"?n:!1;e.watch(a,(l,s)=>{Array.isArray(t)?t.forEach(i=>{Tn(_e(e.unref(l)),i,o,r),xn(_e(e.unref(s)),i,o,r)}):(Tn(_e(e.unref(l)),t,o,r),xn(_e(e.unref(s)),t,o,r))},{immediate:!0})},Er=()=>{const t=e.shallowRef(),o=()=>{t.value=document.activeElement};return e.onMounted(o),Pn("focus",o),Pn("blur",o),t},Mo=["focus","blur"];function Ze(t,o){const n=Er(),a=e.computed({get:()=>Me(n.value)||Me(t==null?void 0:t.value)?!1:n.value===(t==null?void 0:t.value),set:u=>{u?s():i()}}),r=u=>{o==null||o("focus",u)},l=u=>{o==null||o("blur",u)},s=()=>{t!=null&&t.value&&Ge(_e(t==null?void 0:t.value))},i=()=>{t!=null&&t.value&&Ao(_e(t==null?void 0:t.value))};return be("focus",r,t),be("blur",l,t),{isFocused:a,onFocus:r,onBlur:l,focus:s,blur:i}}const lo={clearable:{type:Boolean,default:!1},clearableIcon:{type:String,default:"va-clear"},clearValue:{type:String,default:""}},Do=["clear"],zo=(t,o,n,a)=>{const{isFocused:r,onFocus:l,onBlur:s}=Ze(n),i=[null,void 0,t.clearValue],u=e.computed(()=>t.clearable&&!t.disabled&&!t.readonly&&!i.includes(o.value)),c=e.computed(()=>r!=null&&r.value?t.color||"primary":a!=null&&a.value?"danger":t.success?"success":"secondary"),d=e.computed(()=>({name:t.clearableIcon,color:c.value,size:"medium",tabindex:u.value?0:-1}));return{canBeCleared:u,clearIconColor:c,clearIconProps:d,onFocus:l,onBlur:s}},Tr=()=>{const t=e.getCurrentInstance();return t.appContext.app?`${t.appContext.app._uid}_${t.uid}`:String(t.uid)},xr="data-va-teleported-from",Ir="data-va-teleported",In=t=>{if(!t)return null;const o=t.getAttribute(Ir);return o===null?In(t.parentElement):document.querySelector(`[${xr}="${o}"]`)},Ar=()=>{var a,r;const t=Tr(),o=e.getCurrentInstance(),n=o==null?void 0:o.vnode.scopeId;return{teleportFromAttrs:{[xr]:t},teleportedAttrs:{[Ir]:t,...n?{[n]:""}:void 0,...(r=(a=o==null?void 0:o.appContext.config)==null?void 0:a.globalProperties)==null?void 0:r.$vaColorConfig.getAppStylesRootAttribute()},findTeleportedFrom:In}},An=(t,o)=>o?o.parentElement===t?!0:t.contains(o):!1,Sd=t=>Array.isArray(t)?t:[t],Oo=(t,o)=>{Pn("mousedown",n=>{const a=n.target;if(n.target.shadowRoot)return;const r=In(a);Sd(t).some(s=>{const i=_e(e.unref(s));return i?r?An(i,a)||An(i,r):An(i,a):!1})||o(a)})},Vd=t=>typeof t=="function",Ke=(t,o,...n)=>{Vd(o)?t.use(o(...n)):t.use(o)},Lr=t=>t.config.globalProperties,at=(t,o,n)=>{const a=Lr(t);a[o]=n},_d=(t,o)=>Lr(t)[o],Ye=t=>t,Mr=Symbol("VaAppCachePlugin"),Ln=Ye(()=>({install(t){const o={colorContrast:{}};t.provide(Mr,o)}})),wd=()=>{const t=_r(Mr);return t||{colorContrast:{}}},Mn={color:{type:String,default:""}},ee=()=>{const t=He();if(!t)throw new Error("useColors must be used in setup function or Vuestic GlobalConfigPlugin is not registered!");const{globalConfig:o}=t,n=$n({get:()=>o.value.colors.presets[o.value.colors.currentPresetName],set:h=>{a(h)}}),a=h=>{o.value.colors.presets[o.value.colors.currentPresetName]={...o.value.colors.variables,...h}},r=()=>n,l=(h,b,C)=>{if(b||(b=n.primary),h==="transparent")return"#ffffff00";if(h==="currentColor")return h;if(h!=null&&h.startsWith("on")){const V=h.slice(2);if(n[yr(V)])return l(f(l(V)),void 0,C)}h||(h=l(b));const S=n[h]||n[yr(h)];return S?C?`var(${Eo(h)})`:S:Gc(h)||C&&Jc(h)?h:(fe(`'${h}' is not a proper color! Use HEX or default color themes
names (https://vuestic.dev/en/styles/colors#default-color-themes)`),l(b))},s=h=>e.computed({get(){return l(h)},set(b){a({[h]:b})}}),i=(h,b="va")=>Object.keys(h).filter(C=>h[C]!==void 0).reduce((C,S)=>(C[`--${b}-${zt(S)}`]=l(h[S],void 0,!0),C[`--${b}-on-${zt(S)}`]=l(f(l(h[S])),void 0,!0),C),{}),u=wd(),c=h=>typeof h!="string"?hr(h):(u.colorContrast[h]||(u.colorContrast[h]=hr(h)),u.colorContrast[h]),d=e.computed(()=>c(l("textPrimary"))>255/2?"textInverted":"textPrimary"),p=e.computed(()=>c(l("textPrimary"))>255/2?"textPrimary":"textInverted"),f=(h,b,C)=>{const S=`on${e.capitalize(String(h))}`;return n[S]?n[S]:(b=b||d.value,C=C||p.value,c(h)>o.value.colors.threshold?b:C)},m=e.computed({get:()=>o.value.colors.currentPresetName,set:h=>{y(h)}}),g=e.computed(()=>o.value.colors.presets),y=h=>{if(o.value.colors.currentPresetName=h,!o.value.colors.presets[h])return fe(`Preset ${h} does not exist`)};return{colors:n,currentPresetName:m,presets:g,applyPreset:y,setColors:a,getColors:r,getColor:l,getComputedColor:s,getBoxShadowColor:br,getBoxShadowColorFromBg:Zc,getHoverColor:Cr,getFocusColor:kr,getGradientBackground:_n,getTextColor:f,shiftHSLAColor:yt,setHSLAColor:Qc,colorsToCSSVariable:i,colorToRgba:gt,getStateMaskGradientBackground:td}},J={preset:{type:[String,Array],default:void 0}},Bd=(t,o)=>e.computed(()=>Object.entries(o()).reduce((n,[a,r])=>(n[`--${t}-${zt(a)}`]=r,n),{})),Dn=t=>{if(t)return t;const o=e.getCurrentInstance(),n=e.shallowRef();return e.onMounted(()=>{n.value=o.proxy.$el??void 0}),e.onUpdated(()=>{n.value=o.proxy.$el??void 0}),e.onBeforeUnmount(()=>{n.value=o.proxy.$el??void 0}),n},zn=(t,o)=>{let n=null;const a=function(...r){n&&clearTimeout(n),n=setTimeout(()=>{n=null,t.apply(this,r)},o)};return a.cancel=()=>{n&&clearTimeout(n),n=null},a},Dr=t=>{let o=null;const n=()=>zn(()=>{o==null||o(),o=null},e.unref(t));let a=n();return e.isRef(t)&&e.watch(t,()=>{a=n()}),{debounced:r=>{o=r,a()},cancel:()=>a.cancel()}},vd={props:"prop",attrs:"prop",slots:"slot"},$d=(t,o=["props","attrs"])=>{if(!Ot)return;const n=e.getCurrentInstance();if(!n)throw new Error("`useDeprecated` hook must be used only inside of setup function!");const a=n.type.name,r=e.unref(t);o.every(l=>{var u;const s=vd[l],i=c=>console.warn(`The '${c}' ${s} (${a} component) is deprecated! Please, check the documentation.`);if(l==="props"){const c=((u=n.propsOptions)==null?void 0:u[0])||{},d=n.props||{};return r.forEach(p=>{c[p]&&d[p]!==c[p].default&&i(p)}),!0}return Object.keys({...n[l]}).forEach(c=>{r.includes(c)&&i(c)}),!0})},Pd=t=>{if(!Ot)return;const o=e.getCurrentInstance();if(!o)throw new Error("`useDeprecated` hook must be used only inside of setup function!");t.forEach(n=>{const a=n();typeof a=="string"&&fe(`(${o.type.name} component) ${a}`)})},Ct=()=>Nr(()=>document),zr=t=>{if(Array.isArray(t))return t.map(e.unref);const o=e.unref(t);return Array.isArray(o)?o:[o]},kt=(t,o)=>{let n;const a=r=>{r.forEach(l=>{const s=e.unref(l);if(s){if(!(s instanceof Element))throw console.error("Vuestic: Trying to observe non-HTMLElement",{target:s,array:t}),new Error("Vuestic: Unable to observe non-HTMLElement");s&&(n==null||n.observe(s))}})};return e.watch(t,r=>{n==null||n.disconnect(),a(zr(r))}),e.onMounted(()=>{n=new ResizeObserver(o),a(zr(t))}),e.onBeforeUnmount(()=>n==null?void 0:n.disconnect()),n},Or=t=>{const o=e.ref(null);return kt([t],()=>{var n;o.value=((n=t.value)==null?void 0:n.clientWidth)??null}),e.watchEffect(()=>{var n;o.value=((n=t.value)==null?void 0:n.clientWidth)??null}),o},Nd=t=>{const o=e.unref(t);return _e(o)},Ro=()=>{const t=e.shallowRef();return e.computed({get(){return Nd(t)},set(o){t.value=o}})},Rr=t=>typeof t=="object"?t.listen:t,On=t=>typeof t=="object"?t.emit:t,St=t=>{const o=()=>t.map(On),n=l=>`on${l.charAt(0).toUpperCase()+l.slice(1)}`;return{createListeners:l=>t.reduce((s,i)=>({...s,[n(Rr(i))]:(...u)=>l(On(i),...u)}),{}),createVOnListeners:l=>t.reduce((s,i)=>({...s,[Rr(i)]:(...u)=>l(On(i),...u)}),{}),createEmits:o}},Fr={hideOnScroll:{type:Boolean,default:!1},fixed:{type:Boolean,default:!1},bottom:{type:Boolean,default:!1}};function Hr(t,o){const n=e.computed(()=>o.value?!!t.hideOnScroll:!1),a=e.computed(()=>{if(!(!t.bottom&&!n.value))return t.bottom&&n.value?"translateY(100%)":t.bottom?t.fixed?"translateY(-100%)":"translateY(0)":"translateY(-100%)"}),r=e.computed(()=>t.fixed?"fixed":n.value?"absolute":void 0);return{fixedBarStyleComputed:e.computed(()=>{const s={top:t.bottom&&(n.value||t.fixed)?"100%":void 0,transform:t.hideOnScroll||t.fixed?a.value:void 0};return r.value&&Object.assign(s,{position:r.value}),s})}}const Ft=t=>{if(e.isRef(t))return e.computed({get(){return _e(t.value)},set(n){t.value=n}});if(t){const n=Fo(t);return e.computed({get(){return _e(n.value)},set(a){n.value=a}})}const o=e.shallowRef();return e.computed({set(n){o.value=_e(n)},get(){return o.value}})},Rn=t=>{const o=Er(),n=Dn(t?Ft(t):void 0);let a=null;const r=e.computed({get(){var s;if(!o.value)return!1;if(o.value===n.value)return!0;const l=(s=n.value)==null?void 0:s.contains(o.value);return l&&(a=o.value),l},set(l){var i;let s=a??n.value;(i=n.value)!=null&&i.contains(s)||(s=n.value),l?s==null||s.focus():s==null||s.blur()}});return Object.assign(r,{focusIfNothingIfFocused:()=>{o.value===document.body&&(r.value=!0)},focusPreviousElement:()=>{a?a.focus():document.body.focus()}})},Ve=(t,o)=>Object.keys(t).filter(n=>o.includes(n)).reduce((n,a)=>(n[a]=t[a],n),{}),rt={disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1}},Kr=(t,o)=>({computedClasses:ge(t,e.computed(()=>Ve(o,["disabled","readonly"])))}),Ed={autofocus:{type:Boolean,default:!1}},Td=(t,o)=>{const n=()=>{Ge(_e(t.value))},a=()=>{Ao(_e(t.value))};return e.onMounted(()=>{o.autofocus&&n()}),{focus:n,blur:a}},Fo=t=>{const o=e.getCurrentInstance();let n=()=>{};const a=e.customRef((r,l)=>(n=l,{get(){var s;return r(),(s=o.proxy)==null?void 0:s.$refs[t]},set(s){}}));return e.onMounted(n),e.onUpdated(n),a},xd=t=>{const o=typeof t=="string"?Fo(t):typeof t>"u"?e.ref():t;return{formRef:o,isValid:e.computed(()=>{var n;return((n=o.value)==null?void 0:n.isValid)||!1}),immediate:e.computed(()=>{var n;return((n=o.value)==null?void 0:n.immediate)||!1}),isLoading:e.computed(()=>{var n;return((n=o.value)==null?void 0:n.isLoading)||!1}),isDirty:e.computed(()=>{var n;return((n=o.value)==null?void 0:n.isDirty)||!1}),isTouched:e.computed(()=>{var n;return((n=o.value)==null?void 0:n.isTouched)||!1}),fields:e.computed(()=>{var n;return((n=o.value)==null?void 0:n.fields)??[]}),fieldsNamed:e.computed(()=>{var n;return((n=o.value)==null?void 0:n.fieldsNamed)??[]}),fieldNames:e.computed(()=>{var n;return((n=o.value)==null?void 0:n.fieldNames)??[]}),formData:e.computed(()=>{var n;return((n=o.value)==null?void 0:n.formData)??{}}),errorMessages:e.computed(()=>{var n;return((n=o.value)==null?void 0:n.errorMessages)||[]}),errorMessagesNamed:e.computed(()=>{var n;return((n=o.value)==null?void 0:n.errorMessagesNamed)||{}}),validate:()=>{var n;return(n=o.value)==null?void 0:n.validate()},validateAsync:()=>{var n;return(n=o.value)==null?void 0:n.validateAsync()},reset:()=>{var n;return(n=o.value)==null?void 0:n.reset()},resetValidation:()=>{var n;return(n=o.value)==null?void 0:n.resetValidation()},focus:()=>{var n;return(n=o.value)==null?void 0:n.focus()},focusInvalidField:()=>{var n;return(n=o.value)==null?void 0:n.focusInvalidField()}}},Id=()=>{const t=e.getCurrentInstance(),o=t==null?void 0:t.appContext.app,{globalProperties:n}=o.config;return"$vaGlobalVariable"in n||(n.$vaGlobalVariable=e.reactive({})),n.$vaGlobalVariable},Ur=(t,o)=>{const n=Id();return t in n||(n[t]=o),e.computed({get:()=>n[t],set:a=>{n[t]=a}})},Xe=()=>{const t=e.getCurrentInstance(),o=Ur("uuidCounter",0);return t.$vaUuid=t.$vaUuid||`va-${o.value++}`,`va-${o.value}`},jr=Symbol("FormService"),Wr=t=>{const o=e.inject(jr,null);if(!o)return{forceDirty:e.ref(!1),forceHideErrorMessages:e.ref(!1),forceHideErrors:e.ref(!1),forceHideLoading:e.ref(!1),fields:e.computed(()=>[]),registerField:()=>{},unregisterField:()=>{},immediate:e.computed(()=>!1)};const n=Xe();return e.onMounted(()=>{o.registerField(n,t)}),e.onBeforeUnmount(()=>{o.unregisterField(n)}),o},Ad=t=>{const o=e.ref(new Map);return{immediate:e.computed(()=>t.immediate),fields:e.computed(()=>[...o.value.values()]),forceHideErrors:e.computed(()=>t.hideErrors),forceHideErrorMessages:e.computed(()=>t.hideErrorMessages),forceHideLoading:e.computed(()=>t.hideLoading),forceDirty:e.ref(!1),registerField:(n,a)=>{o.value.set(n,a)},unregisterField:n=>{o.value.delete(n)}}},Ld=t=>{const o=Ad(t);e.provide(jr,o);const{fields:n,forceDirty:a}=o,r=e.computed(()=>n.value.map(S=>e.unref(S.name)).filter(Boolean)),l=e.computed(()=>n.value.reduce((S,V)=>(e.unref(V.name)&&(S[e.unref(V.name)]=V),S),{})),s=e.computed(()=>n.value.reduce((S,V)=>(e.unref(V.name)&&(S[e.unref(V.name)]=e.unref(V.value)),S),{})),i=e.computed(()=>n.value.every(S=>e.unref(S.isValid))),u=e.computed(()=>n.value.some(S=>e.unref(S.isLoading))),c=e.computed(()=>n.value.map(S=>e.unref(S.errorMessages)).flat()),d=e.computed(()=>n.value.reduce((S,V)=>(e.unref(V.name)&&(S[e.unref(V.name)]=e.unref(V.errorMessages)),S),{})),p=e.computed({get(){return n.value.some(S=>e.unref(S.isDirty))||a.value},set(S){a.value=S,n.value.forEach(V=>{V.isDirty=S})}}),f=e.computed({get(){return n.value.some(S=>S.isTouched)},set(S){n.value.forEach(V=>{V.isTouched=S})}}),m=()=>(p.value=!0,n.value.reduce((S,V)=>V.validate()&&S,!0)),g=()=>(p.value=!0,Promise.all(n.value.map(S=>S.validateAsync())).then(S=>S.every(Boolean))),y=()=>{p.value=!1,n.value.forEach(S=>S.reset())},h=()=>{p.value=!1,n.value.forEach(S=>S.resetValidation())},b=()=>{var S;(S=n.value[0])==null||S.focus()},C=()=>{const S=n.value.find(V=>!V.isValid);S==null||S.focus()};return Wr({name:e.toRef(t,"name"),isValid:i,isLoading:u,isDirty:p,isTouched:f,validate:m,validateAsync:g,reset:y,resetValidation:h,focus:b,errorMessages:c}),{immediate:e.computed(()=>t.immediate),isDirty:p,isTouched:f,formData:s,fields:n,fieldsNamed:l,fieldNames:r,isValid:i,isLoading:u,errorMessages:c,errorMessagesNamed:d,validate:m,validateAsync:g,reset:y,resetValidation:h,focus:b,focusInvalidField:C}};function so(t,o){const n=e.ref(!1),a=()=>{o!=null&&o.value||(n.value=!0)},r=()=>{n.value=!1};o&&e.watch(o,s=>{s&&(n.value=!1)});const l=Ft(t);return be("mouseenter",a,l),be("mouseleave",r,l),{isHovered:n,onMouseEnter:a,onMouseLeave:r}}const Md={hoverBehavior:{type:String,default:"mask",validator:t=>["opacity","mask"].includes(t)},hoverOpacity:{type:[Number,String],default:.15},hoverMaskColor:{type:String,default:"textInverted"}},Fn=t=>e.computed(()=>typeof(t==null?void 0:t.value)=="string"?document==null?void 0:document.querySelector(t.value):_e(t==null?void 0:t.value)),Dd=()=>{const{globalConfig:t,mergeGlobalConfig:o}=He(),n=e.computed(()=>t.value.i18n);return{config:n,mergeIntoConfig:r=>{o({i18n:{...n.value,...r}})}}},Gr=(t,o=e.ref({}),n=e.ref([]),a=!0)=>{const r=e.ref(),l=()=>{var d;(d=r.value)==null||d.disconnect()},s=d=>{var f;const p=_e(e.unref(d));p&&((f=r.value)==null||f.observe(p))},i=d=>{d.forEach(s)},u=()=>{r.value=new IntersectionObserver(t,o.value)},c=e.computed(()=>!a||!(typeof window<"u"&&"IntersectionObserver"in window));return e.watch([n,o],([d])=>{c.value||(l(),d&&(u(),Array.isArray(d)?i(d):s(d)))},{immediate:!0}),e.onBeforeUnmount(l),{isIntersectionDisabled:c}};function Ht(){const t=e.ref(!1);let o=!1;return{hasKeyboardFocus:t,keyboardFocusListeners:{mousedown:()=>{o=!0},focus:()=>{o||(t.value=!0),o=!1},blur:()=>{t.value=!1,o=!1}}}}let Hn=!1;(Ac=Pr())==null||Ac.addEventListener("mousedown",()=>{Hn=!0,setTimeout(()=>{Hn=!1},300)});function zd(){const t=e.ref(!1);return{hasKeyboardFocus:t,keyboardFocusListeners:{focus:()=>{Hn||(t.value=!0)},blur:()=>{t.value=!1}}}}const io={loading:{type:Boolean,default:!1}};function Od(t,o){let n=-1,a=-1;const r=i=>{var u;(u=o.onStart)==null||u.call(o,i),clearTimeout(n),n=setTimeout(()=>{a=setInterval(()=>{var c;return(c=o.onUpdate)==null?void 0:c.call(o,i)},o.interval||100)},e.unref(o.delay)||500)},l=i=>{var u;clearTimeout(n),clearInterval(a),(u=o.onEnd)==null||u.call(o,i)},s=Ft(t);be(["keydown"],r,s),be(["keyup","blur"],l,!0)}function qr(t,o){let n=-1,a=-1;const r=()=>{var i;(i=o.onStart)==null||i.call(o),clearTimeout(n),n=setTimeout(()=>{a=setInterval(()=>{var u;return(u=o.onUpdate)==null?void 0:u.call(o)},o.interval||100)},e.unref(o.delay)||500)},l=()=>{var i;clearTimeout(n),clearInterval(a),(i=o.onEnd)==null||i.call(o)},s=Ft(t);be(["mousedown","touchstart","dragstart"],r,s),be(["mouseup","mouseleave","touchend","touchcancel","drop","dragend","blur"],l,!0)}const Rd={maxSelections:{type:[Number,String],default:void 0}};function Fd(t,o){return{exceedsMaxSelections:()=>o.value===void 0||isNaN(+o.value)?!1:t.value.length>=Number(o.value),addOption:r=>[...t.value,r]}}const co=e.shallowReactive([]),Hd=()=>{const t=Xe(),o=e.computed(()=>co.findIndex(({id:i})=>i===String(t))),n=()=>{o.value===-1&&co.push({id:String(t)})},a=()=>{o.value!==-1&&co.splice(o.value,1)},r=e.computed(()=>o.value!==-1&&o.value===co.length-1),l=e.computed(()=>o.value===0),s=e.computed(()=>co.length>1);return{modalId:t,modalLevel:o,registerModal:n,unregisterModal:a,isTopLevelModal:r,isLowestLevelModal:l,isMoreThenOneModalOpen:s}},Kd=()=>{const t=e.shallowRef({}),o=n=>a=>{if(a)return t.value[n]=a,String(n)};return e.onBeforeUpdate(()=>{t.value={}}),{itemRefs:t,setItemRef:o}},Yr=()=>{const t=a=>typeof a=="string"?!isNaN(+a)||a.endsWith("px")||a.endsWith("rem"):!1;return{isParsableMeasure:t,isParsablePositiveMeasure:a=>typeof a=="number"?a>=0:t(a)&&parseInt(a)>=0,parseSizeValue:(a,r=16)=>{const l=e.unref(a);if(typeof l=="string"){const s=parseInt(l);return isNaN(s)?0:l.endsWith("rem")?s*e.unref(r):s}return l}}};function Ud(t){const o=e.ref(!1),n=()=>{o.value=!0},a=()=>{o.value=!1},r=Ft(t);return be(["mousedown","touchstart","dragstart"],n,r),be(["mouseup","mouseleave","touchend","touchcancel","drop","dragend"],a,!0),{isPressed:o,onMouseDown:n,onMouseUp:a}}const jd={pressedBehavior:{type:String,default:"mask",validator:t=>["opacity","mask"].includes(t)},pressedOpacity:{type:Number,default:.13},pressedMaskColor:{type:String,default:"textPrimary"}},Vt={tag:{type:String,default:"span"},to:{type:[String,Object],default:void 0},replace:{type:Boolean,default:void 0},append:{type:Boolean,default:void 0},exact:{type:Boolean,default:void 0},activeClass:{type:String,default:void 0},exactActiveClass:{type:String,default:void 0},href:{type:String,default:void 0},target:{type:String,default:void 0},disabled:{type:Boolean,default:!1}},lt=t=>{const o=e.getCurrentInstance(),n=e.computed(()=>o==null?void 0:o.appContext.config.globalProperties),a=e.computed(()=>{var p;return(p=n.value)==null?void 0:p.$router}),r=e.computed(()=>{var p;return(p=n.value)==null?void 0:p.$route}),{getGlobalConfig:l}=He(),s=e.computed(()=>{if(t.disabled)return t.tag;if(t.href&&!t.to)return"a";const p=l();return p.routerComponent&&t.to?p.routerComponent:t.to&&a.value!==void 0?"router-link":t.to&&a.value===void 0?"a":t.tag||"div"}),i=e.computed(()=>t.disabled?!1:!!(t.href||t.to)),u=e.computed(()=>i.value?s.value==="a"?{target:t.target,href:d.value}:{target:t.target,to:t.to,replace:t.replace,append:t.append,activeClass:t.activeClass,exact:t.exact,exactActiveClass:t.exactActiveClass}:{}),c=e.computed(()=>{if(!a.value||!t.to)return!1;const p=a.value.resolve(t.to).href,f=a.value.currentRoute.value.path;return p.replace("#","")===f.replace("#","")}),d=e.computed(()=>{var p;return t.href?t.href:r.value===void 0&&t.to?t.to:t.to?(p=a.value)==null?void 0:p.resolve(t.to,r.value).href:void 0});return{isLinkTag:i,tagComputed:s,hrefComputed:d,isActiveRouterLink:c,linkAttributesComputed:u}};function Wd(t){if(!t)throw new Error("No target was provided for `useScroll` hook!");return typeof t=="string"?document.querySelector(t):t}function Xr(t,o){const n=e.shallowRef();let a;const r=e.ref(!1),l=e.ref(0),s=i=>{const u=i.target,c=i.target instanceof Window?u.scrollY:u.scrollTop;r.value=l.value<c,l.value=c};return e.onMounted(()=>{a=t?window:Wd(o||n.value),a==null||a.addEventListener("scroll",s,t)}),e.onBeforeUnmount(()=>{a==null||a.removeEventListener("scroll",s)}),{scrollRoot:n,isScrolledDown:r}}const Ho=Symbol("NOT_PROVIDED"),Gd=(t,o)=>{const n=e.getCurrentInstance();return e.computed(()=>{if(!(n!=null&&n.vnode.props))return Ho;const a=o[t];return t in n.vnode.props?a:Ho})},we={stateful:{type:Boolean,default:!1},modelValue:{type:void 0}},Jr=(t=!1)=>({stateful:{type:Boolean,default:t}}),Ee=["update:modelValue"],ke=(t,o,n="modelValue",a={})=>{const{eventName:r,defaultValue:l}=a,s=r||`update:${n.toString()}`,i=Gd(n,t),u="defaultValue"in a,c=e.ref(i.value===Ho?u?l:t[n]:i.value);let d;const p=()=>{d=e.watch(()=>t[n],m=>{c.value=m})};e.watch(()=>t.stateful,m=>{m?p():d==null||d()},{immediate:!0});const f=e.computed({get:()=>t.stateful?c.value:t[n],set:m=>{t.stateful&&(c.value=m),o(s,m)}});return Object.defineProperty(f,"stateful",{get:()=>t.stateful}),Object.defineProperty(f,"userProvided",{get:()=>i.value!==Ho}),{valueComputed:f}};function _t(t,o,n,a){const r=e.getCurrentInstance(),l=e.computed(()=>{const u=o[t];return r!=null&&r.vnode.props?t in r.vnode.props&&r.vnode.props[t]!==void 0:u!==void 0});if(a===void 0)return[e.computed({set(u){n(`update:${t}`,u)},get(){return o[t]}})];const s=o[t],i=e.ref(s===void 0?a:s);return e.watch(()=>o[t],u=>{u!==void 0&&(i.value=u)}),[e.computed({set(u){i.value=u,n(`update:${t}`,u)},get(){return l.value?o[t]:i.value}})]}const qd=t=>typeof t=="object"&&"_setter"in t,Yd=(t,o)=>{if(!qd(t))return;const n=t._setter;t._setter=a=>{o(a),n(a)}},uo=t=>typeof t=="function",Ko=t=>typeof t=="string",Zr=(t=[],o=null)=>(Ko(t)&&(t=[t]),t.map(n=>uo(n)?n(o):n)),Qe={name:{type:String,default:void 0},rules:{type:Array,default:()=>[]},dirty:{type:Boolean,default:!1},error:{type:Boolean,default:void 0},errorMessages:{type:[Array,String],default:void 0},errorCount:{type:[String,Number],default:1},success:{type:Boolean,default:!1},messages:{type:[Array,String],default:()=>[]},immediateValidation:{type:Boolean,default:!1},modelValue:{}},st=["update:error","update:errorMessages","update:dirty"],Uo=t=>typeof t=="object"&&typeof t.then=="function",Xd=(t,o,n)=>{const a=e.ref(o.dirty||!1);return Yd(t,()=>{a.value=!0,n("update:dirty",!0)}),e.watch(t,(r,l)=>{r===l&&(a.value=!0)},{deep:!0}),e.watch(()=>o.dirty,r=>{a.value!==r&&(a.value=r)}),{isDirty:a}},Jd=()=>{const t=e.ref(!1);return{isTouched:t,onBlur:()=>{t.value=!0}}},Zd=t=>{let o=!0;return(...n)=>{if(!o)return;o=!1;const a=t(...n);return e.nextTick(()=>{o=!0}),a}},et=(t,o,n)=>{const{reset:a,focus:r}=n,[l]=_t("error",t,o,!1),[s]=_t("errorMessages",t,o,[]),i=e.ref(!1),{isTouched:u,onBlur:c}=Jd(),d=e.computed(()=>({"aria-invalid":l.value,"aria-errormessage":typeof s.value=="string"?s.value:s.value.join(", ")})),p=()=>{s.value=[],l.value=!1,y.value=!1,u.value=!1,i.value=!1},f=_=>{let v=!1,A=[];return _.forEach(R=>{Ko(R)?(A=[...A,R],v=!0):R===!1&&(v=!0)}),s.value=A,l.value=v,!v},m=async()=>{if(!t.rules||!t.rules.length)return!0;const _=Zr(t.rules.flat(),n.value.value),v=_.filter(R=>Uo(R)),A=_.filter(R=>!Uo(R));return v.length?(i.value=!0,Promise.all(v).then(R=>f([...A,...R])).finally(()=>{i.value=!1})):f(A)},g=Zd(()=>{if(!t.rules||!t.rules.length)return!0;const _=t.rules.flat(),v=Zr(_,n.value.value),A=v.filter(L=>Uo(L)),R=v.filter(L=>!Uo(L)),W=R.some(L=>Ko(L)?L:L===!1);return A.length&&!W?(i.value=!0,Promise.all(A).then(L=>{f([...R,...L]),i.value=!1}),W):f(R)});e.watchEffect(()=>g());const{isDirty:y}=Xd(n.value,t,o),{forceHideErrors:h,forceHideLoading:b,forceHideErrorMessages:C,forceDirty:S,immediate:V}=Wr({isTouched:u,isDirty:y,isValid:e.computed(()=>!l.value),isLoading:i,errorMessages:s,validate:g,validateAsync:m,resetValidation:p,focus:r,reset:()=>{a(),p(),g()},value:e.computed(()=>n.value||t.modelValue),name:e.toRef(t,"name")}),w=e.computed(()=>t.immediateValidation||V.value);let B=!0;const k=_=>{B=!1,_(),e.nextTick(()=>{B=!0})};return e.watch(n.value,()=>{if(B)return g()},{immediate:w.value}),{isDirty:y,isValid:e.computed(()=>!l.value),isError:l,isTouched:u,isLoading:e.computed({get:()=>h.value?!1:w.value||u.value||y.value||S.value?i.value:!1,set(_){i.value=_}}),computedError:e.computed(()=>h.value?!1:w.value||u.value||y.value||S.value?l.value:!1),computedErrorMessages:e.computed(()=>C.value?[]:s.value),listeners:{onBlur:c},validate:g,resetValidation:p,withoutValidation:k,validationAriaAttributes:d}},Kn={...we,...io,...Qe,arrayValue:{type:[String,Boolean,Object,Number],default:null},label:{type:String,default:""},leftLabel:{type:Boolean,default:!1},trueValue:{type:null,default:!0},falseValue:{type:null,default:!1},indeterminate:{type:Boolean,default:!1},indeterminateValue:{type:null,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1}},jo=[...st,"update:modelValue","focus","blur"],Qd=t=>{const o=[t.falseValue,t.trueValue];if(t.indeterminate&&o.push(t.indeterminateValue),new Set(o).size!==o.length)throw new Error("falseValue, trueValue, indeterminateValue props should have strictly different values, which is not the case.")},Un=(t,o,{input:n,label:a,container:r})=>{Qd(t);const l=()=>m(()=>{o("update:modelValue",!1),g()}),s=()=>{var R;(R=_e(n.value))==null||R.focus()},{valueComputed:i}=ke(t,o),{computedError:u,computedErrorMessages:c,validate:d,validationAriaAttributes:p,listeners:f,withoutValidation:m,resetValidation:g,isDirty:y,isTouched:h,isError:b,isLoading:C,isValid:S}=et(t,o,{reset:l,focus:s,value:i}),{isFocused:V}=Ze(),w=R=>{o("blur",R),V.value=!1,f.onBlur()},B=R=>{V.value=!0,o("focus",R)},k=e.computed(()=>t.indeterminate&&i.value===t.indeterminateValue),_=e.computed(()=>t.arrayValue!==void 0&&t.arrayValue!==null),v=e.computed(()=>{var R;return _.value?(R=t.modelValue)==null?void 0:R.includes(t.arrayValue):i.value===t.trueValue});return{isDirty:y,isTouched:h,isError:b,isLoading:C,isValid:S,isChecked:v,isIndeterminate:k,onBlur:w,onFocus:B,toggleSelection:()=>{if(!(t.readonly||t.disabled||t.loading)){if(_.value){t.modelValue?Array.isArray(t.modelValue)?t.modelValue.includes(t.arrayValue)?o("update:modelValue",t.modelValue.filter(R=>R!==t.arrayValue)):o("update:modelValue",t.modelValue.concat(t.arrayValue)):o("update:modelValue",t.modelValue===t.arrayValue?[]:[t.modelValue,t.arrayValue]):o("update:modelValue",[t.arrayValue]);return}if(t.indeterminate){k.value?i.value=t.trueValue:v.value?i.value=t.falseValue:i.value=t.indeterminateValue;return}v.value?i.value=t.falseValue:i.value=t.trueValue}},reset:l,focus:s,computedError:u,computedErrorMessages:c,validationAriaAttributes:p}},Qr=(t,o)=>{if(o.length===0)return t;const n=t[o[0]];return ft(n)?Qr(n,o.slice(1)):o.length===1?n:void 0},jn=(t,o)=>o in t?t[o]:(o=o.replace(/^\./,""),Qr(t,o.split("."))),el=(t,o)=>{if(!(Me(t)||typeof t!="object"||Array.isArray(t)))return o?typeof o=="string"?jn(t,o):typeof o=="function"?o(t):t:t},Kt={options:{type:Array,default:()=>[]},textBy:{type:[String,Function],default:"text"},valueBy:{type:[String,Function],default:""},trackBy:{type:[String,Function],default:""},disabledBy:{type:[String,Function],default:"disabled"},groupBy:{type:[String,Function],default:"group"}};function Ut(t){const o=u=>{const c=t.options;for(let d=0;d<c.length;d++)if(i(c[d])===u)return c[d];return u},n=(u,c)=>ft(u)?el(u,c):u,a=u=>t.trackBy?n(u,t.trackBy):i(u),r=u=>ft(u)?n(u,t.disabledBy):!1,l=u=>{const c=n(u,t.textBy);return["number","boolean"].includes(typeof c)?String(c):c},s=u=>{if(ft(u))return n(u,t.groupBy)},i=u=>n(u,t.valueBy);return{tryResolveByValue:o,getValue:i,getText:l,getDisabled:r,getTrackBy:a,getGroupBy:s}}const eu={defaultSize:48,sizes:{small:32,medium:48,large:64}},tu={defaultSize:1,sizes:{small:.75,medium:1,large:1.25}},wt={size:{type:[String,Number],default:"",validator:t=>typeof t=="string"||typeof t=="number"},sizesConfig:{type:Object,default:()=>eu},fontSizesConfig:{type:Object,default:()=>tu}},ou=/(?<fontSize>\d+)(?<extension>px|rem)/i,tl=t=>t/16-.5,ol=t=>typeof t=="number"?`${t}px`:String(t),nu=t=>"sizesConfig"in t,au=t=>{const o="size";return e.computed(()=>{let n=t[o];if(nu(t)){const{defaultSize:a,sizes:r}=t.sizesConfig;if(Me(n)&&(n=a),r){const l=r[n];if(l)return ol(l)}}return ol(n)})},Bt=(t,o=(n=>(n=e.getCurrentInstance())==null?void 0:n.type.name)())=>{const{getGlobalConfig:a}=He(),r=e.computed(()=>{var u,c;return o?(c=(u=a().components)==null?void 0:u[o])==null?void 0:c.sizesConfig:void 0}),l=e.computed(()=>{var p,f,m;const{defaultSize:u,sizes:c}=t.sizesConfig,d=(p=r.value)==null?void 0:p.defaultSize;if(!t.size)return`${u||d}px`;if(typeof t.size=="string"){const g=(m=(f=r.value)==null?void 0:f.sizes)==null?void 0:m[t.size],y=c[t.size];return y?`${y}px`:g?`${g}px`:t.size}return`${t.size}px`}),s=e.computed(()=>{const{defaultSize:u,sizes:c}=t.fontSizesConfig;if(!t.size)return u;if(typeof t.size=="string"){if(t.size in c)return c[t.size];const d=t.size.match(ou);if(!d||!d.groups)throw new Error("Size prop should be either valid string or number");const{extension:p,fontSize:f}=d.groups;return p==="rem"?+f:tl(+f)}return tl(t.size)}),i=e.computed(()=>`${s.value}rem`);return{sizeComputed:l,fontSizeComputed:i,fontSizeInRem:s}},po=(t,o)=>{const n=e.inject(t);if(!n)throw new Error(o);return n},ru=["mousedown","mousemove"],lu=["touchstart","touchmove"],Wn={vertical:["","all","vertical"],horizontal:["","all","horizontal"]},su=[...Wn.vertical,"up","down"],iu=[...Wn.horizontal,"left","right"],cu={swipable:{type:Boolean,default:!1},swipeDistance:{type:Number,default:75},swipeDirection:{type:String,default:"all"}},du=(t,o,n)=>{const a=e.ref(!1),r=e.reactive({start:{x:0,y:0},end:{x:0,y:0}}),l=e.reactive({start:0,end:0}),s=(g,y)=>{let h;if(ru.includes(g.type)&&(h=g),lu.includes(g.type)){const b=g;h=b.changedTouches[b.changedTouches.length-1]}h&&(r[y].x=h.pageX,r[y].y=h.pageY,l[y]=new Date().getTime())},i=g=>{!t.swipable||a.value||(a.value=!0,s(g,"start"))},u=g=>{a.value&&s(g,"end")},c=()=>{["start","end"].forEach(g=>{r[g].x=0,r[g].y=0,l[g]=0}),a.value=!1},d=e.reactive({vertical:!1,horizontal:!1});e.watchEffect(()=>{d.horizontal=iu.includes(t.swipeDirection),d.vertical=su.includes(t.swipeDirection)});const p=g=>d[g==="x"?"horizontal":"vertical"]&&r.start[g]&&r.end[g]?Math.trunc(r.start[g]-r.end[g]):0,f=(g,y)=>y===t.swipeDirection||Wn[g].includes(t.swipeDirection)?y:"",m=e.reactive({direction:"",duration:0});return e.watch(r,()=>{const g=p("x"),y=p("y");if((g||y)&&[g,y].some(h=>Math.abs(h)>=t.swipeDistance)){if(Math.abs(g)>=Math.abs(y)&&d.horizontal){const h=g>0?"left":"right";m.direction=f("horizontal",h)}else if(Math.abs(g)<Math.abs(y)&&d.vertical){const h=y>0?"down":"up";m.direction=f("vertical",h)}m.duration=l.end-l.start,c()}},{deep:!0}),e.watch(m,()=>n(m),{deep:!0}),t.swipable&&(be(["touchstart","mousedown"],i,o),be(["touchmove","mousemove"],u,o),be(["touchcancel","mouseup","touchend","mouseleave"],c,o)),{swipeState:m}},ve=(t,o=!1)=>{const{props:n}=e.getCurrentInstance(),{getColor:a,getTextColor:r}=ee();return{textColorComputed:e.computed(()=>{if(n.textColor)return a(n.textColor);const s=t?e.unref(t):n.color;if(!s)return"currentColor";const i=a(s);return nd(i)?"currentColor":e.unref(o)?i:a(r(i))})}},uu=()=>{let t;return{start:(...a)=>(t=window.setTimeout(...a),t),clear:()=>t&&window.clearTimeout(t)}},pu={trackBy:{type:[String,Number,Function],default:""}},fu=t=>({getKey:(n,a,r)=>{if(t.trackBy&&n&&typeof n=="object"&&!uo(t.trackBy)){const l=Array.isArray(n);let s;if(l&&!isNaN(+t.trackBy)&&(s=n[+t.trackBy]),l||(s=n[t.trackBy]),s||s===0)return s;fe(`${l?"Index":"Key"} '${t.trackBy}' wasn't found in provided ${l?"array":"object"}: `,n)}return uo(t.trackBy)?t.trackBy(n):r}}),mu=t=>t.startsWith("$t:"),Q=t=>({type:String,default:t}),nl=(t,o)=>(o&&Object.keys(o).forEach(n=>{t=t.replace(`{${n}}`,String(o[n]))}),t),ye=()=>{const{globalConfig:t}=He(),o=e.computed(()=>t.value.i18n);function n(r,l){var u;const s=(u=e.getCurrentInstance())==null?void 0:u.appContext.config.globalProperties.$t;if(typeof s=="function"){const c=s(`vuestic.${r}`,l);if(c)return c}const i=o.value[r];return i?nl(i,l)||r:(fe(`${r} not found in VuesticUI i18n config`),r)}function a(r,l){return r?mu(r)?n(r.slice(3),l):nl(r,l)||r:""}return{tp:a,t:n}},gu=":where(a, button, input, textarea, select):not([disabled]), *[tabindex]",al=()=>{const t=Ct(),o=Lo(),n=Ur("trapInEl",null);let a=[],r=null,l=null;const s=m=>{var g;return((g=n.value)==null?void 0:g.contains(m.target))||!1},i=()=>{r==null||r.focus()},u=()=>{l==null||l.focus()},c=m=>{var h,b;const g=m.code==="Tab",y=m.shiftKey;if(g){if(!s(m)){m.preventDefault(),y?u():i();return}if(((h=t.value)==null?void 0:h.activeElement)===l&&!y){m.preventDefault(),i();return}((b=t.value)==null?void 0:b.activeElement)===r&&y&&(m.preventDefault(),u())}},d=m=>{n.value=m,f(),p()},p=()=>{var m;n.value&&(a=Array.from(n.value.querySelectorAll(gu)),r=a[0],l=a[a.length-1],(m=o.value)==null||m.addEventListener("keydown",c))},f=()=>{var m;a=[],r=null,l=null,(m=o.value)==null||m.removeEventListener("keydown",c)};return{trapFocus:p,freeFocus:f,trapFocusIn:d}},jt={delay:{type:Number,default:0,validator:t=>t>=0}};function yu(t,o){const n=e.toRef(o,"delay")??0,a=e.ref(!0);let r;return function(...l){const s=()=>t.apply(this,l);return e.unref(n)?(a.value&&(a.value=!1,setTimeout(()=>a.value=!0,e.unref(n)),r=s()),r):s()}}function Gn(t,o){const n=e.toRef(o,"delay")??0;if(!e.unref(n))return t;const a=e.ref(!0),r=e.ref(),l=e.ref(),s=e.ref();return e.watch(t,()=>{r.value=t.value;const i=setTimeout(()=>{s.value=r.value},e.unref(n));a.value?(a.value=!1,s.value=t.value,l.value=t.value,clearTimeout(i),setTimeout(()=>a.value=!0,e.unref(n))):s.value=l.value},{immediate:!0}),s}function hu(){const t=e.reactive({width:void 0,height:void 0}),o=()=>{t.width=window==null?void 0:window.innerWidth,t.height=window==null?void 0:window.innerHeight},n=e.computed(En);return e.watch(n,a=>{a&&o()},{immediate:!0}),be("resize",o,!0),{windowSizes:t}}const rl=(t,o=!0)=>{var a;if(e.isVNode(t))return!0;if(!t||o&&(!uo(t)||!((a=t())!=null&&a.length)))return!1;const n=o?t():t;return Array.isArray(n)?n.some(r=>Array.isArray(r.children)?rl(r.children,!1):r.children||r.props):!!n.children},bu=(t="default")=>{const{slots:o}=e.getCurrentInstance();return e.computed(()=>rl(o[t]))},Cu=(t,o)=>o.test(t),ll=(t,o)=>{if(typeof o!="string"&&o.global)return[...t.matchAll(o)].map(a=>a.slice(1));const n=t.match(o)||[];return n?n.l