vx-vue 1.3.8 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/vxvue.umd.js CHANGED
@@ -1 +1 @@
1
- (function(v,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(v=typeof globalThis<"u"?globalThis:v||self,e(v.vxVue={},v.Vue))})(this,function(v,e){"use strict";const le={__name:"Accordion",props:{activeIndex:{type:[Number,Array],default:null}},emits:["update:activeIndex"],setup(t,{emit:c}){const l=t,n=c,a=e.useSlots(),o=e.ref([]),u=m=>o.value.push(m),i=e.computed(()=>a.default().reduce((m,b)=>((b.type.__name||b.type.name)==="AccordionPanel"&&m.push(b),m),[])),s=m=>{if(Array.isArray(l.activeIndex)){let b=[].concat(l.activeIndex),y=b.findIndex(p=>p===m);y===-1?n("update:activeIndex",[...b,m]):(b.splice(y,1),n("update:activeIndex",b))}else n("update:activeIndex",m===l.activeIndex?-1:m)},r=m=>{if(m=++m%i.value.length,!o.value[m].disabled){s(m),o.value[m].focus();return}r(m)},d=m=>{if(m=(m||i.value.length)-1,!o.value[m].disabled){s(m),o.value[m].focus();return}d(m)};return e.onBeforeUpdate(()=>o.value=[]),(m,b)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(y,p)=>{var B;return e.openBlock(),e.createBlock(e.resolveDynamicComponent(y),{key:p,ref_for:!0,ref:u,show:Array.isArray(t.activeIndex)?(B=t.activeIndex)==null?void 0:B.includes(p):t.activeIndex===p,onSelect:h=>s(p),onKeydown:h=>r(p),onKeyup:h=>d(p)},null,40,["show","onSelect","onKeydown","onKeyup"])}),128))}};function ae(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M6.75 2.25A.75.75 0 0 1 7.5 3v1.5h9V3A.75.75 0 0 1 18 3v1.5h.75a3 3 0 0 1 3 3v11.25a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3V7.5a3 3 0 0 1 3-3H6V3a.75.75 0 0 1 .75-.75Zm13.5 9a1.5 1.5 0 0 0-1.5-1.5H5.25a1.5 1.5 0 0 0-1.5 1.5v7.5a1.5 1.5 0 0 0 1.5 1.5h13.5a1.5 1.5 0 0 0 1.5-1.5v-7.5Z","clip-rule":"evenodd"})])}function oe(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M12.53 16.28a.75.75 0 0 1-1.06 0l-7.5-7.5a.75.75 0 0 1 1.06-1.06L12 14.69l6.97-6.97a.75.75 0 1 1 1.06 1.06l-7.5 7.5Z","clip-rule":"evenodd"})])}function Y(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M7.72 12.53a.75.75 0 0 1 0-1.06l7.5-7.5a.75.75 0 1 1 1.06 1.06L9.31 12l6.97 6.97a.75.75 0 1 1-1.06 1.06l-7.5-7.5Z","clip-rule":"evenodd"})])}function O(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z","clip-rule":"evenodd"})])}function ne(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M11.47 4.72a.75.75 0 0 1 1.06 0l3.75 3.75a.75.75 0 0 1-1.06 1.06L12 6.31 8.78 9.53a.75.75 0 0 1-1.06-1.06l3.75-3.75Zm-3.75 9.75a.75.75 0 0 1 1.06 0L12 17.69l3.22-3.22a.75.75 0 1 1 1.06 1.06l-3.75 3.75a.75.75 0 0 1-1.06 0l-3.75-3.75a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}function re(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M11.47 7.72a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 1 1-1.06 1.06L12 9.31l-6.97 6.97a.75.75 0 0 1-1.06-1.06l7.5-7.5Z","clip-rule":"evenodd"})])}function se(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M4.25 12a.75.75 0 0 1 .75-.75h14a.75.75 0 0 1 0 1.5H5a.75.75 0 0 1-.75-.75Z","clip-rule":"evenodd"})])}function ie(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M12 3.75a.75.75 0 0 1 .75.75v6.75h6.75a.75.75 0 0 1 0 1.5h-6.75v6.75a.75.75 0 0 1-1.5 0v-6.75H4.5a.75.75 0 0 1 0-1.5h6.75V4.5a.75.75 0 0 1 .75-.75Z","clip-rule":"evenodd"})])}function R(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}const ce=["id","disabled","aria-expanded","aria-controls"],de=["id","aria-labelledby"],ue={class:"overflow-hidden rounded-b"},me=Object.assign({inheritAttrs:!1},{__name:"AccordionPanel",props:{show:Boolean,disabled:Boolean},emits:["select","keyup","keydown"],setup(t,{expose:c,emit:l}){const n=l,a=t,o=e.useAttrs(),u=e.ref(null),i=Math.random().toString(20).substring(2,8),s=d=>{if(!a.disabled){const m=new Map([[40,"keydown"],[38,"keyup"]]).get(d.keyCode);m&&(n(m),d.preventDefault())}};return c({focus:()=>u.value.focus(),disabled:a.disabled}),(d,m)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{id:"ap-control-"+e.unref(i),ref_key:"btn",ref:u,class:e.normalizeClass(["flex items-center w-full space-x-2 px-4 py-2 ring-vxvue",t.show?"rounded-t":"rounded-sm",t.disabled?"bg-slate-300 text-slate-700":"bg-vxvue hover:bg-vxvue-600 text-white",e.unref(o).class]),disabled:t.disabled,"aria-expanded":t.show,"aria-controls":"ap-"+e.unref(i),tabindex:"0",onClick:m[0]||(m[0]=b=>n("select")),onKeydown:s},[t.disabled?(e.openBlock(),e.createBlock(e.unref(R),{key:0,class:"size-5"})):(e.openBlock(),e.createBlock(e.unref(O),{key:1,class:e.normalizeClass(["size-5 transform-gpu transition-transform duration-300",{"rotate-90":t.show}])},null,8,["class"])),e.createElementVNode("span",null,[e.renderSlot(d.$slots,"header")])],42,ce),e.createElementVNode("div",{id:"ap-"+e.unref(i),class:e.normalizeClass(["grid transition-[grid-template-rows] duration-300 ease-in-out",t.show&&!t.disabled?"grid-rows-1":"grid-rows-[repeat(1,minmax(0,0fr))]"]),"aria-labelledby":"ap-control-"+e.unref(i)},[e.createElementVNode("div",ue,[e.renderSlot(d.$slots,"default")])],10,de)]))}}),fe=["viewBox"],pe=["cx","cy","r","stroke-width"],he=["cx","cy","r","stroke-width","stroke-dasharray"],H={__name:"Spinner",props:{radius:{type:Number,default:10},strokeWidth:{type:Number,default:4}},setup(t){const c=t,l=e.computed(()=>c.radius+c.strokeWidth/2),n=e.computed(()=>c.radius*2+c.strokeWidth),a=e.computed(()=>c.radius*Math.PI/1.5);return(o,u)=>(e.openBlock(),e.createElementBlock("svg",{class:"animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 "+n.value+" "+n.value,role:"progressbar"},[e.createElementVNode("circle",{class:"opacity-35",cx:l.value,cy:l.value,r:t.radius,stroke:"currentColor","stroke-width":t.strokeWidth},null,8,pe),e.createElementVNode("circle",{cx:l.value,cy:l.value,r:t.radius,stroke:"currentColor","stroke-width":t.strokeWidth,"stroke-dasharray":a.value+" "+t.radius*100,"stroke-linecap":"round"},null,8,he)],8,fe))}};function ge(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}const K=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const be=Object.prototype.toString,ke=t=>be.call(t)==="[object Object]",I=()=>{},ye=xe();function xe(){var t,c;return K&&((t=window==null?void 0:window.navigator)==null?void 0:t.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((c=window==null?void 0:window.navigator)==null?void 0:c.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Z(t){return Array.isArray(t)?t:[t]}const we=/[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|z{1,4}|SSS/g;function Be(t,c,l,n){let a=t<12?"AM":"PM";return n&&(a=a.split("").reduce((o,u)=>o+=`${u}.`,"")),l?a.toLowerCase():a}function P(t){const c=["th","st","nd","rd"],l=t%100;return t+(c[(l-20)%10]||c[l]||c[0])}function X(t,c,l={}){var n;const a=t.getFullYear(),o=t.getMonth(),u=t.getDate(),i=t.getHours(),s=t.getMinutes(),r=t.getSeconds(),d=t.getMilliseconds(),m=t.getDay(),b=(n=l.customMeridiem)!=null?n:Be,y=B=>{var h;return(h=B.split(" ")[1])!=null?h:""},p={Yo:()=>P(a),YY:()=>String(a).slice(-2),YYYY:()=>a,M:()=>o+1,Mo:()=>P(o+1),MM:()=>`${o+1}`.padStart(2,"0"),MMM:()=>t.toLocaleDateString(e.toValue(l.locales),{month:"short"}),MMMM:()=>t.toLocaleDateString(e.toValue(l.locales),{month:"long"}),D:()=>String(u),Do:()=>P(u),DD:()=>`${u}`.padStart(2,"0"),H:()=>String(i),Ho:()=>P(i),HH:()=>`${i}`.padStart(2,"0"),h:()=>`${i%12||12}`.padStart(1,"0"),ho:()=>P(i%12||12),hh:()=>`${i%12||12}`.padStart(2,"0"),m:()=>String(s),mo:()=>P(s),mm:()=>`${s}`.padStart(2,"0"),s:()=>String(r),so:()=>P(r),ss:()=>`${r}`.padStart(2,"0"),SSS:()=>`${d}`.padStart(3,"0"),d:()=>m,dd:()=>t.toLocaleDateString(e.toValue(l.locales),{weekday:"narrow"}),ddd:()=>t.toLocaleDateString(e.toValue(l.locales),{weekday:"short"}),dddd:()=>t.toLocaleDateString(e.toValue(l.locales),{weekday:"long"}),A:()=>b(i,s),AA:()=>b(i,s,!1,!0),a:()=>b(i,s,!0),aa:()=>b(i,s,!0,!0),z:()=>y(t.toLocaleDateString(e.toValue(l.locales),{timeZoneName:"shortOffset"})),zz:()=>y(t.toLocaleDateString(e.toValue(l.locales),{timeZoneName:"shortOffset"})),zzz:()=>y(t.toLocaleDateString(e.toValue(l.locales),{timeZoneName:"shortOffset"})),zzzz:()=>y(t.toLocaleDateString(e.toValue(l.locales),{timeZoneName:"longOffset"}))};return c.replace(we,(B,h)=>{var x,N;return(N=h??((x=p[B])==null?void 0:x.call(p)))!=null?N:B})}function Ve(t,c,l){return e.watch(t,c,{...l,immediate:!0})}const G=K?window:void 0;function _(t){var c;const l=e.toValue(t);return(c=l==null?void 0:l.$el)!=null?c:l}function U(...t){const c=[],l=()=>{c.forEach(i=>i()),c.length=0},n=(i,s,r,d)=>(i.addEventListener(s,r,d),()=>i.removeEventListener(s,r,d)),a=e.computed(()=>{const i=Z(e.toValue(t[0])).filter(s=>s!=null);return i.every(s=>typeof s!="string")?i:void 0}),o=Ve(()=>{var i,s;return[(s=(i=a.value)==null?void 0:i.map(r=>_(r)))!=null?s:[G].filter(r=>r!=null),Z(e.toValue(a.value?t[1]:t[0])),Z(e.unref(a.value?t[2]:t[1])),e.toValue(a.value?t[3]:t[2])]},([i,s,r,d])=>{if(l(),!(i!=null&&i.length)||!(s!=null&&s.length)||!(r!=null&&r.length))return;const m=ke(d)?{...d}:d;c.push(...i.flatMap(b=>s.flatMap(y=>r.map(p=>n(b,y,p,m)))))},{flush:"post"}),u=()=>{o(),l()};return ge(l),u}let J=!1;function q(t,c,l={}){const{window:n=G,ignore:a=[],capture:o=!0,detectIframe:u=!1,controls:i=!1}=l;if(!n)return i?{stop:I,cancel:I,trigger:I}:I;if(ye&&!J){J=!0;const h={passive:!0};Array.from(n.document.body.children).forEach(x=>x.addEventListener("click",I,h)),n.document.documentElement.addEventListener("click",I,h)}let s=!0;const r=h=>e.toValue(a).some(x=>{if(typeof x=="string")return Array.from(n.document.querySelectorAll(x)).some(N=>N===h.target||h.composedPath().includes(N));{const N=_(x);return N&&(h.target===N||h.composedPath().includes(N))}});function d(h){const x=e.toValue(h);return x&&x.$.subTree.shapeFlag===16}function m(h,x){const N=e.toValue(h),$=N.$.subTree&&N.$.subTree.children;return $==null||!Array.isArray($)?!1:$.some(z=>z.el===x.target||x.composedPath().includes(z.el))}const b=h=>{const x=_(t);if(h.target!=null&&!(!(x instanceof Element)&&d(t)&&m(t,h))&&!(!x||x===h.target||h.composedPath().includes(x))){if("detail"in h&&h.detail===0&&(s=!r(h)),!s){s=!0;return}c(h)}};let y=!1;const p=[U(n,"click",h=>{y||(y=!0,setTimeout(()=>{y=!1},0),b(h))},{passive:!0,capture:o}),U(n,"pointerdown",h=>{const x=_(t);s=!r(h)&&!!(x&&!h.composedPath().includes(x))},{passive:!0}),u&&U(n,"blur",h=>{setTimeout(()=>{var x;const N=_(t);((x=n.document.activeElement)==null?void 0:x.tagName)==="IFRAME"&&!(N!=null&&N.contains(n.document.activeElement))&&c(h)},0)},{passive:!0})].filter(Boolean),B=()=>p.forEach(h=>h());return i?{stop:B,cancel:()=>{s=!1},trigger:h=>{s=!0,b(h),s=!1}}:B}const Ee=["value","onKeydown"],ve={class:"flex absolute inset-y-0 right-0 items-center pr-3 text-vxvue-700"},Se=["data-result-index"],Ne=Object.assign({inheritAttrs:!1},{__name:"Autocomplete",props:e.mergeModels({search:{type:Function,required:!0},resultListClass:{type:String,default:"result-list"},resultItemClass:{type:String,default:"result-list-item"},getResultValue:{type:Function,default:t=>t},autoSelect:Boolean},{modelValue:{type:String,default:""},modelModifiers:{}}),emits:e.mergeModels(["blur-sm","submit"],["update:modelValue"]),setup(t,{emit:c}){const l=c,n=t,a=e.useModel(t,"modelValue"),o=e.useAttrs(),i=(()=>{let E=0;return S=>(S||"")+ ++E})()((o.id||"autocomplete")+"-"),s=e.ref([]),r=e.ref(-1),d=e.ref(0),m=e.ref(!1),b=e.ref(!1),y=e.ref("top-0 translate-y-12"),p=e.ref(!0),B=e.ref(null),h=e.ref(null),x=e.ref(null),N=e.computed(()=>s.value.map((E,S)=>({id:(o.id||"autocomplete")+"-item-"+S,class:[n.resultItemClass,{"bg-vxvue-700 text-white":r.value===S}],role:"option",...r.value===S?{"aria-selected":"true"}:{}}))),$=e.computed(()=>({role:"combobox",autocomplete:"off",autocapitalize:"off",autocorrect:"off",spellcheck:"false","aria-autocomplete":"list","aria-haspopup":"listbox","aria-owns":i,"aria-expanded":m.value?"true":"false","aria-activedescendant":r.value>-1?N.value[r.value].id:"",...o})),z=e.computed(()=>({id:i,class:["absolute min-w-full transform z-[var(--zIndex-dropdown)]",n.resultListClass,y.value],role:"listbox"})),L=()=>{r.value=-1,s.value=[],m.value=!1,p.value=!0},w=E=>{const S=n.search(E);if(S instanceof Promise){const T=++d.value;b.value=!0,S.then(A=>{T===d.value&&(s.value=A,b.value=!1,s.value.length?(r.value=n.autoSelect?0:-1,m.value=!0):L())})}else s.value=S,s.value.length===0?L():(r.value=n.autoSelect?0:-1,m.value=!0)},V=()=>{const E=s.value[r.value];return E&&(a.value=n.getResultValue(E)),L(),E},M=E=>{a.value=E,w(E)},f=E=>w(E.target.value),g=()=>{L(),l("blur-sm")},k=()=>{const E=s.value.length;r.value=((r.value-1)%E+E)%E},C=E=>{m.value||f(E);const S=s.value.length;r.value=((r.value+1)%S+S)%S},D=()=>{L(),a.value=""},j=()=>l("submit",V()),F=E=>{const S=E.target.closest("[data-result-index]");S&&(r.value=parseInt(S.dataset.resultIndex,10),l("submit",V()))};return q(x,L),e.onUpdated(()=>{if(B.value){const E=h.value.getBoundingClientRect(),S=B.value.getBoundingClientRect();p.value&&s.value.length&&(p.value=!1,y.value=E.bottom+S.height>window.innerHeight&&window.innerHeight-E.bottom<E.top&&window.pageYOffset+E.top-S.height>0?"bottom-0 -translate-y-12":"top-0 translate-y-12");const T=B.value.querySelector('[data-result-index="'+r.value+'"]');if(T){let A=T.getBoundingClientRect();A.top<S.top?B.value.scrollTop-=S.top-A.top:A.bottom>S.bottom&&(B.value.scrollTop+=A.bottom-S.bottom)}}}),(E,S)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:x,class:e.normalizeClass(["inline-block relative",E.$attrs.class])},[e.createElementVNode("input",e.mergeProps({ref_key:"input",ref:h,class:"block pr-10 w-full form-input focus:border-vxvue",value:a.value},$.value,{onInput:S[0]||(S[0]=T=>M(T.target.value)),onKeydown:[e.withKeys(j,["enter"]),e.withKeys(D,["esc"]),e.withKeys(V,["tab"]),e.withKeys(e.withModifiers(k,["prevent"]),["up"]),e.withKeys(e.withModifiers(C,["prevent"]),["down"])],onFocus:f,onBlur:g}),null,16,Ee),e.createElementVNode("span",ve,[b.value?(e.openBlock(),e.createBlock(H,{key:0,class:"size-5"})):e.createCommentVNode("",!0)]),s.value.length?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,ref_key:"resultList",ref:B},z.value,{onClick:F,onMousedown:S[1]||(S[1]=e.withModifiers(()=>{},["prevent"]))}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(T,A)=>(e.openBlock(),e.createElementBlock("div",{"data-result-index":A},[e.renderSlot(E.$slots,"result",{result:T,props:N.value[A]},()=>[(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:N.value[A].id,ref_for:!0},N.value[A]),e.toDisplayString(t.getResultValue(T)),17))])],8,Se))),256))],16)):e.createCommentVNode("",!0)],2))}}),Q=(t,c)=>{const l=t.__vccOpts||t;for(const[n,a]of c)l[n]=a;return l},W=Q({__name:"VxVueTransition",props:{name:{type:String,required:!0,validator:t=>["appear","vert-fade"].includes(t)}},setup(t){return(c,l)=>(e.openBlock(),e.createBlock(e.Transition,{name:t.name},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default",{},void 0,!0)]),_:3},8,["name"]))}},[["__scopeId","data-v-edc3641f"]]),Ce={key:0,class:"fixed inset-0 z-[calc(var(--zIndex-confirm)-1)] bg-black/50 backdrop-blur-xs","aria-hidden":"true"},$e={key:0,class:"overflow-y-auto fixed inset-0 z-[var(--zIndex-confirm)]"},Me={class:"flex justify-center items-center min-h-screen text-center sm:block sm:p-0"},De={key:0},ze={class:"inline-block overflow-hidden text-left align-bottom bg-white rounded-sm shadow-xl transition-all transform sm:my-8 sm:w-full sm:max-w-sm sm:align-middle lg:max-w-lg"},Ae={class:"px-4 pb-4 mt-4 sm:px-6 sm:pb-6 sm:mt-5"},Le={class:"flex flex-row items-center"},Te={class:"shrink-0"},Pe={class:"grow text-center"},Fe=["onClick"],Ie={__name:"Confirm",props:{buttons:{type:[Object,Array],default:()=>({label:"Ok"}),validator:t=>Array.isArray(t)&&t.length<=2&&t.filter(c=>c.label!=="undefined"&&c.value!=="undefined").length===t.length||t.label!==void 0&&t.value!==void 0},headerClass:{type:String,default:"text-vxvue-alt-900 bg-vxvue-alt-300"},buttonClass:{type:String,default:"button"}},setup(t,{expose:c}){const l=t,n=e.ref(""),a=e.ref(""),o=e.ref(!1);let u=null,i=null;const s=e.computed(()=>Array.isArray(l.buttons)?l.buttons:[l.buttons]),r=e.ref(null),d=(b,y)=>{o.value=!1,b.value!==void 0?b.value?u():i():y?i():u()};return c({open:(b,y)=>(n.value=b,a.value=y,o.value=!0,e.nextTick(()=>r.value.firstElementChild.focus()),new Promise((p,B)=>{u=p,i=B}))}),(b,y)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[o.value?(e.openBlock(),e.createElementBlock("div",Ce)):e.createCommentVNode("",!0),e.createVNode(W,{name:"appear"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",$e,[e.createElementVNode("div",Me,[o.value?(e.openBlock(),e.createElementBlock("div",De,[y[0]||(y[0]=e.createElementVNode("span",{class:"hidden sm:inline-block sm:h-screen sm:align-middle","aria-hidden":"true"},"​",-1)),e.createElementVNode("div",ze,[n.value||b.$slots.title?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(["py-4 pt-4 text-lg font-medium text-center sm:py-6",t.headerClass])},[e.renderSlot(b.$slots,"title",{title:n.value},()=>[e.createTextVNode(e.toDisplayString(n.value),1)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",Ae,[e.createElementVNode("div",Le,[e.createElementVNode("div",Te,[e.renderSlot(b.$slots,"icon")]),e.createElementVNode("p",Pe,[e.renderSlot(b.$slots,"default",{message:a.value},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])])]),e.createElementVNode("div",{ref_key:"buttonsContainer",ref:r,class:"flex justify-center mt-5 space-x-2 sm:mt-6"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(p,B)=>(e.openBlock(),e.createElementBlock("button",{key:p.label,class:e.normalizeClass([t.buttonClass,p.class]),onClick:e.withModifiers(h=>d(p,B),["prevent"])},e.toDisplayString(p.label),11,Fe))),128))],512)])])])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),_:3})],64))}};function Oe(t,c){const l=e.ref(!1),n=e.toValue(c);let a,o=n.toLowerCase().replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=[];if((a=n.match(/\bd\b/gi))&&a.length===1)o=o.replace("d","(\\d{1,2})");else if((a=n.match(/\bdd\b/gi))&&a.length===1)o=o.replace("dd","(\\d{2})");else return{date:l};if(u.push({srcPos:n.toLowerCase().indexOf("d"),destPos:2}),(a=n.match(/\bm\b/gi))&&a.length===1)o=o.replace("m","(\\d{1,2})");else if((a=n.match(/\bmm\b/gi))&&a.length===1)o=o.replace("mm","(\\d{2})");else return{date:l};if(u.push({srcPos:n.toLowerCase().indexOf("m"),destPos:1}),(a=n.match(/\byyyy\b/gi))&&a.length===1)o=o.replace("yyyy","(\\d{4})");else return{date:l};if(u.push({srcPos:n.toLowerCase().indexOf("y"),destPos:0}),!(a=e.toValue(t).match(o)))return{date:l};a.shift(),u.sort((d,m)=>d.srcPos<m.srcPos?-1:1);let i=[],s,r;for(;s=a.shift();)r=u.shift(),i[r.destPos]=s;return i=Date.parse(i.join("-")),i&&(i=new Date(i),l.value=new Date(i.getFullYear(),i.getMonth(),i.getDate(),0,0,0)),{date:l}}const _e={class:"text-vxvue-700"},je=["disabled"],ee=Object.assign({inheritAttrs:!1},{__name:"DateInput",props:e.mergeModels({outputFormat:{type:String,default:"YYYY-MM-DD"},inputFormat:{type:String,default:"YYYY-MM-DD"},showToggle:{type:Boolean,default:!1}},{modelValue:{type:Date,default:null},modelModifiers:{}}),emits:e.mergeModels(["toggle-datepicker"],["update:modelValue"]),setup(t,{emit:c}){const l=c,n=t,a=e.useModel(t,"modelValue"),o=e.ref(""),u=e.computed(()=>a.value?X(a.value,n.outputFormat):""),i=e.computed(()=>{let s=Object.assign({},e.useAttrs());return delete s.class,s});return e.watch(a,s=>o.value===s?X(s,n.outputFormat):""),(s,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["inline-block relative",s.$attrs.class])},[e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(["block flex items-center w-full form-input bg-vxvue-50",{"pr-10":t.showToggle}])},[e.createElementVNode("span",_e,e.toDisplayString(u.value),1),i.value.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,class:"inline-flex shrink-0 justify-center items-center ml-2 rounded-full focus:text-white focus:outline-hidden size-4 text-vxvue hover:bg-vxvue-100 hover:text-vue-700 focus:bg-vxvue-700",onClick:r[0]||(r[0]=d=>a.value=null)},[e.createVNode(e.unref(R),{class:"size-4"})]))],2)],512),[[e.vShow,u.value]]),e.withDirectives(e.createElementVNode("div",null,[e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":r[1]||(r[1]=d=>o.value=d),type:"text",class:["block w-full form-input peer focus:border-vxvue",{"pr-10":t.showToggle}]},i.value,{onBlur:r[2]||(r[2]=d=>{var m;return a.value=((m=e.unref(Oe)(o.value,n.inputFormat).date)==null?void 0:m.value)||null}),onInput:r[3]||(r[3]=e.withModifiers(()=>{},["prevent"]))}),null,16),[[e.vModelText,o.value]])],512),[[e.vShow,!u.value]]),t.showToggle?(e.openBlock(),e.createElementBlock("button",{key:0,ref:"toggleButton",class:e.normalizeClass(["flex absolute inset-y-0 right-0 items-center px-2 text-vxvue-700",i.value.disabled?"cursor-not-allowed":"hover:text-vxvue"]),disabled:i.value.disabled,"aria-label":"datepicker-toggle",onClick:r[4]||(r[4]=e.withModifiers(d=>l("toggle-datepicker"),["stop"]))},[e.createVNode(e.unref(ae),{class:"size-6"})],10,je)):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"default")],2))}}),Ye={class:"flex items-center py-2 px-3 text-white bg-vxvue-700"},Re={class:"flex justify-between w-1/2"},He={class:"flex justify-between w-1/2"},Ze={class:"grid grid-cols-7 gap-0.5 p-0.5"},Ue=["disabled","onClick"],qe={class:"flex justify-between items-center py-2 px-3 text-white bg-vxvue-700"},We={class:"grid grid-cols-2 gap-0.5 p-0.5"},Ke=["onClick"],Xe=Object.assign({inheritAttrs:!1},{__name:"Datepicker",props:e.mergeModels({shownMonth:Date,maxNumberOfValues:{type:Number,default:1},validFrom:Date,validUntil:Date,dayNames:{type:Array,default:()=>"S M T W T F S".split(" ")},highlightRange:Boolean,locale:{type:String,default:"default"},startOfWeekIndex:{type:Number,default:0,validator:t=>t===0||t===1},hasInput:{type:Boolean,default:!0}},{modelValue:{type:[Date,Array],default:null,validator:(t,c)=>t instanceof Date&&c.maxNumberOfValues===1||t.every(l=>l instanceof Date||l===null)&&t.length<=c.maxNumberOfValues},modelModifiers:{}}),emits:e.mergeModels(["month-change","year-change"],["update:modelValue"]),setup(t,{emit:c}){const l=t,n=e.useModel(t,"modelValue"),a=c,o=(()=>{const f=new Date;return new Date(f.getFullYear(),f.getMonth(),f.getDate())})(),u=e.ref(null),i=e.ref([]),s=e.ref(!1),r=e.ref("days"),d=e.ref(0),m=e.ref({horiz:"left-0",vert:"top-0"}),b=e.ref(null),y=e.ref(null),p=e.ref(null),B=e.computed(()=>l.hasInput&&l.maxNumberOfValues===1),h=e.computed(()=>B.value?{class:["absolute",s.value?"block":"hidden"]}:{}),x=e.computed(()=>{const f=[],g=u.value.getFullYear(),k=u.value.getMonth(),C=new Date(g,k+1,0),D=new Date(g,k,0).getDay()+1-l.startOfWeekIndex,j=(6+l.startOfWeekIndex-C.getDay())%7;for(let F=-D,E=C.getDate()+j;F<E;++F)f.push(new Date(g,k,F+1));return f}),N=e.computed(()=>l.startOfWeekIndex?l.dayNames.slice(1).concat(l.dayNames[0]):l.dayNames);e.watch(n,f=>{if(f)if(Array.isArray(f)){const g=[],k=i.value;f.forEach(C=>{C&&g.push(new Date(C.getFullYear(),C.getMonth(),C.getDate()))}),(g.length!==k.length||![...new Set([...g,...k])].every(C=>g.filter(D=>D.getTime()===C.getTime()).length===k.filter(D=>D.getTime()===C.getTime()).length))&&(i.value=g,u.value=new Date((g[0]||o).getTime()),u.value.setDate(1))}else i.value=[new Date(f.getFullYear(),f.getMonth(),f.getDate())],u.value=new Date(f.getFullYear(),f.getMonth(),1);else i.value=[],u.value=new Date(o.getFullYear(),o.getMonth(),1)},{immediate:!0}),e.watch(()=>l.shownMonth,f=>{u.value=new Date((f||o).getTime()),u.value.setDate(1)},{immediate:!0}),e.watch(s,f=>{f&&B.value&&e.nextTick(()=>{const g=b.value.$el.getBoundingClientRect(),k=y.value.getBoundingClientRect();m.value={horiz:g.right-k.width<0?"left-0":"right-0",vert:g.bottom+k.height>window.innerHeight?"bottom-0 -translate-y-12":"top-0 translate-y-12"}})}),q(y,()=>{s.value=!1,r.value="days"},{ignore:[p]});const $=f=>{u.value=new Date(u.value.getFullYear(),f,1),a("month-change",u.value)},z=f=>{u.value=new Date(f,u.value.getMonth(),1),a("year-change",u.value)},L=f=>n.value=f,w=f=>{if(s.value=!1,l.maxNumberOfValues===1)n.value=f;else{const g=i.value;let k=g.findIndex(C=>C.getTime()===f.getTime());k!==-1?g.splice(k,1):g.length<l.maxNumberOfValues&&g.push(f),n.value=g}},V=f=>i.value.find(g=>(g==null?void 0:g.getTime())===f.getTime()),M=f=>{const g=f.getMonth()!==u.value.getMonth(),k=V(f),C=f.getTime()===o.getTime(),D=l.validFrom&&l.validFrom>f||l.validUntil&&l.validUntil<f,j=!k&&l.maxNumberOfValues>1&&i.value.length===l.maxNumberOfValues,F=l.highlightRange&&f>Math.min(...i.value)&&f<Math.max(...i.value);return{"cursor-not-allowed":D||j,"text-vxvue-700":!D&&!g&&!C&&!k,"text-error":D&&!g,"text-gray-400":g&&!C&&!k,"bg-vxvue-alt-300 font-bold":C&&!k,"bg-vxvue-700 text-white":k,"hover:ring-2 hover:ring-vxvue":!D,"bg-vxvue-100/50":F&&!C&&!k}};return e.onMounted(()=>{var f;return p.value=(f=b.value)==null?void 0:f.$refs.toggleButton}),(f,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative",f.$attrs.class])},[B.value?(e.openBlock(),e.createBlock(ee,e.mergeProps({key:0},f.$attrs,{ref_key:"input",ref:b,"model-value":i.value[0],"show-toggle":!0,class:"w-full",onToggleDatepicker:g[0]||(g[0]=k=>s.value=!s.value),"onUpdate:modelValue":L}),{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default")]),_:3},16,["model-value"])):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps(h.value,{ref_key:"calendar",ref:y,class:["overflow-hidden z-[var(--zIndex-dropdown)] bg-white rounded-sm shadow-md min-w-72 sm:min-w-80",[m.value.horiz,m.value.vert]]}),[r.value==="days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Ye,[e.createElementVNode("div",Re,[e.createElementVNode("button",{class:"shrink-0 text-vxvue-100 hover:text-vxvue-50",onClick:g[1]||(g[1]=e.withModifiers(k=>$(u.value.getMonth()-1),["stop"]))},[e.createVNode(e.unref(Y),{class:"size-6"})]),e.createElementVNode("span",null,e.toDisplayString(u.value.toLocaleString(t.locale,{month:"long"})),1),e.createElementVNode("button",{class:"shrink-0 text-vxvue-100 hover:text-vxvue-50",onClick:g[2]||(g[2]=e.withModifiers(k=>$(u.value.getMonth()+1),["stop"]))},[e.createVNode(e.unref(O),{class:"size-6"})])]),e.createElementVNode("div",He,[e.createElementVNode("button",{class:"shrink-0 text-vxvue-100 hover:text-vxvue-50",onClick:g[3]||(g[3]=e.withModifiers(k=>z(u.value.getFullYear()-1),["stop"]))},[e.createVNode(e.unref(Y),{class:"size-6"})]),e.createElementVNode("button",{class:"text-vxvue-100 hover:text-vxvue-50",onClick:g[4]||(g[4]=k=>{r.value="years",d.value=u.value.getFullYear()})},e.toDisplayString(u.value.getFullYear()),1),e.createElementVNode("button",{class:"shrink-0 text-vxvue-100 hover:text-vxvue-50",onClick:g[5]||(g[5]=e.withModifiers(k=>z(u.value.getFullYear()+1),["stop"]))},[e.createVNode(e.unref(O),{class:"size-6"})])])]),e.createElementVNode("div",Ze,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(k,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"py-2 text-center bg-gray-200"},e.toDisplayString(k),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,k=>(e.openBlock(),e.createElementBlock("button",{key:k,class:e.normalizeClass(["py-2 rounded-xs block text-center",M(k)]),disabled:t.validFrom&&t.validFrom>k||t.validUntil&&t.validUntil<k||t.maxNumberOfValues>1&&i.value.length===t.maxNumberOfValues&&!V(k),onClick:e.withModifiers(C=>w(k),["stop"])},e.toDisplayString(k.getDate()),11,Ue))),128))])],64)):e.createCommentVNode("",!0),r.value==="years"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",qe,[e.createElementVNode("button",{class:"shrink-0 text-vxvue-100 hover:text-vxvue-50",onClick:g[6]||(g[6]=e.withModifiers(k=>d.value-=10,["stop"]))},[e.createVNode(e.unref(Y),{class:"size-6"})]),e.createElementVNode("span",null,e.toDisplayString(d.value)+" - "+e.toDisplayString(d.value+9),1),e.createElementVNode("button",{class:"shrink-0 text-vxvue-100 hover:text-vxvue-50",onClick:g[7]||(g[7]=e.withModifiers(k=>d.value+=10,["stop"]))},[e.createVNode(e.unref(O),{class:"size-6"})])]),e.createElementVNode("div",We,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(10,k=>e.createElementVNode("div",{key:k,class:"text-center hover:ring-2 text-vxvue-700 hover:ring-vxvue"},[e.createElementVNode("button",{class:"py-2 px-3",onClick:e.withModifiers(C=>{z(d.value+k-1),r.value="days"},["stop"])},e.toDisplayString(d.value+k-1),9,Ke)])),64))])],64)):e.createCommentVNode("",!0)],16)],2))}}),Ge=["for"],Je=["id","multiple","accept"],Qe={__name:"FormFileButton",props:e.mergeModels({accept:{type:String,default:"*"},multiple:{type:Boolean,default:!1},name:{type:String,default:"file"},id:{type:String,default:"form-file-button-"+Math.ceil(Math.random()*1e3)}},{modelValue:{type:Array,default:()=>[]},modelModifiers:{}}),emits:e.mergeModels(["form-data"],["update:modelValue"]),setup(t,{emit:c}){const l=c,n=t,a=e.useModel(t,"modelValue"),o=i=>{const s=new FormData;for(let r of i)s.append(n.name,r,r.name);return s},u=i=>{const s=i.target.files||i.dataTransfer.files;if(s){const r=Array.from(s);a.value=r,l("form-data",o(r))}};return(i,s)=>(e.openBlock(),e.createElementBlock("label",{for:t.id},[e.renderSlot(i.$slots,"default",{},()=>[s[0]||(s[0]=e.createTextVNode("Upload"))]),e.createElementVNode("input",{id:t.id,type:"file",multiple:t.multiple,accept:t.accept,class:"hidden",onChange:u},null,40,Je)],8,Ge))}},et={key:0,disabled:"",value:""},tt=["selected","value"],te={__name:"FormSelect",props:e.mergeModels({options:{type:Array,default:()=>[]},disabledLabel:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const c=e.useModel(t,"modelValue");return(l,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("select",e.mergeProps(l.$attrs,{"onUpdate:modelValue":n[0]||(n[0]=a=>c.value=a),class:"form-select"}),[t.disabledLabel?(e.openBlock(),e.createElementBlock("option",et,e.toDisplayString(t.disabledLabel),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,a=>(e.openBlock(),e.createElementBlock("option",{key:a.key!==void 0?a.key:a.label||a,selected:(a.key!==void 0?a.key:a.label||a)===c.value,value:a.key!==void 0?a.key:a.label||a},e.toDisplayString(a.label||a),9,tt))),128))],16)),[[e.vModelSelect,c.value]])}},lt=["aria-checked","aria-label"],at=["d"],ot={__name:"FormSwitch",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const c=e.useModel(t,"modelValue"),l=e.computed(()=>{let a=Object.assign({},e.useAttrs());return delete a.class,a}),n=e.computed(()=>e.useAttrs().disabled||e.useAttrs().disabled==="");return(a,o)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(a.$attrs.class),tabindex:"0"},[e.createElementVNode("span",{role:"switch",class:e.normalizeClass(["inline-flex relative shrink-0 w-11 h-6 rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out cursor-pointer focus:ring-2 focus:ring-offset-2 focus:outline-hidden focus:ring-vxvue",n.value?"bg-slate-200":c.value?"bg-vxvue":"bg-slate-300"]),"aria-checked":c.value,"aria-label":a.$attrs["aria-label"]},[e.createElementVNode("span",{"aria-hidden":"true",class:e.normalizeClass(["block relative size-5 rounded-full ring-0 shadow-sm transition duration-200 ease-in-out transform pointer-events-none",c.value?"translate-x-5":"translate-x-0",n.value?"bg-slate-100":"bg-white"])},[e.renderSlot(a.$slots,"handle",{},()=>[(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"5",stroke:"currentColor",class:e.normalizeClass(["absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 size-3",c.value&&!n.value?"text-vxvue":"text-slate-300"])},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:c.value?"M12 18 V6":"m18.5 12 c0 3.5 -3 6.5 -6.5 6.5 -3.5 0 -6.5 -3 -6.5 -6.5 0 -3.5 3 -6.5 6.5 -6.5 3.5 0 6.5 3 6.5 6.5z"},null,8,at)],2))])],2),e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":o[0]||(o[0]=u=>c.value=u)},l.value,{class:"hidden",value:"1",type:"checkbox"}),null,16),[[e.vModelCheckbox,c.value]])],10,lt),e.renderSlot(a.$slots,"default")],2))}},nt={"aria-live":"assertive",class:"flex fixed inset-0 z-[var(--zIndex-toast)] items-start py-6 px-4 pointer-events-none sm:p-6"},rt={class:"flex flex-col items-center space-y-4 w-full"},st={class:"p-4"},it={class:"flex items-start"},ct={class:"shrink-0"},dt={class:"flex-1 pt-0.5 ml-3 w-0"},ut={class:"font-bold"},mt={class:"mt-1"},ft={class:"flex shrink-0 ml-4"},pt=Object.assign({inheritAttrs:!1},{__name:"MessageToast",props:{title:{type:String,default:""},message:{type:[String,Array],default:null},timeout:{type:Number,default:5e3},active:{type:Boolean,default:!1},showTimeoutProgress:{type:Boolean,default:!1}},emits:["timeout","close"],setup(t,{emit:c}){const l=t,n=c,a=e.computed(()=>typeof l.message=="string"?[l.message]:l.message),o=e.ref(0);let u=null;const i=()=>{window.clearTimeout(u),o.value=100,l.active&&l.timeout&&(u=window.setTimeout(()=>{n("timeout")},l.timeout),window.setTimeout(()=>o.value=0,0))};return e.watch(()=>l.active,i),e.onMounted(i),(s,r)=>(e.openBlock(),e.createElementBlock("div",nt,[e.createElementVNode("div",rt,[e.createVNode(W,{name:"vert-fade"},{default:e.withCtx(()=>[t.active?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["overflow-hidden w-full max-w-sm rounded-md ring-1 ring-black/5 shadow-lg pointer-events-auto",s.$attrs.class])},[e.createElementVNode("div",st,[e.createElementVNode("div",it,[e.createElementVNode("div",ct,[e.renderSlot(s.$slots,"icon")]),e.createElementVNode("div",dt,[e.renderSlot(s.$slots,"title",{},()=>[e.createElementVNode("div",ut,e.toDisplayString(t.title),1)]),e.renderSlot(s.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,d=>(e.openBlock(),e.createElementBlock("p",mt,e.toDisplayString(d),1))),256))])]),e.createElementVNode("div",ft,[e.createElementVNode("button",{class:"inline-flex text-white bg-black/20 rounded-xs focus:ring-2 focus:outline-hidden hover:text-stone-200 focus:ring-stone-200",onClick:r[0]||(r[0]=d=>n("close"))},[r[1]||(r[1]=e.createElementVNode("span",{class:"sr-only"},"Close",-1)),e.createVNode(e.unref(R),{class:"size-5"})])])])]),t.showTimeoutProgress&&t.timeout?(e.openBlock(),e.createElementBlock("div",{key:0,class:"h-1 transition-all ease-linear bg-vxvue-alt",style:e.normalizeStyle({width:o.value+"%","transition-duration":t.timeout+"ms"}),role:"progressbar","aria-hidden":"false","aria-label":"notification timer"},null,4)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3})])]))}}),ht={key:0,class:"fixed inset-0 z-[calc(var(--zIndex-modal)-1)] bg-white/50 backdrop-blur-xs","aria-hidden":"true"},gt={key:0,class:"fixed inset-0 z-[var(--zIndex-modal)]"},bt={class:"flex justify-center items-center h-screen"},kt={__name:"Modal",props:{show:Boolean,containerClass:{type:String,default:"mx-4 w-full lg:w-1/2 xl:w-1/4 max-h-[90vh]"},headerClass:{type:String,default:""},contentClass:{type:String,default:""}},emits:["clicked-outside"],setup(t,{emit:c}){const l=c,n=e.ref(null);return q(n,()=>l("clicked-outside")),(a,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.show?(e.openBlock(),e.createElementBlock("div",ht)):e.createCommentVNode("",!0),e.createVNode(W,{name:"appear"},{default:e.withCtx(()=>[t.show?(e.openBlock(),e.createElementBlock("div",gt,[e.createElementVNode("div",bt,[e.createElementVNode("div",{ref_key:"container",ref:n,class:e.normalizeClass(["flex flex-col overflow-hidden max-w-full bg-white rounded-sm ring-1 ring-black/10 shadow-xl transition-all transform xl:max-w-(--breakpoint-xl)",t.containerClass])},[e.createElementVNode("div",{class:e.normalizeClass(["grow-0",t.headerClass])},[e.renderSlot(a.$slots,"title")],2),e.createElementVNode("div",{class:e.normalizeClass(["overflow-y-auto h-full",t.contentClass])},[e.renderSlot(a.$slots,"default")],2)],2)])])):e.createCommentVNode("",!0)]),_:3})],64))}},yt={class:"flex justify-between items-center px-4 sm:px-0"},xt={class:"flex flex-1 -mt-px w-0"},wt=["disabled"],Bt={class:"hidden md:flex md:-mt-px"},Vt={class:"flex flex-1 justify-end -mt-px w-0"},Et=["disabled"],vt={__name:"Pagination",props:{page:{type:Number,default:1},total:{type:Number,default:1},perPage:{type:Number,default:20,validator:t=>t>=1},showNavButtons:{type:Boolean,default:!0},prevText:{type:String,default:"Previous"},nextText:{type:String,default:"Next"},showAllPages:{type:Boolean,default:!1},markerPosition:{type:String,default:"above",validator:t=>["above","below"].includes(t)}},emits:["update:page"],setup(t,{emit:c}){const l=c,n=t,a=e.ref(Math.ceil(n.total/n.perPage)),o=e.ref(null),u=e.computed(()=>(n.markerPosition==="above"?"border-t-4 -mt-[4px]":"border-b-4 -mb-[4px]")+" py-4"),i=e.computed(()=>{let d=[1];if(n.showAllPages||a.value<=7){for(let m=2;m<=a.value;++m)d.push(m);return d}return o.value>=a.value?d.push("dots",o.value-2,o.value-1):o.value-1&&o.value-1>1&&(o.value>1&&d.push("dots"),d.push(o.value-1)),o.value>1&&d.push(o.value),o.value+1<a.value&&(d.push(o.value+1),o.value<=1&&d.push(o.value+2),o.value+2<a.value&&d.push("dots")),o.value<a.value&&d.push(a.value),d}),s=()=>{o.value>1&&l("update:page",o.value-1)},r=()=>{o.value<a.value&&l("update:page",o.value+1)};return e.watch(()=>n.page,d=>o.value=Math.min(Math.max(d,1),a.value),{immediate:!0}),e.watch(()=>n.perPage,d=>{a.value=Math.ceil(n.total/n.perPage),l("update:page",1)}),e.watch(()=>n.total,d=>{a.value=Math.ceil(n.total/n.perPage),o.value>a.value&&l("update:page",a.value)}),(d,m)=>(e.openBlock(),e.createElementBlock("nav",yt,[e.createElementVNode("div",xt,[t.showNavButtons?(e.openBlock(),e.createElementBlock("button",{key:0,disabled:o.value<=1,class:e.normalizeClass([o.value<=1?"pointer-events-none text-gray-500":"text-vxvue-700","inline-flex items-center pr-1 text-sm border-transparent hover:text-vxvue"]),onClick:s},[e.createVNode(e.unref(Y),{class:"size-5"}),e.createTextVNode(" "+e.toDisplayString(t.prevText),1)],10,wt)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Bt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(b,y)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.page!=="dots"?"button":"span"),{key:y,class:e.normalizeClass([{"pointer-events-none":b==="dots"},b===o.value?"border-vxvue text-vxvue font-bold":"border-transparent text-gray-500 hover:border-gray-300",u.value,"inline-flex items-center px-4 text-sm"]),onClick:p=>b!=="dots"?l("update:page",b):null},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(b!=="dots"?b:"…"),1)]),_:2},1032,["class","onClick"]))),128))]),e.createElementVNode("div",Vt,[t.showNavButtons?(e.openBlock(),e.createElementBlock("button",{key:0,disabled:o.value>=a.value,class:e.normalizeClass([o.value>=a.value?"pointer-events-none text-gray-500":"text-vxvue-700","inline-flex items-center pr-1 text-sm border-transparent hover:text-vxvue"]),onClick:r},[e.createTextVNode(e.toDisplayString(t.nextText)+" ",1),e.createVNode(e.unref(O),{class:"size-5"})],10,Et)):e.createCommentVNode("",!0)])]))}};function St(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88"})])}function Nt(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z"}),e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"})])}const Ct=["type"],$t=["disabled"],Mt=Object.assign({inheritAttrs:!1},{__name:"PasswordInput",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const c=e.useModel(t,"modelValue"),l=e.ref(!1),n=e.computed(()=>{let a=Object.assign({},e.useAttrs());return delete a.class,a});return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("inline-block relative "+e.useAttrs().class)},[e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":o[0]||(o[0]=u=>c.value=u),type:l.value?"text":"password"},n.value,{class:"block pr-12 w-full form-input peer"}),null,16,Ct),[[e.vModelDynamic,c.value]]),e.createElementVNode("button",{class:"flex absolute inset-y-0 right-0 items-center px-3 text-brand-700 hover:text-brand","aria-label":"show-password-toggle",disabled:e.useAttrs().disabled??!1,onClick:o[1]||(o[1]=e.withModifiers(u=>l.value=!l.value,["stop"]))},[l.value?(e.openBlock(),e.createBlock(e.unref(St),{key:0,class:"size-5"})):(e.openBlock(),e.createBlock(e.unref(Nt),{key:1,class:"size-5"}))],8,$t)],2))}}),Dt={class:"flex items-center pb-1"},zt={key:0,class:"ml-6"},At=Object.assign({inheritAttrs:!1},{__name:"SimpleTree",props:e.mergeModels({branch:{type:Object,default:()=>({})}},{modelValue:{type:Object,default:null},modelModifiers:{}}),emits:e.mergeModels(["expand"],["update:modelValue"]),setup(t,{emit:c}){const l=t,n=c,a=e.useModel(t,"modelValue"),o=e.ref(!1);return e.onMounted(()=>{l.branch===a.value&&n("expand",!0)}),(u,i)=>{const s=e.resolveComponent("simple-tree",!0);return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([!t.branch.branches||!t.branch.branches.length?"terminates":"",u.$attrs.class])},[e.createElementVNode("div",Dt,[t.branch.branches&&t.branch.branches.length?(e.openBlock(),e.createElementBlock("button",{key:0,class:"mr-2",onClick:i[0]||(i[0]=r=>o.value=!o.value)},[e.renderSlot(u.$slots,"toggle",{branch:t.branch,expanded:o.value},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value?e.unref(se):e.unref(ie)),{class:"p-0.5 text-white rounded size-5 bg-vxvue-700 hover:bg-vxvue"}))])])):e.createCommentVNode("",!0),t.branch===a.value?e.renderSlot(u.$slots,"label-selected",{key:1,branch:t.branch},()=>[e.createElementVNode("strong",null,e.toDisplayString(t.branch.label),1)]):(e.openBlock(),e.createElementBlock("button",{key:2,onClick:i[1]||(i[1]=r=>a.value=t.branch)},[e.renderSlot(u.$slots,"label",{branch:t.branch},()=>[e.createTextVNode(e.toDisplayString(t.branch.label),1)])]))]),t.branch.branches&&t.branch.branches.length?e.withDirectives((e.openBlock(),e.createElementBlock("div",zt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.branch.branches,r=>(e.openBlock(),e.createBlock(s,{key:r.id||r.key||null,branch:r,modelValue:a.value,"onUpdate:modelValue":i[2]||(i[2]=d=>a.value=d),onExpand:i[3]||(i[3]=d=>{o.value=d,n("expand",d)})},e.createSlots({_:2},[e.renderList(u.$slots,(d,m)=>({name:m,fn:e.withCtx(b=>[e.renderSlot(u.$slots,m,e.mergeProps({ref_for:!0},b))])}))]),1032,["branch","modelValue"]))),128))],512)),[[e.vShow,o.value]]):e.createCommentVNode("",!0)],2)}}}),Lt={__name:"Sizable",props:{vertical:Boolean},emits:["dragStart","dragStop"],setup(t,{emit:c}){const l=t,n=c,a=e.ref(null),o=e.ref(null);let u=!1,i={},s=null,r=null,d=null;const m=p=>{var B;if(u){p.preventDefault();const{pageX:h,pageY:x}=((B=p.touches)==null?void 0:B[0])??p;l.vertical?a.value.style.height=Math.min(r.height-d.height-(s.y-r.y),Math.max(0,s.height+x-i.y))+"px":a.value.style.width=Math.min(r.width-d.width-(s.x-r.x),Math.max(0,s.width+h-i.x))+"px"}},b=p=>{var x;p.preventDefault(),p.currentTarget.focus(),u=!0;const{pageX:B,pageY:h}=((x=p.touches)==null?void 0:x[0])??p;i={x:B,y:h},d=o.value.getBoundingClientRect(),s=a.value.getBoundingClientRect(),r=a.value.parentElement.getBoundingClientRect(),p.type==="mousedown"?(document.addEventListener("mousemove",m),document.addEventListener("mouseup",y)):(document.addEventListener("touchmove",m),document.addEventListener("touchend",y)),n("dragStart")},y=p=>{u&&(u=!1,p.type==="mouseup"?(document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",y)):(document.removeEventListener("touchmove",m),document.removeEventListener("touchend",y)),setTimeout(()=>n("dragStop"),0))};return(p,B)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"box",ref:a,class:"relative"},[e.renderSlot(p.$slots,"default"),e.createElementVNode("div",e.mergeProps({ref_key:"handle",ref:o,class:["absolute flex",l.vertical?"inset-x-0 top-full justify-center py-1 cursor-ns-resize":"inset-y-0 left-full items-center px-1 cursor-ew-resize"]},e.toHandlers({touchstart:b,mousedown:b,touchend:y,mouseup:y},!0)),[e.renderSlot(p.$slots,"handle",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(["rounded-full bg-vxvue",l.vertical?"h-1.5 w-8":"h-8 w-1.5"])},null,2)])],16)],512))}},Tt=["aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext"],Pt=["id"],Ft=["id","aria-label"],It=Object.assign({inheritAttrs:!1},{__name:"Slider",props:e.mergeModels({min:{type:Number,default:0},max:{type:Number,default:100},vertical:Boolean,disabled:Boolean},{modelValue:{type:[Number,Array],default:null,validator(t){return typeof t=="number"||t.every(c=>typeof c=="number")}},modelModifiers:{}}),emits:e.mergeModels(["dragStart","dragStop"],["update:modelValue"]),setup(t,{emit:c}){const l=t,n=e.useModel(t,"modelValue"),a=c,o=e.useAttrs(),u={x:null,y:null},i={w:null,h:null};let s=!1;const r=e.ref(null),d=e.ref(0),m=e.computed(()=>{const w=l.max,V=l.min;return n.value instanceof Array?n.value.map(M=>(Math.max(Math.min(M,w),V)-V)*100/(w-V)):(Math.max(Math.min(n.value,w),V)-V)*100/(w-V)}),b=e.computed(()=>{if(n.value instanceof Array){const w=Math.min(...m.value)+"%",V=Math.max(...m.value)-Math.min(...m.value)+"%";return l.vertical?{bottom:w,height:V}:{left:w,width:V}}return l.vertical?{bottom:0,height:m.value+"%"}:{width:m.value+"%"}}),y=e.ref({class:(l.vertical?"left-0 -translate-x-1.5 translate-y-2.5":"top-0 -translate-x-2.5 -translate-y-1.5")+" touch-none absolute size-5 rounded-full border-2 bg-white transition-colors duration-200 "+(l.disabled?"":" focus:ring-4 focus:outline-hidden border-vxvue cursor-grab hover:bg-vxvue focus:ring-vxvue/50"),tabindex:0}),p=w=>{let V=parseFloat(w.toFixed(10));V=Math.min(l.max,Math.max(l.min,V)),n.value instanceof Array?n.value[d.value]=V:n.value=V},B=w=>{const{pageX:V,pageY:M}=w.touches?w.touches[0]:w,f=l.vertical?(-M+u.y)/i.h:(V-u.x)/i.w;p(Math.floor((l.max-l.min)*f+l.min))},h=()=>{const{clientLeft:w,clientTop:V,scrollLeft:M,scrollTop:f}=document.documentElement,g=r.value.getBoundingClientRect();u.x=g.left+M-w,u.y=g.bottom+f-V,i.w=r.value.offsetWidth,i.h=r.value.offsetHeight},x=w=>{s&&(w.preventDefault(),B(w))},N=w=>{w.preventDefault(),w.currentTarget.focus(),h(),s=!0,w.type==="mousedown"?(document.addEventListener("mousemove",x),document.addEventListener("mouseup",$)):(document.addEventListener("touchmove",x),document.addEventListener("touchend",$)),a("dragStart")},$=w=>{s&&(s=!1,w.type==="mouseup"?(document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",$)):(document.removeEventListener("touchmove",x),document.removeEventListener("touchend",$)),setTimeout(()=>a("dragStop"),0))},z=w=>{w.keyCode>=33&&w.keyCode<=40&&w.preventDefault();const V=n.value[d.value]??n.value;switch(w.keyCode){case 37:case 40:p(V-1);break;case 39:case 38:p(V+1);break;case 33:p(V+(l.max-l.min)/10);break;case 34:p(V-(l.max-l.min)/10);break;case 36:p(l.min);break;case 35:p(l.max)}},L=w=>{h(),B(w)};return(w,V)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({ref_key:"track",ref:r,class:["relative bg-slate-300",t.vertical?"h-full w-2 rounded-t-full rounded-b-full":"w-full h-2 rounded-r-full rounded-l-full"],role:"slider","aria-label":"slider-thumb","aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":n.value[0]??n.value,"aria-valuetext":n.value},e.toHandlers(t.disabled?{}:{click:L},!0)),[t.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute bg-vxvue",t.vertical?"w-full rounded-t-full rounded-b-full":"h-full rounded-r-full rounded-l-full"]),style:e.normalizeStyle(b.value)},null,6)),n.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(n.value,(M,f)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps({id:f?null:e.unref(o).id,style:t.vertical?{bottom:m.value[f]+"%"}:{left:m.value[f]+"%"},"aria-label":"slider-thumb-"+(f+1),ref_for:!0},y.value,e.toHandlers(t.disabled?{}:{focus:()=>d.value=f,keydown:z,touchstart:g=>{d.value=f,N(g)},mousedown:g=>{d.value=f,N(g)},touchend:$,mouseup:$},!0)),null,16,Ft))),256)):(e.openBlock(),e.createElementBlock("button",e.mergeProps({key:1,id:e.unref(o).id,style:t.vertical?{bottom:m.value+"%"}:{left:m.value+"%"},"aria-label":"slider-thumb"},y.value,e.toHandlers(t.disabled?{}:{focus:()=>d.value=0,keydown:z,touchstart:M=>{d.value=0,N(M)},mousedown:M=>{d.value=0,N(M)},touchend:$,mouseup:$},!0)),null,16,Pt))],16,Tt))}}),Ot=["data-active","onClick"],_t={class:"flex items-center space-x-1"},jt=["data-active"],Yt={__name:"Sortable",props:{columns:{type:Array,required:!0,validator:t=>{for(const c of t)if(c.label===void 0||c.prop===void 0)return!1;return!0}},rows:{type:Array,required:!0},offset:{type:Number,default:null},count:{type:Number,default:null},sortProp:{type:String,default:null},sortDirection:{type:String,default:null,validator:t=>!t||["asc","desc"].includes(t)},keyProperty:{type:String,default:"key"},headerClass:{type:String,default:"text-white bg-vxvue-700 [&_*[data-active]]:bg-vxvue-alt-800"},bodyClass:{type:String,default:"[&>*:nth-child(even)]:bg-vxvue-50 [&>*:nth-child(even)_*[data-active]]:bg-vxvue-alt-100 [&>*:nth-child(odd)_*[data-active]]:bg-vxvue-alt-50"}},emits:["before-sort","after-sort"],setup(t,{emit:c}){const l=t,n=c,a=e.ref(l.sortProp),o=e.ref(l.sortDirection),u=e.computed(()=>{let s=l.rows.slice();const r=l.columns.find(({prop:d})=>d===a.value);return r&&(o.value==="asc"&&r.sortAscFunction?s.sort(r.sortAscFunction):o.value==="desc"&&r.sortDescFunction?s.sort(r.sortDescFunction):s.sort((d,m)=>d[a.value]<m[a.value]?o.value==="asc"?-1:1:d[a.value]>m[a.value]?o.value==="asc"?1:-1:0)),s.slice(l.offset||0,(l.offset||0)+(l.count||s.length))}),i=s=>{n("before-sort",{prop:a.value,dir:o.value}),a.value===s?o.value=o.value==="asc"?"desc":"asc":(a.value=s,o.value=o.value||"asc"),e.nextTick(()=>n("after-sort",{prop:a.value,dir:o.value}))};return(s,r)=>(e.openBlock(),e.createElementBlock("table",{class:e.normalizeClass(s.$attrs.class||"w-full divide-y divide-y-slate-900 table-fixed")},[e.createElementVNode("thead",{class:e.normalizeClass(t.headerClass)},[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,d=>(e.openBlock(),e.createElementBlock("th",{key:d.prop,scope:"col","data-active":a.value===d.prop?"active":null,class:e.normalizeClass(["py-3 px-6 text-left",{"cursor-pointer":d.sortable},d.cssClass]),onClick:m=>d.sortable?i(d.prop):null},[e.renderSlot(s.$slots,d.prop+"-header",{column:d,sortDir:o.value,sortProp:a.value},()=>[e.createElementVNode("div",_t,[e.createElementVNode("span",null,e.toDisplayString(d.label),1),d.sortable?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value!==d.prop?e.unref(ne):o.value==="asc"?e.unref(oe):e.unref(re)),{key:0,class:"size-4"})):e.createCommentVNode("",!0)])])],10,Ot))),128))])],2),e.createElementVNode("tbody",{class:e.normalizeClass(t.bodyClass)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,d=>(e.openBlock(),e.createElementBlock("tr",{key:d[t.keyProperty],class:e.normalizeClass(d.cssClass)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,m=>(e.openBlock(),e.createElementBlock("td",{key:m.prop,"data-active":a.value===m.prop?"active":null,class:"overflow-hidden py-3 px-6 whitespace-nowrap text-ellipsis"},[e.renderSlot(s.$slots,m.prop,{row:d},()=>[e.createTextVNode(e.toDisplayString(d[m.prop]),1)])],8,jt))),128))],2))),128))],2)],2))}},Rt={class:"flex items-center space-x-2"},Ht=["disabled"],Zt=Q(Object.assign({inheritAttrs:!1},{__name:"SubmitButton",props:{busy:Boolean,spinnerClass:{type:String,default:null},theme:{type:String,default:null}},emits:["submit"],setup(t,{emit:c}){const l=c;return(n,a)=>(e.openBlock(),e.createElementBlock("div",Rt,[e.createElementVNode("button",{class:e.normalizeClass([n.$attrs.class,t.theme]),disabled:n.$attrs.disabled||t.busy,type:"button",onClick:a[0]||(a[0]=o=>l("submit"))},[e.renderSlot(n.$slots,"default",{},void 0,!0)],10,Ht),t.busy?(e.openBlock(),e.createBlock(H,{key:0,class:e.normalizeClass(t.spinnerClass||["size-5",{error:"text-error",success:"text-success",default:"text-vxvue"}[t.theme||"default"]])},null,8,["class"])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-55a337c8"]]),Ut={class:"sm:hidden"},qt={class:"hidden sm:block"},Wt={class:"border-b border-gray-200"},Kt={class:"flex -mb-px space-x-8","aria-label":"Tabs"},Xt=["aria-current","onClick"],Gt={__name:"Tabs",props:{items:{type:Array,default:()=>[]},activeIndex:{type:Number,default:0}},emits:["update:activeIndex"],setup(t,{emit:c}){const l=t,n=c,a=e.ref(l.items[l.activeIndex]||{}),o=e.computed(()=>{let i=[];return l.items.forEach((s,r)=>{s.disabled||i.push({label:s.name,key:r})}),i});e.watch(()=>l.activeIndex,i=>{a.value=l.items[i]||{}});const u=i=>{i.disabled||(a.value=i,n("update:activeIndex",l.items.indexOf(i)))};return(i,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Ut,[e.createVNode(te,{options:o.value,"model-value":t.activeIndex,class:"w-full","onUpdate:modelValue":s[0]||(s[0]=r=>n("update:activeIndex",r))},null,8,["options","model-value"])]),e.createElementVNode("div",qt,[e.createElementVNode("div",Wt,[e.createElementVNode("nav",Kt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,r=>(e.openBlock(),e.createElementBlock("a",{key:r.name,href:"#",class:e.normalizeClass(["group inline-flex items-center py-4 px-1 border-b-4 font-medium no-underline! border-transparent",{"border-vxvue text-vxvue":a.value===r,"cursor-not-allowed text-gray-400":r.disabled,"text-gray-900 hover:text-vxvue-600 hover:border-vxvue-600":a.value!==r&&!r.disabled}]),"aria-current":a.value===r?"page":void 0,onClick:e.withModifiers(d=>u(r),["prevent"])},[e.renderSlot(i.$slots,"icon",{tab:r}),e.createElementVNode("span",null,[e.renderSlot(i.$slots,"default",{tab:r},()=>[e.createTextVNode(e.toDisplayString(r.name),1)])]),e.renderSlot(i.$slots,"badge",{tab:r},()=>[r.badge?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["hidden ml-3 py-0.5 px-2.5 rounded-full text-xs font-medium md:inline-block text-current",{"bg-gray-100":r.disabled,"bg-vxvue-50":a.value===r,"bg-gray-200":a.value!==r&&!r.disabled}])},e.toDisplayString(r.badge),3)):e.createCommentVNode("",!0)])],10,Xt))),128))])])])],64))}},Jt={mounted:t=>t.focus()},Qt={mounted:(t,c)=>{var l,n;if(!["INPUT","TEXTAREA"].includes(t.nodeName)){let a=t.querySelector('input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="url"],input[type="tel"]');a||(a=t.querySelector("textarea")),t=a}if(t){if(t.querySelector("label"))throw new Error("VFloatingLabel directive: LABEL element found.");const a=Math.random().toString(36).substring(2),o=document.createElement("div");o.classList.add("relative","isolate");const u=document.createElement("label");u.classList.add(..."absolute px-2 left-1 top-2 scale-90 text-sm z-[var(--zIndex-label)] origin-[0] bg-white -translate-y-4 transform-gpu duration-200".split(" "),..."peer-focus:top-2 peer-focus:scale-90 peer-focus:-translate-y-full".split(" "),..."peer-placeholder-shown:scale-100 peer-placeholder-shown:-translate-y-1/2".split(" "),t.nodeName==="TEXTAREA"?"peer-placeholder-shown:top-4":"peer-placeholder-shown:top-1/2"),(l=c.value)!=null&&l.invalid?u.classList.add("text-error","peer-focus:text-error"):u.classList.add("peer-focus:text-blue-600"),t.getAttribute("required")!==null&&u.classList.add("required"),u.setAttribute("for",t.getAttribute("id")||a+"-element"),u.innerHTML=((n=c.value)==null?void 0:n.label)||t.getAttribute("placeholder")||a+"-label",t.classList.add("peer"),t.setAttribute("placeholder"," "),t.setAttribute("id",t.getAttribute("id")||a+"-element"),t.parentElement.replaceChild(o,t),o.appendChild(t),o.appendChild(u)}},updated:(t,c)=>{var a,o,u;const l=t.parentNode.querySelector("label"),n=(a=t.getAttribute("placeholder"))==null?void 0:a.trim();l.innerHTML=((o=c.value)==null?void 0:o.label)||n||l.innerHTML,n&&t.setAttribute("placeholder"," "),(u=c.value)!=null&&u.invalid?(l.classList.add("text-error","peer-focus:text-error"),l.classList.remove("peer-focus:text-blue-600")):(l.classList.remove("text-error","peer-focus:text-error"),l.classList.add("peer-focus:text-blue-600")),l.classList[t.getAttribute("required")!==null?"add":"remove"]("required")},beforeUnmount:t=>t.parentNode.parentNode.removeChild(t.parentNode)};v.Accordion=le,v.AccordionPanel=me,v.Autocomplete=Ne,v.Confirm=Ie,v.DateInput=ee,v.Datepicker=Xe,v.FormFileButton=Qe,v.FormSelect=te,v.FormSwitch=ot,v.MessageToast=pt,v.Modal=kt,v.Pagination=vt,v.PasswordInput=Mt,v.SimpleTree=At,v.Sizable=Lt,v.Slider=It,v.Sortable=Yt,v.Spinner=H,v.SubmitButton=Zt,v.Tabs=Gt,v.VFloatingLabel=Qt,v.VFocus=Jt,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});
1
+ (function(v,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(v=typeof globalThis<"u"?globalThis:v||self,e(v.vxVue={},v.Vue))})(this,function(v,e){"use strict";const le={__name:"Accordion",props:{activeIndex:{type:[Number,Array],default:null}},emits:["update:activeIndex"],setup(t,{emit:c}){const l=t,o=c,a=e.useSlots(),n=e.ref([]),u=m=>n.value.push(m),i=e.computed(()=>a.default().reduce((m,g)=>((g.type.__name||g.type.name)==="AccordionPanel"&&m.push(g),m),[])),s=m=>{if(Array.isArray(l.activeIndex)){let g=[].concat(l.activeIndex),y=g.findIndex(h=>h===m);y===-1?o("update:activeIndex",[...g,m]):(g.splice(y,1),o("update:activeIndex",g))}else o("update:activeIndex",m===l.activeIndex?-1:m)},r=m=>{if(m=++m%i.value.length,!n.value[m].disabled){s(m),n.value[m].focus();return}r(m)},d=m=>{if(m=(m||i.value.length)-1,!n.value[m].disabled){s(m),n.value[m].focus();return}d(m)};return e.onBeforeUpdate(()=>n.value=[]),(m,g)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(y,h)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y),{key:h,ref_for:!0,ref:u,show:Array.isArray(t.activeIndex)?t.activeIndex?.includes(h):t.activeIndex===h,onSelect:B=>s(h),onKeydown:B=>r(h),onKeyup:B=>d(h)},null,40,["show","onSelect","onKeydown","onKeyup"]))),128))}};function ae(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M6.75 2.25A.75.75 0 0 1 7.5 3v1.5h9V3A.75.75 0 0 1 18 3v1.5h.75a3 3 0 0 1 3 3v11.25a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3V7.5a3 3 0 0 1 3-3H6V3a.75.75 0 0 1 .75-.75Zm13.5 9a1.5 1.5 0 0 0-1.5-1.5H5.25a1.5 1.5 0 0 0-1.5 1.5v7.5a1.5 1.5 0 0 0 1.5 1.5h13.5a1.5 1.5 0 0 0 1.5-1.5v-7.5Z","clip-rule":"evenodd"})])}function oe(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M12.53 16.28a.75.75 0 0 1-1.06 0l-7.5-7.5a.75.75 0 0 1 1.06-1.06L12 14.69l6.97-6.97a.75.75 0 1 1 1.06 1.06l-7.5 7.5Z","clip-rule":"evenodd"})])}function Y(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M7.72 12.53a.75.75 0 0 1 0-1.06l7.5-7.5a.75.75 0 1 1 1.06 1.06L9.31 12l6.97 6.97a.75.75 0 1 1-1.06 1.06l-7.5-7.5Z","clip-rule":"evenodd"})])}function I(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z","clip-rule":"evenodd"})])}function ne(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M11.47 4.72a.75.75 0 0 1 1.06 0l3.75 3.75a.75.75 0 0 1-1.06 1.06L12 6.31 8.78 9.53a.75.75 0 0 1-1.06-1.06l3.75-3.75Zm-3.75 9.75a.75.75 0 0 1 1.06 0L12 17.69l3.22-3.22a.75.75 0 1 1 1.06 1.06l-3.75 3.75a.75.75 0 0 1-1.06 0l-3.75-3.75a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}function re(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M11.47 7.72a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 1 1-1.06 1.06L12 9.31l-6.97 6.97a.75.75 0 0 1-1.06-1.06l7.5-7.5Z","clip-rule":"evenodd"})])}function se(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M4.25 12a.75.75 0 0 1 .75-.75h14a.75.75 0 0 1 0 1.5H5a.75.75 0 0 1-.75-.75Z","clip-rule":"evenodd"})])}function ie(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M12 3.75a.75.75 0 0 1 .75.75v6.75h6.75a.75.75 0 0 1 0 1.5h-6.75v6.75a.75.75 0 0 1-1.5 0v-6.75H4.5a.75.75 0 0 1 0-1.5h6.75V4.5a.75.75 0 0 1 .75-.75Z","clip-rule":"evenodd"})])}function R(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}const ce=["id","disabled","aria-expanded","aria-controls"],de=["id","aria-labelledby"],ue={class:"overflow-hidden rounded-b"},me=Object.assign({inheritAttrs:!1},{__name:"AccordionPanel",props:{show:Boolean,disabled:Boolean},emits:["select","keyup","keydown"],setup(t,{expose:c,emit:l}){const o=l,a=t,n=e.useAttrs(),u=e.ref(null),i=Math.random().toString(20).substring(2,8),s=d=>{if(!a.disabled){const m=new Map([[40,"keydown"],[38,"keyup"]]).get(d.keyCode);m&&(o(m),d.preventDefault())}};return c({focus:()=>u.value.focus(),disabled:a.disabled}),(d,m)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{id:"ap-control-"+e.unref(i),ref_key:"btn",ref:u,class:e.normalizeClass(["flex items-center w-full space-x-2 px-4 py-2 ring-vxvue",t.show?"rounded-t":"rounded-sm",t.disabled?"bg-slate-300 text-slate-700":"bg-vxvue hover:bg-vxvue-600 text-white",e.unref(n).class]),disabled:t.disabled,"aria-expanded":t.show,"aria-controls":"ap-"+e.unref(i),tabindex:"0",onClick:m[0]||(m[0]=g=>o("select")),onKeydown:s},[t.disabled?(e.openBlock(),e.createBlock(e.unref(R),{key:0,class:"size-5"})):(e.openBlock(),e.createBlock(e.unref(I),{key:1,class:e.normalizeClass(["size-5 transform-gpu transition-transform duration-300",{"rotate-90":t.show}])},null,8,["class"])),e.createElementVNode("span",null,[e.renderSlot(d.$slots,"header")])],42,ce),e.createElementVNode("div",{id:"ap-"+e.unref(i),class:e.normalizeClass(["grid transition-[grid-template-rows] duration-300 ease-in-out",t.show&&!t.disabled?"grid-rows-1":"grid-rows-[repeat(1,minmax(0,0fr))]"]),"aria-labelledby":"ap-control-"+e.unref(i)},[e.createElementVNode("div",ue,[e.renderSlot(d.$slots,"default")])],10,de)]))}}),fe=["viewBox"],pe=["cx","cy","r","stroke-width"],he=["cx","cy","r","stroke-width","stroke-dasharray"],H={__name:"Spinner",props:{radius:{type:Number,default:10},strokeWidth:{type:Number,default:4}},setup(t){const c=t,l=e.computed(()=>c.radius+c.strokeWidth/2),o=e.computed(()=>c.radius*2+c.strokeWidth),a=e.computed(()=>c.radius*Math.PI/1.5);return(n,u)=>(e.openBlock(),e.createElementBlock("svg",{class:"animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 "+o.value+" "+o.value,role:"progressbar"},[e.createElementVNode("circle",{class:"opacity-35",cx:l.value,cy:l.value,r:t.radius,stroke:"currentColor","stroke-width":t.strokeWidth},null,8,pe),e.createElementVNode("circle",{cx:l.value,cy:l.value,r:t.radius,stroke:"currentColor","stroke-width":t.strokeWidth,"stroke-dasharray":a.value+" "+t.radius*100,"stroke-linecap":"round"},null,8,he)],8,fe))}},K=(t,c)=>{const l=t.__vccOpts||t;for(const[o,a]of c)l[o]=a;return l},O=K({__name:"VxVueTransition",props:{name:{type:String,required:!0,validator:t=>["appear","vert-fade","fade"].includes(t)}},setup(t){return(c,l)=>(e.openBlock(),e.createBlock(e.Transition,{name:t.name},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default",{},void 0,!0)]),_:3},8,["name"]))}},[["__scopeId","data-v-f6b1631e"]]);function ge(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}const X=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const be=Object.prototype.toString,ke=t=>be.call(t)==="[object Object]",F=()=>{},ye=xe();function xe(){var t,c;return X&&((t=window?.navigator)==null?void 0:t.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((c=window?.navigator)==null?void 0:c.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Z(t){return Array.isArray(t)?t:[t]}const we=/[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|z{1,4}|SSS/g;function Be(t,c,l,o){let a=t<12?"AM":"PM";return o&&(a=a.split("").reduce((n,u)=>n+=`${u}.`,"")),l?a.toLowerCase():a}function T(t){const c=["th","st","nd","rd"],l=t%100;return t+(c[(l-20)%10]||c[l]||c[0])}function G(t,c,l={}){var o;const a=t.getFullYear(),n=t.getMonth(),u=t.getDate(),i=t.getHours(),s=t.getMinutes(),r=t.getSeconds(),d=t.getMilliseconds(),m=t.getDay(),g=(o=l.customMeridiem)!=null?o:Be,y=B=>{var k;return(k=B.split(" ")[1])!=null?k:""},h={Yo:()=>T(a),YY:()=>String(a).slice(-2),YYYY:()=>a,M:()=>n+1,Mo:()=>T(n+1),MM:()=>`${n+1}`.padStart(2,"0"),MMM:()=>t.toLocaleDateString(e.toValue(l.locales),{month:"short"}),MMMM:()=>t.toLocaleDateString(e.toValue(l.locales),{month:"long"}),D:()=>String(u),Do:()=>T(u),DD:()=>`${u}`.padStart(2,"0"),H:()=>String(i),Ho:()=>T(i),HH:()=>`${i}`.padStart(2,"0"),h:()=>`${i%12||12}`.padStart(1,"0"),ho:()=>T(i%12||12),hh:()=>`${i%12||12}`.padStart(2,"0"),m:()=>String(s),mo:()=>T(s),mm:()=>`${s}`.padStart(2,"0"),s:()=>String(r),so:()=>T(r),ss:()=>`${r}`.padStart(2,"0"),SSS:()=>`${d}`.padStart(3,"0"),d:()=>m,dd:()=>t.toLocaleDateString(e.toValue(l.locales),{weekday:"narrow"}),ddd:()=>t.toLocaleDateString(e.toValue(l.locales),{weekday:"short"}),dddd:()=>t.toLocaleDateString(e.toValue(l.locales),{weekday:"long"}),A:()=>g(i,s),AA:()=>g(i,s,!1,!0),a:()=>g(i,s,!0),aa:()=>g(i,s,!0,!0),z:()=>y(t.toLocaleDateString(e.toValue(l.locales),{timeZoneName:"shortOffset"})),zz:()=>y(t.toLocaleDateString(e.toValue(l.locales),{timeZoneName:"shortOffset"})),zzz:()=>y(t.toLocaleDateString(e.toValue(l.locales),{timeZoneName:"shortOffset"})),zzzz:()=>y(t.toLocaleDateString(e.toValue(l.locales),{timeZoneName:"longOffset"}))};return c.replace(we,(B,k)=>{var w,S;return(S=k??((w=h[B])==null?void 0:w.call(h)))!=null?S:B})}function Ve(t,c,l){return e.watch(t,c,{...l,immediate:!0})}const J=X?window:void 0;function _(t){var c;const l=e.toValue(t);return(c=l?.$el)!=null?c:l}function U(...t){const c=[],l=()=>{c.forEach(i=>i()),c.length=0},o=(i,s,r,d)=>(i.addEventListener(s,r,d),()=>i.removeEventListener(s,r,d)),a=e.computed(()=>{const i=Z(e.toValue(t[0])).filter(s=>s!=null);return i.every(s=>typeof s!="string")?i:void 0}),n=Ve(()=>{var i,s;return[(s=(i=a.value)==null?void 0:i.map(r=>_(r)))!=null?s:[J].filter(r=>r!=null),Z(e.toValue(a.value?t[1]:t[0])),Z(e.unref(a.value?t[2]:t[1])),e.toValue(a.value?t[3]:t[2])]},([i,s,r,d])=>{if(l(),!i?.length||!s?.length||!r?.length)return;const m=ke(d)?{...d}:d;c.push(...i.flatMap(g=>s.flatMap(y=>r.map(h=>o(g,y,h,m)))))},{flush:"post"}),u=()=>{n(),l()};return ge(l),u}let Q=!1;function q(t,c,l={}){const{window:o=J,ignore:a=[],capture:n=!0,detectIframe:u=!1,controls:i=!1}=l;if(!o)return i?{stop:F,cancel:F,trigger:F}:F;if(ye&&!Q){Q=!0;const k={passive:!0};Array.from(o.document.body.children).forEach(w=>w.addEventListener("click",F,k)),o.document.documentElement.addEventListener("click",F,k)}let s=!0;const r=k=>e.toValue(a).some(w=>{if(typeof w=="string")return Array.from(o.document.querySelectorAll(w)).some(S=>S===k.target||k.composedPath().includes(S));{const S=_(w);return S&&(k.target===S||k.composedPath().includes(S))}});function d(k){const w=e.toValue(k);return w&&w.$.subTree.shapeFlag===16}function m(k,w){const S=e.toValue(k),$=S.$.subTree&&S.$.subTree.children;return $==null||!Array.isArray($)?!1:$.some(A=>A.el===w.target||w.composedPath().includes(A.el))}const g=k=>{const w=_(t);if(k.target!=null&&!(!(w instanceof Element)&&d(t)&&m(t,k))&&!(!w||w===k.target||k.composedPath().includes(w))){if("detail"in k&&k.detail===0&&(s=!r(k)),!s){s=!0;return}c(k)}};let y=!1;const h=[U(o,"click",k=>{y||(y=!0,setTimeout(()=>{y=!1},0),g(k))},{passive:!0,capture:n}),U(o,"pointerdown",k=>{const w=_(t);s=!r(k)&&!!(w&&!k.composedPath().includes(w))},{passive:!0}),u&&U(o,"blur",k=>{setTimeout(()=>{var w;const S=_(t);((w=o.document.activeElement)==null?void 0:w.tagName)==="IFRAME"&&!S?.contains(o.document.activeElement)&&c(k)},0)},{passive:!0})].filter(Boolean),B=()=>h.forEach(k=>k());return i?{stop:B,cancel:()=>{s=!1},trigger:k=>{s=!0,g(k),s=!1}}:B}const Ee=["value","onKeydown"],ve={class:"flex absolute inset-y-0 right-0 items-center pr-3 text-vxvue-700"},Se=["data-result-index"],Ne=Object.assign({inheritAttrs:!1},{__name:"Autocomplete",props:e.mergeModels({search:{type:Function,required:!0},resultListClass:{type:String,default:"result-list"},resultItemClass:{type:String,default:"result-list-item"},getResultValue:{type:Function,default:t=>t},autoSelect:Boolean},{modelValue:{type:String,default:""},modelModifiers:{}}),emits:e.mergeModels(["blur-sm","submit"],["update:modelValue"]),setup(t,{emit:c}){const l=c,o=t,a=e.useModel(t,"modelValue"),n=e.useAttrs(),i=(()=>{let E=0;return N=>(N||"")+ ++E})()((n.id||"autocomplete")+"-"),s=e.ref([]),r=e.ref(-1),d=e.ref(0),m=e.ref(!1),g=e.ref(!1),y=e.ref("top-0 translate-y-12"),h=e.ref(!0),B=e.ref(null),k=e.ref(null),w=e.ref(null),S=e.computed(()=>s.value.map((E,N)=>({id:(n.id||"autocomplete")+"-item-"+N,class:[o.resultItemClass,{"bg-vxvue-700 text-white":r.value===N}],role:"option",...r.value===N?{"aria-selected":"true"}:{}}))),$=e.computed(()=>({role:"combobox",autocomplete:"off",autocapitalize:"off",autocorrect:"off",spellcheck:"false","aria-autocomplete":"list","aria-haspopup":"listbox","aria-owns":i,"aria-expanded":m.value?"true":"false","aria-activedescendant":r.value>-1?S.value[r.value].id:"",...n})),A=e.computed(()=>({id:i,class:["absolute min-w-full transform z-[var(--zIndex-dropdown)]",o.resultListClass,y.value],role:"listbox"})),z=()=>{r.value=-1,s.value=[],m.value=!1,h.value=!0},x=E=>{const N=o.search(E);if(N instanceof Promise){const L=++d.value;g.value=!0,N.then(D=>{L===d.value&&(s.value=D,g.value=!1,s.value.length?(r.value=o.autoSelect?0:-1,m.value=!0):z())})}else s.value=N,s.value.length===0?z():(r.value=o.autoSelect?0:-1,m.value=!0)},V=()=>{const E=s.value[r.value];return E&&(a.value=o.getResultValue(E)),z(),E},p=E=>{a.value=E,x(E)},f=E=>x(E.target.value),b=()=>{z(),l("blur-sm")},C=()=>{const E=s.value.length;r.value=((r.value-1)%E+E)%E},M=E=>{m.value||f(E);const N=s.value.length;r.value=((r.value+1)%N+N)%N},j=()=>{z(),a.value=""},P=()=>l("submit",V()),W=E=>{const N=E.target.closest("[data-result-index]");N&&(r.value=parseInt(N.dataset.resultIndex,10),l("submit",V()))};return q(w,z),e.onUpdated(()=>{if(B.value){const E=k.value.getBoundingClientRect(),N=B.value.getBoundingClientRect();h.value&&s.value.length&&(h.value=!1,y.value=E.bottom+N.height>window.innerHeight&&window.innerHeight-E.bottom<E.top&&window.pageYOffset+E.top-N.height>0?"bottom-0 -translate-y-12":"top-0 translate-y-12");const L=B.value.querySelector('[data-result-index="'+r.value+'"]');if(L){let D=L.getBoundingClientRect();D.top<N.top?B.value.scrollTop-=N.top-D.top:D.bottom>N.bottom&&(B.value.scrollTop+=D.bottom-N.bottom)}}}),(E,N)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:w,class:e.normalizeClass(["inline-block relative",E.$attrs.class])},[e.createElementVNode("input",e.mergeProps({ref_key:"input",ref:k,class:"block pr-10 w-full form-input focus:border-vxvue",value:a.value},$.value,{onInput:N[0]||(N[0]=L=>p(L.target.value)),onKeydown:[e.withKeys(P,["enter"]),e.withKeys(j,["esc"]),e.withKeys(V,["tab"]),e.withKeys(e.withModifiers(C,["prevent"]),["up"]),e.withKeys(e.withModifiers(M,["prevent"]),["down"])],onFocus:f,onBlur:b}),null,16,Ee),e.createElementVNode("span",ve,[g.value?(e.openBlock(),e.createBlock(H,{key:0,class:"size-5"})):e.createCommentVNode("",!0)]),e.createVNode(O,{name:"fade"},{default:e.withCtx(()=>[s.value.length?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,ref_key:"resultList",ref:B},A.value,{onClick:W,onMousedown:N[1]||(N[1]=e.withModifiers(()=>{},["prevent"]))}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(L,D)=>(e.openBlock(),e.createElementBlock("div",{"data-result-index":D},[e.renderSlot(E.$slots,"result",{result:L,props:S.value[D]},()=>[(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:S.value[D].id},{ref_for:!0},S.value[D]),e.toDisplayString(t.getResultValue(L)),17))])],8,Se))),256))],16)):e.createCommentVNode("",!0)]),_:3})],2))}}),Ce={key:0,class:"fixed inset-0 z-[calc(var(--zIndex-confirm)-1)] bg-black/50 backdrop-blur-xs","aria-hidden":"true"},$e={key:0,class:"overflow-y-auto fixed inset-0 z-[var(--zIndex-confirm)]"},Me={class:"flex justify-center items-center min-h-screen text-center sm:block sm:p-0"},De={key:0},ze={class:"inline-block text-left align-bottom bg-white rounded-sm shadow-xl transition-all transform sm:my-8 sm:w-full sm:max-w-sm sm:align-middle lg:max-w-lg"},Ae={class:"px-4 pb-4 mt-4 sm:px-6 sm:pb-6 sm:mt-5"},Le={class:"flex flex-row items-center"},Te={class:"shrink-0"},Pe={class:"grow text-center"},Fe=["onClick"],Ie={__name:"Confirm",props:{buttons:{type:[Object,Array],default:()=>({label:"Ok"}),validator:t=>Array.isArray(t)&&t.length<=2&&t.filter(c=>c.label!=="undefined"&&c.value!=="undefined").length===t.length||t.label!==void 0&&t.value!==void 0},headerClass:{type:String,default:"text-vxvue-alt-900 bg-vxvue-alt-300"},buttonClass:{type:String,default:"button"}},setup(t,{expose:c}){const l=t,o=e.ref(""),a=e.ref(""),n=e.ref(!1);let u=null,i=null;const s=e.computed(()=>Array.isArray(l.buttons)?l.buttons:[l.buttons]),r=e.ref(null),d=(g,y)=>{n.value=!1,g.value!==void 0?g.value?u():i():y?i():u()};return c({open:(g,y)=>(o.value=g,a.value=y,n.value=!0,e.nextTick(()=>r.value.firstElementChild.focus()),new Promise((h,B)=>{u=h,i=B}))}),(g,y)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[n.value?(e.openBlock(),e.createElementBlock("div",Ce)):e.createCommentVNode("",!0),e.createVNode(O,{name:"appear"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createElementBlock("div",$e,[e.createElementVNode("div",Me,[n.value?(e.openBlock(),e.createElementBlock("div",De,[y[0]||(y[0]=e.createElementVNode("span",{class:"hidden sm:inline-block sm:h-screen sm:align-middle","aria-hidden":"true"},"​",-1)),e.createElementVNode("div",ze,[o.value||g.$slots.title?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(["py-4 pt-4 rounded-t-sm text-lg font-medium text-center sm:py-6",t.headerClass])},[e.renderSlot(g.$slots,"title",{title:o.value},()=>[e.createTextVNode(e.toDisplayString(o.value),1)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",Ae,[e.createElementVNode("div",Le,[e.createElementVNode("div",Te,[e.renderSlot(g.$slots,"icon")]),e.createElementVNode("p",Pe,[e.renderSlot(g.$slots,"default",{message:a.value},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])])]),e.createElementVNode("div",{ref_key:"buttonsContainer",ref:r,class:"flex justify-center mt-5 space-x-2 sm:mt-6"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(h,B)=>(e.openBlock(),e.createElementBlock("button",{key:h.label,class:e.normalizeClass([t.buttonClass,h.class]),onClick:e.withModifiers(k=>d(h,B),["prevent"])},e.toDisplayString(h.label),11,Fe))),128))],512)])])])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),_:3})],64))}};function Oe(t,c){const l=e.ref(!1),o=e.toValue(c);let a,n=o.toLowerCase().replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),u=[];if((a=o.match(/\bd\b/gi))&&a.length===1)n=n.replace("d","(\\d{1,2})");else if((a=o.match(/\bdd\b/gi))&&a.length===1)n=n.replace("dd","(\\d{2})");else return{date:l};if(u.push({srcPos:o.toLowerCase().indexOf("d"),destPos:2}),(a=o.match(/\bm\b/gi))&&a.length===1)n=n.replace("m","(\\d{1,2})");else if((a=o.match(/\bmm\b/gi))&&a.length===1)n=n.replace("mm","(\\d{2})");else return{date:l};if(u.push({srcPos:o.toLowerCase().indexOf("m"),destPos:1}),(a=o.match(/\byyyy\b/gi))&&a.length===1)n=n.replace("yyyy","(\\d{4})");else return{date:l};if(u.push({srcPos:o.toLowerCase().indexOf("y"),destPos:0}),!(a=e.toValue(t).match(n)))return{date:l};a.shift(),u.sort((d,m)=>d.srcPos<m.srcPos?-1:1);let i=[],s,r;for(;s=a.shift();)r=u.shift(),i[r.destPos]=s;return i=Date.parse(i.join("-")),i&&(i=new Date(i),l.value=new Date(i.getFullYear(),i.getMonth(),i.getDate(),0,0,0)),{date:l}}const _e={class:"text-vxvue-700"},je=["disabled"],ee=Object.assign({inheritAttrs:!1},{__name:"DateInput",props:e.mergeModels({outputFormat:{type:String,default:"YYYY-MM-DD"},inputFormat:{type:String,default:"YYYY-MM-DD"},showToggle:{type:Boolean,default:!1}},{modelValue:{type:Date,default:null},modelModifiers:{}}),emits:e.mergeModels(["toggle-datepicker"],["update:modelValue"]),setup(t,{emit:c}){const l=c,o=t,a=e.useModel(t,"modelValue"),n=e.ref(""),u=e.computed(()=>a.value?G(a.value,o.outputFormat):""),i=e.computed(()=>{let s=Object.assign({},e.useAttrs());return delete s.class,s});return e.watch(a,s=>n.value===s?G(s,o.outputFormat):""),(s,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["inline-block relative",s.$attrs.class])},[e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(["block flex items-center w-full form-input bg-vxvue-50",{"pr-10":t.showToggle}])},[e.createElementVNode("span",_e,e.toDisplayString(u.value),1),i.value.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,class:"inline-flex shrink-0 justify-center items-center ml-2 rounded-full focus:text-white focus:outline-hidden size-4 text-vxvue hover:bg-vxvue-100 hover:text-vue-700 focus:bg-vxvue-700",onClick:r[0]||(r[0]=d=>a.value=null)},[e.createVNode(e.unref(R),{class:"size-4"})]))],2)],512),[[e.vShow,u.value]]),e.withDirectives(e.createElementVNode("div",null,[e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":r[1]||(r[1]=d=>n.value=d),type:"text",class:["block w-full form-input peer focus:border-vxvue",{"pr-10":t.showToggle}]},i.value,{onBlur:r[2]||(r[2]=d=>a.value=e.unref(Oe)(n.value,o.inputFormat).date?.value||null),onInput:r[3]||(r[3]=e.withModifiers(()=>{},["prevent"]))}),null,16),[[e.vModelText,n.value]])],512),[[e.vShow,!u.value]]),t.showToggle?(e.openBlock(),e.createElementBlock("button",{key:0,ref:"toggleButton",class:e.normalizeClass(["flex absolute inset-y-0 right-0 items-center px-2 text-vxvue-700",i.value.disabled?"cursor-not-allowed":"hover:text-vxvue"]),disabled:i.value.disabled,"aria-label":"datepicker-toggle",onClick:r[4]||(r[4]=e.withModifiers(d=>l("toggle-datepicker"),["stop"]))},[e.createVNode(e.unref(ae),{class:"size-6"})],10,je)):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"default")],2))}}),Ye={class:"flex items-center py-2 px-3 text-white bg-vxvue-700"},Re={class:"flex justify-between w-1/2"},He={class:"flex justify-between w-1/2"},Ze={class:"grid grid-cols-7 gap-0.5 p-0.5"},Ue=["disabled","onClick"],qe={class:"flex justify-between items-center py-2 px-3 text-white bg-vxvue-700"},We={class:"grid grid-cols-2 gap-0.5 p-0.5"},Ke=["onClick"],Xe=Object.assign({inheritAttrs:!1},{__name:"Datepicker",props:e.mergeModels({shownMonth:Date,maxNumberOfValues:{type:Number,default:1},validFrom:Date,validUntil:Date,dayNames:{type:Array,default:()=>"S M T W T F S".split(" ")},highlightRange:Boolean,locale:{type:String,default:"default"},startOfWeekIndex:{type:Number,default:0,validator:t=>t===0||t===1},hasInput:{type:Boolean,default:!0}},{modelValue:{type:[Date,Array],default:null,validator:(t,c)=>t instanceof Date&&c.maxNumberOfValues===1||t.every(l=>l instanceof Date||l===null)&&t.length<=c.maxNumberOfValues},modelModifiers:{}}),emits:e.mergeModels(["month-change","year-change"],["update:modelValue"]),setup(t,{emit:c}){const l=t,o=e.useModel(t,"modelValue"),a=c,n=(()=>{const p=new Date;return new Date(p.getFullYear(),p.getMonth(),p.getDate())})(),u=e.ref(null),i=e.ref([]),s=e.ref(!1),r=e.ref("days"),d=e.ref(0),m=e.ref({horiz:"left-0",vert:"top-0"}),g=e.ref(null),y=e.ref(null),h=e.ref(null),B=e.computed(()=>l.hasInput&&l.maxNumberOfValues===1),k=e.computed(()=>{const p=[],f=u.value.getFullYear(),b=u.value.getMonth(),C=new Date(f,b+1,0),M=new Date(f,b,0).getDay()+1-l.startOfWeekIndex,j=(6+l.startOfWeekIndex-C.getDay())%7;for(let P=-M,W=C.getDate()+j;P<W;++P)p.push(new Date(f,b,P+1));return p}),w=e.computed(()=>l.startOfWeekIndex?l.dayNames.slice(1).concat(l.dayNames[0]):l.dayNames),S=p=>{u.value=new Date(u.value.getFullYear(),p,1),a("month-change",u.value)},$=p=>{u.value=new Date(p,u.value.getMonth(),1),a("year-change",u.value)},A=p=>o.value=p,z=p=>{if(s.value=!1,l.maxNumberOfValues===1)o.value=p;else{const f=i.value;let b=f.findIndex(C=>C.getTime()===p.getTime());b!==-1?f.splice(b,1):f.length<l.maxNumberOfValues&&f.push(p),o.value=f}},x=p=>i.value.find(f=>f?.getTime()===p.getTime()),V=p=>{const f=p.getMonth()!==u.value.getMonth(),b=x(p),C=p.getTime()===n.getTime(),M=l.validFrom&&l.validFrom>p||l.validUntil&&l.validUntil<p,j=!b&&l.maxNumberOfValues>1&&i.value.length===l.maxNumberOfValues,P=l.highlightRange&&p>Math.min(...i.value)&&p<Math.max(...i.value);return{"cursor-not-allowed":M||j,"text-vxvue-700":!M&&!f&&!C&&!b,"text-error":M&&!f,"text-gray-400":f&&!C&&!b,"bg-vxvue-alt-300 font-bold":C&&!b,"bg-vxvue-700 text-white":b,"hover:ring-2 hover:ring-vxvue":!M,"bg-vxvue-100/50":P&&!C&&!b}};return q(y,()=>{s.value=!1,r.value="days"},{ignore:[h]}),e.onMounted(()=>h.value=g.value?.$refs.toggleButton),e.watch(s,p=>{p&&B.value&&e.nextTick(()=>{const f=g.value.$el.getBoundingClientRect(),b=y.value.getBoundingClientRect();m.value.horiz=f.right-b.width<0?"left-0":"right-0",m.value.vert=f.bottom+b.height>window.innerHeight?"bottom-0 -translate-y-12":"top-0 translate-y-12"})}),e.watch(o,p=>{if(p)if(Array.isArray(p)){const f=[],b=i.value;p.forEach(C=>{C&&f.push(new Date(C.getFullYear(),C.getMonth(),C.getDate()))}),(f.length!==b.length||![...new Set([...f,...b])].every(C=>f.filter(M=>M.getTime()===C.getTime()).length===b.filter(M=>M.getTime()===C.getTime()).length))&&(i.value=f,u.value=new Date((f[0]||n).getTime()),u.value.setDate(1))}else i.value=[new Date(p.getFullYear(),p.getMonth(),p.getDate())],u.value=new Date(p.getFullYear(),p.getMonth(),1);else i.value=[],u.value=new Date(n.getFullYear(),n.getMonth(),1)},{immediate:!0}),e.watch(()=>l.shownMonth,p=>{u.value=new Date((p||n).getTime()),u.value.setDate(1)},{immediate:!0}),(p,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative",p.$attrs.class])},[B.value?(e.openBlock(),e.createBlock(ee,e.mergeProps({key:0},p.$attrs,{ref_key:"input",ref:g,"model-value":i.value[0],"show-toggle":!0,class:"w-full",onToggleDatepicker:f[0]||(f[0]=b=>s.value=!s.value),"onUpdate:modelValue":A}),{default:e.withCtx(()=>[e.renderSlot(p.$slots,"default")]),_:3},16,["model-value"])):e.createCommentVNode("",!0),e.createVNode(O,{name:"fade"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"calendar",ref:y,class:e.normalizeClass(["overflow-hidden z-[var(--zIndex-dropdown)] bg-white rounded-sm shadow-md min-w-72 sm:min-w-80",m.value.horiz,m.value.vert,{absolute:B.value}])},[r.value==="days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Ye,[e.createElementVNode("div",Re,[e.createElementVNode("button",{class:"shrink-0 text-vxvue-100 hover:text-vxvue-50",onClick:f[1]||(f[1]=e.withModifiers(b=>S(u.value.getMonth()-1),["stop"]))},[e.createVNode(e.unref(Y),{class:"size-6"})]),e.createElementVNode("span",null,e.toDisplayString(u.value.toLocaleString(t.locale,{month:"long"})),1),e.createElementVNode("button",{class:"shrink-0 text-vxvue-100 hover:text-vxvue-50",onClick:f[2]||(f[2]=e.withModifiers(b=>S(u.value.getMonth()+1),["stop"]))},[e.createVNode(e.unref(I),{class:"size-6"})])]),e.createElementVNode("div",He,[e.createElementVNode("button",{class:"shrink-0 text-vxvue-100 hover:text-vxvue-50",onClick:f[3]||(f[3]=e.withModifiers(b=>$(u.value.getFullYear()-1),["stop"]))},[e.createVNode(e.unref(Y),{class:"size-6"})]),e.createElementVNode("button",{class:"text-vxvue-100 hover:text-vxvue-50",onClick:f[4]||(f[4]=b=>{r.value="years",d.value=u.value.getFullYear()})},e.toDisplayString(u.value.getFullYear()),1),e.createElementVNode("button",{class:"shrink-0 text-vxvue-100 hover:text-vxvue-50",onClick:f[5]||(f[5]=e.withModifiers(b=>$(u.value.getFullYear()+1),["stop"]))},[e.createVNode(e.unref(I),{class:"size-6"})])])]),e.createElementVNode("div",Ze,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,(b,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"py-2 text-center bg-gray-200"},e.toDisplayString(b),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,b=>(e.openBlock(),e.createElementBlock("button",{key:b,class:e.normalizeClass(["py-2 rounded-xs block text-center",V(b)]),disabled:t.validFrom&&t.validFrom>b||t.validUntil&&t.validUntil<b||t.maxNumberOfValues>1&&i.value.length===t.maxNumberOfValues&&!x(b),onClick:e.withModifiers(C=>z(b),["stop"])},e.toDisplayString(b.getDate()),11,Ue))),128))])],64)):e.createCommentVNode("",!0),r.value==="years"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",qe,[e.createElementVNode("button",{class:"shrink-0 text-vxvue-100 hover:text-vxvue-50",onClick:f[6]||(f[6]=e.withModifiers(b=>d.value-=10,["stop"]))},[e.createVNode(e.unref(Y),{class:"size-6"})]),e.createElementVNode("span",null,e.toDisplayString(d.value)+" - "+e.toDisplayString(d.value+9),1),e.createElementVNode("button",{class:"shrink-0 text-vxvue-100 hover:text-vxvue-50",onClick:f[7]||(f[7]=e.withModifiers(b=>d.value+=10,["stop"]))},[e.createVNode(e.unref(I),{class:"size-6"})])]),e.createElementVNode("div",We,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(10,b=>e.createElementVNode("div",{key:b,class:"text-center hover:ring-2 text-vxvue-700 hover:ring-vxvue"},[e.createElementVNode("button",{class:"py-2 px-3",onClick:e.withModifiers(C=>{$(d.value+b-1),r.value="days"},["stop"])},e.toDisplayString(d.value+b-1),9,Ke)])),64))])],64)):e.createCommentVNode("",!0)],2),[[e.vShow,s.value]])]),_:1})],2))}}),Ge=["for"],Je=["id","multiple","accept"],Qe={__name:"FormFileButton",props:e.mergeModels({accept:{type:String,default:"*"},multiple:{type:Boolean,default:!1},name:{type:String,default:"file"},id:{type:String,default:"form-file-button-"+Math.ceil(Math.random()*1e3)}},{modelValue:{type:Array,default:()=>[]},modelModifiers:{}}),emits:e.mergeModels(["form-data"],["update:modelValue"]),setup(t,{emit:c}){const l=c,o=t,a=e.useModel(t,"modelValue"),n=i=>{const s=new FormData;for(let r of i)s.append(o.name,r,r.name);return s},u=i=>{const s=i.target.files||i.dataTransfer.files;if(s){const r=Array.from(s);a.value=r,l("form-data",n(r))}};return(i,s)=>(e.openBlock(),e.createElementBlock("label",{for:t.id},[e.renderSlot(i.$slots,"default",{},()=>[s[0]||(s[0]=e.createTextVNode("Upload",-1))]),e.createElementVNode("input",{id:t.id,type:"file",multiple:t.multiple,accept:t.accept,class:"hidden",onChange:u},null,40,Je)],8,Ge))}},et={key:0,value:null,disabled:"",hidden:""},tt=["selected","value"],te={__name:"FormSelect",props:e.mergeModels({options:{type:Array,default:()=>[]},placeholder:{type:String,default:null}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const c=e.useModel(t,"modelValue");return(l,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("select",e.mergeProps(l.$attrs,{"onUpdate:modelValue":o[0]||(o[0]=a=>c.value=a),class:"form-select"}),[t.placeholder?(e.openBlock(),e.createElementBlock("option",et,e.toDisplayString(t.placeholder),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,a=>(e.openBlock(),e.createElementBlock("option",{key:a.key!==void 0?a.key:a.label||a,selected:(a.key!==void 0?a.key:a.label||a)===c.value,value:a.key!==void 0?a.key:a.label||a},e.toDisplayString(a.label||a),9,tt))),128))],16)),[[e.vModelSelect,c.value]])}},lt=["aria-checked","aria-label"],at=["d"],ot={__name:"FormSwitch",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const c=e.useModel(t,"modelValue"),l=e.computed(()=>{let a=Object.assign({},e.useAttrs());return delete a.class,a}),o=e.computed(()=>e.useAttrs().disabled||e.useAttrs().disabled==="");return(a,n)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(a.$attrs.class),tabindex:"0"},[e.createElementVNode("span",{role:"switch",class:e.normalizeClass(["inline-flex relative shrink-0 w-11 p-[2px] rounded-full transition-colors duration-200 ease-in-out cursor-pointer focus:ring-2 focus:ring-offset-2 focus:outline-hidden focus:ring-vxvue",o.value?"bg-slate-200":c.value?"bg-vxvue":"bg-slate-300"]),"aria-checked":c.value,"aria-label":a.$attrs["aria-label"]},[e.createElementVNode("span",{"aria-hidden":"true",class:e.normalizeClass(["block relative size-5 rounded-full transition duration-200 ease-in-out transform pointer-events-none",c.value?"translate-x-5":"translate-x-0",o.value?"bg-slate-100":"bg-white"])},[e.renderSlot(a.$slots,"handle",{},()=>[(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"6",stroke:"currentColor",class:e.normalizeClass(["absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 size-3",c.value&&!o.value?"text-vxvue":"text-slate-300"])},[e.createElementVNode("path",{"stroke-linecap":"round",d:c.value?"M12 18 V6":"m18.5 12 c0 3.5 -3 6.5 -6.5 6.5 -3.5 0 -6.5 -3 -6.5 -6.5 0 -3.5 3 -6.5 6.5 -6.5 3.5 0 6.5 3 6.5 6.5z"},null,8,at)],2))])],2),e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":n[0]||(n[0]=u=>c.value=u)},l.value,{class:"hidden",value:"1",type:"checkbox"}),null,16),[[e.vModelCheckbox,c.value]])],10,lt),e.renderSlot(a.$slots,"default")],2))}},nt={"aria-live":"assertive",class:"flex fixed inset-0 z-[var(--zIndex-toast)] items-start py-6 px-4 pointer-events-none sm:p-6"},rt={class:"flex flex-col items-center space-y-4 w-full"},st={class:"p-4"},it={class:"flex items-start"},ct={class:"shrink-0"},dt={class:"flex-1 pt-0.5 ml-3 w-0"},ut={class:"font-bold"},mt={class:"mt-1"},ft={class:"flex shrink-0 ml-4"},pt=Object.assign({inheritAttrs:!1},{__name:"MessageToast",props:{title:{type:String,default:""},message:{type:[String,Array],default:null},timeout:{type:Number,default:5e3},active:{type:Boolean,default:!1},showTimeoutProgress:{type:Boolean,default:!1}},emits:["timeout","close"],setup(t,{emit:c}){const l=t,o=c,a=e.computed(()=>typeof l.message=="string"?[l.message]:l.message),n=e.ref(0);let u=null;const i=()=>{window.clearTimeout(u),n.value=100,l.active&&l.timeout&&(u=window.setTimeout(()=>{o("timeout")},l.timeout),window.setTimeout(()=>n.value=0,0))};return e.watch(()=>l.active,i),e.onMounted(i),(s,r)=>(e.openBlock(),e.createElementBlock("div",nt,[e.createElementVNode("div",rt,[e.createVNode(O,{name:"vert-fade"},{default:e.withCtx(()=>[t.active?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["overflow-hidden w-full max-w-sm rounded-md ring-1 ring-black/5 shadow-lg pointer-events-auto",s.$attrs.class])},[e.createElementVNode("div",st,[e.createElementVNode("div",it,[e.createElementVNode("div",ct,[e.renderSlot(s.$slots,"icon")]),e.createElementVNode("div",dt,[e.renderSlot(s.$slots,"title",{},()=>[e.createElementVNode("div",ut,e.toDisplayString(t.title),1)]),e.renderSlot(s.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,d=>(e.openBlock(),e.createElementBlock("p",mt,e.toDisplayString(d),1))),256))])]),e.createElementVNode("div",ft,[e.createElementVNode("button",{class:"inline-flex text-white bg-black/20 rounded-xs focus:ring-2 focus:outline-hidden hover:text-stone-200 focus:ring-stone-200",onClick:r[0]||(r[0]=d=>o("close"))},[r[1]||(r[1]=e.createElementVNode("span",{class:"sr-only"},"Close",-1)),e.createVNode(e.unref(R),{class:"size-5"})])])])]),t.showTimeoutProgress&&t.timeout?(e.openBlock(),e.createElementBlock("div",{key:0,class:"h-1 transition-all ease-linear bg-vxvue-alt",style:e.normalizeStyle({width:n.value+"%","transition-duration":t.timeout+"ms"}),role:"progressbar","aria-hidden":"false","aria-label":"notification timer"},null,4)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3})])]))}}),ht={key:0,class:"fixed inset-0 z-[calc(var(--zIndex-modal)-1)] bg-white/50 backdrop-blur-xs","aria-hidden":"true"},gt={key:0,class:"fixed inset-0 z-[var(--zIndex-modal)]"},bt={class:"flex justify-center items-center h-screen"},kt={__name:"Modal",props:{show:Boolean,containerClass:{type:String,default:"mx-4 w-full lg:w-1/2 xl:w-1/4 max-h-[90vh]"},headerClass:{type:String,default:""},contentClass:{type:String,default:""}},emits:["clicked-outside"],setup(t,{emit:c}){const l=c,o=e.ref(null);return q(o,()=>l("clicked-outside")),(a,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.show?(e.openBlock(),e.createElementBlock("div",ht)):e.createCommentVNode("",!0),e.createVNode(O,{name:"appear"},{default:e.withCtx(()=>[t.show?(e.openBlock(),e.createElementBlock("div",gt,[e.createElementVNode("div",bt,[e.createElementVNode("div",{ref_key:"container",ref:o,class:e.normalizeClass(["flex flex-col overflow-hidden max-w-full bg-white rounded-sm ring-1 ring-black/10 shadow-xl transition-all transform xl:max-w-(--breakpoint-xl)",t.containerClass])},[e.createElementVNode("div",{class:e.normalizeClass(["grow-0",t.headerClass])},[e.renderSlot(a.$slots,"title")],2),e.createElementVNode("div",{class:e.normalizeClass(["overflow-y-auto h-full",t.contentClass])},[e.renderSlot(a.$slots,"default")],2)],2)])])):e.createCommentVNode("",!0)]),_:3})],64))}},yt={class:"flex justify-between items-center px-4 sm:px-0"},xt={class:"flex flex-1 -mt-px w-0"},wt=["disabled"],Bt={class:"hidden md:flex md:-mt-px"},Vt={class:"flex flex-1 justify-end -mt-px w-0"},Et=["disabled"],vt={__name:"Pagination",props:{page:{type:Number,default:1},total:{type:Number,default:1},perPage:{type:Number,default:20,validator:t=>t>=1},showNavButtons:{type:Boolean,default:!0},prevText:{type:String,default:"Previous"},nextText:{type:String,default:"Next"},showAllPages:{type:Boolean,default:!1},markerPosition:{type:String,default:"above",validator:t=>["above","below"].includes(t)}},emits:["update:page"],setup(t,{emit:c}){const l=c,o=t,a=e.ref(Math.ceil(o.total/o.perPage)),n=e.ref(null),u=e.computed(()=>(o.markerPosition==="above"?"border-t-4 -mt-[4px]":"border-b-4 -mb-[4px]")+" py-4"),i=e.computed(()=>{let d=[1];if(o.showAllPages||a.value<=7){for(let m=2;m<=a.value;++m)d.push(m);return d}return n.value>=a.value?d.push("dots",n.value-2,n.value-1):n.value-1&&n.value-1>1&&(n.value>1&&d.push("dots"),d.push(n.value-1)),n.value>1&&d.push(n.value),n.value+1<a.value&&(d.push(n.value+1),n.value<=1&&d.push(n.value+2),n.value+2<a.value&&d.push("dots")),n.value<a.value&&d.push(a.value),d}),s=()=>{n.value>1&&l("update:page",n.value-1)},r=()=>{n.value<a.value&&l("update:page",n.value+1)};return e.watch(()=>o.page,d=>n.value=Math.min(Math.max(d,1),a.value),{immediate:!0}),e.watch(()=>o.perPage,d=>{a.value=Math.ceil(o.total/o.perPage),l("update:page",1)}),e.watch(()=>o.total,d=>{a.value=Math.ceil(o.total/o.perPage),n.value>a.value&&l("update:page",a.value)}),(d,m)=>(e.openBlock(),e.createElementBlock("nav",yt,[e.createElementVNode("div",xt,[t.showNavButtons?(e.openBlock(),e.createElementBlock("button",{key:0,disabled:n.value<=1,class:e.normalizeClass([n.value<=1?"pointer-events-none text-gray-500":"text-vxvue-700","inline-flex items-center pr-1 text-sm border-transparent hover:text-vxvue"]),onClick:s},[e.createVNode(e.unref(Y),{class:"size-5"}),e.createTextVNode(" "+e.toDisplayString(t.prevText),1)],10,wt)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Bt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(g,y)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.page!=="dots"?"button":"span"),{key:y,class:e.normalizeClass([{"pointer-events-none":g==="dots"},g===n.value?"border-vxvue text-vxvue font-bold":"border-transparent text-gray-500 hover:border-gray-300",u.value,"inline-flex items-center px-4 text-sm"]),onClick:h=>g!=="dots"?l("update:page",g):null},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g!=="dots"?g:"…"),1)]),_:2},1032,["class","onClick"]))),128))]),e.createElementVNode("div",Vt,[t.showNavButtons?(e.openBlock(),e.createElementBlock("button",{key:0,disabled:n.value>=a.value,class:e.normalizeClass([n.value>=a.value?"pointer-events-none text-gray-500":"text-vxvue-700","inline-flex items-center pr-1 text-sm border-transparent hover:text-vxvue"]),onClick:r},[e.createTextVNode(e.toDisplayString(t.nextText)+" ",1),e.createVNode(e.unref(I),{class:"size-5"})],10,Et)):e.createCommentVNode("",!0)])]))}};function St(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88"})])}function Nt(t,c){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z"}),e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"})])}const Ct=["type"],$t=["disabled"],Mt=Object.assign({inheritAttrs:!1},{__name:"PasswordInput",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const c=e.useModel(t,"modelValue"),l=e.ref(!1),o=e.computed(()=>{let a=Object.assign({},e.useAttrs());return delete a.class,a});return(a,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("inline-block relative "+e.useAttrs().class)},[e.withDirectives(e.createElementVNode("input",e.mergeProps({"onUpdate:modelValue":n[0]||(n[0]=u=>c.value=u),type:l.value?"text":"password"},o.value,{class:"block pr-12 w-full form-input peer"}),null,16,Ct),[[e.vModelDynamic,c.value]]),e.createElementVNode("button",{class:"flex absolute inset-y-0 right-0 items-center px-3 text-brand-700 hover:text-brand","aria-label":"show-password-toggle",disabled:e.useAttrs().disabled??!1,onClick:n[1]||(n[1]=e.withModifiers(u=>l.value=!l.value,["stop"]))},[l.value?(e.openBlock(),e.createBlock(e.unref(St),{key:0,class:"size-5"})):(e.openBlock(),e.createBlock(e.unref(Nt),{key:1,class:"size-5"}))],8,$t)],2))}}),Dt={class:"flex items-center pb-1"},zt={key:0,class:"ml-6"},At=Object.assign({inheritAttrs:!1},{__name:"SimpleTree",props:e.mergeModels({branch:{type:Object,default:()=>({})}},{modelValue:{type:Object,default:null},modelModifiers:{}}),emits:e.mergeModels(["expand"],["update:modelValue"]),setup(t,{emit:c}){const l=t,o=c,a=e.useModel(t,"modelValue"),n=e.ref(!1);return e.onMounted(()=>{l.branch===a.value&&o("expand",!0)}),(u,i)=>{const s=e.resolveComponent("simple-tree",!0);return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([!t.branch.branches||!t.branch.branches.length?"terminates":"",u.$attrs.class])},[e.createElementVNode("div",Dt,[t.branch.branches&&t.branch.branches.length?(e.openBlock(),e.createElementBlock("button",{key:0,class:"mr-2",onClick:i[0]||(i[0]=r=>n.value=!n.value)},[e.renderSlot(u.$slots,"toggle",{branch:t.branch,expanded:n.value},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value?e.unref(se):e.unref(ie)),{class:"p-0.5 text-white rounded size-5 bg-vxvue-700 hover:bg-vxvue"}))])])):e.createCommentVNode("",!0),t.branch===a.value?e.renderSlot(u.$slots,"label-selected",{key:1,branch:t.branch},()=>[e.createElementVNode("strong",null,e.toDisplayString(t.branch.label),1)]):(e.openBlock(),e.createElementBlock("button",{key:2,onClick:i[1]||(i[1]=r=>a.value=t.branch)},[e.renderSlot(u.$slots,"label",{branch:t.branch},()=>[e.createTextVNode(e.toDisplayString(t.branch.label),1)])]))]),t.branch.branches&&t.branch.branches.length?e.withDirectives((e.openBlock(),e.createElementBlock("div",zt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.branch.branches,r=>(e.openBlock(),e.createBlock(s,{key:r.id||r.key||null,branch:r,modelValue:a.value,"onUpdate:modelValue":i[2]||(i[2]=d=>a.value=d),onExpand:i[3]||(i[3]=d=>{n.value=d,o("expand",d)})},e.createSlots({_:2},[e.renderList(u.$slots,(d,m)=>({name:m,fn:e.withCtx(g=>[e.renderSlot(u.$slots,m,e.mergeProps({ref_for:!0},g))])}))]),1032,["branch","modelValue"]))),128))],512)),[[e.vShow,n.value]]):e.createCommentVNode("",!0)],2)}}}),Lt={__name:"Sizable",props:{vertical:Boolean},emits:["dragStart","dragStop"],setup(t,{emit:c}){const l=t,o=c,a=e.ref(null),n=e.ref(null);let u=!1,i={},s=null,r=null,d=null;const m=h=>{if(u){h.preventDefault();const{pageX:B,pageY:k}=h.touches?.[0]??h;l.vertical?a.value.style.height=Math.min(r.height-d.height-(s.y-r.y),Math.max(0,s.height+k-i.y))+"px":a.value.style.width=Math.min(r.width-d.width-(s.x-r.x),Math.max(0,s.width+B-i.x))+"px"}},g=h=>{h.preventDefault(),h.currentTarget.focus(),u=!0;const{pageX:B,pageY:k}=h.touches?.[0]??h;i={x:B,y:k},d=n.value.getBoundingClientRect(),s=a.value.getBoundingClientRect(),r=a.value.parentElement.getBoundingClientRect(),h.type==="mousedown"?(document.addEventListener("mousemove",m),document.addEventListener("mouseup",y)):(document.addEventListener("touchmove",m),document.addEventListener("touchend",y)),o("dragStart")},y=h=>{u&&(u=!1,h.type==="mouseup"?(document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",y)):(document.removeEventListener("touchmove",m),document.removeEventListener("touchend",y)),setTimeout(()=>o("dragStop"),0))};return(h,B)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"box",ref:a,class:"relative"},[e.renderSlot(h.$slots,"default"),e.createElementVNode("div",e.mergeProps({ref_key:"handle",ref:n,class:["absolute flex",l.vertical?"inset-x-0 top-full justify-center py-1 cursor-ns-resize":"inset-y-0 left-full items-center px-1 cursor-ew-resize"]},e.toHandlers({touchstart:g,mousedown:g,touchend:y,mouseup:y},!0)),[e.renderSlot(h.$slots,"handle",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(["rounded-full bg-vxvue",l.vertical?"h-1.5 w-8":"h-8 w-1.5"])},null,2)])],16)],512))}},Tt=["aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext"],Pt=["id"],Ft=["id","aria-label"],It=Object.assign({inheritAttrs:!1},{__name:"Slider",props:e.mergeModels({min:{type:Number,default:0},max:{type:Number,default:100},vertical:Boolean,disabled:Boolean},{modelValue:{type:[Number,Array],default:null,validator(t){return typeof t=="number"||t.every(c=>typeof c=="number")}},modelModifiers:{}}),emits:e.mergeModels(["dragStart","dragStop"],["update:modelValue"]),setup(t,{emit:c}){const l=t,o=e.useModel(t,"modelValue"),a=c,n=e.useAttrs(),u={x:null,y:null},i={w:null,h:null};let s=!1;const r=e.ref(null),d=e.ref(0),m=e.computed(()=>{const x=l.max,V=l.min;return o.value instanceof Array?o.value.map(p=>(Math.max(Math.min(p,x),V)-V)*100/(x-V)):(Math.max(Math.min(o.value,x),V)-V)*100/(x-V)}),g=e.computed(()=>{if(o.value instanceof Array){const x=Math.min(...m.value)+"%",V=Math.max(...m.value)-Math.min(...m.value)+"%";return l.vertical?{bottom:x,height:V}:{left:x,width:V}}return l.vertical?{bottom:0,height:m.value+"%"}:{width:m.value+"%"}}),y=e.ref({class:(l.vertical?"left-0 -translate-x-1.5 translate-y-2.5":"top-0 -translate-x-2.5 -translate-y-1.5")+" touch-none absolute size-5 rounded-full border-2 bg-white transition-colors duration-200 "+(l.disabled?"":" focus:ring-4 focus:outline-hidden border-vxvue cursor-grab hover:bg-vxvue focus:ring-vxvue/50"),tabindex:0}),h=x=>{let V=parseFloat(x.toFixed(10));V=Math.min(l.max,Math.max(l.min,V)),o.value instanceof Array?o.value[d.value]=V:o.value=V},B=x=>{const{pageX:V,pageY:p}=x.touches?x.touches[0]:x,f=l.vertical?(-p+u.y)/i.h:(V-u.x)/i.w;h(Math.floor((l.max-l.min)*f+l.min))},k=()=>{const{clientLeft:x,clientTop:V,scrollLeft:p,scrollTop:f}=document.documentElement,b=r.value.getBoundingClientRect();u.x=b.left+p-x,u.y=b.bottom+f-V,i.w=r.value.offsetWidth,i.h=r.value.offsetHeight},w=x=>{s&&(x.preventDefault(),B(x))},S=x=>{x.preventDefault(),x.currentTarget.focus(),k(),s=!0,x.type==="mousedown"?(document.addEventListener("mousemove",w),document.addEventListener("mouseup",$)):(document.addEventListener("touchmove",w),document.addEventListener("touchend",$)),a("dragStart")},$=x=>{s&&(s=!1,x.type==="mouseup"?(document.removeEventListener("mousemove",w),document.removeEventListener("mouseup",$)):(document.removeEventListener("touchmove",w),document.removeEventListener("touchend",$)),setTimeout(()=>a("dragStop"),0))},A=x=>{x.keyCode>=33&&x.keyCode<=40&&x.preventDefault();const V=o.value[d.value]??o.value;switch(x.keyCode){case 37:case 40:h(V-1);break;case 39:case 38:h(V+1);break;case 33:h(V+(l.max-l.min)/10);break;case 34:h(V-(l.max-l.min)/10);break;case 36:h(l.min);break;case 35:h(l.max)}},z=x=>{k(),B(x)};return(x,V)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({ref_key:"track",ref:r,class:["relative bg-slate-300",t.vertical?"h-full w-2 rounded-t-full rounded-b-full":"w-full h-2 rounded-r-full rounded-l-full"],role:"slider","aria-label":"slider-thumb","aria-valuemin":t.min,"aria-valuemax":t.max,"aria-valuenow":o.value[0]??o.value,"aria-valuetext":o.value},e.toHandlers(t.disabled?{}:{click:z},!0)),[t.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute bg-vxvue",t.vertical?"w-full rounded-t-full rounded-b-full":"h-full rounded-r-full rounded-l-full"]),style:e.normalizeStyle(g.value)},null,6)),o.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(o.value,(p,f)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps({id:f?null:e.unref(n).id,style:t.vertical?{bottom:m.value[f]+"%"}:{left:m.value[f]+"%"},"aria-label":"slider-thumb-"+(f+1)},{ref_for:!0},y.value,e.toHandlers(t.disabled?{}:{focus:()=>d.value=f,keydown:A,touchstart:b=>{d.value=f,S(b)},mousedown:b=>{d.value=f,S(b)},touchend:$,mouseup:$},!0)),null,16,Ft))),256)):(e.openBlock(),e.createElementBlock("button",e.mergeProps({key:1,id:e.unref(n).id,style:t.vertical?{bottom:m.value+"%"}:{left:m.value+"%"},"aria-label":"slider-thumb"},y.value,e.toHandlers(t.disabled?{}:{focus:()=>d.value=0,keydown:A,touchstart:p=>{d.value=0,S(p)},mousedown:p=>{d.value=0,S(p)},touchend:$,mouseup:$},!0)),null,16,Pt))],16,Tt))}}),Ot=["data-active","onClick"],_t={class:"flex items-center space-x-1"},jt=["data-active"],Yt={__name:"Sortable",props:{columns:{type:Array,required:!0,validator:t=>{for(const c of t)if(c.label===void 0||c.prop===void 0)return!1;return!0}},rows:{type:Array,required:!0},offset:{type:Number,default:null},count:{type:Number,default:null},sortProp:{type:String,default:null},sortDirection:{type:String,default:null,validator:t=>!t||["asc","desc"].includes(t)},keyProperty:{type:String,default:"key"},headerClass:{type:String,default:"text-white bg-vxvue-700 [&_*[data-active]]:bg-vxvue-alt-800"},bodyClass:{type:String,default:"[&>*:nth-child(even)]:bg-vxvue-50 [&>*:nth-child(even)_*[data-active]]:bg-vxvue-alt-100 [&>*:nth-child(odd)_*[data-active]]:bg-vxvue-alt-50"}},emits:["before-sort","after-sort"],setup(t,{emit:c}){const l=t,o=c,a=e.ref(l.sortProp),n=e.ref(l.sortDirection),u=e.computed(()=>{let s=l.rows.slice();const r=l.columns.find(({prop:d})=>d===a.value);return r&&(n.value==="asc"&&r.sortAscFunction?s.sort(r.sortAscFunction):n.value==="desc"&&r.sortDescFunction?s.sort(r.sortDescFunction):s.sort((d,m)=>d[a.value]<m[a.value]?n.value==="asc"?-1:1:d[a.value]>m[a.value]?n.value==="asc"?1:-1:0)),s.slice(l.offset||0,(l.offset||0)+(l.count||s.length))}),i=s=>{o("before-sort",{prop:a.value,dir:n.value}),a.value===s?n.value=n.value==="asc"?"desc":"asc":(a.value=s,n.value=n.value||"asc"),e.nextTick(()=>o("after-sort",{prop:a.value,dir:n.value}))};return(s,r)=>(e.openBlock(),e.createElementBlock("table",{class:e.normalizeClass(s.$attrs.class||"w-full divide-y divide-y-slate-900 table-fixed")},[e.createElementVNode("thead",{class:e.normalizeClass(t.headerClass)},[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,d=>(e.openBlock(),e.createElementBlock("th",{key:d.prop,scope:"col","data-active":a.value===d.prop?"active":null,class:e.normalizeClass(["py-3 px-6 text-left",{"cursor-pointer":d.sortable},d.cssClass]),onClick:m=>d.sortable?i(d.prop):null},[e.renderSlot(s.$slots,d.prop+"-header",{column:d,sortDir:n.value,sortProp:a.value},()=>[e.createElementVNode("div",_t,[e.createElementVNode("span",null,e.toDisplayString(d.label),1),d.sortable?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value!==d.prop?e.unref(ne):n.value==="asc"?e.unref(oe):e.unref(re)),{key:0,class:"size-4"})):e.createCommentVNode("",!0)])])],10,Ot))),128))])],2),e.createElementVNode("tbody",{class:e.normalizeClass(t.bodyClass)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,d=>(e.openBlock(),e.createElementBlock("tr",{key:d[t.keyProperty],class:e.normalizeClass(d.cssClass)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,m=>(e.openBlock(),e.createElementBlock("td",{key:m.prop,"data-active":a.value===m.prop?"active":null,class:"overflow-hidden py-3 px-6 whitespace-nowrap text-ellipsis"},[e.renderSlot(s.$slots,m.prop,{row:d},()=>[e.createTextVNode(e.toDisplayString(d[m.prop]),1)])],8,jt))),128))],2))),128))],2)],2))}},Rt={class:"flex items-center space-x-2"},Ht=["disabled"],Zt=K(Object.assign({inheritAttrs:!1},{__name:"SubmitButton",props:{busy:Boolean,spinnerClass:{type:String,default:null},theme:{type:String,default:null}},emits:["submit"],setup(t,{emit:c}){const l=c;return(o,a)=>(e.openBlock(),e.createElementBlock("div",Rt,[e.createElementVNode("button",{class:e.normalizeClass([o.$attrs.class,t.theme]),disabled:o.$attrs.disabled||t.busy,type:"button",onClick:a[0]||(a[0]=n=>l("submit"))},[e.renderSlot(o.$slots,"default",{},void 0,!0)],10,Ht),t.busy?(e.openBlock(),e.createBlock(H,{key:0,class:e.normalizeClass(t.spinnerClass||["size-5",{error:"text-error",success:"text-success",default:"text-vxvue"}[t.theme||"default"]])},null,8,["class"])):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-646b7a90"]]),Ut={class:"sm:hidden"},qt={class:"hidden sm:block"},Wt={class:"border-b border-gray-200"},Kt={class:"flex -mb-px space-x-8","aria-label":"Tabs"},Xt=["aria-current","onClick"],Gt={__name:"Tabs",props:{items:{type:Array,default:()=>[]},activeIndex:{type:Number,default:0}},emits:["update:activeIndex"],setup(t,{emit:c}){const l=t,o=c,a=e.ref(l.items[l.activeIndex]||{}),n=e.computed(()=>{let i=[];return l.items.forEach((s,r)=>{s.disabled||i.push({label:s.name,key:r})}),i});e.watch(()=>l.activeIndex,i=>{a.value=l.items[i]||{}});const u=i=>{i.disabled||(a.value=i,o("update:activeIndex",l.items.indexOf(i)))};return(i,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Ut,[e.createVNode(te,{options:n.value,"model-value":t.activeIndex,class:"w-full","onUpdate:modelValue":s[0]||(s[0]=r=>o("update:activeIndex",r))},null,8,["options","model-value"])]),e.createElementVNode("div",qt,[e.createElementVNode("div",Wt,[e.createElementVNode("nav",Kt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,r=>(e.openBlock(),e.createElementBlock("a",{key:r.name,href:"#",class:e.normalizeClass(["group inline-flex items-center py-4 px-1 border-b-4 font-medium no-underline! border-transparent",{"border-vxvue text-vxvue":a.value===r,"cursor-not-allowed text-gray-400":r.disabled,"text-gray-900 hover:text-vxvue-600 hover:border-vxvue-600":a.value!==r&&!r.disabled}]),"aria-current":a.value===r?"page":void 0,onClick:e.withModifiers(d=>u(r),["prevent"])},[e.renderSlot(i.$slots,"icon",{tab:r}),e.createElementVNode("span",null,[e.renderSlot(i.$slots,"default",{tab:r},()=>[e.createTextVNode(e.toDisplayString(r.name),1)])]),e.renderSlot(i.$slots,"badge",{tab:r},()=>[r.badge?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["hidden ml-3 py-0.5 px-2.5 rounded-full text-xs font-medium md:inline-block text-current",{"bg-gray-100":r.disabled,"bg-vxvue-50":a.value===r,"bg-gray-200":a.value!==r&&!r.disabled}])},e.toDisplayString(r.badge),3)):e.createCommentVNode("",!0)])],10,Xt))),128))])])])],64))}},Jt={mounted:t=>t.focus()},Qt={mounted:(t,c)=>{if(!["INPUT","TEXTAREA"].includes(t.nodeName)){let l=t.querySelector('input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="url"],input[type="tel"]');l||(l=t.querySelector("textarea")),t=l}if(t){if(t.querySelector("label"))throw new Error("VFloatingLabel directive: LABEL element found.");const l=Math.random().toString(36).substring(2),o=document.createElement("div");o.classList.add("relative","isolate");const a=document.createElement("label");a.classList.add(..."absolute px-2 left-1 top-2 scale-90 text-sm z-[var(--zIndex-label)] origin-[0] bg-white -translate-y-4 transform-gpu duration-200".split(" "),..."peer-focus:top-2 peer-focus:scale-90 peer-focus:-translate-y-full".split(" "),..."peer-placeholder-shown:scale-100 peer-placeholder-shown:-translate-y-1/2".split(" "),t.nodeName==="TEXTAREA"?"peer-placeholder-shown:top-4":"peer-placeholder-shown:top-1/2"),c.value?.invalid?a.classList.add("text-error","peer-focus:text-error"):a.classList.add("peer-focus:text-blue-600"),t.getAttribute("required")!==null&&a.classList.add("required"),a.setAttribute("for",t.getAttribute("id")||l+"-element"),a.innerHTML=c.value?.label||t.getAttribute("placeholder")||l+"-label",t.classList.add("peer"),t.setAttribute("placeholder"," "),t.setAttribute("id",t.getAttribute("id")||l+"-element"),t.parentElement.replaceChild(o,t),o.appendChild(t),o.appendChild(a)}},updated:(t,c)=>{const l=t.parentNode.querySelector("label"),o=t.getAttribute("placeholder")?.trim();l.innerHTML=c.value?.label||o||l.innerHTML,o&&t.setAttribute("placeholder"," "),c.value?.invalid?(l.classList.add("text-error","peer-focus:text-error"),l.classList.remove("peer-focus:text-blue-600")):(l.classList.remove("text-error","peer-focus:text-error"),l.classList.add("peer-focus:text-blue-600")),l.classList[t.getAttribute("required")!==null?"add":"remove"]("required")},beforeUnmount:t=>t.parentNode.parentNode.removeChild(t.parentNode)};v.Accordion=le,v.AccordionPanel=me,v.Autocomplete=Ne,v.Confirm=Ie,v.DateInput=ee,v.Datepicker=Xe,v.FormFileButton=Qe,v.FormSelect=te,v.FormSwitch=ot,v.MessageToast=pt,v.Modal=kt,v.Pagination=vt,v.PasswordInput=Mt,v.SimpleTree=At,v.Sizable=Lt,v.Slider=It,v.Sortable=Yt,v.Spinner=H,v.SubmitButton=Zt,v.Tabs=Gt,v.VFloatingLabel=Qt,v.VFocus=Jt,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,57 +1,58 @@
1
- {
2
- "name": "vx-vue",
3
- "files": [
4
- "dist"
5
- ],
6
- "type": "module",
7
- "main": "./dist/vxvue.umd.js",
8
- "module": "./dist/vxvue.es.js",
9
- "exports": {
10
- ".": {
11
- "import": "./dist/vxvue.es.js",
12
- "require": "./dist/vxvue.umd.js"
13
- },
14
- "./vx-vue.css": "./dist/style.css",
15
- "./dist/*": "./dist/*"
16
- },
17
- "version": "1.3.8",
18
- "license": "MIT",
19
- "homepage": "https://vectrex.github.io/vxVue",
20
- "repository": {
21
- "type": "git",
22
- "url": "git+https://github.com/Vectrex/vxVue.git"
23
- },
24
- "scripts": {
25
- "dev": "vite",
26
- "build": "vite build",
27
- "preview": "vite preview",
28
- "test": "vitest",
29
- "format": "prettier --write src/",
30
- "docs:dev": "vitepress dev docs",
31
- "docs:build": "vitepress build docs",
32
- "docs:preview": "vitepress preview docs"
33
- },
34
- "devDependencies": {
35
- "@heroicons/vue": "^2.2.0",
36
- "tailwindcss": "^4.1.7",
37
- "@tailwindcss/forms": "^0.5.10",
38
- "@tailwindcss/postcss": "^4.1.7",
39
- "vue": "^3.5.14",
40
- "@vueuse/core": "^13.2.0",
41
- "postcss": "^8.5.3",
42
- "@vue/test-utils": "^2.4.6",
43
- "jsdom": "^26.1.0",
44
- "vite": "^6.3.5",
45
- "eslint": "^9.27.0",
46
- "eslint-plugin-vue": "^9.33.0",
47
- "@eslint/js": "^9.27.0",
48
- "@stylistic/eslint-plugin": "^4.2.0",
49
- "@vitest/eslint-plugin": "^1.2.0",
50
- "@vitejs/plugin-vue": "^5.2.4",
51
- "vite-plugin-vue-devtools": "^7.7.6",
52
- "vitepress": "^1.6.3",
53
- "vitest": "^3.1.4",
54
- "prettier": "^3.5.3",
55
- "rustywind": "^0.24.0"
56
- }
57
- }
1
+ {
2
+ "name": "vx-vue",
3
+ "files": [
4
+ "dist"
5
+ ],
6
+ "type": "module",
7
+ "main": "./dist/vxvue.umd.js",
8
+ "module": "./dist/vxvue.es.js",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/vxvue.es.js",
12
+ "require": "./dist/vxvue.umd.js"
13
+ },
14
+ "./vx-vue.css": "./dist/style.css",
15
+ "./dist/*": "./dist/*"
16
+ },
17
+ "version": "1.4.0",
18
+ "license": "MIT",
19
+ "homepage": "https://vectrex.github.io/vxVue",
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "git+https://github.com/Vectrex/vxVue.git"
23
+ },
24
+ "scripts": {
25
+ "dev": "vite",
26
+ "build": "vite build",
27
+ "preview": "vite preview",
28
+ "test": "vitest",
29
+ "format": "prettier --write src/",
30
+ "tailwind-cleanup": "rustywind --write src/**/*.{vue,css,js}",
31
+ "docs:dev": "vitepress dev docs",
32
+ "docs:build": "vitepress build docs",
33
+ "docs:preview": "vitepress preview docs"
34
+ },
35
+ "devDependencies": {
36
+ "@heroicons/vue": "^2.2.0",
37
+ "tailwindcss": "^4.1.14",
38
+ "@tailwindcss/forms": "^0.5.10",
39
+ "@tailwindcss/postcss": "^4.1.14",
40
+ "vue": "^3.5.22",
41
+ "@vueuse/core": "^13.9.0",
42
+ "postcss": "^8.5.6",
43
+ "@vue/test-utils": "^2.4.6",
44
+ "jsdom": "^27.0.1",
45
+ "vite": "^7.1.10",
46
+ "eslint": "^9.38.0",
47
+ "eslint-plugin-vue": "^9.33.0",
48
+ "@eslint/js": "^9.38.0",
49
+ "@stylistic/eslint-plugin": "^5.5.0",
50
+ "@vitest/eslint-plugin": "^1.3.23",
51
+ "@vitejs/plugin-vue": "^6.0.1",
52
+ "vite-plugin-vue-devtools": "^8.0.3",
53
+ "vitepress": "^1.6.4",
54
+ "vitest": "^3.2.4",
55
+ "prettier": "^3.6.2",
56
+ "rustywind": "^0.24.3"
57
+ }
58
+ }