vx-vue 1.0.2 → 1.0.3

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(B,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(B=typeof globalThis<"u"?globalThis:B||self,e(B.vxVue={},B.Vue))})(this,function(B,e){"use strict";const Q={__name:"accordion",props:{activeIndex:[Number,Array]},emits:["update:activeIndex"],setup(t,{emit:c}){const o=t,a=c,n=e.useSlots(),l=e.ref([]),d=f=>l.value.push(f),r=e.computed(()=>(l.value=[],n.default().reduce((f,u)=>((u.type.__name||u.type.name)==="accordion-panel"&&f.push(u),f),[]))),s=f=>{if(Array.isArray(o.activeIndex)){let u=[].concat(o.activeIndex),h=u.findIndex(b=>b===f);h===-1?a("update:activeIndex",[...u,f]):(u.splice(h,1),a("update:activeIndex",u))}else a("update:activeIndex",f===o.activeIndex?-1:f)},m=f=>{if(f=++f%r.value.length,!l.value[f].disabled){s(f),l.value[f].focus();return}m(f)},i=f=>{if(f=(f||r.value.length)-1,!l.value[f].disabled){s(f),l.value[f].focus();return}i(f)};return e.onBeforeUpdate(()=>l.value=[]),(f,u)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(h,b)=>{var E;return e.openBlock(),e.createBlock(e.resolveDynamicComponent(h),{key:b,show:Array.isArray(t.activeIndex)?((E=t.activeIndex)==null?void 0:E.indexOf(b))!==-1:t.activeIndex===b,onSelect:$=>s(b),onKeydown:$=>m(b),onKeyup:$=>i(b),ref_for:!0,ref:d},null,40,["show","onSelect","onKeydown","onKeyup"])}),128))}};function ee(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 T(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 P(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 te(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 le(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 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:"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 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:"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 W(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 ae=["id","disabled","aria-expanded","aria-controls"],re=["aria-labelledby","id"],se={class:"overflow-hidden rounded-b"},ie=Object.assign({inheritAttrs:!1},{__name:"accordion-panel",props:{show:Boolean,disabled:Boolean},emits:["select","keyup","keydown"],setup(t,{expose:c,emit:o}){const a=o,n=t,l=e.useAttrs(),d=e.ref(null),r=Math.random().toString(20).substring(2,8),s=i=>{if(!n.disabled){const f=new Map([[40,"keydown"],[38,"keyup"]]).get(i.keyCode);f&&(a(f),i.preventDefault())}};return c({focus:()=>d.value.focus(),disabled:n.disabled}),(i,f)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:f[0]||(f[0]=u=>a("select")),onKeydown:s,class:e.normalizeClass(["flex items-center w-full space-x-2 px-4 py-2 ring-vxvue",t.show?"rounded-t":"rounded",t.disabled?"bg-slate-300 text-slate-700":"bg-vxvue hover:bg-vxvue-600 text-white",e.unref(l).class]),id:"ap-control-"+e.unref(r),disabled:t.disabled,"aria-expanded":t.show,"aria-controls":"ap-"+e.unref(r),ref_key:"btn",ref:d,tabindex:"0"},[t.disabled?(e.openBlock(),e.createBlock(e.unref(W),{key:0,class:"size-5"})):(e.openBlock(),e.createBlock(e.unref(P),{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(i.$slots,"header")])],42,ae),e.createElementVNode("div",{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(r),id:"ap-"+e.unref(r)},[e.createElementVNode("div",se,[e.renderSlot(i.$slots,"default")])],10,re)]))}}),ce=["viewBox"],de=["cx","cy","r","stroke-width"],me=["cx","cy","r","stroke-width","stroke-dasharray"],_={__name:"spinner",props:{radius:{type:Number,default:10},strokeWidth:{type:Number,default:4}},setup(t){const c=t,o=e.computed(()=>c.radius+c.strokeWidth/2),a=e.computed(()=>c.radius*2+c.strokeWidth),n=e.computed(()=>c.radius*Math.PI/1.5);return(l,d)=>(e.openBlock(),e.createElementBlock("svg",{class:"animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 "+a.value+" "+a.value,role:"progressbar"},[e.createElementVNode("circle",{class:"opacity-35",cx:o.value,cy:o.value,r:t.radius,stroke:"currentColor","stroke-width":t.strokeWidth},null,8,de),e.createElementVNode("circle",{cx:o.value,cy:o.value,r:t.radius,stroke:"currentColor","stroke-width":t.strokeWidth,"stroke-dasharray":n.value+" "+t.radius*100,"stroke-linecap":"round"},null,8,me)],8,ce))}};function ue(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function U(t){return typeof t=="function"?t():e.unref(t)}const K=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const fe=Object.prototype.toString,pe=t=>fe.call(t)==="[object Object]",I=()=>{},he=ge();function ge(){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))}const ke=/[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}|SSS/g;function be(t,c,o,a){let n=t<12?"AM":"PM";return a&&(n=n.split("").reduce((l,d)=>l+=`${d}.`,"")),o?n.toLowerCase():n}function D(t){const c=["th","st","nd","rd"],o=t%100;return t+(c[(o-20)%10]||c[o]||c[0])}function Z(t,c,o={}){var a;const n=t.getFullYear(),l=t.getMonth(),d=t.getDate(),r=t.getHours(),s=t.getMinutes(),m=t.getSeconds(),i=t.getMilliseconds(),f=t.getDay(),u=(a=o.customMeridiem)!=null?a:be,h={Yo:()=>D(n),YY:()=>String(n).slice(-2),YYYY:()=>n,M:()=>l+1,Mo:()=>D(l+1),MM:()=>`${l+1}`.padStart(2,"0"),MMM:()=>t.toLocaleDateString(o.locales,{month:"short"}),MMMM:()=>t.toLocaleDateString(o.locales,{month:"long"}),D:()=>String(d),Do:()=>D(d),DD:()=>`${d}`.padStart(2,"0"),H:()=>String(r),Ho:()=>D(r),HH:()=>`${r}`.padStart(2,"0"),h:()=>`${r%12||12}`.padStart(1,"0"),ho:()=>D(r%12||12),hh:()=>`${r%12||12}`.padStart(2,"0"),m:()=>String(s),mo:()=>D(s),mm:()=>`${s}`.padStart(2,"0"),s:()=>String(m),so:()=>D(m),ss:()=>`${m}`.padStart(2,"0"),SSS:()=>`${i}`.padStart(3,"0"),d:()=>f,dd:()=>t.toLocaleDateString(o.locales,{weekday:"narrow"}),ddd:()=>t.toLocaleDateString(o.locales,{weekday:"short"}),dddd:()=>t.toLocaleDateString(o.locales,{weekday:"long"}),A:()=>u(r,s),AA:()=>u(r,s,!1,!0),a:()=>u(r,s,!0),aa:()=>u(r,s,!0,!0)};return c.replace(ke,(b,E)=>{var $,C;return(C=E??(($=h[b])==null?void 0:$.call(h)))!=null?C:b})}function L(t){var c;const o=U(t);return(c=o==null?void 0:o.$el)!=null?c:o}const q=K?window:void 0;function O(...t){let c,o,a,n;if(typeof t[0]=="string"||Array.isArray(t[0])?([o,a,n]=t,c=q):[c,o,a,n]=t,!c)return I;Array.isArray(o)||(o=[o]),Array.isArray(a)||(a=[a]);const l=[],d=()=>{l.forEach(i=>i()),l.length=0},r=(i,f,u,h)=>(i.addEventListener(f,u,h),()=>i.removeEventListener(f,u,h)),s=e.watch(()=>[L(c),U(n)],([i,f])=>{if(d(),!i)return;const u=pe(f)?{...f}:f;l.push(...o.flatMap(h=>a.map(b=>r(i,h,b,u))))},{immediate:!0,flush:"post"}),m=()=>{s(),d()};return ue(m),m}let G=!1;function j(t,c,o={}){const{window:a=q,ignore:n=[],capture:l=!0,detectIframe:d=!1}=o;if(!a)return I;he&&!G&&(G=!0,Array.from(a.document.body.children).forEach(u=>u.addEventListener("click",I)),a.document.documentElement.addEventListener("click",I));let r=!0;const s=u=>n.some(h=>{if(typeof h=="string")return Array.from(a.document.querySelectorAll(h)).some(b=>b===u.target||u.composedPath().includes(b));{const b=L(h);return b&&(u.target===b||u.composedPath().includes(b))}}),i=[O(a,"click",u=>{const h=L(t);if(!(!h||h===u.target||u.composedPath().includes(h))){if(u.detail===0&&(r=!s(u)),!r){r=!0;return}c(u)}},{passive:!0,capture:l}),O(a,"pointerdown",u=>{const h=L(t);r=!s(u)&&!!(h&&!u.composedPath().includes(h))},{passive:!0}),d&&O(a,"blur",u=>{setTimeout(()=>{var h;const b=L(t);((h=a.document.activeElement)==null?void 0:h.tagName)==="IFRAME"&&!(b!=null&&b.contains(a.document.activeElement))&&c(u)},0)})].filter(Boolean);return()=>i.forEach(u=>u())}const ye=["value","onKeydown"],xe={class:"flex absolute inset-y-0 right-0 items-center pr-3 text-vxvue-700"},we=["data-result-index"],Be=Object.assign({inheritAttrs:!1},{__name:"autocomplete",props:{modelValue:{type:String,default:""},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},emits:["update:modelValue","blur","submit"],setup(t,{emit:c}){const o=c,a=t,n=e.useAttrs(),d=(()=>{let x=0;return w=>(w||"")+ ++x})()((n.id||"autocomplete")+"-"),r=e.ref([]),s=e.ref(-1),m=e.ref(0),i=e.ref(!1),f=e.ref(!1),u=e.ref("top-0 translate-y-12"),h=e.ref(!0),b=e.ref(null),E=e.ref(null),$=e.ref(null),C=e.computed(()=>r.value.map((x,w)=>({id:(n.id||"autocomplete")+"-item-"+w,class:[a.resultItemClass,{"bg-vxvue-700 text-white":s.value===w}],role:"option",...s.value===w?{"aria-selected":"true"}:{}}))),N=e.computed(()=>({role:"combobox",autocomplete:"off",autocapitalize:"off",autocorrect:"off",spellcheck:"false","aria-autocomplete":"list","aria-haspopup":"listbox","aria-owns":d,"aria-expanded":i.value?"true":"false","aria-activedescendant":s.value>-1?C.value[s.value].id:"",...n})),z=e.computed(()=>({id:d,class:["absolute min-w-full transform z-10",a.resultListClass,u.value],role:"listbox"})),v=()=>{s.value=-1,r.value=[],i.value=!1,h.value=!0},y=x=>{const w=a.search(x);if(w instanceof Promise){const M=++m.value;f.value=!0,w.then(S=>{M===m.value&&(r.value=S,f.value=!1,r.value.length?(s.value=a.autoSelect?0:-1,i.value=!0):v())})}else r.value=w,r.value.length===0?v():(s.value=a.autoSelect?0:-1,i.value=!0)},p=()=>{const x=r.value[s.value];return x&&o("update:modelValue",a.getResultValue(x)),v(),x},k=x=>{o("update:modelValue",x),y(x)},g=x=>y(x.target.value),V=()=>{v(),o("blur")},A=()=>{const x=r.value.length;s.value=((s.value-1)%x+x)%x},R=x=>{i.value||g(x);const w=r.value.length;s.value=((s.value+1)%w+w)%w},F=()=>{v(),o("update:modelValue","")},H=()=>o("submit",p()),Jt=x=>{const w=x.target.closest("[data-result-index]");w&&(s.value=parseInt(w.dataset.resultIndex,10),o("submit",p()))};return j($,v),e.onUpdated(()=>{if(b.value){const x=E.value.getBoundingClientRect(),w=b.value.getBoundingClientRect();h.value&&r.value.length&&(h.value=!1,u.value=x.bottom+w.height>window.innerHeight&&window.innerHeight-x.bottom<x.top&&window.pageYOffset+x.top-w.height>0?"bottom-0 -translate-y-12":"top-0 translate-y-12");const M=b.value.querySelector('[data-result-index="'+s.value+'"]');if(M){let S=M.getBoundingClientRect();S.top<w.top?b.value.scrollTop-=w.top-S.top:S.bottom>w.bottom&&(b.value.scrollTop+=S.bottom-w.bottom)}}}),(x,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["inline-block relative",x.$attrs.class]),ref_key:"container",ref:$},[e.createElementVNode("input",e.mergeProps({ref_key:"input",ref:E,class:"block pr-10 w-full form-input focus:border-vxvue",value:t.modelValue},N.value,{onInput:w[0]||(w[0]=M=>k(M.target.value)),onKeydown:[e.withKeys(H,["enter"]),e.withKeys(F,["esc"]),e.withKeys(p,["tab"]),e.withKeys(e.withModifiers(A,["prevent"]),["up"]),e.withKeys(e.withModifiers(R,["prevent"]),["down"])],onFocus:g,onBlur:V}),null,16,ye),e.createElementVNode("span",xe,[f.value?(e.openBlock(),e.createBlock(_,{key:0,class:"size-5"})):e.createCommentVNode("",!0)]),r.value.length?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,ref_key:"resultList",ref:b},z.value,{onClick:Jt,onMousedown:w[1]||(w[1]=e.withModifiers(()=>{},["prevent"]))}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(M,S)=>(e.openBlock(),e.createElementBlock("div",{"data-result-index":S},[e.renderSlot(x.$slots,"result",{result:M,props:C.value[S]},()=>[(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:C.value[S].id,ref_for:!0},C.value[S]),e.toDisplayString(t.getResultValue(M)),17))])],8,we))),256))],16)):e.createCommentVNode("",!0)],2))}}),Ve={key:0,class:"fixed inset-0 z-50 bg-black bg-opacity-50 backdrop-blur-sm","aria-hidden":"true"},Ee={key:0,class:"overflow-y-auto fixed inset-0 z-50"},$e={class:"flex justify-center items-center min-h-screen text-center sm:block sm:p-0"},Ce={key:0},Ne=e.createElementVNode("span",{class:"hidden sm:inline-block sm:h-screen sm:align-middle","aria-hidden":"true"},"​",-1),Se={class:"inline-block overflow-hidden text-left align-bottom bg-white rounded shadow-xl transition-all transform sm:my-8 sm:w-full sm:max-w-sm sm:align-middle lg:max-w-lg"},ve={class:"px-4 pb-4 mt-4 sm:px-6 sm:pb-6 sm:mt-5"},Me={class:"flex flex-row items-center"},De={class:"flex-shrink-0"},Ae={class:"flex-grow text-center"},ze=["onClick"],Pe={__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-400"},buttonClass:{type:String,default:"button"}},setup(t,{expose:c}){const o=t,a=e.ref(""),n=e.ref(""),l=e.ref(!1);let d=null,r=null;const s=e.computed(()=>Array.isArray(o.buttons)?o.buttons:[o.buttons]),m=e.ref(null),i=(u,h)=>{l.value=!1,u.value!==void 0?u.value?d():r():h?r():d()};return c({open:(u,h)=>(a.value=u,n.value=h,l.value=!0,e.nextTick(()=>m.value.firstElementChild.focus()),new Promise((b,E)=>{d=b,r=E}))}),(u,h)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[l.value?(e.openBlock(),e.createElementBlock("div",Ve)):e.createCommentVNode("",!0),e.createVNode(e.Transition,{name:"appear"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",Ee,[e.createElementVNode("div",$e,[l.value?(e.openBlock(),e.createElementBlock("div",Ce,[Ne,e.createElementVNode("div",Se,[a.value||u.$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(u.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",ve,[e.createElementVNode("div",Me,[e.createElementVNode("div",De,[e.renderSlot(u.$slots,"icon")]),e.createElementVNode("p",Ae,[e.renderSlot(u.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(n.value),1)])])]),e.createElementVNode("div",{class:"flex justify-center mt-5 space-x-2 sm:mt-6",ref_key:"buttonsContainer",ref:m},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(b,E)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass([t.buttonClass,b.class]),onClick:e.withModifiers($=>i(b,E),["prevent"])},e.toDisplayString(b.label),11,ze))),256))],512)])])])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),_:3})],64))}};function Le(t,c){const o=e.ref(!1),a=e.toValue(c);let n,l=a.toLowerCase().replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),d=[];if((n=a.match(/\bd\b/gi))&&n.length===1)l=l.replace("d","(\\d{1,2})");else if((n=a.match(/\bdd\b/gi))&&n.length===1)l=l.replace("dd","(\\d{2})");else return{date:o};if(d.push({srcPos:a.toLowerCase().indexOf("d"),destPos:2}),(n=a.match(/\bm\b/gi))&&n.length===1)l=l.replace("m","(\\d{1,2})");else if((n=a.match(/\bmm\b/gi))&&n.length===1)l=l.replace("mm","(\\d{2})");else return{date:o};if(d.push({srcPos:a.toLowerCase().indexOf("m"),destPos:1}),(n=a.match(/\byyyy\b/gi))&&n.length===1)l=l.replace("yyyy","(\\d{4})");else return{date:o};if(d.push({srcPos:a.toLowerCase().indexOf("y"),destPos:0}),!(n=e.toValue(t).match(l)))return{date:o};n.shift(),d.sort((i,f)=>i.srcPos<f.srcPos?-1:1);let r=[],s,m;for(;s=n.shift();)m=d.shift(),r[m.destPos]=s;return r=Date.parse(r.join("-")),r&&(r=new Date(r),o.value=new Date(r.getFullYear(),r.getMonth(),r.getDate(),0,0,0)),{date:o}}const Fe={key:0},Te={class:"text-vxvue-700"},Ie=[e.createElementVNode("svg",{class:"size-2",stroke:"currentColor",fill:"none",viewBox:"0 0 8 8"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-width":"1.5",d:"M1 1l6 6m0-6L1 7"})],-1)],_e=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"size-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})],-1)],X=Object.assign({inheritAttrs:!1},{__name:"date-input",props:{outputFormat:{type:String,default:"YYYY-MM-DD"},inputFormat:{type:String,default:"YYYY-MM-DD"},showToggle:{type:Boolean,default:!1},modelValue:Date},emits:["update:modelValue","toggle-datepicker"],setup(t,{emit:c}){const o=c,a=t,n=e.ref(""),l=e.computed(()=>a.modelValue?Z(a.modelValue,a.outputFormat):""),d=e.computed(()=>{let r=Object.assign({},e.useAttrs());return delete r.class,r});return e.watch(()=>a.modelValue,r=>n.value=r?Z(r,a.outputFormat):""),(r,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["inline-block relative",r.$attrs.class])},[l.value?(e.openBlock(),e.createElementBlock("div",Fe,[e.createElementVNode("div",{class:e.normalizeClass(["block flex items-center w-full form-input bg-vxvue-50",{"pr-10":t.showToggle}])},[e.createElementVNode("span",Te,e.toDisplayString(l.value),1),e.createElementVNode("button",{onClick:s[0]||(s[0]=m=>o("update:modelValue",null)),class:"inline-flex flex-shrink-0 justify-center items-center ml-2 rounded-full focus:text-white focus:outline-none size-4 text-vxvue hover:bg-vxvue-100 hover:text-vue-700 focus:bg-vxvue-700"},Ie)],2)])):e.withDirectives((e.openBlock(),e.createElementBlock("input",e.mergeProps({key:1,type:"text",class:["block w-full form-input peer focus:border-vxvue",{"pr-10":t.showToggle}],"onUpdate:modelValue":s[1]||(s[1]=m=>n.value=m),onBlur:s[2]||(s[2]=m=>{var i;return o("update:modelValue",((i=e.unref(Le)(n.value,a.inputFormat).date)==null?void 0:i.value)||null)}),onInput:s[3]||(s[3]=e.withModifiers(()=>{},["prevent"]))},d.value),null,16)),[[e.vModelText,n.value]]),t.showToggle?(e.openBlock(),e.createElementBlock("button",{key:2,class:"flex absolute inset-y-0 right-0 items-center px-2 text-vxvue-700 hover:text-vxvue","aria-label":"datepicker-toggle",onClick:s[4]||(s[4]=e.withModifiers(m=>o("toggle-datepicker"),["stop"])),ref:"toggleButton"},_e,512)):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"default")],2))}}),Oe={class:"flex items-center py-2 px-3 text-white bg-vxvue-700"},je={class:"flex justify-between w-1/2"},Ye={class:"flex justify-between w-1/2"},Re={class:"grid grid-cols-7 gap-0.5 p-0.5"},He=["disabled","onClick"],We={class:"flex justify-between items-center py-2 px-3 text-white bg-vxvue-700"},Ue={class:"grid grid-cols-2 gap-0.5 p-0.5"},Ke={class:"text-center hover:ring-2 text-vxvue-700 hover:ring-vxvue"},Ze=["onClick"],qe=Object.assign({inheritAttrs:!1},{__name:"datepicker",props:{modelValue:Date,validFrom:Date,validUntil:Date,dayNames:{type:Array,default:()=>"S M T W T F S".split(" ")},locale:{type:String,default:"default"},startOfWeekIndex:{type:Number,default:0,validator:t=>t===0||t===1},hasInput:{type:Boolean,default:!0}},emits:["update:modelValue","month-change","year-change"],setup(t,{emit:c}){const o=t,a=c,n=(()=>{let p=new Date;return new Date(p.getFullYear(),p.getMonth(),p.getDate())})(),l=e.ref(new Date(n.getFullYear(),n.getMonth(),1)),d=e.ref(null),r=e.ref(!o.hasInput),s=e.ref("days"),m=e.ref(0),i=e.ref({horiz:"left-0",vert:"top-0"}),f=e.ref(null),u=e.ref(null),h=e.ref(null),b=e.computed(()=>o.hasInput?{class:["absolute",r.value?"block":"hidden"]}:{}),E=e.computed(()=>{const p=[],k=l.value.getFullYear(),g=l.value.getMonth(),V=new Date(k,g+1,0),A=new Date(k,g,0).getDay()+1-o.startOfWeekIndex,R=(6+o.startOfWeekIndex-V.getDay())%7;for(let F=-A,H=V.getDate()+R;F<H;++F)p.push(new Date(k,g,F+1));return p}),$=e.computed(()=>o.startOfWeekIndex?o.dayNames.slice(1).concat(o.dayNames[0]):o.dayNames);e.watch(()=>o.modelValue,p=>{p?(d.value=new Date(p.getFullYear(),p.getMonth(),p.getDate()),l.value=new Date(d.value.getTime())):(d.value=null,l.value=new Date(n.getTime())),l.value.setDate(1)},{immediate:!0}),e.watch(r,p=>{p&&o.hasInput&&e.nextTick(()=>{const k=f.value.$el.getBoundingClientRect(),g=u.value.getBoundingClientRect();i.value={horiz:k.right-g.width<0?"left-0":"right-0",vert:k.bottom+g.height>window.innerHeight?"bottom-0 -translate-y-12":"top-0 translate-y-12"}})}),j(u,()=>{r.value=!1,s.value="days"},{ignore:[h]});const C=p=>{l.value=new Date(l.value.getFullYear(),p,1),a("month-change",l.value)},N=p=>{l.value=new Date(p,l.value.getMonth(),1),a("year-change",l.value)},z=p=>{r.value=!o.hasInput,d.value=p,a("update:modelValue",p)},v=p=>{d.value=p,a("update:modelValue",p)},y=p=>{const k=p.getMonth()!==l.value.getMonth(),g=d.value&&p.getTime()===d.value.getTime(),V=p.getTime()===n.getTime(),A=o.validFrom&&o.validFrom>p||o.validUntil&&o.validUntil<p;return["py-2 rounded-sm block text-center",{"text-vxvue-700":!A&&!k&&!V&&!g,"text-error":A&&!k,"text-gray-400":k&&!V&&!g,"bg-gray-200":V&&!g,"bg-vxvue-700 text-white":g,"hover:ring-2 hover:ring-vxvue":!A}]};return e.onMounted(()=>{var p;return h.value=(p=f.value)==null?void 0:p.$refs.toggleButton}),(p,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative",p.$attrs.class])},[t.hasInput?(e.openBlock(),e.createBlock(X,e.mergeProps({key:0,modelValue:d.value,"show-toggle":!0,onToggleDatepicker:k[0]||(k[0]=g=>r.value=!r.value),"onUpdate:modelValue":v},p.$attrs,{ref_key:"input",ref:f,class:"w-full"}),{default:e.withCtx(()=>[e.renderSlot(p.$slots,"default")]),_:3},16,["modelValue"])):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({class:"overflow-hidden z-10 bg-white rounded shadow-md min-w-72 sm:min-w-80"},b.value,{ref_key:"calendar",ref:u,class:[i.value.horiz,i.value.vert]}),[s.value==="days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Oe,[e.createElementVNode("div",je,[e.createElementVNode("button",{onClick:k[1]||(k[1]=e.withModifiers(g=>C(l.value.getMonth()-1),["stop"])),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(T),{class:"size-6"})]),e.createElementVNode("span",null,e.toDisplayString(l.value.toLocaleString(t.locale,{month:"long"})),1),e.createElementVNode("button",{onClick:k[2]||(k[2]=e.withModifiers(g=>C(l.value.getMonth()+1),["stop"])),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(P),{class:"size-6"})])]),e.createElementVNode("div",Ye,[e.createElementVNode("button",{onClick:k[3]||(k[3]=e.withModifiers(g=>N(l.value.getFullYear()-1),["stop"])),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(T),{class:"size-6"})]),e.createElementVNode("button",{class:"text-vxvue-100 hover:text-vxvue-50",onClick:k[4]||(k[4]=g=>{s.value="years",m.value=l.value.getFullYear()})},e.toDisplayString(l.value.getFullYear()),1),e.createElementVNode("button",{onClick:k[5]||(k[5]=e.withModifiers(g=>N(l.value.getFullYear()+1),["stop"])),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(P),{class:"size-6"})])])]),e.createElementVNode("div",Re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.value,(g,V)=>(e.openBlock(),e.createElementBlock("div",{class:"py-2 text-center bg-gray-200",key:V},e.toDisplayString(g),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,g=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(y(g)),disabled:t.validFrom&&t.validFrom>g||t.validUntil&&t.validUntil<g,onClick:e.withModifiers(V=>t.validFrom&&t.validFrom>g||t.validUntil&&t.validUntil<g?null:z(g),["stop"])},e.toDisplayString(g.getDate()),11,He))),256))])],64)):e.createCommentVNode("",!0),s.value==="years"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",We,[e.createElementVNode("button",{onClick:k[6]||(k[6]=e.withModifiers(g=>m.value-=10,["stop"])),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(T),{class:"size-6"})]),e.createElementVNode("span",null,e.toDisplayString(m.value)+" - "+e.toDisplayString(m.value+9),1),e.createElementVNode("button",{onClick:k[7]||(k[7]=e.withModifiers(g=>m.value+=10,["stop"])),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(P),{class:"size-6"})])]),e.createElementVNode("div",Ue,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(10,g=>e.createElementVNode("div",Ke,[e.createElementVNode("button",{class:"py-2 px-3",onClick:e.withModifiers(V=>{N(m.value+g-1),s.value="days"},["stop"])},e.toDisplayString(m.value+g-1),9,Ze)])),64))])],64)):e.createCommentVNode("",!0)],16)],2))}}),Ge=["for"],Xe=["id","multiple","accept"],Je={__name:"form-file-button",props:{modelValue:{type:Array},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)}},emits:["update:modelValue","form-data"],setup(t,{emit:c}){const o=c,a=t,n=d=>{const r=new FormData;for(let s of d)r.append(a.name,s,s.name);return r},l=d=>{const r=d.target.files||d.dataTransfer.files;if(r){const s=[...r];o("update:modelValue",s),o("form-data",n(s))}};return(d,r)=>(e.openBlock(),e.createElementBlock("label",{for:t.id},[e.renderSlot(d.$slots,"default",{},()=>[e.createTextVNode("Upload")]),e.createElementVNode("input",{type:"file",id:t.id,multiple:t.multiple,accept:t.accept,onChange:l,class:"hidden"},null,40,Xe)],8,Ge))}},Qe=["value"],et={key:0,disabled:"",value:""},tt=["value","selected"],J={__name:"form-select",props:{options:Array,modelValue:[String,Number],disabledLabel:String},emits:["update:modelValue"],setup(t,{emit:c}){const o=c;return(a,n)=>(e.openBlock(),e.createElementBlock("select",e.mergeProps(a.$attrs,{value:t.modelValue,class:"form-select",onChange:n[0]||(n[0]=l=>o("update:modelValue",l.target.value))}),[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,l=>(e.openBlock(),e.createElementBlock("option",{value:l.key!==void 0?l.key:l.label||l,selected:(l.key!==void 0?l.key:l.label||l)===t.modelValue},e.toDisplayString(l.label||l),9,tt))),256))],16,Qe))}},lt=["aria-checked","aria-label"],ot=["d"],nt=["checked"],at={__name:"form-switch",props:{modelValue:Boolean},emits:["update:modelValue"],setup(t,{emit:c}){const o=c,a=e.computed(()=>{let l=Object.assign({},e.useAttrs());return delete l.class,l}),n=e.computed(()=>e.useAttrs().disabled||e.useAttrs().disabled==="");return(l,d)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(l.$attrs.class),tabindex:"0"},[e.createElementVNode("span",{role:"switch",class:e.normalizeClass(["inline-flex relative flex-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-none focus:ring-vxvue",n.value?"bg-slate-200":t.modelValue?"bg-vxvue":"bg-slate-300"]),"aria-checked":t.modelValue,"aria-label":l.$attrs["aria-label"]},[e.createElementVNode("span",{"aria-hidden":"true",class:e.normalizeClass(["block relative size-5 rounded-full ring-0 shadow transition duration-200 ease-in-out transform pointer-events-none",t.modelValue?"translate-x-5":"translate-x-0",n.value?"bg-slate-100":"bg-white"])},[e.renderSlot(l.$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",t.modelValue&&!n.value?"text-vxvue":"text-slate-300"])},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:t.modelValue?"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,ot)],2))])],2),e.createElementVNode("input",e.mergeProps(a.value,{checked:t.modelValue,class:"hidden",value:"1",type:"checkbox",onChange:d[0]||(d[0]=r=>o("update:modelValue",r.target.checked))}),null,16,nt)],10,lt),e.renderSlot(l.$slots,"default")],2))}},Y=(t,c)=>{const o=t.__vccOpts||t;for(const[a,n]of c)o[a]=n;return o},rt=t=>(e.pushScopeId("data-v-921b665d"),t=t(),e.popScopeId(),t),st={"aria-live":"assertive",class:"flex fixed inset-0 z-50 items-start py-6 px-4 pointer-events-none sm:p-6"},it={class:"flex flex-col items-center space-y-4 w-full"},ct={class:"p-4"},dt={class:"flex items-start"},mt={class:"flex-shrink-0"},ut={class:"flex-1 pt-0.5 ml-3 w-0"},ft={class:"font-bold"},pt={class:"mt-1"},ht={class:"flex flex-shrink-0 ml-4"},gt=rt(()=>e.createElementVNode("span",{class:"sr-only"},"Close",-1)),kt=Y(Object.assign({inheritAttrs:!1},{__name:"message-toast",props:{title:String,message:[String,Array],timeout:{type:Number,default:5e3},active:{type:Boolean,default:!1},showTimeoutProgress:{type:Boolean,default:!1}},emits:["timeout","close"],setup(t,{emit:c}){const o=t,a=c,n=e.computed(()=>typeof o.message=="string"?[o.message]:o.message),l=e.ref(0);let d=null;const r=()=>{window.clearTimeout(d),l.value=100,o.active&&o.timeout&&(d=window.setTimeout(()=>{a("timeout")},o.timeout),window.setTimeout(()=>l.value=0,0))};return e.watch(()=>o.active,r),e.onMounted(r),(s,m)=>(e.openBlock(),e.createElementBlock("div",st,[e.createElementVNode("div",it,[e.createVNode(e.Transition,{name:"messagetoast-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 ring-opacity-5 shadow-lg pointer-events-auto",s.$attrs.class])},[e.createElementVNode("div",ct,[e.createElementVNode("div",dt,[e.createElementVNode("div",mt,[e.renderSlot(s.$slots,"icon",{},void 0,!0)]),e.createElementVNode("div",ut,[e.renderSlot(s.$slots,"title",{},()=>[e.createElementVNode("div",ft,e.toDisplayString(t.title),1)],!0),e.renderSlot(s.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,i=>(e.openBlock(),e.createElementBlock("p",pt,e.toDisplayString(i),1))),256))],!0)]),e.createElementVNode("div",ht,[e.createElementVNode("button",{onClick:m[0]||(m[0]=i=>a("close")),class:"inline-flex text-white bg-black bg-opacity-20 rounded-sm focus:ring-2 focus:outline-none hover:text-stone-200 focus:ring-stone-200"},[gt,e.createVNode(e.unref(W),{class:"size-5"})])])])]),t.showTimeoutProgress&&t.timeout?(e.openBlock(),e.createElementBlock("div",{key:0,class:"h-1 bg-vxvue-alt ease-linear transition-all",style:e.normalizeStyle({width:l.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})])]))}}),[["__scopeId","data-v-921b665d"]]),bt={key:0,class:"fixed inset-0 z-[9998] bg-white/50 backdrop-blur-sm","aria-hidden":"true"},yt={key:0,class:"fixed inset-0 z-[9999]"},xt={class:"flex justify-center items-center h-screen"},wt={__name:"modal",props:{show:Boolean,containerClass:{type:String,default:"w-3/4 h-[90vh]"},headerClass:{type:String,default:""},contentClass:{type:String,default:""}},emits:["clicked-outside"],setup(t,{emit:c}){const o=c,a=e.ref(null);return j(a,()=>o("clicked-outside")),(n,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.show?(e.openBlock(),e.createElementBlock("div",bt)):e.createCommentVNode("",!0),e.createVNode(e.Transition,{name:"appear"},{default:e.withCtx(()=>[t.show?(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("div",xt,[e.createElementVNode("div",{class:e.normalizeClass(["overflow-hidden relative max-w-full bg-white rounded ring-1 ring-black ring-opacity-10 shadow-xl transition-all transform xl:max-w-screen-xl",t.containerClass]),ref_key:"container",ref:a},[e.createElementVNode("div",{class:e.normalizeClass(t.headerClass)},[e.renderSlot(n.$slots,"title")],2),e.createElementVNode("div",{class:e.normalizeClass(["overflow-y-auto h-full pb-4 mt-16",t.contentClass])},[e.renderSlot(n.$slots,"default")],2)],2)])])):e.createCommentVNode("",!0)]),_:3})],64))}},Bt={class:"flex justify-between items-center px-4 sm:px-0"},Vt={class:"flex flex-1 -mt-px w-0"},Et={class:"hidden md:flex md:-mt-px"},$t={class:"flex flex-1 justify-end -mt-px w-0"},Ct={__name:"pagination",props:{page:{type:Number,default:1},total:{type:Number,default:1},perPage:{type:Number,default:20,validator(t){return 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){return["above","below"].indexOf(t)!==-1}}},emits:["update:page"],setup(t,{emit:c}){const o=c,a=t,n=e.ref(Math.ceil(a.total/a.perPage)),l=e.ref(null),d=e.computed(()=>(a.markerPosition==="above"?"border-t-2 -mt-[2px]":"border-b-2 -mb-[2px]")+" py-4"),r=e.computed(()=>{let i=[1];if(a.showAllPages||n.value<=7){for(let f=2;f<=n.value;++f)i.push(f);return i}return l.value>=n.value?i.push("dots",l.value-2,l.value-1):l.value-1&&l.value-1>1&&(l.value>1&&i.push("dots"),i.push(l.value-1)),l.value>1&&i.push(l.value),l.value+1<n.value&&(i.push(l.value+1),l.value<=1&&i.push(l.value+2),l.value+2<n.value&&i.push("dots")),l.value<n.value&&i.push(n.value),i}),s=()=>{l.value>1&&o("update:page",l.value-1)},m=()=>{l.value<n.value&&o("update:page",l.value+1)};return e.watch(()=>a.page,i=>l.value=Math.min(Math.max(i,1),n.value),{immediate:!0}),e.watch(()=>a.perPage,i=>{n.value=Math.ceil(a.total/a.perPage),o("update:page",1)}),e.watch(()=>a.total,i=>{n.value=Math.ceil(a.total/a.perPage),l.value>n.value&&o("update:page",1)}),(i,f)=>(e.openBlock(),e.createElementBlock("nav",Bt,[e.createElementVNode("div",Vt,[t.showNavButtons?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:e.withModifiers(s,["prevent"]),href:"#",class:e.normalizeClass(["inline-flex items-center pr-1 text-sm font-medium text-gray-500 border-transparent hover:text-gray-700 hover:border-gray-300 !no-underline",[{"cursor-default pointer-events-none":l.value<=1},d.value]])},[e.createVNode(e.unref(T),{class:"size-5"}),e.createTextVNode(" "+e.toDisplayString(t.prevText),1)],2)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Et,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(u,h)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u!=="dots"?"a":"span"),{onClick:e.withModifiers(b=>u!=="dots"?o("update:page",u):null,["prevent"]),key:h,href:u!=="dots"?"#":null,class:e.normalizeClass(["inline-flex items-center px-4 text-sm font-medium !no-underline",[{"border-vxvue-500 text-vxvue-700":u===l.value,"border-transparent text-gray-500":u!==l.value,"hover:text-gray-700 hover:border-gray-300":u!=="dots"},d.value]])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u!=="dots"?u:"..."),1)]),_:2},1032,["onClick","href","class"]))),128))]),e.createElementVNode("div",$t,[t.showNavButtons?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:e.withModifiers(m,["prevent"]),href:"#",class:e.normalizeClass(["inline-flex items-center pl-1 text-sm font-medium text-gray-500 border-transparent hover:text-gray-700 hover:border-gray-300 !no-underline",[d.value,{"cursor-default pointer-events-none":l.value>=n.value}]])},[e.createTextVNode(e.toDisplayString(t.nextText)+" ",1),e.createVNode(e.unref(P),{class:"size-5"})],2)):e.createCommentVNode("",!0)])]))}};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:"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 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:"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 vt=["value","type"],Mt=["disabled"],Dt=Object.assign({inheritAttrs:!1},{__name:"password-input",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:c}){const o=c,a=e.ref(!1),n=e.computed(()=>{let l=Object.assign({},e.useAttrs());return delete l.class,l});return(l,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("inline-block relative "+e.useAttrs().class)},[e.createElementVNode("input",e.mergeProps({value:t.modelValue,type:a.value?"text":"password",onInput:d[0]||(d[0]=r=>o("update:modelValue",r.target.value))},n.value,{class:"block pr-12 w-full form-input peer"}),null,16,vt),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:d[1]||(d[1]=e.withModifiers(r=>a.value=!a.value,["stop"]))},[a.value?(e.openBlock(),e.createBlock(e.unref(Nt),{key:0,class:"size-5"})):(e.openBlock(),e.createBlock(e.unref(St),{key:1,class:"size-5"}))],8,Mt)],2))}}),At={class:"flex items-center pb-1"},zt={key:0,class:"ml-6"},Pt=Object.assign({inheritAttrs:!1},{__name:"simple-tree",props:{branch:{type:Object,default:{}},modelValue:{type:Object,default:null}},emits:["update:modelValue","expand"],setup(t,{emit:c}){const o=t,a=c,n=e.ref(!1);return e.onMounted(()=>{o.branch===o.modelValue&&a("expand",!0)}),(l,d)=>{const r=e.resolveComponent("simple-tree",!0);return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([!t.branch.branches||!t.branch.branches.length?"terminates":"",l.$attrs.class])},[e.createElementVNode("div",At,[t.branch.branches&&t.branch.branches.length?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:d[0]||(d[0]=s=>n.value=!n.value),class:"mr-2"},[e.renderSlot(l.$slots,"toggle",{branch:t.branch,expanded:n.value},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value?e.unref(oe):e.unref(ne)),{class:"p-1 text-white rounded-sm size-5 bg-vxvue-700 hover:bg-vxvue"}))])])):e.createCommentVNode("",!0),t.branch===t.modelValue?e.renderSlot(l.$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:d[1]||(d[1]=s=>a("update:modelValue",t.branch))},[e.renderSlot(l.$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,s=>(e.openBlock(),e.createBlock(r,{key:s.id||s.key||null,branch:s,"model-value":t.modelValue,"onUpdate:modelValue":d[2]||(d[2]=m=>a("update:modelValue",m)),onExpand:d[3]||(d[3]=m=>{n.value=m,a("expand",m)})},e.createSlots({_:2},[e.renderList(l.$slots,(m,i)=>({name:i,fn:e.withCtx(f=>[e.renderSlot(l.$slots,i,e.mergeProps({ref_for:!0},f))])}))]),1032,["branch","model-value"]))),128))],512)),[[e.vShow,n.value]]):e.createCommentVNode("",!0)],2)}}}),Lt=["aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext"],Ft=["id"],Tt=["id","aria-label"],It=Object.assign({inheritAttrs:!1},{__name:"slider",props:{min:{type:Number,default:0},max:{type:Number,default:100},vertical:Boolean,disabled:Boolean,modelValue:{type:[Number,Array],validator(t){return typeof t=="number"||t.every(c=>typeof c=="number")}}},emits:["update:modelValue","dragStart","dragStop"],setup(t,{emit:c}){const o=t,a=c,n=e.useAttrs(),l={x:null,y:null},d={w:null,h:null};let r=!1;const s=e.ref(null),m=e.ref(0),i=e.computed(()=>{const y=o.max,p=o.min;return o.modelValue instanceof Array?o.modelValue.map(k=>(Math.max(Math.min(k,y),p)-p)*100/(y-p)):(Math.max(Math.min(o.modelValue,y),p)-p)*100/(y-p)}),f=e.computed(()=>{if(o.modelValue instanceof Array){const y=Math.min(...i.value)+"%",p=Math.max(...i.value)-Math.min(...i.value)+"%";return o.vertical?{bottom:y,height:p}:{left:y,width:p}}return o.vertical?{bottom:0,height:i.value+"%"}:{width:i.value+"%"}}),u=e.ref({class:(o.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 "+(o.disabled?"":" focus:ring-4 focus:outline-none border-vxvue cursor-grab hover:bg-vxvue focus:ring-vxvue/50"),tabindex:0}),h=y=>{let p=parseFloat(y.toFixed(10));if(p=Math.min(o.max,Math.max(o.min,p)),o.modelValue instanceof Array){let k=[...o.modelValue];k[m.value]=p,a("update:modelValue",k)}else a("update:modelValue",p)},b=y=>{const{pageX:p,pageY:k}=y.touches?y.touches[0]:y,g=o.vertical?(-k+l.y)/d.h:(p-l.x)/d.w;h(Math.floor((o.max-o.min)*g+o.min))},E=()=>{const{clientLeft:y,clientTop:p,scrollLeft:k,scrollTop:g}=document.documentElement,V=s.value.getBoundingClientRect();l.x=V.left+k-y,l.y=V.bottom+g-p,d.w=s.value.offsetWidth,d.h=s.value.offsetHeight},$=y=>{r&&(y.preventDefault(),b(y))},C=y=>{y.preventDefault(),y.currentTarget.focus(),E(),r=!0,y.type==="mousedown"?(document.addEventListener("mousemove",$),document.addEventListener("mouseup",N)):(document.addEventListener("touchmove",$),document.addEventListener("touchend",N)),a("dragStart")},N=y=>{r&&(r=!1,y.type==="mouseup"?(document.removeEventListener("mousemove",$),document.removeEventListener("mouseup",N)):(document.removeEventListener("touchmove",$),document.removeEventListener("touchend",N)),setTimeout(()=>a("dragStop"),0))},z=y=>{y.keyCode>=33&&y.keyCode<=40&&y.preventDefault();const p=o.modelValue[m.value]??o.modelValue;switch(y.keyCode){case 37:case 40:h(p-1);break;case 39:case 38:h(p+1);break;case 33:h(p+(o.max-o.min)/10);break;case 34:h(p-(o.max-o.min)/10);break;case 36:h(o.min);break;case 35:h(o.max)}},v=y=>{E(),b(y)};return(y,p)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({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"],ref_key:"track",ref:s,role:"slider","aria-label":"slider-thumb","aria-valuemin":t.min,"aria-valuemax":o.max,"aria-valuenow":t.modelValue[0]??t.modelValue,"aria-valuetext":t.modelValue},e.toHandlers(t.disabled?{}:{click:v},!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(f.value)},null,6)),t.modelValue.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(t.modelValue,(k,g)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps({id:g?null:e.unref(n).id,style:t.vertical?{bottom:i.value[g]+"%"}:{left:i.value[g]+"%"},"aria-label":"slider-thumb-"+(g+1)},e.toHandlers(t.disabled?{}:{focus:()=>m.value=g,keydown:z,touchstart:V=>{m.value=g,C(V)},mousedown:V=>{m.value=g,C(V)},touchend:N,mouseup:N},!0),{ref_for:!0},u.value),null,16,Tt))),256)):(e.openBlock(),e.createElementBlock("button",e.mergeProps({key:1,id:e.unref(n).id,style:t.vertical?{bottom:i.value+"%"}:{left:i.value+"%"},"aria-label":"slider-thumb"},e.toHandlers(t.disabled?{}:{focus:()=>m.value=0,keydown:z,touchstart:k=>{m.value=0,C(k)},mousedown:k=>{m.value=0,C(k)},touchend:N,mouseup:N},!0),u.value),null,16,Ft))],16,Lt))}}),_t={class:"text-white bg-vxvue-800"},Ot=["onClick"],jt={class:"flex items-center space-x-1"},Yt=Y({__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},sortDirection:{type:String,validator:t=>!t||["asc","desc"].indexOf(t)!==-1},keyProperty:{type:String,default:"key"}},emits:["before-sort","after-sort"],setup(t,{emit:c}){const o=t,a=c,n=e.ref(o.sortProp),l=e.ref(o.sortDirection),d=e.computed(()=>{let s=o.rows.slice();const m=o.columns.find(({prop:i})=>i===n.value);return m&&(l.value==="asc"&&m.sortAscFunction?s.sort(m.sortAscFunction):l.value==="desc"&&m.sortDescFunction?s.sort(m.sortDescFunction):s.sort((i,f)=>i[n.value]<f[n.value]?l.value==="asc"?-1:1:i[n.value]>f[n.value]?l.value==="asc"?1:-1:0)),s.slice(o.offset||0,(o.offset||0)+(o.count||s.length))}),r=s=>{a("before-sort",{prop:n.value,dir:l.value}),n.value===s?l.value=l.value==="asc"?"desc":"asc":(n.value=s,l.value=l.value||"asc"),e.nextTick(()=>a("after-sort",{prop:n.value,dir:l.value}))};return(s,m)=>(e.openBlock(),e.createElementBlock("table",{class:e.normalizeClass(s.$attrs.class||"w-full divide-y divide-y-slate-900 table-fixed")},[e.createElementVNode("thead",_t,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,i=>(e.openBlock(),e.createElementBlock("th",{scope:"col",class:e.normalizeClass(["py-3 px-6 text-left",[{"cursor-pointer":i.sortable,active:n.value===i.prop},i.cssClass]]),onClick:f=>i.sortable?r(i.prop):null},[e.renderSlot(s.$slots,i.prop+"-header",{column:i,sortDir:l.value,sortProp:n.value},()=>[e.createElementVNode("div",jt,[e.createElementVNode("span",null,e.toDisplayString(i.label),1),i.sortable?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value!==i.prop?e.unref(te):l.value==="asc"?e.unref(ee):e.unref(le)),{key:0,class:"size-4"})):e.createCommentVNode("",!0)])],!0)],10,Ot))),256))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,i=>(e.openBlock(),e.createElementBlock("tr",{key:i[t.keyProperty],class:e.normalizeClass(i.cssClass)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,f=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(["overflow-hidden py-3 px-6 whitespace-nowrap text-ellipsis",{active:n.value===f.prop}])},[e.renderSlot(s.$slots,f.prop,{row:i},()=>[e.createTextVNode(e.toDisplayString(i[f.prop]),1)],!0)],2))),256))],2))),128))])],2))}},[["__scopeId","data-v-6abd4b76"]]),Rt={class:"flex items-center space-x-2"},Ht=["disabled"],Wt=Y(Object.assign({inheritAttrs:!1},{__name:"submit-button",props:{busy:Boolean,spinnerClass:String,theme:String},emits:["submit"],setup(t,{emit:c}){const o=c;return(a,n)=>(e.openBlock(),e.createElementBlock("div",Rt,[e.createElementVNode("button",{class:e.normalizeClass([a.$attrs.class,t.theme]),disabled:a.$attrs.disabled||t.busy,type:"button",onClick:n[0]||(n[0]=l=>o("submit"))},[e.renderSlot(a.$slots,"default",{},void 0,!0)],10,Ht),t.busy?(e.openBlock(),e.createBlock(_,{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-2eba6082"]]),Ut={class:"sm:hidden"},Kt={class:"hidden sm:block"},Zt={class:"border-b border-gray-200"},qt={class:"flex -mb-px space-x-8","aria-label":"Tabs"},Gt=["onClick","aria-current"],Xt={__name:"tabs",props:{items:{type:Array,default:[]},activeIndex:{type:Number,default:0}},emits:["update:active-index"],setup(t,{emit:c}){const o=t,a=c,n=e.ref(o.items[o.activeIndex]||{}),l=e.computed(()=>{let r=[];return o.items.forEach((s,m)=>{s.disabled||r.push({label:s.name,key:m})}),r});e.watch(()=>o.activeIndex,r=>{n.value=o.items[r]||{}});const d=r=>{r.disabled||(n.value=r,a("update:active-index",o.items.indexOf(r)))};return(r,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Ut,[e.createVNode(J,{options:l.value,"model-value":t.activeIndex,"onUpdate:modelValue":s[0]||(s[0]=m=>a("update:activeIndex",m)),class:"w-full"},null,8,["options","model-value"])]),e.createElementVNode("div",Kt,[e.createElementVNode("div",Zt,[e.createElementVNode("nav",qt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,m=>(e.openBlock(),e.createElementBlock("a",{key:m.name,href:"#",onClick:e.withModifiers(i=>d(m),["prevent"]),class:e.normalizeClass([n.value===m?"border-vxvue-500 text-vxvue-600":"border-transparent text-gray-900 hover:text-gray-700 hover:border-gray-300",m.disabled?"cursor-not-allowed text-gray-400 hover:border-transparent":"","group inline-flex items-center py-4 px-1 border-b-4 font-medium !no-underline"]),"aria-current":n.value===m?"page":void 0},[e.renderSlot(r.$slots,"icon",{tab:m}),e.createElementVNode("span",null,[e.renderSlot(r.$slots,"default",{tab:m},()=>[e.createTextVNode(e.toDisplayString(m.name),1)])]),e.renderSlot(r.$slots,"badge",{tab:m},()=>[m.badge?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass([n.value===m?"bg-vxvue-50 text-vxvue-700":"bg-gray-200 text-gray-900",m.disabled?"bg-gray-100 text-gray-400":"","hidden ml-3 py-0.5 px-2.5 rounded-full text-xs font-medium md:inline-block"])},e.toDisplayString(m.badge),3)):e.createCommentVNode("",!0)])],10,Gt))),128))])])])],64))}};B.Accordion=Q,B.AccordionPanel=ie,B.Autocomplete=Be,B.Confirm=Pe,B.DateInput=X,B.Datepicker=qe,B.FormFileButton=Je,B.FormSelect=J,B.FormSwitch=at,B.MessageToast=kt,B.Modal=wt,B.Pagination=Ct,B.PasswordInput=Dt,B.SimpleTree=Pt,B.Slider=It,B.Sortable=Yt,B.Spinner=_,B.SubmitButton=Wt,B.Tabs=Xt,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})});
1
+ (function(B,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(B=typeof globalThis<"u"?globalThis:B||self,e(B.vxVue={},B.Vue))})(this,function(B,e){"use strict";const Q={__name:"accordion",props:{activeIndex:[Number,Array]},emits:["update:activeIndex"],setup(t,{emit:c}){const l=t,a=c,o=e.useSlots(),n=e.ref([]),d=u=>n.value.push(u),r=e.computed(()=>(n.value=[],o.default().reduce((u,f)=>((f.type.__name||f.type.name)==="accordion-panel"&&u.push(f),u),[]))),s=u=>{if(Array.isArray(l.activeIndex)){let f=[].concat(l.activeIndex),g=f.findIndex(h=>h===u);g===-1?a("update:activeIndex",[...f,u]):(f.splice(g,1),a("update:activeIndex",f))}else a("update:activeIndex",u===l.activeIndex?-1:u)},m=u=>{if(u=++u%r.value.length,!n.value[u].disabled){s(u),n.value[u].focus();return}m(u)},i=u=>{if(u=(u||r.value.length)-1,!n.value[u].disabled){s(u),n.value[u].focus();return}i(u)};return e.onBeforeUpdate(()=>n.value=[]),(u,f)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(g,h)=>{var V;return e.openBlock(),e.createBlock(e.resolveDynamicComponent(g),{key:h,show:Array.isArray(t.activeIndex)?((V=t.activeIndex)==null?void 0:V.indexOf(h))!==-1:t.activeIndex===h,onSelect:E=>s(h),onKeydown:E=>m(h),onKeyup:E=>i(h),ref_for:!0,ref:d},null,40,["show","onSelect","onKeydown","onKeyup"])}),128))}};function ee(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 F(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 A(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 te(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 le(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 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:"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 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 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 W(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 ae=["id","disabled","aria-expanded","aria-controls"],re=["aria-labelledby","id"],se={class:"overflow-hidden rounded-b"},ie=Object.assign({inheritAttrs:!1},{__name:"accordion-panel",props:{show:Boolean,disabled:Boolean},emits:["select","keyup","keydown"],setup(t,{expose:c,emit:l}){const a=l,o=t,n=e.useAttrs(),d=e.ref(null),r=Math.random().toString(20).substring(2,8),s=i=>{if(!o.disabled){const u=new Map([[40,"keydown"],[38,"keyup"]]).get(i.keyCode);u&&(a(u),i.preventDefault())}};return c({focus:()=>d.value.focus(),disabled:o.disabled}),(i,u)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("button",{onClick:u[0]||(u[0]=f=>a("select")),onKeydown:s,class:e.normalizeClass(["flex items-center w-full space-x-2 px-4 py-2 ring-vxvue",t.show?"rounded-t":"rounded",t.disabled?"bg-slate-300 text-slate-700":"bg-vxvue hover:bg-vxvue-600 text-white",e.unref(n).class]),id:"ap-control-"+e.unref(r),disabled:t.disabled,"aria-expanded":t.show,"aria-controls":"ap-"+e.unref(r),ref_key:"btn",ref:d,tabindex:"0"},[t.disabled?(e.openBlock(),e.createBlock(e.unref(W),{key:0,class:"size-5"})):(e.openBlock(),e.createBlock(e.unref(A),{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(i.$slots,"header")])],42,ae),e.createElementVNode("div",{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(r),id:"ap-"+e.unref(r)},[e.createElementVNode("div",se,[e.renderSlot(i.$slots,"default")])],10,re)]))}}),ce=["viewBox"],de=["cx","cy","r","stroke-width"],me=["cx","cy","r","stroke-width","stroke-dasharray"],I={__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),a=e.computed(()=>c.radius*2+c.strokeWidth),o=e.computed(()=>c.radius*Math.PI/1.5);return(n,d)=>(e.openBlock(),e.createElementBlock("svg",{class:"animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 "+a.value+" "+a.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,de),e.createElementVNode("circle",{cx:l.value,cy:l.value,r:t.radius,stroke:"currentColor","stroke-width":t.strokeWidth,"stroke-dasharray":o.value+" "+t.radius*100,"stroke-linecap":"round"},null,8,me)],8,ce))}};function ue(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function U(t){return typeof t=="function"?t():e.unref(t)}const K=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const fe=Object.prototype.toString,pe=t=>fe.call(t)==="[object Object]",_=()=>{},he=ge();function ge(){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))}const ke=/[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}|SSS/g;function be(t,c,l,a){let o=t<12?"AM":"PM";return a&&(o=o.split("").reduce((n,d)=>n+=`${d}.`,"")),l?o.toLowerCase():o}function D(t){const c=["th","st","nd","rd"],l=t%100;return t+(c[(l-20)%10]||c[l]||c[0])}function Z(t,c,l={}){var a;const o=t.getFullYear(),n=t.getMonth(),d=t.getDate(),r=t.getHours(),s=t.getMinutes(),m=t.getSeconds(),i=t.getMilliseconds(),u=t.getDay(),f=(a=l.customMeridiem)!=null?a:be,g={Yo:()=>D(o),YY:()=>String(o).slice(-2),YYYY:()=>o,M:()=>n+1,Mo:()=>D(n+1),MM:()=>`${n+1}`.padStart(2,"0"),MMM:()=>t.toLocaleDateString(l.locales,{month:"short"}),MMMM:()=>t.toLocaleDateString(l.locales,{month:"long"}),D:()=>String(d),Do:()=>D(d),DD:()=>`${d}`.padStart(2,"0"),H:()=>String(r),Ho:()=>D(r),HH:()=>`${r}`.padStart(2,"0"),h:()=>`${r%12||12}`.padStart(1,"0"),ho:()=>D(r%12||12),hh:()=>`${r%12||12}`.padStart(2,"0"),m:()=>String(s),mo:()=>D(s),mm:()=>`${s}`.padStart(2,"0"),s:()=>String(m),so:()=>D(m),ss:()=>`${m}`.padStart(2,"0"),SSS:()=>`${i}`.padStart(3,"0"),d:()=>u,dd:()=>t.toLocaleDateString(l.locales,{weekday:"narrow"}),ddd:()=>t.toLocaleDateString(l.locales,{weekday:"short"}),dddd:()=>t.toLocaleDateString(l.locales,{weekday:"long"}),A:()=>f(r,s),AA:()=>f(r,s,!1,!0),a:()=>f(r,s,!0),aa:()=>f(r,s,!0,!0)};return c.replace(ke,(h,V)=>{var E,$;return($=V??((E=g[h])==null?void 0:E.call(g)))!=null?$:h})}function P(t){var c;const l=U(t);return(c=l==null?void 0:l.$el)!=null?c:l}const q=K?window:void 0;function O(...t){let c,l,a,o;if(typeof t[0]=="string"||Array.isArray(t[0])?([l,a,o]=t,c=q):[c,l,a,o]=t,!c)return _;Array.isArray(l)||(l=[l]),Array.isArray(a)||(a=[a]);const n=[],d=()=>{n.forEach(i=>i()),n.length=0},r=(i,u,f,g)=>(i.addEventListener(u,f,g),()=>i.removeEventListener(u,f,g)),s=e.watch(()=>[P(c),U(o)],([i,u])=>{if(d(),!i)return;const f=pe(u)?{...u}:u;n.push(...l.flatMap(g=>a.map(h=>r(i,g,h,f))))},{immediate:!0,flush:"post"}),m=()=>{s(),d()};return ue(m),m}let X=!1;function j(t,c,l={}){const{window:a=q,ignore:o=[],capture:n=!0,detectIframe:d=!1}=l;if(!a)return _;he&&!X&&(X=!0,Array.from(a.document.body.children).forEach(f=>f.addEventListener("click",_)),a.document.documentElement.addEventListener("click",_));let r=!0;const s=f=>o.some(g=>{if(typeof g=="string")return Array.from(a.document.querySelectorAll(g)).some(h=>h===f.target||f.composedPath().includes(h));{const h=P(g);return h&&(f.target===h||f.composedPath().includes(h))}}),i=[O(a,"click",f=>{const g=P(t);if(!(!g||g===f.target||f.composedPath().includes(g))){if(f.detail===0&&(r=!s(f)),!r){r=!0;return}c(f)}},{passive:!0,capture:n}),O(a,"pointerdown",f=>{const g=P(t);r=!s(f)&&!!(g&&!f.composedPath().includes(g))},{passive:!0}),d&&O(a,"blur",f=>{setTimeout(()=>{var g;const h=P(t);((g=a.document.activeElement)==null?void 0:g.tagName)==="IFRAME"&&!(h!=null&&h.contains(a.document.activeElement))&&c(f)},0)})].filter(Boolean);return()=>i.forEach(f=>f())}const ye=["value","onKeydown"],xe={class:"flex absolute inset-y-0 right-0 items-center pr-3 text-vxvue-700"},we=["data-result-index"],Be=Object.assign({inheritAttrs:!1},{__name:"autocomplete",props:{modelValue:{type:String,default:""},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},emits:["update:modelValue","blur","submit"],setup(t,{emit:c}){const l=c,a=t,o=e.useAttrs(),d=(()=>{let x=0;return w=>(w||"")+ ++x})()((o.id||"autocomplete")+"-"),r=e.ref([]),s=e.ref(-1),m=e.ref(0),i=e.ref(!1),u=e.ref(!1),f=e.ref("top-0 translate-y-12"),g=e.ref(!0),h=e.ref(null),V=e.ref(null),E=e.ref(null),$=e.computed(()=>r.value.map((x,w)=>({id:(o.id||"autocomplete")+"-item-"+w,class:[a.resultItemClass,{"bg-vxvue-700 text-white":s.value===w}],role:"option",...s.value===w?{"aria-selected":"true"}:{}}))),S=e.computed(()=>({role:"combobox",autocomplete:"off",autocapitalize:"off",autocorrect:"off",spellcheck:"false","aria-autocomplete":"list","aria-haspopup":"listbox","aria-owns":d,"aria-expanded":i.value?"true":"false","aria-activedescendant":s.value>-1?$.value[s.value].id:"",...o})),L=e.computed(()=>({id:d,class:["absolute min-w-full transform z-10",a.resultListClass,f.value],role:"listbox"})),v=()=>{s.value=-1,r.value=[],i.value=!1,g.value=!0},y=x=>{const w=a.search(x);if(w instanceof Promise){const M=++m.value;u.value=!0,w.then(N=>{M===m.value&&(r.value=N,u.value=!1,r.value.length?(s.value=a.autoSelect?0:-1,i.value=!0):v())})}else r.value=w,r.value.length===0?v():(s.value=a.autoSelect?0:-1,i.value=!0)},p=()=>{const x=r.value[s.value];return x&&l("update:modelValue",a.getResultValue(x)),v(),x},b=x=>{l("update:modelValue",x),y(x)},k=x=>y(x.target.value),C=()=>{v(),l("blur")},z=()=>{const x=r.value.length;s.value=((s.value-1)%x+x)%x},R=x=>{i.value||k(x);const w=r.value.length;s.value=((s.value+1)%w+w)%w},T=()=>{v(),l("update:modelValue","")},H=()=>l("submit",p()),Qt=x=>{const w=x.target.closest("[data-result-index]");w&&(s.value=parseInt(w.dataset.resultIndex,10),l("submit",p()))};return j(E,v),e.onUpdated(()=>{if(h.value){const x=V.value.getBoundingClientRect(),w=h.value.getBoundingClientRect();g.value&&r.value.length&&(g.value=!1,f.value=x.bottom+w.height>window.innerHeight&&window.innerHeight-x.bottom<x.top&&window.pageYOffset+x.top-w.height>0?"bottom-0 -translate-y-12":"top-0 translate-y-12");const M=h.value.querySelector('[data-result-index="'+s.value+'"]');if(M){let N=M.getBoundingClientRect();N.top<w.top?h.value.scrollTop-=w.top-N.top:N.bottom>w.bottom&&(h.value.scrollTop+=N.bottom-w.bottom)}}}),(x,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["inline-block relative",x.$attrs.class]),ref_key:"container",ref:E},[e.createElementVNode("input",e.mergeProps({ref_key:"input",ref:V,class:"block pr-10 w-full form-input focus:border-vxvue",value:t.modelValue},S.value,{onInput:w[0]||(w[0]=M=>b(M.target.value)),onKeydown:[e.withKeys(H,["enter"]),e.withKeys(T,["esc"]),e.withKeys(p,["tab"]),e.withKeys(e.withModifiers(z,["prevent"]),["up"]),e.withKeys(e.withModifiers(R,["prevent"]),["down"])],onFocus:k,onBlur:C}),null,16,ye),e.createElementVNode("span",xe,[u.value?(e.openBlock(),e.createBlock(I,{key:0,class:"size-5"})):e.createCommentVNode("",!0)]),r.value.length?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,ref_key:"resultList",ref:h},L.value,{onClick:Qt,onMousedown:w[1]||(w[1]=e.withModifiers(()=>{},["prevent"]))}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(M,N)=>(e.openBlock(),e.createElementBlock("div",{"data-result-index":N},[e.renderSlot(x.$slots,"result",{result:M,props:$.value[N]},()=>[(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:$.value[N].id,ref_for:!0},$.value[N]),e.toDisplayString(t.getResultValue(M)),17))])],8,we))),256))],16)):e.createCommentVNode("",!0)],2))}}),Ve={key:0,class:"fixed inset-0 z-50 bg-black bg-opacity-50 backdrop-blur-sm","aria-hidden":"true"},Ee={key:0,class:"overflow-y-auto fixed inset-0 z-50"},$e={class:"flex justify-center items-center min-h-screen text-center sm:block sm:p-0"},Ce={key:0},Se=e.createElementVNode("span",{class:"hidden sm:inline-block sm:h-screen sm:align-middle","aria-hidden":"true"},"​",-1),Ne={class:"inline-block overflow-hidden text-left align-bottom bg-white rounded shadow-xl transition-all transform sm:my-8 sm:w-full sm:max-w-sm sm:align-middle lg:max-w-lg"},ve={class:"px-4 pb-4 mt-4 sm:px-6 sm:pb-6 sm:mt-5"},Me={class:"flex flex-row items-center"},De={class:"flex-shrink-0"},ze={class:"flex-grow text-center"},Le=["onClick"],Ae={__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-400"},buttonClass:{type:String,default:"button"}},setup(t,{expose:c}){const l=t,a=e.ref(""),o=e.ref(""),n=e.ref(!1);let d=null,r=null;const s=e.computed(()=>Array.isArray(l.buttons)?l.buttons:[l.buttons]),m=e.ref(null),i=(f,g)=>{n.value=!1,f.value!==void 0?f.value?d():r():g?r():d()};return c({open:(f,g)=>(a.value=f,o.value=g,n.value=!0,e.nextTick(()=>m.value.firstElementChild.focus()),new Promise((h,V)=>{d=h,r=V}))}),(f,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[n.value?(e.openBlock(),e.createElementBlock("div",Ve)):e.createCommentVNode("",!0),e.createVNode(e.Transition,{name:"appear"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createElementBlock("div",Ee,[e.createElementVNode("div",$e,[n.value?(e.openBlock(),e.createElementBlock("div",Ce,[Se,e.createElementVNode("div",Ne,[a.value||f.$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(f.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",ve,[e.createElementVNode("div",Me,[e.createElementVNode("div",De,[e.renderSlot(f.$slots,"icon")]),e.createElementVNode("p",ze,[e.renderSlot(f.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.value),1)])])]),e.createElementVNode("div",{class:"flex justify-center mt-5 space-x-2 sm:mt-6",ref_key:"buttonsContainer",ref:m},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(h,V)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass([t.buttonClass,h.class]),onClick:e.withModifiers(E=>i(h,V),["prevent"])},e.toDisplayString(h.label),11,Le))),256))],512)])])])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),_:3})],64))}};function Pe(t,c){const l=e.ref(!1),a=e.toValue(c);let o,n=a.toLowerCase().replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),d=[];if((o=a.match(/\bd\b/gi))&&o.length===1)n=n.replace("d","(\\d{1,2})");else if((o=a.match(/\bdd\b/gi))&&o.length===1)n=n.replace("dd","(\\d{2})");else return{date:l};if(d.push({srcPos:a.toLowerCase().indexOf("d"),destPos:2}),(o=a.match(/\bm\b/gi))&&o.length===1)n=n.replace("m","(\\d{1,2})");else if((o=a.match(/\bmm\b/gi))&&o.length===1)n=n.replace("mm","(\\d{2})");else return{date:l};if(d.push({srcPos:a.toLowerCase().indexOf("m"),destPos:1}),(o=a.match(/\byyyy\b/gi))&&o.length===1)n=n.replace("yyyy","(\\d{4})");else return{date:l};if(d.push({srcPos:a.toLowerCase().indexOf("y"),destPos:0}),!(o=e.toValue(t).match(n)))return{date:l};o.shift(),d.sort((i,u)=>i.srcPos<u.srcPos?-1:1);let r=[],s,m;for(;s=o.shift();)m=d.shift(),r[m.destPos]=s;return r=Date.parse(r.join("-")),r&&(r=new Date(r),l.value=new Date(r.getFullYear(),r.getMonth(),r.getDate(),0,0,0)),{date:l}}const Te={key:0},Fe={class:"text-vxvue-700"},_e=[e.createElementVNode("svg",{class:"size-2",stroke:"currentColor",fill:"none",viewBox:"0 0 8 8"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-width":"1.5",d:"M1 1l6 6m0-6L1 7"})],-1)],Ie=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"size-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})],-1)],G=Object.assign({inheritAttrs:!1},{__name:"date-input",props:{outputFormat:{type:String,default:"YYYY-MM-DD"},inputFormat:{type:String,default:"YYYY-MM-DD"},showToggle:{type:Boolean,default:!1},modelValue:Date},emits:["update:modelValue","toggle-datepicker"],setup(t,{emit:c}){const l=c,a=t,o=e.ref(""),n=e.computed(()=>a.modelValue?Z(a.modelValue,a.outputFormat):""),d=e.computed(()=>{let r=Object.assign({},e.useAttrs());return delete r.class,r});return e.watch(()=>a.modelValue,r=>o.value=r?Z(r,a.outputFormat):""),(r,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["inline-block relative",r.$attrs.class])},[n.value?(e.openBlock(),e.createElementBlock("div",Te,[e.createElementVNode("div",{class:e.normalizeClass(["block flex items-center w-full form-input bg-vxvue-50",{"pr-10":t.showToggle}])},[e.createElementVNode("span",Fe,e.toDisplayString(n.value),1),e.createElementVNode("button",{onClick:s[0]||(s[0]=m=>l("update:modelValue",null)),class:"inline-flex flex-shrink-0 justify-center items-center ml-2 rounded-full focus:text-white focus:outline-none size-4 text-vxvue hover:bg-vxvue-100 hover:text-vue-700 focus:bg-vxvue-700"},_e)],2)])):e.withDirectives((e.openBlock(),e.createElementBlock("input",e.mergeProps({key:1,type:"text",class:["block w-full form-input peer focus:border-vxvue",{"pr-10":t.showToggle}],"onUpdate:modelValue":s[1]||(s[1]=m=>o.value=m),onBlur:s[2]||(s[2]=m=>{var i;return l("update:modelValue",((i=e.unref(Pe)(o.value,a.inputFormat).date)==null?void 0:i.value)||null)}),onInput:s[3]||(s[3]=e.withModifiers(()=>{},["prevent"]))},d.value),null,16)),[[e.vModelText,o.value]]),t.showToggle?(e.openBlock(),e.createElementBlock("button",{key:2,class:"flex absolute inset-y-0 right-0 items-center px-2 text-vxvue-700 hover:text-vxvue","aria-label":"datepicker-toggle",onClick:s[4]||(s[4]=e.withModifiers(m=>l("toggle-datepicker"),["stop"])),ref:"toggleButton"},Ie,512)):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"default")],2))}}),Oe={class:"flex items-center py-2 px-3 text-white bg-vxvue-700"},je={class:"flex justify-between w-1/2"},Ye={class:"flex justify-between w-1/2"},Re={class:"grid grid-cols-7 gap-0.5 p-0.5"},He=["disabled","onClick"],We={class:"flex justify-between items-center py-2 px-3 text-white bg-vxvue-700"},Ue={class:"grid grid-cols-2 gap-0.5 p-0.5"},Ke={class:"text-center hover:ring-2 text-vxvue-700 hover:ring-vxvue"},Ze=["onClick"],qe=Object.assign({inheritAttrs:!1},{__name:"datepicker",props:{modelValue:Date,validFrom:Date,validUntil:Date,dayNames:{type:Array,default:()=>"S M T W T F S".split(" ")},locale:{type:String,default:"default"},startOfWeekIndex:{type:Number,default:0,validator:t=>t===0||t===1},hasInput:{type:Boolean,default:!0}},emits:["update:modelValue","month-change","year-change"],setup(t,{emit:c}){const l=t,a=c,o=(()=>{let p=new Date;return new Date(p.getFullYear(),p.getMonth(),p.getDate())})(),n=e.ref(new Date(o.getFullYear(),o.getMonth(),1)),d=e.ref(null),r=e.ref(!l.hasInput),s=e.ref("days"),m=e.ref(0),i=e.ref({horiz:"left-0",vert:"top-0"}),u=e.ref(null),f=e.ref(null),g=e.ref(null),h=e.computed(()=>l.hasInput?{class:["absolute",r.value?"block":"hidden"]}:{}),V=e.computed(()=>{const p=[],b=n.value.getFullYear(),k=n.value.getMonth(),C=new Date(b,k+1,0),z=new Date(b,k,0).getDay()+1-l.startOfWeekIndex,R=(6+l.startOfWeekIndex-C.getDay())%7;for(let T=-z,H=C.getDate()+R;T<H;++T)p.push(new Date(b,k,T+1));return p}),E=e.computed(()=>l.startOfWeekIndex?l.dayNames.slice(1).concat(l.dayNames[0]):l.dayNames);e.watch(()=>l.modelValue,p=>{p?(d.value=new Date(p.getFullYear(),p.getMonth(),p.getDate()),n.value=new Date(d.value.getTime())):(d.value=null,n.value=new Date(o.getTime())),n.value.setDate(1)},{immediate:!0}),e.watch(r,p=>{p&&l.hasInput&&e.nextTick(()=>{const b=u.value.$el.getBoundingClientRect(),k=f.value.getBoundingClientRect();i.value={horiz:b.right-k.width<0?"left-0":"right-0",vert:b.bottom+k.height>window.innerHeight?"bottom-0 -translate-y-12":"top-0 translate-y-12"}})}),j(f,()=>{r.value=!1,s.value="days"},{ignore:[g]});const $=p=>{n.value=new Date(n.value.getFullYear(),p,1),a("month-change",n.value)},S=p=>{n.value=new Date(p,n.value.getMonth(),1),a("year-change",n.value)},L=p=>{r.value=!l.hasInput,d.value=p,a("update:modelValue",p)},v=p=>{d.value=p,a("update:modelValue",p)},y=p=>{const b=p.getMonth()!==n.value.getMonth(),k=d.value&&p.getTime()===d.value.getTime(),C=p.getTime()===o.getTime(),z=l.validFrom&&l.validFrom>p||l.validUntil&&l.validUntil<p;return["py-2 rounded-sm block text-center",{"text-vxvue-700":!z&&!b&&!C&&!k,"text-error":z&&!b,"text-gray-400":b&&!C&&!k,"bg-gray-200":C&&!k,"bg-vxvue-700 text-white":k,"hover:ring-2 hover:ring-vxvue":!z}]};return e.onMounted(()=>{var p;return g.value=(p=u.value)==null?void 0:p.$refs.toggleButton}),(p,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative",p.$attrs.class])},[t.hasInput?(e.openBlock(),e.createBlock(G,e.mergeProps({key:0,modelValue:d.value,"show-toggle":!0,onToggleDatepicker:b[0]||(b[0]=k=>r.value=!r.value),"onUpdate:modelValue":v},p.$attrs,{ref_key:"input",ref:u,class:"w-full"}),{default:e.withCtx(()=>[e.renderSlot(p.$slots,"default")]),_:3},16,["modelValue"])):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({class:"overflow-hidden z-10 bg-white rounded shadow-md min-w-72 sm:min-w-80"},h.value,{ref_key:"calendar",ref:f,class:[i.value.horiz,i.value.vert]}),[s.value==="days"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Oe,[e.createElementVNode("div",je,[e.createElementVNode("button",{onClick:b[1]||(b[1]=e.withModifiers(k=>$(n.value.getMonth()-1),["stop"])),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(F),{class:"size-6"})]),e.createElementVNode("span",null,e.toDisplayString(n.value.toLocaleString(t.locale,{month:"long"})),1),e.createElementVNode("button",{onClick:b[2]||(b[2]=e.withModifiers(k=>$(n.value.getMonth()+1),["stop"])),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(A),{class:"size-6"})])]),e.createElementVNode("div",Ye,[e.createElementVNode("button",{onClick:b[3]||(b[3]=e.withModifiers(k=>S(n.value.getFullYear()-1),["stop"])),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(F),{class:"size-6"})]),e.createElementVNode("button",{class:"text-vxvue-100 hover:text-vxvue-50",onClick:b[4]||(b[4]=k=>{s.value="years",m.value=n.value.getFullYear()})},e.toDisplayString(n.value.getFullYear()),1),e.createElementVNode("button",{onClick:b[5]||(b[5]=e.withModifiers(k=>S(n.value.getFullYear()+1),["stop"])),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(A),{class:"size-6"})])])]),e.createElementVNode("div",Re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,(k,C)=>(e.openBlock(),e.createElementBlock("div",{class:"py-2 text-center bg-gray-200",key:C},e.toDisplayString(k),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,k=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(y(k)),disabled:t.validFrom&&t.validFrom>k||t.validUntil&&t.validUntil<k,onClick:e.withModifiers(C=>t.validFrom&&t.validFrom>k||t.validUntil&&t.validUntil<k?null:L(k),["stop"])},e.toDisplayString(k.getDate()),11,He))),256))])],64)):e.createCommentVNode("",!0),s.value==="years"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",We,[e.createElementVNode("button",{onClick:b[6]||(b[6]=e.withModifiers(k=>m.value-=10,["stop"])),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(F),{class:"size-6"})]),e.createElementVNode("span",null,e.toDisplayString(m.value)+" - "+e.toDisplayString(m.value+9),1),e.createElementVNode("button",{onClick:b[7]||(b[7]=e.withModifiers(k=>m.value+=10,["stop"])),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(A),{class:"size-6"})])]),e.createElementVNode("div",Ue,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(10,k=>e.createElementVNode("div",Ke,[e.createElementVNode("button",{class:"py-2 px-3",onClick:e.withModifiers(C=>{S(m.value+k-1),s.value="days"},["stop"])},e.toDisplayString(m.value+k-1),9,Ze)])),64))])],64)):e.createCommentVNode("",!0)],16)],2))}}),Xe=["for"],Ge=["id","multiple","accept"],Je={__name:"form-file-button",props:{modelValue:{type:Array},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)}},emits:["update:modelValue","form-data"],setup(t,{emit:c}){const l=c,a=t,o=d=>{const r=new FormData;for(let s of d)r.append(a.name,s,s.name);return r},n=d=>{const r=d.target.files||d.dataTransfer.files;if(r){const s=[...r];l("update:modelValue",s),l("form-data",o(s))}};return(d,r)=>(e.openBlock(),e.createElementBlock("label",{for:t.id},[e.renderSlot(d.$slots,"default",{},()=>[e.createTextVNode("Upload")]),e.createElementVNode("input",{type:"file",id:t.id,multiple:t.multiple,accept:t.accept,onChange:n,class:"hidden"},null,40,Ge)],8,Xe))}},Qe=["value"],et={key:0,disabled:"",value:""},tt=["value","selected"],J={__name:"form-select",props:{options:Array,modelValue:[String,Number],disabledLabel:String},emits:["update:modelValue"],setup(t,{emit:c}){const l=c;return(a,o)=>(e.openBlock(),e.createElementBlock("select",e.mergeProps(a.$attrs,{value:t.modelValue,class:"form-select",onChange:o[0]||(o[0]=n=>l("update:modelValue",n.target.value))}),[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,n=>(e.openBlock(),e.createElementBlock("option",{value:n.key!==void 0?n.key:n.label||n,selected:(n.key!==void 0?n.key:n.label||n)===t.modelValue},e.toDisplayString(n.label||n),9,tt))),256))],16,Qe))}},lt=["aria-checked","aria-label"],nt=["d"],ot=["checked"],at={__name:"form-switch",props:{modelValue:Boolean},emits:["update:modelValue"],setup(t,{emit:c}){const l=c,a=e.computed(()=>{let n=Object.assign({},e.useAttrs());return delete n.class,n}),o=e.computed(()=>e.useAttrs().disabled||e.useAttrs().disabled==="");return(n,d)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(n.$attrs.class),tabindex:"0"},[e.createElementVNode("span",{role:"switch",class:e.normalizeClass(["inline-flex relative flex-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-none focus:ring-vxvue",o.value?"bg-slate-200":t.modelValue?"bg-vxvue":"bg-slate-300"]),"aria-checked":t.modelValue,"aria-label":n.$attrs["aria-label"]},[e.createElementVNode("span",{"aria-hidden":"true",class:e.normalizeClass(["block relative size-5 rounded-full ring-0 shadow transition duration-200 ease-in-out transform pointer-events-none",t.modelValue?"translate-x-5":"translate-x-0",o.value?"bg-slate-100":"bg-white"])},[e.renderSlot(n.$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",t.modelValue&&!o.value?"text-vxvue":"text-slate-300"])},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:t.modelValue?"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,nt)],2))])],2),e.createElementVNode("input",e.mergeProps(a.value,{checked:t.modelValue,class:"hidden",value:"1",type:"checkbox",onChange:d[0]||(d[0]=r=>l("update:modelValue",r.target.checked))}),null,16,ot)],10,lt),e.renderSlot(n.$slots,"default")],2))}},Y=(t,c)=>{const l=t.__vccOpts||t;for(const[a,o]of c)l[a]=o;return l},rt=t=>(e.pushScopeId("data-v-921b665d"),t=t(),e.popScopeId(),t),st={"aria-live":"assertive",class:"flex fixed inset-0 z-50 items-start py-6 px-4 pointer-events-none sm:p-6"},it={class:"flex flex-col items-center space-y-4 w-full"},ct={class:"p-4"},dt={class:"flex items-start"},mt={class:"flex-shrink-0"},ut={class:"flex-1 pt-0.5 ml-3 w-0"},ft={class:"font-bold"},pt={class:"mt-1"},ht={class:"flex flex-shrink-0 ml-4"},gt=rt(()=>e.createElementVNode("span",{class:"sr-only"},"Close",-1)),kt=Y(Object.assign({inheritAttrs:!1},{__name:"message-toast",props:{title:String,message:[String,Array],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,a=c,o=e.computed(()=>typeof l.message=="string"?[l.message]:l.message),n=e.ref(0);let d=null;const r=()=>{window.clearTimeout(d),n.value=100,l.active&&l.timeout&&(d=window.setTimeout(()=>{a("timeout")},l.timeout),window.setTimeout(()=>n.value=0,0))};return e.watch(()=>l.active,r),e.onMounted(r),(s,m)=>(e.openBlock(),e.createElementBlock("div",st,[e.createElementVNode("div",it,[e.createVNode(e.Transition,{name:"messagetoast-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 ring-opacity-5 shadow-lg pointer-events-auto",s.$attrs.class])},[e.createElementVNode("div",ct,[e.createElementVNode("div",dt,[e.createElementVNode("div",mt,[e.renderSlot(s.$slots,"icon",{},void 0,!0)]),e.createElementVNode("div",ut,[e.renderSlot(s.$slots,"title",{},()=>[e.createElementVNode("div",ft,e.toDisplayString(t.title),1)],!0),e.renderSlot(s.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,i=>(e.openBlock(),e.createElementBlock("p",pt,e.toDisplayString(i),1))),256))],!0)]),e.createElementVNode("div",ht,[e.createElementVNode("button",{onClick:m[0]||(m[0]=i=>a("close")),class:"inline-flex text-white bg-black bg-opacity-20 rounded-sm focus:ring-2 focus:outline-none hover:text-stone-200 focus:ring-stone-200"},[gt,e.createVNode(e.unref(W),{class:"size-5"})])])])]),t.showTimeoutProgress&&t.timeout?(e.openBlock(),e.createElementBlock("div",{key:0,class:"h-1 bg-vxvue-alt ease-linear transition-all",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})])]))}}),[["__scopeId","data-v-921b665d"]]),bt={key:0,class:"fixed inset-0 z-[9998] bg-white/50 backdrop-blur-sm","aria-hidden":"true"},yt={key:0,class:"fixed inset-0 z-[9999]"},xt={class:"flex justify-center items-center h-screen"},wt={__name:"modal",props:{show:Boolean,containerClass:{type:String,default:"w-3/4 h-[90vh]"},headerClass:{type:String,default:""},contentClass:{type:String,default:""}},emits:["clicked-outside"],setup(t,{emit:c}){const l=c,a=e.ref(null);return j(a,()=>l("clicked-outside")),(o,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.show?(e.openBlock(),e.createElementBlock("div",bt)):e.createCommentVNode("",!0),e.createVNode(e.Transition,{name:"appear"},{default:e.withCtx(()=>[t.show?(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("div",xt,[e.createElementVNode("div",{class:e.normalizeClass(["overflow-hidden relative max-w-full bg-white rounded ring-1 ring-black ring-opacity-10 shadow-xl transition-all transform xl:max-w-screen-xl",t.containerClass]),ref_key:"container",ref:a},[e.createElementVNode("div",{class:e.normalizeClass(t.headerClass)},[e.renderSlot(o.$slots,"title")],2),e.createElementVNode("div",{class:e.normalizeClass(["overflow-y-auto h-full pb-4 mt-16",t.contentClass])},[e.renderSlot(o.$slots,"default")],2)],2)])])):e.createCommentVNode("",!0)]),_:3})],64))}},Bt={class:"flex justify-between items-center px-4 sm:px-0"},Vt={class:"flex flex-1 -mt-px w-0"},Et={class:"hidden md:flex md:-mt-px"},$t={class:"flex flex-1 justify-end -mt-px w-0"},Ct={__name:"pagination",props:{page:{type:Number,default:1},total:{type:Number,default:1},perPage:{type:Number,default:20,validator(t){return 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){return["above","below"].indexOf(t)!==-1}}},emits:["update:page"],setup(t,{emit:c}){const l=c,a=t,o=e.ref(Math.ceil(a.total/a.perPage)),n=e.ref(null),d=e.computed(()=>(a.markerPosition==="above"?"border-t-2 -mt-[2px]":"border-b-2 -mb-[2px]")+" py-4"),r=e.computed(()=>{let i=[1];if(a.showAllPages||o.value<=7){for(let u=2;u<=o.value;++u)i.push(u);return i}return n.value>=o.value?i.push("dots",n.value-2,n.value-1):n.value-1&&n.value-1>1&&(n.value>1&&i.push("dots"),i.push(n.value-1)),n.value>1&&i.push(n.value),n.value+1<o.value&&(i.push(n.value+1),n.value<=1&&i.push(n.value+2),n.value+2<o.value&&i.push("dots")),n.value<o.value&&i.push(o.value),i}),s=()=>{n.value>1&&l("update:page",n.value-1)},m=()=>{n.value<o.value&&l("update:page",n.value+1)};return e.watch(()=>a.page,i=>n.value=Math.min(Math.max(i,1),o.value),{immediate:!0}),e.watch(()=>a.perPage,i=>{o.value=Math.ceil(a.total/a.perPage),l("update:page",1)}),e.watch(()=>a.total,i=>{o.value=Math.ceil(a.total/a.perPage),n.value>o.value&&l("update:page",1)}),(i,u)=>(e.openBlock(),e.createElementBlock("nav",Bt,[e.createElementVNode("div",Vt,[t.showNavButtons?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:e.withModifiers(s,["prevent"]),href:"#",class:e.normalizeClass(["inline-flex items-center pr-1 text-sm font-medium text-gray-500 border-transparent hover:text-gray-700 hover:border-gray-300 !no-underline",[{"cursor-default pointer-events-none":n.value<=1},d.value]])},[e.createVNode(e.unref(F),{class:"size-5"}),e.createTextVNode(" "+e.toDisplayString(t.prevText),1)],2)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Et,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(f,g)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f!=="dots"?"a":"span"),{onClick:e.withModifiers(h=>f!=="dots"?l("update:page",f):null,["prevent"]),key:g,href:f!=="dots"?"#":null,class:e.normalizeClass(["inline-flex items-center px-4 text-sm font-medium !no-underline",[{"border-vxvue-500 text-vxvue-700":f===n.value,"border-transparent text-gray-500":f!==n.value,"hover:text-gray-700 hover:border-gray-300":f!=="dots"},d.value]])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f!=="dots"?f:"..."),1)]),_:2},1032,["onClick","href","class"]))),128))]),e.createElementVNode("div",$t,[t.showNavButtons?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:e.withModifiers(m,["prevent"]),href:"#",class:e.normalizeClass(["inline-flex items-center pl-1 text-sm font-medium text-gray-500 border-transparent hover:text-gray-700 hover:border-gray-300 !no-underline",[d.value,{"cursor-default pointer-events-none":n.value>=o.value}]])},[e.createTextVNode(e.toDisplayString(t.nextText)+" ",1),e.createVNode(e.unref(A),{class:"size-5"})],2)):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 vt=["value","type"],Mt=["disabled"],Dt=Object.assign({inheritAttrs:!1},{__name:"password-input",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:c}){const l=c,a=e.ref(!1),o=e.computed(()=>{let n=Object.assign({},e.useAttrs());return delete n.class,n});return(n,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("inline-block relative "+e.useAttrs().class)},[e.createElementVNode("input",e.mergeProps({value:t.modelValue,type:a.value?"text":"password",onInput:d[0]||(d[0]=r=>l("update:modelValue",r.target.value))},o.value,{class:"block pr-12 w-full form-input peer"}),null,16,vt),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:d[1]||(d[1]=e.withModifiers(r=>a.value=!a.value,["stop"]))},[a.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,Mt)],2))}}),zt={class:"flex items-center pb-1"},Lt={key:0,class:"ml-6"},At=Object.assign({inheritAttrs:!1},{__name:"simple-tree",props:{branch:{type:Object,default:{}},modelValue:{type:Object,default:null}},emits:["update:modelValue","expand"],setup(t,{emit:c}){const l=t,a=c,o=e.ref(!1);return e.onMounted(()=>{l.branch===l.modelValue&&a("expand",!0)}),(n,d)=>{const r=e.resolveComponent("simple-tree",!0);return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([!t.branch.branches||!t.branch.branches.length?"terminates":"",n.$attrs.class])},[e.createElementVNode("div",zt,[t.branch.branches&&t.branch.branches.length?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:d[0]||(d[0]=s=>o.value=!o.value),class:"mr-2"},[e.renderSlot(n.$slots,"toggle",{branch:t.branch,expanded:o.value},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value?e.unref(ne):e.unref(oe)),{class:"p-1 text-white rounded-sm size-5 bg-vxvue-700 hover:bg-vxvue"}))])])):e.createCommentVNode("",!0),t.branch===t.modelValue?e.renderSlot(n.$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:d[1]||(d[1]=s=>a("update:modelValue",t.branch))},[e.renderSlot(n.$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",Lt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.branch.branches,s=>(e.openBlock(),e.createBlock(r,{key:s.id||s.key||null,branch:s,"model-value":t.modelValue,"onUpdate:modelValue":d[2]||(d[2]=m=>a("update:modelValue",m)),onExpand:d[3]||(d[3]=m=>{o.value=m,a("expand",m)})},e.createSlots({_:2},[e.renderList(n.$slots,(m,i)=>({name:i,fn:e.withCtx(u=>[e.renderSlot(n.$slots,i,e.mergeProps({ref_for:!0},u))])}))]),1032,["branch","model-value"]))),128))],512)),[[e.vShow,o.value]]):e.createCommentVNode("",!0)],2)}}}),Pt={__name:"sizable",props:{vertical:Boolean},emits:["dragStart","dragStop"],setup(t,{emit:c}){const l=t,a=c,o=e.ref(null),n=e.ref(null);let d=!1,r={},s=null,m=null,i=null;const u=h=>{var V;if(d){h.preventDefault();const{pageX:E,pageY:$}=((V=h.touches)==null?void 0:V[0])??h;l.vertical?o.value.style.height=Math.min(m.height-i.height-(s.y-m.y),s.height+$-r.y)+"px":o.value.style.width=Math.min(m.width-i.width-(s.x-m.x),s.width+E-r.x)+"px"}},f=h=>{var $;h.preventDefault(),h.currentTarget.focus(),d=!0;const{pageX:V,pageY:E}=(($=h.touches)==null?void 0:$[0])??h;r={x:V,y:E},i=n.value.getBoundingClientRect(),s=o.value.getBoundingClientRect(),m=o.value.parentElement.getBoundingClientRect(),h.type==="mousedown"?(document.addEventListener("mousemove",u),document.addEventListener("mouseup",g)):(document.addEventListener("touchmove",u),document.addEventListener("touchend",g)),a("dragStart")},g=h=>{d&&(d=!1,h.type==="mouseup"?(document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",g)):(document.removeEventListener("touchmove",u),document.removeEventListener("touchend",g)),setTimeout(()=>a("dragStop"),0))};return(h,V)=>(e.openBlock(),e.createElementBlock("div",{class:"relative",ref_key:"box",ref:o},[e.renderSlot(h.$slots,"default"),e.createElementVNode("div",e.mergeProps({class:["absolute flex",l.vertical?"inset-x-0 top-full justify-center py-2 cursor-ns-resize":"inset-y-0 left-full items-center px-2 cursor-ew-resize"]},e.toHandlers({touchstart:f,mousedown:f,touchend:g,mouseup:g},!0),{ref_key:"handle",ref:n}),[e.renderSlot(h.$slots,"handle",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(["rounded-full bg-vxvue-400",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"],Ft=["id"],_t=["id","aria-label"],It=Object.assign({inheritAttrs:!1},{__name:"slider",props:{min:{type:Number,default:0},max:{type:Number,default:100},vertical:Boolean,disabled:Boolean,modelValue:{type:[Number,Array],validator(t){return typeof t=="number"||t.every(c=>typeof c=="number")}}},emits:["update:modelValue","dragStart","dragStop"],setup(t,{emit:c}){const l=t,a=c,o=e.useAttrs(),n={x:null,y:null},d={w:null,h:null};let r=!1;const s=e.ref(null),m=e.ref(0),i=e.computed(()=>{const y=l.max,p=l.min;return l.modelValue instanceof Array?l.modelValue.map(b=>(Math.max(Math.min(b,y),p)-p)*100/(y-p)):(Math.max(Math.min(l.modelValue,y),p)-p)*100/(y-p)}),u=e.computed(()=>{if(l.modelValue instanceof Array){const y=Math.min(...i.value)+"%",p=Math.max(...i.value)-Math.min(...i.value)+"%";return l.vertical?{bottom:y,height:p}:{left:y,width:p}}return l.vertical?{bottom:0,height:i.value+"%"}:{width:i.value+"%"}}),f=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-none border-vxvue cursor-grab hover:bg-vxvue focus:ring-vxvue/50"),tabindex:0}),g=y=>{let p=parseFloat(y.toFixed(10));if(p=Math.min(l.max,Math.max(l.min,p)),l.modelValue instanceof Array){let b=[...l.modelValue];b[m.value]=p,a("update:modelValue",b)}else a("update:modelValue",p)},h=y=>{const{pageX:p,pageY:b}=y.touches?y.touches[0]:y,k=l.vertical?(-b+n.y)/d.h:(p-n.x)/d.w;g(Math.floor((l.max-l.min)*k+l.min))},V=()=>{const{clientLeft:y,clientTop:p,scrollLeft:b,scrollTop:k}=document.documentElement,C=s.value.getBoundingClientRect();n.x=C.left+b-y,n.y=C.bottom+k-p,d.w=s.value.offsetWidth,d.h=s.value.offsetHeight},E=y=>{r&&(y.preventDefault(),h(y))},$=y=>{y.preventDefault(),y.currentTarget.focus(),V(),r=!0,y.type==="mousedown"?(document.addEventListener("mousemove",E),document.addEventListener("mouseup",S)):(document.addEventListener("touchmove",E),document.addEventListener("touchend",S)),a("dragStart")},S=y=>{r&&(r=!1,y.type==="mouseup"?(document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",S)):(document.removeEventListener("touchmove",E),document.removeEventListener("touchend",S)),setTimeout(()=>a("dragStop"),0))},L=y=>{y.keyCode>=33&&y.keyCode<=40&&y.preventDefault();const p=l.modelValue[m.value]??l.modelValue;switch(y.keyCode){case 37:case 40:g(p-1);break;case 39:case 38:g(p+1);break;case 33:g(p+(l.max-l.min)/10);break;case 34:g(p-(l.max-l.min)/10);break;case 36:g(l.min);break;case 35:g(l.max)}},v=y=>{V(),h(y)};return(y,p)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({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"],ref_key:"track",ref:s,role:"slider","aria-label":"slider-thumb","aria-valuemin":t.min,"aria-valuemax":l.max,"aria-valuenow":t.modelValue[0]??t.modelValue,"aria-valuetext":t.modelValue},e.toHandlers(t.disabled?{}:{click:v},!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(u.value)},null,6)),t.modelValue.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(t.modelValue,(b,k)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps({id:k?null:e.unref(o).id,style:t.vertical?{bottom:i.value[k]+"%"}:{left:i.value[k]+"%"},"aria-label":"slider-thumb-"+(k+1)},e.toHandlers(t.disabled?{}:{focus:()=>m.value=k,keydown:L,touchstart:C=>{m.value=k,$(C)},mousedown:C=>{m.value=k,$(C)},touchend:S,mouseup:S},!0),{ref_for:!0},f.value),null,16,_t))),256)):(e.openBlock(),e.createElementBlock("button",e.mergeProps({key:1,id:e.unref(o).id,style:t.vertical?{bottom:i.value+"%"}:{left:i.value+"%"},"aria-label":"slider-thumb"},e.toHandlers(t.disabled?{}:{focus:()=>m.value=0,keydown:L,touchstart:b=>{m.value=0,$(b)},mousedown:b=>{m.value=0,$(b)},touchend:S,mouseup:S},!0),f.value),null,16,Ft))],16,Tt))}}),Ot={class:"text-white bg-slate-700"},jt=["onClick"],Yt={class:"flex items-center space-x-1"},Rt=Y({__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},sortDirection:{type:String,validator:t=>!t||["asc","desc"].indexOf(t)!==-1},keyProperty:{type:String,default:"key"}},emits:["before-sort","after-sort"],setup(t,{emit:c}){const l=t,a=c,o=e.ref(l.sortProp),n=e.ref(l.sortDirection),d=e.computed(()=>{let s=l.rows.slice();const m=l.columns.find(({prop:i})=>i===o.value);return m&&(n.value==="asc"&&m.sortAscFunction?s.sort(m.sortAscFunction):n.value==="desc"&&m.sortDescFunction?s.sort(m.sortDescFunction):s.sort((i,u)=>i[o.value]<u[o.value]?n.value==="asc"?-1:1:i[o.value]>u[o.value]?n.value==="asc"?1:-1:0)),s.slice(l.offset||0,(l.offset||0)+(l.count||s.length))}),r=s=>{a("before-sort",{prop:o.value,dir:n.value}),o.value===s?n.value=n.value==="asc"?"desc":"asc":(o.value=s,n.value=n.value||"asc"),e.nextTick(()=>a("after-sort",{prop:o.value,dir:n.value}))};return(s,m)=>(e.openBlock(),e.createElementBlock("table",{class:e.normalizeClass(s.$attrs.class||"w-full divide-y divide-y-slate-900 table-fixed")},[e.createElementVNode("thead",Ot,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,i=>(e.openBlock(),e.createElementBlock("th",{scope:"col",class:e.normalizeClass(["py-3 px-6 text-left",[{"cursor-pointer":i.sortable,active:o.value===i.prop},i.cssClass]]),onClick:u=>i.sortable?r(i.prop):null},[e.renderSlot(s.$slots,i.prop+"-header",{column:i,sortDir:n.value,sortProp:o.value},()=>[e.createElementVNode("div",Yt,[e.createElementVNode("span",null,e.toDisplayString(i.label),1),i.sortable?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value!==i.prop?e.unref(te):n.value==="asc"?e.unref(ee):e.unref(le)),{key:0,class:"size-4"})):e.createCommentVNode("",!0)])],!0)],10,jt))),256))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,i=>(e.openBlock(),e.createElementBlock("tr",{key:i[t.keyProperty],class:e.normalizeClass(i.cssClass)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,u=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(["overflow-hidden py-3 px-6 whitespace-nowrap text-ellipsis",{active:o.value===u.prop}])},[e.renderSlot(s.$slots,u.prop,{row:i},()=>[e.createTextVNode(e.toDisplayString(i[u.prop]),1)],!0)],2))),256))],2))),128))])],2))}},[["__scopeId","data-v-7ec18969"]]),Ht={class:"flex items-center space-x-2"},Wt=["disabled"],Ut=Y(Object.assign({inheritAttrs:!1},{__name:"submit-button",props:{busy:Boolean,spinnerClass:String,theme:String},emits:["submit"],setup(t,{emit:c}){const l=c;return(a,o)=>(e.openBlock(),e.createElementBlock("div",Ht,[e.createElementVNode("button",{class:e.normalizeClass([a.$attrs.class,t.theme]),disabled:a.$attrs.disabled||t.busy,type:"button",onClick:o[0]||(o[0]=n=>l("submit"))},[e.renderSlot(a.$slots,"default",{},void 0,!0)],10,Wt),t.busy?(e.openBlock(),e.createBlock(I,{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-2eba6082"]]),Kt={class:"sm:hidden"},Zt={class:"hidden sm:block"},qt={class:"border-b border-gray-200"},Xt={class:"flex -mb-px space-x-8","aria-label":"Tabs"},Gt=["onClick","aria-current"],Jt={__name:"tabs",props:{items:{type:Array,default:[]},activeIndex:{type:Number,default:0}},emits:["update:active-index"],setup(t,{emit:c}){const l=t,a=c,o=e.ref(l.items[l.activeIndex]||{}),n=e.computed(()=>{let r=[];return l.items.forEach((s,m)=>{s.disabled||r.push({label:s.name,key:m})}),r});e.watch(()=>l.activeIndex,r=>{o.value=l.items[r]||{}});const d=r=>{r.disabled||(o.value=r,a("update:active-index",l.items.indexOf(r)))};return(r,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Kt,[e.createVNode(J,{options:n.value,"model-value":t.activeIndex,"onUpdate:modelValue":s[0]||(s[0]=m=>a("update:activeIndex",m)),class:"w-full"},null,8,["options","model-value"])]),e.createElementVNode("div",Zt,[e.createElementVNode("div",qt,[e.createElementVNode("nav",Xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,m=>(e.openBlock(),e.createElementBlock("a",{key:m.name,href:"#",onClick:e.withModifiers(i=>d(m),["prevent"]),class:e.normalizeClass([o.value===m?"border-vxvue-500 text-vxvue-600":"border-transparent text-gray-900 hover:text-gray-700 hover:border-gray-300",m.disabled?"cursor-not-allowed text-gray-400 hover:border-transparent":"","group inline-flex items-center py-4 px-1 border-b-4 font-medium !no-underline"]),"aria-current":o.value===m?"page":void 0},[e.renderSlot(r.$slots,"icon",{tab:m}),e.createElementVNode("span",null,[e.renderSlot(r.$slots,"default",{tab:m},()=>[e.createTextVNode(e.toDisplayString(m.name),1)])]),e.renderSlot(r.$slots,"badge",{tab:m},()=>[m.badge?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass([o.value===m?"bg-vxvue-50 text-vxvue-700":"bg-gray-200 text-gray-900",m.disabled?"bg-gray-100 text-gray-400":"","hidden ml-3 py-0.5 px-2.5 rounded-full text-xs font-medium md:inline-block"])},e.toDisplayString(m.badge),3)):e.createCommentVNode("",!0)])],10,Gt))),128))])])])],64))}};B.Accordion=Q,B.AccordionPanel=ie,B.Autocomplete=Be,B.Confirm=Ae,B.DateInput=G,B.Datepicker=qe,B.FormFileButton=Je,B.FormSelect=J,B.FormSwitch=at,B.MessageToast=kt,B.Modal=wt,B.Pagination=Ct,B.PasswordInput=Dt,B.SimpleTree=At,B.Sizable=Pt,B.Slider=It,B.Sortable=Rt,B.Spinner=I,B.SubmitButton=Ut,B.Tabs=Jt,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "./vx-vue.css": "./dist/style.css",
15
15
  "./dist/*": "./dist/*"
16
16
  },
17
- "version": "1.0.2",
17
+ "version": "1.0.3",
18
18
  "license": "MIT",
19
19
  "homepage": "https://vxweb.net/vxvue/index.html",
20
20
  "repository": "https://github.com/Vectrex/vxVue",
@@ -22,19 +22,23 @@
22
22
  "dev": "vite",
23
23
  "build": "vite build",
24
24
  "preview": "vite preview",
25
- "test": "vitest --dom"
25
+ "test": "vitest --dom",
26
+ "docs:dev": "vitepress dev docs",
27
+ "docs:build": "vitepress build docs",
28
+ "docs:preview": "vitepress preview docs"
26
29
  },
27
30
  "devDependencies": {
28
- "@heroicons/vue": "^2.1.3",
31
+ "@heroicons/vue": "^2.1.5",
29
32
  "@tailwindcss/forms": "^0.5.7",
30
- "@vitejs/plugin-vue": "^4.6.2",
33
+ "@vitejs/plugin-vue": "^5.1.2",
31
34
  "@vue/test-utils": "^2.4.6",
32
- "@vueuse/core": "^10.9.0",
33
- "happy-dom": "^13.10.1",
35
+ "@vueuse/core": "^10.11.1",
36
+ "happy-dom": "^14.12.3",
34
37
  "rustywind": "^0.22.0",
35
- "tailwindcss": "^3.4.3",
36
- "vite": "^5.2.11",
37
- "vitest": "^1.6.0",
38
- "vue": "^3.4.27"
38
+ "tailwindcss": "^3.4.9",
39
+ "vite": "^5.4.0",
40
+ "vitest": "^2.0.5",
41
+ "vue": "^3.4.37",
42
+ "vitepress": "^1.3.2"
39
43
  }
40
- }
44
+ }