@stlhorizon/vue-ui 3.7.1 → 3.7.2

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/index.js CHANGED
@@ -589,22 +589,22 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
589
589
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
590
590
  d="M6 18L18 6M6 6l12 12" />
591
591
  </svg>
592
- `},S=e.computed(()=>({info:u,success:m,warning:p,error:v,default:u,danger:v})[a.variant]),b=z.cva("relative w-full rounded-lg border p-4 flex items-start gap-3",{variants:{variant:{default:"bg-background text-foreground",danger:"border-danger/50 text-danger dark:border-danger",info:"bg-blue-50 border-blue-200 text-blue-800",success:"bg-green-50 border-green-200 text-green-800",warning:"bg-yellow-50 border-yellow-200 text-yellow-800",error:"bg-red-50 border-red-200 text-red-800"}},defaultVariants:{variant:"default"}}),y=e.computed(()=>["w-5 h-5",{info:"text-blue-500",success:"text-green-500",warning:"text-yellow-500",error:"text-red-500",default:"text-foreground",danger:"text-danger"}[a.variant]]),f=e.computed(()=>["flex-shrink-0 p-1 rounded-md transition-colors duration-200",{info:"text-blue-500 hover:text-blue-700 hover:bg-blue-100",success:"text-green-500 hover:text-green-700 hover:bg-green-100",warning:"text-yellow-500 hover:text-yellow-700 hover:bg-yellow-100",error:"text-red-500 hover:text-red-700 hover:bg-red-100",default:"text-foreground hover:text-foreground/80 hover:bg-muted",danger:"text-danger hover:text-danger/80 hover:bg-danger/10"}[a.variant]]);return(d,i)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"transition-all duration-300","enter-from-class":"opacity-0 scale-95","enter-to-class":"opacity-100 scale-100","leave-active-class":"transition-all duration-200","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(k)(e.unref(b)({variant:t.variant}),d.$attrs.class)),role:"alert"},[e.createElementVNode("div",pc,[t.showIcon?(e.openBlock(),e.createElementBlock("div",gc,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.value),{class:e.normalizeClass(y.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",vc,[t.title?(e.openBlock(),e.createElementBlock("h4",hc,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["text-sm",{"mt-0":!t.title,"mt-1":t.title}])},[e.renderSlot(d.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)])],2),d.$slots.actions||t.actions.length>0?(e.openBlock(),e.createElementBlock("div",bc,[e.renderSlot(d.$slots,"actions",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,c=>(e.openBlock(),e.createBlock(J,{key:c.label,variant:c.variant||"outline",size:c.size||"sm",onClick:g=>s(c)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.label),1)]),_:2},1032,["variant","size","onClick"]))),128))])])):e.createCommentVNode("",!0)]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(f.value),"aria-label":t.dismissLabel,onClick:l},[e.createVNode(h,{class:"w-4 h-4"})],10,yc)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)]),_:3}))}}),xc=["aria-label"],kc={class:"flex items-center space-x-1"},no={__name:"Breadcrumb",props:{items:{type:Array,required:!0,validator:t=>t.every(n=>n.label)},separator:{type:String,default:"chevron-right"},ariaLabel:{type:String,default:"Breadcrumb navigation"},variant:{type:String,default:"default",validator:t=>["default","ghost"].includes(t)}},setup(t){const n=t,a=z.cva("",{variants:{variant:{default:"",ghost:"text-muted-foreground"}}}),o=e.computed(()=>k(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel,class:e.normalizeClass(["flex",o.value])},[e.createElementVNode("ol",kc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(s,u)=>(e.openBlock(),e.createElementBlock("li",{key:u,class:"flex items-center"},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.href?"a":"span"),{href:s.href,class:e.normalizeClass(["text-sm font-medium transition-colors hover:text-foreground",u===t.items.length-1?"text-foreground":"text-muted-foreground hover:text-foreground"]),"aria-current":u===t.items.length-1?"page":void 0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.label),1)]),_:2},1032,["href","class","aria-current"])),u<t.items.length-1?(e.openBlock(),e.createBlock(j,{key:0,name:t.separator,class:"mx-2 h-4 w-4 text-muted-foreground"},null,8,["name"])):e.createCommentVNode("",!0)]))),128))])],10,xc))}},wc=["aria-label"],oo={__name:"ButtonGroup",props:{orientation:{type:String,default:"horizontal",validator:t=>["horizontal","vertical"].includes(t)},size:{type:String,default:"default",validator:t=>["sm","default","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","outline","ghost"].includes(t)},ariaLabel:String},setup(t){const n=t,a=z.cva("inline-flex",{variants:{orientation:{horizontal:"flex-row [&>*:not(:first-child)]:ml-[-1px] [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-l-none",vertical:"flex-col [&>*:not(:first-child)]:mt-[-1px] [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-b-none [&>*:last-child]:rounded-t-none"}}}),o=e.computed(()=>k(a({orientation:n.orientation})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value),role:"group","aria-label":t.ariaLabel},[e.renderSlot(r.$slots,"default")],10,wc))}},Cc={key:0,class:"absolute inset-0 bg-white/60 backdrop-blur-sm flex items-center justify-center z-10","aria-hidden":"true"},Bc={class:"flex items-start justify-between gap-4"},Vc={class:"flex-1 min-w-0"},Sc={key:0,class:"flex-shrink-0"},Ec=["src","alt","loading"],Nc={key:5,class:"absolute top-3 right-3"},$c={class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-slate-900 text-white"},zc="w-full h-full object-cover",Dc="font-semibold text-slate-900 line-clamp-2",Tc="text-sm text-slate-600 mt-1 line-clamp-2",ro={__name:"Card",props:{as:{type:String,default:"div"},variant:{type:String,default:"default",validator:t=>["default","outlined","elevated","filled","ghost"].includes(t)},padding:{type:String,default:"md",validator:t=>["none","sm","md","lg","xl"].includes(t)},bordered:{type:Boolean,default:!0},title:String,titleTag:{type:String,default:"h3"},titleSize:{type:String,default:"default",validator:t=>["sm","default","lg","xl"].includes(t)},subtitle:String,badge:String,image:String,imageAlt:{type:String,default:"Card image"},imageAspect:{type:String,default:"auto",validator:t=>["auto","video","square","portrait"].includes(t)},imageLazy:{type:Boolean,default:!0},hoverable:Boolean,clickable:Boolean,disabled:Boolean,loading:Boolean},emits:["click"],setup(t,{emit:n}){const a=t,o=n,r=b=>{a.clickable&&!a.disabled&&!a.loading&&o("click",b)},l=b=>{a.clickable&&!a.disabled&&!a.loading&&o("click",b)},s=e.computed(()=>({sm:"text-base",default:"text-lg",lg:"text-xl",xl:"text-2xl"})[a.titleSize]),u=e.computed(()=>({auto:"",video:"aspect-video",square:"aspect-square",portrait:"aspect-[3/4]"})[a.imageAspect]),m=z.cva("rounded-lg overflow-hidden transition-all duration-200 relative",{variants:{variant:{default:"bg-white",outlined:"bg-white",elevated:"bg-white shadow-md",filled:"bg-slate-50",ghost:"bg-transparent"},padding:{none:"",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"},bordered:{true:"",false:""},hoverable:{true:"hover:shadow-lg hover:scale-[1.02]"},clickable:{true:"cursor-pointer focus:outline-none focus:ring-2 focus:ring-slate-400 focus:ring-offset-2"},loading:{true:""}},compoundVariants:[{variant:"default",bordered:!0,class:"border border-slate-200"},{variant:"outlined",bordered:!0,class:"border-2 border-slate-300"},{variant:"elevated",bordered:!0,class:"border border-slate-100"},{variant:"filled",bordered:!0,class:"border border-slate-200"},{clickable:!0,hoverable:!1,class:"hover:bg-slate-50"}],defaultVariants:{variant:"default",padding:"md",bordered:!0}}),p=z.cva("",{variants:{padding:{none:"p-4 pb-3",sm:"px-3 pt-3 pb-2",md:"px-4 pt-4 pb-3",lg:"px-6 pt-6 pb-4",xl:"px-8 pt-8 pb-6"},hasBorder:{true:"border-b border-slate-200 mb-0",false:""}}}),v=z.cva("",{variants:{padding:{none:"p-4",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}}}),h=z.cva("border-t border-slate-200 bg-slate-50/50",{variants:{padding:{none:"p-4 pt-3",sm:"px-3 pb-3 pt-2",md:"px-4 pb-4 pt-3",lg:"px-6 pb-6 pt-4",xl:"px-8 pb-8 pt-6"}}}),S=z.cva("overflow-hidden",{variants:{padding:{none:"",sm:"-mx-3 mb-3",md:"-mx-4 mb-4",lg:"-mx-6 mb-6",xl:"-mx-8 mb-8"},hasHeader:{true:"",false:""}},compoundVariants:[{hasHeader:!0,padding:"sm",class:"-mt-3"},{hasHeader:!0,padding:"md",class:"-mt-4"},{hasHeader:!0,padding:"lg",class:"-mt-6"},{hasHeader:!0,padding:"xl",class:"-mt-8"}]});return(b,y)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.as),{class:e.normalizeClass(e.unref(k)(e.unref(m)({variant:t.variant,padding:t.padding,hoverable:t.hoverable,clickable:t.clickable,loading:t.loading,bordered:t.bordered}))),disabled:t.disabled||t.loading,"aria-busy":t.loading,"aria-disabled":t.disabled,role:t.clickable?"button":void 0,tabindex:t.clickable&&!t.disabled?0:void 0,onClick:r,onKeydown:[e.withKeys(l,["enter"]),e.withKeys(e.withModifiers(l,["prevent"]),["space"])]},{default:e.withCtx(()=>[t.loading?(e.openBlock(),e.createElementBlock("div",Cc,[...y[0]||(y[0]=[e.createElementVNode("div",{class:"animate-spin rounded-full h-8 w-8 border-b-2 border-slate-900"},null,-1)])])):e.createCommentVNode("",!0),b.$slots.header||t.title||t.subtitle||b.$slots.actions?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(k)(e.unref(p)({padding:t.padding,hasBorder:!!(b.$slots.default||b.$slots.footer)})))},[e.renderSlot(b.$slots,"header",{},()=>[e.createElementVNode("div",Bc,[e.createElementVNode("div",Vc,[t.title?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.titleTag),{key:0,class:e.normalizeClass(e.unref(k)(Dc,s.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1},8,["class"])):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(Tc)},e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),b.$slots.actions?(e.openBlock(),e.createElementBlock("div",Sc,[e.renderSlot(b.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),b.$slots.image||t.image?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(k)(e.unref(S)({padding:t.padding,hasHeader:!!(b.$slots.header||t.title)})))},[e.renderSlot(b.$slots,"image",{},()=>[t.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.image,alt:t.imageAlt,class:e.normalizeClass(e.unref(k)(zc,u.value)),loading:t.imageLazy?"lazy":"eager"},null,10,Ec)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),b.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(k)(e.unref(v)({padding:t.padding})))},[e.renderSlot(b.$slots,"default")],2)):e.createCommentVNode("",!0),b.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(e.unref(k)(e.unref(h)({padding:t.padding})))},[e.renderSlot(b.$slots,"footer")],2)):e.createCommentVNode("",!0),t.badge?(e.openBlock(),e.createElementBlock("div",Nc,[e.createElementVNode("span",$c,e.toDisplayString(t.badge),1)])):e.createCommentVNode("",!0)]),_:3},40,["class","disabled","aria-busy","aria-disabled","role","tabindex","onKeydown"]))}},Ac={class:"flex flex-col"},Fc={key:0},Pc={key:1},Lc={key:0},lo=Object.assign({inheritAttrs:!1},{__name:"CardHeader",props:{title:{type:String,default:""},subtitle:{type:String,default:""}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(k)("flex items-center justify-between",n.$attrs.class))},[e.createElementVNode("div",Ac,[t.title||n.$slots.title?(e.openBlock(),e.createElementBlock("h2",Fc,[e.renderSlot(n.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])])):e.createCommentVNode("",!0),t.subtitle||n.$slots.description?(e.openBlock(),e.createElementBlock("p",Pc,[e.renderSlot(n.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0)]),n.$slots.actions?(e.openBlock(),e.createElementBlock("div",Lc,[e.renderSlot(n.$slots,"actions")])):e.createCommentVNode("",!0)],2))}}),so={__name:"CardBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=z.cva("p-6",{variants:{variant:{default:"p-6",compact:"p-4",spacious:"p-8"}}}),o=e.computed(()=>k(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(r.$slots,"default")],2))}},io={__name:"CardFooter",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=z.cva("flex items-center p-6 pt-0",{variants:{variant:{default:"p-6 pt-0",compact:"p-4 pt-0",spacious:"p-8 pt-0"}}}),o=e.computed(()=>k(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(r.$slots,"default")],2))}},co=Object.assign({inheritAttrs:!1},{__name:"CardContent",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(k)("p-6 pt-0",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),uo=Object.assign({inheritAttrs:!1},{__name:"CardTitle",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("h3",{class:e.normalizeClass(e.unref(k)("text-2xl font-semibold leading-none tracking-tight",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),jc={class:"relative w-full"},Mc={class:"relative"},Ic=["id","value","disabled","placeholder","required","aria-describedby"],Oc={class:"flex items-center justify-between mb-4"},Rc={class:"text-base font-semibold text-slate-900"},_c={class:"grid grid-cols-7 gap-1 mb-2"},Uc={class:"grid grid-cols-7 gap-1"},qc=["disabled","onClick"],Hc={key:0,class:"mt-4 pt-3 border-t border-slate-200"},qe={__name:"DatePicker",props:{id:String,modelValue:[String,Date],disabled:Boolean,required:Boolean,min:[String,Date],max:[String,Date],placeholder:{type:String,default:"Select date"},format:{type:String,default:"MM/DD/YYYY"},clearable:{type:Boolean,default:!0},showToday:{type:Boolean,default:!0},calendarPosition:{type:String,default:"left-0 bottom-full"},ariaDescribedby:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=new Date,s=e.ref(l.getMonth()),u=e.ref(l.getFullYear()),m=e.ref(null),p=["Su","Mo","Tu","We","Th","Fr","Sa"],v=e.computed(()=>new Date(u.value,s.value).toLocaleString("default",{month:"long"})),h=e.computed(()=>new Date(u.value,s.value+1,0).getDate()),S=e.computed(()=>new Date(u.value,s.value,1).getDay()),b=e.computed(()=>{const C=new Date(u.value,s.value,0).getDate(),N=S.value;return Array.from({length:N},(P,W)=>C-N+W+1)}),y=e.computed(()=>{const C=b.value.length+h.value,N=C%7===0?0:7-C%7;return Array.from({length:N},(P,W)=>W+1)}),f=e.computed(()=>m.value?d(m.value):"");function d(C){if(!C)return"";const N=new Date(C),P=String(N.getMonth()+1).padStart(2,"0"),W=String(N.getDate()).padStart(2,"0"),U=N.getFullYear();return a.format.replace("MM",P).replace("DD",W).replace("YYYY",U)}function i(C){if(!C)return null;if(C instanceof Date)return C;if(typeof C=="string"){const P=C.split("-");if(P.length===3){const W=parseInt(P[0],10),U=parseInt(P[1],10)-1,re=parseInt(P[2],10);return new Date(W,U,re)}}const N=new Date(C);return isNaN(N.getTime())?null:N}function c(C){return l.getDate()===C&&l.getMonth()===s.value&&l.getFullYear()===u.value}function g(C){if(!m.value)return!1;const N=new Date(m.value);return N.getDate()===C&&N.getMonth()===s.value&&N.getFullYear()===u.value}function w(C){const N=new Date(u.value,s.value,C);if(a.min){const P=i(a.min);if(P&&N<P)return!0}if(a.max){const P=i(a.max);if(P&&N>P)return!0}return!1}function x(){a.disabled||(r.value=!r.value)}function F(){r.value=!1}function L(){s.value===0?(s.value=11,u.value--):s.value--}function H(){s.value===11?(s.value=0,u.value++):s.value++}function _(C){if(w(C))return;const N=new Date(u.value,s.value,C);m.value=N;const P=N.getFullYear(),W=String(N.getMonth()+1).padStart(2,"0"),U=String(N.getDate()).padStart(2,"0"),re=`${P}-${W}-${U}`;o("update:modelValue",re),setTimeout(()=>{r.value=!1},150)}function E(){s.value=l.getMonth(),u.value=l.getFullYear(),_(l.getDate())}function I(){m.value=null,o("update:modelValue","")}e.watch(()=>a.modelValue,C=>{if(C){const N=i(C);N&&(m.value=N,s.value=N.getMonth(),u.value=N.getFullYear())}else m.value=null},{immediate:!0});function M(C){C.key==="Escape"&&r.value&&F()}return e.onMounted(()=>{document.addEventListener("keydown",M)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",M)}),(C,N)=>(e.openBlock(),e.createElementBlock("div",jc,[e.createElementVNode("div",Mc,[e.createElementVNode("input",{id:t.id,type:"text",value:f.value,readonly:"",disabled:t.disabled,placeholder:t.placeholder,required:t.required,"aria-describedby":t.ariaDescribedby,class:"w-full px-3 py-2 pr-10 border border-slate-300 rounded-md bg-white text-slate-900 placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 cursor-pointer disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed",onClick:x},null,8,Ic),N[2]||(N[2]=e.createElementVNode("div",{class:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none"},[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[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)),t.clearable&&f.value&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-9 top-1/2 -translate-y-1/2 p-1 hover:bg-slate-100 rounded","aria-label":"Clear date",onClick:e.withModifiers(I,["stop"])},[...N[1]||(N[1]=[e.createElementVNode("svg",{class:"w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute z-[9999] mb-2 bg-white border border-slate-200 rounded-lg shadow-lg p-4",t.calendarPosition]),onClick:N[0]||(N[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Oc,[e.createElementVNode("button",{type:"button",class:"p-2 rounded-lg hover:bg-slate-100 transition-colors","aria-label":"Previous Month",onClick:L},[...N[3]||(N[3]=[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-700",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 18l-6-6 6-6"})],-1)])]),e.createElementVNode("div",Rc,e.toDisplayString(v.value)+" "+e.toDisplayString(u.value),1),e.createElementVNode("button",{type:"button",class:"p-2 rounded-lg hover:bg-slate-100 transition-colors","aria-label":"Next Month",onClick:H},[...N[4]||(N[4]=[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-700",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 18l6-6-6-6"})],-1)])])]),e.createElementVNode("div",_c,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(p,P=>e.createElementVNode("div",{key:P,class:"text-center text-xs font-medium text-slate-600 py-1"},e.toDisplayString(P),1)),64))]),e.createElementVNode("div",Uc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(P,W)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+W,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(P),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,P=>(e.openBlock(),e.createElementBlock("button",{key:P,type:"button",disabled:w(P),class:e.normalizeClass(["w-9 h-9 rounded-lg text-sm font-medium transition-colors",c(P)&&!g(P)?"bg-blue-50 text-blue-600 border border-blue-200":"",g(P)?"bg-blue-500 text-white hover:bg-blue-600":"text-slate-700 hover:bg-slate-100",w(P)?"text-slate-300 cursor-not-allowed hover:bg-transparent":"cursor-pointer"]),onClick:W=>_(P)},e.toDisplayString(P),11,qc))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(P,W)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+W,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(P),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",Hc,[e.createElementVNode("button",{type:"button",class:"w-full px-3 py-2 text-sm font-medium text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",onClick:E}," Today ")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-[9998]",onClick:F})):e.createCommentVNode("",!0)]))}},Wc=["aria-expanded"],mo={__name:"Dropdown",props:{triggerText:{type:String,default:"Options"},placement:{type:String,default:"bottom-start",validator:t=>["bottom-start","bottom-end","top-start","top-end"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","outline","ghost"].includes(t)}},setup(t){const n=t,a=e.ref(!1),o=e.ref(null),r=z.cva("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",ghost:"hover:bg-accent hover:text-accent-foreground"}}}),l=z.cva("absolute z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",{variants:{placement:{"bottom-start":"top-full left-0 mt-1","bottom-end":"top-full right-0 mt-1","top-start":"bottom-full left-0 mb-1","top-end":"bottom-full right-0 mb-1"}}}),s=e.computed(()=>k(r({variant:n.variant}),"h-10 px-4 py-2")),u=e.computed(()=>k(l({placement:n.placement}))),m=()=>{a.value=!a.value},p=v=>{o.value&&!o.value.contains(v.target)&&(a.value=!1)};return e.onMounted(()=>{document.addEventListener("click",p)}),e.onUnmounted(()=>{document.removeEventListener("click",p)}),(v,h)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdownRef",ref:o,class:"relative"},[e.createElementVNode("button",{class:e.normalizeClass(s.value),"aria-expanded":a.value,"aria-haspopup":!0,onClick:m},[e.renderSlot(v.$slots,"trigger",{},()=>[e.createElementVNode("span",null,e.toDisplayString(t.triggerText),1),e.createVNode(j,{name:"chevron-down",class:"ml-2 h-4 w-4"})])],10,Wc),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(u.value),role:"menu","aria-orientation":"vertical"},[e.renderSlot(v.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3})],512))}},Yc={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},fo={__name:"DropdownItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,variant:{type:String,default:"default",validator:t=>["default","danger"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,o=n,r=z.cva("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",{variants:{variant:{default:"hover:bg-accent hover:text-accent-foreground",danger:"text-danger hover:bg-danger hover:text-danger-foreground"}}}),l=e.computed(()=>k(r({variant:a.variant}))),s=u=>{a.disabled||o("click",u)};return(u,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"button"),{href:t.href,class:e.normalizeClass(l.value),disabled:t.disabled,role:"menuitem",onClick:s},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(j,{key:0,name:t.icon,class:"mr-2 h-4 w-4"},null,8,["name"])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"default"),t.shortcut?(e.openBlock(),e.createElementBlock("span",Yc,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},Gc={class:"w-full"},Kc=["multiple","accept"],Xc={class:"flex flex-col items-center justify-center py-6"},Qc={key:0,class:"text-xs text-muted-foreground mt-1"},Jc={key:0,class:"mt-4 space-y-2"},Zc={class:"flex items-center space-x-2"},ed={class:"text-sm"},td={class:"text-xs text-muted-foreground"},ad=["onClick"],po={__name:"FileUpload",props:{multiple:Boolean,accept:String,maxSize:Number,variant:{type:String,default:"default",validator:t=>["default","dashed"].includes(t)}},emits:["files-selected","file-removed"],setup(t,{emit:n}){const a=t,o=n,r=e.ref([]),l=e.ref(!1),s=e.ref(null),u=z.cva("border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200",{variants:{variant:{default:"border-muted-foreground/25 hover:border-muted-foreground/50 hover:bg-muted/30",dashed:"border-primary/50 hover:border-primary/70 hover:bg-primary/10"}}}),m=e.computed(()=>k(u({variant:a.variant}),{"border-green-500 bg-green-50/50":r.value.length>0&&!l.value,"border-blue-500 bg-blue-50/50 ring-2 ring-blue-200/50":l.value,"border-green-600 bg-green-100/50 ring-2 ring-green-200/50":r.value.length>0&&l.value})),p=c=>{c.preventDefault(),l.value=!1;const g=Array.from(c.dataTransfer.files);f(g)},v=c=>{c.preventDefault()},h=c=>{c.preventDefault(),l.value=!0},S=c=>{c.preventDefault(),l.value=!1},b=()=>{s.value?.click()},y=c=>{const g=Array.from(c.target.files);f(g)},f=c=>{const g=c.filter(w=>!(a.maxSize&&w.size>a.maxSize));a.multiple?r.value.push(...g):r.value=g.slice(0,1),o("files-selected",r.value)},d=c=>{r.value.splice(c,1),o("file-removed",r.value)},i=c=>{if(c===0)return"0 Bytes";const g=1024,w=["Bytes","KB","MB","GB"],x=Math.floor(Math.log(c)/Math.log(g));return parseFloat((c/Math.pow(g,x)).toFixed(2))+" "+w[x]};return(c,g)=>(e.openBlock(),e.createElementBlock("div",Gc,[e.createElementVNode("div",{class:e.normalizeClass(m.value),onDrop:p,onDragover:v,onDragenter:h,onDragleave:S,onClick:b},[e.createElementVNode("input",{ref_key:"fileInput",ref:s,type:"file",multiple:t.multiple,accept:t.accept,class:"hidden",onChange:y},null,40,Kc),e.createElementVNode("div",Xc,[e.createVNode(j,{icon:"upload",class:"h-8 w-8 text-muted-foreground mb-2"}),g[0]||(g[0]=e.createElementVNode("p",{class:"text-sm text-muted-foreground text-center"},[e.createElementVNode("span",{class:"font-semibold"},"Click to upload"),e.createTextVNode(" or drag and drop ")],-1)),t.accept?(e.openBlock(),e.createElementBlock("p",Qc,e.toDisplayString(t.accept),1)):e.createCommentVNode("",!0)])],34),r.value.length>0?(e.openBlock(),e.createElementBlock("div",Jc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(w,x)=>(e.openBlock(),e.createElementBlock("div",{key:x,class:"flex items-center justify-between p-2 bg-gray-300 rounded-md"},[e.createElementVNode("div",Zc,[e.createVNode(j,{icon:"file",class:"h-4 w-4 text-muted-foreground"}),e.createElementVNode("span",ed,e.toDisplayString(w.name),1),e.createElementVNode("span",td,"("+e.toDisplayString(i(w.size))+")",1)]),e.createElementVNode("button",{class:"text-muted-foreground hover:text-foreground",onClick:F=>d(x)},[e.createVNode(j,{icon:"x",class:"h-4 w-4"})],8,ad)]))),128))])):e.createCommentVNode("",!0)]))}},nd=["for"],od={key:0,class:"text-red-500 ml-1","aria-label":"required"},rd={class:"relative"},ld=["aria-label"],sd=["id"],id=["id"],ut={__name:"FormField",props:{label:String,description:String,error:String,success:String,helpText:String,required:{type:Boolean,default:!1},type:{type:String,default:"text"},modelValue:[String,Date],size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},id:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=`field-${Math.random().toString(36).slice(2,9)}`,l=e.computed(()=>`${a.id||r}-${Math.random().toString(36).slice(2,5)}`),s=e.computed(()=>!!a.error),u=e.ref(!1),m=()=>{u.value=!u.value},p=e.computed(()=>{const f=[];return a.error?f.push(`${l.value}-error`):a.helpText&&f.push(`${l.value}-help`),f.length>0?f.join(" "):void 0}),v=z.cva("",{variants:{size:{sm:"space-y-1",md:"space-y-2",lg:"space-y-3"}},defaultVariants:{size:"md"}}),h=z.cva("block text-slate-900",{variants:{size:{sm:"text-xs font-medium",md:"text-sm font-medium",lg:"text-base font-medium"}},defaultVariants:{size:"md"}}),S=z.cva("text-slate-600",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),b=z.cva("flex items-start gap-2",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"},intent:{error:"text-red-600",success:"text-green-600"}},defaultVariants:{size:"md",intent:"error"}}),y=z.cva("text-slate-500",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"}},defaultVariants:{size:"md"}});return(f,d)=>{const i=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(k)(e.unref(v)({size:t.size}),f.$attrs.class))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:l.value,class:e.normalizeClass(e.unref(k)(e.unref(h)({size:t.size})))},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",od,"*")):e.createCommentVNode("",!0)],10,nd)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(e.unref(k)(e.unref(S)({size:t.size})))},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0),e.createElementVNode("div",rd,[t.type==="date"?(e.openBlock(),e.createBlock(qe,{key:0,id:l.value,"model-value":t.modelValue,disabled:!1,required:t.required,class:e.normalizeClass(s.value?"border-red-500":""),"onUpdate:modelValue":d[0]||(d[0]=c=>o("update:modelValue",c))},null,8,["id","model-value","required","class"])):e.renderSlot(f.$slots,"default",{key:1,fieldId:l.value,hasError:s.value,ariaDescribedBy:p.value,showPassword:u.value,togglePasswordVisibility:m}),t.type==="password"?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"absolute inset-y-0 right-0 pr-3 flex items-center text-slate-400 hover:text-slate-600 transition-colors","aria-label":u.value?"Hide password":"Show password",onClick:m},[e.createVNode(i,{icon:u.value?"eye-slash":"eye",class:"w-4 h-4"},null,8,["icon"])],8,ld)):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200","enter-from-class":"opacity-0 -translate-y-1","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition-all duration-150","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 -translate-y-1"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:`${l.value}-error`,class:e.normalizeClass(e.unref(k)(e.unref(b)({size:t.size,intent:"error"}))),role:"alert","aria-live":"polite"},[e.createVNode(i,{icon:"exclamation-triangle",class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.error),1)],10,sd)):e.createCommentVNode("",!0)]),_:1}),t.helpText&&!s.value?(e.openBlock(),e.createElementBlock("p",{key:2,id:`${l.value}-help`,class:e.normalizeClass(e.unref(k)(e.unref(y)({size:t.size})))},e.toDisplayString(t.helpText),11,id)):e.createCommentVNode("",!0),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200","enter-from-class":"opacity-0 -translate-y-1","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition-all duration-150","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 -translate-y-1"},{default:e.withCtx(()=>[t.success&&!s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(k)(e.unref(b)({size:t.size,intent:"success"})))},[e.createVNode(i,{icon:"check",class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.success),1)],2)):e.createCommentVNode("",!0)]),_:1})],2)}}},cd={key:0,class:"flex items-center px-3 bg-muted border border-r-0 rounded-l-md"},dd={key:1,class:"flex items-center px-3 bg-muted border border-l-0 rounded-r-md"},go={__name:"InputGroup",props:{variant:{type:String,default:"default",validator:t=>["default","outline"].includes(t)}},setup(t){const n=t,a=z.cva("flex w-full",{variants:{variant:{default:"[&>input]:rounded-none [&>input:first-child]:rounded-l-md [&>input:last-child]:rounded-r-md",outline:"border border-input rounded-md [&>input]:border-0 [&>input]:rounded-none"}}}),o=e.computed(()=>k(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[r.$slots.prefix?(e.openBlock(),e.createElementBlock("div",cd,[e.renderSlot(r.$slots,"prefix")])):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"default"),r.$slots.suffix?(e.openBlock(),e.createElementBlock("div",dd,[e.renderSlot(r.$slots,"suffix")])):e.createCommentVNode("",!0)],2))}},ud=["role"],md={key:0,class:"flex-shrink-0"},fd={class:"flex-1 min-w-0"},pd={key:0,class:"text-sm font-medium text-foreground"},gd={key:1,class:"text-sm text-muted-foreground"},vd={key:1,class:"flex-shrink-0"},vo={__name:"ListItem",props:{title:String,description:String,icon:String,href:String,role:String,variant:{type:String,default:"default",validator:t=>["default","interactive"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,o=n,r=z.cva("",{variants:{variant:{default:"",interactive:"hover:bg-accent/50 cursor-pointer"}}}),l=z.cva("flex items-center space-x-3 p-3",{variants:{variant:{default:"",interactive:"transition-colors rounded-md"}}}),s=e.computed(()=>k(r({variant:a.variant}))),u=e.computed(()=>k(l({variant:a.variant}))),m=p=>{o("click",p)};return(p,v)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(s.value),role:t.role},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"div"),{href:t.href,class:e.normalizeClass(u.value),onClick:m},{default:e.withCtx(()=>[p.$slots.icon||t.icon?(e.openBlock(),e.createElementBlock("div",md,[e.renderSlot(p.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createBlock(j,{key:0,name:t.icon,class:"h-5 w-5"},null,8,["name"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",fd,[t.title?(e.openBlock(),e.createElementBlock("div",pd,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("div",gd,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(p.$slots,"default")]),p.$slots.action?(e.openBlock(),e.createElementBlock("div",vd,[e.renderSlot(p.$slots,"action")])):e.createCommentVNode("",!0)]),_:3},8,["href","class"]))],10,ud))}},hd={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},ho={__name:"MenuItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,hasSubmenu:Boolean,variant:{type:String,default:"default",validator:t=>["default","danger"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,o=n,r=z.cva("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 w-full text-left",{variants:{variant:{default:"hover:bg-accent hover:text-accent-foreground",danger:"text-danger hover:bg-danger hover:text-danger-foreground"}}}),l=e.computed(()=>k(r({variant:a.variant}))),s=u=>{a.disabled||o("click",u)};return(u,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"button"),{href:t.href,class:e.normalizeClass(l.value),disabled:t.disabled,role:"menuitem",onClick:s},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(j,{key:0,name:t.icon,class:"mr-2 h-4 w-4"},null,8,["name"])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"default"),t.shortcut?(e.openBlock(),e.createElementBlock("span",hd,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.hasSubmenu?(e.openBlock(),e.createBlock(j,{key:2,name:"chevron-right",class:"ml-auto h-4 w-4"})):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},bd={key:1,class:"absolute bottom-0 right-0 w-8 h-8 cursor-se-resize bg-gray-200 hover:bg-gray-300 border border-gray-300 rounded-tl-lg flex items-end justify-end transition-colors"},ra={__name:"Modal",props:{modelValue:Boolean,showClose:{type:Boolean,default:!0},closeOnBackdrop:{type:Boolean,default:!0},size:{type:String,default:"4xl",validator:t=>["sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","8xl","full"].includes(t)},height:{type:String,default:""},class:{type:String,default:""},resizable:{type:Boolean,default:!1}},emits:["update:modelValue","close"],setup(t,{emit:n}){const a=z.cva("relative w-full overflow-y-auto border bg-white pt-12 pr-12 pb-6 pl-6 shadow-lg duration-200 sm:rounded-lg",{variants:{size:{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl","3xl":"max-w-3xl","4xl":"max-w-4xl","5xl":"max-w-5xl","6xl":"max-w-6xl","7xl":"max-w-7xl","8xl":"max-w-8xl",full:"max-w-full"},height:{auto:"max-h-[90vh]",sm:"max-h-[50vh]",md:"max-h-[70vh]",lg:"max-h-[80vh]",xl:"max-h-[90vh]","2xl":"max-h-[90vh]","3xl":"max-h-[90vh]","4xl":"max-h-[100vh]","5xl":"max-h-[100vh]","6xl":"max-h-[100vh]","7xl":"max-h-[100vh]","8xl":"max-h-[100vh]",full:"max-h-[100vh]"}},defaultVariants:{size:"4xl",height:"auto"}}),o=t,r=n,l=()=>{r("update:modelValue",!1),r("close")},s=m=>{o.closeOnBackdrop&&m.target===m.currentTarget&&!o.resizable&&l()};let u=null;return e.watch(()=>o.modelValue,m=>{m?(u=p=>{p.key==="Escape"&&l()},document.addEventListener("keydown",u)):u&&(document.removeEventListener("keydown",u),u=null)},{immediate:!0}),e.onUnmounted(()=>{u&&(document.removeEventListener("keydown",u),u=null)}),(m,p)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-300","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[t.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["fixed inset-0 z-50 bg-background/80 backdrop-blur-sm flex items-center justify-center",{"pointer-events-none":t.resizable}]),onClick:s},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)(e.unref(a)({size:t.size}),t.height,o.class,t.resizable?"resize overflow-hidden pointer-events-auto relative":"")),style:e.normalizeStyle(t.resizable?"min-width: 400px; min-height: 200px; resize: both;":"")},[t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,"aria-label":"Close",class:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:l},[e.createVNode(j,{icon:"x",class:"h-4 w-4"}),p[0]||(p[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))])):e.createCommentVNode("",!0),t.resizable?(e.openBlock(),e.createElementBlock("div",bd,[...p[1]||(p[1]=[e.createElementVNode("svg",{class:"w-5 h-5 text-gray-600 mb-1 mr-1",fill:"currentColor",viewBox:"0 0 20 20"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M14.707 12.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414l.293-.293L9 15.586V3a1 1 0 012 0v12.586l3.414-3.293a1 1 0 011.293-.001z","clip-rule":"evenodd"})],-1)])])):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"default")],6)],2)):e.createCommentVNode("",!0)]),_:3})]))}},yd={class:"flex flex-col space-y-1.5 text-center sm:text-left"},xd={key:0,class:"text-lg font-semibold leading-none tracking-tight"},kd={key:1,class:"text-sm text-muted-foreground"},bo={__name:"ModalHeader",props:{title:String,description:String},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",yd,[t.title?(e.openBlock(),e.createElementBlock("h2",xd,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",kd,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default")]))}},yo={__name:"ModalBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact"].includes(t)}},setup(t){const n=t,a=z.cva("",{variants:{variant:{default:"py-4",compact:"py-2"}}}),o=e.computed(()=>k(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(r.$slots,"default")],2))}},xo={__name:"ModalFooter",props:{variant:{type:String,default:"default",validator:t=>["default","center"].includes(t)}},setup(t){const n=t,a=z.cva("flex gap-2 pt-4",{variants:{variant:{default:"flex-col-reverse sm:flex-row sm:justify-end",center:"justify-center"}}}),o=e.computed(()=>k(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(r.$slots,"default")],2))}},wd=["aria-live"],Cd={class:"flex items-start space-x-3"},Bd={key:0,class:"flex-shrink-0"},Vd={class:"flex-1 min-w-0"},Sd={key:0,class:"text-sm font-medium"},ko={__name:"Notification",props:{title:String,message:String,variant:{type:String,default:"default",validator:t=>["default","success","warning","danger"].includes(t)},dismissible:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},autoClose:{type:Number,default:0}},emits:["dismiss"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!0),l=z.cva("pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-background shadow-lg ring-1 ring-black ring-opacity-5",{variants:{variant:{default:"border-l-4 border-primary",success:"border-l-4 border-green-500",warning:"border-l-4 border-yellow-500",danger:"border-l-4 border-danger"}}}),s={default:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"},u=z.cva("h-5 w-5",{variants:{variant:{default:"text-primary",success:"text-green-500",warning:"text-yellow-500",danger:"text-danger"}}}),m=e.computed(()=>k(l({variant:a.variant}),"p-4")),p=e.computed(()=>s[a.variant]),v=e.computed(()=>u({variant:a.variant})),h=()=>{r.value=!1,o("dismiss")};return e.onMounted(()=>{a.autoClose>0&&setTimeout(()=>{h()},a.autoClose)}),(S,b)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"transform translate-x-full opacity-0","enter-to-class":"transform translate-x-0 opacity-100","leave-active-class":"transition-all duration-300 ease-in","leave-from-class":"transform translate-x-0 opacity-100","leave-to-class":"transform translate-x-full opacity-0"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(m.value),role:"alert","aria-live":t.variant==="danger"?"assertive":"polite"},[e.createElementVNode("div",Cd,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Bd,[e.createVNode(j,{name:p.value,class:e.normalizeClass(v.value)},null,8,["name","class"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Vd,[t.title?(e.openBlock(),e.createElementBlock("div",Sd,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.message?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["text-sm",{"mt-1":t.title}])},e.toDisplayString(t.message),3)):e.createCommentVNode("",!0),e.renderSlot(S.$slots,"default")]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,class:"flex-shrink-0 rounded-md p-1.5 hover:bg-black/5 focus:outline-none focus:ring-2 focus:ring-offset-2",onClick:h},[e.createVNode(j,{name:"x",class:"h-4 w-4"})])):e.createCommentVNode("",!0)])],10,wd)):e.createCommentVNode("",!0)]),_:3}))}},Oe=e.ref([]);let Ed=0;const Nd={duration:3e3,position:"top-center",dismissible:!0,closeButton:!1},$d=()=>`toast-${++Ed}-${Date.now()}`,me=(t,n={})=>{const a=$d(),o={id:a,message:t,...Nd,...n,createdAt:Date.now()};return Oe.value.push(e.markRaw(o)),o.duration&&o.duration>0&&setTimeout(()=>{je(a)},o.duration),a},je=t=>{const n=Oe.value.findIndex(a=>a.id===t);n>-1&&Oe.value.splice(n,1)},wo=()=>{Oe.value=[]},ne=Object.assign((t,n)=>me(t,{...n}),{success:(t,n)=>me(t,{...n,variant:"success"}),error:(t,n)=>me(t,{...n,variant:"error"}),warning:(t,n)=>me(t,{...n,variant:"warning"}),info:(t,n)=>me(t,{...n,variant:"info"}),promise:(t,n={})=>{const{loading:a="Loading...",success:o="Success",error:r="Error",...l}=n,s=me(a,{...l,variant:"loading",duration:0,dismissible:!1});return t.then(u=>{je(s);const m=typeof o=="function"?o(u):o;return me(m,{...l,variant:"success"}),u}).catch(u=>{je(s);const m=typeof r=="function"?r(u):r;throw me(m,{...l,variant:"error"}),u})},dismiss:je,dismissAll:wo,custom:(t,n={})=>me("",{...n,component:e.markRaw(t)})}),Co=()=>({toasts:Oe,dismiss:je,dismissAll:wo}),zd=["aria-live"],Dd={class:"flex-1 grid gap-1"},Td={key:0,class:"text-lg font-extrabold"},Ad={key:1,class:"text-md opacity-90"},Fd={key:2,class:"text-md opacity-90"},Pd=["onClick"],Ld=["onClick"],Bo={__name:"Toast",props:{position:{type:String,default:"top-center",validator:t=>["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"].includes(t)},hotkey:{type:Array,default:()=>["altKey","KeyT"]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},visibleToasts:{type:Number,default:3},closeButton:{type:Boolean,default:!1}},setup(t){const n=t,{toasts:a,dismiss:o}=Co(),r={"top-left":"top-0 left-0 flex-col","top-center":"top-0 left-1/2 -translate-x-1/2 flex-col","top-right":"top-0 right-0 flex-col","bottom-left":"bottom-0 left-0 flex-col-reverse","bottom-center":"bottom-0 left-1/2 -translate-x-1/2 flex-col-reverse","bottom-right":"bottom-0 right-0 flex-col-reverse"},l=e.computed(()=>k(r[n.position])),s=z.cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all",{variants:{variant:{default:"border border-gray-300 bg-gray-50 text-gray-800 dark:border-gray-800 dark:bg-gray-500 dark:text-gray-50",info:"border-blue-500/20 bg-blue-50 text-blue-900 dark:border-blue-500/30 dark:bg-blue-950 dark:text-blue-50",success:"border border-green-200 bg-green-50 text-green-800 dark:border-green-200 dark:bg-green-50 dark:text-green-900",warning:"border-yellow-500/20 bg-yellow-50 text-yellow-900 dark:border-yellow-500/30 dark:bg-yellow-950 dark:text-yellow-50",error:"border-red-500/30 bg-red-50 text-red-900 dark:border-red-500/40 dark:bg-red-950 dark:text-red-50 ring-1 ring-red-500/20 dark:ring-red-500/30",loading:"border border-border animate-pulse bg-gray-800 text-gray-800 dark:border-gray-800 dark:bg-gray-700 dark:text-gray-50"}},defaultVariants:{variant:"default"}}),u=y=>k(s({variant:y.variant})),m={default:"bell",info:"info",success:"check-circle",warning:"triangle-exclamation",error:"circle-exclamation",loading:"loader"},p={default:"text-muted-foreground",info:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",loading:"text-muted-foreground animate-spin"},v=y=>y.icon||m[y.variant]||m.default,h=y=>{const f=p[y.variant]||p.default;return y.variant==="loading"?`${f} animate-spin`:f},S=y=>y.icon!==!1,b=y=>y.dismissible!==!1&&(y.closeButton||n.closeButton||y.dismissible);return(y,f)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)(l.value,"fixed z-[100] flex max-h-screen w-full p-4 md:max-w-[420px]"))},[e.createVNode(e.TransitionGroup,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"transform translate-x-full opacity-0 scale-95","enter-to-class":"transform translate-x-0 opacity-100 scale-100","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"transform translate-x-0 opacity-100 scale-100","leave-to-class":"transform translate-x-full opacity-0 scale-95","move-class":"transition-all duration-200",tag:"div",class:"space-y-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),d=>(e.openBlock(),e.createElementBlock("div",{key:d.id,class:e.normalizeClass([u(d),"group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all"]),role:"alert","aria-live":d.variant==="error"?"assertive":"polite"},[S(d)?(e.openBlock(),e.createBlock(j,{key:0,icon:v(d),class:e.normalizeClass([h(d),"h-4 w-4 shrink-0"])},null,8,["icon","class"])):e.createCommentVNode("",!0),e.createElementVNode("div",Dd,[d.title?(e.openBlock(),e.createElementBlock("div",Td,e.toDisplayString(d.title),1)):e.createCommentVNode("",!0),d.message?(e.openBlock(),e.createElementBlock("div",Ad,e.toDisplayString(d.message),1)):e.createCommentVNode("",!0),d.description?(e.openBlock(),e.createElementBlock("div",Fd,e.toDisplayString(d.description),1)):e.createCommentVNode("",!0),d.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.component),e.mergeProps({key:3,ref_for:!0},d.componentProps),null,16)):e.createCommentVNode("",!0)]),d.action?(e.openBlock(),e.createElementBlock("button",{key:1,class:"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-xs font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",onClick:d.action.onClick},e.toDisplayString(d.action.label),9,Pd)):e.createCommentVNode("",!0),b(d)?(e.openBlock(),e.createElementBlock("button",{key:2,class:"absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100",onClick:i=>e.unref(o)(d.id)},[e.createVNode(j,{icon:"x",class:"h-4 w-4"})],8,Ld)):e.createCommentVNode("",!0)],10,zd))),128))]),_:1})],2)]))}},jd={class:"relative"},Md={class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},Id=["value","placeholder","disabled"],Od={key:0,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},Rd=["aria-label"],_d={key:1,class:"animate-spin"},Ud={key:0,class:"max-h-64 overflow-y-auto"},qd=["onClick","onMouseenter"],Hd={class:"flex-1 text-left"},Wd={class:"font-medium text-slate-900"},Yd={key:0,class:"text-sm text-slate-500 truncate"},Gd={key:1,class:"text-xs text-slate-400 ml-3"},Kd={key:1,class:"px-4 py-3 text-sm text-slate-500 text-center"},Xd={key:2,class:"border-t border-slate-200 p-2"},Vo={__name:"Search",props:{modelValue:{type:String,default:""},results:{type:Array,default:()=>[]},placeholder:{type:String,default:"Search..."},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},clearLabel:{type:String,default:"Clear search"},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},debounce:{type:Number,default:300},minLength:{type:Number,default:1},showNoResults:{type:Boolean,default:!0},noResultsText:{type:String,default:"No results found"},highlightMatches:{type:Boolean,default:!0}},emits:["update:modelValue","search","select","clear","focus","blur"],setup(t,{emit:n}){const a={template:`<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
592
+ `},S=e.computed(()=>({info:u,success:m,warning:p,error:v,default:u,danger:v})[a.variant]),b=z.cva("relative w-full rounded-lg border p-4 flex items-start gap-3",{variants:{variant:{default:"bg-background text-foreground",danger:"border-danger/50 text-danger dark:border-danger",info:"bg-blue-50 border-blue-200 text-blue-800",success:"bg-green-50 border-green-200 text-green-800",warning:"bg-yellow-50 border-yellow-200 text-yellow-800",error:"bg-red-50 border-red-200 text-red-800"}},defaultVariants:{variant:"default"}}),y=e.computed(()=>["w-5 h-5",{info:"text-blue-500",success:"text-green-500",warning:"text-yellow-500",error:"text-red-500",default:"text-foreground",danger:"text-danger"}[a.variant]]),f=e.computed(()=>["flex-shrink-0 p-1 rounded-md transition-colors duration-200",{info:"text-blue-500 hover:text-blue-700 hover:bg-blue-100",success:"text-green-500 hover:text-green-700 hover:bg-green-100",warning:"text-yellow-500 hover:text-yellow-700 hover:bg-yellow-100",error:"text-red-500 hover:text-red-700 hover:bg-red-100",default:"text-foreground hover:text-foreground/80 hover:bg-muted",danger:"text-danger hover:text-danger/80 hover:bg-danger/10"}[a.variant]]);return(d,i)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"transition-all duration-300","enter-from-class":"opacity-0 scale-95","enter-to-class":"opacity-100 scale-100","leave-active-class":"transition-all duration-200","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(k)(e.unref(b)({variant:t.variant}),d.$attrs.class)),role:"alert"},[e.createElementVNode("div",pc,[t.showIcon?(e.openBlock(),e.createElementBlock("div",gc,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.value),{class:e.normalizeClass(y.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",vc,[t.title?(e.openBlock(),e.createElementBlock("h4",hc,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["text-sm",{"mt-0":!t.title,"mt-1":t.title}])},[e.renderSlot(d.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)])],2),d.$slots.actions||t.actions.length>0?(e.openBlock(),e.createElementBlock("div",bc,[e.renderSlot(d.$slots,"actions",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,c=>(e.openBlock(),e.createBlock(J,{key:c.label,variant:c.variant||"outline",size:c.size||"sm",onClick:g=>s(c)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.label),1)]),_:2},1032,["variant","size","onClick"]))),128))])])):e.createCommentVNode("",!0)]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(f.value),"aria-label":t.dismissLabel,onClick:l},[e.createVNode(h,{class:"w-4 h-4"})],10,yc)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)]),_:3}))}}),xc=["aria-label"],kc={class:"flex items-center space-x-1"},no={__name:"Breadcrumb",props:{items:{type:Array,required:!0,validator:t=>t.every(n=>n.label)},separator:{type:String,default:"chevron-right"},ariaLabel:{type:String,default:"Breadcrumb navigation"},variant:{type:String,default:"default",validator:t=>["default","ghost"].includes(t)}},setup(t){const n=t,a=z.cva("",{variants:{variant:{default:"",ghost:"text-muted-foreground"}}}),o=e.computed(()=>k(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel,class:e.normalizeClass(["flex",o.value])},[e.createElementVNode("ol",kc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(s,u)=>(e.openBlock(),e.createElementBlock("li",{key:u,class:"flex items-center"},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.href?"a":"span"),{href:s.href,class:e.normalizeClass(["text-sm font-medium transition-colors hover:text-foreground",u===t.items.length-1?"text-foreground":"text-muted-foreground hover:text-foreground"]),"aria-current":u===t.items.length-1?"page":void 0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.label),1)]),_:2},1032,["href","class","aria-current"])),u<t.items.length-1?(e.openBlock(),e.createBlock(j,{key:0,name:t.separator,class:"mx-2 h-4 w-4 text-muted-foreground"},null,8,["name"])):e.createCommentVNode("",!0)]))),128))])],10,xc))}},wc=["aria-label"],oo={__name:"ButtonGroup",props:{orientation:{type:String,default:"horizontal",validator:t=>["horizontal","vertical"].includes(t)},size:{type:String,default:"default",validator:t=>["sm","default","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","outline","ghost"].includes(t)},ariaLabel:String},setup(t){const n=t,a=z.cva("inline-flex",{variants:{orientation:{horizontal:"flex-row [&>*:not(:first-child)]:ml-[-1px] [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-l-none",vertical:"flex-col [&>*:not(:first-child)]:mt-[-1px] [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-b-none [&>*:last-child]:rounded-t-none"}}}),o=e.computed(()=>k(a({orientation:n.orientation})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value),role:"group","aria-label":t.ariaLabel},[e.renderSlot(r.$slots,"default")],10,wc))}},Cc={key:0,class:"absolute inset-0 bg-white/60 backdrop-blur-sm flex items-center justify-center z-10","aria-hidden":"true"},Bc={class:"flex items-start justify-between gap-4"},Vc={class:"flex-1 min-w-0"},Sc={key:0,class:"flex-shrink-0"},Ec=["src","alt","loading"],Nc={key:5,class:"absolute top-3 right-3"},$c={class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-slate-900 text-white"},zc="w-full h-full object-cover",Dc="font-semibold text-slate-900 line-clamp-2",Tc="text-sm text-slate-600 mt-1 line-clamp-2",ro={__name:"Card",props:{as:{type:String,default:"div"},variant:{type:String,default:"default",validator:t=>["default","outlined","elevated","filled","ghost"].includes(t)},padding:{type:String,default:"md",validator:t=>["none","sm","md","lg","xl"].includes(t)},bordered:{type:Boolean,default:!0},title:String,titleTag:{type:String,default:"h3"},titleSize:{type:String,default:"default",validator:t=>["sm","default","lg","xl"].includes(t)},subtitle:String,badge:String,image:String,imageAlt:{type:String,default:"Card image"},imageAspect:{type:String,default:"auto",validator:t=>["auto","video","square","portrait"].includes(t)},imageLazy:{type:Boolean,default:!0},hoverable:Boolean,clickable:Boolean,disabled:Boolean,loading:Boolean},emits:["click"],setup(t,{emit:n}){const a=t,o=n,r=b=>{a.clickable&&!a.disabled&&!a.loading&&o("click",b)},l=b=>{a.clickable&&!a.disabled&&!a.loading&&o("click",b)},s=e.computed(()=>({sm:"text-base",default:"text-lg",lg:"text-xl",xl:"text-2xl"})[a.titleSize]),u=e.computed(()=>({auto:"",video:"aspect-video",square:"aspect-square",portrait:"aspect-[3/4]"})[a.imageAspect]),m=z.cva("rounded-lg overflow-hidden transition-all duration-200 relative",{variants:{variant:{default:"bg-white",outlined:"bg-white",elevated:"bg-white shadow-md",filled:"bg-slate-50",ghost:"bg-transparent"},padding:{none:"",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"},bordered:{true:"",false:""},hoverable:{true:"hover:shadow-lg hover:scale-[1.02]"},clickable:{true:"cursor-pointer focus:outline-none focus:ring-2 focus:ring-slate-400 focus:ring-offset-2"},loading:{true:""}},compoundVariants:[{variant:"default",bordered:!0,class:"border border-slate-200"},{variant:"outlined",bordered:!0,class:"border-2 border-slate-300"},{variant:"elevated",bordered:!0,class:"border border-slate-100"},{variant:"filled",bordered:!0,class:"border border-slate-200"},{clickable:!0,hoverable:!1,class:"hover:bg-slate-50"}],defaultVariants:{variant:"default",padding:"md",bordered:!0}}),p=z.cva("",{variants:{padding:{none:"p-4 pb-3",sm:"px-3 pt-3 pb-2",md:"px-4 pt-4 pb-3",lg:"px-6 pt-6 pb-4",xl:"px-8 pt-8 pb-6"},hasBorder:{true:"border-b border-slate-200 mb-0",false:""}}}),v=z.cva("",{variants:{padding:{none:"p-4",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}}}),h=z.cva("border-t border-slate-200 bg-slate-50/50",{variants:{padding:{none:"p-4 pt-3",sm:"px-3 pb-3 pt-2",md:"px-4 pb-4 pt-3",lg:"px-6 pb-6 pt-4",xl:"px-8 pb-8 pt-6"}}}),S=z.cva("overflow-hidden",{variants:{padding:{none:"",sm:"-mx-3 mb-3",md:"-mx-4 mb-4",lg:"-mx-6 mb-6",xl:"-mx-8 mb-8"},hasHeader:{true:"",false:""}},compoundVariants:[{hasHeader:!0,padding:"sm",class:"-mt-3"},{hasHeader:!0,padding:"md",class:"-mt-4"},{hasHeader:!0,padding:"lg",class:"-mt-6"},{hasHeader:!0,padding:"xl",class:"-mt-8"}]});return(b,y)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.as),{class:e.normalizeClass(e.unref(k)(e.unref(m)({variant:t.variant,padding:t.padding,hoverable:t.hoverable,clickable:t.clickable,loading:t.loading,bordered:t.bordered}))),disabled:t.disabled||t.loading,"aria-busy":t.loading,"aria-disabled":t.disabled,role:t.clickable?"button":void 0,tabindex:t.clickable&&!t.disabled?0:void 0,onClick:r,onKeydown:[e.withKeys(l,["enter"]),e.withKeys(e.withModifiers(l,["prevent"]),["space"])]},{default:e.withCtx(()=>[t.loading?(e.openBlock(),e.createElementBlock("div",Cc,[...y[0]||(y[0]=[e.createElementVNode("div",{class:"animate-spin rounded-full h-8 w-8 border-b-2 border-slate-900"},null,-1)])])):e.createCommentVNode("",!0),b.$slots.header||t.title||t.subtitle||b.$slots.actions?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(k)(e.unref(p)({padding:t.padding,hasBorder:!!(b.$slots.default||b.$slots.footer)})))},[e.renderSlot(b.$slots,"header",{},()=>[e.createElementVNode("div",Bc,[e.createElementVNode("div",Vc,[t.title?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.titleTag),{key:0,class:e.normalizeClass(e.unref(k)(Dc,s.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1},8,["class"])):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(Tc)},e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),b.$slots.actions?(e.openBlock(),e.createElementBlock("div",Sc,[e.renderSlot(b.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),b.$slots.image||t.image?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(k)(e.unref(S)({padding:t.padding,hasHeader:!!(b.$slots.header||t.title)})))},[e.renderSlot(b.$slots,"image",{},()=>[t.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.image,alt:t.imageAlt,class:e.normalizeClass(e.unref(k)(zc,u.value)),loading:t.imageLazy?"lazy":"eager"},null,10,Ec)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),b.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(k)(e.unref(v)({padding:t.padding})))},[e.renderSlot(b.$slots,"default")],2)):e.createCommentVNode("",!0),b.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(e.unref(k)(e.unref(h)({padding:t.padding})))},[e.renderSlot(b.$slots,"footer")],2)):e.createCommentVNode("",!0),t.badge?(e.openBlock(),e.createElementBlock("div",Nc,[e.createElementVNode("span",$c,e.toDisplayString(t.badge),1)])):e.createCommentVNode("",!0)]),_:3},40,["class","disabled","aria-busy","aria-disabled","role","tabindex","onKeydown"]))}},Ac={class:"flex flex-col"},Fc={key:0},Pc={key:1},Lc={key:0},lo=Object.assign({inheritAttrs:!1},{__name:"CardHeader",props:{title:{type:String,default:""},subtitle:{type:String,default:""}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(k)("flex items-center justify-between",n.$attrs.class))},[e.createElementVNode("div",Ac,[t.title||n.$slots.title?(e.openBlock(),e.createElementBlock("h2",Fc,[e.renderSlot(n.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])])):e.createCommentVNode("",!0),t.subtitle||n.$slots.description?(e.openBlock(),e.createElementBlock("p",Pc,[e.renderSlot(n.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0)]),n.$slots.actions?(e.openBlock(),e.createElementBlock("div",Lc,[e.renderSlot(n.$slots,"actions")])):e.createCommentVNode("",!0)],2))}}),so={__name:"CardBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=z.cva("p-6",{variants:{variant:{default:"p-6",compact:"p-4",spacious:"p-8"}}}),o=e.computed(()=>k(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(r.$slots,"default")],2))}},io={__name:"CardFooter",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=z.cva("flex items-center p-6 pt-0",{variants:{variant:{default:"p-6 pt-0",compact:"p-4 pt-0",spacious:"p-8 pt-0"}}}),o=e.computed(()=>k(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(r.$slots,"default")],2))}},co=Object.assign({inheritAttrs:!1},{__name:"CardContent",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(k)("p-6 pt-0",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),uo=Object.assign({inheritAttrs:!1},{__name:"CardTitle",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("h3",{class:e.normalizeClass(e.unref(k)("text-2xl font-semibold leading-none tracking-tight",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),jc={class:"relative w-full"},Mc={class:"relative"},Ic=["id","value","disabled","placeholder","required","aria-describedby"],Oc={class:"flex items-center justify-between mb-4"},Rc={class:"text-base font-semibold text-slate-900"},_c={class:"grid grid-cols-7 gap-1 mb-2"},Uc={class:"grid grid-cols-7 gap-1"},qc=["disabled","onClick"],Hc={key:0,class:"mt-4 pt-3 border-t border-slate-200"},qe={__name:"DatePicker",props:{id:String,modelValue:[String,Date],disabled:Boolean,required:Boolean,min:[String,Date],max:[String,Date],placeholder:{type:String,default:"Select date"},format:{type:String,default:"MM/DD/YYYY"},clearable:{type:Boolean,default:!0},showToday:{type:Boolean,default:!0},calendarPosition:{type:String,default:"left-0 bottom-full"},ariaDescribedby:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=new Date,s=e.ref(l.getMonth()),u=e.ref(l.getFullYear()),m=e.ref(null),p=["Su","Mo","Tu","We","Th","Fr","Sa"],v=e.computed(()=>new Date(u.value,s.value).toLocaleString("default",{month:"long"})),h=e.computed(()=>new Date(u.value,s.value+1,0).getDate()),S=e.computed(()=>new Date(u.value,s.value,1).getDay()),b=e.computed(()=>{const C=new Date(u.value,s.value,0).getDate(),N=S.value;return Array.from({length:N},(P,W)=>C-N+W+1)}),y=e.computed(()=>{const C=b.value.length+h.value,N=C%7===0?0:7-C%7;return Array.from({length:N},(P,W)=>W+1)}),f=e.computed(()=>m.value?d(m.value):"");function d(C){if(!C)return"";const N=new Date(C),P=String(N.getMonth()+1).padStart(2,"0"),W=String(N.getDate()).padStart(2,"0"),U=N.getFullYear();return a.format.replace("MM",P).replace("DD",W).replace("YYYY",U)}function i(C){if(!C)return null;if(C instanceof Date)return C;if(typeof C=="string"){const P=C.split("-");if(P.length===3){const W=parseInt(P[0],10),U=parseInt(P[1],10)-1,re=parseInt(P[2],10);return new Date(W,U,re)}}const N=new Date(C);return isNaN(N.getTime())?null:N}function c(C){return l.getDate()===C&&l.getMonth()===s.value&&l.getFullYear()===u.value}function g(C){if(!m.value)return!1;const N=new Date(m.value);return N.getDate()===C&&N.getMonth()===s.value&&N.getFullYear()===u.value}function w(C){const N=new Date(u.value,s.value,C);if(a.min){const P=i(a.min);if(P&&N<P)return!0}if(a.max){const P=i(a.max);if(P&&N>P)return!0}return!1}function x(){a.disabled||(r.value=!r.value)}function F(){r.value=!1}function L(){s.value===0?(s.value=11,u.value--):s.value--}function H(){s.value===11?(s.value=0,u.value++):s.value++}function _(C){if(w(C))return;const N=new Date(u.value,s.value,C);m.value=N;const P=N.getFullYear(),W=String(N.getMonth()+1).padStart(2,"0"),U=String(N.getDate()).padStart(2,"0"),re=`${P}-${W}-${U}`;o("update:modelValue",re),setTimeout(()=>{r.value=!1},150)}function E(){s.value=l.getMonth(),u.value=l.getFullYear(),_(l.getDate())}function I(){m.value=null,o("update:modelValue","")}e.watch(()=>a.modelValue,C=>{if(C){const N=i(C);N&&(m.value=N,s.value=N.getMonth(),u.value=N.getFullYear())}else m.value=null},{immediate:!0});function M(C){C.key==="Escape"&&r.value&&F()}return e.onMounted(()=>{document.addEventListener("keydown",M)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",M)}),(C,N)=>(e.openBlock(),e.createElementBlock("div",jc,[e.createElementVNode("div",Mc,[e.createElementVNode("input",{id:t.id,type:"text",value:f.value,readonly:"",disabled:t.disabled,placeholder:t.placeholder,required:t.required,"aria-describedby":t.ariaDescribedby,class:"w-full px-3 py-2 pr-10 border border-slate-300 rounded-md bg-white text-slate-900 placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 cursor-pointer disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed",onClick:x},null,8,Ic),N[2]||(N[2]=e.createElementVNode("div",{class:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none"},[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[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)),t.clearable&&f.value&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-9 top-1/2 -translate-y-1/2 p-1 hover:bg-slate-100 rounded","aria-label":"Clear date",onClick:e.withModifiers(I,["stop"])},[...N[1]||(N[1]=[e.createElementVNode("svg",{class:"w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute z-[9999] mb-2 bg-white border border-slate-200 rounded-lg shadow-lg p-4",t.calendarPosition]),onClick:N[0]||(N[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Oc,[e.createElementVNode("button",{type:"button",class:"p-2 rounded-lg hover:bg-slate-100 transition-colors","aria-label":"Previous Month",onClick:L},[...N[3]||(N[3]=[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-700",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 18l-6-6 6-6"})],-1)])]),e.createElementVNode("div",Rc,e.toDisplayString(v.value)+" "+e.toDisplayString(u.value),1),e.createElementVNode("button",{type:"button",class:"p-2 rounded-lg hover:bg-slate-100 transition-colors","aria-label":"Next Month",onClick:H},[...N[4]||(N[4]=[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-700",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 18l6-6-6-6"})],-1)])])]),e.createElementVNode("div",_c,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(p,P=>e.createElementVNode("div",{key:P,class:"text-center text-xs font-medium text-slate-600 py-1"},e.toDisplayString(P),1)),64))]),e.createElementVNode("div",Uc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(P,W)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+W,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(P),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,P=>(e.openBlock(),e.createElementBlock("button",{key:P,type:"button",disabled:w(P),class:e.normalizeClass(["w-9 h-9 rounded-lg text-sm font-medium transition-colors",c(P)&&!g(P)?"bg-blue-50 text-blue-600 border border-blue-200":"",g(P)?"bg-blue-500 text-white hover:bg-blue-600":"text-slate-700 hover:bg-slate-100",w(P)?"text-slate-300 cursor-not-allowed hover:bg-transparent":"cursor-pointer"]),onClick:W=>_(P)},e.toDisplayString(P),11,qc))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(P,W)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+W,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(P),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",Hc,[e.createElementVNode("button",{type:"button",class:"w-full px-3 py-2 text-sm font-medium text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",onClick:E}," Today ")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-[9998]",onClick:F})):e.createCommentVNode("",!0)]))}},Wc=["aria-expanded"],mo={__name:"Dropdown",props:{triggerText:{type:String,default:"Options"},placement:{type:String,default:"bottom-start",validator:t=>["bottom-start","bottom-end","top-start","top-end"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","outline","ghost"].includes(t)}},setup(t){const n=t,a=e.ref(!1),o=e.ref(null),r=z.cva("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",ghost:"hover:bg-accent hover:text-accent-foreground"}}}),l=z.cva("absolute z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",{variants:{placement:{"bottom-start":"top-full left-0 mt-1","bottom-end":"top-full right-0 mt-1","top-start":"bottom-full left-0 mb-1","top-end":"bottom-full right-0 mb-1"}}}),s=e.computed(()=>k(r({variant:n.variant}),"h-10 px-4 py-2")),u=e.computed(()=>k(l({placement:n.placement}))),m=()=>{a.value=!a.value},p=v=>{o.value&&!o.value.contains(v.target)&&(a.value=!1)};return e.onMounted(()=>{document.addEventListener("click",p)}),e.onUnmounted(()=>{document.removeEventListener("click",p)}),(v,h)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdownRef",ref:o,class:"relative"},[e.createElementVNode("button",{class:e.normalizeClass(s.value),"aria-expanded":a.value,"aria-haspopup":!0,onClick:m},[e.renderSlot(v.$slots,"trigger",{},()=>[e.createElementVNode("span",null,e.toDisplayString(t.triggerText),1),e.createVNode(j,{name:"chevron-down",class:"ml-2 h-4 w-4"})])],10,Wc),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(u.value),role:"menu","aria-orientation":"vertical"},[e.renderSlot(v.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3})],512))}},Yc={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},fo={__name:"DropdownItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,variant:{type:String,default:"default",validator:t=>["default","danger"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,o=n,r=z.cva("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",{variants:{variant:{default:"hover:bg-accent hover:text-accent-foreground",danger:"text-danger hover:bg-danger hover:text-danger-foreground"}}}),l=e.computed(()=>k(r({variant:a.variant}))),s=u=>{a.disabled||o("click",u)};return(u,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"button"),{href:t.href,class:e.normalizeClass(l.value),disabled:t.disabled,role:"menuitem",onClick:s},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(j,{key:0,name:t.icon,class:"mr-2 h-4 w-4"},null,8,["name"])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"default"),t.shortcut?(e.openBlock(),e.createElementBlock("span",Yc,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},Gc={class:"w-full"},Kc=["multiple","accept"],Xc={class:"flex flex-col items-center justify-center py-6"},Qc={key:0,class:"text-xs text-muted-foreground mt-1"},Jc={key:0,class:"mt-4 space-y-2"},Zc={class:"flex items-center space-x-2"},ed={class:"text-sm"},td={class:"text-xs text-muted-foreground"},ad=["onClick"],po={__name:"FileUpload",props:{multiple:Boolean,accept:String,maxSize:Number,variant:{type:String,default:"default",validator:t=>["default","dashed"].includes(t)}},emits:["files-selected","file-removed"],setup(t,{emit:n}){const a=t,o=n,r=e.ref([]),l=e.ref(!1),s=e.ref(null),u=z.cva("border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200",{variants:{variant:{default:"border-muted-foreground/25 hover:border-muted-foreground/50 hover:bg-muted/30",dashed:"border-primary/50 hover:border-primary/70 hover:bg-primary/10"}}}),m=e.computed(()=>k(u({variant:a.variant}),{"border-green-500 bg-green-50/50":r.value.length>0&&!l.value,"border-blue-500 bg-blue-50/50 ring-2 ring-blue-200/50":l.value,"border-green-600 bg-green-100/50 ring-2 ring-green-200/50":r.value.length>0&&l.value})),p=c=>{c.preventDefault(),l.value=!1;const g=Array.from(c.dataTransfer.files);f(g)},v=c=>{c.preventDefault()},h=c=>{c.preventDefault(),l.value=!0},S=c=>{c.preventDefault(),l.value=!1},b=()=>{s.value?.click()},y=c=>{const g=Array.from(c.target.files);f(g)},f=c=>{const g=c.filter(w=>!(a.maxSize&&w.size>a.maxSize));a.multiple?r.value.push(...g):r.value=g.slice(0,1),o("files-selected",r.value)},d=c=>{r.value.splice(c,1),o("file-removed",r.value)},i=c=>{if(c===0)return"0 Bytes";const g=1024,w=["Bytes","KB","MB","GB"],x=Math.floor(Math.log(c)/Math.log(g));return parseFloat((c/Math.pow(g,x)).toFixed(2))+" "+w[x]};return(c,g)=>(e.openBlock(),e.createElementBlock("div",Gc,[e.createElementVNode("div",{class:e.normalizeClass(m.value),onDrop:p,onDragover:v,onDragenter:h,onDragleave:S,onClick:b},[e.createElementVNode("input",{ref_key:"fileInput",ref:s,type:"file",multiple:t.multiple,accept:t.accept,class:"hidden",onChange:y},null,40,Kc),e.createElementVNode("div",Xc,[e.createVNode(j,{icon:"upload",class:"h-8 w-8 text-muted-foreground mb-2"}),g[0]||(g[0]=e.createElementVNode("p",{class:"text-sm text-muted-foreground text-center"},[e.createElementVNode("span",{class:"font-semibold"},"Click to upload"),e.createTextVNode(" or drag and drop ")],-1)),t.accept?(e.openBlock(),e.createElementBlock("p",Qc,e.toDisplayString(t.accept),1)):e.createCommentVNode("",!0)])],34),r.value.length>0?(e.openBlock(),e.createElementBlock("div",Jc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(w,x)=>(e.openBlock(),e.createElementBlock("div",{key:x,class:"flex items-center justify-between p-2 bg-gray-300 rounded-md"},[e.createElementVNode("div",Zc,[e.createVNode(j,{icon:"file",class:"h-4 w-4 text-muted-foreground"}),e.createElementVNode("span",ed,e.toDisplayString(w.name),1),e.createElementVNode("span",td,"("+e.toDisplayString(i(w.size))+")",1)]),e.createElementVNode("button",{class:"text-muted-foreground hover:text-foreground",onClick:F=>d(x)},[e.createVNode(j,{icon:"x",class:"h-4 w-4"})],8,ad)]))),128))])):e.createCommentVNode("",!0)]))}},nd=["for"],od={key:0,class:"text-red-500 ml-1","aria-label":"required"},rd={class:"relative"},ld=["aria-label"],sd=["id"],id=["id"],ut={__name:"FormField",props:{label:String,description:String,error:String,success:String,helpText:String,required:{type:Boolean,default:!1},type:{type:String,default:"text"},modelValue:[String,Date],size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},id:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=`field-${Math.random().toString(36).slice(2,9)}`,l=e.computed(()=>`${a.id||r}-${Math.random().toString(36).slice(2,5)}`),s=e.computed(()=>!!a.error),u=e.ref(!1),m=()=>{u.value=!u.value},p=e.computed(()=>{const f=[];return a.error?f.push(`${l.value}-error`):a.helpText&&f.push(`${l.value}-help`),f.length>0?f.join(" "):void 0}),v=z.cva("",{variants:{size:{sm:"space-y-1",md:"space-y-2",lg:"space-y-3"}},defaultVariants:{size:"md"}}),h=z.cva("block text-slate-900",{variants:{size:{sm:"text-xs font-medium",md:"text-sm font-medium",lg:"text-base font-medium"}},defaultVariants:{size:"md"}}),S=z.cva("text-slate-600",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),b=z.cva("flex items-start gap-2",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"},intent:{error:"text-red-600",success:"text-green-600"}},defaultVariants:{size:"md",intent:"error"}}),y=z.cva("text-slate-500",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"}},defaultVariants:{size:"md"}});return(f,d)=>{const i=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(k)(e.unref(v)({size:t.size}),f.$attrs.class))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:l.value,class:e.normalizeClass(e.unref(k)(e.unref(h)({size:t.size})))},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",od,"*")):e.createCommentVNode("",!0)],10,nd)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(e.unref(k)(e.unref(S)({size:t.size})))},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0),e.createElementVNode("div",rd,[t.type==="date"?(e.openBlock(),e.createBlock(qe,{key:0,id:l.value,"model-value":t.modelValue,disabled:!1,required:t.required,class:e.normalizeClass(s.value?"border-red-500":""),"onUpdate:modelValue":d[0]||(d[0]=c=>o("update:modelValue",c))},null,8,["id","model-value","required","class"])):e.renderSlot(f.$slots,"default",{key:1,fieldId:l.value,hasError:s.value,ariaDescribedBy:p.value,showPassword:u.value,togglePasswordVisibility:m}),t.type==="password"?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"absolute inset-y-0 right-0 pr-3 flex items-center text-slate-400 hover:text-slate-600 transition-colors","aria-label":u.value?"Hide password":"Show password",onClick:m},[e.createVNode(i,{icon:u.value?"eye-slash":"eye",class:"w-4 h-4"},null,8,["icon"])],8,ld)):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200","enter-from-class":"opacity-0 -translate-y-1","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition-all duration-150","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 -translate-y-1"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:`${l.value}-error`,class:e.normalizeClass(e.unref(k)(e.unref(b)({size:t.size,intent:"error"}))),role:"alert","aria-live":"polite"},[e.createVNode(i,{icon:"exclamation-triangle",class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.error),1)],10,sd)):e.createCommentVNode("",!0)]),_:1}),t.helpText&&!s.value?(e.openBlock(),e.createElementBlock("p",{key:2,id:`${l.value}-help`,class:e.normalizeClass(e.unref(k)(e.unref(y)({size:t.size})))},e.toDisplayString(t.helpText),11,id)):e.createCommentVNode("",!0),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200","enter-from-class":"opacity-0 -translate-y-1","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition-all duration-150","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 -translate-y-1"},{default:e.withCtx(()=>[t.success&&!s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(k)(e.unref(b)({size:t.size,intent:"success"})))},[e.createVNode(i,{icon:"check",class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.success),1)],2)):e.createCommentVNode("",!0)]),_:1})],2)}}},cd={key:0,class:"flex items-center px-3 bg-muted border border-r-0 rounded-l-md"},dd={key:1,class:"flex items-center px-3 bg-muted border border-l-0 rounded-r-md"},go={__name:"InputGroup",props:{variant:{type:String,default:"default",validator:t=>["default","outline"].includes(t)}},setup(t){const n=t,a=z.cva("flex w-full",{variants:{variant:{default:"[&>input]:rounded-none [&>input:first-child]:rounded-l-md [&>input:last-child]:rounded-r-md",outline:"border border-input rounded-md [&>input]:border-0 [&>input]:rounded-none"}}}),o=e.computed(()=>k(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[r.$slots.prefix?(e.openBlock(),e.createElementBlock("div",cd,[e.renderSlot(r.$slots,"prefix")])):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"default"),r.$slots.suffix?(e.openBlock(),e.createElementBlock("div",dd,[e.renderSlot(r.$slots,"suffix")])):e.createCommentVNode("",!0)],2))}},ud=["role"],md={key:0,class:"flex-shrink-0"},fd={class:"flex-1 min-w-0"},pd={key:0,class:"text-sm font-medium text-foreground"},gd={key:1,class:"text-sm text-muted-foreground"},vd={key:1,class:"flex-shrink-0"},vo={__name:"ListItem",props:{title:String,description:String,icon:String,href:String,role:String,variant:{type:String,default:"default",validator:t=>["default","interactive"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,o=n,r=z.cva("",{variants:{variant:{default:"",interactive:"hover:bg-accent/50 cursor-pointer"}}}),l=z.cva("flex items-center space-x-3 p-3",{variants:{variant:{default:"",interactive:"transition-colors rounded-md"}}}),s=e.computed(()=>k(r({variant:a.variant}))),u=e.computed(()=>k(l({variant:a.variant}))),m=p=>{o("click",p)};return(p,v)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(s.value),role:t.role},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"div"),{href:t.href,class:e.normalizeClass(u.value),onClick:m},{default:e.withCtx(()=>[p.$slots.icon||t.icon?(e.openBlock(),e.createElementBlock("div",md,[e.renderSlot(p.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createBlock(j,{key:0,name:t.icon,class:"h-5 w-5"},null,8,["name"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",fd,[t.title?(e.openBlock(),e.createElementBlock("div",pd,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("div",gd,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(p.$slots,"default")]),p.$slots.action?(e.openBlock(),e.createElementBlock("div",vd,[e.renderSlot(p.$slots,"action")])):e.createCommentVNode("",!0)]),_:3},8,["href","class"]))],10,ud))}},hd={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},ho={__name:"MenuItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,hasSubmenu:Boolean,variant:{type:String,default:"default",validator:t=>["default","danger"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,o=n,r=z.cva("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 w-full text-left",{variants:{variant:{default:"hover:bg-accent hover:text-accent-foreground",danger:"text-danger hover:bg-danger hover:text-danger-foreground"}}}),l=e.computed(()=>k(r({variant:a.variant}))),s=u=>{a.disabled||o("click",u)};return(u,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"button"),{href:t.href,class:e.normalizeClass(l.value),disabled:t.disabled,role:"menuitem",onClick:s},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(j,{key:0,name:t.icon,class:"mr-2 h-4 w-4"},null,8,["name"])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"default"),t.shortcut?(e.openBlock(),e.createElementBlock("span",hd,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.hasSubmenu?(e.openBlock(),e.createBlock(j,{key:2,name:"chevron-right",class:"ml-auto h-4 w-4"})):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},ra={__name:"Modal",props:{modelValue:Boolean,showClose:{type:Boolean,default:!0},closeOnBackdrop:{type:Boolean,default:!0},size:{type:String,default:"4xl",validator:t=>["sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","8xl","full"].includes(t)},height:{type:String,default:""},class:{type:String,default:""},resizable:{type:Boolean,default:!1}},emits:["update:modelValue","close"],setup(t,{emit:n}){const a=z.cva("relative w-full overflow-y-auto border bg-white pt-12 pr-12 pb-6 pl-6 shadow-lg duration-200 sm:rounded-lg",{variants:{size:{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl","3xl":"max-w-3xl","4xl":"max-w-4xl","5xl":"max-w-5xl","6xl":"max-w-6xl","7xl":"max-w-7xl","8xl":"max-w-8xl",full:"max-w-full"},height:{auto:"max-h-[90vh]",sm:"max-h-[50vh]",md:"max-h-[70vh]",lg:"max-h-[80vh]",xl:"max-h-[90vh]","2xl":"max-h-[90vh]","3xl":"max-h-[90vh]","4xl":"max-h-[100vh]","5xl":"max-h-[100vh]","6xl":"max-h-[100vh]","7xl":"max-h-[100vh]","8xl":"max-h-[100vh]",full:"max-h-[100vh]"}},defaultVariants:{size:"4xl",height:"auto"}}),o=t,r=n,l=()=>{r("update:modelValue",!1),r("close")},s=m=>{o.closeOnBackdrop&&m.target===m.currentTarget&&!o.resizable&&l()};let u=null;return e.watch(()=>o.modelValue,m=>{m?(u=p=>{p.key==="Escape"&&l()},document.addEventListener("keydown",u)):u&&(document.removeEventListener("keydown",u),u=null)},{immediate:!0}),e.onUnmounted(()=>{u&&(document.removeEventListener("keydown",u),u=null)}),(m,p)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-300","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[t.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["fixed inset-0 z-50 bg-background/80 backdrop-blur-sm flex items-center justify-center",{"pointer-events-none":t.resizable}]),onClick:s},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)(e.unref(a)({size:t.size}),t.height,o.class,t.resizable?"resize overflow-hidden pointer-events-auto relative":"")),style:e.normalizeStyle(t.resizable?"min-width: 400px; min-height: 200px; resize: both;":"")},[t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,"aria-label":"Close",class:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:l},[e.createVNode(j,{icon:"x",class:"h-4 w-4"}),p[0]||(p[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))])):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"default")],6)],2)):e.createCommentVNode("",!0)]),_:3})]))}},bd={class:"flex flex-col space-y-1.5 text-center sm:text-left"},yd={key:0,class:"text-lg font-semibold leading-none tracking-tight"},xd={key:1,class:"text-sm text-muted-foreground"},bo={__name:"ModalHeader",props:{title:String,description:String},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",bd,[t.title?(e.openBlock(),e.createElementBlock("h2",yd,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",xd,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default")]))}},yo={__name:"ModalBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact"].includes(t)}},setup(t){const n=t,a=z.cva("",{variants:{variant:{default:"py-4",compact:"py-2"}}}),o=e.computed(()=>k(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(r.$slots,"default")],2))}},xo={__name:"ModalFooter",props:{variant:{type:String,default:"default",validator:t=>["default","center"].includes(t)}},setup(t){const n=t,a=z.cva("flex gap-2 pt-4",{variants:{variant:{default:"flex-col-reverse sm:flex-row sm:justify-end",center:"justify-center"}}}),o=e.computed(()=>k(a({variant:n.variant})));return(r,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(r.$slots,"default")],2))}},kd=["aria-live"],wd={class:"flex items-start space-x-3"},Cd={key:0,class:"flex-shrink-0"},Bd={class:"flex-1 min-w-0"},Vd={key:0,class:"text-sm font-medium"},ko={__name:"Notification",props:{title:String,message:String,variant:{type:String,default:"default",validator:t=>["default","success","warning","danger"].includes(t)},dismissible:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},autoClose:{type:Number,default:0}},emits:["dismiss"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!0),l=z.cva("pointer-events-auto w-full max-w-sm overflow-hidden rounded-lg bg-background shadow-lg ring-1 ring-black ring-opacity-5",{variants:{variant:{default:"border-l-4 border-primary",success:"border-l-4 border-green-500",warning:"border-l-4 border-yellow-500",danger:"border-l-4 border-danger"}}}),s={default:"info",success:"check-circle",warning:"alert-triangle",danger:"alert-circle"},u=z.cva("h-5 w-5",{variants:{variant:{default:"text-primary",success:"text-green-500",warning:"text-yellow-500",danger:"text-danger"}}}),m=e.computed(()=>k(l({variant:a.variant}),"p-4")),p=e.computed(()=>s[a.variant]),v=e.computed(()=>u({variant:a.variant})),h=()=>{r.value=!1,o("dismiss")};return e.onMounted(()=>{a.autoClose>0&&setTimeout(()=>{h()},a.autoClose)}),(S,b)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"transform translate-x-full opacity-0","enter-to-class":"transform translate-x-0 opacity-100","leave-active-class":"transition-all duration-300 ease-in","leave-from-class":"transform translate-x-0 opacity-100","leave-to-class":"transform translate-x-full opacity-0"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(m.value),role:"alert","aria-live":t.variant==="danger"?"assertive":"polite"},[e.createElementVNode("div",wd,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Cd,[e.createVNode(j,{name:p.value,class:e.normalizeClass(v.value)},null,8,["name","class"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Bd,[t.title?(e.openBlock(),e.createElementBlock("div",Vd,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.message?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["text-sm",{"mt-1":t.title}])},e.toDisplayString(t.message),3)):e.createCommentVNode("",!0),e.renderSlot(S.$slots,"default")]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,class:"flex-shrink-0 rounded-md p-1.5 hover:bg-black/5 focus:outline-none focus:ring-2 focus:ring-offset-2",onClick:h},[e.createVNode(j,{name:"x",class:"h-4 w-4"})])):e.createCommentVNode("",!0)])],10,kd)):e.createCommentVNode("",!0)]),_:3}))}},Oe=e.ref([]);let Sd=0;const Ed={duration:3e3,position:"top-center",dismissible:!0,closeButton:!1},Nd=()=>`toast-${++Sd}-${Date.now()}`,me=(t,n={})=>{const a=Nd(),o={id:a,message:t,...Ed,...n,createdAt:Date.now()};return Oe.value.push(e.markRaw(o)),o.duration&&o.duration>0&&setTimeout(()=>{je(a)},o.duration),a},je=t=>{const n=Oe.value.findIndex(a=>a.id===t);n>-1&&Oe.value.splice(n,1)},wo=()=>{Oe.value=[]},ne=Object.assign((t,n)=>me(t,{...n}),{success:(t,n)=>me(t,{...n,variant:"success"}),error:(t,n)=>me(t,{...n,variant:"error"}),warning:(t,n)=>me(t,{...n,variant:"warning"}),info:(t,n)=>me(t,{...n,variant:"info"}),promise:(t,n={})=>{const{loading:a="Loading...",success:o="Success",error:r="Error",...l}=n,s=me(a,{...l,variant:"loading",duration:0,dismissible:!1});return t.then(u=>{je(s);const m=typeof o=="function"?o(u):o;return me(m,{...l,variant:"success"}),u}).catch(u=>{je(s);const m=typeof r=="function"?r(u):r;throw me(m,{...l,variant:"error"}),u})},dismiss:je,dismissAll:wo,custom:(t,n={})=>me("",{...n,component:e.markRaw(t)})}),Co=()=>({toasts:Oe,dismiss:je,dismissAll:wo}),$d=["aria-live"],zd={class:"flex-1 grid gap-1"},Dd={key:0,class:"text-lg font-extrabold"},Td={key:1,class:"text-md opacity-90"},Ad={key:2,class:"text-md opacity-90"},Fd=["onClick"],Pd=["onClick"],Bo={__name:"Toast",props:{position:{type:String,default:"top-center",validator:t=>["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"].includes(t)},hotkey:{type:Array,default:()=>["altKey","KeyT"]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},visibleToasts:{type:Number,default:3},closeButton:{type:Boolean,default:!1}},setup(t){const n=t,{toasts:a,dismiss:o}=Co(),r={"top-left":"top-0 left-0 flex-col","top-center":"top-0 left-1/2 -translate-x-1/2 flex-col","top-right":"top-0 right-0 flex-col","bottom-left":"bottom-0 left-0 flex-col-reverse","bottom-center":"bottom-0 left-1/2 -translate-x-1/2 flex-col-reverse","bottom-right":"bottom-0 right-0 flex-col-reverse"},l=e.computed(()=>k(r[n.position])),s=z.cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all",{variants:{variant:{default:"border border-gray-300 bg-gray-50 text-gray-800 dark:border-gray-800 dark:bg-gray-500 dark:text-gray-50",info:"border-blue-500/20 bg-blue-50 text-blue-900 dark:border-blue-500/30 dark:bg-blue-950 dark:text-blue-50",success:"border border-green-200 bg-green-50 text-green-800 dark:border-green-200 dark:bg-green-50 dark:text-green-900",warning:"border-yellow-500/20 bg-yellow-50 text-yellow-900 dark:border-yellow-500/30 dark:bg-yellow-950 dark:text-yellow-50",error:"border-red-500/30 bg-red-50 text-red-900 dark:border-red-500/40 dark:bg-red-950 dark:text-red-50 ring-1 ring-red-500/20 dark:ring-red-500/30",loading:"border border-border animate-pulse bg-gray-800 text-gray-800 dark:border-gray-800 dark:bg-gray-700 dark:text-gray-50"}},defaultVariants:{variant:"default"}}),u=y=>k(s({variant:y.variant})),m={default:"bell",info:"info",success:"check-circle",warning:"triangle-exclamation",error:"circle-exclamation",loading:"loader"},p={default:"text-muted-foreground",info:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",loading:"text-muted-foreground animate-spin"},v=y=>y.icon||m[y.variant]||m.default,h=y=>{const f=p[y.variant]||p.default;return y.variant==="loading"?`${f} animate-spin`:f},S=y=>y.icon!==!1,b=y=>y.dismissible!==!1&&(y.closeButton||n.closeButton||y.dismissible);return(y,f)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)(l.value,"fixed z-[100] flex max-h-screen w-full p-4 md:max-w-[420px]"))},[e.createVNode(e.TransitionGroup,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"transform translate-x-full opacity-0 scale-95","enter-to-class":"transform translate-x-0 opacity-100 scale-100","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"transform translate-x-0 opacity-100 scale-100","leave-to-class":"transform translate-x-full opacity-0 scale-95","move-class":"transition-all duration-200",tag:"div",class:"space-y-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),d=>(e.openBlock(),e.createElementBlock("div",{key:d.id,class:e.normalizeClass([u(d),"group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all"]),role:"alert","aria-live":d.variant==="error"?"assertive":"polite"},[S(d)?(e.openBlock(),e.createBlock(j,{key:0,icon:v(d),class:e.normalizeClass([h(d),"h-4 w-4 shrink-0"])},null,8,["icon","class"])):e.createCommentVNode("",!0),e.createElementVNode("div",zd,[d.title?(e.openBlock(),e.createElementBlock("div",Dd,e.toDisplayString(d.title),1)):e.createCommentVNode("",!0),d.message?(e.openBlock(),e.createElementBlock("div",Td,e.toDisplayString(d.message),1)):e.createCommentVNode("",!0),d.description?(e.openBlock(),e.createElementBlock("div",Ad,e.toDisplayString(d.description),1)):e.createCommentVNode("",!0),d.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.component),e.mergeProps({key:3,ref_for:!0},d.componentProps),null,16)):e.createCommentVNode("",!0)]),d.action?(e.openBlock(),e.createElementBlock("button",{key:1,class:"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-xs font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",onClick:d.action.onClick},e.toDisplayString(d.action.label),9,Fd)):e.createCommentVNode("",!0),b(d)?(e.openBlock(),e.createElementBlock("button",{key:2,class:"absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100",onClick:i=>e.unref(o)(d.id)},[e.createVNode(j,{icon:"x",class:"h-4 w-4"})],8,Pd)):e.createCommentVNode("",!0)],10,$d))),128))]),_:1})],2)]))}},Ld={class:"relative"},jd={class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},Md=["value","placeholder","disabled"],Id={key:0,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},Od=["aria-label"],Rd={key:1,class:"animate-spin"},_d={key:0,class:"max-h-64 overflow-y-auto"},Ud=["onClick","onMouseenter"],qd={class:"flex-1 text-left"},Hd={class:"font-medium text-slate-900"},Wd={key:0,class:"text-sm text-slate-500 truncate"},Yd={key:1,class:"text-xs text-slate-400 ml-3"},Gd={key:1,class:"px-4 py-3 text-sm text-slate-500 text-center"},Kd={key:2,class:"border-t border-slate-200 p-2"},Vo={__name:"Search",props:{modelValue:{type:String,default:""},results:{type:Array,default:()=>[]},placeholder:{type:String,default:"Search..."},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},clearLabel:{type:String,default:"Clear search"},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},debounce:{type:Number,default:300},minLength:{type:Number,default:1},showNoResults:{type:Boolean,default:!0},noResultsText:{type:String,default:"No results found"},highlightMatches:{type:Boolean,default:!0}},emits:["update:modelValue","search","select","clear","focus","blur"],setup(t,{emit:n}){const a={template:`<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
593
593
  <path stroke-linecap="round" stroke-linejoin="round" d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"/>
594
594
  </svg>`},o={template:`<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
595
595
  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12"/>
596
596
  </svg>`},r={template:`<svg fill="none" viewBox="0 0 24 24" class="animate-spin">
597
597
  <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"/>
598
598
  <path class="opacity-75" fill="currentColor" d="m4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"/>
599
- </svg>`},l=t,s=n,u=e.ref(null),m=e.ref(null),p=e.ref(!1),v=e.ref(-1),h=e.ref(null),S=E=>{const I=E.target.value;s("update:modelValue",I),h.value&&clearTimeout(h.value),h.value=setTimeout(()=>{I.length>=l.minLength?(s("search",I),p.value=!0):p.value=!1},l.debounce)},b=E=>{s("focus",E),l.modelValue.length>=l.minLength&&(p.value=!0)},y=E=>{s("blur",E),setTimeout(()=>{p.value=!1,v.value=-1},150)},f=()=>{s("update:modelValue",""),s("clear"),p.value=!1,m.value?.focus()},d=E=>{s("select",E),p.value=!1,v.value=-1},i=E=>{if(!(!p.value||l.results.length===0))switch(E.key){case"ArrowDown":E.preventDefault(),v.value=Math.min(v.value+1,l.results.length-1);break;case"ArrowUp":E.preventDefault(),v.value=Math.max(v.value-1,-1);break;case"Enter":E.preventDefault(),v.value>=0&&d(l.results[v.value]);break;case"Escape":E.preventDefault(),p.value=!1,v.value=-1;break}},c=E=>{if(!l.highlightMatches||!l.modelValue||!E)return E;const I=new RegExp(`(${l.modelValue})`,"gi");return E.replace(I,"$1")},g=z.cva("block w-full rounded-lg border bg-white transition-colors duration-200 placeholder:text-slate-400 disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",{variants:{size:{sm:"px-9 py-1.5 text-sm",md:"px-10 py-2 text-sm",lg:"px-12 py-3 text-base"}},defaultVariants:{size:"md"}}),w=z.cva("text-slate-400",{variants:{size:{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}},defaultVariants:{size:"md"}}),x=e.computed(()=>k(g({size:l.size}))),F=e.computed(()=>k(w({size:l.size}))),L=e.computed(()=>k("absolute z-50 w-full mt-1 bg-white rounded-lg shadow-lg border border-slate-200 max-h-96 overflow-hidden")),H=E=>k("flex items-center w-full px-4 py-3 text-left transition-colors duration-150 hover:bg-slate-50 focus:bg-slate-50 focus:outline-none",{"bg-slate-50":v.value===E}),_=E=>{u.value&&!u.value.contains(E.target)&&(p.value=!1,v.value=-1)};return e.onMounted(()=>document.addEventListener("click",_)),e.onUnmounted(()=>{document.removeEventListener("click",_),h.value&&clearTimeout(h.value)}),e.watch(()=>l.results,()=>v.value=-1),(E,I)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"searchRef",ref:u,class:"relative"},[e.createElementVNode("div",jd,[e.createElementVNode("div",Md,[e.createVNode(a,{class:e.normalizeClass(F.value)},null,8,["class"])]),e.createElementVNode("input",{ref_key:"inputRef",ref:m,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,class:e.normalizeClass(x.value),onInput:S,onFocus:b,onBlur:y,onKeydown:i},null,42,Id),t.modelValue||t.loading?(e.openBlock(),e.createElementBlock("div",Od,[!t.loading&&t.clearable?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-slate-400 hover:text-slate-600 transition-colors p-1 rounded-full hover:bg-slate-100","aria-label":t.clearLabel,onClick:f},[e.createVNode(o,{class:"w-4 h-4"})],8,Rd)):t.loading?(e.openBlock(),e.createElementBlock("div",_d,[e.createVNode(r,{class:"w-4 h-4 text-slate-400"})])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200","enter-from-class":"opacity-0 scale-95 translate-y-1","enter-to-class":"opacity-100 scale-100 translate-y-0","leave-active-class":"transition-all duration-150","leave-from-class":"opacity-100 scale-100 translate-y-0","leave-to-class":"opacity-0 scale-95 translate-y-1"},{default:e.withCtx(()=>[p.value&&(t.results.length>0||t.showNoResults)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(L.value)},[t.results.length>0?(e.openBlock(),e.createElementBlock("div",Ud,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.results,(M,C)=>(e.openBlock(),e.createElementBlock("button",{key:M.id||C,class:e.normalizeClass(H(C)),onClick:N=>d(M),onMouseenter:N=>v.value=C},[M.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.icon),{key:0,class:"w-4 h-4 mr-3 flex-shrink-0"})):e.createCommentVNode("",!0),e.createElementVNode("div",Hd,[e.createElementVNode("div",Wd,e.toDisplayString(c(M.title)),1),M.description?(e.openBlock(),e.createElementBlock("div",Yd,e.toDisplayString(c(M.description)),1)):e.createCommentVNode("",!0)]),M.category?(e.openBlock(),e.createElementBlock("div",Gd,e.toDisplayString(M.category),1)):e.createCommentVNode("",!0)],42,qd))),128))])):t.showNoResults?(e.openBlock(),e.createElementBlock("div",Kd,e.toDisplayString(t.noResultsText),1)):e.createCommentVNode("",!0),E.$slots.footer?(e.openBlock(),e.createElementBlock("div",Xd,[e.renderSlot(E.$slots,"footer")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3})],512))}},Qd={class:"w-full"},Jd=["min","max","step","value"],Zd={class:"flex justify-between text-xs text-slate-500 mt-1"},mt={__name:"Slider",props:{modelValue:{type:[Number,String],default:0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1}},emits:["update:modelValue"],setup(t,{emit:n}){const a=n,o=r=>{a("update:modelValue",Number(r.target.value))};return(r,l)=>(e.openBlock(),e.createElementBlock("div",Qd,[e.createElementVNode("input",{type:"range",min:t.min,max:t.max,step:t.step,value:t.modelValue,class:"w-full accent-blue-500 cursor-pointer",onInput:o},null,40,Jd),e.createElementVNode("div",Zd,[e.createElementVNode("span",null,e.toDisplayString(t.min),1),e.createElementVNode("span",null,e.toDisplayString(t.modelValue),1),e.createElementVNode("span",null,e.toDisplayString(t.max),1)])]))}},eu={class:"flex items-center space-x-4"},So={__name:"Stepper",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",eu,[e.renderSlot(n.$slots,"default")]))}},tu={class:"flex items-center"},au={class:"ml-2"},nu={class:"font-medium"},ou={key:0,class:"text-sm text-slate-400"},Eo={__name:"StepperItem",props:{step:{type:Number,required:!0},title:{type:String,required:!0},description:{type:String,default:""},active:{type:Boolean,default:!1},completed:{type:Boolean,default:!1}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",tu,[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-center w-8 h-8 rounded-full border-2",t.active?"bg-blue-500 border-blue-500 text-white":t.completed?"bg-green-500 border-green-500 text-white":"border-slate-300 text-slate-500"])},[e.createElementVNode("span",null,e.toDisplayString(t.step),1)],2),e.createElementVNode("div",au,[e.createElementVNode("div",nu,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",ou,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)])]))}},ru={class:"w-full"},lu={class:"flex space-x-1 border-b border-slate-200",role:"tablist"},su=["id","disabled","aria-selected","aria-controls","onClick"],iu={class:"mt-4"},No={__name:"Tab",props:{defaultIndex:{type:Number,default:0},size:{type:String,default:"md"},variant:{type:String,default:"default"},loading:{type:Boolean,default:!1}},emits:["tab-change"],setup(t,{emit:n}){const a=t,o=z.cva("font-medium transition-colors border-b-2 -mb-px",{variants:{size:{sm:"px-3 py-1.5 text-xs",md:"px-4 py-2 text-sm",lg:"px-5 py-2.5 text-base"},variant:{default:""}},defaultVariants:{size:"md",variant:"default"}}),r=e.ref(a.defaultIndex),l=e.ref([]),s=m=>{r.value=m,u("tab-change",m)},u=n;return e.provide("tabsContext",{activeIndex:r,tabs:l,registerTab:m=>(l.value.push({label:m}),l.value.length-1),unregisterTab:m=>{l.value.splice(m,1)}}),(m,p)=>(e.openBlock(),e.createElementBlock("div",ru,[e.createElementVNode("div",lu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(v,h)=>(e.openBlock(),e.createElementBlock("button",{id:`tab-${h}`,key:h,disabled:a.loading,class:e.normalizeClass(e.unref(k)(e.unref(o)({size:a.size,variant:a.variant}),r.value===h?"border-blue-500 text-blue-600 bg-blue-50":"border-transparent text-slate-500 hover:text-slate-700 hover:border-slate-300",a.loading&&"cursor-not-allowed opacity-50")),"aria-selected":r.value===h,"aria-controls":`panel-${h}`,role:"tab",onClick:S=>!a.loading&&s(h)},e.toDisplayString(v.label),11,su))),128))]),e.createElementVNode("div",iu,[e.renderSlot(m.$slots,"default")])]))}},cu=["id","aria-labelledby"],du={key:0,class:"flex items-center justify-center p-8"},$o={__name:"TabPanel",props:{label:{type:String,required:!0},loading:{type:Boolean,default:!1}},setup(t){const n=t,a=e.inject("tabsContext");if(!a)throw new Error("TabPanel must be used within a Tab component");const o=e.ref(null),r=e.ref(!1);return e.onMounted(()=>{o.value=a.registerTab(n.label),r.value=a.activeIndex.value===o.value,e.watch(a.activeIndex,l=>{r.value=l===o.value})}),e.onUnmounted(()=>{o.value!==null&&a.unregisterTab(o.value)}),(l,s)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{id:`panel-${o.value}`,role:"tabpanel","aria-labelledby":`tab-${o.value}`},[t.loading?(e.openBlock(),e.createElementBlock("div",du,[e.createVNode(ct,{size:"lg",label:`Loading ${n.label}`},null,8,["label"])])):e.renderSlot(l.$slots,"default",{key:1})],8,cu)),[[e.vShow,r.value]])}},uu=["id","aria-expanded","aria-controls","onClick"],mu={class:"flex items-center flex-1 min-w-0"},fu={key:0},pu=["id","aria-labelledby"],gu={key:0},zo={__name:"Accordion",props:{items:{type:Array,required:!0},modelValue:{type:[Number,Array],default:null},multiple:Boolean,variant:{type:String,default:"default",validator:t=>["default","bordered","filled","flush"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},disabled:Boolean},emits:["update:modelValue","change"],setup(t,{emit:n}){const a={template:`
599
+ </svg>`},l=t,s=n,u=e.ref(null),m=e.ref(null),p=e.ref(!1),v=e.ref(-1),h=e.ref(null),S=E=>{const I=E.target.value;s("update:modelValue",I),h.value&&clearTimeout(h.value),h.value=setTimeout(()=>{I.length>=l.minLength?(s("search",I),p.value=!0):p.value=!1},l.debounce)},b=E=>{s("focus",E),l.modelValue.length>=l.minLength&&(p.value=!0)},y=E=>{s("blur",E),setTimeout(()=>{p.value=!1,v.value=-1},150)},f=()=>{s("update:modelValue",""),s("clear"),p.value=!1,m.value?.focus()},d=E=>{s("select",E),p.value=!1,v.value=-1},i=E=>{if(!(!p.value||l.results.length===0))switch(E.key){case"ArrowDown":E.preventDefault(),v.value=Math.min(v.value+1,l.results.length-1);break;case"ArrowUp":E.preventDefault(),v.value=Math.max(v.value-1,-1);break;case"Enter":E.preventDefault(),v.value>=0&&d(l.results[v.value]);break;case"Escape":E.preventDefault(),p.value=!1,v.value=-1;break}},c=E=>{if(!l.highlightMatches||!l.modelValue||!E)return E;const I=new RegExp(`(${l.modelValue})`,"gi");return E.replace(I,"$1")},g=z.cva("block w-full rounded-lg border bg-white transition-colors duration-200 placeholder:text-slate-400 disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",{variants:{size:{sm:"px-9 py-1.5 text-sm",md:"px-10 py-2 text-sm",lg:"px-12 py-3 text-base"}},defaultVariants:{size:"md"}}),w=z.cva("text-slate-400",{variants:{size:{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}},defaultVariants:{size:"md"}}),x=e.computed(()=>k(g({size:l.size}))),F=e.computed(()=>k(w({size:l.size}))),L=e.computed(()=>k("absolute z-50 w-full mt-1 bg-white rounded-lg shadow-lg border border-slate-200 max-h-96 overflow-hidden")),H=E=>k("flex items-center w-full px-4 py-3 text-left transition-colors duration-150 hover:bg-slate-50 focus:bg-slate-50 focus:outline-none",{"bg-slate-50":v.value===E}),_=E=>{u.value&&!u.value.contains(E.target)&&(p.value=!1,v.value=-1)};return e.onMounted(()=>document.addEventListener("click",_)),e.onUnmounted(()=>{document.removeEventListener("click",_),h.value&&clearTimeout(h.value)}),e.watch(()=>l.results,()=>v.value=-1),(E,I)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"searchRef",ref:u,class:"relative"},[e.createElementVNode("div",Ld,[e.createElementVNode("div",jd,[e.createVNode(a,{class:e.normalizeClass(F.value)},null,8,["class"])]),e.createElementVNode("input",{ref_key:"inputRef",ref:m,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,class:e.normalizeClass(x.value),onInput:S,onFocus:b,onBlur:y,onKeydown:i},null,42,Md),t.modelValue||t.loading?(e.openBlock(),e.createElementBlock("div",Id,[!t.loading&&t.clearable?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-slate-400 hover:text-slate-600 transition-colors p-1 rounded-full hover:bg-slate-100","aria-label":t.clearLabel,onClick:f},[e.createVNode(o,{class:"w-4 h-4"})],8,Od)):t.loading?(e.openBlock(),e.createElementBlock("div",Rd,[e.createVNode(r,{class:"w-4 h-4 text-slate-400"})])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200","enter-from-class":"opacity-0 scale-95 translate-y-1","enter-to-class":"opacity-100 scale-100 translate-y-0","leave-active-class":"transition-all duration-150","leave-from-class":"opacity-100 scale-100 translate-y-0","leave-to-class":"opacity-0 scale-95 translate-y-1"},{default:e.withCtx(()=>[p.value&&(t.results.length>0||t.showNoResults)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(L.value)},[t.results.length>0?(e.openBlock(),e.createElementBlock("div",_d,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.results,(M,C)=>(e.openBlock(),e.createElementBlock("button",{key:M.id||C,class:e.normalizeClass(H(C)),onClick:N=>d(M),onMouseenter:N=>v.value=C},[M.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.icon),{key:0,class:"w-4 h-4 mr-3 flex-shrink-0"})):e.createCommentVNode("",!0),e.createElementVNode("div",qd,[e.createElementVNode("div",Hd,e.toDisplayString(c(M.title)),1),M.description?(e.openBlock(),e.createElementBlock("div",Wd,e.toDisplayString(c(M.description)),1)):e.createCommentVNode("",!0)]),M.category?(e.openBlock(),e.createElementBlock("div",Yd,e.toDisplayString(M.category),1)):e.createCommentVNode("",!0)],42,Ud))),128))])):t.showNoResults?(e.openBlock(),e.createElementBlock("div",Gd,e.toDisplayString(t.noResultsText),1)):e.createCommentVNode("",!0),E.$slots.footer?(e.openBlock(),e.createElementBlock("div",Kd,[e.renderSlot(E.$slots,"footer")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3})],512))}},Xd={class:"w-full"},Qd=["min","max","step","value"],Jd={class:"flex justify-between text-xs text-slate-500 mt-1"},mt={__name:"Slider",props:{modelValue:{type:[Number,String],default:0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1}},emits:["update:modelValue"],setup(t,{emit:n}){const a=n,o=r=>{a("update:modelValue",Number(r.target.value))};return(r,l)=>(e.openBlock(),e.createElementBlock("div",Xd,[e.createElementVNode("input",{type:"range",min:t.min,max:t.max,step:t.step,value:t.modelValue,class:"w-full accent-blue-500 cursor-pointer",onInput:o},null,40,Qd),e.createElementVNode("div",Jd,[e.createElementVNode("span",null,e.toDisplayString(t.min),1),e.createElementVNode("span",null,e.toDisplayString(t.modelValue),1),e.createElementVNode("span",null,e.toDisplayString(t.max),1)])]))}},Zd={class:"flex items-center space-x-4"},So={__name:"Stepper",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",Zd,[e.renderSlot(n.$slots,"default")]))}},eu={class:"flex items-center"},tu={class:"ml-2"},au={class:"font-medium"},nu={key:0,class:"text-sm text-slate-400"},Eo={__name:"StepperItem",props:{step:{type:Number,required:!0},title:{type:String,required:!0},description:{type:String,default:""},active:{type:Boolean,default:!1},completed:{type:Boolean,default:!1}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",eu,[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-center w-8 h-8 rounded-full border-2",t.active?"bg-blue-500 border-blue-500 text-white":t.completed?"bg-green-500 border-green-500 text-white":"border-slate-300 text-slate-500"])},[e.createElementVNode("span",null,e.toDisplayString(t.step),1)],2),e.createElementVNode("div",tu,[e.createElementVNode("div",au,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",nu,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)])]))}},ou={class:"w-full"},ru={class:"flex space-x-1 border-b border-slate-200",role:"tablist"},lu=["id","disabled","aria-selected","aria-controls","onClick"],su={class:"mt-4"},No={__name:"Tab",props:{defaultIndex:{type:Number,default:0},size:{type:String,default:"md"},variant:{type:String,default:"default"},loading:{type:Boolean,default:!1}},emits:["tab-change"],setup(t,{emit:n}){const a=t,o=z.cva("font-medium transition-colors border-b-2 -mb-px",{variants:{size:{sm:"px-3 py-1.5 text-xs",md:"px-4 py-2 text-sm",lg:"px-5 py-2.5 text-base"},variant:{default:""}},defaultVariants:{size:"md",variant:"default"}}),r=e.ref(a.defaultIndex),l=e.ref([]),s=m=>{r.value=m,u("tab-change",m)},u=n;return e.provide("tabsContext",{activeIndex:r,tabs:l,registerTab:m=>(l.value.push({label:m}),l.value.length-1),unregisterTab:m=>{l.value.splice(m,1)}}),(m,p)=>(e.openBlock(),e.createElementBlock("div",ou,[e.createElementVNode("div",ru,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(v,h)=>(e.openBlock(),e.createElementBlock("button",{id:`tab-${h}`,key:h,disabled:a.loading,class:e.normalizeClass(e.unref(k)(e.unref(o)({size:a.size,variant:a.variant}),r.value===h?"border-blue-500 text-blue-600 bg-blue-50":"border-transparent text-slate-500 hover:text-slate-700 hover:border-slate-300",a.loading&&"cursor-not-allowed opacity-50")),"aria-selected":r.value===h,"aria-controls":`panel-${h}`,role:"tab",onClick:S=>!a.loading&&s(h)},e.toDisplayString(v.label),11,lu))),128))]),e.createElementVNode("div",su,[e.renderSlot(m.$slots,"default")])]))}},iu=["id","aria-labelledby"],cu={key:0,class:"flex items-center justify-center p-8"},$o={__name:"TabPanel",props:{label:{type:String,required:!0},loading:{type:Boolean,default:!1}},setup(t){const n=t,a=e.inject("tabsContext");if(!a)throw new Error("TabPanel must be used within a Tab component");const o=e.ref(null),r=e.ref(!1);return e.onMounted(()=>{o.value=a.registerTab(n.label),r.value=a.activeIndex.value===o.value,e.watch(a.activeIndex,l=>{r.value=l===o.value})}),e.onUnmounted(()=>{o.value!==null&&a.unregisterTab(o.value)}),(l,s)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{id:`panel-${o.value}`,role:"tabpanel","aria-labelledby":`tab-${o.value}`},[t.loading?(e.openBlock(),e.createElementBlock("div",cu,[e.createVNode(ct,{size:"lg",label:`Loading ${n.label}`},null,8,["label"])])):e.renderSlot(l.$slots,"default",{key:1})],8,iu)),[[e.vShow,r.value]])}},du=["id","aria-expanded","aria-controls","onClick"],uu={class:"flex items-center flex-1 min-w-0"},mu={key:0},fu=["id","aria-labelledby"],pu={key:0},zo={__name:"Accordion",props:{items:{type:Array,required:!0},modelValue:{type:[Number,Array],default:null},multiple:Boolean,variant:{type:String,default:"default",validator:t=>["default","bordered","filled","flush"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},disabled:Boolean},emits:["update:modelValue","change"],setup(t,{emit:n}){const a={template:`
600
600
  <svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
601
601
  <path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" />
602
602
  </svg>
603
- `},o=t,r=n,l=e.ref(o.multiple?Array.isArray(o.modelValue)?[...o.modelValue]:[]:typeof o.modelValue=="number"?[o.modelValue]:[]),s=c=>{if(!(o.disabled||o.items[c]?.disabled)){if(o.multiple){const g=l.value.indexOf(c);g>-1?l.value.splice(g,1):l.value.push(c),r("update:modelValue",[...l.value])}else{const g=l.value.includes(c)?null:c;l.value=g!==null?[g]:[],r("update:modelValue",g)}r("change",{index:c,expanded:l.value.includes(c)})}},u=c=>l.value.includes(c),m=z.cva("w-full",{variants:{variant:{default:"space-y-1",bordered:"space-y-3",filled:"space-y-3",flush:"divide-y divide-slate-200"}}}),p=z.cva("transition-all duration-200",{variants:{variant:{default:"bg-white border border-slate-200 rounded-lg overflow-hidden shadow-sm hover:shadow-md",bordered:"border-2 border-slate-200 rounded-xl overflow-hidden hover:border-blue-300",filled:"bg-gradient-to-br from-slate-50 to-white border border-slate-200 rounded-xl overflow-hidden shadow-sm",flush:""}}}),v=z.cva("flex items-center justify-between w-full text-left transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",{variants:{variant:{default:"hover:bg-slate-50",bordered:"hover:bg-blue-50/50",filled:"hover:bg-white/70",flush:"hover:bg-slate-50"},size:{sm:"px-4 py-3",md:"px-5 py-4",lg:"px-6 py-5"}}}),h=z.cva("ml-4 flex-shrink-0 text-slate-400 transition-all duration-200",{variants:{expanded:{true:"rotate-180 text-blue-500",false:""}}}),S=z.cva("overflow-hidden text-slate-600 bg-white",{variants:{size:{sm:"px-4 py-3 text-sm",md:"px-5 py-4 text-sm",lg:"px-6 py-5 text-base"}}}),b=e.computed(()=>k(m({variant:o.variant}))),y=e.computed(()=>k(p({variant:o.variant}))),f=c=>k(v({variant:o.variant,size:o.size}),u(c)&&o.variant==="bordered"&&"bg-blue-50/30 border-blue-300",u(c)&&o.variant==="filled"&&"bg-white",u(c)&&o.variant==="default"&&"bg-slate-50",(o.disabled||o.items[c]?.disabled)&&"cursor-not-allowed opacity-50"),d=c=>k(h({expanded:u(c)})),i=e.computed(()=>k(S({size:o.size})));return e.watch(()=>o.modelValue,c=>{o.multiple?l.value=Array.isArray(c)?[...c]:[]:l.value=typeof c=="number"?[c]:[]}),(c,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(b.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(w,x)=>(e.openBlock(),e.createElementBlock("div",{key:w.id||x,class:e.normalizeClass(y.value)},[e.createElementVNode("button",{id:`header-${w.id||x}`,class:e.normalizeClass(f(x)),"aria-expanded":u(x),"aria-controls":`panel-${w.id||x}`,onClick:F=>s(x)},[e.createElementVNode("div",mu,[e.renderSlot(c.$slots,`header-${x}`,{item:w,index:x,isExpanded:u(x)},()=>[w.title?(e.openBlock(),e.createElementBlock("div",fu,e.toDisplayString(w.title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(d(x))},[e.createVNode(a,{class:"w-5 h-5 transition-transform duration-200"})],2)],10,uu),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"opacity-0 max-h-0","enter-to-class":"opacity-100 max-h-[600px]","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"opacity-100 max-h-[600px]","leave-to-class":"opacity-0 max-h-0"},{default:e.withCtx(()=>[u(x)?(e.openBlock(),e.createElementBlock("div",{key:0,id:`panel-${w.id||x}`,class:e.normalizeClass(i.value),"aria-labelledby":`header-${w.id||x}`,role:"region"},[e.renderSlot(c.$slots,`content-${x}`,{item:w,index:x},()=>[e.renderSlot(c.$slots,"content",{item:w,index:x},()=>[w.content?(e.openBlock(),e.createElementBlock("div",gu,e.toDisplayString(w.content),1)):e.createCommentVNode("",!0)])])],10,pu)):e.createCommentVNode("",!0)]),_:2},1024)],2))),128))],2))}},Do={__name:"AccordionItem",props:{variant:{type:String,default:"default",validator:t=>["default","bordered","filled","flush"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)}},setup(t){const n={template:`
603
+ `},o=t,r=n,l=e.ref(o.multiple?Array.isArray(o.modelValue)?[...o.modelValue]:[]:typeof o.modelValue=="number"?[o.modelValue]:[]),s=c=>{if(!(o.disabled||o.items[c]?.disabled)){if(o.multiple){const g=l.value.indexOf(c);g>-1?l.value.splice(g,1):l.value.push(c),r("update:modelValue",[...l.value])}else{const g=l.value.includes(c)?null:c;l.value=g!==null?[g]:[],r("update:modelValue",g)}r("change",{index:c,expanded:l.value.includes(c)})}},u=c=>l.value.includes(c),m=z.cva("w-full",{variants:{variant:{default:"space-y-1",bordered:"space-y-3",filled:"space-y-3",flush:"divide-y divide-slate-200"}}}),p=z.cva("transition-all duration-200",{variants:{variant:{default:"bg-white border border-slate-200 rounded-lg overflow-hidden shadow-sm hover:shadow-md",bordered:"border-2 border-slate-200 rounded-xl overflow-hidden hover:border-blue-300",filled:"bg-gradient-to-br from-slate-50 to-white border border-slate-200 rounded-xl overflow-hidden shadow-sm",flush:""}}}),v=z.cva("flex items-center justify-between w-full text-left transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",{variants:{variant:{default:"hover:bg-slate-50",bordered:"hover:bg-blue-50/50",filled:"hover:bg-white/70",flush:"hover:bg-slate-50"},size:{sm:"px-4 py-3",md:"px-5 py-4",lg:"px-6 py-5"}}}),h=z.cva("ml-4 flex-shrink-0 text-slate-400 transition-all duration-200",{variants:{expanded:{true:"rotate-180 text-blue-500",false:""}}}),S=z.cva("overflow-hidden text-slate-600 bg-white",{variants:{size:{sm:"px-4 py-3 text-sm",md:"px-5 py-4 text-sm",lg:"px-6 py-5 text-base"}}}),b=e.computed(()=>k(m({variant:o.variant}))),y=e.computed(()=>k(p({variant:o.variant}))),f=c=>k(v({variant:o.variant,size:o.size}),u(c)&&o.variant==="bordered"&&"bg-blue-50/30 border-blue-300",u(c)&&o.variant==="filled"&&"bg-white",u(c)&&o.variant==="default"&&"bg-slate-50",(o.disabled||o.items[c]?.disabled)&&"cursor-not-allowed opacity-50"),d=c=>k(h({expanded:u(c)})),i=e.computed(()=>k(S({size:o.size})));return e.watch(()=>o.modelValue,c=>{o.multiple?l.value=Array.isArray(c)?[...c]:[]:l.value=typeof c=="number"?[c]:[]}),(c,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(b.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(w,x)=>(e.openBlock(),e.createElementBlock("div",{key:w.id||x,class:e.normalizeClass(y.value)},[e.createElementVNode("button",{id:`header-${w.id||x}`,class:e.normalizeClass(f(x)),"aria-expanded":u(x),"aria-controls":`panel-${w.id||x}`,onClick:F=>s(x)},[e.createElementVNode("div",uu,[e.renderSlot(c.$slots,`header-${x}`,{item:w,index:x,isExpanded:u(x)},()=>[w.title?(e.openBlock(),e.createElementBlock("div",mu,e.toDisplayString(w.title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(d(x))},[e.createVNode(a,{class:"w-5 h-5 transition-transform duration-200"})],2)],10,du),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"opacity-0 max-h-0","enter-to-class":"opacity-100 max-h-[600px]","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"opacity-100 max-h-[600px]","leave-to-class":"opacity-0 max-h-0"},{default:e.withCtx(()=>[u(x)?(e.openBlock(),e.createElementBlock("div",{key:0,id:`panel-${w.id||x}`,class:e.normalizeClass(i.value),"aria-labelledby":`header-${w.id||x}`,role:"region"},[e.renderSlot(c.$slots,`content-${x}`,{item:w,index:x},()=>[e.renderSlot(c.$slots,"content",{item:w,index:x},()=>[w.content?(e.openBlock(),e.createElementBlock("div",pu,e.toDisplayString(w.content),1)):e.createCommentVNode("",!0)])])],10,fu)):e.createCommentVNode("",!0)]),_:2},1024)],2))),128))],2))}},Do={__name:"AccordionItem",props:{variant:{type:String,default:"default",validator:t=>["default","bordered","filled","flush"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)}},setup(t){const n={template:`
604
604
  <svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
605
605
  <path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" />
606
606
  </svg>
607
- `},a=t,o=e.ref(!1),r=()=>o.value=!o.value,l=z.cva("",{variants:{variant:{default:"",bordered:"border border-slate-200 rounded-lg overflow-hidden",filled:"bg-slate-50 border border-slate-200 rounded-lg overflow-hidden",flush:""}}}),s=z.cva("flex items-center justify-between w-full text-left transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",{variants:{size:{sm:"p-3 text-sm",md:"p-4 text-base",lg:"p-6 text-lg"}}}),u=z.cva("overflow-hidden text-slate-600 border-t border-slate-200",{variants:{size:{sm:"p-3 text-sm",md:"p-4 text-base",lg:"p-6 text-lg"}}}),m=e.computed(()=>k(l({variant:a.variant}))),p=e.computed(()=>k(s({size:a.size}))),v=e.computed(()=>k(u({size:a.size})));return(h,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(m.value)},[e.createVNode(J,{class:e.normalizeClass(p.value),"aria-expanded":o.value,onClick:r},{default:e.withCtx(()=>[e.renderSlot(h.$slots,"header",{isOpen:o.value}),e.createVNode(n,{class:e.normalizeClass(e.unref(k)("w-5 h-5 transition-transform ml-2",{"rotate-180":o.value}))},null,8,["class"])]),_:3},8,["class","aria-expanded"]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"opacity-0 max-h-0","enter-to-class":"opacity-100 max-h-96","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"opacity-100 max-h-96","leave-to-class":"opacity-0 max-h-0"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(v.value)},[e.renderSlot(h.$slots,"content",{isOpen:o.value})],2)):e.createCommentVNode("",!0)]),_:3})],2))}},vu={class:"relative w-full"},hu={class:"relative"},bu=["id","value","disabled","placeholder","required","aria-describedby"],yu={class:"flex items-center justify-between mb-3"},xu={class:"text-sm font-medium"},ku={class:"grid grid-cols-7 gap-1 mb-2"},wu={class:"grid grid-cols-7 gap-1"},Cu=["disabled","onClick"],Bu={key:0,class:"mt-4 pt-3 border-t border-slate-200"},To={__name:"Calendar",props:{id:String,modelValue:[String,Date],disabled:Boolean,required:Boolean,min:[String,Date],max:[String,Date],placeholder:{type:String,default:"Select date"},format:{type:String,default:"MM/DD/YYYY"},clearable:{type:Boolean,default:!0},showToday:{type:Boolean,default:!0},calendarPosition:{type:String,default:"left-0"},ariaDescribedby:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=new Date,s=e.ref(l.getMonth()),u=e.ref(l.getFullYear()),m=e.ref(null),p=["Su","Mo","Tu","We","Th","Fr","Sa"],v=e.computed(()=>new Date(u.value,s.value).toLocaleString("default",{month:"long"})),h=e.computed(()=>new Date(u.value,s.value+1,0).getDate()),S=e.computed(()=>new Date(u.value,s.value,1).getDay()),b=e.computed(()=>{const M=new Date(u.value,s.value,0).getDate(),C=S.value;return Array.from({length:C},(N,P)=>M-C+P+1)}),y=e.computed(()=>{const M=b.value.length+h.value,C=M%7===0?0:7-M%7;return Array.from({length:C},(N,P)=>P+1)}),f=e.computed(()=>m.value?d(m.value):"");function d(M){if(!M)return"";const C=new Date(M),N=String(C.getMonth()+1).padStart(2,"0"),P=String(C.getDate()).padStart(2,"0"),W=C.getFullYear();return a.format.replace("MM",N).replace("DD",P).replace("YYYY",W)}function i(M){if(!M)return null;if(M instanceof Date)return M;const C=new Date(M);return isNaN(C.getTime())?null:C}function c(M){if(!m.value)return!1;const C=new Date(m.value);return C.getDate()===M&&C.getMonth()===s.value&&C.getFullYear()===u.value}function g(M){const C=new Date(u.value,s.value,M);if(a.min){const N=i(a.min);if(N&&C<N)return!0}if(a.max){const N=i(a.max);if(N&&C>N)return!0}return!1}function w(){a.disabled||(r.value=!r.value)}function x(){r.value=!1}function F(){s.value===0?(s.value=11,u.value--):s.value--}function L(){s.value===11?(s.value=0,u.value++):s.value++}function H(M){if(g(M))return;const C=new Date(u.value,s.value,M);m.value=C,o("update:modelValue",C.toISOString().split("T")[0]),r.value=!1}function _(){s.value=l.getMonth(),u.value=l.getFullYear(),H(l.getDate())}function E(){m.value=null,o("update:modelValue","")}e.watch(()=>a.modelValue,M=>{if(M){const C=i(M);C&&(m.value=C,s.value=C.getMonth(),u.value=C.getFullYear())}else m.value=null},{immediate:!0});function I(M){M.key==="Escape"&&r.value&&x()}return e.onMounted(()=>{document.addEventListener("keydown",I)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",I)}),(M,C)=>(e.openBlock(),e.createElementBlock("div",vu,[e.createElementVNode("div",hu,[e.createElementVNode("input",{id:t.id,type:"text",value:f.value,readonly:"",disabled:t.disabled,placeholder:t.placeholder,required:t.required,"aria-describedby":t.ariaDescribedby,class:"w-full px-3 py-2 pr-10 border border-slate-300 rounded-md bg-white text-slate-900 placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 cursor-pointer disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed",onClick:w},null,8,bu),C[2]||(C[2]=e.createElementVNode("div",{class:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none"},[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[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)),t.clearable&&f.value&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-9 top-1/2 -translate-y-1/2 p-1 hover:bg-slate-100 rounded","aria-label":"Clear date",onClick:e.withModifiers(E,["stop"])},[...C[1]||(C[1]=[e.createElementVNode("svg",{class:"w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute z-[99999] mt-2 bg-white border border-slate-200 rounded-lg shadow-lg p-4",t.calendarPosition]),onClick:C[0]||(C[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",yu,[e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-gray-100 rounded","aria-label":"Previous Month",onClick:F},[...C[3]||(C[3]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 18l-6-6 6-6"})],-1)])]),e.createElementVNode("div",xu,e.toDisplayString(v.value)+" "+e.toDisplayString(u.value),1),e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-gray-100 rounded","aria-label":"Next Month",onClick:L},[...C[4]||(C[4]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 18l6-6-6-6"})],-1)])])]),e.createElementVNode("div",ku,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(p,N=>e.createElementVNode("div",{key:N,class:"text-center text-xs font-medium text-slate-600 py-1"},e.toDisplayString(N),1)),64))]),e.createElementVNode("div",wu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(N,P)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+P,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(N),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,N=>(e.openBlock(),e.createElementBlock("button",{key:N,type:"button",disabled:g(N),class:e.normalizeClass(["w-8 h-8 text-sm rounded flex items-center justify-center",c(N)?"bg-blue-500 text-white":"hover:bg-gray-100",g(N)?"text-gray-300 cursor-not-allowed":""]),onClick:P=>H(N)},e.toDisplayString(N),11,Cu))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(N,P)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+P,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(N),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",Bu,[e.createElementVNode("button",{type:"button",class:"w-full px-3 py-2 text-sm font-medium text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",onClick:_}," Today ")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-[99998]",onClick:x})):e.createCommentVNode("",!0)]))}},Vu={class:"flex items-start justify-between"},Su={class:"flex-1 min-w-0"},Eu={key:0,class:"flex-shrink-0 ml-4"},Nu="text-lg font-semibold text-slate-900 truncate",$u="text-sm text-slate-600 mt-1",Ao={__name:"Graph",props:{variant:{type:String,default:"default",validator:t=>["default","outlined","elevated","filled"].includes(t)},padding:{type:String,default:"md",validator:t=>["none","sm","md","lg","xl"].includes(t)},title:String,description:String},setup(t){const n=z.cva("rounded-lg overflow-hidden transition-all duration-200",{variants:{variant:{default:"bg-white border border-slate-200",outlined:"bg-white border-2 border-slate-300",elevated:"bg-white shadow-lg border border-slate-100",filled:"bg-slate-50 border border-slate-200"},padding:{none:"",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}},defaultVariants:{variant:"default",padding:"md"}}),a=z.cva("border-b border-slate-100 last:border-b-0",{variants:{padding:{none:"p-4 pb-0",sm:"px-3 pt-3",md:"px-4 pt-4",lg:"px-6 pt-6",xl:"px-8 pt-8"}}}),o=z.cva("border-b border-slate-100",{variants:{padding:{none:"p-4 pb-0",sm:"px-3 py-3",md:"px-4 py-4",lg:"px-6 py-6",xl:"px-8 py-8"}}}),r=z.cva("",{variants:{padding:{none:"p-4",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}}}),l=z.cva("border-t border-slate-100 bg-slate-50/50",{variants:{padding:{none:"p-4 pt-0",sm:"px-3 pb-3",md:"px-4 pb-4",lg:"px-6 pb-6",xl:"px-8 pb-8"}}}),s=z.cva("border-t border-slate-100 bg-slate-50/50",{variants:{padding:{none:"p-4 pt-0",sm:"px-3 pb-3",md:"px-4 pb-4",lg:"px-6 pb-6",xl:"px-8 pb-8"}}});return(u,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(k)(e.unref(n)({variant:t.variant,padding:t.padding})))},[u.$slots.header||t.title||t.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(k)(e.unref(a)({padding:t.padding})))},[e.renderSlot(u.$slots,"header",{},()=>[e.createElementVNode("div",Vu,[e.createElementVNode("div",Su,[t.title?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(Nu)},e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass($u)},e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),u.$slots.actions?(e.openBlock(),e.createElementBlock("div",Eu,[e.renderSlot(u.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),u.$slots.filters?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(k)(e.unref(o)({padding:t.padding})))},[e.renderSlot(u.$slots,"filters")],2)):e.createCommentVNode("",!0),u.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(k)(e.unref(r)({padding:t.padding})))},[e.renderSlot(u.$slots,"default")],2)):e.createCommentVNode("",!0),u.$slots.legend?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(k)(e.unref(l)({padding:t.padding})))},[e.renderSlot(u.$slots,"legend")],2)):e.createCommentVNode("",!0),u.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(e.unref(k)(e.unref(s)({padding:t.padding})))},[e.renderSlot(u.$slots,"footer")],2)):e.createCommentVNode("",!0)],2))}},zu={class:"w-full h-full"},Du=["width","height","viewBox"],Tu={key:0},Au=["x1","y1","x2","y2","stroke"],Fu=["x","y","width","height","fill","onMouseenter"],Pu={key:1},Lu=["x","y"],ju={key:2},Mu=["x","y"],Iu={key:3},Ou=["x","y","width","height","fill","stroke"],Ru=["x","y"],Fo={__name:"BarChart",props:{data:{type:Array,required:!0},labels:{type:Array,default:()=>[]},colors:{type:Array,default:()=>["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6"]},width:{type:Number,default:400},height:{type:Number,default:300},padding:{type:Object,default:()=>({top:20,right:20,bottom:60,left:60})},showGrid:{type:Boolean,default:!0},showXAxis:{type:Boolean,default:!0},showYAxis:{type:Boolean,default:!0},gridColor:{type:String,default:"#e5e7eb"},barClasses:{type:String,default:"transition-all duration-200 hover:opacity-80 cursor-pointer"},axisLabelClasses:{type:String,default:"fill-slate-600 text-xs font-medium"},tooltipBackground:{type:String,default:"#1f2937"},tooltipBorder:{type:String,default:"#374151"},tooltipTextClasses:{type:String,default:"fill-white text-xs font-medium"},maxValue:{type:Number,default:null}},emits:["bar-click","bar-hover"],setup(t,{emit:n}){const a=t,o=n,r=e.ref({visible:!1,x:0,y:0,width:0,height:0,content:""}),l=e.computed(()=>a.maxValue||Math.max(...a.data)),s=e.computed(()=>(a.width-a.padding.left-a.padding.right)/a.data.length*.8),u=e.computed(()=>(a.width-a.padding.left-a.padding.right)/a.data.length*.2),m=e.computed(()=>{const d=[],i=a.height-a.padding.top-a.padding.bottom,c=5;for(let g=0;g<=c;g++){const w=a.padding.top+i/c*g;d.push(w)}return d}),p=d=>a.padding.left+d*(s.value+u.value)+u.value/2,v=d=>{const i=a.height-a.padding.top-a.padding.bottom,c=i/l.value;return a.padding.top+i-d*c},h=d=>{const c=(a.height-a.padding.top-a.padding.bottom)/l.value;return d*c},S=d=>a.colors[d%a.colors.length],b=d=>{const i=a.height-a.padding.top-a.padding.bottom,c=(a.height-a.padding.bottom-d)/i*l.value;return Math.round(c)},y=(d,i,c)=>{const g=d.target.getBoundingClientRect(),w=a.labels[c]||`Item ${c+1}`;r.value={visible:!0,x:g.left+g.width/2,y:g.top,width:80,height:24,content:`${w}: ${i}`},o("bar-hover",{value:i,index:c,label:w})},f=()=>{r.value.visible=!1};return(d,i)=>(e.openBlock(),e.createElementBlock("div",zu,[(e.openBlock(),e.createElementBlock("svg",{width:t.width,height:t.height,viewBox:`0 0 ${t.width} ${t.height}`,class:"overflow-visible"},[t.showGrid?(e.openBlock(),e.createElementBlock("g",Tu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,c=>(e.openBlock(),e.createElementBlock("line",{key:`grid-${c}`,x1:t.padding.left,y1:c,x2:t.width-t.padding.right,y2:c,stroke:t.gridColor,"stroke-width":"1","stroke-dasharray":"2,2"},null,8,Au))),128))])):e.createCommentVNode("",!0),e.createElementVNode("g",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,(c,g)=>(e.openBlock(),e.createElementBlock("rect",{key:`bar-${g}`,x:p(g),y:v(c),width:s.value,height:h(c),fill:S(g),class:e.normalizeClass(t.barClasses),onMouseenter:w=>y(w,c,g),onMouseleave:f},null,42,Fu))),128))]),t.showXAxis?(e.openBlock(),e.createElementBlock("g",Pu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.labels,(c,g)=>(e.openBlock(),e.createElementBlock("text",{key:`xlabel-${g}`,x:p(g)+s.value/2,y:t.height-t.padding.bottom+20,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"middle"},e.toDisplayString(c),11,Lu))),128))])):e.createCommentVNode("",!0),t.showYAxis?(e.openBlock(),e.createElementBlock("g",ju,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,c=>(e.openBlock(),e.createElementBlock("text",{key:`ylabel-${c}`,x:t.padding.left-10,y:c+4,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"end"},e.toDisplayString(b(c)),11,Mu))),128))])):e.createCommentVNode("",!0),r.value.visible?(e.openBlock(),e.createElementBlock("g",Iu,[e.createElementVNode("rect",{x:r.value.x-r.value.width/2,y:r.value.y-r.value.height-10,width:r.value.width,height:r.value.height,fill:t.tooltipBackground,stroke:t.tooltipBorder,"stroke-width":"1",rx:"4"},null,8,Ou),e.createElementVNode("text",{x:r.value.x,y:r.value.y-r.value.height/2-2,class:e.normalizeClass(t.tooltipTextClasses),"text-anchor":"middle"},e.toDisplayString(r.value.content),11,Ru)])):e.createCommentVNode("",!0)],8,Du))]))}},_u={class:"w-full h-full"},Uu=["width","height","viewBox"],qu={key:0},Hu=["x1","y1","x2","y2","stroke"],Wu=["d","stroke","stroke-width"],Yu={key:1},Gu=["cx","cy","r","fill","stroke","onMouseenter"],Ku=["d","fill","fill-opacity"],Xu={key:3},Qu=["x","y"],Ju={key:4},Zu=["x","y"],em={key:5},tm=["x","y","width","height","fill","stroke"],am=["x","y"],Po={__name:"LineChart",props:{data:{type:Array,required:!0},labels:{type:Array,default:()=>[]},width:{type:Number||String,default:400},height:{type:Number,default:300},padding:{type:Object,default:()=>({top:20,right:20,bottom:60,left:60})},showGrid:{type:Boolean,default:!0},showXAxis:{type:Boolean,default:!0},showYAxis:{type:Boolean,default:!0},showPoints:{type:Boolean,default:!0},fillArea:{type:Boolean,default:!1},gridColor:{type:String,default:"#e5e7eb"},lineColor:{type:String,default:"#3b82f6"},strokeWidth:{type:Number,default:2},pointRadius:{type:Number,default:4},pointColor:{type:String,default:"#ffffff"},fillColor:{type:String,default:"#3b82f6"},fillOpacity:{type:Number,default:.1},lineClasses:{type:String,default:"transition-all duration-200"},pointClasses:{type:String,default:"transition-all duration-200 hover:r-6 cursor-pointer"},axisLabelClasses:{type:String,default:"fill-slate-600 text-xs font-medium"},tooltipBackground:{type:String,default:"#1f2937"},tooltipBorder:{type:String,default:"#374151"},tooltipTextClasses:{type:String,default:"fill-white text-xs font-medium"},maxValue:{type:Number,default:null}},emits:["point-click","point-hover"],setup(t,{emit:n}){const a=t,o=n,r=e.ref({visible:!1,x:0,y:0,width:0,height:0,content:""}),l=e.computed(()=>a.maxValue||Math.max(...a.data)),s=e.computed(()=>a.data.map((f,d)=>({x:v(d),y:h(f),value:f}))),u=e.computed(()=>s.value.length===0?"":s.value.map((d,i)=>`${i===0?"M":"L"} ${d.x} ${d.y}`).join(" ")),m=e.computed(()=>{if(s.value.length===0)return"";const f=s.value.map((c,g)=>`${g===0?"M":"L"} ${c.x} ${c.y}`).join(" "),d=a.height-a.padding.bottom,i=`L ${s.value[s.value.length-1].x} ${d} L ${s.value[0].x} ${d} Z`;return f+" "+i}),p=e.computed(()=>{const f=[],d=a.height-a.padding.top-a.padding.bottom,i=5;for(let c=0;c<=i;c++){const g=a.padding.top+d/i*c;f.push(g)}return f}),v=f=>{const i=(a.width-a.padding.left-a.padding.right)/(a.data.length-1||1);return a.padding.left+f*i},h=f=>{const d=a.height-a.padding.top-a.padding.bottom,i=d/l.value;return a.padding.top+d-f*i},S=f=>{const d=a.height-a.padding.top-a.padding.bottom,i=(a.height-a.padding.bottom-f)/d*l.value;return Math.round(i)},b=(f,d,i)=>{const c=f.target.getBoundingClientRect(),g=a.labels[i]||`Point ${i+1}`;r.value={visible:!0,x:c.left+c.width/2,y:c.top,width:80,height:24,content:`${g}: ${d}`},o("point-hover",{value:d,index:i,label:g})},y=()=>{r.value.visible=!1};return(f,d)=>(e.openBlock(),e.createElementBlock("div",_u,[(e.openBlock(),e.createElementBlock("svg",{width:t.width,height:t.height,viewBox:`0 0 ${t.width} ${t.height}`,class:"overflow-visible"},[t.showGrid?(e.openBlock(),e.createElementBlock("g",qu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,i=>(e.openBlock(),e.createElementBlock("line",{key:`grid-${i}`,x1:t.padding.left,y1:i,x2:t.width-t.padding.right,y2:i,stroke:t.gridColor,"stroke-width":"1","stroke-dasharray":"2,2"},null,8,Hu))),128))])):e.createCommentVNode("",!0),e.createElementVNode("path",{d:u.value,stroke:t.lineColor,"stroke-width":t.strokeWidth,fill:"none",class:e.normalizeClass(t.lineClasses)},null,10,Wu),t.showPoints?(e.openBlock(),e.createElementBlock("g",Yu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(i,c)=>(e.openBlock(),e.createElementBlock("circle",{key:`point-${c}`,cx:i.x,cy:i.y,r:t.pointRadius,fill:t.pointColor,stroke:t.lineColor,"stroke-width":2,class:e.normalizeClass(t.pointClasses),onMouseenter:g=>b(g,i.value,c),onMouseleave:y},null,42,Gu))),128))])):e.createCommentVNode("",!0),t.fillArea?(e.openBlock(),e.createElementBlock("path",{key:2,d:m.value,fill:t.fillColor,"fill-opacity":t.fillOpacity},null,8,Ku)):e.createCommentVNode("",!0),t.showXAxis?(e.openBlock(),e.createElementBlock("g",Xu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.labels,(i,c)=>(e.openBlock(),e.createElementBlock("text",{key:`xlabel-${c}`,x:v(c),y:t.height-t.padding.bottom+20,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"middle"},e.toDisplayString(i),11,Qu))),128))])):e.createCommentVNode("",!0),t.showYAxis?(e.openBlock(),e.createElementBlock("g",Ju,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,i=>(e.openBlock(),e.createElementBlock("text",{key:`ylabel-${i}`,x:t.padding.left-10,y:i+4,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"end"},e.toDisplayString(S(i)),11,Zu))),128))])):e.createCommentVNode("",!0),r.value.visible?(e.openBlock(),e.createElementBlock("g",em,[e.createElementVNode("rect",{x:r.value.x-r.value.width/2,y:r.value.y-r.value.height-10,width:r.value.width,height:r.value.height,fill:t.tooltipBackground,stroke:t.tooltipBorder,"stroke-width":"1",rx:"4"},null,8,tm),e.createElementVNode("text",{x:r.value.x,y:r.value.y-r.value.height/2-2,class:e.normalizeClass(t.tooltipTextClasses),"text-anchor":"middle"},e.toDisplayString(r.value.content),11,am)])):e.createCommentVNode("",!0)],8,Uu))]))}},nm={class:"bg-white border-b border-gray-200"},om={key:0,class:"flex items-center gap-3 min-w-64"},rm={class:"relative flex-1"},lm={class:"relative flex-1"},sm={key:1,class:"min-w-40"},im={class:"relative"},cm={key:2,class:"min-w-40"},dm={class:"relative"},um=["value"],mm={key:3,class:"flex items-center gap-2"},fm={class:"flex items-center gap-3 ml-auto"},pm={class:"flex items-center gap-3 flex-wrap"},gm=["onClick"],Lo={__name:"GraphFilters",props:{showDateFilter:{type:Boolean,default:!0},showChartTypeFilter:{type:Boolean,default:!0},showExport:{type:Boolean,default:!1},showRefresh:{type:Boolean,default:!0},dataSources:{type:Array,default:()=>[]},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:dateFrom","update:dateTo","update:chartType","update:dataSource","export","refresh","clear-filters"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(""),l=e.ref(""),s=e.ref("bar"),u=e.ref(""),m=z.cva("flex flex-wrap items-center gap-4",{variants:{variant:{default:"bg-white",minimal:"bg-transparent",bordered:"bg-gray-50"},padding:{compact:"px-4 py-3",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),p=e.computed(()=>r.value||l.value||u.value),v=e.computed(()=>{const _=[];if(r.value||l.value){let E="";r.value&&l.value?E=`${r.value} to ${l.value}`:r.value?E=`From ${r.value}`:l.value&&(E=`Until ${l.value}`),E&&_.push({key:"date",label:"Date Range",value:E,icon:"calendar"})}if(u.value){const E=a.dataSources.find(I=>I.value===u.value);_.push({key:"dataSource",label:"Data Source",value:E?.label||u.value,icon:"database"})}return _}),h=e.computed(()=>k(m({variant:a.variant,padding:a.padding}))),S=e.computed(()=>"w-full pl-10 pr-3 py-2 border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent text-sm"),b=e.computed(()=>"w-full pr-8 appearance-none border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent text-sm py-2 pl-3"),y=e.computed(()=>"text-gray-700 hover:text-gray-900 border border-gray-200 hover:bg-gray-50 bg-white px-3 py-2 rounded-lg text-sm font-medium transition-all"),f=e.computed(()=>"text-white bg-blue-600 hover:bg-blue-700 border border-blue-600 px-3 py-2 rounded-lg text-sm font-medium transition-all"),d=e.computed(()=>"text-gray-700 hover:text-gray-900 border border-gray-200 hover:bg-gray-50 bg-white px-3 py-2 rounded-lg text-sm font-medium transition-all"),i=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),c=e.computed(()=>"text-sm font-semibold text-blue-800"),g=e.computed(()=>"flex items-center gap-1.5 bg-white border border-blue-200 text-blue-800 px-3 py-1.5 rounded-full text-sm font-medium"),w=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),x=_=>{s.value=_.target.value,o("update:chartType",_.target.value)},F=_=>{u.value=_.target.value,o("update:dataSource",_.target.value)},L=()=>{r.value="",l.value="",u.value="",o("clear-filters")},H=_=>{switch(_){case"date":r.value="",l.value="";break;case"dataSource":u.value="";break}};return e.watch(()=>r.value,_=>{o("update:dateFrom",_)}),e.watch(()=>l.value,_=>{o("update:dateTo",_)}),(_,E)=>(e.openBlock(),e.createElementBlock("div",nm,[e.createElementVNode("div",{class:e.normalizeClass(h.value)},[t.showDateFilter?(e.openBlock(),e.createElementBlock("div",om,[e.createElementVNode("div",rm,[e.createVNode(j,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E[0]||(E[0]=I=>r.value=I),type:"date",class:e.normalizeClass(S.value),placeholder:"From date"},null,2),[[e.vModelText,r.value]])]),E[6]||(E[6]=e.createElementVNode("span",{class:"text-gray-500 text-sm"},"to",-1)),e.createElementVNode("div",lm,[e.createVNode(j,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E[1]||(E[1]=I=>l.value=I),type:"date",class:e.normalizeClass(S.value),placeholder:"To date"},null,2),[[e.vModelText,l.value]])])])):e.createCommentVNode("",!0),t.showChartTypeFilter?(e.openBlock(),e.createElementBlock("div",sm,[e.createElementVNode("div",im,[e.createVNode(ue,{modelValue:s.value,"onUpdate:modelValue":E[2]||(E[2]=I=>s.value=I),class:e.normalizeClass(b.value),onChange:x},{default:e.withCtx(()=>[...E[7]||(E[7]=[e.createElementVNode("option",{value:"bar"}," Bar Chart ",-1),e.createElementVNode("option",{value:"line"}," Line Chart ",-1),e.createElementVNode("option",{value:"pie"}," Pie Chart ",-1)])]),_:1},8,["modelValue","class"]),e.createVNode(j,{icon:"chart-bar",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})])])):e.createCommentVNode("",!0),t.dataSources.length>0?(e.openBlock(),e.createElementBlock("div",cm,[e.createElementVNode("div",dm,[e.createVNode(ue,{modelValue:u.value,"onUpdate:modelValue":E[3]||(E[3]=I=>u.value=I),class:e.normalizeClass(b.value),onChange:F},{default:e.withCtx(()=>[E[8]||(E[8]=e.createElementVNode("option",{value:""}," All Sources ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dataSources,I=>(e.openBlock(),e.createElementBlock("option",{key:I.value,value:I.value},e.toDisplayString(I.label),9,um))),128))]),_:1},8,["modelValue","class"]),e.createVNode(j,{icon:"database",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})])])):e.createCommentVNode("",!0),_.$slots.filters?(e.openBlock(),e.createElementBlock("div",mm,[e.renderSlot(_.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",fm,[p.value?(e.openBlock(),e.createBlock(J,{key:0,class:e.normalizeClass(y.value),onClick:L},{default:e.withCtx(()=>[e.createVNode(j,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),E[9]||(E[9]=e.createTextVNode(" Clear Filters ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(J,{key:1,class:e.normalizeClass(f.value),onClick:E[4]||(E[4]=I=>_.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(j,{icon:"download",class:"w-4 h-4 mr-2"}),E[10]||(E[10]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createBlock(J,{key:2,class:e.normalizeClass(d.value),onClick:E[5]||(E[5]=I=>_.$emit("refresh"))},{default:e.withCtx(()=>[e.createVNode(j,{icon:"sync",class:"w-4 h-4 mr-2"}),E[11]||(E[11]=e.createTextVNode(" Refresh ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0)])],2),v.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(i.value)},[e.createElementVNode("div",pm,[e.createElementVNode("span",{class:e.normalizeClass(c.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,I=>(e.openBlock(),e.createElementBlock("div",{key:I.key,class:e.normalizeClass(g.value)},[e.createVNode(j,{icon:I.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(I.label)+": "+e.toDisplayString(I.value),1),e.createElementVNode("button",{class:e.normalizeClass(w.value),onClick:M=>H(I.key)},[e.createVNode(j,{icon:"xmark",class:"w-3 h-3"})],10,gm)],2))),128))])],2)):e.createCommentVNode("",!0)]))}},vm={class:"flex items-start justify-between"},hm={key:0,class:"flex items-center gap-2"},la={__name:"DataTableHeader",props:{title:{type:String,default:null},description:{type:String,default:null},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},setup(t){const n=t,a=z.cva("border-b border-slate-200",{variants:{variant:{default:"bg-white",minimal:"bg-transparent border-none",bordered:"bg-slate-50 border-2"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),o=z.cva("font-semibold text-slate-900",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),r=z.cva("text-slate-600 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),l=e.computed(()=>k(a({variant:n.variant,padding:n.padding}))),s=e.computed(()=>k(o({size:"md"}))),u=e.computed(()=>k(r({size:"md"})));return(m,p)=>t.title||t.description||m.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(l.value)},[e.renderSlot(m.$slots,"header",{},()=>[e.createElementVNode("div",vm,[e.createElementVNode("div",null,[t.title?(e.openBlock(),e.createBlock(at,{key:0,class:e.normalizeClass(s.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1},8,["class"])):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createBlock(at,{key:1,class:e.normalizeClass(u.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.description),1)]),_:1},8,["class"])):e.createCommentVNode("",!0)]),m.$slots.filters?(e.openBlock(),e.createElementBlock("div",hm,[e.renderSlot(m.$slots,"filters")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)}},sa={__name:"DataTableRow",props:{item:{type:Object,required:!0},columns:{type:Array,required:!0},index:{type:Number,required:!0},selectable:{type:Boolean,default:!1},isSelected:{type:Boolean,default:!1},striped:{type:Boolean,default:!1},hoverable:{type:Boolean,default:!0},clickableRows:{type:Boolean,default:!1},density:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","bordered","minimal"].includes(t)}},emits:["toggle-selection","row-click"],setup(t,{emit:n}){const a=t,o=n,r=z.cva("transition-colors",{variants:{striped:{true:"odd:bg-slate-50/50",false:""},hoverable:{true:"hover:bg-slate-50",false:""},clickable:{true:"cursor-pointer hover:bg-slate-100",false:""},selected:{true:"bg-blue-50 border-blue-200",false:""},variant:{default:"",bordered:"border-b border-slate-200",minimal:"border-b border-slate-100"}},compoundVariants:[{hoverable:!0,clickable:!0,class:"hover:bg-slate-100"}],defaultVariants:{striped:!1,hoverable:!0,clickable:!1,selected:!1,variant:"default"}}),l=z.cva("whitespace-nowrap text-sm text-slate-900",{variants:{density:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"},align:{left:"text-left",center:"text-center",right:"text-right"}},defaultVariants:{density:"normal",align:"left"}}),s=f=>typeof f=="string"?f:f?.key||f?.field||"unknown",u=(f,d)=>{const i=s(d);return typeof d=="object"&&d.accessor?d.accessor(f):i&&i.includes(".")?i.split(".").reduce((c,g)=>c?.[g],f):f?.[i]},m=(f,d)=>{const i=u(f,d);return typeof d=="object"&&d.formatter?d.formatter(i,f):i==null?"":i instanceof Date?i.toLocaleDateString():Array.isArray(i)?i.join(", "):i},p=()=>{a.clickableRows&&o("row-click",{item:a.item,index:a.index})},v=f=>typeof f=="object"&&f.align?f.align:"left",h=e.computed(()=>k(r({striped:a.striped,hoverable:a.hoverable&&!a.clickableRows,clickable:a.clickableRows,selected:a.isSelected,variant:a.variant}))),S=f=>{const d=v(f);return k(l({density:a.density,align:d}),f.cellClasses)},b=e.computed(()=>k(l({density:a.density}),"w-12")),y=e.computed(()=>k(l({density:a.density,align:"right"}),"font-medium"));return(f,d)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(h.value),onClick:p},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(b.value)},[e.createVNode(it,{"model-value":t.isSelected,"onUpdate:modelValue":d[0]||(d[0]=i=>f.$emit("toggle-selection",t.item))},null,8,["model-value"])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,i=>(e.openBlock(),e.createElementBlock("td",{key:s(i),class:e.normalizeClass(S(i))},[e.renderSlot(f.$slots,`cell-${s(i)}`,{item:t.item,value:u(t.item,i),column:i,index:t.index},()=>[e.createTextVNode(e.toDisplayString(m(t.item,i)),1)])],2))),128)),f.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(y.value)},[e.renderSlot(f.$slots,"actions",{item:t.item,index:t.index})],2)):e.createCommentVNode("",!0)],2))}},bm={class:"flex items-center justify-between"},ym={key:0,class:"text-sm text-slate-600"},xm={key:1,class:"text-sm text-slate-600"},km={key:2,class:"flex items-center gap-4"},wm={key:3,class:"flex items-center gap-4"},Cm={class:"flex items-center gap-2"},Bm={class:"flex items-center gap-1"},Vm=["disabled"],Sm=["disabled"],Em={class:"flex items-center gap-1"},Nm=["onClick"],$m=["disabled"],zm=["disabled"],Dm={class:"text-sm text-slate-600 ml-4"},ia={__name:"DataTablePagination",props:{currentPage:{type:Number,required:!0},totalPages:{type:Number,required:!0},total:{type:Number,required:!0},pageSize:{type:Number,required:!0},showPagination:{type:Boolean,default:!0},selectable:{type:Boolean,default:!1},selectedCount:{type:Number,default:0},pageSizeOptions:{type:Array,default:()=>[5,10,25,50,100]},maxVisiblePages:{type:Number,default:7},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:currentPage","update:pageSize"],setup(t){const n=t,a=z.cva("border-t border-slate-200",{variants:{variant:{default:"bg-slate-50",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-100 border-t-2 border-slate-300"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),o=z.cva("text-sm font-medium border rounded-md transition-colors duration-200",{variants:{state:{active:"bg-blue-600 text-white border-blue-600",inactive:"bg-white text-slate-700 border-slate-300 hover:bg-slate-50",disabled:"bg-slate-100 text-slate-400 border-slate-200 cursor-not-allowed"},size:{sm:"px-2 py-1",md:"px-3 py-2",lg:"px-4 py-3"}},defaultVariants:{state:"inactive",size:"md"}}),r=z.cva("text-slate-700",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"}},defaultVariants:{size:"md"}}),l=z.cva("border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 text-sm min-w-[60px] focus:border-transparent",{variants:{size:{sm:"px-2 py-1",md:"px-3 py-2",lg:"px-4 py-3"}},defaultVariants:{size:"sm"}}),s=e.computed(()=>(n.currentPage-1)*n.pageSize+1),u=e.computed(()=>Math.min(n.currentPage*n.pageSize,n.total)),m=e.computed(()=>{const b=[],y=n.totalPages,f=n.currentPage,d=n.maxVisiblePages;if(y<=d)for(let i=1;i<=y;i++)b.push(i);else{const i=Math.floor(d/2);let c=Math.max(1,f-i),g=Math.min(y,c+d-1);g-c+1<d&&(c=Math.max(1,g-d+1));for(let w=c;w<=g;w++)b.push(w)}return b}),p=e.computed(()=>k(a({variant:n.variant,padding:n.padding}))),v=e.computed(()=>k(r({size:"md"}))),h=e.computed(()=>k(l({size:"sm"}))),S=(b,y)=>{let f="inactive";return y?f="disabled":b&&(f="active"),k(o({state:f,size:"md"}))};return(b,y)=>t.showPagination||b.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(p.value)},[e.createElementVNode("div",bm,[t.selectable&&t.selectedCount>0?(e.openBlock(),e.createElementBlock("div",ym,e.toDisplayString(t.selectedCount)+" of "+e.toDisplayString(t.total)+" selected ",1)):(e.openBlock(),e.createElementBlock("div",xm," Showing "+e.toDisplayString(s.value)+" to "+e.toDisplayString(u.value)+" of "+e.toDisplayString(t.total)+" entries ",1)),b.$slots.footer?(e.openBlock(),e.createElementBlock("div",km,[e.renderSlot(b.$slots,"footer")])):e.createCommentVNode("",!0),t.showPagination?(e.openBlock(),e.createElementBlock("div",wm,[e.createElementVNode("div",Cm,[e.createVNode(fe,{for:"pageSize",class:e.normalizeClass(v.value),inline:!0},{default:e.withCtx(()=>[...y[5]||(y[5]=[e.createTextVNode("Show:",-1)])]),_:1},8,["class"]),e.createVNode(ue,{id:"pageSize","model-value":t.pageSize.toString(),class:e.normalizeClass(h.value),"onUpdate:modelValue":y[0]||(y[0]=f=>b.$emit("update:pageSize",parseInt(f)))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizeOptions,f=>(e.openBlock(),e.createBlock(na,{key:f,value:f.toString(),label:f.toString()},null,8,["value","label"]))),128))]),_:1},8,["model-value","class"])]),e.createElementVNode("div",Bm,[e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass(S(!1,t.currentPage===1)),title:"First page",onClick:y[1]||(y[1]=f=>b.$emit("update:currentPage",1))},[...y[6]||(y[6]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m18.75 4.5-7.5 7.5 7.5 7.5m-6-15L5.25 12l7.5 7.5"})],-1)])],10,Vm),e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass(S(!1,t.currentPage===1)),title:"Previous page",onClick:y[2]||(y[2]=f=>b.$emit("update:currentPage",t.currentPage-1))},[...y[7]||(y[7]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5L8.25 12l7.5-7.5"})],-1)])],10,Sm),e.createElementVNode("div",Em,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,f=>(e.openBlock(),e.createElementBlock("button",{key:f,class:e.normalizeClass(S(f===t.currentPage,!1)),onClick:d=>b.$emit("update:currentPage",f)},e.toDisplayString(f),11,Nm))),128))]),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass(S(!1,t.currentPage===t.totalPages)),title:"Next page",onClick:y[3]||(y[3]=f=>b.$emit("update:currentPage",t.currentPage+1))},[...y[8]||(y[8]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})],-1)])],10,$m),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass(S(!1,t.currentPage===t.totalPages)),title:"Last page",onClick:y[4]||(y[4]=f=>b.$emit("update:currentPage",t.totalPages))},[...y[9]||(y[9]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m5.25 4.5 7.5 7.5-7.5 7.5m6-15 7.5 7.5-7.5 7.5"})],-1)])],10,zm)]),e.createElementVNode("div",Dm," Page "+e.toDisplayString(t.currentPage)+" of "+e.toDisplayString(t.totalPages),1)])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)}},ft=(t,n)=>{const a=t.__vccOpts||t;for(const[o,r]of n)a[o]=r;return a},Tm={key:0,class:"loader__backdrop"},Am={class:"loader__container"},Fm={key:0,class:"loader__text loader__text--top"},Pm={key:1,class:"loader__spin"},Lm={key:2,class:"loader__pulse"},jm={key:3,class:"loader__bounce"},Mm={key:4,class:"loader__ripple"},Im={key:5,class:"loader__bars"},Om={key:6,class:"loader__dots"},Rm={key:7,class:"loader__ring"},_m={key:8,class:"loader__spinner-text"},Um={key:9,class:"loader__text loader__text--bottom"},qm={__name:"Loader",props:{loading:{type:Boolean,default:!0},type:{type:String,default:"spin",validator:t=>["spin","pulse","bounce","ripple","bars","dots","ring","spinner-text"].includes(t)},size:{type:String,default:"medium",validator:t=>["small","medium","large","xl"].includes(t)},color:{type:String,default:"#3b82f6"},backgroundColor:{type:String,default:"rgba(255, 255, 255, 0.9)"},text:{type:String,default:""},textPosition:{type:String,default:"bottom",validator:t=>["top","bottom"].includes(t)},overlay:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1}},setup(t){return(n,a)=>t.loading?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["loader",`loader--${t.type}`,`loader--${t.size}`,t.overlay?"loader--overlay":"",t.fullscreen?"loader--fullscreen":""]),style:e.normalizeStyle({"--loader-color":t.color,"--loader-bg":t.backgroundColor})},[t.overlay?(e.openBlock(),e.createElementBlock("div",Tm)):e.createCommentVNode("",!0),e.createElementVNode("div",Am,[t.text&&t.textPosition==="top"?(e.openBlock(),e.createElementBlock("div",Fm,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0),t.type==="spin"?(e.openBlock(),e.createElementBlock("div",Pm)):t.type==="pulse"?(e.openBlock(),e.createElementBlock("div",Lm)):t.type==="bounce"?(e.openBlock(),e.createElementBlock("div",jm,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,o=>e.createElementVNode("div",{key:o,class:"loader__bounce-dot",style:e.normalizeStyle({animationDelay:`${(o-1)*.1}s`})},null,4)),64))])):t.type==="ripple"?(e.openBlock(),e.createElementBlock("div",Mm,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(2,o=>e.createElementVNode("div",{key:o,class:"loader__ripple-ring",style:e.normalizeStyle({animationDelay:`${(o-1)*.5}s`})},null,4)),64))])):t.type==="bars"?(e.openBlock(),e.createElementBlock("div",Im,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(5,o=>e.createElementVNode("div",{key:o,class:"loader__bar",style:e.normalizeStyle({animationDelay:`${(o-1)*.1}s`})},null,4)),64))])):t.type==="dots"?(e.openBlock(),e.createElementBlock("div",Om,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,o=>e.createElementVNode("div",{key:o,class:"loader__dot",style:e.normalizeStyle({animationDelay:`${(o-1)*.16}s`})},null,4)),64))])):t.type==="ring"?(e.openBlock(),e.createElementBlock("div",Rm,[...a[0]||(a[0]=[e.createElementVNode("div",{class:"loader__ring-track"},null,-1),e.createElementVNode("div",{class:"loader__ring-fill"},null,-1)])])):t.type==="spinner-text"?(e.openBlock(),e.createElementBlock("div",_m,[...a[1]||(a[1]=[e.createElementVNode("div",{class:"loader__spinner"},null,-1)])])):e.createCommentVNode("",!0),t.text&&t.textPosition==="bottom"?(e.openBlock(),e.createElementBlock("div",Um,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)}},Me=ft(qm,[["__scopeId","data-v-68532350"]]),Hm={class:"relative"},Wm={class:"flex items-center justify-center"},Ym=["onClick"],Gm={class:"flex items-center gap-2"},Km={key:1,class:"flex flex-col"},Xm={key:1,class:"flex items-center gap-1 justify-center"},Qm={key:1,class:"text-xs"},Jm={key:2},Zm=["colspan"],ef={class:"flex flex-col items-center justify-center py-12"},tf={class:"text-slate-400 mb-4 flex justify-center"},af={class:"text-slate-600 text-lg font-medium mb-2"},nf={class:"text-slate-500 text-sm"},of={__name:"DataTable",props:{data:{type:Array,required:!0},columns:{type:Array,required:!0},title:{type:String,default:null},description:{type:String,default:null},selectable:{type:Boolean,default:!1},selectedItems:{type:Array,default:()=>[]},sortBy:{type:String,default:null},sortOrder:{type:String,default:"asc",validator:t=>["asc","desc"].includes(t)},pageSize:{type:Number,default:10},showPagination:{type:Boolean,default:!0},striped:{type:Boolean,default:!1},hoverable:{type:Boolean,default:!0},clickableRows:{type:Boolean,default:!1},emptyText:{type:String,default:"No data available"},emptySubtitle:{type:String,default:"Try adjusting your search or filter criteria"},rowKey:{type:String,default:"id"},variant:{type:String,default:"default",validator:t=>["default","bordered","minimal"].includes(t)},density:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},headerVariant:{type:String,default:"default"},headerPadding:{type:String,default:"normal"},paginationVariant:{type:String,default:"default"},paginationPadding:{type:String,default:"normal"},actions:{type:Array,default:()=>[]},showActionsColumn:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},dataLoading:{type:Boolean,default:!1},sortLoading:{type:Boolean,default:!1},paginationLoading:{type:Boolean,default:!1},bulkLoading:{type:Boolean,default:!1},rowLoading:{type:Object,default:()=>({})},loadingType:{type:String,default:"dots",validator:t=>["spin","pulse","bounce","ripple","bars","dots","ring"].includes(t)},loadingSize:{type:String,default:"medium",validator:t=>["small","medium","large","xl"].includes(t)},loadingColor:{type:String,default:"#3b82f6"},loadingText:{type:String,default:"Loading..."},loadingTextPosition:{type:String,default:"bottom",validator:t=>["top","bottom"].includes(t)},loadingBackground:{type:String,default:"rgba(255, 255, 255, 0.95)"},showSkeleton:{type:Boolean,default:!0},skeletonRows:{type:Number,default:5}},emits:["selection-change","sort-change","row-click","page-change","page-size-change","refresh","action"],setup(t,{expose:n,emit:a}){const o=t,r=a,l=e.ref(1),s=e.ref(o.pageSize),u=e.ref(o.sortBy),m=e.ref(o.sortOrder),p=z.cva("bg-white border border-slate-200 rounded-lg overflow-hidden",{variants:{variant:{default:"shadow-sm",bordered:"border-2 border-slate-300",minimal:"border-none shadow-none bg-transparent"}},defaultVariants:{variant:"default"}}),v=z.cva("min-w-full",{variants:{variant:{default:"divide-y divide-slate-200",bordered:"border-collapse [&_td]:border [&_th]:border",minimal:"divide-y divide-slate-100"}},defaultVariants:{variant:"default"}}),h=z.cva("",{variants:{variant:{default:"bg-slate-50",bordered:"bg-slate-100 border-b-2 border-slate-300",minimal:"bg-transparent border-b border-slate-200"}},defaultVariants:{variant:"default"}}),S=z.cva("divide-y",{variants:{variant:{default:"bg-white divide-slate-200",bordered:"bg-white divide-slate-300",minimal:"bg-transparent divide-slate-100"}},defaultVariants:{variant:"default"}}),b=e.computed(()=>{let D=[...o.data];if(u.value){const R=o.columns.find(G=>G.key===u.value);R&&D.sort((G,te)=>{const ae=H(G,R),Q=H(te,R);return ae<Q?m.value==="asc"?-1:1:ae>Q?m.value==="asc"?1:-1:0})}return D}),y=e.computed(()=>Math.ceil(b.value.length/s.value)),f=e.computed(()=>{if(!o.showPagination)return b.value;const D=(l.value-1)*s.value,R=D+s.value;return b.value.slice(D,R)}),d=e.computed(()=>{let D=o.columns.length;return o.selectable&&D++,(o.$slots?.actions||o.actions.length>0&&o.showActionsColumn)&&D++,D}),i=D=>o.actions.filter(R=>R.visible&&typeof R.visible=="function"?R.visible(D):!0),c=(D,R)=>D.permission&&typeof D.permission=="function"?D.permission(R):!0,g=(D,R)=>D.disabled&&typeof D.disabled=="function"?D.disabled(R):!1,w=(D,R)=>{g(D,R)||!c(D,R)||(r("action",{action:D.key,item:R,actionConfig:D}),D.onClick&&typeof D.onClick=="function"&&D.onClick(R))},x=D=>({default:"default",primary:"gradient",secondary:"secondary",danger:"danger",success:"success",warning:"warning",info:"info",subtle:"subtle",dark:"dark",light:"light",primaryOutline:"primaryOutline",dangerOutline:"dangerOutline",successOutline:"successOutline",outline:"outline",link:"link",ghost:"ghost"})[D]||"ghost",F=e.computed(()=>b.value.length>0&&b.value.every(D=>E(D))),L=e.computed(()=>{const D=b.value.filter(R=>E(R)).length;return D>0&&D<b.value.length}),H=(D,R)=>R.accessor?R.accessor(D):R.key.split(".").reduce((G,te)=>G?.[te],D),_=(D,R)=>D[o.rowKey]||R,E=D=>o.selectedItems.some(R=>_(R)===_(D)),I=D=>{const R=[...o.selectedItems],G=R.findIndex(te=>_(te)===_(D));G>-1?R.splice(G,1):R.push(D),r("selection-change",R)},M=()=>{if(o.loading||o.dataLoading)return;const D=F.value?[]:[...b.value];r("selection-change",D)},C=async D=>{!D.sortable||o.loading||o.sortLoading||(u.value===D.key?m.value=m.value==="asc"?"desc":"asc":(u.value=D.key,m.value="asc"),r("sort-change",{column:D.key,direction:m.value}))},N=D=>{o.loading||r("row-click",D)},P=async D=>{o.paginationLoading||o.loading||(l.value=D,r("page-change",D))},W=async D=>{o.paginationLoading||o.loading||(s.value=D,l.value=1,r("page-size-change",D))},U=e.computed(()=>k(p({variant:o.variant}))),re=e.computed(()=>k(v({variant:o.variant}))),pt=e.computed(()=>k(h({variant:o.variant}))),$e=e.computed(()=>k(S({variant:o.variant}))),gt=D=>k({compact:"px-4 py-2",normal:"px-6 py-3",comfortable:"px-8 py-4"}[o.density],"text-left text-xs font-medium text-slate-500 uppercase tracking-wider",{"cursor-pointer hover:bg-slate-100 transition-colors":D.sortable&&!o.loading&&!o.sortLoading,"cursor-not-allowed opacity-50":o.loading||o.sortLoading&&u.value===D.key}),vt=()=>k({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[o.density],"whitespace-nowrap text-sm text-slate-900"),He=e.computed(()=>k({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[o.density],"whitespace-nowrap text-sm text-slate-900 w-12")),xe=e.computed(()=>k({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[o.density],"whitespace-nowrap text-sm font-medium text-center")),ze=e.computed(()=>k({compact:"px-4 py-4",normal:"px-6 py-6",comfortable:"px-8 py-8"}[o.density],"text-center")),De=(D,R)=>k({"text-blue-600":u.value===D.key&&m.value===R,"text-slate-300":u.value!==D.key||m.value!==R});return e.watch(()=>o.selectedItems,()=>{},{deep:!0}),e.watch(()=>o.pageSize,D=>{s.value=D}),n({refresh:()=>{r("refresh")},goToPage:D=>{P(D)},selectAll:()=>{M()},clearSelection:()=>{r("selection-change",[])},getCurrentPage:()=>l.value,getTotalPages:()=>y.value,getSelectedItems:()=>o.selectedItems}),(D,R)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(U.value)},[t.title||t.description||D.$slots.header?(e.openBlock(),e.createBlock(la,{key:0,title:t.title,description:t.description,variant:t.headerVariant,padding:t.headerPadding},{header:e.withCtx(()=>[e.renderSlot(D.$slots,"header",{},void 0,!0)]),filters:e.withCtx(()=>[e.renderSlot(D.$slots,"filters",{},void 0,!0)]),_:3},8,["title","description","variant","padding"])):e.createCommentVNode("",!0),e.createElementVNode("div",Hm,[t.loading?(e.openBlock(),e.createBlock(Me,{key:0,loading:!0,type:t.loadingType,size:t.loadingSize,color:t.loadingColor,overlay:!0,text:t.loadingText,"text-position":t.loadingTextPosition,"background-color":t.loadingBackground,class:"table-loading-overlay"},null,8,["type","size","color","text","text-position","background-color"])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["overflow-x-auto",{"opacity-50":t.loading}])},[e.createElementVNode("table",{class:e.normalizeClass(re.value)},[e.createElementVNode("thead",{class:e.normalizeClass(pt.value)},[e.createElementVNode("tr",null,[t.selectable?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(He.value)},[e.createElementVNode("div",Wm,[t.bulkLoading?(e.openBlock(),e.createBlock(Me,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):(e.openBlock(),e.createBlock(it,{key:1,"model-value":F.value,indeterminate:L.value,disabled:t.loading||t.dataLoading,"onUpdate:modelValue":M},null,8,["model-value","indeterminate","disabled"]))])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,G=>(e.openBlock(),e.createElementBlock("th",{key:G.key,class:e.normalizeClass(gt(G)),onClick:te=>C(G)},[e.createElementVNode("div",Gm,[e.createElementVNode("span",null,e.toDisplayString(G.label),1),t.sortLoading&&u.value===G.key?(e.openBlock(),e.createBlock(Me,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):G.sortable?(e.openBlock(),e.createElementBlock("div",Km,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([De(G,"asc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...R[0]||(R[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 15.75 7.5-7.5 7.5 7.5"},null,-1)])],2)),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([De(G,"desc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...R[1]||(R[1]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"},null,-1)])],2))])):e.createCommentVNode("",!0)])],10,Ym))),128)),D.$slots.actions||t.actions.length>0&&t.showActionsColumn?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass(xe.value)}," Actions ",2)):e.createCommentVNode("",!0)])],2),e.createElementVNode("tbody",{class:e.normalizeClass($e.value)},[t.showSkeleton&&(t.loading||t.dataLoading)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.skeletonRows,G=>(e.openBlock(),e.createElementBlock("tr",{key:`skeleton-${G}`,class:"animate-pulse"},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(He.value)},[...R[2]||(R[2]=[e.createElementVNode("div",{class:"w-4 h-4 bg-slate-200 rounded"},null,-1)])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,te=>(e.openBlock(),e.createElementBlock("td",{key:te.key,class:e.normalizeClass(vt())},[...R[3]||(R[3]=[e.createElementVNode("div",{class:"h-4 bg-slate-200 rounded w-3/4"},null,-1)])],2))),128)),D.$slots.actions||t.actions.length>0&&t.showActionsColumn?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(xe.value)},[...R[4]||(R[4]=[e.createElementVNode("div",{class:"flex gap-2 justify-center"},[e.createElementVNode("div",{class:"w-6 h-6 bg-slate-200 rounded"}),e.createElementVNode("div",{class:"w-6 h-6 bg-slate-200 rounded"})],-1)])],2)):e.createCommentVNode("",!0)]))),128)):f.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(f.value,(G,te)=>(e.openBlock(),e.createBlock(sa,{key:_(G,te),item:G,columns:t.columns,index:te,selectable:t.selectable,"is-selected":E(G),striped:t.striped,hoverable:t.hoverable,"clickable-rows":t.clickableRows,density:t.density,"row-loading":t.rowLoading[_(G,te)],"loading-color":t.loadingColor,onToggleSelection:I,onRowClick:N},e.createSlots({actions:e.withCtx(ae=>[D.$slots.actions?e.renderSlot(D.$slots,"actions",e.mergeProps({key:0,ref_for:!0},ae),void 0,!0):t.actions.length>0&&t.showActionsColumn?(e.openBlock(),e.createElementBlock("div",Xm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i(ae.item),Q=>(e.openBlock(),e.createBlock(oa,{key:Q.key,content:Q.tooltip||Q.label||Q.key,placement:"top"},{default:e.withCtx(()=>[e.createVNode(J,{variant:x(Q.variant),size:"xs",disabled:g(Q,ae.item)||!c(Q,ae.item),class:"h-8 w-8",onClick:e.withModifiers(ca=>w(Q,ae.item),["stop"])},{default:e.withCtx(()=>[Q.icon?(e.openBlock(),e.createBlock(j,{key:0,icon:Q.icon,class:"w-4 h-4"},null,8,["icon"])):Q.label?(e.openBlock(),e.createElementBlock("span",Qm,e.toDisplayString(Q.label),1)):e.createCommentVNode("",!0)]),_:2},1032,["variant","disabled","onClick"])]),_:2},1032,["content"]))),128))])):e.createCommentVNode("",!0)]),_:2},[e.renderList(t.columns,ae=>({name:`cell-${ae.key}`,fn:e.withCtx(Q=>[e.renderSlot(D.$slots,`cell-${ae.key}`,e.mergeProps({ref_for:!0},Q),void 0,!0)])}))]),1032,["item","columns","index","selectable","is-selected","striped","hoverable","clickable-rows","density","row-loading","loading-color"]))),128)):(e.openBlock(),e.createElementBlock("tr",Jm,[e.createElementVNode("td",{colspan:d.value,class:e.normalizeClass(ze.value)},[e.renderSlot(D.$slots,"empty",{},()=>[e.createElementVNode("div",ef,[e.createElementVNode("div",tf,[e.createVNode(j,{icon:"search",class:"w-16 h-16"})]),e.createElementVNode("p",af,e.toDisplayString(t.emptyText),1),e.createElementVNode("p",nf,e.toDisplayString(t.emptySubtitle),1)])],!0)],10,Zm)]))],2)],2)],2)]),t.showPagination||D.$slots.footer?(e.openBlock(),e.createBlock(ia,{key:1,"current-page":l.value,"total-pages":y.value,total:b.value.length,"page-size":s.value,"show-pagination":t.showPagination,selectable:t.selectable,"selected-count":t.selectedItems.length,variant:t.paginationVariant,padding:t.paginationPadding,loading:t.paginationLoading,disabled:t.loading||t.dataLoading,"onUpdate:currentPage":P,"onUpdate:pageSize":W},{footer:e.withCtx(()=>[e.renderSlot(D.$slots,"footer",{},void 0,!0)]),_:3},8,["current-page","total-pages","total","page-size","show-pagination","selectable","selected-count","variant","padding","loading","disabled"])):e.createCommentVNode("",!0)],2))}},jo=ft(of,[["__scopeId","data-v-32089b8f"]]),Mo={__name:"DataTableCell",props:{item:{type:Object,required:!0},column:{type:Object,required:!0},value:{type:[String,Number,Boolean,Object,Array],default:null},align:{type:String,default:"left",validator:t=>["left","center","right"].includes(t)},width:{type:String,default:null},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},textSize:{type:String,default:"sm",validator:t=>["xs","sm","base","lg"].includes(t)},textColor:{type:String,default:"slate-900"}},setup(t){const n=t,a=e.computed(()=>{const s=n.value??o();return n.column.formatter?n.column.formatter(s,n.item):s}),o=()=>n.column.accessor?n.column.accessor(n.item):n.column.key.split(".").reduce((s,u)=>s?.[u],n.item),r=z.cva("whitespace-nowrap",{variants:{align:{left:"text-left",center:"text-center",right:"text-right"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"},textSize:{xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg"}},defaultVariants:{align:"left",padding:"normal",textSize:"sm"}}),l=e.computed(()=>{const s=n.align||n.column.align||"left",u=`text-${n.textColor}`,m=n.width?`w-${n.width}`:"";return k(r({align:s,padding:n.padding,textSize:n.textSize}),u,m,n.column.cellClasses)});return(s,u)=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(l.value)},[e.renderSlot(s.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])],2))}},rf={class:"bg-white border-b border-gray-200"},lf={key:0,class:"flex-1 min-w-80 max-w-md"},sf={class:"relative group"},cf=["model-value","placeholder"],df={class:"relative"},uf={value:""},mf=["value"],ff={key:1,class:"min-w-36"},pf={class:"relative"},gf=["value"],vf={key:3,class:"flex items-center gap-2"},hf={class:"flex items-center gap-3 ml-auto"},bf={key:2},yf={class:"grid grid-cols-1 lg:grid-cols-3 gap-6"},xf={class:"flex items-center justify-between"},kf={class:"flex items-center gap-3"},wf={class:"relative flex-1"},Cf=["model-value","placeholder","onInput"],Bf={class:"relative flex-1"},Vf=["model-value","placeholder","onInput"],Sf=["onClick"],Ef={class:"flex items-center justify-between"},Nf={class:"flex items-center gap-3"},$f={class:"relative flex-1"},zf=["model-value","placeholder","step","onInput"],Df={class:"relative flex-1"},Tf=["model-value","placeholder","step","onInput"],Af=["onClick"],Ff={class:"flex items-center justify-between"},Pf={class:"relative"},Lf={value:""},jf=["value"],Mf={key:0,class:"flex flex-wrap gap-2 mt-2"},If=["onClick"],Of={class:"flex items-center gap-3 flex-wrap"},Rf=["onClick"],_f={key:2,class:"px-6 py-3 bg-gray-50 border-t border-gray-200"},Uf={class:"flex items-center justify-between"},qf={class:"flex items-center gap-4"},Hf={class:"text-sm text-gray-600"},Wf={class:"font-medium"},Io={__name:"DataTableFilters",props:{searchQuery:{type:String,default:""},searchPlaceholder:{type:String,default:"Search..."},selectedStatus:{type:String,default:""},statusOptions:{type:Array,default:()=>[]},showDateFilter:{type:Boolean,default:!1},dateFrom:{type:String,default:""},dateTo:{type:String,default:""},selectFilters:{type:Array,default:()=>[],validator:t=>t.every(n=>Object.prototype.hasOwnProperty.call(n,"key")&&Object.prototype.hasOwnProperty.call(n,"label")&&Object.prototype.hasOwnProperty.call(n,"options")&&Object.prototype.hasOwnProperty.call(n,"value"))},dateFilters:{type:Array,default:()=>[],validator:t=>t.every(n=>Object.prototype.hasOwnProperty.call(n,"key")&&Object.prototype.hasOwnProperty.call(n,"label")&&Object.prototype.hasOwnProperty.call(n,"from")&&Object.prototype.hasOwnProperty.call(n,"to"))},numberFilters:{type:Array,default:()=>[],validator:t=>t.every(n=>Object.prototype.hasOwnProperty.call(n,"key")&&Object.prototype.hasOwnProperty.call(n,"label")&&Object.prototype.hasOwnProperty.call(n,"min")&&Object.prototype.hasOwnProperty.call(n,"max"))},multiSelectFilters:{type:Array,default:()=>[],validator:t=>t.every(n=>Object.prototype.hasOwnProperty.call(n,"key")&&Object.prototype.hasOwnProperty.call(n,"label")&&Object.prototype.hasOwnProperty.call(n,"options")&&Object.prototype.hasOwnProperty.call(n,"selected"))},showExport:{type:Boolean,default:!1},showAdd:{type:Boolean,default:!1},addButton:{type:Object,default:()=>({})},showTableInfo:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},showFilters:{type:Boolean,default:!0},totalItems:{type:Number,default:0},itemLabel:{type:String,default:"items"},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:searchQuery","update:selectedStatus","update:dateFrom","update:dateTo","update:dateFilters","update:selectFilters","update:numberFilters","update:multiSelectFilters","export","add","clear-filters","add-button-click"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=e.computed(()=>Object.keys(a.addButton).length>0),s=e.computed(()=>l.value?a.addButton.visible&&typeof a.addButton.visible=="function"?a.addButton.visible():!0:a.showAdd),u=e.computed(()=>l.value&&a.addButton.permission&&typeof a.addButton.permission=="function"?a.addButton.permission():!0),m=e.computed(()=>l.value&&a.addButton.disabled&&typeof a.addButton.disabled=="function"?a.addButton.disabled():!1),p=()=>{m.value||!u.value||(o("add"),o("add-button-click",a.addButton),a.addButton.onClick&&typeof a.addButton.onClick=="function"&&a.addButton.onClick())},v=z.cva("flex flex-wrap items-center gap-4",{variants:{variant:{default:"bg-white",minimal:"bg-transparent",bordered:"bg-gray-50"},padding:{compact:"px-4 py-3",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),h=z.cva("border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all text-sm",{variants:{size:{sm:"px-2 py-1.5",md:"px-3 py-2.5",lg:"px-4 py-3"}},defaultVariants:{size:"md"}}),S=z.cva("rounded-lg flex items-center font-medium transition-all",{variants:{variant:{default:"text-gray-700 hover:text-gray-900 border border-gray-200 hover:bg-gray-50 hover:border-gray-300 bg-white",primary:"text-white bg-blue-600 hover:bg-blue-700 border border-blue-600 shadow-sm",success:"text-white bg-green-600 hover:bg-green-700 border border-green-600 shadow-sm",ghost:"text-gray-600 hover:text-gray-800 hover:bg-gray-100"},size:{sm:"px-2 py-1.5 text-xs",md:"px-3 py-2 text-sm",lg:"px-4 py-2.5 text-sm"}},defaultVariants:{variant:"default",size:"md"}}),b=(T,V)=>{const B=a.selectFilters.map(A=>A.key===T?{...A,value:V}:A);o("update:selectFilters",B)},y=T=>!!(T.from||T.to),f=T=>{const V=a.dateFilters.map(B=>B.key===T?{...B,from:"",to:""}:B);o("update:dateFilters",V)},d=T=>`text-xs px-2 py-1 rounded ${y(T)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,i=(T,V,B)=>{const A=a.dateFilters.map(Y=>Y.key===T?{...Y,[V]:B}:Y);o("update:dateFilters",A)},c=T=>!!(T.min||T.max),g=T=>{const V=a.numberFilters.map(B=>B.key===T?{...B,min:"",max:""}:B);o("update:numberFilters",V)},w=T=>`text-xs px-2 py-1 rounded ${c(T)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,x=(T,V,B)=>{const A=a.numberFilters.map(Y=>Y.key===T?{...Y,[V]:B}:Y);o("update:numberFilters",A)},F=T=>T.selected&&T.selected.length>0,L=T=>`text-xs px-2 py-1 rounded ${F(T)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,H=(T,V)=>{if(!V)return;const B=a.multiSelectFilters.map(A=>{if(A.key===T){const Y=A.selected||[],Te=Y.includes(V);return{...A,selected:Te?Y.filter(ht=>ht!==V):[...Y,V]}}return A});o("update:multiSelectFilters",B)},_=(T,V)=>{const B=a.multiSelectFilters.map(A=>A.key===T?{...A,selected:A.selected.filter(Y=>Y!==V)}:A);o("update:multiSelectFilters",B)},E=(T,V)=>{const B=T.options.find(A=>A.value===V);return B?B.label:V},I=()=>{r.value=!r.value},M=e.computed(()=>a.numberFilters.length>0||a.multiSelectFilters.length>0),C=e.computed(()=>{const T=a.searchQuery,V=a.selectedStatus,B=a.dateFrom||a.dateTo,A=a.selectFilters.some(ce=>ce.value),Y=a.dateFilters.some(ce=>ce.from||ce.to),Te=a.numberFilters.some(ce=>ce.min||ce.max),ht=a.multiSelectFilters.some(ce=>ce.selected&&ce.selected.length>0);return T||V||B||A||Y||Te||ht}),N=e.computed(()=>{let T=0;return a.searchQuery&&T++,a.selectedStatus&&T++,(a.dateFrom||a.dateTo)&&T++,T+=a.selectFilters.filter(V=>V.value).length,T+=a.dateFilters.filter(V=>V.from||V.to).length,T+=a.numberFilters.filter(V=>V.min||V.max).length,T+=a.multiSelectFilters.filter(V=>V.selected&&V.selected.length>0).length,T}),P=e.computed(()=>{const T=[];if(a.searchQuery&&a.searchQuery.trim()&&T.push({key:"search",label:"Search",value:`"${a.searchQuery}"`,icon:"magnifying-glass"}),a.selectedStatus){const V=a.statusOptions.find(B=>B.value===a.selectedStatus);T.push({key:"status",label:"Status",value:V?.label||a.selectedStatus,icon:"filter"})}if(a.selectFilters.forEach(V=>{if(V.value){const B=V.options.find(A=>A.value===V.value);T.push({key:`select-${V.key}`,label:V.label,value:B?.label||V.value,icon:"filter"})}}),a.dateFrom||a.dateTo){let V="";a.dateFrom&&a.dateTo?V=`${a.dateFrom} to ${a.dateTo}`:a.dateFrom?V=`From ${a.dateFrom}`:a.dateTo&&(V=`Until ${a.dateTo}`),V&&T.push({key:"date",label:"Date Range",value:V,icon:"calendar"})}return a.dateFilters.forEach(V=>{if(V.from||V.to){let B="";V.from&&V.to?B=`${V.from} to ${V.to}`:V.from?B=`From ${V.from}`:V.to&&(B=`Until ${V.to}`),B&&T.push({key:`date-${V.key}`,label:V.label,value:B,icon:"calendar"})}}),a.numberFilters.forEach(V=>{if(V.min||V.max){let B="";V.min&&V.max?B=`${V.min} to ${V.max}`:V.min?B=`Min ${V.min}`:V.max&&(B=`Max ${V.max}`),B&&T.push({key:`number-${V.key}`,label:V.label,value:B,icon:"hashtag"})}}),a.multiSelectFilters.forEach(V=>{if(V.selected&&V.selected.length>0){const B=V.selected.map(A=>{const Y=V.options.find(Te=>Te.value===A);return Y?Y.label:A});T.push({key:`multi-${V.key}`,label:V.label,value:B.join(", "),icon:"list"})}}),T}),W=e.computed(()=>k(v({variant:a.variant,padding:a.padding}))),U=e.computed(()=>"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 group-hover:text-gray-600 transition-colors"),re=e.computed(()=>k(h({size:"md"}),"w-full pl-10 pr-10 hover:border-gray-300")),pt=e.computed(()=>"absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-gray-600 p-1 hover:bg-gray-100 rounded-full transition-all"),$e=e.computed(()=>k(h({size:"md"}),"w-full pr-8 appearance-none hover:border-gray-300")),gt=e.computed(()=>{const T=r.value||C.value;return k(S({variant:T?"primary":"default",size:"lg"}),"gap-2")}),vt=e.computed(()=>"bg-white text-blue-600 text-xs px-1.5 py-0.5 rounded-full min-w-[20px] text-center font-semibold"),He=e.computed(()=>"px-6 py-4 border-t border-gray-100 bg-gray-50"),xe=e.computed(()=>k(h({size:"md"}),"pl-10 pr-3")),ze=e.computed(()=>"text-sm font-semibold text-gray-700"),De=e.computed(()=>"text-gray-500 text-sm font-medium"),D=e.computed(()=>"text-gray-400 hover:text-gray-600 p-1.5 hover:bg-gray-200 rounded-full transition-all"),R=e.computed(()=>k(S({variant:"ghost",size:"md"}))),G=e.computed(()=>k(S({variant:"default",size:"lg"}))),te=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),ae=e.computed(()=>"text-sm font-semibold text-blue-800"),Q=e.computed(()=>"flex items-center gap-1.5 bg-white border border-blue-200 text-blue-800 px-3 py-1.5 rounded-full text-sm font-medium"),ca=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),Jo=()=>{o("update:searchQuery",""),o("update:selectedStatus",""),o("update:dateFrom",""),o("update:dateTo","");const T=a.selectFilters.map(Y=>({...Y,value:""}));o("update:selectFilters",T);const V=a.dateFilters.map(Y=>({...Y,from:"",to:""}));o("update:dateFilters",V);const B=a.numberFilters.map(Y=>({...Y,min:"",max:""}));o("update:numberFilters",B);const A=a.multiSelectFilters.map(Y=>({...Y,selected:[]}));o("update:multiSelectFilters",A),o("clear-filters")},Zo=T=>{switch(T){case"search":o("update:searchQuery","");break;case"status":o("update:selectedStatus","");break;case"date":o("update:dateFrom",""),o("update:dateTo","");break;default:if(T.startsWith("select-")){const V=T.replace("select-",""),B=a.selectFilters.map(A=>A.key===V?{...A,value:""}:A);o("update:selectFilters",B)}else if(T.startsWith("date-")){const V=T.replace("date-",""),B=a.dateFilters.map(A=>A.key===V?{...A,from:"",to:""}:A);o("update:dateFilters",B)}else if(T.startsWith("number-")){const V=T.replace("number-",""),B=a.numberFilters.map(A=>A.key===V?{...A,min:"",max:""}:A);o("update:numberFilters",B)}else if(T.startsWith("multi-")){const V=T.replace("multi-",""),B=a.multiSelectFilters.map(A=>A.key===V?{...A,selected:[]}:A);o("update:multiSelectFilters",B)}break}};return(T,V)=>(e.openBlock(),e.createElementBlock("div",rf,[e.createElementVNode("div",{class:e.normalizeClass(W.value)},[t.showSearch?(e.openBlock(),e.createElementBlock("div",lf,[e.createElementVNode("div",sf,[e.createVNode(j,{icon:"magnifying-glass",class:e.normalizeClass(U.value)},null,8,["class"]),e.createElementVNode("input",{"model-value":t.searchQuery,placeholder:t.searchPlaceholder,class:e.normalizeClass(re.value),onInput:V[0]||(V[0]=B=>T.$emit("update:searchQuery",B.target.value))},null,42,cf),t.searchQuery?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(pt.value),onClick:V[1]||(V[1]=B=>T.$emit("update:searchQuery",""))},[e.createVNode(j,{icon:"xmark",class:"w-3 h-3"})],2)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.selectFilters,B=>(e.openBlock(),e.createElementBlock("div",{key:B.key,class:"min-w-36"},[e.createElementVNode("div",df,[e.createVNode(ue,{"model-value":B.value,class:e.normalizeClass($e.value),onChange:A=>b(B.key,A.target.value)},{default:e.withCtx(()=>[e.createElementVNode("option",uf,e.toDisplayString(B.placeholder||`All ${B.label}`),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.options,A=>(e.openBlock(),e.createElementBlock("option",{key:A.value,value:A.value},e.toDisplayString(A.label),9,mf))),128))]),_:2},1032,["model-value","class","onChange"]),e.createVNode(j,{icon:"chevron-down",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})])]))),128)),t.showFilters&&t.statusOptions.length>0?(e.openBlock(),e.createElementBlock("div",ff,[e.createElementVNode("div",pf,[e.createVNode(ue,{"model-value":t.selectedStatus,class:e.normalizeClass($e.value),onChange:V[2]||(V[2]=B=>T.$emit("update:selectedStatus",B.target.value))},{default:e.withCtx(()=>[V[5]||(V[5]=e.createElementVNode("option",{value:""}," All Status ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.statusOptions,B=>(e.openBlock(),e.createElementBlock("option",{key:B.value,value:B.value},e.toDisplayString(B.label),9,gf))),128))]),_:1},8,["model-value","class"]),e.createVNode(j,{icon:"chevron-down",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})])])):e.createCommentVNode("",!0),t.showFilters&&(t.dateFilters.length>0||M.value)?(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass(gt.value),onClick:I},[e.createVNode(j,{icon:"filter",class:"w-4 h-4"}),V[6]||(V[6]=e.createTextVNode(" Filters ",-1)),N.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(vt.value)},e.toDisplayString(N.value),3)):e.createCommentVNode("",!0),e.createVNode(j,{icon:r.value?"chevron-up":"chevron-down",class:"w-4 h-4 ml-1"},null,8,["icon"])],2)):e.createCommentVNode("",!0),T.$slots.filters?(e.openBlock(),e.createElementBlock("div",vf,[e.renderSlot(T.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",hf,[C.value?(e.openBlock(),e.createBlock(J,{key:0,class:e.normalizeClass(R.value),onClick:Jo},{default:e.withCtx(()=>[e.createVNode(j,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),V[7]||(V[7]=e.createTextVNode(" Clear All ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(J,{key:1,class:e.normalizeClass(G.value),onClick:V[3]||(V[3]=B=>T.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(j,{icon:"download",class:"w-4 h-4 mr-2"}),V[8]||(V[8]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showAdd&&s.value?(e.openBlock(),e.createElementBlock("div",bf,[l.value?(e.openBlock(),e.createBlock(J,{key:0,variant:t.addButton.variant||"success",size:t.addButton.size||"lg",disabled:m.value||!u.value,title:t.addButton.tooltip,onClick:p},{default:e.withCtx(()=>[t.addButton.icon?(e.openBlock(),e.createBlock(j,{key:0,icon:t.addButton.icon,class:"w-4 h-4 mr-2"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.addButton.label||"Add"),1)]),_:1},8,["variant","size","disabled","title"])):e.renderSlot(T.$slots,"add",{key:1},()=>[e.createVNode(J,{variant:"success",size:"lg",onClick:V[4]||(V[4]=B=>T.$emit("add"))},{default:e.withCtx(()=>[e.createVNode(j,{icon:"plus",class:"w-4 h-4 mr-2"}),V[9]||(V[9]=e.createTextVNode(" Add ",-1))]),_:1})])])):e.createCommentVNode("",!0)])],2),t.showFilters&&r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(He.value)},[e.createElementVNode("div",yf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dateFilters,B=>(e.openBlock(),e.createElementBlock("div",{key:B.key,class:"space-y-3"},[e.createElementVNode("div",xf,[e.createElementVNode("label",{class:e.normalizeClass(ze.value)},e.toDisplayString(B.label),3),e.createElementVNode("span",{class:e.normalizeClass(d(B))},e.toDisplayString(y(B)?"Active":"Inactive"),3)]),e.createElementVNode("div",kf,[e.createElementVNode("div",wf,[e.createVNode(j,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":B.from,class:e.normalizeClass(xe.value),placeholder:`From ${B.label}`,onInput:A=>i(B.key,"from",A.target.value)},null,42,Cf)]),e.createElementVNode("span",{class:e.normalizeClass(De.value)},"to",2),e.createElementVNode("div",Bf,[e.createVNode(j,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":B.to,class:e.normalizeClass(xe.value),placeholder:`To ${B.label}`,onInput:A=>i(B.key,"to",A.target.value)},null,42,Vf)]),y(B)?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(D.value),title:"Clear this filter",onClick:A=>f(B.key)},[e.createVNode(j,{icon:"xmark",class:"w-4 h-4"})],10,Sf)):e.createCommentVNode("",!0)])]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.numberFilters,B=>(e.openBlock(),e.createElementBlock("div",{key:B.key,class:"space-y-3"},[e.createElementVNode("div",Ef,[e.createElementVNode("label",{class:e.normalizeClass(ze.value)},e.toDisplayString(B.label),3),e.createElementVNode("span",{class:e.normalizeClass(w(B))},e.toDisplayString(c(B)?"Active":"Inactive"),3)]),e.createElementVNode("div",Nf,[e.createElementVNode("div",$f,[e.createElementVNode("input",{type:"number","model-value":B.min,class:e.normalizeClass(xe.value),placeholder:`Min ${B.label}`,step:B.step||1,onInput:A=>x(B.key,"min",A.target.value)},null,42,zf)]),e.createElementVNode("span",{class:e.normalizeClass(De.value)},"to",2),e.createElementVNode("div",Df,[e.createElementVNode("input",{type:"number","model-value":B.max,class:e.normalizeClass(xe.value),placeholder:`Max ${B.label}`,step:B.step||1,onInput:A=>x(B.key,"max",A.target.value)},null,42,Tf)]),c(B)?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(D.value),title:"Clear this filter",onClick:A=>g(B.key)},[e.createVNode(j,{icon:"xmark",class:"w-4 h-4"})],10,Af)):e.createCommentVNode("",!0)])]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.multiSelectFilters,B=>(e.openBlock(),e.createElementBlock("div",{key:B.key,class:"space-y-3"},[e.createElementVNode("div",Ff,[e.createElementVNode("label",{class:e.normalizeClass(ze.value)},e.toDisplayString(B.label),3),e.createElementVNode("span",{class:e.normalizeClass(L(B))},e.toDisplayString(F(B)?`${B.selected.length} selected`:"None"),3)]),e.createElementVNode("div",Pf,[e.createVNode(ue,{"model-value":"",class:e.normalizeClass($e.value),onChange:A=>H(B.key,A.target.value)},{default:e.withCtx(()=>[e.createElementVNode("option",Lf," Select "+e.toDisplayString(B.label),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.options,A=>(e.openBlock(),e.createElementBlock("option",{key:A.value,value:A.value},e.toDisplayString(A.label),9,jf))),128))]),_:2},1032,["class","onChange"]),e.createVNode(j,{icon:"chevron-down",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})]),B.selected.length>0?(e.openBlock(),e.createElementBlock("div",Mf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.selected,A=>(e.openBlock(),e.createElementBlock("span",{key:A,class:"inline-flex items-center gap-1 bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full"},[e.createTextVNode(e.toDisplayString(E(B,A))+" ",1),e.createElementVNode("button",{class:"hover:bg-blue-200 rounded-full p-0.5",onClick:Y=>_(B.key,A)},[e.createVNode(j,{icon:"xmark",class:"w-3 h-3"})],8,If)]))),128))])):e.createCommentVNode("",!0)]))),128))])],2)):e.createCommentVNode("",!0),t.showFilters&&P.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(te.value)},[e.createElementVNode("div",Of,[e.createElementVNode("span",{class:e.normalizeClass(ae.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,B=>(e.openBlock(),e.createElementBlock("div",{key:B.key,class:e.normalizeClass(Q.value)},[e.createVNode(j,{icon:B.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(B.label)+": "+e.toDisplayString(B.value),1),e.createElementVNode("button",{class:e.normalizeClass(ca.value),onClick:A=>Zo(B.key)},[e.createVNode(j,{icon:"xmark",class:"w-3 h-3"})],10,Rf)],2))),128))])],2)):e.createCommentVNode("",!0),t.showTableInfo?(e.openBlock(),e.createElementBlock("div",_f,[e.createElementVNode("div",Uf,[e.createElementVNode("div",qf,[e.createElementVNode("span",Hf,[e.createElementVNode("span",Wf,e.toDisplayString(t.totalItems||0),1),e.createTextVNode(" "+e.toDisplayString(t.itemLabel||"items")+" found ",1)])])])])):e.createCommentVNode("",!0)]))}},Yf={class:"flex items-center gap-3"},Gf={key:0,class:"flex items-center gap-3"},Kf={class:"text-sm text-slate-600"},Xf={class:"flex items-center gap-2"},Qf={class:"flex items-center gap-3"},Jf=["title","onClick"],Zf={key:1,class:"relative"},ep={class:"p-3"},tp={class:"space-y-1"},ap={class:"flex items-center gap-2 cursor-pointer w-full"},np=["checked","onChange"],op=["disabled"],rp={key:3,class:"flex items-center gap-2"},lp=[{key:"delete",label:"Delete",icon:{template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" /></svg>'},variant:"danger"},{key:"edit",label:"Edit",icon:{template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10" /></svg>'},variant:"primary"}],sp={name:"DataTableToolBar"},Oo=Object.assign(sp,{props:{selectedItems:{type:Array,default:()=>[]},totalItems:{type:Number,default:0},bulkActions:{type:Array,default:()=>lp},showDensityToggle:{type:Boolean,default:!0},showColumnToggle:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},isRefreshing:{type:Boolean,default:!1},density:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},toggleableColumns:{type:Array,default:()=>[]},visibleColumns:{type:Array,default:()=>[]},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["bulk-action","update:density","toggle-column","refresh"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=e.ref(null),s=e.ref(null),u=e.computed(()=>a.selectedItems.length),m=[{value:"compact",label:"Compact",icon:["fas","minus"]},{value:"normal",label:"Normal",icon:["fas","bars"]},{value:"comfortable",label:"Comfortable",icon:["fas","bars-staggered"]}],p=z.cva("flex items-center justify-between border-b border-slate-200",{variants:{variant:{default:"bg-white",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-50 border-slate-300"},padding:{compact:"p-2",normal:"p-4",comfortable:"p-6"}},defaultVariants:{variant:"default",padding:"normal"}}),v=z.cva("px-3 py-1.5 text-sm font-medium rounded-md flex items-center gap-1 transition-colors",{variants:{variant:{danger:"text-red-700 bg-red-500 hover:bg-red-400 border border-red-200",primary:"text-blue-700 bg-blue-50 hover:bg-blue-100 border border-blue-200",secondary:"text-slate-700 bg-slate-500 hover:bg-slate-400 border border-slate-200"}},defaultVariants:{variant:"secondary"}}),h=z.cva("p-2 border border-slate-300 transition-colors",{variants:{active:{true:"bg-blue-50 text-blue-600 border-blue-300",false:"bg-white text-slate-600 hover:bg-slate-50"},position:{first:"rounded-l-md border-r-0",middle:"border-x-0",last:"rounded-r-md border-l-0"}},defaultVariants:{active:!1,position:"middle"}}),S=z.cva("px-3 py-2 text-sm border border-slate-300 rounded-md flex items-center gap-2 transition-colors",{variants:{state:{normal:"text-slate-600 hover:text-slate-800 hover:bg-slate-50",refreshing:"text-slate-600 opacity-75 cursor-not-allowed"}},defaultVariants:{state:"normal"}}),b=e.computed(()=>k(p({variant:a.variant,padding:a.padding}))),y=e.computed(()=>"text-sm text-slate-600"),f=e.computed(()=>"flex items-center"),d=e.computed(()=>"flex items-center gap-2 px-3 py-2 text-sm text-slate-600 hover:text-slate-800 border border-slate-300 rounded-md hover:bg-slate-50 transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1"),i=e.computed(()=>"absolute right-0 top-full mt-1 w-56 bg-white border border-slate-200 rounded-lg shadow-lg z-50 max-h-64 overflow-y-auto"),c=e.computed(()=>"text-xs font-medium text-slate-500 uppercase tracking-wider mb-2 border-b border-slate-100 pb-2"),g=e.computed(()=>"py-1 hover:bg-slate-50 rounded transition-colors"),w=e.computed(()=>"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 focus:ring-2 focus:ring-offset-1"),x=e.computed(()=>"text-sm text-slate-700 flex-1 select-none"),F=N=>{l.value&&s.value&&!l.value.contains(N.target)&&!s.value.contains(N.target)&&(r.value=!1)},L=()=>{r.value=!r.value},H=N=>k(v({variant:N.variant||"secondary"})),_=N=>{let P="middle";return N==="compact"?P="first":N==="comfortable"&&(P="last"),k(h({active:a.density===N,position:P}))},E=()=>k(S({state:a.isRefreshing?"refreshing":"normal"})),I=()=>k("w-4 h-4",{"animate-spin":a.isRefreshing}),M=N=>a.visibleColumns.includes(N),C=(N,P)=>{o("toggle-column",{column:N,visible:P})};return e.onMounted(()=>{document.addEventListener("click",F)}),e.onUnmounted(()=>{document.removeEventListener("click",F)}),(N,P)=>{const W=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(b.value)},[e.createElementVNode("div",Yf,[u.value>0?(e.openBlock(),e.createElementBlock("div",Gf,[e.createElementVNode("span",Kf,e.toDisplayString(u.value)+" selected ",1),e.createElementVNode("div",Xf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bulkActions,U=>(e.openBlock(),e.createBlock(J,{key:U.key,class:e.normalizeClass(H(U)),onClick:re=>N.$emit("bulk-action",{action:U.key,items:t.selectedItems})},{default:e.withCtx(()=>[U.icon?(e.openBlock(),e.createBlock(W,{key:0,icon:U.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(U.label),1)]),_:2},1032,["class","onClick"]))),128))])])):t.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(y.value)},e.toDisplayString(t.totalItems)+" "+e.toDisplayString(t.totalItems===1?"item":"items"),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Qf,[t.showDensityToggle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(f.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(m,U=>e.createElementVNode("button",{key:U.value,class:e.normalizeClass(_(U.value)),title:U.label,type:"button",onClick:re=>N.$emit("update:density",U.value)},[e.createVNode(W,{icon:U.icon,class:"w-4 h-4"},null,8,["icon"])],10,Jf)),64))],2)):e.createCommentVNode("",!0),t.showColumnToggle?(e.openBlock(),e.createElementBlock("div",Zf,[e.createElementVNode("button",{ref_key:"columnToggleButton",ref:l,class:e.normalizeClass(d.value),type:"button",onClick:e.withModifiers(L,["stop"])},[e.createVNode(W,{icon:"columns",class:"w-4 h-4"}),P[2]||(P[2]=e.createElementVNode("span",null,"Columns",-1))],2),e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:s,class:e.normalizeClass(i.value),onClick:P[0]||(P[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",ep,[e.createElementVNode("div",{class:e.normalizeClass(c.value)}," Show Columns ",2),e.createElementVNode("div",tp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toggleableColumns,U=>(e.openBlock(),e.createElementBlock("div",{key:U.key,class:e.normalizeClass(g.value)},[e.createElementVNode("label",ap,[e.createElementVNode("input",{type:"checkbox",checked:M(U.key),class:e.normalizeClass(w.value),onChange:re=>C(U.key,re.target.checked)},null,42,np),e.createElementVNode("span",{class:e.normalizeClass(x.value)},e.toDisplayString(U.label),3)])],2))),128))])])],2),[[e.vShow,r.value]])])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:t.isRefreshing,class:e.normalizeClass(E()),type:"button",onClick:P[1]||(P[1]=U=>N.$emit("refresh"))},[e.createVNode(W,{icon:"sync",class:e.normalizeClass(I())},null,8,["class"]),P[3]||(P[3]=e.createElementVNode("span",null,"Refresh",-1))],10,op)):e.createCommentVNode("",!0),N.$slots.actions?(e.openBlock(),e.createElementBlock("div",rp,[e.renderSlot(N.$slots,"actions")])):e.createCommentVNode("",!0)])],2)}}}),ip={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"},cp={class:"grid grid-cols-1 md:grid-cols-4 gap-8"},dp={class:"col-span-1 md:col-span-2"},up={class:"space-y-2"},mp={class:"flex space-x-4"},fp={class:"flex flex-col md:flex-row justify-between items-center"},pp={class:"flex space-x-6 mt-4 md:mt-0"},Ro={__name:"Footer",props:{className:{type:String,default:""}},setup(t){return(n,a)=>{const o=e.resolveComponent("Logo"),r=e.resolveComponent("Text"),l=e.resolveComponent("Typography"),s=e.resolveComponent("Link"),u=e.resolveComponent("Icon"),m=e.resolveComponent("Divider");return e.openBlock(),e.createElementBlock("footer",{class:e.normalizeClass(e.unref(k)("bg-gray-50 border-t border-gray-200",t.className))},[e.createElementVNode("div",ip,[e.createElementVNode("div",cp,[e.createElementVNode("div",dp,[e.renderSlot(n.$slots,"brand",{},()=>[e.createVNode(o,{class:"mb-4"}),e.createVNode(r,{class:"text-gray-600 max-w-md"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" Building beautiful applications with modern Vue.js components. ",-1)])]),_:1})])]),e.createElementVNode("div",null,[e.renderSlot(n.$slots,"links",{},()=>[e.createVNode(l,{variant:"h6",class:"mb-4"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode(" Quick Links ",-1)])]),_:1}),e.createElementVNode("div",up,[e.createVNode(s,{href:"#",class:"block text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" About ",-1)])]),_:1}),e.createVNode(s,{href:"#",class:"block text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[3]||(a[3]=[e.createTextVNode(" Services ",-1)])]),_:1}),e.createVNode(s,{href:"#",class:"block text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[4]||(a[4]=[e.createTextVNode(" Contact ",-1)])]),_:1})])])]),e.createElementVNode("div",null,[e.renderSlot(n.$slots,"social",{},()=>[e.createVNode(l,{variant:"h6",class:"mb-4"},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode(" Follow Us ",-1)])]),_:1}),e.createElementVNode("div",mp,[e.createVNode(s,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[e.createVNode(u,{name:"twitter",class:"h-5 w-5"})]),_:1}),e.createVNode(s,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[e.createVNode(u,{name:"github",class:"h-5 w-5"})]),_:1})])])])]),e.createVNode(m,{class:"my-8"}),e.createElementVNode("div",fp,[e.renderSlot(n.$slots,"copyright",{},()=>[e.createVNode(r,{class:"text-gray-600"},{default:e.withCtx(()=>[e.createTextVNode(" © "+e.toDisplayString(new Date().getFullYear())+" Your Company. All rights reserved. ",1)]),_:1})]),e.renderSlot(n.$slots,"legal",{},()=>[e.createElementVNode("div",pp,[e.createVNode(s,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[6]||(a[6]=[e.createTextVNode(" Privacy ",-1)])]),_:1}),e.createVNode(s,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[7]||(a[7]=[e.createTextVNode(" Terms ",-1)])]),_:1})])])])])],2)}}},gp={class:"flex items-center justify-between h-16 px-4 md:px-6"},vp={class:"flex items-center"},hp={key:0,class:"mr-4 flex-shrink-0 bg-gradient-to-r from-blue-50 to-indigo-50 px-3 py-2 rounded-lg border border-blue-100"},bp={class:"text-lg font-bold text-blue-900 truncate max-w-[200px]"},yp={key:0,class:"text-xs text-blue-600 truncate font-medium"},xp={class:"hidden md:flex items-center space-x-2 text-sm truncate"},kp={class:"text-gray-500 truncate"},wp={class:"text-gray-900 font-medium truncate"},Cp={class:"flex items-center space-x-3 md:space-x-4"},Bp={key:1,class:"relative"},Vp={key:0,class:"absolute -top-1 -right-1 w-4 h-4 bg-red-500 text-white text-xs rounded-full flex items-center justify-center"},Sp={key:0,class:"absolute right-4 md:right-6 top-16 mt-2 w-72 md:w-80 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},Ep={class:"max-h-96 overflow-y-auto"},Np={class:"flex items-start space-x-3"},$p={class:"flex-1"},zp={class:"text-sm text-gray-900"},Dp={class:"text-xs text-gray-500 mt-1"},Tp={class:"relative"},Ap={class:"w-8 h-8 bg-gradient-to-br from-blue-100 to-indigo-100 rounded-full flex items-center justify-center transition-colors shadow-sm"},Fp={class:"text-blue-700 text-sm font-medium"},Pp={class:"hidden md:block text-left max-w-[160px] truncate"},Lp={class:"text-sm font-medium text-gray-900 truncate"},jp={class:"text-xs text-gray-500 truncate leading-tight"},Mp={key:0,class:"absolute right-0 mt-2 w-58 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},Ip={class:"p-4 border-b border-gray-200"},Op={class:"text-sm font-medium text-gray-900"},Rp={class:"text-xs text-gray-500"},_p={class:"py-2"},Up={key:0,class:"absolute left-0 top-1/2 transform -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-blue-600 rounded-r-full"},qp=["onClick"],Hp={class:"flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2 bg-gray-100 text-gray-600 group-hover:bg-gray-200"},Wp={class:"flex-1 truncate font-semibold text-gray-700"},_o={__name:"Header",props:{sidebarWidth:{type:Number,default:256},currentSection:{type:String,default:"Dashboard"},currentPage:{type:String,default:"Overview"},currentRoute:{type:String,default:""},user:{type:Object,required:!0},notifications:{type:Array,default:()=>[]},profileMenuItems:{type:Array,required:!0},mobileOpen:{type:Boolean,default:!1},currentOrganisation:{type:Object,default:null},companyLogo:{type:String,default:""}},emits:["search","profile-action","logout","navigate","toggle-mobile-sidebar"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(""),l=e.ref(!1),s=e.ref(!1),u=e.ref(a.notifications.length),m=e.ref(!1),p=e.ref(!1),v=e.computed(()=>(a.user?.name||"Guest").split(" ").map(x=>x[0]||"").join("").toUpperCase()),h=e.computed(()=>a.user?.roles?.length?a.user.roles.map(w=>w.name).join(", "):"No role"),S=()=>{l.value=!l.value,s.value=!1},b=()=>{s.value=!s.value,l.value=!1},y=w=>{o("navigate",w),s.value=!1},f=w=>w.route?!!(a.currentRoute===w.route||a.currentRoute.startsWith(w.route+"/")):!1,d=w=>{o("profile-action",w),s.value=!1},i=()=>{o("logout"),s.value=!1},c=w=>{!w.target.closest(".absolute")&&!w.target.closest("button")&&(l.value=!1,s.value=!1)},g=()=>{p.value=window.innerWidth<768};return e.onMounted(()=>{document.addEventListener("click",c),g(),window.addEventListener("resize",g)}),e.onUnmounted(()=>{document.removeEventListener("click",c),window.removeEventListener("resize",g)}),e.watch(r,w=>o("search",w)),(w,x)=>{const F=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(k)("fixed top-0 z-50 bg-white border-b border-gray-200 transition-all duration-300 ease-in-out w-full")),style:{left:"0"}},[e.createElementVNode("div",gp,[e.createElementVNode("div",vp,[t.currentOrganisation?(e.openBlock(),e.createElementBlock("div",hp,[e.createElementVNode("p",bp,e.toDisplayString(t.currentOrganisation.organisation_name),1),t.currentOrganisation.role?(e.openBlock(),e.createElementBlock("p",yp,e.toDisplayString(t.currentOrganisation.role),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("nav",xp,[e.createElementVNode("span",kp,e.toDisplayString(t.currentSection),1),x[4]||(x[4]=e.createElementVNode("svg",{class:"w-4 h-4 text-gray-400 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"})],-1)),e.createElementVNode("span",wp,e.toDisplayString(t.currentPage),1)])]),e.createElementVNode("div",Cp,[p.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors",onClick:x[0]||(x[0]=L=>o("toggle-mobile-sidebar"))},[...x[5]||(x[5]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])])):e.createCommentVNode("",!0),!p.value||m.value?(e.openBlock(),e.createElementBlock("div",Bp,[x[6]||(x[6]=e.createElementVNode("div",{class:"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none"},[e.createElementVNode("svg",{class:"w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})])],-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":x[1]||(x[1]=L=>r.value=L),type:"text",placeholder:"Search...",class:"pl-10 pr-4 py-2 w-48 md:w-64 text-sm border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none"},null,512),[[e.vModelText,r.value]]),p.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",onClick:x[2]||(x[2]=L=>m.value=!1)}," ✕ ")):e.createCommentVNode("",!0)])):p.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:"p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors",onClick:x[3]||(x[3]=L=>m.value=!0)},[...x[7]||(x[7]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)])])):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"relative p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors",onClick:S},[x[8]||(x[8]=e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 17h5l-5 5v-5z"}),e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 3h2.586a1 1 0 01.707.293l6.414 6.414a1 1 0 01.293.707V19a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h4L13 3z"})],-1)),u.value>0?(e.openBlock(),e.createElementBlock("span",Vp,e.toDisplayString(u.value),1)):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-300 ease-in","enter-from-class":"opacity-0 translate-y-2 scale-95","enter-to-class":"opacity-100 translate-y-0 scale-100","leave-from-class":"opacity-100 translate-y-0 scale-100","leave-to-class":"opacity-0 translate-y-2 scale-95"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",Sp,[x[10]||(x[10]=e.createElementVNode("div",{class:"p-4 border-b border-gray-200"},[e.createElementVNode("h3",{class:"text-lg font-semibold text-gray-900"}," Notifications ")],-1)),e.createElementVNode("div",Ep,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.notifications,L=>(e.openBlock(),e.createElementBlock("div",{key:L.id,class:"p-4 border-b border-gray-100 hover:bg-gray-50 cursor-pointer"},[e.createElementVNode("div",Np,[x[9]||(x[9]=e.createElementVNode("div",{class:"flex-shrink-0 w-2 h-2 mt-2 bg-blue-500 rounded-full"},null,-1)),e.createElementVNode("div",$p,[e.createElementVNode("p",zp,e.toDisplayString(L.title),1),e.createElementVNode("p",Dp,e.toDisplayString(L.time),1)])])]))),128))]),x[11]||(x[11]=e.createElementVNode("div",{class:"p-4 text-center"},[e.createElementVNode("button",{class:"text-sm text-blue-600 hover:text-blue-800"}," View all notifications ")],-1))])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",Tp,[e.createElementVNode("button",{class:"flex items-center space-x-2 md:space-x-3 p-2 rounded-lg hover:bg-gray-50 transition-colors",onClick:b},[e.createElementVNode("div",Ap,[e.createElementVNode("span",Fp,e.toDisplayString(v.value),1)]),e.createElementVNode("div",Pp,[e.createElementVNode("p",Lp,e.toDisplayString(t.user.name),1),e.createElementVNode("p",jp,e.toDisplayString(h.value),1)]),x[12]||(x[12]=e.createElementVNode("svg",{class:"w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200 ease-out","leave-active-class":"transition-all duration-200 ease-in","enter-from-class":"opacity-0 translate-y-2 scale-95","enter-to-class":"opacity-100 translate-y-0 scale-100","leave-from-class":"opacity-100 translate-y-0 scale-100","leave-to-class":"opacity-0 translate-y-2 scale-95"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",Mp,[e.createElementVNode("div",Ip,[e.createElementVNode("p",Op,e.toDisplayString(t.user.name),1),e.createElementVNode("p",Rp,e.toDisplayString(t.user.email),1)]),e.createElementVNode("div",_p,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.profileMenuItems,L=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:L.name},[L.route?(e.openBlock(),e.createBlock(F,{key:0,to:L.route,class:e.normalizeClass(e.unref(k)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",f(L)?"bg-gradient-to-br from-blue-50 to-blue-100 text-blue-700 shadow-sm border border-blue-200":"text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent")),onClick:H=>y(L)},{default:e.withCtx(()=>[f(L)?(e.openBlock(),e.createElementBlock("div",Up)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",f(L)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"bg-gray-100 text-gray-600 group-hover:bg-gray-200"))},[L.icon?(e.openBlock(),e.createBlock(j,{key:0,icon:L.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(k)("flex-1 truncate font-semibold",f(L)?"text-blue-700":"text-gray-700"))},e.toDisplayString(L.label),3)]),_:2},1032,["to","class","onClick"])):(e.openBlock(),e.createElementBlock("button",{key:1,class:"flex items-center w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent",onClick:H=>d(L)},[e.createElementVNode("div",Hp,[L.icon?(e.openBlock(),e.createBlock(j,{key:0,icon:L.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)]),e.createElementVNode("span",Wp,e.toDisplayString(L.label),1)],8,qp))],64))),128))]),e.createElementVNode("div",{class:"border-t border-gray-200 py-2"},[e.createElementVNode("button",{class:"flex items-center w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative text-red-600 hover:bg-red-50 border border-transparent",onClick:i},[...x[13]||(x[13]=[e.createElementVNode("div",{class:"flex items-center justify-center w-8 h-8 rounded-lg mr-1 flex-shrink-0 transition-colors ml-2 bg-red-100 text-red-600 group-hover:bg-red-200"},[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a2 2 0 013-3h4a3 3 0 013 3v1"})])],-1),e.createElementVNode("span",{class:"truncate font-semibold text-red-600"}," Sign out ",-1)])])])])):e.createCommentVNode("",!0)]),_:1})])])])],2)}}},Yp={class:"relative"},Gp=["id","disabled"],Kp={key:0,class:"text-gray-500"},Xp={key:1,class:"flex flex-wrap gap-1.5"},Qp={class:"px-3 py-2.5 border-b border-gray-200 bg-gray-50"},Jp={key:0,class:"max-h-52 overflow-y-auto py-1"},Zp=["onClick"],eg={class:"flex items-center gap-3"},tg=["checked"],ag={key:1,class:"px-4 py-6 text-sm text-gray-500 text-center"},Uo={__name:"MultiSelect",props:{modelValue:{type:Array,default:()=>[]},options:{type:Array,required:!0,validator:t=>t.every(n=>n.value!==void 0&&n.label)},id:{type:String,default:null},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:"Select options"},hasError:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=e.ref(""),s=e.ref(null),u=e.ref([...a.options]),m=e.ref(null),p=e.ref({}),v=e.computed(()=>a.options.filter(i=>a.modelValue.includes(i.value)).map(i=>i.label)),h=()=>{if(!m.value)return;const i=m.value.getBoundingClientRect(),c=window.innerHeight,g=c-i.bottom,w=320;g<w&&i.top>w?p.value={position:"fixed",bottom:`${c-i.top+4}px`,left:`${i.left}px`,width:`${i.width}px`,zIndex:9999}:p.value={position:"fixed",top:`${i.bottom+4}px`,left:`${i.left}px`,width:`${i.width}px`,zIndex:9999}},S=()=>{a.disabled||(r.value=!r.value,r.value?(h(),e.nextTick(()=>{s.value?.focus()})):(l.value="",u.value=[...a.options]))},b=i=>{let c;a.modelValue.includes(i)?c=a.modelValue.filter(g=>g!==i):c=[...a.modelValue,i],o("update:modelValue",c)},y=()=>{if(!l.value.trim())u.value=[...a.options];else{const i=l.value.toLowerCase();u.value=a.options.filter(c=>c.label.toLowerCase().includes(i))}},f=i=>{i.key==="Escape"&&(r.value=!1,l.value="",u.value=[...a.options])},d=i=>{if(!m.value)return;const c=i.target;c&&!m.value.contains(c)&&!c.closest("[data-multiselect-dropdown]")&&(r.value=!1,l.value="",u.value=[...a.options])};return e.onMounted(()=>{document.addEventListener("click",d),window.addEventListener("scroll",h,!0),window.addEventListener("resize",h)}),e.onUnmounted(()=>{document.removeEventListener("click",d),window.removeEventListener("scroll",h,!0),window.removeEventListener("resize",h)}),e.watch(()=>a.options,i=>{u.value=[...i]},{immediate:!0}),e.watch(r,i=>{i&&h()}),(i,c)=>(e.openBlock(),e.createElementBlock("div",Yp,[e.createElementVNode("button",{ref_key:"buttonRef",ref:m,type:"button",id:t.id,disabled:t.disabled,class:e.normalizeClass(["w-full px-3 py-2.5 text-left border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 bg-white min-h-[42px]",t.hasError?"border-red-500":"border-slate-300",t.disabled?"bg-gray-100 cursor-not-allowed opacity-50":"hover:border-slate-400"]),onClick:S,onKeydown:f},[v.value.length===0?(e.openBlock(),e.createElementBlock("div",Kp,e.toDisplayString(t.placeholder||"Select options"),1)):(e.openBlock(),e.createElementBlock("div",Xp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,g=>(e.openBlock(),e.createBlock(aa,{key:g,variant:"primary",size:"sm"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g),1)]),_:2},1024))),128))])),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(["absolute right-3 top-1/2 -translate-y-1/2 h-5 w-5 text-gray-400 pointer-events-none transition-transform duration-200",{"rotate-180":r.value}]),fill:"currentColor",viewBox:"0 0 20 20"},[...c[2]||(c[2]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z","clip-rule":"evenodd"},null,-1)])],2))],42,Gp),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(p.value),"data-multiselect-dropdown":"",class:"bg-white shadow-lg max-h-72 rounded-md text-base ring-1 ring-black ring-opacity-5 overflow-hidden focus:outline-none"},[e.createElementVNode("div",Qp,[e.withDirectives(e.createElementVNode("input",{ref_key:"searchInput",ref:s,"onUpdate:modelValue":c[0]||(c[0]=g=>l.value=g),type:"text",placeholder:"Search options...",class:"w-full px-3 py-2 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent bg-white",onInput:y,onKeydown:c[1]||(c[1]=e.withModifiers(()=>{},["stop"]))},null,544),[[e.vModelText,l.value]])]),u.value.length>0?(e.openBlock(),e.createElementBlock("div",Jp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,g=>(e.openBlock(),e.createElementBlock("button",{key:g.value,type:"button",class:e.normalizeClass(["cursor-pointer select-none relative py-2.5 pl-3 pr-9 w-full text-left hover:bg-blue-50 focus:bg-blue-50 focus:outline-none transition-colors duration-150",{"bg-blue-50":t.modelValue.includes(g.value)}]),onClick:w=>b(g.value)},[e.createElementVNode("div",eg,[e.createElementVNode("input",{type:"checkbox",checked:t.modelValue.includes(g.value),class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded cursor-pointer pointer-events-none",readonly:"",tabindex:"-1"},null,8,tg),e.createElementVNode("span",{class:e.normalizeClass(["block font-normal truncate",{"text-blue-900 font-medium":t.modelValue.includes(g.value)}])},e.toDisplayString(g.label),3)])],10,Zp))),128))])):(e.openBlock(),e.createElementBlock("div",ag," No options found "))],4)):e.createCommentVNode("",!0)]),_:1})]))]))}},ng={class:"mb-6"},og={class:"text-xl font-semibold text-gray-900"},rg={class:"text-sm text-gray-600 mt-1"},lg=["onUpdate:modelValue"],sg={key:4,class:"flex items-center"},ig={key:5,class:"flex items-center"},cg=["id","aria-checked","disabled","onClick"],dg={key:6,class:"space-y-2"},ug={key:7,class:"space-y-2"},mg={key:0,class:"text-xs text-gray-500"},fg={key:9,class:"space-y-2"},pg={class:"flex items-center gap-4"},gg={class:"text-sm font-medium text-gray-700 min-w-[3rem] text-right"},vg={class:"flex justify-end gap-3 pt-6"},qo={__name:"ReusableFormModal",props:{modelValue:{type:Boolean,default:!1},modalType:{type:String,required:!0,validator:t=>["create","edit"].includes(t)},entityName:{type:String,default:"Item"},fields:{type:Array,required:!0,validator:t=>t.every(n=>n.name&&n.label&&n.type&&["text","number","password","textarea","select","checkbox","slider","date","color","email","tel","url","time","datetime-local","month","week","file","radio","switch","range","search","hidden","multiselect"].includes(n.type))},initialData:{type:Object,default:null},loading:{type:Boolean,default:!1},customValidation:{type:Function,default:null},modalSize:{type:String,default:"4xl",validator:t=>["sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","8xl","full"].includes(t)},modalHeight:{type:String,default:"auto"},modalResizable:{type:Boolean,default:!1}},emits:["update:modelValue","submit","close"],setup(t,{emit:n}){const a=t,o=n,r=e.computed({get:()=>a.modelValue,set:d=>o("update:modelValue",d)}),l=e.computed(()=>a.loading),s=e.ref({}),u=e.ref({}),m=e.ref(!1),p=()=>{const d={};return a.fields.forEach(i=>{i.type==="checkbox"||i.type==="switch"?d[i.name]=!1:i.type==="number"||i.type==="slider"||i.type==="range"?d[i.name]=i.min!==void 0?i.min:0:i.type==="file"?d[i.name]=null:i.type==="radio"?d[i.name]=i.options?.[0]?.value||"":i.type==="multiselect"?d[i.name]=[]:d[i.name]=""}),d};e.watch(()=>a.initialData,d=>{if(a.modalType==="edit"&&d){const i={};a.fields.forEach(c=>{c.type==="checkbox"||c.type==="switch"?i[c.name]=d[c.name]??!1:c.type==="number"||c.type==="slider"||c.type==="range"?i[c.name]=d[c.name]??(c.min!==void 0?c.min:0):c.type==="file"?i[c.name]=null:c.type==="multiselect"?i[c.name]=Array.isArray(d[c.name])?d[c.name]:[]:i[c.name]=d[c.name]??""}),s.value=i,m.value=!0}else if(a.modalType==="create"&&d&&!m.value){const i={};a.fields.forEach(c=>{d[c.name]!==void 0&&d[c.name]!==null?i[c.name]=d[c.name]:c.type==="checkbox"||c.type==="switch"?i[c.name]=!1:c.type==="number"||c.type==="slider"||c.type==="range"?i[c.name]=c.min!==void 0?c.min:0:c.type==="file"?i[c.name]=null:c.type==="radio"?i[c.name]=c.options?.[0]?.value||"":c.type==="multiselect"?i[c.name]=[]:i[c.name]=""}),s.value=i,m.value=!0}else a.modalType==="create"&&!d&&(s.value=p(),m.value=!1)},{immediate:!0,deep:!0}),e.watch(()=>a.modelValue,d=>{if(d&&(u.value={},a.modalType==="create")){if(m.value=!1,a.initialData){const i={};a.fields.forEach(c=>{a.initialData[c.name]!==void 0&&a.initialData[c.name]!==null?i[c.name]=a.initialData[c.name]:c.type==="checkbox"||c.type==="switch"?i[c.name]=!1:c.type==="number"||c.type==="slider"||c.type==="range"?i[c.name]=c.min!==void 0?c.min:0:c.type==="file"?i[c.name]=null:c.type==="radio"?i[c.name]=c.options?.[0]?.value||"":c.type==="multiselect"?i[c.name]=[]:i[c.name]=""}),s.value=i}else s.value=p();m.value=!0}}),e.watch(()=>a.initialData,d=>{m.value&&d&&Object.keys(d).forEach(i=>{Object.prototype.hasOwnProperty.call(s.value,i)&&d[i]!==void 0&&d[i]!==null&&(s.value[i]=d[i])})},{deep:!0});const v=()=>{if(u.value={},a.fields.forEach(d=>{if(d.required&&!d.disabled&&d.type!=="hidden"){const i=s.value[d.name];d.type==="checkbox"||d.type==="switch"?d.required&&!i&&(u.value[d.name]=d.errorMessage||`${d.label} is required`):d.type==="number"||d.type==="slider"||d.type==="range"?i===""||i===null||i===void 0?u.value[d.name]=d.errorMessage||`${d.label} is required`:d.min!==void 0&&Number(i)<d.min?u.value[d.name]=`${d.label} must be at least ${d.min}`:d.max!==void 0&&Number(i)>d.max&&(u.value[d.name]=`${d.label} must be at most ${d.max}`):d.type==="email"?!i||!i.trim()?u.value[d.name]=d.errorMessage||`${d.label} is required`:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(i)||(u.value[d.name]="Please enter a valid email address"):d.type==="url"?!i||!i.trim()?u.value[d.name]=d.errorMessage||`${d.label} is required`:/^https?:\/\/.+/.test(i)||(u.value[d.name]="Please enter a valid URL"):d.type==="tel"?(!i||!i.trim())&&(u.value[d.name]=d.errorMessage||`${d.label} is required`):d.type==="file"?i||(u.value[d.name]=d.errorMessage||`${d.label} is required`):d.type==="radio"?i||(u.value[d.name]=d.errorMessage||`${d.label} is required`):d.type==="multiselect"?(!Array.isArray(i)||i.length===0)&&(u.value[d.name]=d.errorMessage||`${d.label} is required`):d.type==="date"||d.type==="time"||d.type==="datetime-local"||d.type==="month"||d.type==="week"?(!i||typeof i=="string"&&!i.trim())&&(u.value[d.name]=d.errorMessage||`${d.label} is required`):d.type==="password"?(!i||typeof i=="string"&&!i.trim())&&(u.value[d.name]=d.errorMessage||`${d.label} is required`):(!i||typeof i=="string"&&!i.trim())&&(u.value[d.name]=d.errorMessage||`${d.label} is required`)}if(d.validate&&typeof d.validate=="function"){const i=d.validate(s.value[d.name],s.value);i&&(u.value[d.name]=i)}}),a.customValidation){const d=a.customValidation(s.value);d&&Object.keys(d).length>0&&(u.value={...u.value,...d})}return Object.keys(u.value).length===0},h=async(d,i)=>{if(s.value[d.name]=i,d.onChange&&typeof d.onChange=="function")try{await d.onChange(i,s.value)}catch(c){console.error("Error in onChange handler:",c),ne.error("An error occurred while processing the change")}},S=(d,i)=>{if(s.value[d.name]=i,d.onChange&&typeof d.onChange=="function")try{d.onChange(i,s.value)}catch(c){console.error("Error in onChange handler:",c),ne.error("An error occurred while processing the change")}},b=(d,i)=>{const c=i.target.files?.[0]||null;if(s.value[d.name]=c,d.onChange&&typeof d.onChange=="function")try{d.onChange(c,s.value)}catch(g){console.error("Error in onChange handler:",g),ne.error("An error occurred while processing the file")}},y=async()=>{try{if(!v()){ne.error("Please fix the validation errors before submitting");return}const d={};a.fields.forEach(i=>{const c=s.value[i.name];i.type==="number"||i.type==="slider"||i.type==="range"?d[i.name]=Number(c):i.type==="text"||i.type==="textarea"||i.type==="date"||i.type==="email"||i.type==="url"||i.type==="tel"||i.type==="search"||i.type==="time"||i.type==="datetime-local"||i.type==="month"||i.type==="week"?d[i.name]=typeof c=="string"?c.trim():c:(i.type==="password"||i.type,d[i.name]=c)}),o("submit",{formData:d,modalType:a.modalType,originalData:a.initialData})}catch(d){console.error("Error during form submission:",d),ne.error("An error occurred during submission")}},f=()=>{s.value=p(),u.value={},m.value=!1,o("close")};return(d,i)=>(e.openBlock(),e.createBlock(ra,{modelValue:r.value,"onUpdate:modelValue":i[0]||(i[0]=c=>r.value=c),"show-close":!0,"close-on-backdrop":!0,size:t.modalSize,class:e.normalizeClass(t.modalHeight==="auto"?"":t.modalHeight),resizable:t.modalResizable,onClose:f},{default:e.withCtx(()=>[e.createElementVNode("div",ng,[e.createElementVNode("h2",og,e.toDisplayString(t.modalType==="create"?`Add New ${t.entityName}`:`Edit ${t.entityName}`),1),e.createElementVNode("p",rg,e.toDisplayString(t.modalType==="create"?`Fill in the details to create a new ${t.entityName.toLowerCase()}.`:`Update the ${t.entityName.toLowerCase()} information below.`),1)]),e.createElementVNode("form",{class:"space-y-6 overflow-y-auto",onSubmit:e.withModifiers(y,["prevent"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,c=>(e.openBlock(),e.createElementBlock("div",{key:c.name},[c.type==="hidden"?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":g=>s.value[c.name]=g,type:"hidden"},null,8,lg)),[[e.vModelText,s.value[c.name]]]):(e.openBlock(),e.createBlock(ut,{key:1,id:`form-${t.entityName}-${c.name}-${Math.random().toString(36).slice(2,5)}`,label:c.label,required:c.required&&!c.disabled,error:u.value[c.name],"error-message":u.value[c.name]},{default:e.withCtx(({fieldId:g,hasError:w,ariaDescribedBy:x})=>[["text","number","password","color","email","tel","url","search"].includes(c.type)?(e.openBlock(),e.createBlock(X,{key:0,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:c.type,placeholder:c.placeholder,disabled:l.value||c.disabled,readonly:c.disabled,class:e.normalizeClass(w?"border-red-500":"border-slate-300"),"aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","type","placeholder","disabled","readonly","class","aria-describedby"])):c.type==="textarea"?(e.openBlock(),e.createBlock(dt,{key:1,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,placeholder:c.placeholder,disabled:l.value||c.disabled,rows:c.rows||3,class:e.normalizeClass(["w-full px-3 py-2 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",w?"border-red-500":"border-slate-300"]),"aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","placeholder","disabled","rows","class","aria-describedby"])):c.type==="select"?(e.openBlock(),e.createBlock(ue,{key:2,id:g,"model-value":s.value[c.name],options:c.options,placeholder:c.placeholder||"Select an option",disabled:l.value||c.disabled,"has-error":w,"aria-describedby":x,"onUpdate:modelValue":F=>h(c,F)},null,8,["id","model-value","options","placeholder","disabled","has-error","aria-describedby","onUpdate:modelValue"])):c.type==="multiselect"?(e.openBlock(),e.createBlock(Uo,{key:3,id:g,"model-value":s.value[c.name],options:c.options,disabled:l.value||c.disabled,placeholder:c.placeholder||"Select options","has-error":w,"aria-describedby":x,"onUpdate:modelValue":F=>s.value[c.name]=F},null,8,["id","model-value","options","disabled","placeholder","has-error","aria-describedby","onUpdate:modelValue"])):c.type==="checkbox"?(e.openBlock(),e.createElementBlock("div",sg,[e.createVNode(X,{id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:"checkbox",disabled:l.value||c.disabled,class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded","aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","disabled","aria-describedby"]),e.createVNode(fe,{for:g,class:"ml-2 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.checkboxLabel||c.label),1)]),_:2},1032,["for"])])):c.type==="switch"?(e.openBlock(),e.createElementBlock("div",ig,[e.createElementVNode("button",{id:g,type:"button",role:"switch","aria-checked":s.value[c.name],disabled:l.value||c.disabled,class:e.normalizeClass(["relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",s.value[c.name]?"bg-blue-600":"bg-gray-200",l.value||c.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer"]),onClick:F=>s.value[c.name]=!s.value[c.name]},[e.createElementVNode("span",{class:e.normalizeClass(["inline-block h-4 w-4 transform rounded-full bg-white transition-transform",s.value[c.name]?"translate-x-6":"translate-x-1"])},null,2)],10,cg),e.createVNode(fe,{for:g,class:"ml-3 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.checkboxLabel||c.label),1)]),_:2},1032,["for"])])):c.type==="radio"?(e.openBlock(),e.createElementBlock("div",dg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.options,F=>(e.openBlock(),e.createElementBlock("div",{key:F.value,class:"flex items-center"},[e.createVNode(X,{id:`${g}-${F.value}`,modelValue:s.value[c.name],"onUpdate:modelValue":L=>s.value[c.name]=L,type:"radio",value:F.value,disabled:l.value||c.disabled,class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300","aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","value","disabled","aria-describedby"]),e.createVNode(fe,{for:`${g}-${F.value}`,class:"ml-2 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(F.label),1)]),_:2},1032,["for"])]))),128))])):c.type==="file"?(e.openBlock(),e.createElementBlock("div",ug,[e.createVNode(X,{id:g,type:"file",accept:c.accept,disabled:l.value||c.disabled,class:e.normalizeClass(["w-full text-sm text-gray-500 file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-blue-50 file:text-blue-700 hover:file:bg-blue-100",w?"border-red-500":"border-slate-300"]),"aria-describedby":x,onChange:F=>b(c,F)},null,8,["id","accept","disabled","class","aria-describedby","onChange"]),c.helpText?(e.openBlock(),e.createElementBlock("p",mg,e.toDisplayString(c.helpText),1)):e.createCommentVNode("",!0)])):c.type==="slider"?(e.openBlock(),e.createBlock(mt,{key:8,"model-value":s.value[c.name],min:c.min,max:c.max,step:c.step,disabled:l.value||c.disabled,"onUpdate:modelValue":F=>S(c,F)},null,8,["model-value","min","max","step","disabled","onUpdate:modelValue"])):c.type==="range"?(e.openBlock(),e.createElementBlock("div",fg,[e.createElementVNode("div",pg,[e.createVNode(X,{id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:"range",min:c.min,max:c.max,step:c.step||1,disabled:l.value||c.disabled,class:"flex-1","aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","min","max","step","disabled","aria-describedby"]),e.createElementVNode("span",gg,e.toDisplayString(s.value[c.name]),1)])])):c.type==="date"?(e.openBlock(),e.createBlock(qe,{key:10,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,disabled:l.value||c.disabled,required:c.required,min:c.min,max:c.max,placeholder:c.placeholder||"Select date",format:c.format||"MM/DD/YYYY",clearable:c.clearable!==!1,"show-today":c.showToday!==!1,"calendar-position":c.calendarPosition||"left-0 bottom-full","aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","disabled","required","min","max","placeholder","format","clearable","show-today","calendar-position","aria-describedby"])):c.type==="time"?(e.openBlock(),e.createBlock(X,{key:11,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:"time",disabled:l.value||c.disabled,class:e.normalizeClass(w?"border-red-500":"border-slate-300"),"aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):c.type==="datetime-local"?(e.openBlock(),e.createBlock(X,{key:12,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:"datetime-local",disabled:l.value||c.disabled,class:e.normalizeClass(w?"border-red-500":"border-slate-300"),"aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):c.type==="month"?(e.openBlock(),e.createBlock(X,{key:13,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:"month",disabled:l.value||c.disabled,class:e.normalizeClass(w?"border-red-500":"border-slate-300"),"aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):c.type==="week"?(e.openBlock(),e.createBlock(X,{key:14,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:"week",disabled:l.value||c.disabled,class:e.normalizeClass(w?"border-red-500":"border-slate-300"),"aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):e.createCommentVNode("",!0)]),_:2},1032,["id","label","required","error","error-message"]))]))),128)),e.createElementVNode("div",vg,[e.createVNode(J,{type:"button",variant:"outline",disabled:l.value,onClick:f},{default:e.withCtx(()=>[...i[1]||(i[1]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["disabled"]),e.createVNode(J,{type:"submit",disabled:l.value,loading:l.value,variant:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.modalType==="create"?`Create ${t.entityName}`:`Update ${t.entityName}`),1)]),_:1},8,["disabled","loading"])])],32)]),_:1},8,["modelValue","size","class","resizable"]))}},hg={class:"w-full p-6"},bg={key:0,class:"mb-6"},yg={class:"text-xl font-semibold text-gray-900"},xg=["onUpdate:modelValue"],kg={key:4,class:"flex items-center"},wg={key:5,class:"flex items-center"},Cg=["id","aria-checked","disabled","onClick"],Bg={key:6,class:"space-y-2"},Vg={key:7,class:"space-y-2"},Sg={key:0,class:"text-xs text-gray-500"},Eg={key:9,class:"space-y-2"},Ng={class:"flex items-center gap-4"},$g={class:"text-sm font-medium text-gray-700 min-w-[3rem] text-right"},zg={class:"flex justify-end gap-3 pt-6"},Ho={__name:"ReusableForm",props:{title:{type:String,default:"Form"},entityName:{type:String,default:"Item"},fields:{type:Array,required:!0,validator:t=>t.every(n=>n.name&&n.label&&n.type&&["text","number","password","textarea","select","checkbox","slider","date","color","email","tel","url","time","datetime-local","month","week","file","radio","switch","range","search","hidden","multiselect"].includes(n.type))},initialData:{type:Object,default:null},loading:{type:Boolean,default:!1},customValidation:{type:Function,default:null}},emits:["submit","reset"],setup(t,{emit:n}){const a=t,o=n,r=e.computed(()=>a.loading),l=e.ref({}),s=e.ref({}),u=e.ref(!1),m=()=>{const f={};return a.fields.forEach(d=>{d.type==="checkbox"||d.type==="switch"?f[d.name]=!1:d.type==="number"||d.type==="slider"||d.type==="range"?f[d.name]=d.min!==void 0?d.min:0:d.type==="file"?f[d.name]=null:d.type==="radio"?f[d.name]=d.options?.[0]?.value||"":d.type==="multiselect"?f[d.name]=[]:f[d.name]=""}),f};e.watch(()=>a.initialData,f=>{if(f){const d={};a.fields.forEach(i=>{i.type==="checkbox"||i.type==="switch"?d[i.name]=f[i.name]??!1:i.type==="number"||i.type==="slider"||i.type==="range"?d[i.name]=f[i.name]??(i.min!==void 0?i.min:0):i.type==="file"?d[i.name]=null:i.type==="multiselect"?d[i.name]=Array.isArray(f[i.name])?f[i.name]:[]:d[i.name]=f[i.name]??""}),l.value=d,u.value=!0}else l.value=m(),u.value=!1},{immediate:!0,deep:!0}),e.watch(()=>a.initialData,f=>{u.value&&f&&Object.keys(f).forEach(d=>{Object.prototype.hasOwnProperty.call(l.value,d)&&f[d]!==void 0&&f[d]!==null&&(l.value[d]=f[d])})},{deep:!0});const p=()=>{if(s.value={},a.fields.forEach(f=>{if(f.required&&!f.disabled&&f.type!=="hidden"){const d=l.value[f.name];f.type==="checkbox"||f.type==="switch"?f.required&&!d&&(s.value[f.name]=f.errorMessage||`${f.label} is required`):f.type==="number"||f.type==="slider"||f.type==="range"?d===""||d===null||d===void 0?s.value[f.name]=f.errorMessage||`${f.label} is required`:f.min!==void 0&&Number(d)<f.min?s.value[f.name]=`${f.label} must be at least ${f.min}`:f.max!==void 0&&Number(d)>f.max&&(s.value[f.name]=`${f.label} must be at most ${f.max}`):f.type==="email"?!d||!d.trim()?s.value[f.name]=f.errorMessage||`${f.label} is required`:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(d)||(s.value[f.name]="Please enter a valid email address"):f.type==="url"?!d||!d.trim()?s.value[f.name]=f.errorMessage||`${f.label} is required`:/^https?:\/\/.+/.test(d)||(s.value[f.name]="Please enter a valid URL"):f.type==="tel"?(!d||!d.trim())&&(s.value[f.name]=f.errorMessage||`${f.label} is required`):f.type==="file"?d||(s.value[f.name]=f.errorMessage||`${f.label} is required`):f.type==="radio"?d||(s.value[f.name]=f.errorMessage||`${f.label} is required`):f.type==="multiselect"?(!Array.isArray(d)||d.length===0)&&(s.value[f.name]=f.errorMessage||`${f.label} is required`):f.type==="date"||f.type==="time"||f.type==="datetime-local"||f.type==="month"||f.type==="week"?(!d||typeof d=="string"&&!d.trim())&&(s.value[f.name]=f.errorMessage||`${f.label} is required`):f.type==="password"?(!d||typeof d=="string"&&!d.trim())&&(s.value[f.name]=f.errorMessage||`${f.label} is required`):(!d||typeof d=="string"&&!d.trim())&&(s.value[f.name]=f.errorMessage||`${f.label} is required`)}if(f.validate&&typeof f.validate=="function"){const d=f.validate(l.value[f.name],l.value);d&&(s.value[f.name]=d)}}),a.customValidation){const f=a.customValidation(l.value);f&&Object.keys(f).length>0&&(s.value={...s.value,...f})}return Object.keys(s.value).length===0},v=async(f,d)=>{if(l.value[f.name]=d,f.onChange&&typeof f.onChange=="function")try{await f.onChange(d,l.value)}catch(i){console.error("Error in onChange handler:",i),ne.error("An error occurred while processing the change")}},h=(f,d)=>{if(l.value[f.name]=d,f.onChange&&typeof f.onChange=="function")try{f.onChange(d,l.value)}catch(i){console.error("Error in onChange handler:",i),ne.error("An error occurred while processing the change")}},S=(f,d)=>{const i=d.target.files?.[0]||null;if(l.value[f.name]=i,f.onChange&&typeof f.onChange=="function")try{f.onChange(i,l.value)}catch(c){console.error("Error in onChange handler:",c),ne.error("An error occurred while processing the file")}},b=async()=>{try{if(!p()){ne.error("Please fix the validation errors before submitting");return}const f={};a.fields.forEach(d=>{const i=l.value[d.name];d.type==="number"||d.type==="slider"||d.type==="range"?f[d.name]=Number(i):d.type==="text"||d.type==="textarea"||d.type==="date"||d.type==="email"||d.type==="url"||d.type==="tel"||d.type==="search"||d.type==="time"||d.type==="datetime-local"||d.type==="month"||d.type==="week"?f[d.name]=typeof i=="string"?i.trim():i:(d.type==="password"||d.type,f[d.name]=i)}),o("submit",{formData:f,originalData:a.initialData})}catch(f){console.error("Error during form submission:",f),ne.error("An error occurred during submission")}},y=()=>{l.value=m(),s.value={},u.value=!1,o("reset")};return(f,d)=>(e.openBlock(),e.createElementBlock("div",hg,[t.title?(e.openBlock(),e.createElementBlock("div",bg,[e.createElementVNode("h2",yg,e.toDisplayString(t.title),1)])):e.createCommentVNode("",!0),e.createElementVNode("form",{class:"space-y-8",onSubmit:e.withModifiers(b,["prevent"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,i=>(e.openBlock(),e.createElementBlock("div",{key:i.name},[i.type==="hidden"?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":c=>l.value[i.name]=c,type:"hidden"},null,8,xg)),[[e.vModelText,l.value[i.name]]]):(e.openBlock(),e.createBlock(ut,{key:1,id:`form-${t.entityName}-${i.name}-${Math.random().toString(36).slice(2,5)}`,label:i.label,required:i.required&&!i.disabled,error:s.value[i.name],"error-message":s.value[i.name]},{default:e.withCtx(({fieldId:c,hasError:g,ariaDescribedBy:w})=>[["text","number","password","color","email","tel","url","search"].includes(i.type)?(e.openBlock(),e.createBlock(X,{key:0,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:i.type,placeholder:i.placeholder,disabled:r.value||i.disabled,readonly:i.disabled,class:e.normalizeClass(g?"border-red-500":"border-slate-300"),"aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","type","placeholder","disabled","readonly","class","aria-describedby"])):i.type==="textarea"?(e.openBlock(),e.createBlock(dt,{key:1,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,placeholder:i.placeholder,disabled:r.value||i.disabled,rows:i.rows||3,class:e.normalizeClass(["w-full px-3 py-2 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",g?"border-red-500":"border-slate-300"]),"aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","placeholder","disabled","rows","class","aria-describedby"])):i.type==="select"?(e.openBlock(),e.createBlock(ue,{key:2,id:c,"model-value":l.value[i.name],options:i.options,placeholder:i.placeholder||"Select an option",disabled:r.value||i.disabled,"has-error":g,"aria-describedby":w,"onUpdate:modelValue":x=>v(i,x)},null,8,["id","model-value","options","placeholder","disabled","has-error","aria-describedby","onUpdate:modelValue"])):i.type==="multiselect"?(e.openBlock(),e.createBlock(Uo,{key:3,id:c,"model-value":l.value[i.name],options:i.options,disabled:r.value||i.disabled,placeholder:i.placeholder||"Select options","has-error":g,"aria-describedby":w,"onUpdate:modelValue":x=>l.value[i.name]=x},null,8,["id","model-value","options","disabled","placeholder","has-error","aria-describedby","onUpdate:modelValue"])):i.type==="checkbox"?(e.openBlock(),e.createElementBlock("div",kg,[e.createVNode(X,{id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:"checkbox",disabled:r.value||i.disabled,class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded","aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","disabled","aria-describedby"]),e.createVNode(fe,{for:c,class:"ml-2 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.checkboxLabel||i.label),1)]),_:2},1032,["for"])])):i.type==="switch"?(e.openBlock(),e.createElementBlock("div",wg,[e.createElementVNode("button",{id:c,type:"button",role:"switch","aria-checked":l.value[i.name],disabled:r.value||i.disabled,class:e.normalizeClass(["relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",l.value[i.name]?"bg-blue-600":"bg-gray-200",r.value||i.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer"]),onClick:x=>l.value[i.name]=!l.value[i.name]},[e.createElementVNode("span",{class:e.normalizeClass(["inline-block h-4 w-4 transform rounded-full bg-white transition-transform",l.value[i.name]?"translate-x-6":"translate-x-1"])},null,2)],10,Cg),e.createVNode(fe,{for:c,class:"ml-3 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.checkboxLabel||i.label),1)]),_:2},1032,["for"])])):i.type==="radio"?(e.openBlock(),e.createElementBlock("div",Bg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.options,x=>(e.openBlock(),e.createElementBlock("div",{key:x.value,class:"flex items-center"},[e.createVNode(X,{id:`${c}-${x.value}`,modelValue:l.value[i.name],"onUpdate:modelValue":F=>l.value[i.name]=F,type:"radio",value:x.value,disabled:r.value||i.disabled,class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300","aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","value","disabled","aria-describedby"]),e.createVNode(fe,{for:`${c}-${x.value}`,class:"ml-2 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.label),1)]),_:2},1032,["for"])]))),128))])):i.type==="file"?(e.openBlock(),e.createElementBlock("div",Vg,[e.createVNode(X,{id:c,type:"file",accept:i.accept,disabled:r.value||i.disabled,class:e.normalizeClass(["w-full text-sm text-gray-500 file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-blue-50 file:text-blue-700 hover:file:bg-blue-100",g?"border-red-500":"border-slate-300"]),"aria-describedby":w,onChange:x=>S(i,x)},null,8,["id","accept","disabled","class","aria-describedby","onChange"]),i.helpText?(e.openBlock(),e.createElementBlock("p",Sg,e.toDisplayString(i.helpText),1)):e.createCommentVNode("",!0)])):i.type==="slider"?(e.openBlock(),e.createBlock(mt,{key:8,"model-value":l.value[i.name],min:i.min,max:i.max,step:i.step,disabled:r.value||i.disabled,"onUpdate:modelValue":x=>h(i,x)},null,8,["model-value","min","max","step","disabled","onUpdate:modelValue"])):i.type==="range"?(e.openBlock(),e.createElementBlock("div",Eg,[e.createElementVNode("div",Ng,[e.createVNode(X,{id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:"range",min:i.min,max:i.max,step:i.step||1,disabled:r.value||i.disabled,class:"flex-1","aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","min","max","step","disabled","aria-describedby"]),e.createElementVNode("span",$g,e.toDisplayString(l.value[i.name]),1)])])):i.type==="date"?(e.openBlock(),e.createBlock(qe,{key:10,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,disabled:r.value||i.disabled,required:i.required,min:i.min,max:i.max,placeholder:i.placeholder||"Select date",format:i.format||"MM/DD/YYYY",clearable:i.clearable!==!1,"show-today":i.showToday!==!1,"calendar-position":i.calendarPosition||"left-0 bottom-full","aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","disabled","required","min","max","placeholder","format","clearable","show-today","calendar-position","aria-describedby"])):i.type==="time"?(e.openBlock(),e.createBlock(X,{key:11,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:"time",disabled:r.value||i.disabled,class:e.normalizeClass(g?"border-red-500":"border-slate-300"),"aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):i.type==="datetime-local"?(e.openBlock(),e.createBlock(X,{key:12,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:"datetime-local",disabled:r.value||i.disabled,class:e.normalizeClass(g?"border-red-500":"border-slate-300"),"aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):i.type==="month"?(e.openBlock(),e.createBlock(X,{key:13,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:"month",disabled:r.value||i.disabled,class:e.normalizeClass(g?"border-red-500":"border-slate-300"),"aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):i.type==="week"?(e.openBlock(),e.createBlock(X,{key:14,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:"week",disabled:r.value||i.disabled,class:e.normalizeClass(g?"border-red-500":"border-slate-300"),"aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):e.createCommentVNode("",!0)]),_:2},1032,["id","label","required","error","error-message"]))]))),128)),e.createElementVNode("div",zg,[e.createVNode(J,{type:"button",variant:"outline",disabled:r.value,onClick:y},{default:e.withCtx(()=>[...d[0]||(d[0]=[e.createTextVNode(" Reset ",-1)])]),_:1},8,["disabled"]),e.createVNode(J,{type:"submit",disabled:r.value,loading:r.value,variant:"default"},{default:e.withCtx(()=>[...d[1]||(d[1]=[e.createTextVNode(" Submit ",-1)])]),_:1},8,["disabled","loading"])])],32)]))}},Dg={key:0,class:"flex items-center justify-between p-4 border-b border-gray-200 flex-shrink-0 lg:hidden"},Tg={class:"text-lg font-bold text-gray-900"},Ag={class:"flex-1 overflow-y-auto overflow-x-hidden p-4"},Fg={class:"space-y-2"},Pg={key:0},Lg={key:0,class:"absolute top-2 right-2 inline-flex items-center justify-center w-5 h-5 text-xs font-bold rounded-full bg-red-500 text-white"},jg=["onClick"],Mg={key:0,class:"absolute top-2 right-2 inline-flex items-center justify-center w-5 h-5 text-xs font-bold rounded-full bg-red-500 text-white"},Ig={key:1,class:"absolute top-1.5 right-1.5 w-2 h-2 bg-blue-500 rounded-full"},Og={key:1,class:"border-t border-gray-200 p-4 flex-shrink-0"},Rg={key:0,class:"absolute top-1.5 right-1.5 w-2 h-2 bg-blue-500 rounded-full"},_g={class:"sticky top-0 bg-white border-b border-gray-200 z-10"},Ug={class:"flex items-center justify-between p-4"},qg={class:"flex-1 text-sm font-bold text-gray-900 ml-2"},Hg={class:"p-3"},Wg={class:"space-y-1"},Yg={key:0,class:"absolute left-0 top-1/2 transform -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-blue-600 rounded-r-full"},Gg={key:1,class:"ml-2 inline-flex items-center justify-center px-2 py-0.5 text-xs font-bold rounded-full bg-red-500 text-white"},Kg={class:"p-3"},Xg={class:"space-y-1"},Qg={key:0,class:"px-3 py-2 text-xs font-semibold text-gray-500 uppercase tracking-wider"},Jg={key:0,class:"absolute left-0 top-1/2 transform -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-blue-600 rounded-r-full"},Wo={__name:"Sidebar",props:{sidebarWidth:{type:Number,default:130},header:{type:Object,default:null},navigationItems:{type:Array,required:!0},managementSettings:{type:Array,default:()=>[]},showManagementSettings:{type:Boolean,default:!0},mobileOpen:{type:Boolean,default:!1},isManagementSettingsActive:{type:Boolean,default:!1},currentPath:{type:String,default:""}},emits:["navigate","update:mobileOpen"],setup(t,{expose:n,emit:a}){const o=t,r=a,l=e.ref(!1),s=e.ref(!1),u=e.ref(null),m=e.ref(!1),p=e.computed(()=>o.mobileOpen),v=e.computed(()=>l.value?{}:{left:`${o.sidebarWidth}px`}),h=e.computed(()=>l.value?{}:{left:`${o.sidebarWidth}px`}),S=e.computed(()=>{if(l.value)return 0;let E=o.sidebarWidth;return s.value&&(E+=220),m.value&&(E+=220),E}),b=E=>{r("navigate",E),l.value&&y();const I=s.value&&u.value&&u.value.subItems.some(C=>C.route===E.route),M=m.value&&o.managementSettings.some(C=>C.route===E.route);(l.value||!(I||M))&&w()},y=()=>{r("update:mobileOpen",!1)},f=E=>E.subItems&&E.subItems.length>0,d=E=>{m.value&&g(),s.value&&u.value!==E?(c(),setTimeout(()=>{u.value=E,s.value=!0},300)):s.value?u.value===E&&c():(u.value=E,s.value=!0),l.value&&y()},i=()=>{s.value&&c(),m.value?g():m.value=!0,l.value&&y()},c=()=>{s.value=!1,setTimeout(()=>{u.value=null},300)},g=()=>{m.value=!1},w=()=>{c(),g()},x=E=>{b(E)},F=E=>{b(E)},L=E=>{const I=o.currentPath;return E.route?!!(I===E.route||I.startsWith(E.route+"/")):E.subItems&&E.subItems.length>0?E.subItems.some(M=>M.route?I===M.route||I.startsWith(M.route+"/"):!1):!1},H=()=>{const E=l.value;l.value=window.innerWidth<1024,E&&!l.value&&p.value&&y()},_=E=>{E.key==="Escape"&&(s.value||m.value?w():l.value&&p.value&&y())};return e.onMounted(()=>{H(),window.addEventListener("resize",H),document.addEventListener("keydown",_)}),e.onUnmounted(()=>{window.removeEventListener("resize",H),document.removeEventListener("keydown",_)}),n({isMobile:l,isMobileOpen:p,submenuOpen:s,managementSettingsOpen:m,contentMarginLeft:S,closeAllMenus:w}),(E,I)=>{const M=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","leave-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[p.value&&l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-30 lg:hidden",onClick:y})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("aside",{class:e.normalizeClass(e.unref(k)("fixed left-0 z-40 border-r overflow-hidden flex flex-col","transition-all duration-300 ease-in-out","bg-white border-gray-200",l.value?e.unref(k)("transform h-screen",p.value?"translate-x-0":"-translate-x-full"):"translate-x-0 h-[calc(100vh-4rem)]")),style:e.normalizeStyle({width:t.sidebarWidth+"px",top:l.value?"0px":"4rem"})},[l.value?(e.openBlock(),e.createElementBlock("div",Dg,[e.createElementVNode("h2",Tg,e.toDisplayString(t.header?.title),1),e.createElementVNode("button",{class:"p-2 rounded-lg text-gray-500 hover:text-gray-900 hover:bg-gray-100 transition-colors","aria-label":"Close sidebar",onClick:y},[...I[0]||(I[0]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])])):e.createCommentVNode("",!0),e.createElementVNode("nav",Ag,[e.createElementVNode("div",Fg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.navigationItems,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.name||C.label},[C.type==="link"?(e.openBlock(),e.createElementBlock("div",Pg,[f(C)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(k)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 cursor-pointer group relative py-4 px-3",L(C)?"bg-gradient-to-br from-blue-50 to-blue-100 border border-blue-200 shadow-sm":"text-gray-500 hover:bg-gray-100 hover:text-gray-900 border border-transparent")),onClick:N=>d(C)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",L(C)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"text-gray-500 group-hover:text-gray-900 bg-gray-100 group-hover:bg-gray-200"))},[e.createVNode(j,{icon:C.icon,class:"w-6 h-6"},null,8,["icon"])],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(k)("text-xs font-medium text-center",L(C)?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))},e.toDisplayString(C.label),3),C.badge?(e.openBlock(),e.createElementBlock("span",Mg,e.toDisplayString(C.badge),1)):e.createCommentVNode("",!0),L(C)&&f(C)?(e.openBlock(),e.createElementBlock("div",Ig)):e.createCommentVNode("",!0)],10,jg)):(e.openBlock(),e.createBlock(M,{key:0,to:C.route,class:e.normalizeClass(e.unref(k)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 group relative py-4 px-3",L(C)?"bg-gradient-to-br from-blue-50 to-blue-100 border border-blue-200 shadow-sm":"text-gray-500 hover:bg-gray-100 hover:text-gray-900 border border-transparent")),onClick:N=>b(C)},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",L(C)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"text-gray-500 group-hover:text-gray-900 bg-gray-100 group-hover:bg-gray-200"))},[e.createVNode(j,{icon:C.icon,class:"w-6 h-6"},null,8,["icon"])],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(k)("text-xs font-medium text-center",L(C)?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))},e.toDisplayString(C.label),3),C.badge?(e.openBlock(),e.createElementBlock("span",Lg,e.toDisplayString(C.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","class","onClick"]))])):e.createCommentVNode("",!0)],64))),128))])]),t.showManagementSettings?(e.openBlock(),e.createElementBlock("div",Og,[e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 cursor-pointer group relative py-4 px-3",t.isManagementSettingsActive?"bg-gradient-to-br from-blue-50 to-blue-100 border border-blue-200 shadow-sm":"text-gray-500 hover:bg-gray-100 hover:text-gray-900 border border-transparent")),onClick:i},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",t.isManagementSettingsActive?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"text-gray-500 group-hover:text-gray-900 bg-gray-100 group-hover:bg-gray-200"))},[e.createVNode(j,{icon:"cog",class:"w-6 h-6"})],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(k)("text-xs font-medium text-center",t.isManagementSettingsActive?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))}," Settings ",2),t.isManagementSettingsActive?(e.openBlock(),e.createElementBlock("div",Rg)):e.createCommentVNode("",!0)],2)])):e.createCommentVNode("",!0)],6),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-300 ease-in","enter-from-class":"opacity-0 -translate-x-full","enter-to-class":"opacity-100 translate-x-0","leave-from-class":"opacity-100 translate-x-0","leave-to-class":"opacity-0 -translate-x-full"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:e.normalizeClass(e.unref(k)("fixed z-40 bg-white border-r border-gray-200 overflow-y-auto shadow-lg",l.value?"left-0 w-52 top-20 h-screen":"w-56 top-16 h-[calc(100vh-4rem)]")),style:e.normalizeStyle(v.value)},[e.createElementVNode("div",_g,[e.createElementVNode("div",Ug,[e.createElementVNode("button",{class:"p-2 -ml-2 rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 transition-colors","aria-label":"Close submenu",onClick:c},[...I[1]||(I[1]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])]),e.createElementVNode("h3",qg,e.toDisplayString(u.value?.label),1)])]),e.createElementVNode("nav",Hg,[e.createElementVNode("div",Wg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value?.subItems,C=>(e.openBlock(),e.createBlock(M,{key:C.name,to:C.route,class:e.normalizeClass(e.unref(k)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",L(C)?"bg-gradient-to-br from-blue-50 to-blue-100 text-blue-700 shadow-sm border border-blue-200":"text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent")),onClick:N=>x(C)},{default:e.withCtx(()=>[L(C)?(e.openBlock(),e.createElementBlock("div",Yg)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",L(C)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"bg-gray-100 text-gray-600 group-hover:bg-gray-200"))},[C.icon?(e.openBlock(),e.createBlock(j,{key:0,icon:C.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(k)("flex-1 truncate font-semibold",L(C)?"text-blue-700":"text-gray-700"))},e.toDisplayString(C.label),3),C.badge?(e.openBlock(),e.createElementBlock("span",Gg,e.toDisplayString(C.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","class","onClick"]))),128))])])],6)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-300 ease-in","enter-from-class":"opacity-0 -translate-x-full","enter-to-class":"opacity-100 translate-x-0","leave-from-class":"opacity-100 translate-x-0","leave-to-class":"opacity-0 -translate-x-full"},{default:e.withCtx(()=>[m.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:e.normalizeClass(e.unref(k)("fixed z-40 bg-white border-r border-gray-200 overflow-y-auto shadow-lg",l.value?"left-0 w-52 top-20 h-full":"w-58 h-[calc(100vh-4rem)]")),style:e.normalizeStyle({...h.value,top:l.value?"55px":"4rem"})},[e.createElementVNode("div",{class:"sticky top-0 z-10 bg-white border-b border-gray-200"},[e.createElementVNode("div",{class:"flex items-center justify-between p-4"},[e.createElementVNode("button",{class:"p-2 -ml-2 rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 transition-colors","aria-label":"Close management settings",onClick:g},[...I[2]||(I[2]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])]),I[3]||(I[3]=e.createElementVNode("h3",{class:"flex-1 text-sm font-bold text-gray-900 ml-2"}," Management Settings ",-1))])]),e.createElementVNode("nav",Kg,[e.createElementVNode("div",Xg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.managementSettings,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.name},[C.type==="section"?(e.openBlock(),e.createElementBlock("div",Qg,e.toDisplayString(C.label),1)):C.route?(e.openBlock(),e.createBlock(M,{key:1,to:C.route,class:e.normalizeClass(e.unref(k)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",L(C)?"bg-gradient-to-br from-blue-50 to-blue-100 text-blue-700 shadow-sm border border-blue-200":"text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent")),onClick:N=>F(C)},{default:e.withCtx(()=>[L(C)?(e.openBlock(),e.createElementBlock("div",Jg)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors",L(C)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"bg-gray-100 text-gray-600 group-hover:bg-gray-200"))},[C.icon?(e.openBlock(),e.createBlock(j,{key:0,icon:C.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(k)("flex-1 truncate font-semibold",L(C)?"text-blue-700":"text-gray-700"))},e.toDisplayString(C.label),3)]),_:2},1032,["to","class","onClick"])):e.createCommentVNode("",!0)],64))),128))])])],6)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","leave-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[(s.value||m.value)&&l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-30 bg-transparent",onClick:w})):e.createCommentVNode("",!0)]),_:1})])}}},Yo={__name:"Timeline",props:{orientation:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex",t.orientation==="vertical"?"flex-col":"flex-row"])},[e.renderSlot(n.$slots,"default")],2))}},Zg={key:0,class:"absolute left-3 top-0 w-0.5 h-full bg-slate-200"},ev={class:"z-10 flex items-center justify-center w-6 h-6 rounded-full border-2 border-blue-500 bg-white text-blue-500"},tv={class:"text-slate-900 font-medium"},av={key:0,class:"text-slate-500 text-sm"},nv={class:"mt-2 text-slate-600 text-sm"},Go={__name:"TimelineItem",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},orientation:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex",t.orientation==="vertical"?"items-start mb-8 last:mb-0":"flex-col items-center mx-8 last:mx-0"])},[t.orientation==="vertical"?(e.openBlock(),e.createElementBlock("div",Zg)):e.createCommentVNode("",!0),e.createElementVNode("div",ev,[e.renderSlot(n.$slots,"icon",{},()=>[a[0]||(a[0]=e.createElementVNode("div",{class:"w-2 h-2 rounded-full bg-blue-500"},null,-1))])]),e.createElementVNode("div",{class:e.normalizeClass(["ml-6",t.orientation==="horizontal"?"mt-2 text-center":""])},[e.createElementVNode("h3",tv,[e.renderSlot(n.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),t.subtitle?(e.openBlock(),e.createElementBlock("p",av,[e.renderSlot(n.$slots,"subtitle",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",nv,[e.renderSlot(n.$slots,"default")])],2)],2))}},ov={name:"AuthLayout",props:{title:{type:String,default:null},subtitle:{type:String,default:null},primaryLogoPrefix:{type:String,default:"e"},primaryLogoText:{type:String,default:"HORIZON"},secondaryLogoPrefix:{type:String,default:"e"},secondaryLogoText:{type:String,default:"Risk & Compliance"},quote:{type:String,default:""},primaryColor:{type:String,default:"#e74c3c"},backgroundColor:{type:String,default:"#2c2c2c"},backgroundImage:{type:String,default:"https://images.unsplash.com/photo-1497366216548-37526070297c?ixlib=rb-4.0.3&auto=format&fit=crop&w=2069&q=80"},backgroundOpacity:{type:Number,default:.4},companyName:{type:String,default:"SOFTWARE"},companyType:{type:String,default:"TECHNOLOGIES"},companyTagline:{type:String,default:"People | Processes | Governance"},companyInitials:{type:String,default:"ST"},appName:{type:String,default:"eHorizon eBoard X"},appVersion:{type:String,default:"Version 2.0"},copyright:{type:String,default:"Copyright © 2025 Software Technologies Limited"},socialLinks:{type:Array,default:()=>[{name:"linkedin",url:"#",icon:"linkedin-in",variant:"primary"},{name:"facebook",url:"#",icon:"facebook-f",variant:"primary"},{name:"twitter",url:"#",icon:"twitter",variant:"info"}]}},setup(){return{currentYear:e.computed(()=>new Date().getFullYear())}}},rv={class:"container mx-auto px-4 relative z-10"},lv={class:"grid lg:grid-cols-10 gap-8 items-center min-h-screen"},sv={class:"lg:col-span-6 text-white text-center lg:text-left space-y-6"},iv={class:"mb-6"},cv={class:"text-4xl lg:text-6xl font-bold mb-2"},dv={class:"text-white"},uv={class:"flex items-center justify-center lg:justify-start mb-6"},mv={class:"text-3xl lg:text-4xl font-bold text-white"},fv={class:"lg:col-span-4"},pv={class:"bg-white rounded-lg shadow-xl p-6 lg:p-8 max-w-md mx-auto"},gv={key:0,class:"mb-6"},vv={class:"text-center"},hv={class:"text-2xl font-bold text-gray-900"},bv={key:0,class:"text-gray-600 mt-2"},yv={class:"space-y-6"},xv={key:1,class:"mt-6"},kv={key:0,class:"mt-6 text-center"},wv={class:"absolute bottom-4 right-4 text-right"},Cv={class:"flex items-end justify-end mb-2"},Bv={class:"text-right mr-3"},Vv={class:"text-red-500 font-bold text-xs"},Sv={class:"text-white text-xs"},Ev={class:"text-white/70 text-xs"},Nv={class:"w-8 h-8 bg-red-500 rounded flex items-center justify-center text-white font-bold text-xs"},$v={class:"text-white/70 text-xs"},zv={class:"absolute bottom-4 left-4 flex gap-2"},Dv=["href"];function Tv(t,n,a,o,r,l){const s=e.resolveComponent("router-view"),u=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:"min-h-screen relative flex items-center justify-center",style:e.normalizeStyle({backgroundColor:a.backgroundColor})},[e.createElementVNode("div",{class:"absolute inset-0 bg-cover bg-center",style:e.normalizeStyle({backgroundImage:`url('${a.backgroundImage}')`,opacity:a.backgroundOpacity})},null,4),e.createElementVNode("div",rv,[e.createElementVNode("div",lv,[e.createElementVNode("div",sv,[e.createElementVNode("div",iv,[e.createElementVNode("div",cv,[e.createElementVNode("span",{style:e.normalizeStyle({color:a.primaryColor})},e.toDisplayString(a.primaryLogoPrefix),5),e.createElementVNode("span",dv,e.toDisplayString(a.primaryLogoText),1)]),e.createElementVNode("div",{class:"h-0.5 w-30 mx-auto lg:mx-0",style:e.normalizeStyle({backgroundColor:a.primaryColor})},null,4)]),e.createElementVNode("div",uv,[e.createElementVNode("div",{class:"flex items-center justify-center w-15 h-15 rounded-lg mr-4 text-white font-bold text-xl",style:e.normalizeStyle({backgroundColor:a.primaryColor})},e.toDisplayString(a.secondaryLogoPrefix),5),e.createElementVNode("span",mv,e.toDisplayString(a.secondaryLogoText),1)]),n[0]||(n[0]=e.createElementVNode("div",{class:"max-w-md mx-auto lg:mx-0"},[e.createElementVNode("p",{class:"text-sm lg:text-base font-light text-white/70 italic leading-relaxed"})],-1))]),e.createElementVNode("div",fv,[e.createElementVNode("div",pv,[t.$slots["card-header"]||a.title?(e.openBlock(),e.createElementBlock("div",gv,[e.renderSlot(t.$slots,"card-header",{},()=>[e.createElementVNode("div",vv,[e.createElementVNode("h1",hv,e.toDisplayString(a.title),1),a.subtitle?(e.openBlock(),e.createElementBlock("p",bv,e.toDisplayString(a.subtitle),1)):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",yv,[e.createVNode(s)]),t.$slots["card-footer"]?(e.openBlock(),e.createElementBlock("div",xv,[e.renderSlot(t.$slots,"card-footer")])):e.createCommentVNode("",!0)]),t.$slots.links?(e.openBlock(),e.createElementBlock("div",kv,[e.renderSlot(t.$slots,"links")])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",wv,[e.createElementVNode("div",Cv,[e.createElementVNode("div",Bv,[e.createElementVNode("div",Vv,e.toDisplayString(a.companyName),1),e.createElementVNode("div",Sv,e.toDisplayString(a.companyType),1),e.createElementVNode("div",Ev,e.toDisplayString(a.companyTagline),1)]),e.createElementVNode("div",Nv,e.toDisplayString(a.companyInitials),1)]),e.createElementVNode("div",$v,[e.createElementVNode("div",null,e.toDisplayString(a.appName)+" ("+e.toDisplayString(a.appVersion)+")",1),e.createElementVNode("div",null,e.toDisplayString(a.copyright),1)])]),e.createElementVNode("div",zv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.socialLinks,m=>(e.openBlock(),e.createElementBlock("a",{key:m.name,href:m.url,class:e.normalizeClass(["w-8 h-7 flex items-center justify-center rounded text-xs transition-colors",m.variant==="primary"?"bg-blue-600 hover:bg-blue-700 text-white":m.variant==="info"?"bg-cyan-500 hover:bg-cyan-600 text-white":"bg-gray-600 hover:bg-gray-700 text-white"])},[e.createVNode(u,{icon:["fab",m.icon]},null,8,["icon"])],10,Dv))),128))])],4)}const Ko=ft(ov,[["render",Tv]]),Av={class:"min-h-screen bg-gray-50"},Fv={class:"flex-1"},Pv={key:0,class:"bg-white border-b border-gray-200"},Lv={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},jv={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},Xo={__name:"DefaultLayout",props:{navigationItems:{type:Array,default:()=>[{label:"Home",href:"/",active:!0},{label:"About",href:"/about"},{label:"Services",href:"/services"},{label:"Contact",href:"/contact"}]},breadcrumbItems:{type:Array,default:()=>[]},showBreadcrumb:{type:Boolean,default:!1}},setup(t){return(n,a)=>{const o=e.resolveComponent("Logo"),r=e.resolveComponent("MainNavigation"),l=e.resolveComponent("Button"),s=e.resolveComponent("Header"),u=e.resolveComponent("Breadcrumb"),m=e.resolveComponent("Text"),p=e.resolveComponent("Footer");return e.openBlock(),e.createElementBlock("div",Av,[e.createVNode(s,null,{logo:e.withCtx(()=>[e.renderSlot(n.$slots,"logo",{},()=>[e.createVNode(o)])]),navigation:e.withCtx(()=>[e.renderSlot(n.$slots,"navigation",{},()=>[e.createVNode(r,{items:t.navigationItems},null,8,["items"])])]),actions:e.withCtx(()=>[e.renderSlot(n.$slots,"header-actions",{},()=>[e.createVNode(l,{variant:"ghost",size:"sm"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" Sign In ",-1)])]),_:1}),e.createVNode(l,{size:"sm"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode(" Get Started ",-1)])]),_:1})])]),_:3}),e.createElementVNode("main",Fv,[t.showBreadcrumb?(e.openBlock(),e.createElementBlock("div",Pv,[e.createElementVNode("div",Lv,[e.renderSlot(n.$slots,"breadcrumb",{},()=>[e.createVNode(u,{items:t.breadcrumbItems},null,8,["items"])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",jv,[e.renderSlot(n.$slots,"default")])]),e.createVNode(p,null,{brand:e.withCtx(()=>[e.renderSlot(n.$slots,"footer-brand",{},()=>[e.createVNode(o,{class:"mb-4"}),e.createVNode(m,{class:"text-gray-600 max-w-md"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" Your application description goes here. ",-1)])]),_:1})])]),_:3})])}}},Mv={name:"ErrorLayout",props:{errorType:{type:[String,Number],default:"404"},errorCode:{type:[String,Number],default:null},errorTitle:{type:String,default:null},errorMessage:{type:String,default:null},brandName:{type:String,default:"Software Technologies"},showLogo:{type:Boolean,default:!0},showBackground:{type:Boolean,default:!0},showDefaultIllustration:{type:Boolean,default:!0},showDefaultActions:{type:Boolean,default:!0},showHomeButton:{type:Boolean,default:!0},showBackButton:{type:Boolean,default:!0},showRetryButton:{type:Boolean,default:!1},showSupportButton:{type:Boolean,default:!1},showAdditionalInfo:{type:Boolean,default:!1},homeUrl:{type:String,default:"/"},homeButtonText:{type:String,default:"Go Home"},backButtonText:{type:String,default:"Go Back"},retryButtonText:{type:String,default:"Try Again"},helpText:{type:String,default:null},supportUrl:{type:String,default:null}},emits:["retry","back","contact-support"],setup(t,{emit:n}){const a=e.getCurrentInstance(),o=e.inject("$router",null)||a?.appContext.app.config.globalProperties?.$router,r=e.ref(!1),l=e.ref(!1),s=e.ref(navigator.onLine),u=e.ref(`err_${Date.now()}_${Math.random().toString(36).substr(2,9)}`),m=e.ref(!1),p=()=>{s.value=navigator.onLine};e.onMounted(()=>{window.addEventListener("online",p),window.addEventListener("offline",p)}),e.onUnmounted(()=>{window.removeEventListener("online",p),window.removeEventListener("offline",p)});const v=e.computed(()=>{const U={404:{title:"Page Not Found",message:"Sorry, we couldn't find the page you're looking for.",icon:"🔍",color:"#64748b",homeButtonIcon:"🏠",additionalInfo:{title:"What can you do?",items:[{icon:"✓",iconColor:"green-500",text:"Check the URL for typos"},{icon:"✓",iconColor:"green-500",text:"Go back to the previous page"},{icon:"✓",iconColor:"green-500",text:"Visit our homepage"}]}},403:{title:"Unauthorized Access",message:"You are not authorized to view this page.",icon:"🚫",color:"#ef4444",homeButtonIcon:"🔐",additionalInfo:{title:"Why am I seeing this?",items:[{icon:"⚠️",iconColor:"yellow-500",text:"You may need to log in to access this page"},{icon:"⚠️",iconColor:"yellow-500",text:"Your account might not have the required permissions"},{icon:"⚠️",iconColor:"yellow-500",text:"Contact support if you believe this is an error"}]}},401:{title:"Authentication Required",message:"You need to log in to access this resource.",icon:"🔐",color:"#f59e0b",homeButtonIcon:"🔐",additionalInfo:{title:"How to proceed?",items:[{icon:"✓",iconColor:"blue-500",text:"Log in with your credentials"},{icon:"✓",iconColor:"blue-500",text:"Create an account if you don't have one"},{icon:"✓",iconColor:"blue-500",text:"Reset your password if you forgot it"}]}},500:{title:"Internal Server Error",message:"Something went wrong on our end. Please try again later.",icon:"🔧",color:"#ef4444",homeButtonIcon:"🏠",additionalInfo:{title:"What happened?",items:[{icon:"⚠️",iconColor:"red-500",text:"Our servers are experiencing issues"},{icon:"⚠️",iconColor:"red-500",text:"The problem is temporary"},{icon:"⚠️",iconColor:"red-500",text:"Try refreshing the page or come back later"}]}},503:{title:"Service Unavailable",message:"The service is temporarily unavailable. Please try again later.",icon:"🔧",color:"#f59e0b",homeButtonIcon:"🏠",additionalInfo:{title:"Service Status",items:[{icon:"⚠️",iconColor:"amber-500",text:"We're performing scheduled maintenance"},{icon:"⚠️",iconColor:"amber-500",text:"Normal service will resume shortly"},{icon:"⚠️",iconColor:"amber-500",text:"Check our status page for updates"}]}},network:{title:"Network Error",message:"Unable to connect to the server. Please check your internet connection.",icon:"📶",color:"#ef4444",homeButtonIcon:"🏠",additionalInfo:{title:"Connection Issues",items:[{icon:"⚠️",iconColor:"red-500",text:"Check your internet connection"},{icon:"⚠️",iconColor:"red-500",text:"Try refreshing the page"},{icon:"⚠️",iconColor:"red-500",text:"Contact your network administrator"}]}}};return U[t.errorType]||U[404]}),h=e.computed(()=>v.value),S=e.computed(()=>t.errorTitle||h.value.title),b=e.computed(()=>t.errorMessage||h.value.message),y=e.computed(()=>h.value.homeButtonIcon||"🏠"),f=e.computed(()=>t.showAdditionalInfo?h.value.additionalInfo:null),d=()=>{o?o.push(t.homeUrl):window.location.href=t.homeUrl},i=()=>{o&&window.history.length>1?o.back():window.history.length>1?window.history.back():d(),n("back")},c=async()=>{r.value=!0;try{await new Promise(U=>setTimeout(U,1e3)),window.location.reload()}catch(U){console.error("Retry failed:",U)}finally{r.value=!1}n("retry")},g=e.computed(()=>["min-h-screen relative flex items-center justify-center","px-4 sm:px-6 lg:px-8"]),w=e.computed(()=>["absolute inset-0 -z-10"]),x=e.computed(()=>["w-full max-w-2xl mx-auto text-center"]),F=e.computed(()=>["mb-8"]),L=e.computed(()=>["space-y-8"]),H=e.computed(()=>["flex justify-center mb-6"]),_=e.computed(()=>["w-32 h-32 flex items-center justify-center"]),E=e.computed(()=>["space-y-4"]),I=e.computed(()=>["text-6xl font-bold text-slate-300 mb-4"]),M=e.computed(()=>["text-3xl font-bold text-slate-900"]),C=e.computed(()=>["text-lg text-slate-600 max-w-lg mx-auto"]),N=e.computed(()=>["mt-8"]),P=e.computed(()=>["mt-8"]),W=e.computed(()=>["mt-6"]);return{isRetrying:r,reportSent:l,isOnline:s,errorId:u,isDev:m,errorConfig:h,title:S,message:b,homeButtonIcon:y,additionalInfoConfig:f,goHome:d,goBack:i,retry:c,layoutClasses:g,backgroundClasses:w,contentClasses:x,headerClasses:F,errorContentClasses:L,illustrationClasses:H,iconContainerClasses:_,detailsClasses:E,codeClasses:I,titleClasses:M,messageClasses:C,actionsClasses:N,additionalInfoClasses:P,helpClasses:W}}},Iv={class:"flex justify-center"},Ov={class:"flex items-center gap-3"},Rv={class:"text-2xl font-bold text-slate-900"},_v={key:1,class:"bg-red-100 border border-red-200 rounded-lg p-4 mx-auto max-w-md mb-6"},Uv={class:"flex flex-col sm:flex-row gap-4 justify-center"},qv=["disabled"],Hv={key:0,class:"animate-spin"},Wv={key:1},Yv=["disabled"],Gv={key:0},Kv={key:1},Xv={key:0,class:"mt-8 max-w-md mx-auto"},Qv={class:"bg-white rounded-lg border border-slate-200 shadow-sm p-6"},Jv={class:"text-lg font-semibold text-slate-900 mb-4"},Zv={class:"space-y-3"},e0={class:"text-sm text-slate-600"},t0=["href"],a0={key:5,class:"text-xs text-slate-400 font-mono mt-4"};function n0(t,n,a,o,r,l){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.layoutClasses)},[a.showBackground?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.backgroundClasses)},[e.renderSlot(t.$slots,"background",{},()=>[n[4]||(n[4]=e.createElementVNode("div",{class:"absolute inset-0 bg-gradient-to-br from-slate-50 to-slate-100"},null,-1))])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(o.contentClasses)},[t.$slots.header||a.showLogo?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.headerClasses)},[e.renderSlot(t.$slots,"header",{},()=>[e.createElementVNode("div",Iv,[e.renderSlot(t.$slots,"logo",{},()=>[e.createElementVNode("div",Ov,[n[5]||(n[5]=e.createElementVNode("div",{class:"w-10 h-10 bg-blue-600 rounded-xl flex items-center justify-center"},[e.createElementVNode("span",{class:"text-white font-bold text-lg"},"STL")],-1)),e.createElementVNode("span",Rv,e.toDisplayString(a.brandName),1)])])])])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(o.errorContentClasses)},[t.$slots.illustration||a.showDefaultIllustration?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.illustrationClasses)},[e.renderSlot(t.$slots,"illustration",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(o.iconContainerClasses)},[e.createElementVNode("div",{class:"text-8xl",style:e.normalizeStyle({color:o.errorConfig.color})},e.toDisplayString(o.errorConfig.icon),5)],2)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(o.detailsClasses)},[a.errorCode?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.codeClasses)},e.toDisplayString(a.errorCode),3)):e.createCommentVNode("",!0),e.createElementVNode("h1",{class:e.normalizeClass(o.titleClasses)},[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(o.title),1)])],2),e.createElementVNode("p",{class:e.normalizeClass(o.messageClasses)},[e.renderSlot(t.$slots,"message",{},()=>[e.createTextVNode(e.toDisplayString(o.message),1)])],2)],2),o.isOnline?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",_v,[...n[6]||(n[6]=[e.createElementVNode("div",{class:"flex items-center justify-center gap-2 text-red-700"},[e.createElementVNode("span",{class:"w-3 h-3 bg-red-500 rounded-full animate-pulse"}),e.createElementVNode("span",{class:"font-medium"},"No Internet Connection")],-1)])])),t.$slots.actions||a.showDefaultActions?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(o.actionsClasses)},[e.renderSlot(t.$slots,"actions",{},()=>[e.createElementVNode("div",Uv,[a.showHomeButton?(e.openBlock(),e.createElementBlock("button",{key:0,class:"bg-blue-600 text-white px-6 py-3 rounded-lg font-medium hover:bg-blue-700 transition-colors flex items-center justify-center gap-2",onClick:n[0]||(n[0]=(...s)=>o.goHome&&o.goHome(...s))},[e.createElementVNode("span",null,e.toDisplayString(o.homeButtonIcon),1),e.createTextVNode(" "+e.toDisplayString(a.homeButtonText),1)])):e.createCommentVNode("",!0),a.showBackButton?(e.openBlock(),e.createElementBlock("button",{key:1,class:"border border-slate-300 text-slate-700 px-6 py-3 rounded-lg font-medium hover:bg-slate-50 transition-colors flex items-center justify-center gap-2",onClick:n[1]||(n[1]=(...s)=>o.goBack&&o.goBack(...s))},[n[7]||(n[7]=e.createElementVNode("span",null,"←",-1)),e.createTextVNode(" "+e.toDisplayString(a.backButtonText),1)])):e.createCommentVNode("",!0),a.showRetryButton?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:o.isRetrying||!o.isOnline,class:"border border-slate-300 text-slate-700 px-6 py-3 rounded-lg font-medium hover:bg-slate-50 transition-colors flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",onClick:n[2]||(n[2]=(...s)=>o.retry&&o.retry(...s))},[o.isRetrying?(e.openBlock(),e.createElementBlock("span",Hv,"↻")):(e.openBlock(),e.createElementBlock("span",Wv,"🔄")),e.createTextVNode(" "+e.toDisplayString(o.isRetrying?"Retrying...":a.retryButtonText),1)],8,qv)):e.createCommentVNode("",!0),a.showSupportButton?(e.openBlock(),e.createElementBlock("button",{key:3,disabled:o.reportSent,class:"bg-slate-600 text-white px-6 py-3 rounded-lg font-medium hover:bg-slate-700 transition-colors flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",onClick:n[3]||(n[3]=s=>t.$emit("contact-support"))},[o.reportSent?(e.openBlock(),e.createElementBlock("span",Gv,"✓")):(e.openBlock(),e.createElementBlock("span",Kv,"📝")),e.createTextVNode(" "+e.toDisplayString(o.reportSent?"Report Sent":"Contact Support"),1)],8,Yv)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),t.$slots["additional-info"]||a.showAdditionalInfo?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(o.additionalInfoClasses)},[e.renderSlot(t.$slots,"additional-info",{},()=>[o.additionalInfoConfig?(e.openBlock(),e.createElementBlock("div",Xv,[e.createElementVNode("div",Qv,[e.createElementVNode("h3",Jv,e.toDisplayString(o.additionalInfoConfig.title),1),e.createElementVNode("ul",Zv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.additionalInfoConfig.items,(s,u)=>(e.openBlock(),e.createElementBlock("li",{key:u,class:"flex items-start gap-3 text-sm text-slate-600"},[e.createElementVNode("span",{class:e.normalizeClass(`w-4 h-4 text-${s.iconColor||"slate-400"} flex-shrink-0 mt-0.5`)},e.toDisplayString(s.icon),3),e.createElementVNode("span",null,e.toDisplayString(s.text),1)]))),128))])])])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),t.$slots.help||a.helpText?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(o.helpClasses)},[e.renderSlot(t.$slots,"help",{},()=>[e.createElementVNode("p",e0,[e.createTextVNode(e.toDisplayString(a.helpText)+" ",1),a.supportUrl?(e.openBlock(),e.createElementBlock("a",{key:0,href:a.supportUrl,class:"text-blue-600 hover:text-blue-700 underline ml-1"},[...n[8]||(n[8]=[e.createElementVNode("span",{class:"inline-block w-4 h-4 mr-1"},"❓",-1),e.createTextVNode(" Get Help ",-1)])],8,t0)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),o.isDev?(e.openBlock(),e.createElementBlock("div",a0," Error ID: "+e.toDisplayString(o.errorId),1)):e.createCommentVNode("",!0)],2)],2)],2)}const Qo=ft(Mv,[["render",n0]]),_t={mounted(t,n){if(!n.value)return;const a=Object.keys(n.modifiers)[0]||"top",o=document.createElement("div");o.textContent=n.value,o.className="tooltip-custom",o.style.cssText=`
607
+ `},a=t,o=e.ref(!1),r=()=>o.value=!o.value,l=z.cva("",{variants:{variant:{default:"",bordered:"border border-slate-200 rounded-lg overflow-hidden",filled:"bg-slate-50 border border-slate-200 rounded-lg overflow-hidden",flush:""}}}),s=z.cva("flex items-center justify-between w-full text-left transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",{variants:{size:{sm:"p-3 text-sm",md:"p-4 text-base",lg:"p-6 text-lg"}}}),u=z.cva("overflow-hidden text-slate-600 border-t border-slate-200",{variants:{size:{sm:"p-3 text-sm",md:"p-4 text-base",lg:"p-6 text-lg"}}}),m=e.computed(()=>k(l({variant:a.variant}))),p=e.computed(()=>k(s({size:a.size}))),v=e.computed(()=>k(u({size:a.size})));return(h,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(m.value)},[e.createVNode(J,{class:e.normalizeClass(p.value),"aria-expanded":o.value,onClick:r},{default:e.withCtx(()=>[e.renderSlot(h.$slots,"header",{isOpen:o.value}),e.createVNode(n,{class:e.normalizeClass(e.unref(k)("w-5 h-5 transition-transform ml-2",{"rotate-180":o.value}))},null,8,["class"])]),_:3},8,["class","aria-expanded"]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"opacity-0 max-h-0","enter-to-class":"opacity-100 max-h-96","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"opacity-100 max-h-96","leave-to-class":"opacity-0 max-h-0"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(v.value)},[e.renderSlot(h.$slots,"content",{isOpen:o.value})],2)):e.createCommentVNode("",!0)]),_:3})],2))}},gu={class:"relative w-full"},vu={class:"relative"},hu=["id","value","disabled","placeholder","required","aria-describedby"],bu={class:"flex items-center justify-between mb-3"},yu={class:"text-sm font-medium"},xu={class:"grid grid-cols-7 gap-1 mb-2"},ku={class:"grid grid-cols-7 gap-1"},wu=["disabled","onClick"],Cu={key:0,class:"mt-4 pt-3 border-t border-slate-200"},To={__name:"Calendar",props:{id:String,modelValue:[String,Date],disabled:Boolean,required:Boolean,min:[String,Date],max:[String,Date],placeholder:{type:String,default:"Select date"},format:{type:String,default:"MM/DD/YYYY"},clearable:{type:Boolean,default:!0},showToday:{type:Boolean,default:!0},calendarPosition:{type:String,default:"left-0"},ariaDescribedby:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=new Date,s=e.ref(l.getMonth()),u=e.ref(l.getFullYear()),m=e.ref(null),p=["Su","Mo","Tu","We","Th","Fr","Sa"],v=e.computed(()=>new Date(u.value,s.value).toLocaleString("default",{month:"long"})),h=e.computed(()=>new Date(u.value,s.value+1,0).getDate()),S=e.computed(()=>new Date(u.value,s.value,1).getDay()),b=e.computed(()=>{const M=new Date(u.value,s.value,0).getDate(),C=S.value;return Array.from({length:C},(N,P)=>M-C+P+1)}),y=e.computed(()=>{const M=b.value.length+h.value,C=M%7===0?0:7-M%7;return Array.from({length:C},(N,P)=>P+1)}),f=e.computed(()=>m.value?d(m.value):"");function d(M){if(!M)return"";const C=new Date(M),N=String(C.getMonth()+1).padStart(2,"0"),P=String(C.getDate()).padStart(2,"0"),W=C.getFullYear();return a.format.replace("MM",N).replace("DD",P).replace("YYYY",W)}function i(M){if(!M)return null;if(M instanceof Date)return M;const C=new Date(M);return isNaN(C.getTime())?null:C}function c(M){if(!m.value)return!1;const C=new Date(m.value);return C.getDate()===M&&C.getMonth()===s.value&&C.getFullYear()===u.value}function g(M){const C=new Date(u.value,s.value,M);if(a.min){const N=i(a.min);if(N&&C<N)return!0}if(a.max){const N=i(a.max);if(N&&C>N)return!0}return!1}function w(){a.disabled||(r.value=!r.value)}function x(){r.value=!1}function F(){s.value===0?(s.value=11,u.value--):s.value--}function L(){s.value===11?(s.value=0,u.value++):s.value++}function H(M){if(g(M))return;const C=new Date(u.value,s.value,M);m.value=C,o("update:modelValue",C.toISOString().split("T")[0]),r.value=!1}function _(){s.value=l.getMonth(),u.value=l.getFullYear(),H(l.getDate())}function E(){m.value=null,o("update:modelValue","")}e.watch(()=>a.modelValue,M=>{if(M){const C=i(M);C&&(m.value=C,s.value=C.getMonth(),u.value=C.getFullYear())}else m.value=null},{immediate:!0});function I(M){M.key==="Escape"&&r.value&&x()}return e.onMounted(()=>{document.addEventListener("keydown",I)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",I)}),(M,C)=>(e.openBlock(),e.createElementBlock("div",gu,[e.createElementVNode("div",vu,[e.createElementVNode("input",{id:t.id,type:"text",value:f.value,readonly:"",disabled:t.disabled,placeholder:t.placeholder,required:t.required,"aria-describedby":t.ariaDescribedby,class:"w-full px-3 py-2 pr-10 border border-slate-300 rounded-md bg-white text-slate-900 placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 cursor-pointer disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed",onClick:w},null,8,hu),C[2]||(C[2]=e.createElementVNode("div",{class:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none"},[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[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)),t.clearable&&f.value&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-9 top-1/2 -translate-y-1/2 p-1 hover:bg-slate-100 rounded","aria-label":"Clear date",onClick:e.withModifiers(E,["stop"])},[...C[1]||(C[1]=[e.createElementVNode("svg",{class:"w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute z-[99999] mt-2 bg-white border border-slate-200 rounded-lg shadow-lg p-4",t.calendarPosition]),onClick:C[0]||(C[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",bu,[e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-gray-100 rounded","aria-label":"Previous Month",onClick:F},[...C[3]||(C[3]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 18l-6-6 6-6"})],-1)])]),e.createElementVNode("div",yu,e.toDisplayString(v.value)+" "+e.toDisplayString(u.value),1),e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-gray-100 rounded","aria-label":"Next Month",onClick:L},[...C[4]||(C[4]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 18l6-6-6-6"})],-1)])])]),e.createElementVNode("div",xu,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(p,N=>e.createElementVNode("div",{key:N,class:"text-center text-xs font-medium text-slate-600 py-1"},e.toDisplayString(N),1)),64))]),e.createElementVNode("div",ku,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(N,P)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+P,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(N),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,N=>(e.openBlock(),e.createElementBlock("button",{key:N,type:"button",disabled:g(N),class:e.normalizeClass(["w-8 h-8 text-sm rounded flex items-center justify-center",c(N)?"bg-blue-500 text-white":"hover:bg-gray-100",g(N)?"text-gray-300 cursor-not-allowed":""]),onClick:P=>H(N)},e.toDisplayString(N),11,wu))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(N,P)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+P,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(N),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",Cu,[e.createElementVNode("button",{type:"button",class:"w-full px-3 py-2 text-sm font-medium text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",onClick:_}," Today ")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-[99998]",onClick:x})):e.createCommentVNode("",!0)]))}},Bu={class:"flex items-start justify-between"},Vu={class:"flex-1 min-w-0"},Su={key:0,class:"flex-shrink-0 ml-4"},Eu="text-lg font-semibold text-slate-900 truncate",Nu="text-sm text-slate-600 mt-1",Ao={__name:"Graph",props:{variant:{type:String,default:"default",validator:t=>["default","outlined","elevated","filled"].includes(t)},padding:{type:String,default:"md",validator:t=>["none","sm","md","lg","xl"].includes(t)},title:String,description:String},setup(t){const n=z.cva("rounded-lg overflow-hidden transition-all duration-200",{variants:{variant:{default:"bg-white border border-slate-200",outlined:"bg-white border-2 border-slate-300",elevated:"bg-white shadow-lg border border-slate-100",filled:"bg-slate-50 border border-slate-200"},padding:{none:"",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}},defaultVariants:{variant:"default",padding:"md"}}),a=z.cva("border-b border-slate-100 last:border-b-0",{variants:{padding:{none:"p-4 pb-0",sm:"px-3 pt-3",md:"px-4 pt-4",lg:"px-6 pt-6",xl:"px-8 pt-8"}}}),o=z.cva("border-b border-slate-100",{variants:{padding:{none:"p-4 pb-0",sm:"px-3 py-3",md:"px-4 py-4",lg:"px-6 py-6",xl:"px-8 py-8"}}}),r=z.cva("",{variants:{padding:{none:"p-4",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}}}),l=z.cva("border-t border-slate-100 bg-slate-50/50",{variants:{padding:{none:"p-4 pt-0",sm:"px-3 pb-3",md:"px-4 pb-4",lg:"px-6 pb-6",xl:"px-8 pb-8"}}}),s=z.cva("border-t border-slate-100 bg-slate-50/50",{variants:{padding:{none:"p-4 pt-0",sm:"px-3 pb-3",md:"px-4 pb-4",lg:"px-6 pb-6",xl:"px-8 pb-8"}}});return(u,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(k)(e.unref(n)({variant:t.variant,padding:t.padding})))},[u.$slots.header||t.title||t.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(k)(e.unref(a)({padding:t.padding})))},[e.renderSlot(u.$slots,"header",{},()=>[e.createElementVNode("div",Bu,[e.createElementVNode("div",Vu,[t.title?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(Eu)},e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(Nu)},e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),u.$slots.actions?(e.openBlock(),e.createElementBlock("div",Su,[e.renderSlot(u.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),u.$slots.filters?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(k)(e.unref(o)({padding:t.padding})))},[e.renderSlot(u.$slots,"filters")],2)):e.createCommentVNode("",!0),u.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(k)(e.unref(r)({padding:t.padding})))},[e.renderSlot(u.$slots,"default")],2)):e.createCommentVNode("",!0),u.$slots.legend?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(k)(e.unref(l)({padding:t.padding})))},[e.renderSlot(u.$slots,"legend")],2)):e.createCommentVNode("",!0),u.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(e.unref(k)(e.unref(s)({padding:t.padding})))},[e.renderSlot(u.$slots,"footer")],2)):e.createCommentVNode("",!0)],2))}},$u={class:"w-full h-full"},zu=["width","height","viewBox"],Du={key:0},Tu=["x1","y1","x2","y2","stroke"],Au=["x","y","width","height","fill","onMouseenter"],Fu={key:1},Pu=["x","y"],Lu={key:2},ju=["x","y"],Mu={key:3},Iu=["x","y","width","height","fill","stroke"],Ou=["x","y"],Fo={__name:"BarChart",props:{data:{type:Array,required:!0},labels:{type:Array,default:()=>[]},colors:{type:Array,default:()=>["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6"]},width:{type:Number,default:400},height:{type:Number,default:300},padding:{type:Object,default:()=>({top:20,right:20,bottom:60,left:60})},showGrid:{type:Boolean,default:!0},showXAxis:{type:Boolean,default:!0},showYAxis:{type:Boolean,default:!0},gridColor:{type:String,default:"#e5e7eb"},barClasses:{type:String,default:"transition-all duration-200 hover:opacity-80 cursor-pointer"},axisLabelClasses:{type:String,default:"fill-slate-600 text-xs font-medium"},tooltipBackground:{type:String,default:"#1f2937"},tooltipBorder:{type:String,default:"#374151"},tooltipTextClasses:{type:String,default:"fill-white text-xs font-medium"},maxValue:{type:Number,default:null}},emits:["bar-click","bar-hover"],setup(t,{emit:n}){const a=t,o=n,r=e.ref({visible:!1,x:0,y:0,width:0,height:0,content:""}),l=e.computed(()=>a.maxValue||Math.max(...a.data)),s=e.computed(()=>(a.width-a.padding.left-a.padding.right)/a.data.length*.8),u=e.computed(()=>(a.width-a.padding.left-a.padding.right)/a.data.length*.2),m=e.computed(()=>{const d=[],i=a.height-a.padding.top-a.padding.bottom,c=5;for(let g=0;g<=c;g++){const w=a.padding.top+i/c*g;d.push(w)}return d}),p=d=>a.padding.left+d*(s.value+u.value)+u.value/2,v=d=>{const i=a.height-a.padding.top-a.padding.bottom,c=i/l.value;return a.padding.top+i-d*c},h=d=>{const c=(a.height-a.padding.top-a.padding.bottom)/l.value;return d*c},S=d=>a.colors[d%a.colors.length],b=d=>{const i=a.height-a.padding.top-a.padding.bottom,c=(a.height-a.padding.bottom-d)/i*l.value;return Math.round(c)},y=(d,i,c)=>{const g=d.target.getBoundingClientRect(),w=a.labels[c]||`Item ${c+1}`;r.value={visible:!0,x:g.left+g.width/2,y:g.top,width:80,height:24,content:`${w}: ${i}`},o("bar-hover",{value:i,index:c,label:w})},f=()=>{r.value.visible=!1};return(d,i)=>(e.openBlock(),e.createElementBlock("div",$u,[(e.openBlock(),e.createElementBlock("svg",{width:t.width,height:t.height,viewBox:`0 0 ${t.width} ${t.height}`,class:"overflow-visible"},[t.showGrid?(e.openBlock(),e.createElementBlock("g",Du,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,c=>(e.openBlock(),e.createElementBlock("line",{key:`grid-${c}`,x1:t.padding.left,y1:c,x2:t.width-t.padding.right,y2:c,stroke:t.gridColor,"stroke-width":"1","stroke-dasharray":"2,2"},null,8,Tu))),128))])):e.createCommentVNode("",!0),e.createElementVNode("g",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,(c,g)=>(e.openBlock(),e.createElementBlock("rect",{key:`bar-${g}`,x:p(g),y:v(c),width:s.value,height:h(c),fill:S(g),class:e.normalizeClass(t.barClasses),onMouseenter:w=>y(w,c,g),onMouseleave:f},null,42,Au))),128))]),t.showXAxis?(e.openBlock(),e.createElementBlock("g",Fu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.labels,(c,g)=>(e.openBlock(),e.createElementBlock("text",{key:`xlabel-${g}`,x:p(g)+s.value/2,y:t.height-t.padding.bottom+20,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"middle"},e.toDisplayString(c),11,Pu))),128))])):e.createCommentVNode("",!0),t.showYAxis?(e.openBlock(),e.createElementBlock("g",Lu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,c=>(e.openBlock(),e.createElementBlock("text",{key:`ylabel-${c}`,x:t.padding.left-10,y:c+4,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"end"},e.toDisplayString(b(c)),11,ju))),128))])):e.createCommentVNode("",!0),r.value.visible?(e.openBlock(),e.createElementBlock("g",Mu,[e.createElementVNode("rect",{x:r.value.x-r.value.width/2,y:r.value.y-r.value.height-10,width:r.value.width,height:r.value.height,fill:t.tooltipBackground,stroke:t.tooltipBorder,"stroke-width":"1",rx:"4"},null,8,Iu),e.createElementVNode("text",{x:r.value.x,y:r.value.y-r.value.height/2-2,class:e.normalizeClass(t.tooltipTextClasses),"text-anchor":"middle"},e.toDisplayString(r.value.content),11,Ou)])):e.createCommentVNode("",!0)],8,zu))]))}},Ru={class:"w-full h-full"},_u=["width","height","viewBox"],Uu={key:0},qu=["x1","y1","x2","y2","stroke"],Hu=["d","stroke","stroke-width"],Wu={key:1},Yu=["cx","cy","r","fill","stroke","onMouseenter"],Gu=["d","fill","fill-opacity"],Ku={key:3},Xu=["x","y"],Qu={key:4},Ju=["x","y"],Zu={key:5},em=["x","y","width","height","fill","stroke"],tm=["x","y"],Po={__name:"LineChart",props:{data:{type:Array,required:!0},labels:{type:Array,default:()=>[]},width:{type:Number||String,default:400},height:{type:Number,default:300},padding:{type:Object,default:()=>({top:20,right:20,bottom:60,left:60})},showGrid:{type:Boolean,default:!0},showXAxis:{type:Boolean,default:!0},showYAxis:{type:Boolean,default:!0},showPoints:{type:Boolean,default:!0},fillArea:{type:Boolean,default:!1},gridColor:{type:String,default:"#e5e7eb"},lineColor:{type:String,default:"#3b82f6"},strokeWidth:{type:Number,default:2},pointRadius:{type:Number,default:4},pointColor:{type:String,default:"#ffffff"},fillColor:{type:String,default:"#3b82f6"},fillOpacity:{type:Number,default:.1},lineClasses:{type:String,default:"transition-all duration-200"},pointClasses:{type:String,default:"transition-all duration-200 hover:r-6 cursor-pointer"},axisLabelClasses:{type:String,default:"fill-slate-600 text-xs font-medium"},tooltipBackground:{type:String,default:"#1f2937"},tooltipBorder:{type:String,default:"#374151"},tooltipTextClasses:{type:String,default:"fill-white text-xs font-medium"},maxValue:{type:Number,default:null}},emits:["point-click","point-hover"],setup(t,{emit:n}){const a=t,o=n,r=e.ref({visible:!1,x:0,y:0,width:0,height:0,content:""}),l=e.computed(()=>a.maxValue||Math.max(...a.data)),s=e.computed(()=>a.data.map((f,d)=>({x:v(d),y:h(f),value:f}))),u=e.computed(()=>s.value.length===0?"":s.value.map((d,i)=>`${i===0?"M":"L"} ${d.x} ${d.y}`).join(" ")),m=e.computed(()=>{if(s.value.length===0)return"";const f=s.value.map((c,g)=>`${g===0?"M":"L"} ${c.x} ${c.y}`).join(" "),d=a.height-a.padding.bottom,i=`L ${s.value[s.value.length-1].x} ${d} L ${s.value[0].x} ${d} Z`;return f+" "+i}),p=e.computed(()=>{const f=[],d=a.height-a.padding.top-a.padding.bottom,i=5;for(let c=0;c<=i;c++){const g=a.padding.top+d/i*c;f.push(g)}return f}),v=f=>{const i=(a.width-a.padding.left-a.padding.right)/(a.data.length-1||1);return a.padding.left+f*i},h=f=>{const d=a.height-a.padding.top-a.padding.bottom,i=d/l.value;return a.padding.top+d-f*i},S=f=>{const d=a.height-a.padding.top-a.padding.bottom,i=(a.height-a.padding.bottom-f)/d*l.value;return Math.round(i)},b=(f,d,i)=>{const c=f.target.getBoundingClientRect(),g=a.labels[i]||`Point ${i+1}`;r.value={visible:!0,x:c.left+c.width/2,y:c.top,width:80,height:24,content:`${g}: ${d}`},o("point-hover",{value:d,index:i,label:g})},y=()=>{r.value.visible=!1};return(f,d)=>(e.openBlock(),e.createElementBlock("div",Ru,[(e.openBlock(),e.createElementBlock("svg",{width:t.width,height:t.height,viewBox:`0 0 ${t.width} ${t.height}`,class:"overflow-visible"},[t.showGrid?(e.openBlock(),e.createElementBlock("g",Uu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,i=>(e.openBlock(),e.createElementBlock("line",{key:`grid-${i}`,x1:t.padding.left,y1:i,x2:t.width-t.padding.right,y2:i,stroke:t.gridColor,"stroke-width":"1","stroke-dasharray":"2,2"},null,8,qu))),128))])):e.createCommentVNode("",!0),e.createElementVNode("path",{d:u.value,stroke:t.lineColor,"stroke-width":t.strokeWidth,fill:"none",class:e.normalizeClass(t.lineClasses)},null,10,Hu),t.showPoints?(e.openBlock(),e.createElementBlock("g",Wu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(i,c)=>(e.openBlock(),e.createElementBlock("circle",{key:`point-${c}`,cx:i.x,cy:i.y,r:t.pointRadius,fill:t.pointColor,stroke:t.lineColor,"stroke-width":2,class:e.normalizeClass(t.pointClasses),onMouseenter:g=>b(g,i.value,c),onMouseleave:y},null,42,Yu))),128))])):e.createCommentVNode("",!0),t.fillArea?(e.openBlock(),e.createElementBlock("path",{key:2,d:m.value,fill:t.fillColor,"fill-opacity":t.fillOpacity},null,8,Gu)):e.createCommentVNode("",!0),t.showXAxis?(e.openBlock(),e.createElementBlock("g",Ku,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.labels,(i,c)=>(e.openBlock(),e.createElementBlock("text",{key:`xlabel-${c}`,x:v(c),y:t.height-t.padding.bottom+20,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"middle"},e.toDisplayString(i),11,Xu))),128))])):e.createCommentVNode("",!0),t.showYAxis?(e.openBlock(),e.createElementBlock("g",Qu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,i=>(e.openBlock(),e.createElementBlock("text",{key:`ylabel-${i}`,x:t.padding.left-10,y:i+4,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"end"},e.toDisplayString(S(i)),11,Ju))),128))])):e.createCommentVNode("",!0),r.value.visible?(e.openBlock(),e.createElementBlock("g",Zu,[e.createElementVNode("rect",{x:r.value.x-r.value.width/2,y:r.value.y-r.value.height-10,width:r.value.width,height:r.value.height,fill:t.tooltipBackground,stroke:t.tooltipBorder,"stroke-width":"1",rx:"4"},null,8,em),e.createElementVNode("text",{x:r.value.x,y:r.value.y-r.value.height/2-2,class:e.normalizeClass(t.tooltipTextClasses),"text-anchor":"middle"},e.toDisplayString(r.value.content),11,tm)])):e.createCommentVNode("",!0)],8,_u))]))}},am={class:"bg-white border-b border-gray-200"},nm={key:0,class:"flex items-center gap-3 min-w-64"},om={class:"relative flex-1"},rm={class:"relative flex-1"},lm={key:1,class:"min-w-40"},sm={class:"relative"},im={key:2,class:"min-w-40"},cm={class:"relative"},dm=["value"],um={key:3,class:"flex items-center gap-2"},mm={class:"flex items-center gap-3 ml-auto"},fm={class:"flex items-center gap-3 flex-wrap"},pm=["onClick"],Lo={__name:"GraphFilters",props:{showDateFilter:{type:Boolean,default:!0},showChartTypeFilter:{type:Boolean,default:!0},showExport:{type:Boolean,default:!1},showRefresh:{type:Boolean,default:!0},dataSources:{type:Array,default:()=>[]},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:dateFrom","update:dateTo","update:chartType","update:dataSource","export","refresh","clear-filters"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(""),l=e.ref(""),s=e.ref("bar"),u=e.ref(""),m=z.cva("flex flex-wrap items-center gap-4",{variants:{variant:{default:"bg-white",minimal:"bg-transparent",bordered:"bg-gray-50"},padding:{compact:"px-4 py-3",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),p=e.computed(()=>r.value||l.value||u.value),v=e.computed(()=>{const _=[];if(r.value||l.value){let E="";r.value&&l.value?E=`${r.value} to ${l.value}`:r.value?E=`From ${r.value}`:l.value&&(E=`Until ${l.value}`),E&&_.push({key:"date",label:"Date Range",value:E,icon:"calendar"})}if(u.value){const E=a.dataSources.find(I=>I.value===u.value);_.push({key:"dataSource",label:"Data Source",value:E?.label||u.value,icon:"database"})}return _}),h=e.computed(()=>k(m({variant:a.variant,padding:a.padding}))),S=e.computed(()=>"w-full pl-10 pr-3 py-2 border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent text-sm"),b=e.computed(()=>"w-full pr-8 appearance-none border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent text-sm py-2 pl-3"),y=e.computed(()=>"text-gray-700 hover:text-gray-900 border border-gray-200 hover:bg-gray-50 bg-white px-3 py-2 rounded-lg text-sm font-medium transition-all"),f=e.computed(()=>"text-white bg-blue-600 hover:bg-blue-700 border border-blue-600 px-3 py-2 rounded-lg text-sm font-medium transition-all"),d=e.computed(()=>"text-gray-700 hover:text-gray-900 border border-gray-200 hover:bg-gray-50 bg-white px-3 py-2 rounded-lg text-sm font-medium transition-all"),i=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),c=e.computed(()=>"text-sm font-semibold text-blue-800"),g=e.computed(()=>"flex items-center gap-1.5 bg-white border border-blue-200 text-blue-800 px-3 py-1.5 rounded-full text-sm font-medium"),w=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),x=_=>{s.value=_.target.value,o("update:chartType",_.target.value)},F=_=>{u.value=_.target.value,o("update:dataSource",_.target.value)},L=()=>{r.value="",l.value="",u.value="",o("clear-filters")},H=_=>{switch(_){case"date":r.value="",l.value="";break;case"dataSource":u.value="";break}};return e.watch(()=>r.value,_=>{o("update:dateFrom",_)}),e.watch(()=>l.value,_=>{o("update:dateTo",_)}),(_,E)=>(e.openBlock(),e.createElementBlock("div",am,[e.createElementVNode("div",{class:e.normalizeClass(h.value)},[t.showDateFilter?(e.openBlock(),e.createElementBlock("div",nm,[e.createElementVNode("div",om,[e.createVNode(j,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E[0]||(E[0]=I=>r.value=I),type:"date",class:e.normalizeClass(S.value),placeholder:"From date"},null,2),[[e.vModelText,r.value]])]),E[6]||(E[6]=e.createElementVNode("span",{class:"text-gray-500 text-sm"},"to",-1)),e.createElementVNode("div",rm,[e.createVNode(j,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E[1]||(E[1]=I=>l.value=I),type:"date",class:e.normalizeClass(S.value),placeholder:"To date"},null,2),[[e.vModelText,l.value]])])])):e.createCommentVNode("",!0),t.showChartTypeFilter?(e.openBlock(),e.createElementBlock("div",lm,[e.createElementVNode("div",sm,[e.createVNode(ue,{modelValue:s.value,"onUpdate:modelValue":E[2]||(E[2]=I=>s.value=I),class:e.normalizeClass(b.value),onChange:x},{default:e.withCtx(()=>[...E[7]||(E[7]=[e.createElementVNode("option",{value:"bar"}," Bar Chart ",-1),e.createElementVNode("option",{value:"line"}," Line Chart ",-1),e.createElementVNode("option",{value:"pie"}," Pie Chart ",-1)])]),_:1},8,["modelValue","class"]),e.createVNode(j,{icon:"chart-bar",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})])])):e.createCommentVNode("",!0),t.dataSources.length>0?(e.openBlock(),e.createElementBlock("div",im,[e.createElementVNode("div",cm,[e.createVNode(ue,{modelValue:u.value,"onUpdate:modelValue":E[3]||(E[3]=I=>u.value=I),class:e.normalizeClass(b.value),onChange:F},{default:e.withCtx(()=>[E[8]||(E[8]=e.createElementVNode("option",{value:""}," All Sources ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dataSources,I=>(e.openBlock(),e.createElementBlock("option",{key:I.value,value:I.value},e.toDisplayString(I.label),9,dm))),128))]),_:1},8,["modelValue","class"]),e.createVNode(j,{icon:"database",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})])])):e.createCommentVNode("",!0),_.$slots.filters?(e.openBlock(),e.createElementBlock("div",um,[e.renderSlot(_.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",mm,[p.value?(e.openBlock(),e.createBlock(J,{key:0,class:e.normalizeClass(y.value),onClick:L},{default:e.withCtx(()=>[e.createVNode(j,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),E[9]||(E[9]=e.createTextVNode(" Clear Filters ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(J,{key:1,class:e.normalizeClass(f.value),onClick:E[4]||(E[4]=I=>_.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(j,{icon:"download",class:"w-4 h-4 mr-2"}),E[10]||(E[10]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createBlock(J,{key:2,class:e.normalizeClass(d.value),onClick:E[5]||(E[5]=I=>_.$emit("refresh"))},{default:e.withCtx(()=>[e.createVNode(j,{icon:"sync",class:"w-4 h-4 mr-2"}),E[11]||(E[11]=e.createTextVNode(" Refresh ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0)])],2),v.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(i.value)},[e.createElementVNode("div",fm,[e.createElementVNode("span",{class:e.normalizeClass(c.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,I=>(e.openBlock(),e.createElementBlock("div",{key:I.key,class:e.normalizeClass(g.value)},[e.createVNode(j,{icon:I.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(I.label)+": "+e.toDisplayString(I.value),1),e.createElementVNode("button",{class:e.normalizeClass(w.value),onClick:M=>H(I.key)},[e.createVNode(j,{icon:"xmark",class:"w-3 h-3"})],10,pm)],2))),128))])],2)):e.createCommentVNode("",!0)]))}},gm={class:"flex items-start justify-between"},vm={key:0,class:"flex items-center gap-2"},la={__name:"DataTableHeader",props:{title:{type:String,default:null},description:{type:String,default:null},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},setup(t){const n=t,a=z.cva("border-b border-slate-200",{variants:{variant:{default:"bg-white",minimal:"bg-transparent border-none",bordered:"bg-slate-50 border-2"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),o=z.cva("font-semibold text-slate-900",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),r=z.cva("text-slate-600 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),l=e.computed(()=>k(a({variant:n.variant,padding:n.padding}))),s=e.computed(()=>k(o({size:"md"}))),u=e.computed(()=>k(r({size:"md"})));return(m,p)=>t.title||t.description||m.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(l.value)},[e.renderSlot(m.$slots,"header",{},()=>[e.createElementVNode("div",gm,[e.createElementVNode("div",null,[t.title?(e.openBlock(),e.createBlock(at,{key:0,class:e.normalizeClass(s.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1},8,["class"])):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createBlock(at,{key:1,class:e.normalizeClass(u.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.description),1)]),_:1},8,["class"])):e.createCommentVNode("",!0)]),m.$slots.filters?(e.openBlock(),e.createElementBlock("div",vm,[e.renderSlot(m.$slots,"filters")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)}},sa={__name:"DataTableRow",props:{item:{type:Object,required:!0},columns:{type:Array,required:!0},index:{type:Number,required:!0},selectable:{type:Boolean,default:!1},isSelected:{type:Boolean,default:!1},striped:{type:Boolean,default:!1},hoverable:{type:Boolean,default:!0},clickableRows:{type:Boolean,default:!1},density:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","bordered","minimal"].includes(t)}},emits:["toggle-selection","row-click"],setup(t,{emit:n}){const a=t,o=n,r=z.cva("transition-colors",{variants:{striped:{true:"odd:bg-slate-50/50",false:""},hoverable:{true:"hover:bg-slate-50",false:""},clickable:{true:"cursor-pointer hover:bg-slate-100",false:""},selected:{true:"bg-blue-50 border-blue-200",false:""},variant:{default:"",bordered:"border-b border-slate-200",minimal:"border-b border-slate-100"}},compoundVariants:[{hoverable:!0,clickable:!0,class:"hover:bg-slate-100"}],defaultVariants:{striped:!1,hoverable:!0,clickable:!1,selected:!1,variant:"default"}}),l=z.cva("whitespace-nowrap text-sm text-slate-900",{variants:{density:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"},align:{left:"text-left",center:"text-center",right:"text-right"}},defaultVariants:{density:"normal",align:"left"}}),s=f=>typeof f=="string"?f:f?.key||f?.field||"unknown",u=(f,d)=>{const i=s(d);return typeof d=="object"&&d.accessor?d.accessor(f):i&&i.includes(".")?i.split(".").reduce((c,g)=>c?.[g],f):f?.[i]},m=(f,d)=>{const i=u(f,d);return typeof d=="object"&&d.formatter?d.formatter(i,f):i==null?"":i instanceof Date?i.toLocaleDateString():Array.isArray(i)?i.join(", "):i},p=()=>{a.clickableRows&&o("row-click",{item:a.item,index:a.index})},v=f=>typeof f=="object"&&f.align?f.align:"left",h=e.computed(()=>k(r({striped:a.striped,hoverable:a.hoverable&&!a.clickableRows,clickable:a.clickableRows,selected:a.isSelected,variant:a.variant}))),S=f=>{const d=v(f);return k(l({density:a.density,align:d}),f.cellClasses)},b=e.computed(()=>k(l({density:a.density}),"w-12")),y=e.computed(()=>k(l({density:a.density,align:"right"}),"font-medium"));return(f,d)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(h.value),onClick:p},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(b.value)},[e.createVNode(it,{"model-value":t.isSelected,"onUpdate:modelValue":d[0]||(d[0]=i=>f.$emit("toggle-selection",t.item))},null,8,["model-value"])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,i=>(e.openBlock(),e.createElementBlock("td",{key:s(i),class:e.normalizeClass(S(i))},[e.renderSlot(f.$slots,`cell-${s(i)}`,{item:t.item,value:u(t.item,i),column:i,index:t.index},()=>[e.createTextVNode(e.toDisplayString(m(t.item,i)),1)])],2))),128)),f.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(y.value)},[e.renderSlot(f.$slots,"actions",{item:t.item,index:t.index})],2)):e.createCommentVNode("",!0)],2))}},hm={class:"flex items-center justify-between"},bm={key:0,class:"text-sm text-slate-600"},ym={key:1,class:"text-sm text-slate-600"},xm={key:2,class:"flex items-center gap-4"},km={key:3,class:"flex items-center gap-4"},wm={class:"flex items-center gap-2"},Cm={class:"flex items-center gap-1"},Bm=["disabled"],Vm=["disabled"],Sm={class:"flex items-center gap-1"},Em=["onClick"],Nm=["disabled"],$m=["disabled"],zm={class:"text-sm text-slate-600 ml-4"},ia={__name:"DataTablePagination",props:{currentPage:{type:Number,required:!0},totalPages:{type:Number,required:!0},total:{type:Number,required:!0},pageSize:{type:Number,required:!0},showPagination:{type:Boolean,default:!0},selectable:{type:Boolean,default:!1},selectedCount:{type:Number,default:0},pageSizeOptions:{type:Array,default:()=>[5,10,25,50,100]},maxVisiblePages:{type:Number,default:7},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:currentPage","update:pageSize"],setup(t){const n=t,a=z.cva("border-t border-slate-200",{variants:{variant:{default:"bg-slate-50",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-100 border-t-2 border-slate-300"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),o=z.cva("text-sm font-medium border rounded-md transition-colors duration-200",{variants:{state:{active:"bg-blue-600 text-white border-blue-600",inactive:"bg-white text-slate-700 border-slate-300 hover:bg-slate-50",disabled:"bg-slate-100 text-slate-400 border-slate-200 cursor-not-allowed"},size:{sm:"px-2 py-1",md:"px-3 py-2",lg:"px-4 py-3"}},defaultVariants:{state:"inactive",size:"md"}}),r=z.cva("text-slate-700",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"}},defaultVariants:{size:"md"}}),l=z.cva("border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 text-sm min-w-[60px] focus:border-transparent",{variants:{size:{sm:"px-2 py-1",md:"px-3 py-2",lg:"px-4 py-3"}},defaultVariants:{size:"sm"}}),s=e.computed(()=>(n.currentPage-1)*n.pageSize+1),u=e.computed(()=>Math.min(n.currentPage*n.pageSize,n.total)),m=e.computed(()=>{const b=[],y=n.totalPages,f=n.currentPage,d=n.maxVisiblePages;if(y<=d)for(let i=1;i<=y;i++)b.push(i);else{const i=Math.floor(d/2);let c=Math.max(1,f-i),g=Math.min(y,c+d-1);g-c+1<d&&(c=Math.max(1,g-d+1));for(let w=c;w<=g;w++)b.push(w)}return b}),p=e.computed(()=>k(a({variant:n.variant,padding:n.padding}))),v=e.computed(()=>k(r({size:"md"}))),h=e.computed(()=>k(l({size:"sm"}))),S=(b,y)=>{let f="inactive";return y?f="disabled":b&&(f="active"),k(o({state:f,size:"md"}))};return(b,y)=>t.showPagination||b.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(p.value)},[e.createElementVNode("div",hm,[t.selectable&&t.selectedCount>0?(e.openBlock(),e.createElementBlock("div",bm,e.toDisplayString(t.selectedCount)+" of "+e.toDisplayString(t.total)+" selected ",1)):(e.openBlock(),e.createElementBlock("div",ym," Showing "+e.toDisplayString(s.value)+" to "+e.toDisplayString(u.value)+" of "+e.toDisplayString(t.total)+" entries ",1)),b.$slots.footer?(e.openBlock(),e.createElementBlock("div",xm,[e.renderSlot(b.$slots,"footer")])):e.createCommentVNode("",!0),t.showPagination?(e.openBlock(),e.createElementBlock("div",km,[e.createElementVNode("div",wm,[e.createVNode(fe,{for:"pageSize",class:e.normalizeClass(v.value),inline:!0},{default:e.withCtx(()=>[...y[5]||(y[5]=[e.createTextVNode("Show:",-1)])]),_:1},8,["class"]),e.createVNode(ue,{id:"pageSize","model-value":t.pageSize.toString(),class:e.normalizeClass(h.value),"onUpdate:modelValue":y[0]||(y[0]=f=>b.$emit("update:pageSize",parseInt(f)))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizeOptions,f=>(e.openBlock(),e.createBlock(na,{key:f,value:f.toString(),label:f.toString()},null,8,["value","label"]))),128))]),_:1},8,["model-value","class"])]),e.createElementVNode("div",Cm,[e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass(S(!1,t.currentPage===1)),title:"First page",onClick:y[1]||(y[1]=f=>b.$emit("update:currentPage",1))},[...y[6]||(y[6]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m18.75 4.5-7.5 7.5 7.5 7.5m-6-15L5.25 12l7.5 7.5"})],-1)])],10,Bm),e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass(S(!1,t.currentPage===1)),title:"Previous page",onClick:y[2]||(y[2]=f=>b.$emit("update:currentPage",t.currentPage-1))},[...y[7]||(y[7]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5L8.25 12l7.5-7.5"})],-1)])],10,Vm),e.createElementVNode("div",Sm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,f=>(e.openBlock(),e.createElementBlock("button",{key:f,class:e.normalizeClass(S(f===t.currentPage,!1)),onClick:d=>b.$emit("update:currentPage",f)},e.toDisplayString(f),11,Em))),128))]),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass(S(!1,t.currentPage===t.totalPages)),title:"Next page",onClick:y[3]||(y[3]=f=>b.$emit("update:currentPage",t.currentPage+1))},[...y[8]||(y[8]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})],-1)])],10,Nm),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass(S(!1,t.currentPage===t.totalPages)),title:"Last page",onClick:y[4]||(y[4]=f=>b.$emit("update:currentPage",t.totalPages))},[...y[9]||(y[9]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m5.25 4.5 7.5 7.5-7.5 7.5m6-15 7.5 7.5-7.5 7.5"})],-1)])],10,$m)]),e.createElementVNode("div",zm," Page "+e.toDisplayString(t.currentPage)+" of "+e.toDisplayString(t.totalPages),1)])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)}},ft=(t,n)=>{const a=t.__vccOpts||t;for(const[o,r]of n)a[o]=r;return a},Dm={key:0,class:"loader__backdrop"},Tm={class:"loader__container"},Am={key:0,class:"loader__text loader__text--top"},Fm={key:1,class:"loader__spin"},Pm={key:2,class:"loader__pulse"},Lm={key:3,class:"loader__bounce"},jm={key:4,class:"loader__ripple"},Mm={key:5,class:"loader__bars"},Im={key:6,class:"loader__dots"},Om={key:7,class:"loader__ring"},Rm={key:8,class:"loader__spinner-text"},_m={key:9,class:"loader__text loader__text--bottom"},Um={__name:"Loader",props:{loading:{type:Boolean,default:!0},type:{type:String,default:"spin",validator:t=>["spin","pulse","bounce","ripple","bars","dots","ring","spinner-text"].includes(t)},size:{type:String,default:"medium",validator:t=>["small","medium","large","xl"].includes(t)},color:{type:String,default:"#3b82f6"},backgroundColor:{type:String,default:"rgba(255, 255, 255, 0.9)"},text:{type:String,default:""},textPosition:{type:String,default:"bottom",validator:t=>["top","bottom"].includes(t)},overlay:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1}},setup(t){return(n,a)=>t.loading?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["loader",`loader--${t.type}`,`loader--${t.size}`,t.overlay?"loader--overlay":"",t.fullscreen?"loader--fullscreen":""]),style:e.normalizeStyle({"--loader-color":t.color,"--loader-bg":t.backgroundColor})},[t.overlay?(e.openBlock(),e.createElementBlock("div",Dm)):e.createCommentVNode("",!0),e.createElementVNode("div",Tm,[t.text&&t.textPosition==="top"?(e.openBlock(),e.createElementBlock("div",Am,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0),t.type==="spin"?(e.openBlock(),e.createElementBlock("div",Fm)):t.type==="pulse"?(e.openBlock(),e.createElementBlock("div",Pm)):t.type==="bounce"?(e.openBlock(),e.createElementBlock("div",Lm,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,o=>e.createElementVNode("div",{key:o,class:"loader__bounce-dot",style:e.normalizeStyle({animationDelay:`${(o-1)*.1}s`})},null,4)),64))])):t.type==="ripple"?(e.openBlock(),e.createElementBlock("div",jm,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(2,o=>e.createElementVNode("div",{key:o,class:"loader__ripple-ring",style:e.normalizeStyle({animationDelay:`${(o-1)*.5}s`})},null,4)),64))])):t.type==="bars"?(e.openBlock(),e.createElementBlock("div",Mm,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(5,o=>e.createElementVNode("div",{key:o,class:"loader__bar",style:e.normalizeStyle({animationDelay:`${(o-1)*.1}s`})},null,4)),64))])):t.type==="dots"?(e.openBlock(),e.createElementBlock("div",Im,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,o=>e.createElementVNode("div",{key:o,class:"loader__dot",style:e.normalizeStyle({animationDelay:`${(o-1)*.16}s`})},null,4)),64))])):t.type==="ring"?(e.openBlock(),e.createElementBlock("div",Om,[...a[0]||(a[0]=[e.createElementVNode("div",{class:"loader__ring-track"},null,-1),e.createElementVNode("div",{class:"loader__ring-fill"},null,-1)])])):t.type==="spinner-text"?(e.openBlock(),e.createElementBlock("div",Rm,[...a[1]||(a[1]=[e.createElementVNode("div",{class:"loader__spinner"},null,-1)])])):e.createCommentVNode("",!0),t.text&&t.textPosition==="bottom"?(e.openBlock(),e.createElementBlock("div",_m,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)}},Me=ft(Um,[["__scopeId","data-v-68532350"]]),qm={class:"relative"},Hm={class:"flex items-center justify-center"},Wm=["onClick"],Ym={class:"flex items-center gap-2"},Gm={key:1,class:"flex flex-col"},Km={key:1,class:"flex items-center gap-1 justify-center"},Xm={key:1,class:"text-xs"},Qm={key:2},Jm=["colspan"],Zm={class:"flex flex-col items-center justify-center py-12"},ef={class:"text-slate-400 mb-4 flex justify-center"},tf={class:"text-slate-600 text-lg font-medium mb-2"},af={class:"text-slate-500 text-sm"},nf={__name:"DataTable",props:{data:{type:Array,required:!0},columns:{type:Array,required:!0},title:{type:String,default:null},description:{type:String,default:null},selectable:{type:Boolean,default:!1},selectedItems:{type:Array,default:()=>[]},sortBy:{type:String,default:null},sortOrder:{type:String,default:"asc",validator:t=>["asc","desc"].includes(t)},pageSize:{type:Number,default:10},showPagination:{type:Boolean,default:!0},striped:{type:Boolean,default:!1},hoverable:{type:Boolean,default:!0},clickableRows:{type:Boolean,default:!1},emptyText:{type:String,default:"No data available"},emptySubtitle:{type:String,default:"Try adjusting your search or filter criteria"},rowKey:{type:String,default:"id"},variant:{type:String,default:"default",validator:t=>["default","bordered","minimal"].includes(t)},density:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},headerVariant:{type:String,default:"default"},headerPadding:{type:String,default:"normal"},paginationVariant:{type:String,default:"default"},paginationPadding:{type:String,default:"normal"},actions:{type:Array,default:()=>[]},showActionsColumn:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},dataLoading:{type:Boolean,default:!1},sortLoading:{type:Boolean,default:!1},paginationLoading:{type:Boolean,default:!1},bulkLoading:{type:Boolean,default:!1},rowLoading:{type:Object,default:()=>({})},loadingType:{type:String,default:"dots",validator:t=>["spin","pulse","bounce","ripple","bars","dots","ring"].includes(t)},loadingSize:{type:String,default:"medium",validator:t=>["small","medium","large","xl"].includes(t)},loadingColor:{type:String,default:"#3b82f6"},loadingText:{type:String,default:"Loading..."},loadingTextPosition:{type:String,default:"bottom",validator:t=>["top","bottom"].includes(t)},loadingBackground:{type:String,default:"rgba(255, 255, 255, 0.95)"},showSkeleton:{type:Boolean,default:!0},skeletonRows:{type:Number,default:5}},emits:["selection-change","sort-change","row-click","page-change","page-size-change","refresh","action"],setup(t,{expose:n,emit:a}){const o=t,r=a,l=e.ref(1),s=e.ref(o.pageSize),u=e.ref(o.sortBy),m=e.ref(o.sortOrder),p=z.cva("bg-white border border-slate-200 rounded-lg overflow-hidden",{variants:{variant:{default:"shadow-sm",bordered:"border-2 border-slate-300",minimal:"border-none shadow-none bg-transparent"}},defaultVariants:{variant:"default"}}),v=z.cva("min-w-full",{variants:{variant:{default:"divide-y divide-slate-200",bordered:"border-collapse [&_td]:border [&_th]:border",minimal:"divide-y divide-slate-100"}},defaultVariants:{variant:"default"}}),h=z.cva("",{variants:{variant:{default:"bg-slate-50",bordered:"bg-slate-100 border-b-2 border-slate-300",minimal:"bg-transparent border-b border-slate-200"}},defaultVariants:{variant:"default"}}),S=z.cva("divide-y",{variants:{variant:{default:"bg-white divide-slate-200",bordered:"bg-white divide-slate-300",minimal:"bg-transparent divide-slate-100"}},defaultVariants:{variant:"default"}}),b=e.computed(()=>{let D=[...o.data];if(u.value){const R=o.columns.find(G=>G.key===u.value);R&&D.sort((G,te)=>{const ae=H(G,R),Q=H(te,R);return ae<Q?m.value==="asc"?-1:1:ae>Q?m.value==="asc"?1:-1:0})}return D}),y=e.computed(()=>Math.ceil(b.value.length/s.value)),f=e.computed(()=>{if(!o.showPagination)return b.value;const D=(l.value-1)*s.value,R=D+s.value;return b.value.slice(D,R)}),d=e.computed(()=>{let D=o.columns.length;return o.selectable&&D++,(o.$slots?.actions||o.actions.length>0&&o.showActionsColumn)&&D++,D}),i=D=>o.actions.filter(R=>R.visible&&typeof R.visible=="function"?R.visible(D):!0),c=(D,R)=>D.permission&&typeof D.permission=="function"?D.permission(R):!0,g=(D,R)=>D.disabled&&typeof D.disabled=="function"?D.disabled(R):!1,w=(D,R)=>{g(D,R)||!c(D,R)||(r("action",{action:D.key,item:R,actionConfig:D}),D.onClick&&typeof D.onClick=="function"&&D.onClick(R))},x=D=>({default:"default",primary:"gradient",secondary:"secondary",danger:"danger",success:"success",warning:"warning",info:"info",subtle:"subtle",dark:"dark",light:"light",primaryOutline:"primaryOutline",dangerOutline:"dangerOutline",successOutline:"successOutline",outline:"outline",link:"link",ghost:"ghost"})[D]||"ghost",F=e.computed(()=>b.value.length>0&&b.value.every(D=>E(D))),L=e.computed(()=>{const D=b.value.filter(R=>E(R)).length;return D>0&&D<b.value.length}),H=(D,R)=>R.accessor?R.accessor(D):R.key.split(".").reduce((G,te)=>G?.[te],D),_=(D,R)=>D[o.rowKey]||R,E=D=>o.selectedItems.some(R=>_(R)===_(D)),I=D=>{const R=[...o.selectedItems],G=R.findIndex(te=>_(te)===_(D));G>-1?R.splice(G,1):R.push(D),r("selection-change",R)},M=()=>{if(o.loading||o.dataLoading)return;const D=F.value?[]:[...b.value];r("selection-change",D)},C=async D=>{!D.sortable||o.loading||o.sortLoading||(u.value===D.key?m.value=m.value==="asc"?"desc":"asc":(u.value=D.key,m.value="asc"),r("sort-change",{column:D.key,direction:m.value}))},N=D=>{o.loading||r("row-click",D)},P=async D=>{o.paginationLoading||o.loading||(l.value=D,r("page-change",D))},W=async D=>{o.paginationLoading||o.loading||(s.value=D,l.value=1,r("page-size-change",D))},U=e.computed(()=>k(p({variant:o.variant}))),re=e.computed(()=>k(v({variant:o.variant}))),pt=e.computed(()=>k(h({variant:o.variant}))),$e=e.computed(()=>k(S({variant:o.variant}))),gt=D=>k({compact:"px-4 py-2",normal:"px-6 py-3",comfortable:"px-8 py-4"}[o.density],"text-left text-xs font-medium text-slate-500 uppercase tracking-wider",{"cursor-pointer hover:bg-slate-100 transition-colors":D.sortable&&!o.loading&&!o.sortLoading,"cursor-not-allowed opacity-50":o.loading||o.sortLoading&&u.value===D.key}),vt=()=>k({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[o.density],"whitespace-nowrap text-sm text-slate-900"),He=e.computed(()=>k({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[o.density],"whitespace-nowrap text-sm text-slate-900 w-12")),xe=e.computed(()=>k({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[o.density],"whitespace-nowrap text-sm font-medium text-center")),ze=e.computed(()=>k({compact:"px-4 py-4",normal:"px-6 py-6",comfortable:"px-8 py-8"}[o.density],"text-center")),De=(D,R)=>k({"text-blue-600":u.value===D.key&&m.value===R,"text-slate-300":u.value!==D.key||m.value!==R});return e.watch(()=>o.selectedItems,()=>{},{deep:!0}),e.watch(()=>o.pageSize,D=>{s.value=D}),n({refresh:()=>{r("refresh")},goToPage:D=>{P(D)},selectAll:()=>{M()},clearSelection:()=>{r("selection-change",[])},getCurrentPage:()=>l.value,getTotalPages:()=>y.value,getSelectedItems:()=>o.selectedItems}),(D,R)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(U.value)},[t.title||t.description||D.$slots.header?(e.openBlock(),e.createBlock(la,{key:0,title:t.title,description:t.description,variant:t.headerVariant,padding:t.headerPadding},{header:e.withCtx(()=>[e.renderSlot(D.$slots,"header",{},void 0,!0)]),filters:e.withCtx(()=>[e.renderSlot(D.$slots,"filters",{},void 0,!0)]),_:3},8,["title","description","variant","padding"])):e.createCommentVNode("",!0),e.createElementVNode("div",qm,[t.loading?(e.openBlock(),e.createBlock(Me,{key:0,loading:!0,type:t.loadingType,size:t.loadingSize,color:t.loadingColor,overlay:!0,text:t.loadingText,"text-position":t.loadingTextPosition,"background-color":t.loadingBackground,class:"table-loading-overlay"},null,8,["type","size","color","text","text-position","background-color"])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["overflow-x-auto",{"opacity-50":t.loading}])},[e.createElementVNode("table",{class:e.normalizeClass(re.value)},[e.createElementVNode("thead",{class:e.normalizeClass(pt.value)},[e.createElementVNode("tr",null,[t.selectable?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(He.value)},[e.createElementVNode("div",Hm,[t.bulkLoading?(e.openBlock(),e.createBlock(Me,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):(e.openBlock(),e.createBlock(it,{key:1,"model-value":F.value,indeterminate:L.value,disabled:t.loading||t.dataLoading,"onUpdate:modelValue":M},null,8,["model-value","indeterminate","disabled"]))])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,G=>(e.openBlock(),e.createElementBlock("th",{key:G.key,class:e.normalizeClass(gt(G)),onClick:te=>C(G)},[e.createElementVNode("div",Ym,[e.createElementVNode("span",null,e.toDisplayString(G.label),1),t.sortLoading&&u.value===G.key?(e.openBlock(),e.createBlock(Me,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):G.sortable?(e.openBlock(),e.createElementBlock("div",Gm,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([De(G,"asc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...R[0]||(R[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 15.75 7.5-7.5 7.5 7.5"},null,-1)])],2)),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([De(G,"desc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...R[1]||(R[1]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"},null,-1)])],2))])):e.createCommentVNode("",!0)])],10,Wm))),128)),D.$slots.actions||t.actions.length>0&&t.showActionsColumn?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass(xe.value)}," Actions ",2)):e.createCommentVNode("",!0)])],2),e.createElementVNode("tbody",{class:e.normalizeClass($e.value)},[t.showSkeleton&&(t.loading||t.dataLoading)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.skeletonRows,G=>(e.openBlock(),e.createElementBlock("tr",{key:`skeleton-${G}`,class:"animate-pulse"},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(He.value)},[...R[2]||(R[2]=[e.createElementVNode("div",{class:"w-4 h-4 bg-slate-200 rounded"},null,-1)])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,te=>(e.openBlock(),e.createElementBlock("td",{key:te.key,class:e.normalizeClass(vt())},[...R[3]||(R[3]=[e.createElementVNode("div",{class:"h-4 bg-slate-200 rounded w-3/4"},null,-1)])],2))),128)),D.$slots.actions||t.actions.length>0&&t.showActionsColumn?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(xe.value)},[...R[4]||(R[4]=[e.createElementVNode("div",{class:"flex gap-2 justify-center"},[e.createElementVNode("div",{class:"w-6 h-6 bg-slate-200 rounded"}),e.createElementVNode("div",{class:"w-6 h-6 bg-slate-200 rounded"})],-1)])],2)):e.createCommentVNode("",!0)]))),128)):f.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(f.value,(G,te)=>(e.openBlock(),e.createBlock(sa,{key:_(G,te),item:G,columns:t.columns,index:te,selectable:t.selectable,"is-selected":E(G),striped:t.striped,hoverable:t.hoverable,"clickable-rows":t.clickableRows,density:t.density,"row-loading":t.rowLoading[_(G,te)],"loading-color":t.loadingColor,onToggleSelection:I,onRowClick:N},e.createSlots({actions:e.withCtx(ae=>[D.$slots.actions?e.renderSlot(D.$slots,"actions",e.mergeProps({key:0,ref_for:!0},ae),void 0,!0):t.actions.length>0&&t.showActionsColumn?(e.openBlock(),e.createElementBlock("div",Km,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i(ae.item),Q=>(e.openBlock(),e.createBlock(oa,{key:Q.key,content:Q.tooltip||Q.label||Q.key,placement:"top"},{default:e.withCtx(()=>[e.createVNode(J,{variant:x(Q.variant),size:"xs",disabled:g(Q,ae.item)||!c(Q,ae.item),class:"h-8 w-8",onClick:e.withModifiers(ca=>w(Q,ae.item),["stop"])},{default:e.withCtx(()=>[Q.icon?(e.openBlock(),e.createBlock(j,{key:0,icon:Q.icon,class:"w-4 h-4"},null,8,["icon"])):Q.label?(e.openBlock(),e.createElementBlock("span",Xm,e.toDisplayString(Q.label),1)):e.createCommentVNode("",!0)]),_:2},1032,["variant","disabled","onClick"])]),_:2},1032,["content"]))),128))])):e.createCommentVNode("",!0)]),_:2},[e.renderList(t.columns,ae=>({name:`cell-${ae.key}`,fn:e.withCtx(Q=>[e.renderSlot(D.$slots,`cell-${ae.key}`,e.mergeProps({ref_for:!0},Q),void 0,!0)])}))]),1032,["item","columns","index","selectable","is-selected","striped","hoverable","clickable-rows","density","row-loading","loading-color"]))),128)):(e.openBlock(),e.createElementBlock("tr",Qm,[e.createElementVNode("td",{colspan:d.value,class:e.normalizeClass(ze.value)},[e.renderSlot(D.$slots,"empty",{},()=>[e.createElementVNode("div",Zm,[e.createElementVNode("div",ef,[e.createVNode(j,{icon:"search",class:"w-16 h-16"})]),e.createElementVNode("p",tf,e.toDisplayString(t.emptyText),1),e.createElementVNode("p",af,e.toDisplayString(t.emptySubtitle),1)])],!0)],10,Jm)]))],2)],2)],2)]),t.showPagination||D.$slots.footer?(e.openBlock(),e.createBlock(ia,{key:1,"current-page":l.value,"total-pages":y.value,total:b.value.length,"page-size":s.value,"show-pagination":t.showPagination,selectable:t.selectable,"selected-count":t.selectedItems.length,variant:t.paginationVariant,padding:t.paginationPadding,loading:t.paginationLoading,disabled:t.loading||t.dataLoading,"onUpdate:currentPage":P,"onUpdate:pageSize":W},{footer:e.withCtx(()=>[e.renderSlot(D.$slots,"footer",{},void 0,!0)]),_:3},8,["current-page","total-pages","total","page-size","show-pagination","selectable","selected-count","variant","padding","loading","disabled"])):e.createCommentVNode("",!0)],2))}},jo=ft(nf,[["__scopeId","data-v-32089b8f"]]),Mo={__name:"DataTableCell",props:{item:{type:Object,required:!0},column:{type:Object,required:!0},value:{type:[String,Number,Boolean,Object,Array],default:null},align:{type:String,default:"left",validator:t=>["left","center","right"].includes(t)},width:{type:String,default:null},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},textSize:{type:String,default:"sm",validator:t=>["xs","sm","base","lg"].includes(t)},textColor:{type:String,default:"slate-900"}},setup(t){const n=t,a=e.computed(()=>{const s=n.value??o();return n.column.formatter?n.column.formatter(s,n.item):s}),o=()=>n.column.accessor?n.column.accessor(n.item):n.column.key.split(".").reduce((s,u)=>s?.[u],n.item),r=z.cva("whitespace-nowrap",{variants:{align:{left:"text-left",center:"text-center",right:"text-right"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"},textSize:{xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg"}},defaultVariants:{align:"left",padding:"normal",textSize:"sm"}}),l=e.computed(()=>{const s=n.align||n.column.align||"left",u=`text-${n.textColor}`,m=n.width?`w-${n.width}`:"";return k(r({align:s,padding:n.padding,textSize:n.textSize}),u,m,n.column.cellClasses)});return(s,u)=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(l.value)},[e.renderSlot(s.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])],2))}},of={class:"bg-white border-b border-gray-200"},rf={key:0,class:"flex-1 min-w-80 max-w-md"},lf={class:"relative group"},sf=["model-value","placeholder"],cf={class:"relative"},df={value:""},uf=["value"],mf={key:1,class:"min-w-36"},ff={class:"relative"},pf=["value"],gf={key:3,class:"flex items-center gap-2"},vf={class:"flex items-center gap-3 ml-auto"},hf={key:2},bf={class:"grid grid-cols-1 lg:grid-cols-3 gap-6"},yf={class:"flex items-center justify-between"},xf={class:"flex items-center gap-3"},kf={class:"relative flex-1"},wf=["model-value","placeholder","onInput"],Cf={class:"relative flex-1"},Bf=["model-value","placeholder","onInput"],Vf=["onClick"],Sf={class:"flex items-center justify-between"},Ef={class:"flex items-center gap-3"},Nf={class:"relative flex-1"},$f=["model-value","placeholder","step","onInput"],zf={class:"relative flex-1"},Df=["model-value","placeholder","step","onInput"],Tf=["onClick"],Af={class:"flex items-center justify-between"},Ff={class:"relative"},Pf={value:""},Lf=["value"],jf={key:0,class:"flex flex-wrap gap-2 mt-2"},Mf=["onClick"],If={class:"flex items-center gap-3 flex-wrap"},Of=["onClick"],Rf={key:2,class:"px-6 py-3 bg-gray-50 border-t border-gray-200"},_f={class:"flex items-center justify-between"},Uf={class:"flex items-center gap-4"},qf={class:"text-sm text-gray-600"},Hf={class:"font-medium"},Io={__name:"DataTableFilters",props:{searchQuery:{type:String,default:""},searchPlaceholder:{type:String,default:"Search..."},selectedStatus:{type:String,default:""},statusOptions:{type:Array,default:()=>[]},showDateFilter:{type:Boolean,default:!1},dateFrom:{type:String,default:""},dateTo:{type:String,default:""},selectFilters:{type:Array,default:()=>[],validator:t=>t.every(n=>Object.prototype.hasOwnProperty.call(n,"key")&&Object.prototype.hasOwnProperty.call(n,"label")&&Object.prototype.hasOwnProperty.call(n,"options")&&Object.prototype.hasOwnProperty.call(n,"value"))},dateFilters:{type:Array,default:()=>[],validator:t=>t.every(n=>Object.prototype.hasOwnProperty.call(n,"key")&&Object.prototype.hasOwnProperty.call(n,"label")&&Object.prototype.hasOwnProperty.call(n,"from")&&Object.prototype.hasOwnProperty.call(n,"to"))},numberFilters:{type:Array,default:()=>[],validator:t=>t.every(n=>Object.prototype.hasOwnProperty.call(n,"key")&&Object.prototype.hasOwnProperty.call(n,"label")&&Object.prototype.hasOwnProperty.call(n,"min")&&Object.prototype.hasOwnProperty.call(n,"max"))},multiSelectFilters:{type:Array,default:()=>[],validator:t=>t.every(n=>Object.prototype.hasOwnProperty.call(n,"key")&&Object.prototype.hasOwnProperty.call(n,"label")&&Object.prototype.hasOwnProperty.call(n,"options")&&Object.prototype.hasOwnProperty.call(n,"selected"))},showExport:{type:Boolean,default:!1},showAdd:{type:Boolean,default:!1},addButton:{type:Object,default:()=>({})},showTableInfo:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},showFilters:{type:Boolean,default:!0},totalItems:{type:Number,default:0},itemLabel:{type:String,default:"items"},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:searchQuery","update:selectedStatus","update:dateFrom","update:dateTo","update:dateFilters","update:selectFilters","update:numberFilters","update:multiSelectFilters","export","add","clear-filters","add-button-click"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=e.computed(()=>Object.keys(a.addButton).length>0),s=e.computed(()=>l.value?a.addButton.visible&&typeof a.addButton.visible=="function"?a.addButton.visible():!0:a.showAdd),u=e.computed(()=>l.value&&a.addButton.permission&&typeof a.addButton.permission=="function"?a.addButton.permission():!0),m=e.computed(()=>l.value&&a.addButton.disabled&&typeof a.addButton.disabled=="function"?a.addButton.disabled():!1),p=()=>{m.value||!u.value||(o("add"),o("add-button-click",a.addButton),a.addButton.onClick&&typeof a.addButton.onClick=="function"&&a.addButton.onClick())},v=z.cva("flex flex-wrap items-center gap-4",{variants:{variant:{default:"bg-white",minimal:"bg-transparent",bordered:"bg-gray-50"},padding:{compact:"px-4 py-3",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),h=z.cva("border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all text-sm",{variants:{size:{sm:"px-2 py-1.5",md:"px-3 py-2.5",lg:"px-4 py-3"}},defaultVariants:{size:"md"}}),S=z.cva("rounded-lg flex items-center font-medium transition-all",{variants:{variant:{default:"text-gray-700 hover:text-gray-900 border border-gray-200 hover:bg-gray-50 hover:border-gray-300 bg-white",primary:"text-white bg-blue-600 hover:bg-blue-700 border border-blue-600 shadow-sm",success:"text-white bg-green-600 hover:bg-green-700 border border-green-600 shadow-sm",ghost:"text-gray-600 hover:text-gray-800 hover:bg-gray-100"},size:{sm:"px-2 py-1.5 text-xs",md:"px-3 py-2 text-sm",lg:"px-4 py-2.5 text-sm"}},defaultVariants:{variant:"default",size:"md"}}),b=(T,V)=>{const B=a.selectFilters.map(A=>A.key===T?{...A,value:V}:A);o("update:selectFilters",B)},y=T=>!!(T.from||T.to),f=T=>{const V=a.dateFilters.map(B=>B.key===T?{...B,from:"",to:""}:B);o("update:dateFilters",V)},d=T=>`text-xs px-2 py-1 rounded ${y(T)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,i=(T,V,B)=>{const A=a.dateFilters.map(Y=>Y.key===T?{...Y,[V]:B}:Y);o("update:dateFilters",A)},c=T=>!!(T.min||T.max),g=T=>{const V=a.numberFilters.map(B=>B.key===T?{...B,min:"",max:""}:B);o("update:numberFilters",V)},w=T=>`text-xs px-2 py-1 rounded ${c(T)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,x=(T,V,B)=>{const A=a.numberFilters.map(Y=>Y.key===T?{...Y,[V]:B}:Y);o("update:numberFilters",A)},F=T=>T.selected&&T.selected.length>0,L=T=>`text-xs px-2 py-1 rounded ${F(T)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,H=(T,V)=>{if(!V)return;const B=a.multiSelectFilters.map(A=>{if(A.key===T){const Y=A.selected||[],Te=Y.includes(V);return{...A,selected:Te?Y.filter(ht=>ht!==V):[...Y,V]}}return A});o("update:multiSelectFilters",B)},_=(T,V)=>{const B=a.multiSelectFilters.map(A=>A.key===T?{...A,selected:A.selected.filter(Y=>Y!==V)}:A);o("update:multiSelectFilters",B)},E=(T,V)=>{const B=T.options.find(A=>A.value===V);return B?B.label:V},I=()=>{r.value=!r.value},M=e.computed(()=>a.numberFilters.length>0||a.multiSelectFilters.length>0),C=e.computed(()=>{const T=a.searchQuery,V=a.selectedStatus,B=a.dateFrom||a.dateTo,A=a.selectFilters.some(ce=>ce.value),Y=a.dateFilters.some(ce=>ce.from||ce.to),Te=a.numberFilters.some(ce=>ce.min||ce.max),ht=a.multiSelectFilters.some(ce=>ce.selected&&ce.selected.length>0);return T||V||B||A||Y||Te||ht}),N=e.computed(()=>{let T=0;return a.searchQuery&&T++,a.selectedStatus&&T++,(a.dateFrom||a.dateTo)&&T++,T+=a.selectFilters.filter(V=>V.value).length,T+=a.dateFilters.filter(V=>V.from||V.to).length,T+=a.numberFilters.filter(V=>V.min||V.max).length,T+=a.multiSelectFilters.filter(V=>V.selected&&V.selected.length>0).length,T}),P=e.computed(()=>{const T=[];if(a.searchQuery&&a.searchQuery.trim()&&T.push({key:"search",label:"Search",value:`"${a.searchQuery}"`,icon:"magnifying-glass"}),a.selectedStatus){const V=a.statusOptions.find(B=>B.value===a.selectedStatus);T.push({key:"status",label:"Status",value:V?.label||a.selectedStatus,icon:"filter"})}if(a.selectFilters.forEach(V=>{if(V.value){const B=V.options.find(A=>A.value===V.value);T.push({key:`select-${V.key}`,label:V.label,value:B?.label||V.value,icon:"filter"})}}),a.dateFrom||a.dateTo){let V="";a.dateFrom&&a.dateTo?V=`${a.dateFrom} to ${a.dateTo}`:a.dateFrom?V=`From ${a.dateFrom}`:a.dateTo&&(V=`Until ${a.dateTo}`),V&&T.push({key:"date",label:"Date Range",value:V,icon:"calendar"})}return a.dateFilters.forEach(V=>{if(V.from||V.to){let B="";V.from&&V.to?B=`${V.from} to ${V.to}`:V.from?B=`From ${V.from}`:V.to&&(B=`Until ${V.to}`),B&&T.push({key:`date-${V.key}`,label:V.label,value:B,icon:"calendar"})}}),a.numberFilters.forEach(V=>{if(V.min||V.max){let B="";V.min&&V.max?B=`${V.min} to ${V.max}`:V.min?B=`Min ${V.min}`:V.max&&(B=`Max ${V.max}`),B&&T.push({key:`number-${V.key}`,label:V.label,value:B,icon:"hashtag"})}}),a.multiSelectFilters.forEach(V=>{if(V.selected&&V.selected.length>0){const B=V.selected.map(A=>{const Y=V.options.find(Te=>Te.value===A);return Y?Y.label:A});T.push({key:`multi-${V.key}`,label:V.label,value:B.join(", "),icon:"list"})}}),T}),W=e.computed(()=>k(v({variant:a.variant,padding:a.padding}))),U=e.computed(()=>"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 group-hover:text-gray-600 transition-colors"),re=e.computed(()=>k(h({size:"md"}),"w-full pl-10 pr-10 hover:border-gray-300")),pt=e.computed(()=>"absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-gray-600 p-1 hover:bg-gray-100 rounded-full transition-all"),$e=e.computed(()=>k(h({size:"md"}),"w-full pr-8 appearance-none hover:border-gray-300")),gt=e.computed(()=>{const T=r.value||C.value;return k(S({variant:T?"primary":"default",size:"lg"}),"gap-2")}),vt=e.computed(()=>"bg-white text-blue-600 text-xs px-1.5 py-0.5 rounded-full min-w-[20px] text-center font-semibold"),He=e.computed(()=>"px-6 py-4 border-t border-gray-100 bg-gray-50"),xe=e.computed(()=>k(h({size:"md"}),"pl-10 pr-3")),ze=e.computed(()=>"text-sm font-semibold text-gray-700"),De=e.computed(()=>"text-gray-500 text-sm font-medium"),D=e.computed(()=>"text-gray-400 hover:text-gray-600 p-1.5 hover:bg-gray-200 rounded-full transition-all"),R=e.computed(()=>k(S({variant:"ghost",size:"md"}))),G=e.computed(()=>k(S({variant:"default",size:"lg"}))),te=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),ae=e.computed(()=>"text-sm font-semibold text-blue-800"),Q=e.computed(()=>"flex items-center gap-1.5 bg-white border border-blue-200 text-blue-800 px-3 py-1.5 rounded-full text-sm font-medium"),ca=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),Jo=()=>{o("update:searchQuery",""),o("update:selectedStatus",""),o("update:dateFrom",""),o("update:dateTo","");const T=a.selectFilters.map(Y=>({...Y,value:""}));o("update:selectFilters",T);const V=a.dateFilters.map(Y=>({...Y,from:"",to:""}));o("update:dateFilters",V);const B=a.numberFilters.map(Y=>({...Y,min:"",max:""}));o("update:numberFilters",B);const A=a.multiSelectFilters.map(Y=>({...Y,selected:[]}));o("update:multiSelectFilters",A),o("clear-filters")},Zo=T=>{switch(T){case"search":o("update:searchQuery","");break;case"status":o("update:selectedStatus","");break;case"date":o("update:dateFrom",""),o("update:dateTo","");break;default:if(T.startsWith("select-")){const V=T.replace("select-",""),B=a.selectFilters.map(A=>A.key===V?{...A,value:""}:A);o("update:selectFilters",B)}else if(T.startsWith("date-")){const V=T.replace("date-",""),B=a.dateFilters.map(A=>A.key===V?{...A,from:"",to:""}:A);o("update:dateFilters",B)}else if(T.startsWith("number-")){const V=T.replace("number-",""),B=a.numberFilters.map(A=>A.key===V?{...A,min:"",max:""}:A);o("update:numberFilters",B)}else if(T.startsWith("multi-")){const V=T.replace("multi-",""),B=a.multiSelectFilters.map(A=>A.key===V?{...A,selected:[]}:A);o("update:multiSelectFilters",B)}break}};return(T,V)=>(e.openBlock(),e.createElementBlock("div",of,[e.createElementVNode("div",{class:e.normalizeClass(W.value)},[t.showSearch?(e.openBlock(),e.createElementBlock("div",rf,[e.createElementVNode("div",lf,[e.createVNode(j,{icon:"magnifying-glass",class:e.normalizeClass(U.value)},null,8,["class"]),e.createElementVNode("input",{"model-value":t.searchQuery,placeholder:t.searchPlaceholder,class:e.normalizeClass(re.value),onInput:V[0]||(V[0]=B=>T.$emit("update:searchQuery",B.target.value))},null,42,sf),t.searchQuery?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(pt.value),onClick:V[1]||(V[1]=B=>T.$emit("update:searchQuery",""))},[e.createVNode(j,{icon:"xmark",class:"w-3 h-3"})],2)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.selectFilters,B=>(e.openBlock(),e.createElementBlock("div",{key:B.key,class:"min-w-36"},[e.createElementVNode("div",cf,[e.createVNode(ue,{"model-value":B.value,class:e.normalizeClass($e.value),onChange:A=>b(B.key,A.target.value)},{default:e.withCtx(()=>[e.createElementVNode("option",df,e.toDisplayString(B.placeholder||`All ${B.label}`),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.options,A=>(e.openBlock(),e.createElementBlock("option",{key:A.value,value:A.value},e.toDisplayString(A.label),9,uf))),128))]),_:2},1032,["model-value","class","onChange"]),e.createVNode(j,{icon:"chevron-down",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})])]))),128)),t.showFilters&&t.statusOptions.length>0?(e.openBlock(),e.createElementBlock("div",mf,[e.createElementVNode("div",ff,[e.createVNode(ue,{"model-value":t.selectedStatus,class:e.normalizeClass($e.value),onChange:V[2]||(V[2]=B=>T.$emit("update:selectedStatus",B.target.value))},{default:e.withCtx(()=>[V[5]||(V[5]=e.createElementVNode("option",{value:""}," All Status ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.statusOptions,B=>(e.openBlock(),e.createElementBlock("option",{key:B.value,value:B.value},e.toDisplayString(B.label),9,pf))),128))]),_:1},8,["model-value","class"]),e.createVNode(j,{icon:"chevron-down",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})])])):e.createCommentVNode("",!0),t.showFilters&&(t.dateFilters.length>0||M.value)?(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass(gt.value),onClick:I},[e.createVNode(j,{icon:"filter",class:"w-4 h-4"}),V[6]||(V[6]=e.createTextVNode(" Filters ",-1)),N.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(vt.value)},e.toDisplayString(N.value),3)):e.createCommentVNode("",!0),e.createVNode(j,{icon:r.value?"chevron-up":"chevron-down",class:"w-4 h-4 ml-1"},null,8,["icon"])],2)):e.createCommentVNode("",!0),T.$slots.filters?(e.openBlock(),e.createElementBlock("div",gf,[e.renderSlot(T.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",vf,[C.value?(e.openBlock(),e.createBlock(J,{key:0,class:e.normalizeClass(R.value),onClick:Jo},{default:e.withCtx(()=>[e.createVNode(j,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),V[7]||(V[7]=e.createTextVNode(" Clear All ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(J,{key:1,class:e.normalizeClass(G.value),onClick:V[3]||(V[3]=B=>T.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(j,{icon:"download",class:"w-4 h-4 mr-2"}),V[8]||(V[8]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showAdd&&s.value?(e.openBlock(),e.createElementBlock("div",hf,[l.value?(e.openBlock(),e.createBlock(J,{key:0,variant:t.addButton.variant||"success",size:t.addButton.size||"lg",disabled:m.value||!u.value,title:t.addButton.tooltip,onClick:p},{default:e.withCtx(()=>[t.addButton.icon?(e.openBlock(),e.createBlock(j,{key:0,icon:t.addButton.icon,class:"w-4 h-4 mr-2"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.addButton.label||"Add"),1)]),_:1},8,["variant","size","disabled","title"])):e.renderSlot(T.$slots,"add",{key:1},()=>[e.createVNode(J,{variant:"success",size:"lg",onClick:V[4]||(V[4]=B=>T.$emit("add"))},{default:e.withCtx(()=>[e.createVNode(j,{icon:"plus",class:"w-4 h-4 mr-2"}),V[9]||(V[9]=e.createTextVNode(" Add ",-1))]),_:1})])])):e.createCommentVNode("",!0)])],2),t.showFilters&&r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(He.value)},[e.createElementVNode("div",bf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dateFilters,B=>(e.openBlock(),e.createElementBlock("div",{key:B.key,class:"space-y-3"},[e.createElementVNode("div",yf,[e.createElementVNode("label",{class:e.normalizeClass(ze.value)},e.toDisplayString(B.label),3),e.createElementVNode("span",{class:e.normalizeClass(d(B))},e.toDisplayString(y(B)?"Active":"Inactive"),3)]),e.createElementVNode("div",xf,[e.createElementVNode("div",kf,[e.createVNode(j,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":B.from,class:e.normalizeClass(xe.value),placeholder:`From ${B.label}`,onInput:A=>i(B.key,"from",A.target.value)},null,42,wf)]),e.createElementVNode("span",{class:e.normalizeClass(De.value)},"to",2),e.createElementVNode("div",Cf,[e.createVNode(j,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":B.to,class:e.normalizeClass(xe.value),placeholder:`To ${B.label}`,onInput:A=>i(B.key,"to",A.target.value)},null,42,Bf)]),y(B)?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(D.value),title:"Clear this filter",onClick:A=>f(B.key)},[e.createVNode(j,{icon:"xmark",class:"w-4 h-4"})],10,Vf)):e.createCommentVNode("",!0)])]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.numberFilters,B=>(e.openBlock(),e.createElementBlock("div",{key:B.key,class:"space-y-3"},[e.createElementVNode("div",Sf,[e.createElementVNode("label",{class:e.normalizeClass(ze.value)},e.toDisplayString(B.label),3),e.createElementVNode("span",{class:e.normalizeClass(w(B))},e.toDisplayString(c(B)?"Active":"Inactive"),3)]),e.createElementVNode("div",Ef,[e.createElementVNode("div",Nf,[e.createElementVNode("input",{type:"number","model-value":B.min,class:e.normalizeClass(xe.value),placeholder:`Min ${B.label}`,step:B.step||1,onInput:A=>x(B.key,"min",A.target.value)},null,42,$f)]),e.createElementVNode("span",{class:e.normalizeClass(De.value)},"to",2),e.createElementVNode("div",zf,[e.createElementVNode("input",{type:"number","model-value":B.max,class:e.normalizeClass(xe.value),placeholder:`Max ${B.label}`,step:B.step||1,onInput:A=>x(B.key,"max",A.target.value)},null,42,Df)]),c(B)?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(D.value),title:"Clear this filter",onClick:A=>g(B.key)},[e.createVNode(j,{icon:"xmark",class:"w-4 h-4"})],10,Tf)):e.createCommentVNode("",!0)])]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.multiSelectFilters,B=>(e.openBlock(),e.createElementBlock("div",{key:B.key,class:"space-y-3"},[e.createElementVNode("div",Af,[e.createElementVNode("label",{class:e.normalizeClass(ze.value)},e.toDisplayString(B.label),3),e.createElementVNode("span",{class:e.normalizeClass(L(B))},e.toDisplayString(F(B)?`${B.selected.length} selected`:"None"),3)]),e.createElementVNode("div",Ff,[e.createVNode(ue,{"model-value":"",class:e.normalizeClass($e.value),onChange:A=>H(B.key,A.target.value)},{default:e.withCtx(()=>[e.createElementVNode("option",Pf," Select "+e.toDisplayString(B.label),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.options,A=>(e.openBlock(),e.createElementBlock("option",{key:A.value,value:A.value},e.toDisplayString(A.label),9,Lf))),128))]),_:2},1032,["class","onChange"]),e.createVNode(j,{icon:"chevron-down",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})]),B.selected.length>0?(e.openBlock(),e.createElementBlock("div",jf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.selected,A=>(e.openBlock(),e.createElementBlock("span",{key:A,class:"inline-flex items-center gap-1 bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full"},[e.createTextVNode(e.toDisplayString(E(B,A))+" ",1),e.createElementVNode("button",{class:"hover:bg-blue-200 rounded-full p-0.5",onClick:Y=>_(B.key,A)},[e.createVNode(j,{icon:"xmark",class:"w-3 h-3"})],8,Mf)]))),128))])):e.createCommentVNode("",!0)]))),128))])],2)):e.createCommentVNode("",!0),t.showFilters&&P.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(te.value)},[e.createElementVNode("div",If,[e.createElementVNode("span",{class:e.normalizeClass(ae.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,B=>(e.openBlock(),e.createElementBlock("div",{key:B.key,class:e.normalizeClass(Q.value)},[e.createVNode(j,{icon:B.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(B.label)+": "+e.toDisplayString(B.value),1),e.createElementVNode("button",{class:e.normalizeClass(ca.value),onClick:A=>Zo(B.key)},[e.createVNode(j,{icon:"xmark",class:"w-3 h-3"})],10,Of)],2))),128))])],2)):e.createCommentVNode("",!0),t.showTableInfo?(e.openBlock(),e.createElementBlock("div",Rf,[e.createElementVNode("div",_f,[e.createElementVNode("div",Uf,[e.createElementVNode("span",qf,[e.createElementVNode("span",Hf,e.toDisplayString(t.totalItems||0),1),e.createTextVNode(" "+e.toDisplayString(t.itemLabel||"items")+" found ",1)])])])])):e.createCommentVNode("",!0)]))}},Wf={class:"flex items-center gap-3"},Yf={key:0,class:"flex items-center gap-3"},Gf={class:"text-sm text-slate-600"},Kf={class:"flex items-center gap-2"},Xf={class:"flex items-center gap-3"},Qf=["title","onClick"],Jf={key:1,class:"relative"},Zf={class:"p-3"},ep={class:"space-y-1"},tp={class:"flex items-center gap-2 cursor-pointer w-full"},ap=["checked","onChange"],np=["disabled"],op={key:3,class:"flex items-center gap-2"},rp=[{key:"delete",label:"Delete",icon:{template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" /></svg>'},variant:"danger"},{key:"edit",label:"Edit",icon:{template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10" /></svg>'},variant:"primary"}],lp={name:"DataTableToolBar"},Oo=Object.assign(lp,{props:{selectedItems:{type:Array,default:()=>[]},totalItems:{type:Number,default:0},bulkActions:{type:Array,default:()=>rp},showDensityToggle:{type:Boolean,default:!0},showColumnToggle:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},isRefreshing:{type:Boolean,default:!1},density:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},toggleableColumns:{type:Array,default:()=>[]},visibleColumns:{type:Array,default:()=>[]},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["bulk-action","update:density","toggle-column","refresh"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=e.ref(null),s=e.ref(null),u=e.computed(()=>a.selectedItems.length),m=[{value:"compact",label:"Compact",icon:["fas","minus"]},{value:"normal",label:"Normal",icon:["fas","bars"]},{value:"comfortable",label:"Comfortable",icon:["fas","bars-staggered"]}],p=z.cva("flex items-center justify-between border-b border-slate-200",{variants:{variant:{default:"bg-white",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-50 border-slate-300"},padding:{compact:"p-2",normal:"p-4",comfortable:"p-6"}},defaultVariants:{variant:"default",padding:"normal"}}),v=z.cva("px-3 py-1.5 text-sm font-medium rounded-md flex items-center gap-1 transition-colors",{variants:{variant:{danger:"text-red-700 bg-red-500 hover:bg-red-400 border border-red-200",primary:"text-blue-700 bg-blue-50 hover:bg-blue-100 border border-blue-200",secondary:"text-slate-700 bg-slate-500 hover:bg-slate-400 border border-slate-200"}},defaultVariants:{variant:"secondary"}}),h=z.cva("p-2 border border-slate-300 transition-colors",{variants:{active:{true:"bg-blue-50 text-blue-600 border-blue-300",false:"bg-white text-slate-600 hover:bg-slate-50"},position:{first:"rounded-l-md border-r-0",middle:"border-x-0",last:"rounded-r-md border-l-0"}},defaultVariants:{active:!1,position:"middle"}}),S=z.cva("px-3 py-2 text-sm border border-slate-300 rounded-md flex items-center gap-2 transition-colors",{variants:{state:{normal:"text-slate-600 hover:text-slate-800 hover:bg-slate-50",refreshing:"text-slate-600 opacity-75 cursor-not-allowed"}},defaultVariants:{state:"normal"}}),b=e.computed(()=>k(p({variant:a.variant,padding:a.padding}))),y=e.computed(()=>"text-sm text-slate-600"),f=e.computed(()=>"flex items-center"),d=e.computed(()=>"flex items-center gap-2 px-3 py-2 text-sm text-slate-600 hover:text-slate-800 border border-slate-300 rounded-md hover:bg-slate-50 transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1"),i=e.computed(()=>"absolute right-0 top-full mt-1 w-56 bg-white border border-slate-200 rounded-lg shadow-lg z-50 max-h-64 overflow-y-auto"),c=e.computed(()=>"text-xs font-medium text-slate-500 uppercase tracking-wider mb-2 border-b border-slate-100 pb-2"),g=e.computed(()=>"py-1 hover:bg-slate-50 rounded transition-colors"),w=e.computed(()=>"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 focus:ring-2 focus:ring-offset-1"),x=e.computed(()=>"text-sm text-slate-700 flex-1 select-none"),F=N=>{l.value&&s.value&&!l.value.contains(N.target)&&!s.value.contains(N.target)&&(r.value=!1)},L=()=>{r.value=!r.value},H=N=>k(v({variant:N.variant||"secondary"})),_=N=>{let P="middle";return N==="compact"?P="first":N==="comfortable"&&(P="last"),k(h({active:a.density===N,position:P}))},E=()=>k(S({state:a.isRefreshing?"refreshing":"normal"})),I=()=>k("w-4 h-4",{"animate-spin":a.isRefreshing}),M=N=>a.visibleColumns.includes(N),C=(N,P)=>{o("toggle-column",{column:N,visible:P})};return e.onMounted(()=>{document.addEventListener("click",F)}),e.onUnmounted(()=>{document.removeEventListener("click",F)}),(N,P)=>{const W=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(b.value)},[e.createElementVNode("div",Wf,[u.value>0?(e.openBlock(),e.createElementBlock("div",Yf,[e.createElementVNode("span",Gf,e.toDisplayString(u.value)+" selected ",1),e.createElementVNode("div",Kf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bulkActions,U=>(e.openBlock(),e.createBlock(J,{key:U.key,class:e.normalizeClass(H(U)),onClick:re=>N.$emit("bulk-action",{action:U.key,items:t.selectedItems})},{default:e.withCtx(()=>[U.icon?(e.openBlock(),e.createBlock(W,{key:0,icon:U.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(U.label),1)]),_:2},1032,["class","onClick"]))),128))])])):t.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(y.value)},e.toDisplayString(t.totalItems)+" "+e.toDisplayString(t.totalItems===1?"item":"items"),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Xf,[t.showDensityToggle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(f.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(m,U=>e.createElementVNode("button",{key:U.value,class:e.normalizeClass(_(U.value)),title:U.label,type:"button",onClick:re=>N.$emit("update:density",U.value)},[e.createVNode(W,{icon:U.icon,class:"w-4 h-4"},null,8,["icon"])],10,Qf)),64))],2)):e.createCommentVNode("",!0),t.showColumnToggle?(e.openBlock(),e.createElementBlock("div",Jf,[e.createElementVNode("button",{ref_key:"columnToggleButton",ref:l,class:e.normalizeClass(d.value),type:"button",onClick:e.withModifiers(L,["stop"])},[e.createVNode(W,{icon:"columns",class:"w-4 h-4"}),P[2]||(P[2]=e.createElementVNode("span",null,"Columns",-1))],2),e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:s,class:e.normalizeClass(i.value),onClick:P[0]||(P[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Zf,[e.createElementVNode("div",{class:e.normalizeClass(c.value)}," Show Columns ",2),e.createElementVNode("div",ep,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toggleableColumns,U=>(e.openBlock(),e.createElementBlock("div",{key:U.key,class:e.normalizeClass(g.value)},[e.createElementVNode("label",tp,[e.createElementVNode("input",{type:"checkbox",checked:M(U.key),class:e.normalizeClass(w.value),onChange:re=>C(U.key,re.target.checked)},null,42,ap),e.createElementVNode("span",{class:e.normalizeClass(x.value)},e.toDisplayString(U.label),3)])],2))),128))])])],2),[[e.vShow,r.value]])])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:t.isRefreshing,class:e.normalizeClass(E()),type:"button",onClick:P[1]||(P[1]=U=>N.$emit("refresh"))},[e.createVNode(W,{icon:"sync",class:e.normalizeClass(I())},null,8,["class"]),P[3]||(P[3]=e.createElementVNode("span",null,"Refresh",-1))],10,np)):e.createCommentVNode("",!0),N.$slots.actions?(e.openBlock(),e.createElementBlock("div",op,[e.renderSlot(N.$slots,"actions")])):e.createCommentVNode("",!0)])],2)}}}),sp={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"},ip={class:"grid grid-cols-1 md:grid-cols-4 gap-8"},cp={class:"col-span-1 md:col-span-2"},dp={class:"space-y-2"},up={class:"flex space-x-4"},mp={class:"flex flex-col md:flex-row justify-between items-center"},fp={class:"flex space-x-6 mt-4 md:mt-0"},Ro={__name:"Footer",props:{className:{type:String,default:""}},setup(t){return(n,a)=>{const o=e.resolveComponent("Logo"),r=e.resolveComponent("Text"),l=e.resolveComponent("Typography"),s=e.resolveComponent("Link"),u=e.resolveComponent("Icon"),m=e.resolveComponent("Divider");return e.openBlock(),e.createElementBlock("footer",{class:e.normalizeClass(e.unref(k)("bg-gray-50 border-t border-gray-200",t.className))},[e.createElementVNode("div",sp,[e.createElementVNode("div",ip,[e.createElementVNode("div",cp,[e.renderSlot(n.$slots,"brand",{},()=>[e.createVNode(o,{class:"mb-4"}),e.createVNode(r,{class:"text-gray-600 max-w-md"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" Building beautiful applications with modern Vue.js components. ",-1)])]),_:1})])]),e.createElementVNode("div",null,[e.renderSlot(n.$slots,"links",{},()=>[e.createVNode(l,{variant:"h6",class:"mb-4"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode(" Quick Links ",-1)])]),_:1}),e.createElementVNode("div",dp,[e.createVNode(s,{href:"#",class:"block text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" About ",-1)])]),_:1}),e.createVNode(s,{href:"#",class:"block text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[3]||(a[3]=[e.createTextVNode(" Services ",-1)])]),_:1}),e.createVNode(s,{href:"#",class:"block text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[4]||(a[4]=[e.createTextVNode(" Contact ",-1)])]),_:1})])])]),e.createElementVNode("div",null,[e.renderSlot(n.$slots,"social",{},()=>[e.createVNode(l,{variant:"h6",class:"mb-4"},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode(" Follow Us ",-1)])]),_:1}),e.createElementVNode("div",up,[e.createVNode(s,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[e.createVNode(u,{name:"twitter",class:"h-5 w-5"})]),_:1}),e.createVNode(s,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[e.createVNode(u,{name:"github",class:"h-5 w-5"})]),_:1})])])])]),e.createVNode(m,{class:"my-8"}),e.createElementVNode("div",mp,[e.renderSlot(n.$slots,"copyright",{},()=>[e.createVNode(r,{class:"text-gray-600"},{default:e.withCtx(()=>[e.createTextVNode(" © "+e.toDisplayString(new Date().getFullYear())+" Your Company. All rights reserved. ",1)]),_:1})]),e.renderSlot(n.$slots,"legal",{},()=>[e.createElementVNode("div",fp,[e.createVNode(s,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[6]||(a[6]=[e.createTextVNode(" Privacy ",-1)])]),_:1}),e.createVNode(s,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[7]||(a[7]=[e.createTextVNode(" Terms ",-1)])]),_:1})])])])])],2)}}},pp={class:"flex items-center justify-between h-16 px-4 md:px-6"},gp={class:"flex items-center"},vp={key:0,class:"mr-4 flex-shrink-0 bg-gradient-to-r from-blue-50 to-indigo-50 px-3 py-2 rounded-lg border border-blue-100"},hp={class:"text-lg font-bold text-blue-900 truncate max-w-[200px]"},bp={key:0,class:"text-xs text-blue-600 truncate font-medium"},yp={class:"hidden md:flex items-center space-x-2 text-sm truncate"},xp={class:"text-gray-500 truncate"},kp={class:"text-gray-900 font-medium truncate"},wp={class:"flex items-center space-x-3 md:space-x-4"},Cp={key:1,class:"relative"},Bp={key:0,class:"absolute -top-1 -right-1 w-4 h-4 bg-red-500 text-white text-xs rounded-full flex items-center justify-center"},Vp={key:0,class:"absolute right-4 md:right-6 top-16 mt-2 w-72 md:w-80 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},Sp={class:"max-h-96 overflow-y-auto"},Ep={class:"flex items-start space-x-3"},Np={class:"flex-1"},$p={class:"text-sm text-gray-900"},zp={class:"text-xs text-gray-500 mt-1"},Dp={class:"relative"},Tp={class:"w-8 h-8 bg-gradient-to-br from-blue-100 to-indigo-100 rounded-full flex items-center justify-center transition-colors shadow-sm"},Ap={class:"text-blue-700 text-sm font-medium"},Fp={class:"hidden md:block text-left max-w-[160px] truncate"},Pp={class:"text-sm font-medium text-gray-900 truncate"},Lp={class:"text-xs text-gray-500 truncate leading-tight"},jp={key:0,class:"absolute right-0 mt-2 w-58 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},Mp={class:"p-4 border-b border-gray-200"},Ip={class:"text-sm font-medium text-gray-900"},Op={class:"text-xs text-gray-500"},Rp={class:"py-2"},_p={key:0,class:"absolute left-0 top-1/2 transform -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-blue-600 rounded-r-full"},Up=["onClick"],qp={class:"flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2 bg-gray-100 text-gray-600 group-hover:bg-gray-200"},Hp={class:"flex-1 truncate font-semibold text-gray-700"},_o={__name:"Header",props:{sidebarWidth:{type:Number,default:256},currentSection:{type:String,default:"Dashboard"},currentPage:{type:String,default:"Overview"},currentRoute:{type:String,default:""},user:{type:Object,required:!0},notifications:{type:Array,default:()=>[]},profileMenuItems:{type:Array,required:!0},mobileOpen:{type:Boolean,default:!1},currentOrganisation:{type:Object,default:null},companyLogo:{type:String,default:""}},emits:["search","profile-action","logout","navigate","toggle-mobile-sidebar"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(""),l=e.ref(!1),s=e.ref(!1),u=e.ref(a.notifications.length),m=e.ref(!1),p=e.ref(!1),v=e.computed(()=>(a.user?.name||"Guest").split(" ").map(x=>x[0]||"").join("").toUpperCase()),h=e.computed(()=>a.user?.roles?.length?a.user.roles.map(w=>w.name).join(", "):"No role"),S=()=>{l.value=!l.value,s.value=!1},b=()=>{s.value=!s.value,l.value=!1},y=w=>{o("navigate",w),s.value=!1},f=w=>w.route?!!(a.currentRoute===w.route||a.currentRoute.startsWith(w.route+"/")):!1,d=w=>{o("profile-action",w),s.value=!1},i=()=>{o("logout"),s.value=!1},c=w=>{!w.target.closest(".absolute")&&!w.target.closest("button")&&(l.value=!1,s.value=!1)},g=()=>{p.value=window.innerWidth<768};return e.onMounted(()=>{document.addEventListener("click",c),g(),window.addEventListener("resize",g)}),e.onUnmounted(()=>{document.removeEventListener("click",c),window.removeEventListener("resize",g)}),e.watch(r,w=>o("search",w)),(w,x)=>{const F=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(k)("fixed top-0 z-50 bg-white border-b border-gray-200 transition-all duration-300 ease-in-out w-full")),style:{left:"0"}},[e.createElementVNode("div",pp,[e.createElementVNode("div",gp,[t.currentOrganisation?(e.openBlock(),e.createElementBlock("div",vp,[e.createElementVNode("p",hp,e.toDisplayString(t.currentOrganisation.organisation_name),1),t.currentOrganisation.role?(e.openBlock(),e.createElementBlock("p",bp,e.toDisplayString(t.currentOrganisation.role),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("nav",yp,[e.createElementVNode("span",xp,e.toDisplayString(t.currentSection),1),x[4]||(x[4]=e.createElementVNode("svg",{class:"w-4 h-4 text-gray-400 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"})],-1)),e.createElementVNode("span",kp,e.toDisplayString(t.currentPage),1)])]),e.createElementVNode("div",wp,[p.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors",onClick:x[0]||(x[0]=L=>o("toggle-mobile-sidebar"))},[...x[5]||(x[5]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])])):e.createCommentVNode("",!0),!p.value||m.value?(e.openBlock(),e.createElementBlock("div",Cp,[x[6]||(x[6]=e.createElementVNode("div",{class:"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none"},[e.createElementVNode("svg",{class:"w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})])],-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":x[1]||(x[1]=L=>r.value=L),type:"text",placeholder:"Search...",class:"pl-10 pr-4 py-2 w-48 md:w-64 text-sm border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none"},null,512),[[e.vModelText,r.value]]),p.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",onClick:x[2]||(x[2]=L=>m.value=!1)}," ✕ ")):e.createCommentVNode("",!0)])):p.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:"p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors",onClick:x[3]||(x[3]=L=>m.value=!0)},[...x[7]||(x[7]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)])])):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"relative p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors",onClick:S},[x[8]||(x[8]=e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 17h5l-5 5v-5z"}),e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 3h2.586a1 1 0 01.707.293l6.414 6.414a1 1 0 01.293.707V19a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h4L13 3z"})],-1)),u.value>0?(e.openBlock(),e.createElementBlock("span",Bp,e.toDisplayString(u.value),1)):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-300 ease-in","enter-from-class":"opacity-0 translate-y-2 scale-95","enter-to-class":"opacity-100 translate-y-0 scale-100","leave-from-class":"opacity-100 translate-y-0 scale-100","leave-to-class":"opacity-0 translate-y-2 scale-95"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",Vp,[x[10]||(x[10]=e.createElementVNode("div",{class:"p-4 border-b border-gray-200"},[e.createElementVNode("h3",{class:"text-lg font-semibold text-gray-900"}," Notifications ")],-1)),e.createElementVNode("div",Sp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.notifications,L=>(e.openBlock(),e.createElementBlock("div",{key:L.id,class:"p-4 border-b border-gray-100 hover:bg-gray-50 cursor-pointer"},[e.createElementVNode("div",Ep,[x[9]||(x[9]=e.createElementVNode("div",{class:"flex-shrink-0 w-2 h-2 mt-2 bg-blue-500 rounded-full"},null,-1)),e.createElementVNode("div",Np,[e.createElementVNode("p",$p,e.toDisplayString(L.title),1),e.createElementVNode("p",zp,e.toDisplayString(L.time),1)])])]))),128))]),x[11]||(x[11]=e.createElementVNode("div",{class:"p-4 text-center"},[e.createElementVNode("button",{class:"text-sm text-blue-600 hover:text-blue-800"}," View all notifications ")],-1))])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",Dp,[e.createElementVNode("button",{class:"flex items-center space-x-2 md:space-x-3 p-2 rounded-lg hover:bg-gray-50 transition-colors",onClick:b},[e.createElementVNode("div",Tp,[e.createElementVNode("span",Ap,e.toDisplayString(v.value),1)]),e.createElementVNode("div",Fp,[e.createElementVNode("p",Pp,e.toDisplayString(t.user.name),1),e.createElementVNode("p",Lp,e.toDisplayString(h.value),1)]),x[12]||(x[12]=e.createElementVNode("svg",{class:"w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200 ease-out","leave-active-class":"transition-all duration-200 ease-in","enter-from-class":"opacity-0 translate-y-2 scale-95","enter-to-class":"opacity-100 translate-y-0 scale-100","leave-from-class":"opacity-100 translate-y-0 scale-100","leave-to-class":"opacity-0 translate-y-2 scale-95"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",jp,[e.createElementVNode("div",Mp,[e.createElementVNode("p",Ip,e.toDisplayString(t.user.name),1),e.createElementVNode("p",Op,e.toDisplayString(t.user.email),1)]),e.createElementVNode("div",Rp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.profileMenuItems,L=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:L.name},[L.route?(e.openBlock(),e.createBlock(F,{key:0,to:L.route,class:e.normalizeClass(e.unref(k)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",f(L)?"bg-gradient-to-br from-blue-50 to-blue-100 text-blue-700 shadow-sm border border-blue-200":"text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent")),onClick:H=>y(L)},{default:e.withCtx(()=>[f(L)?(e.openBlock(),e.createElementBlock("div",_p)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",f(L)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"bg-gray-100 text-gray-600 group-hover:bg-gray-200"))},[L.icon?(e.openBlock(),e.createBlock(j,{key:0,icon:L.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(k)("flex-1 truncate font-semibold",f(L)?"text-blue-700":"text-gray-700"))},e.toDisplayString(L.label),3)]),_:2},1032,["to","class","onClick"])):(e.openBlock(),e.createElementBlock("button",{key:1,class:"flex items-center w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent",onClick:H=>d(L)},[e.createElementVNode("div",qp,[L.icon?(e.openBlock(),e.createBlock(j,{key:0,icon:L.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)]),e.createElementVNode("span",Hp,e.toDisplayString(L.label),1)],8,Up))],64))),128))]),e.createElementVNode("div",{class:"border-t border-gray-200 py-2"},[e.createElementVNode("button",{class:"flex items-center w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative text-red-600 hover:bg-red-50 border border-transparent",onClick:i},[...x[13]||(x[13]=[e.createElementVNode("div",{class:"flex items-center justify-center w-8 h-8 rounded-lg mr-1 flex-shrink-0 transition-colors ml-2 bg-red-100 text-red-600 group-hover:bg-red-200"},[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a2 2 0 013-3h4a3 3 0 013 3v1"})])],-1),e.createElementVNode("span",{class:"truncate font-semibold text-red-600"}," Sign out ",-1)])])])])):e.createCommentVNode("",!0)]),_:1})])])])],2)}}},Wp={class:"relative"},Yp=["id","disabled"],Gp={key:0,class:"text-gray-500"},Kp={key:1,class:"flex flex-wrap gap-1.5"},Xp={class:"px-3 py-2.5 border-b border-gray-200 bg-gray-50"},Qp={key:0,class:"max-h-52 overflow-y-auto py-1"},Jp=["onClick"],Zp={class:"flex items-center gap-3"},eg=["checked"],tg={key:1,class:"px-4 py-6 text-sm text-gray-500 text-center"},Uo={__name:"MultiSelect",props:{modelValue:{type:Array,default:()=>[]},options:{type:Array,required:!0,validator:t=>t.every(n=>n.value!==void 0&&n.label)},id:{type:String,default:null},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:"Select options"},hasError:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=n,r=e.ref(!1),l=e.ref(""),s=e.ref(null),u=e.ref([...a.options]),m=e.ref(null),p=e.ref({}),v=e.computed(()=>a.options.filter(i=>a.modelValue.includes(i.value)).map(i=>i.label)),h=()=>{if(!m.value)return;const i=m.value.getBoundingClientRect(),c=window.innerHeight,g=c-i.bottom,w=320;g<w&&i.top>w?p.value={position:"fixed",bottom:`${c-i.top+4}px`,left:`${i.left}px`,width:`${i.width}px`,zIndex:9999}:p.value={position:"fixed",top:`${i.bottom+4}px`,left:`${i.left}px`,width:`${i.width}px`,zIndex:9999}},S=()=>{a.disabled||(r.value=!r.value,r.value?(h(),e.nextTick(()=>{s.value?.focus()})):(l.value="",u.value=[...a.options]))},b=i=>{let c;a.modelValue.includes(i)?c=a.modelValue.filter(g=>g!==i):c=[...a.modelValue,i],o("update:modelValue",c)},y=()=>{if(!l.value.trim())u.value=[...a.options];else{const i=l.value.toLowerCase();u.value=a.options.filter(c=>c.label.toLowerCase().includes(i))}},f=i=>{i.key==="Escape"&&(r.value=!1,l.value="",u.value=[...a.options])},d=i=>{if(!m.value)return;const c=i.target;c&&!m.value.contains(c)&&!c.closest("[data-multiselect-dropdown]")&&(r.value=!1,l.value="",u.value=[...a.options])};return e.onMounted(()=>{document.addEventListener("click",d),window.addEventListener("scroll",h,!0),window.addEventListener("resize",h)}),e.onUnmounted(()=>{document.removeEventListener("click",d),window.removeEventListener("scroll",h,!0),window.removeEventListener("resize",h)}),e.watch(()=>a.options,i=>{u.value=[...i]},{immediate:!0}),e.watch(r,i=>{i&&h()}),(i,c)=>(e.openBlock(),e.createElementBlock("div",Wp,[e.createElementVNode("button",{ref_key:"buttonRef",ref:m,type:"button",id:t.id,disabled:t.disabled,class:e.normalizeClass(["w-full px-3 py-2.5 text-left border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 bg-white min-h-[42px]",t.hasError?"border-red-500":"border-slate-300",t.disabled?"bg-gray-100 cursor-not-allowed opacity-50":"hover:border-slate-400"]),onClick:S,onKeydown:f},[v.value.length===0?(e.openBlock(),e.createElementBlock("div",Gp,e.toDisplayString(t.placeholder||"Select options"),1)):(e.openBlock(),e.createElementBlock("div",Kp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,g=>(e.openBlock(),e.createBlock(aa,{key:g,variant:"primary",size:"sm"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g),1)]),_:2},1024))),128))])),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(["absolute right-3 top-1/2 -translate-y-1/2 h-5 w-5 text-gray-400 pointer-events-none transition-transform duration-200",{"rotate-180":r.value}]),fill:"currentColor",viewBox:"0 0 20 20"},[...c[2]||(c[2]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z","clip-rule":"evenodd"},null,-1)])],2))],42,Yp),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,style:e.normalizeStyle(p.value),"data-multiselect-dropdown":"",class:"bg-white shadow-lg max-h-72 rounded-md text-base ring-1 ring-black ring-opacity-5 overflow-hidden focus:outline-none"},[e.createElementVNode("div",Xp,[e.withDirectives(e.createElementVNode("input",{ref_key:"searchInput",ref:s,"onUpdate:modelValue":c[0]||(c[0]=g=>l.value=g),type:"text",placeholder:"Search options...",class:"w-full px-3 py-2 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent bg-white",onInput:y,onKeydown:c[1]||(c[1]=e.withModifiers(()=>{},["stop"]))},null,544),[[e.vModelText,l.value]])]),u.value.length>0?(e.openBlock(),e.createElementBlock("div",Qp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,g=>(e.openBlock(),e.createElementBlock("button",{key:g.value,type:"button",class:e.normalizeClass(["cursor-pointer select-none relative py-2.5 pl-3 pr-9 w-full text-left hover:bg-blue-50 focus:bg-blue-50 focus:outline-none transition-colors duration-150",{"bg-blue-50":t.modelValue.includes(g.value)}]),onClick:w=>b(g.value)},[e.createElementVNode("div",Zp,[e.createElementVNode("input",{type:"checkbox",checked:t.modelValue.includes(g.value),class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded cursor-pointer pointer-events-none",readonly:"",tabindex:"-1"},null,8,eg),e.createElementVNode("span",{class:e.normalizeClass(["block font-normal truncate",{"text-blue-900 font-medium":t.modelValue.includes(g.value)}])},e.toDisplayString(g.label),3)])],10,Jp))),128))])):(e.openBlock(),e.createElementBlock("div",tg," No options found "))],4)):e.createCommentVNode("",!0)]),_:1})]))]))}},ag={class:"mb-6"},ng={class:"text-xl font-semibold text-gray-900"},og={class:"text-sm text-gray-600 mt-1"},rg=["onUpdate:modelValue"],lg={key:4,class:"flex items-center"},sg={key:5,class:"flex items-center"},ig=["id","aria-checked","disabled","onClick"],cg={key:6,class:"space-y-2"},dg={key:7,class:"space-y-2"},ug={key:0,class:"text-xs text-gray-500"},mg={key:9,class:"space-y-2"},fg={class:"flex items-center gap-4"},pg={class:"text-sm font-medium text-gray-700 min-w-[3rem] text-right"},gg={class:"flex justify-end gap-3 pt-6"},qo={__name:"ReusableFormModal",props:{modelValue:{type:Boolean,default:!1},modalType:{type:String,required:!0,validator:t=>["create","edit"].includes(t)},entityName:{type:String,default:"Item"},fields:{type:Array,required:!0,validator:t=>t.every(n=>n.name&&n.label&&n.type&&["text","number","password","textarea","select","checkbox","slider","date","color","email","tel","url","time","datetime-local","month","week","file","radio","switch","range","search","hidden","multiselect"].includes(n.type))},initialData:{type:Object,default:null},loading:{type:Boolean,default:!1},customValidation:{type:Function,default:null},modalSize:{type:String,default:"4xl",validator:t=>["sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","8xl","full"].includes(t)},modalHeight:{type:String,default:"auto"},modalResizable:{type:Boolean,default:!1}},emits:["update:modelValue","submit","close"],setup(t,{emit:n}){const a=t,o=n,r=e.computed({get:()=>a.modelValue,set:d=>o("update:modelValue",d)}),l=e.computed(()=>a.loading),s=e.ref({}),u=e.ref({}),m=e.ref(!1),p=()=>{const d={};return a.fields.forEach(i=>{i.type==="checkbox"||i.type==="switch"?d[i.name]=!1:i.type==="number"||i.type==="slider"||i.type==="range"?d[i.name]=i.min!==void 0?i.min:0:i.type==="file"?d[i.name]=null:i.type==="radio"?d[i.name]=i.options?.[0]?.value||"":i.type==="multiselect"?d[i.name]=[]:d[i.name]=""}),d};e.watch(()=>a.initialData,d=>{if(a.modalType==="edit"&&d){const i={};a.fields.forEach(c=>{c.type==="checkbox"||c.type==="switch"?i[c.name]=d[c.name]??!1:c.type==="number"||c.type==="slider"||c.type==="range"?i[c.name]=d[c.name]??(c.min!==void 0?c.min:0):c.type==="file"?i[c.name]=null:c.type==="multiselect"?i[c.name]=Array.isArray(d[c.name])?d[c.name]:[]:i[c.name]=d[c.name]??""}),s.value=i,m.value=!0}else if(a.modalType==="create"&&d&&!m.value){const i={};a.fields.forEach(c=>{d[c.name]!==void 0&&d[c.name]!==null?i[c.name]=d[c.name]:c.type==="checkbox"||c.type==="switch"?i[c.name]=!1:c.type==="number"||c.type==="slider"||c.type==="range"?i[c.name]=c.min!==void 0?c.min:0:c.type==="file"?i[c.name]=null:c.type==="radio"?i[c.name]=c.options?.[0]?.value||"":c.type==="multiselect"?i[c.name]=[]:i[c.name]=""}),s.value=i,m.value=!0}else a.modalType==="create"&&!d&&(s.value=p(),m.value=!1)},{immediate:!0,deep:!0}),e.watch(()=>a.modelValue,d=>{if(d&&(u.value={},a.modalType==="create")){if(m.value=!1,a.initialData){const i={};a.fields.forEach(c=>{a.initialData[c.name]!==void 0&&a.initialData[c.name]!==null?i[c.name]=a.initialData[c.name]:c.type==="checkbox"||c.type==="switch"?i[c.name]=!1:c.type==="number"||c.type==="slider"||c.type==="range"?i[c.name]=c.min!==void 0?c.min:0:c.type==="file"?i[c.name]=null:c.type==="radio"?i[c.name]=c.options?.[0]?.value||"":c.type==="multiselect"?i[c.name]=[]:i[c.name]=""}),s.value=i}else s.value=p();m.value=!0}}),e.watch(()=>a.initialData,d=>{m.value&&d&&Object.keys(d).forEach(i=>{Object.prototype.hasOwnProperty.call(s.value,i)&&d[i]!==void 0&&d[i]!==null&&(s.value[i]=d[i])})},{deep:!0});const v=()=>{if(u.value={},a.fields.forEach(d=>{if(d.required&&!d.disabled&&d.type!=="hidden"){const i=s.value[d.name];d.type==="checkbox"||d.type==="switch"?d.required&&!i&&(u.value[d.name]=d.errorMessage||`${d.label} is required`):d.type==="number"||d.type==="slider"||d.type==="range"?i===""||i===null||i===void 0?u.value[d.name]=d.errorMessage||`${d.label} is required`:d.min!==void 0&&Number(i)<d.min?u.value[d.name]=`${d.label} must be at least ${d.min}`:d.max!==void 0&&Number(i)>d.max&&(u.value[d.name]=`${d.label} must be at most ${d.max}`):d.type==="email"?!i||!i.trim()?u.value[d.name]=d.errorMessage||`${d.label} is required`:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(i)||(u.value[d.name]="Please enter a valid email address"):d.type==="url"?!i||!i.trim()?u.value[d.name]=d.errorMessage||`${d.label} is required`:/^https?:\/\/.+/.test(i)||(u.value[d.name]="Please enter a valid URL"):d.type==="tel"?(!i||!i.trim())&&(u.value[d.name]=d.errorMessage||`${d.label} is required`):d.type==="file"?i||(u.value[d.name]=d.errorMessage||`${d.label} is required`):d.type==="radio"?i||(u.value[d.name]=d.errorMessage||`${d.label} is required`):d.type==="multiselect"?(!Array.isArray(i)||i.length===0)&&(u.value[d.name]=d.errorMessage||`${d.label} is required`):d.type==="date"||d.type==="time"||d.type==="datetime-local"||d.type==="month"||d.type==="week"?(!i||typeof i=="string"&&!i.trim())&&(u.value[d.name]=d.errorMessage||`${d.label} is required`):d.type==="password"?(!i||typeof i=="string"&&!i.trim())&&(u.value[d.name]=d.errorMessage||`${d.label} is required`):(!i||typeof i=="string"&&!i.trim())&&(u.value[d.name]=d.errorMessage||`${d.label} is required`)}if(d.validate&&typeof d.validate=="function"){const i=d.validate(s.value[d.name],s.value);i&&(u.value[d.name]=i)}}),a.customValidation){const d=a.customValidation(s.value);d&&Object.keys(d).length>0&&(u.value={...u.value,...d})}return Object.keys(u.value).length===0},h=async(d,i)=>{if(s.value[d.name]=i,d.onChange&&typeof d.onChange=="function")try{await d.onChange(i,s.value)}catch(c){console.error("Error in onChange handler:",c),ne.error("An error occurred while processing the change")}},S=(d,i)=>{if(s.value[d.name]=i,d.onChange&&typeof d.onChange=="function")try{d.onChange(i,s.value)}catch(c){console.error("Error in onChange handler:",c),ne.error("An error occurred while processing the change")}},b=(d,i)=>{const c=i.target.files?.[0]||null;if(s.value[d.name]=c,d.onChange&&typeof d.onChange=="function")try{d.onChange(c,s.value)}catch(g){console.error("Error in onChange handler:",g),ne.error("An error occurred while processing the file")}},y=async()=>{try{if(!v()){ne.error("Please fix the validation errors before submitting");return}const d={};a.fields.forEach(i=>{const c=s.value[i.name];i.type==="number"||i.type==="slider"||i.type==="range"?d[i.name]=Number(c):i.type==="text"||i.type==="textarea"||i.type==="date"||i.type==="email"||i.type==="url"||i.type==="tel"||i.type==="search"||i.type==="time"||i.type==="datetime-local"||i.type==="month"||i.type==="week"?d[i.name]=typeof c=="string"?c.trim():c:(i.type==="password"||i.type,d[i.name]=c)}),o("submit",{formData:d,modalType:a.modalType,originalData:a.initialData})}catch(d){console.error("Error during form submission:",d),ne.error("An error occurred during submission")}},f=()=>{s.value=p(),u.value={},m.value=!1,o("close")};return(d,i)=>(e.openBlock(),e.createBlock(ra,{modelValue:r.value,"onUpdate:modelValue":i[0]||(i[0]=c=>r.value=c),"show-close":!0,"close-on-backdrop":!0,size:t.modalSize,class:e.normalizeClass(t.modalHeight==="auto"?"":t.modalHeight),resizable:t.modalResizable,onClose:f},{default:e.withCtx(()=>[e.createElementVNode("div",ag,[e.createElementVNode("h2",ng,e.toDisplayString(t.modalType==="create"?`Add New ${t.entityName}`:`Edit ${t.entityName}`),1),e.createElementVNode("p",og,e.toDisplayString(t.modalType==="create"?`Fill in the details to create a new ${t.entityName.toLowerCase()}.`:`Update the ${t.entityName.toLowerCase()} information below.`),1)]),e.createElementVNode("form",{class:"space-y-6 overflow-y-auto",onSubmit:e.withModifiers(y,["prevent"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,c=>(e.openBlock(),e.createElementBlock("div",{key:c.name},[c.type==="hidden"?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":g=>s.value[c.name]=g,type:"hidden"},null,8,rg)),[[e.vModelText,s.value[c.name]]]):(e.openBlock(),e.createBlock(ut,{key:1,id:`form-${t.entityName}-${c.name}-${Math.random().toString(36).slice(2,5)}`,label:c.label,required:c.required&&!c.disabled,error:u.value[c.name],"error-message":u.value[c.name]},{default:e.withCtx(({fieldId:g,hasError:w,ariaDescribedBy:x})=>[["text","number","password","color","email","tel","url","search"].includes(c.type)?(e.openBlock(),e.createBlock(X,{key:0,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:c.type,placeholder:c.placeholder,disabled:l.value||c.disabled,readonly:c.disabled,class:e.normalizeClass(w?"border-red-500":"border-slate-300"),"aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","type","placeholder","disabled","readonly","class","aria-describedby"])):c.type==="textarea"?(e.openBlock(),e.createBlock(dt,{key:1,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,placeholder:c.placeholder,disabled:l.value||c.disabled,rows:c.rows||3,class:e.normalizeClass(["w-full px-3 py-2 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",w?"border-red-500":"border-slate-300"]),"aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","placeholder","disabled","rows","class","aria-describedby"])):c.type==="select"?(e.openBlock(),e.createBlock(ue,{key:2,id:g,"model-value":s.value[c.name],options:c.options,placeholder:c.placeholder||"Select an option",disabled:l.value||c.disabled,"has-error":w,"aria-describedby":x,"onUpdate:modelValue":F=>h(c,F)},null,8,["id","model-value","options","placeholder","disabled","has-error","aria-describedby","onUpdate:modelValue"])):c.type==="multiselect"?(e.openBlock(),e.createBlock(Uo,{key:3,id:g,"model-value":s.value[c.name],options:c.options,disabled:l.value||c.disabled,placeholder:c.placeholder||"Select options","has-error":w,"aria-describedby":x,"onUpdate:modelValue":F=>s.value[c.name]=F},null,8,["id","model-value","options","disabled","placeholder","has-error","aria-describedby","onUpdate:modelValue"])):c.type==="checkbox"?(e.openBlock(),e.createElementBlock("div",lg,[e.createVNode(X,{id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:"checkbox",disabled:l.value||c.disabled,class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded","aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","disabled","aria-describedby"]),e.createVNode(fe,{for:g,class:"ml-2 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.checkboxLabel||c.label),1)]),_:2},1032,["for"])])):c.type==="switch"?(e.openBlock(),e.createElementBlock("div",sg,[e.createElementVNode("button",{id:g,type:"button",role:"switch","aria-checked":s.value[c.name],disabled:l.value||c.disabled,class:e.normalizeClass(["relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",s.value[c.name]?"bg-blue-600":"bg-gray-200",l.value||c.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer"]),onClick:F=>s.value[c.name]=!s.value[c.name]},[e.createElementVNode("span",{class:e.normalizeClass(["inline-block h-4 w-4 transform rounded-full bg-white transition-transform",s.value[c.name]?"translate-x-6":"translate-x-1"])},null,2)],10,ig),e.createVNode(fe,{for:g,class:"ml-3 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.checkboxLabel||c.label),1)]),_:2},1032,["for"])])):c.type==="radio"?(e.openBlock(),e.createElementBlock("div",cg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.options,F=>(e.openBlock(),e.createElementBlock("div",{key:F.value,class:"flex items-center"},[e.createVNode(X,{id:`${g}-${F.value}`,modelValue:s.value[c.name],"onUpdate:modelValue":L=>s.value[c.name]=L,type:"radio",value:F.value,disabled:l.value||c.disabled,class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300","aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","value","disabled","aria-describedby"]),e.createVNode(fe,{for:`${g}-${F.value}`,class:"ml-2 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(F.label),1)]),_:2},1032,["for"])]))),128))])):c.type==="file"?(e.openBlock(),e.createElementBlock("div",dg,[e.createVNode(X,{id:g,type:"file",accept:c.accept,disabled:l.value||c.disabled,class:e.normalizeClass(["w-full text-sm text-gray-500 file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-blue-50 file:text-blue-700 hover:file:bg-blue-100",w?"border-red-500":"border-slate-300"]),"aria-describedby":x,onChange:F=>b(c,F)},null,8,["id","accept","disabled","class","aria-describedby","onChange"]),c.helpText?(e.openBlock(),e.createElementBlock("p",ug,e.toDisplayString(c.helpText),1)):e.createCommentVNode("",!0)])):c.type==="slider"?(e.openBlock(),e.createBlock(mt,{key:8,"model-value":s.value[c.name],min:c.min,max:c.max,step:c.step,disabled:l.value||c.disabled,"onUpdate:modelValue":F=>S(c,F)},null,8,["model-value","min","max","step","disabled","onUpdate:modelValue"])):c.type==="range"?(e.openBlock(),e.createElementBlock("div",mg,[e.createElementVNode("div",fg,[e.createVNode(X,{id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:"range",min:c.min,max:c.max,step:c.step||1,disabled:l.value||c.disabled,class:"flex-1","aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","min","max","step","disabled","aria-describedby"]),e.createElementVNode("span",pg,e.toDisplayString(s.value[c.name]),1)])])):c.type==="date"?(e.openBlock(),e.createBlock(qe,{key:10,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,disabled:l.value||c.disabled,required:c.required,min:c.min,max:c.max,placeholder:c.placeholder||"Select date",format:c.format||"MM/DD/YYYY",clearable:c.clearable!==!1,"show-today":c.showToday!==!1,"calendar-position":c.calendarPosition||"left-0 bottom-full","aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","disabled","required","min","max","placeholder","format","clearable","show-today","calendar-position","aria-describedby"])):c.type==="time"?(e.openBlock(),e.createBlock(X,{key:11,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:"time",disabled:l.value||c.disabled,class:e.normalizeClass(w?"border-red-500":"border-slate-300"),"aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):c.type==="datetime-local"?(e.openBlock(),e.createBlock(X,{key:12,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:"datetime-local",disabled:l.value||c.disabled,class:e.normalizeClass(w?"border-red-500":"border-slate-300"),"aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):c.type==="month"?(e.openBlock(),e.createBlock(X,{key:13,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:"month",disabled:l.value||c.disabled,class:e.normalizeClass(w?"border-red-500":"border-slate-300"),"aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):c.type==="week"?(e.openBlock(),e.createBlock(X,{key:14,id:g,modelValue:s.value[c.name],"onUpdate:modelValue":F=>s.value[c.name]=F,type:"week",disabled:l.value||c.disabled,class:e.normalizeClass(w?"border-red-500":"border-slate-300"),"aria-describedby":x},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):e.createCommentVNode("",!0)]),_:2},1032,["id","label","required","error","error-message"]))]))),128)),e.createElementVNode("div",gg,[e.createVNode(J,{type:"button",variant:"outline",disabled:l.value,onClick:f},{default:e.withCtx(()=>[...i[1]||(i[1]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["disabled"]),e.createVNode(J,{type:"submit",disabled:l.value,loading:l.value,variant:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.modalType==="create"?`Create ${t.entityName}`:`Update ${t.entityName}`),1)]),_:1},8,["disabled","loading"])])],32)]),_:1},8,["modelValue","size","class","resizable"]))}},vg={class:"w-full p-6"},hg={key:0,class:"mb-6"},bg={class:"text-xl font-semibold text-gray-900"},yg=["onUpdate:modelValue"],xg={key:4,class:"flex items-center"},kg={key:5,class:"flex items-center"},wg=["id","aria-checked","disabled","onClick"],Cg={key:6,class:"space-y-2"},Bg={key:7,class:"space-y-2"},Vg={key:0,class:"text-xs text-gray-500"},Sg={key:9,class:"space-y-2"},Eg={class:"flex items-center gap-4"},Ng={class:"text-sm font-medium text-gray-700 min-w-[3rem] text-right"},$g={class:"flex justify-end gap-3 pt-6"},Ho={__name:"ReusableForm",props:{title:{type:String,default:"Form"},entityName:{type:String,default:"Item"},fields:{type:Array,required:!0,validator:t=>t.every(n=>n.name&&n.label&&n.type&&["text","number","password","textarea","select","checkbox","slider","date","color","email","tel","url","time","datetime-local","month","week","file","radio","switch","range","search","hidden","multiselect"].includes(n.type))},initialData:{type:Object,default:null},loading:{type:Boolean,default:!1},customValidation:{type:Function,default:null}},emits:["submit","reset"],setup(t,{emit:n}){const a=t,o=n,r=e.computed(()=>a.loading),l=e.ref({}),s=e.ref({}),u=e.ref(!1),m=()=>{const f={};return a.fields.forEach(d=>{d.type==="checkbox"||d.type==="switch"?f[d.name]=!1:d.type==="number"||d.type==="slider"||d.type==="range"?f[d.name]=d.min!==void 0?d.min:0:d.type==="file"?f[d.name]=null:d.type==="radio"?f[d.name]=d.options?.[0]?.value||"":d.type==="multiselect"?f[d.name]=[]:f[d.name]=""}),f};e.watch(()=>a.initialData,f=>{if(f){const d={};a.fields.forEach(i=>{i.type==="checkbox"||i.type==="switch"?d[i.name]=f[i.name]??!1:i.type==="number"||i.type==="slider"||i.type==="range"?d[i.name]=f[i.name]??(i.min!==void 0?i.min:0):i.type==="file"?d[i.name]=null:i.type==="multiselect"?d[i.name]=Array.isArray(f[i.name])?f[i.name]:[]:d[i.name]=f[i.name]??""}),l.value=d,u.value=!0}else l.value=m(),u.value=!1},{immediate:!0,deep:!0}),e.watch(()=>a.initialData,f=>{u.value&&f&&Object.keys(f).forEach(d=>{Object.prototype.hasOwnProperty.call(l.value,d)&&f[d]!==void 0&&f[d]!==null&&(l.value[d]=f[d])})},{deep:!0});const p=()=>{if(s.value={},a.fields.forEach(f=>{if(f.required&&!f.disabled&&f.type!=="hidden"){const d=l.value[f.name];f.type==="checkbox"||f.type==="switch"?f.required&&!d&&(s.value[f.name]=f.errorMessage||`${f.label} is required`):f.type==="number"||f.type==="slider"||f.type==="range"?d===""||d===null||d===void 0?s.value[f.name]=f.errorMessage||`${f.label} is required`:f.min!==void 0&&Number(d)<f.min?s.value[f.name]=`${f.label} must be at least ${f.min}`:f.max!==void 0&&Number(d)>f.max&&(s.value[f.name]=`${f.label} must be at most ${f.max}`):f.type==="email"?!d||!d.trim()?s.value[f.name]=f.errorMessage||`${f.label} is required`:/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(d)||(s.value[f.name]="Please enter a valid email address"):f.type==="url"?!d||!d.trim()?s.value[f.name]=f.errorMessage||`${f.label} is required`:/^https?:\/\/.+/.test(d)||(s.value[f.name]="Please enter a valid URL"):f.type==="tel"?(!d||!d.trim())&&(s.value[f.name]=f.errorMessage||`${f.label} is required`):f.type==="file"?d||(s.value[f.name]=f.errorMessage||`${f.label} is required`):f.type==="radio"?d||(s.value[f.name]=f.errorMessage||`${f.label} is required`):f.type==="multiselect"?(!Array.isArray(d)||d.length===0)&&(s.value[f.name]=f.errorMessage||`${f.label} is required`):f.type==="date"||f.type==="time"||f.type==="datetime-local"||f.type==="month"||f.type==="week"?(!d||typeof d=="string"&&!d.trim())&&(s.value[f.name]=f.errorMessage||`${f.label} is required`):f.type==="password"?(!d||typeof d=="string"&&!d.trim())&&(s.value[f.name]=f.errorMessage||`${f.label} is required`):(!d||typeof d=="string"&&!d.trim())&&(s.value[f.name]=f.errorMessage||`${f.label} is required`)}if(f.validate&&typeof f.validate=="function"){const d=f.validate(l.value[f.name],l.value);d&&(s.value[f.name]=d)}}),a.customValidation){const f=a.customValidation(l.value);f&&Object.keys(f).length>0&&(s.value={...s.value,...f})}return Object.keys(s.value).length===0},v=async(f,d)=>{if(l.value[f.name]=d,f.onChange&&typeof f.onChange=="function")try{await f.onChange(d,l.value)}catch(i){console.error("Error in onChange handler:",i),ne.error("An error occurred while processing the change")}},h=(f,d)=>{if(l.value[f.name]=d,f.onChange&&typeof f.onChange=="function")try{f.onChange(d,l.value)}catch(i){console.error("Error in onChange handler:",i),ne.error("An error occurred while processing the change")}},S=(f,d)=>{const i=d.target.files?.[0]||null;if(l.value[f.name]=i,f.onChange&&typeof f.onChange=="function")try{f.onChange(i,l.value)}catch(c){console.error("Error in onChange handler:",c),ne.error("An error occurred while processing the file")}},b=async()=>{try{if(!p()){ne.error("Please fix the validation errors before submitting");return}const f={};a.fields.forEach(d=>{const i=l.value[d.name];d.type==="number"||d.type==="slider"||d.type==="range"?f[d.name]=Number(i):d.type==="text"||d.type==="textarea"||d.type==="date"||d.type==="email"||d.type==="url"||d.type==="tel"||d.type==="search"||d.type==="time"||d.type==="datetime-local"||d.type==="month"||d.type==="week"?f[d.name]=typeof i=="string"?i.trim():i:(d.type==="password"||d.type,f[d.name]=i)}),o("submit",{formData:f,originalData:a.initialData})}catch(f){console.error("Error during form submission:",f),ne.error("An error occurred during submission")}},y=()=>{l.value=m(),s.value={},u.value=!1,o("reset")};return(f,d)=>(e.openBlock(),e.createElementBlock("div",vg,[t.title?(e.openBlock(),e.createElementBlock("div",hg,[e.createElementVNode("h2",bg,e.toDisplayString(t.title),1)])):e.createCommentVNode("",!0),e.createElementVNode("form",{class:"space-y-8",onSubmit:e.withModifiers(b,["prevent"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,i=>(e.openBlock(),e.createElementBlock("div",{key:i.name},[i.type==="hidden"?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":c=>l.value[i.name]=c,type:"hidden"},null,8,yg)),[[e.vModelText,l.value[i.name]]]):(e.openBlock(),e.createBlock(ut,{key:1,id:`form-${t.entityName}-${i.name}-${Math.random().toString(36).slice(2,5)}`,label:i.label,required:i.required&&!i.disabled,error:s.value[i.name],"error-message":s.value[i.name]},{default:e.withCtx(({fieldId:c,hasError:g,ariaDescribedBy:w})=>[["text","number","password","color","email","tel","url","search"].includes(i.type)?(e.openBlock(),e.createBlock(X,{key:0,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:i.type,placeholder:i.placeholder,disabled:r.value||i.disabled,readonly:i.disabled,class:e.normalizeClass(g?"border-red-500":"border-slate-300"),"aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","type","placeholder","disabled","readonly","class","aria-describedby"])):i.type==="textarea"?(e.openBlock(),e.createBlock(dt,{key:1,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,placeholder:i.placeholder,disabled:r.value||i.disabled,rows:i.rows||3,class:e.normalizeClass(["w-full px-3 py-2 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",g?"border-red-500":"border-slate-300"]),"aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","placeholder","disabled","rows","class","aria-describedby"])):i.type==="select"?(e.openBlock(),e.createBlock(ue,{key:2,id:c,"model-value":l.value[i.name],options:i.options,placeholder:i.placeholder||"Select an option",disabled:r.value||i.disabled,"has-error":g,"aria-describedby":w,"onUpdate:modelValue":x=>v(i,x)},null,8,["id","model-value","options","placeholder","disabled","has-error","aria-describedby","onUpdate:modelValue"])):i.type==="multiselect"?(e.openBlock(),e.createBlock(Uo,{key:3,id:c,"model-value":l.value[i.name],options:i.options,disabled:r.value||i.disabled,placeholder:i.placeholder||"Select options","has-error":g,"aria-describedby":w,"onUpdate:modelValue":x=>l.value[i.name]=x},null,8,["id","model-value","options","disabled","placeholder","has-error","aria-describedby","onUpdate:modelValue"])):i.type==="checkbox"?(e.openBlock(),e.createElementBlock("div",xg,[e.createVNode(X,{id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:"checkbox",disabled:r.value||i.disabled,class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded","aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","disabled","aria-describedby"]),e.createVNode(fe,{for:c,class:"ml-2 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.checkboxLabel||i.label),1)]),_:2},1032,["for"])])):i.type==="switch"?(e.openBlock(),e.createElementBlock("div",kg,[e.createElementVNode("button",{id:c,type:"button",role:"switch","aria-checked":l.value[i.name],disabled:r.value||i.disabled,class:e.normalizeClass(["relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",l.value[i.name]?"bg-blue-600":"bg-gray-200",r.value||i.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer"]),onClick:x=>l.value[i.name]=!l.value[i.name]},[e.createElementVNode("span",{class:e.normalizeClass(["inline-block h-4 w-4 transform rounded-full bg-white transition-transform",l.value[i.name]?"translate-x-6":"translate-x-1"])},null,2)],10,wg),e.createVNode(fe,{for:c,class:"ml-3 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.checkboxLabel||i.label),1)]),_:2},1032,["for"])])):i.type==="radio"?(e.openBlock(),e.createElementBlock("div",Cg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.options,x=>(e.openBlock(),e.createElementBlock("div",{key:x.value,class:"flex items-center"},[e.createVNode(X,{id:`${c}-${x.value}`,modelValue:l.value[i.name],"onUpdate:modelValue":F=>l.value[i.name]=F,type:"radio",value:x.value,disabled:r.value||i.disabled,class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300","aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","value","disabled","aria-describedby"]),e.createVNode(fe,{for:`${c}-${x.value}`,class:"ml-2 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.label),1)]),_:2},1032,["for"])]))),128))])):i.type==="file"?(e.openBlock(),e.createElementBlock("div",Bg,[e.createVNode(X,{id:c,type:"file",accept:i.accept,disabled:r.value||i.disabled,class:e.normalizeClass(["w-full text-sm text-gray-500 file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-blue-50 file:text-blue-700 hover:file:bg-blue-100",g?"border-red-500":"border-slate-300"]),"aria-describedby":w,onChange:x=>S(i,x)},null,8,["id","accept","disabled","class","aria-describedby","onChange"]),i.helpText?(e.openBlock(),e.createElementBlock("p",Vg,e.toDisplayString(i.helpText),1)):e.createCommentVNode("",!0)])):i.type==="slider"?(e.openBlock(),e.createBlock(mt,{key:8,"model-value":l.value[i.name],min:i.min,max:i.max,step:i.step,disabled:r.value||i.disabled,"onUpdate:modelValue":x=>h(i,x)},null,8,["model-value","min","max","step","disabled","onUpdate:modelValue"])):i.type==="range"?(e.openBlock(),e.createElementBlock("div",Sg,[e.createElementVNode("div",Eg,[e.createVNode(X,{id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:"range",min:i.min,max:i.max,step:i.step||1,disabled:r.value||i.disabled,class:"flex-1","aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","min","max","step","disabled","aria-describedby"]),e.createElementVNode("span",Ng,e.toDisplayString(l.value[i.name]),1)])])):i.type==="date"?(e.openBlock(),e.createBlock(qe,{key:10,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,disabled:r.value||i.disabled,required:i.required,min:i.min,max:i.max,placeholder:i.placeholder||"Select date",format:i.format||"MM/DD/YYYY",clearable:i.clearable!==!1,"show-today":i.showToday!==!1,"calendar-position":i.calendarPosition||"left-0 bottom-full","aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","disabled","required","min","max","placeholder","format","clearable","show-today","calendar-position","aria-describedby"])):i.type==="time"?(e.openBlock(),e.createBlock(X,{key:11,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:"time",disabled:r.value||i.disabled,class:e.normalizeClass(g?"border-red-500":"border-slate-300"),"aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):i.type==="datetime-local"?(e.openBlock(),e.createBlock(X,{key:12,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:"datetime-local",disabled:r.value||i.disabled,class:e.normalizeClass(g?"border-red-500":"border-slate-300"),"aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):i.type==="month"?(e.openBlock(),e.createBlock(X,{key:13,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:"month",disabled:r.value||i.disabled,class:e.normalizeClass(g?"border-red-500":"border-slate-300"),"aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):i.type==="week"?(e.openBlock(),e.createBlock(X,{key:14,id:c,modelValue:l.value[i.name],"onUpdate:modelValue":x=>l.value[i.name]=x,type:"week",disabled:r.value||i.disabled,class:e.normalizeClass(g?"border-red-500":"border-slate-300"),"aria-describedby":w},null,8,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):e.createCommentVNode("",!0)]),_:2},1032,["id","label","required","error","error-message"]))]))),128)),e.createElementVNode("div",$g,[e.createVNode(J,{type:"button",variant:"outline",disabled:r.value,onClick:y},{default:e.withCtx(()=>[...d[0]||(d[0]=[e.createTextVNode(" Reset ",-1)])]),_:1},8,["disabled"]),e.createVNode(J,{type:"submit",disabled:r.value,loading:r.value,variant:"default"},{default:e.withCtx(()=>[...d[1]||(d[1]=[e.createTextVNode(" Submit ",-1)])]),_:1},8,["disabled","loading"])])],32)]))}},zg={key:0,class:"flex items-center justify-between p-4 border-b border-gray-200 flex-shrink-0 lg:hidden"},Dg={class:"text-lg font-bold text-gray-900"},Tg={class:"flex-1 overflow-y-auto overflow-x-hidden p-4"},Ag={class:"space-y-2"},Fg={key:0},Pg={key:0,class:"absolute top-2 right-2 inline-flex items-center justify-center w-5 h-5 text-xs font-bold rounded-full bg-red-500 text-white"},Lg=["onClick"],jg={key:0,class:"absolute top-2 right-2 inline-flex items-center justify-center w-5 h-5 text-xs font-bold rounded-full bg-red-500 text-white"},Mg={key:1,class:"absolute top-1.5 right-1.5 w-2 h-2 bg-blue-500 rounded-full"},Ig={key:1,class:"border-t border-gray-200 p-4 flex-shrink-0"},Og={key:0,class:"absolute top-1.5 right-1.5 w-2 h-2 bg-blue-500 rounded-full"},Rg={class:"sticky top-0 bg-white border-b border-gray-200 z-10"},_g={class:"flex items-center justify-between p-4"},Ug={class:"flex-1 text-sm font-bold text-gray-900 ml-2"},qg={class:"p-3"},Hg={class:"space-y-1"},Wg={key:0,class:"absolute left-0 top-1/2 transform -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-blue-600 rounded-r-full"},Yg={key:1,class:"ml-2 inline-flex items-center justify-center px-2 py-0.5 text-xs font-bold rounded-full bg-red-500 text-white"},Gg={class:"p-3"},Kg={class:"space-y-1"},Xg={key:0,class:"px-3 py-2 text-xs font-semibold text-gray-500 uppercase tracking-wider"},Qg={key:0,class:"absolute left-0 top-1/2 transform -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-blue-600 rounded-r-full"},Wo={__name:"Sidebar",props:{sidebarWidth:{type:Number,default:130},header:{type:Object,default:null},navigationItems:{type:Array,required:!0},managementSettings:{type:Array,default:()=>[]},showManagementSettings:{type:Boolean,default:!0},mobileOpen:{type:Boolean,default:!1},isManagementSettingsActive:{type:Boolean,default:!1},currentPath:{type:String,default:""}},emits:["navigate","update:mobileOpen"],setup(t,{expose:n,emit:a}){const o=t,r=a,l=e.ref(!1),s=e.ref(!1),u=e.ref(null),m=e.ref(!1),p=e.computed(()=>o.mobileOpen),v=e.computed(()=>l.value?{}:{left:`${o.sidebarWidth}px`}),h=e.computed(()=>l.value?{}:{left:`${o.sidebarWidth}px`}),S=e.computed(()=>{if(l.value)return 0;let E=o.sidebarWidth;return s.value&&(E+=220),m.value&&(E+=220),E}),b=E=>{r("navigate",E),l.value&&y();const I=s.value&&u.value&&u.value.subItems.some(C=>C.route===E.route),M=m.value&&o.managementSettings.some(C=>C.route===E.route);(l.value||!(I||M))&&w()},y=()=>{r("update:mobileOpen",!1)},f=E=>E.subItems&&E.subItems.length>0,d=E=>{m.value&&g(),s.value&&u.value!==E?(c(),setTimeout(()=>{u.value=E,s.value=!0},300)):s.value?u.value===E&&c():(u.value=E,s.value=!0),l.value&&y()},i=()=>{s.value&&c(),m.value?g():m.value=!0,l.value&&y()},c=()=>{s.value=!1,setTimeout(()=>{u.value=null},300)},g=()=>{m.value=!1},w=()=>{c(),g()},x=E=>{b(E)},F=E=>{b(E)},L=E=>{const I=o.currentPath;return E.route?!!(I===E.route||I.startsWith(E.route+"/")):E.subItems&&E.subItems.length>0?E.subItems.some(M=>M.route?I===M.route||I.startsWith(M.route+"/"):!1):!1},H=()=>{const E=l.value;l.value=window.innerWidth<1024,E&&!l.value&&p.value&&y()},_=E=>{E.key==="Escape"&&(s.value||m.value?w():l.value&&p.value&&y())};return e.onMounted(()=>{H(),window.addEventListener("resize",H),document.addEventListener("keydown",_)}),e.onUnmounted(()=>{window.removeEventListener("resize",H),document.removeEventListener("keydown",_)}),n({isMobile:l,isMobileOpen:p,submenuOpen:s,managementSettingsOpen:m,contentMarginLeft:S,closeAllMenus:w}),(E,I)=>{const M=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","leave-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[p.value&&l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-30 lg:hidden",onClick:y})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("aside",{class:e.normalizeClass(e.unref(k)("fixed left-0 z-40 border-r overflow-hidden flex flex-col","transition-all duration-300 ease-in-out","bg-white border-gray-200",l.value?e.unref(k)("transform h-screen",p.value?"translate-x-0":"-translate-x-full"):"translate-x-0 h-[calc(100vh-4rem)]")),style:e.normalizeStyle({width:t.sidebarWidth+"px",top:l.value?"0px":"4rem"})},[l.value?(e.openBlock(),e.createElementBlock("div",zg,[e.createElementVNode("h2",Dg,e.toDisplayString(t.header?.title),1),e.createElementVNode("button",{class:"p-2 rounded-lg text-gray-500 hover:text-gray-900 hover:bg-gray-100 transition-colors","aria-label":"Close sidebar",onClick:y},[...I[0]||(I[0]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])])):e.createCommentVNode("",!0),e.createElementVNode("nav",Tg,[e.createElementVNode("div",Ag,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.navigationItems,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.name||C.label},[C.type==="link"?(e.openBlock(),e.createElementBlock("div",Fg,[f(C)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(k)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 cursor-pointer group relative py-4 px-3",L(C)?"bg-gradient-to-br from-blue-50 to-blue-100 border border-blue-200 shadow-sm":"text-gray-500 hover:bg-gray-100 hover:text-gray-900 border border-transparent")),onClick:N=>d(C)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",L(C)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"text-gray-500 group-hover:text-gray-900 bg-gray-100 group-hover:bg-gray-200"))},[e.createVNode(j,{icon:C.icon,class:"w-6 h-6"},null,8,["icon"])],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(k)("text-xs font-medium text-center",L(C)?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))},e.toDisplayString(C.label),3),C.badge?(e.openBlock(),e.createElementBlock("span",jg,e.toDisplayString(C.badge),1)):e.createCommentVNode("",!0),L(C)&&f(C)?(e.openBlock(),e.createElementBlock("div",Mg)):e.createCommentVNode("",!0)],10,Lg)):(e.openBlock(),e.createBlock(M,{key:0,to:C.route,class:e.normalizeClass(e.unref(k)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 group relative py-4 px-3",L(C)?"bg-gradient-to-br from-blue-50 to-blue-100 border border-blue-200 shadow-sm":"text-gray-500 hover:bg-gray-100 hover:text-gray-900 border border-transparent")),onClick:N=>b(C)},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",L(C)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"text-gray-500 group-hover:text-gray-900 bg-gray-100 group-hover:bg-gray-200"))},[e.createVNode(j,{icon:C.icon,class:"w-6 h-6"},null,8,["icon"])],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(k)("text-xs font-medium text-center",L(C)?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))},e.toDisplayString(C.label),3),C.badge?(e.openBlock(),e.createElementBlock("span",Pg,e.toDisplayString(C.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","class","onClick"]))])):e.createCommentVNode("",!0)],64))),128))])]),t.showManagementSettings?(e.openBlock(),e.createElementBlock("div",Ig,[e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 cursor-pointer group relative py-4 px-3",t.isManagementSettingsActive?"bg-gradient-to-br from-blue-50 to-blue-100 border border-blue-200 shadow-sm":"text-gray-500 hover:bg-gray-100 hover:text-gray-900 border border-transparent")),onClick:i},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",t.isManagementSettingsActive?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"text-gray-500 group-hover:text-gray-900 bg-gray-100 group-hover:bg-gray-200"))},[e.createVNode(j,{icon:"cog",class:"w-6 h-6"})],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(k)("text-xs font-medium text-center",t.isManagementSettingsActive?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))}," Settings ",2),t.isManagementSettingsActive?(e.openBlock(),e.createElementBlock("div",Og)):e.createCommentVNode("",!0)],2)])):e.createCommentVNode("",!0)],6),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-300 ease-in","enter-from-class":"opacity-0 -translate-x-full","enter-to-class":"opacity-100 translate-x-0","leave-from-class":"opacity-100 translate-x-0","leave-to-class":"opacity-0 -translate-x-full"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:e.normalizeClass(e.unref(k)("fixed z-40 bg-white border-r border-gray-200 overflow-y-auto shadow-lg",l.value?"left-0 w-52 top-20 h-screen":"w-56 top-16 h-[calc(100vh-4rem)]")),style:e.normalizeStyle(v.value)},[e.createElementVNode("div",Rg,[e.createElementVNode("div",_g,[e.createElementVNode("button",{class:"p-2 -ml-2 rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 transition-colors","aria-label":"Close submenu",onClick:c},[...I[1]||(I[1]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])]),e.createElementVNode("h3",Ug,e.toDisplayString(u.value?.label),1)])]),e.createElementVNode("nav",qg,[e.createElementVNode("div",Hg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value?.subItems,C=>(e.openBlock(),e.createBlock(M,{key:C.name,to:C.route,class:e.normalizeClass(e.unref(k)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",L(C)?"bg-gradient-to-br from-blue-50 to-blue-100 text-blue-700 shadow-sm border border-blue-200":"text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent")),onClick:N=>x(C)},{default:e.withCtx(()=>[L(C)?(e.openBlock(),e.createElementBlock("div",Wg)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",L(C)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"bg-gray-100 text-gray-600 group-hover:bg-gray-200"))},[C.icon?(e.openBlock(),e.createBlock(j,{key:0,icon:C.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(k)("flex-1 truncate font-semibold",L(C)?"text-blue-700":"text-gray-700"))},e.toDisplayString(C.label),3),C.badge?(e.openBlock(),e.createElementBlock("span",Yg,e.toDisplayString(C.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","class","onClick"]))),128))])])],6)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-300 ease-in","enter-from-class":"opacity-0 -translate-x-full","enter-to-class":"opacity-100 translate-x-0","leave-from-class":"opacity-100 translate-x-0","leave-to-class":"opacity-0 -translate-x-full"},{default:e.withCtx(()=>[m.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:e.normalizeClass(e.unref(k)("fixed z-40 bg-white border-r border-gray-200 overflow-y-auto shadow-lg",l.value?"left-0 w-52 top-20 h-full":"w-58 h-[calc(100vh-4rem)]")),style:e.normalizeStyle({...h.value,top:l.value?"55px":"4rem"})},[e.createElementVNode("div",{class:"sticky top-0 z-10 bg-white border-b border-gray-200"},[e.createElementVNode("div",{class:"flex items-center justify-between p-4"},[e.createElementVNode("button",{class:"p-2 -ml-2 rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 transition-colors","aria-label":"Close management settings",onClick:g},[...I[2]||(I[2]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])]),I[3]||(I[3]=e.createElementVNode("h3",{class:"flex-1 text-sm font-bold text-gray-900 ml-2"}," Management Settings ",-1))])]),e.createElementVNode("nav",Gg,[e.createElementVNode("div",Kg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.managementSettings,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.name},[C.type==="section"?(e.openBlock(),e.createElementBlock("div",Xg,e.toDisplayString(C.label),1)):C.route?(e.openBlock(),e.createBlock(M,{key:1,to:C.route,class:e.normalizeClass(e.unref(k)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",L(C)?"bg-gradient-to-br from-blue-50 to-blue-100 text-blue-700 shadow-sm border border-blue-200":"text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent")),onClick:N=>F(C)},{default:e.withCtx(()=>[L(C)?(e.openBlock(),e.createElementBlock("div",Qg)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(k)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors",L(C)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"bg-gray-100 text-gray-600 group-hover:bg-gray-200"))},[C.icon?(e.openBlock(),e.createBlock(j,{key:0,icon:C.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(k)("flex-1 truncate font-semibold",L(C)?"text-blue-700":"text-gray-700"))},e.toDisplayString(C.label),3)]),_:2},1032,["to","class","onClick"])):e.createCommentVNode("",!0)],64))),128))])])],6)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","leave-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[(s.value||m.value)&&l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-30 bg-transparent",onClick:w})):e.createCommentVNode("",!0)]),_:1})])}}},Yo={__name:"Timeline",props:{orientation:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex",t.orientation==="vertical"?"flex-col":"flex-row"])},[e.renderSlot(n.$slots,"default")],2))}},Jg={key:0,class:"absolute left-3 top-0 w-0.5 h-full bg-slate-200"},Zg={class:"z-10 flex items-center justify-center w-6 h-6 rounded-full border-2 border-blue-500 bg-white text-blue-500"},ev={class:"text-slate-900 font-medium"},tv={key:0,class:"text-slate-500 text-sm"},av={class:"mt-2 text-slate-600 text-sm"},Go={__name:"TimelineItem",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},orientation:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex",t.orientation==="vertical"?"items-start mb-8 last:mb-0":"flex-col items-center mx-8 last:mx-0"])},[t.orientation==="vertical"?(e.openBlock(),e.createElementBlock("div",Jg)):e.createCommentVNode("",!0),e.createElementVNode("div",Zg,[e.renderSlot(n.$slots,"icon",{},()=>[a[0]||(a[0]=e.createElementVNode("div",{class:"w-2 h-2 rounded-full bg-blue-500"},null,-1))])]),e.createElementVNode("div",{class:e.normalizeClass(["ml-6",t.orientation==="horizontal"?"mt-2 text-center":""])},[e.createElementVNode("h3",ev,[e.renderSlot(n.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),t.subtitle?(e.openBlock(),e.createElementBlock("p",tv,[e.renderSlot(n.$slots,"subtitle",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",av,[e.renderSlot(n.$slots,"default")])],2)],2))}},nv={name:"AuthLayout",props:{title:{type:String,default:null},subtitle:{type:String,default:null},primaryLogoPrefix:{type:String,default:"e"},primaryLogoText:{type:String,default:"HORIZON"},secondaryLogoPrefix:{type:String,default:"e"},secondaryLogoText:{type:String,default:"Risk & Compliance"},quote:{type:String,default:""},primaryColor:{type:String,default:"#e74c3c"},backgroundColor:{type:String,default:"#2c2c2c"},backgroundImage:{type:String,default:"https://images.unsplash.com/photo-1497366216548-37526070297c?ixlib=rb-4.0.3&auto=format&fit=crop&w=2069&q=80"},backgroundOpacity:{type:Number,default:.4},companyName:{type:String,default:"SOFTWARE"},companyType:{type:String,default:"TECHNOLOGIES"},companyTagline:{type:String,default:"People | Processes | Governance"},companyInitials:{type:String,default:"ST"},appName:{type:String,default:"eHorizon eBoard X"},appVersion:{type:String,default:"Version 2.0"},copyright:{type:String,default:"Copyright © 2025 Software Technologies Limited"},socialLinks:{type:Array,default:()=>[{name:"linkedin",url:"#",icon:"linkedin-in",variant:"primary"},{name:"facebook",url:"#",icon:"facebook-f",variant:"primary"},{name:"twitter",url:"#",icon:"twitter",variant:"info"}]}},setup(){return{currentYear:e.computed(()=>new Date().getFullYear())}}},ov={class:"container mx-auto px-4 relative z-10"},rv={class:"grid lg:grid-cols-10 gap-8 items-center min-h-screen"},lv={class:"lg:col-span-6 text-white text-center lg:text-left space-y-6"},sv={class:"mb-6"},iv={class:"text-4xl lg:text-6xl font-bold mb-2"},cv={class:"text-white"},dv={class:"flex items-center justify-center lg:justify-start mb-6"},uv={class:"text-3xl lg:text-4xl font-bold text-white"},mv={class:"lg:col-span-4"},fv={class:"bg-white rounded-lg shadow-xl p-6 lg:p-8 max-w-md mx-auto"},pv={key:0,class:"mb-6"},gv={class:"text-center"},vv={class:"text-2xl font-bold text-gray-900"},hv={key:0,class:"text-gray-600 mt-2"},bv={class:"space-y-6"},yv={key:1,class:"mt-6"},xv={key:0,class:"mt-6 text-center"},kv={class:"absolute bottom-4 right-4 text-right"},wv={class:"flex items-end justify-end mb-2"},Cv={class:"text-right mr-3"},Bv={class:"text-red-500 font-bold text-xs"},Vv={class:"text-white text-xs"},Sv={class:"text-white/70 text-xs"},Ev={class:"w-8 h-8 bg-red-500 rounded flex items-center justify-center text-white font-bold text-xs"},Nv={class:"text-white/70 text-xs"},$v={class:"absolute bottom-4 left-4 flex gap-2"},zv=["href"];function Dv(t,n,a,o,r,l){const s=e.resolveComponent("router-view"),u=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:"min-h-screen relative flex items-center justify-center",style:e.normalizeStyle({backgroundColor:a.backgroundColor})},[e.createElementVNode("div",{class:"absolute inset-0 bg-cover bg-center",style:e.normalizeStyle({backgroundImage:`url('${a.backgroundImage}')`,opacity:a.backgroundOpacity})},null,4),e.createElementVNode("div",ov,[e.createElementVNode("div",rv,[e.createElementVNode("div",lv,[e.createElementVNode("div",sv,[e.createElementVNode("div",iv,[e.createElementVNode("span",{style:e.normalizeStyle({color:a.primaryColor})},e.toDisplayString(a.primaryLogoPrefix),5),e.createElementVNode("span",cv,e.toDisplayString(a.primaryLogoText),1)]),e.createElementVNode("div",{class:"h-0.5 w-30 mx-auto lg:mx-0",style:e.normalizeStyle({backgroundColor:a.primaryColor})},null,4)]),e.createElementVNode("div",dv,[e.createElementVNode("div",{class:"flex items-center justify-center w-15 h-15 rounded-lg mr-4 text-white font-bold text-xl",style:e.normalizeStyle({backgroundColor:a.primaryColor})},e.toDisplayString(a.secondaryLogoPrefix),5),e.createElementVNode("span",uv,e.toDisplayString(a.secondaryLogoText),1)]),n[0]||(n[0]=e.createElementVNode("div",{class:"max-w-md mx-auto lg:mx-0"},[e.createElementVNode("p",{class:"text-sm lg:text-base font-light text-white/70 italic leading-relaxed"})],-1))]),e.createElementVNode("div",mv,[e.createElementVNode("div",fv,[t.$slots["card-header"]||a.title?(e.openBlock(),e.createElementBlock("div",pv,[e.renderSlot(t.$slots,"card-header",{},()=>[e.createElementVNode("div",gv,[e.createElementVNode("h1",vv,e.toDisplayString(a.title),1),a.subtitle?(e.openBlock(),e.createElementBlock("p",hv,e.toDisplayString(a.subtitle),1)):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",bv,[e.createVNode(s)]),t.$slots["card-footer"]?(e.openBlock(),e.createElementBlock("div",yv,[e.renderSlot(t.$slots,"card-footer")])):e.createCommentVNode("",!0)]),t.$slots.links?(e.openBlock(),e.createElementBlock("div",xv,[e.renderSlot(t.$slots,"links")])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",kv,[e.createElementVNode("div",wv,[e.createElementVNode("div",Cv,[e.createElementVNode("div",Bv,e.toDisplayString(a.companyName),1),e.createElementVNode("div",Vv,e.toDisplayString(a.companyType),1),e.createElementVNode("div",Sv,e.toDisplayString(a.companyTagline),1)]),e.createElementVNode("div",Ev,e.toDisplayString(a.companyInitials),1)]),e.createElementVNode("div",Nv,[e.createElementVNode("div",null,e.toDisplayString(a.appName)+" ("+e.toDisplayString(a.appVersion)+")",1),e.createElementVNode("div",null,e.toDisplayString(a.copyright),1)])]),e.createElementVNode("div",$v,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.socialLinks,m=>(e.openBlock(),e.createElementBlock("a",{key:m.name,href:m.url,class:e.normalizeClass(["w-8 h-7 flex items-center justify-center rounded text-xs transition-colors",m.variant==="primary"?"bg-blue-600 hover:bg-blue-700 text-white":m.variant==="info"?"bg-cyan-500 hover:bg-cyan-600 text-white":"bg-gray-600 hover:bg-gray-700 text-white"])},[e.createVNode(u,{icon:["fab",m.icon]},null,8,["icon"])],10,zv))),128))])],4)}const Ko=ft(nv,[["render",Dv]]),Tv={class:"min-h-screen bg-gray-50"},Av={class:"flex-1"},Fv={key:0,class:"bg-white border-b border-gray-200"},Pv={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},Lv={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},Xo={__name:"DefaultLayout",props:{navigationItems:{type:Array,default:()=>[{label:"Home",href:"/",active:!0},{label:"About",href:"/about"},{label:"Services",href:"/services"},{label:"Contact",href:"/contact"}]},breadcrumbItems:{type:Array,default:()=>[]},showBreadcrumb:{type:Boolean,default:!1}},setup(t){return(n,a)=>{const o=e.resolveComponent("Logo"),r=e.resolveComponent("MainNavigation"),l=e.resolveComponent("Button"),s=e.resolveComponent("Header"),u=e.resolveComponent("Breadcrumb"),m=e.resolveComponent("Text"),p=e.resolveComponent("Footer");return e.openBlock(),e.createElementBlock("div",Tv,[e.createVNode(s,null,{logo:e.withCtx(()=>[e.renderSlot(n.$slots,"logo",{},()=>[e.createVNode(o)])]),navigation:e.withCtx(()=>[e.renderSlot(n.$slots,"navigation",{},()=>[e.createVNode(r,{items:t.navigationItems},null,8,["items"])])]),actions:e.withCtx(()=>[e.renderSlot(n.$slots,"header-actions",{},()=>[e.createVNode(l,{variant:"ghost",size:"sm"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" Sign In ",-1)])]),_:1}),e.createVNode(l,{size:"sm"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode(" Get Started ",-1)])]),_:1})])]),_:3}),e.createElementVNode("main",Av,[t.showBreadcrumb?(e.openBlock(),e.createElementBlock("div",Fv,[e.createElementVNode("div",Pv,[e.renderSlot(n.$slots,"breadcrumb",{},()=>[e.createVNode(u,{items:t.breadcrumbItems},null,8,["items"])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Lv,[e.renderSlot(n.$slots,"default")])]),e.createVNode(p,null,{brand:e.withCtx(()=>[e.renderSlot(n.$slots,"footer-brand",{},()=>[e.createVNode(o,{class:"mb-4"}),e.createVNode(m,{class:"text-gray-600 max-w-md"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" Your application description goes here. ",-1)])]),_:1})])]),_:3})])}}},jv={name:"ErrorLayout",props:{errorType:{type:[String,Number],default:"404"},errorCode:{type:[String,Number],default:null},errorTitle:{type:String,default:null},errorMessage:{type:String,default:null},brandName:{type:String,default:"Software Technologies"},showLogo:{type:Boolean,default:!0},showBackground:{type:Boolean,default:!0},showDefaultIllustration:{type:Boolean,default:!0},showDefaultActions:{type:Boolean,default:!0},showHomeButton:{type:Boolean,default:!0},showBackButton:{type:Boolean,default:!0},showRetryButton:{type:Boolean,default:!1},showSupportButton:{type:Boolean,default:!1},showAdditionalInfo:{type:Boolean,default:!1},homeUrl:{type:String,default:"/"},homeButtonText:{type:String,default:"Go Home"},backButtonText:{type:String,default:"Go Back"},retryButtonText:{type:String,default:"Try Again"},helpText:{type:String,default:null},supportUrl:{type:String,default:null}},emits:["retry","back","contact-support"],setup(t,{emit:n}){const a=e.getCurrentInstance(),o=e.inject("$router",null)||a?.appContext.app.config.globalProperties?.$router,r=e.ref(!1),l=e.ref(!1),s=e.ref(navigator.onLine),u=e.ref(`err_${Date.now()}_${Math.random().toString(36).substr(2,9)}`),m=e.ref(!1),p=()=>{s.value=navigator.onLine};e.onMounted(()=>{window.addEventListener("online",p),window.addEventListener("offline",p)}),e.onUnmounted(()=>{window.removeEventListener("online",p),window.removeEventListener("offline",p)});const v=e.computed(()=>{const U={404:{title:"Page Not Found",message:"Sorry, we couldn't find the page you're looking for.",icon:"🔍",color:"#64748b",homeButtonIcon:"🏠",additionalInfo:{title:"What can you do?",items:[{icon:"✓",iconColor:"green-500",text:"Check the URL for typos"},{icon:"✓",iconColor:"green-500",text:"Go back to the previous page"},{icon:"✓",iconColor:"green-500",text:"Visit our homepage"}]}},403:{title:"Unauthorized Access",message:"You are not authorized to view this page.",icon:"🚫",color:"#ef4444",homeButtonIcon:"🔐",additionalInfo:{title:"Why am I seeing this?",items:[{icon:"⚠️",iconColor:"yellow-500",text:"You may need to log in to access this page"},{icon:"⚠️",iconColor:"yellow-500",text:"Your account might not have the required permissions"},{icon:"⚠️",iconColor:"yellow-500",text:"Contact support if you believe this is an error"}]}},401:{title:"Authentication Required",message:"You need to log in to access this resource.",icon:"🔐",color:"#f59e0b",homeButtonIcon:"🔐",additionalInfo:{title:"How to proceed?",items:[{icon:"✓",iconColor:"blue-500",text:"Log in with your credentials"},{icon:"✓",iconColor:"blue-500",text:"Create an account if you don't have one"},{icon:"✓",iconColor:"blue-500",text:"Reset your password if you forgot it"}]}},500:{title:"Internal Server Error",message:"Something went wrong on our end. Please try again later.",icon:"🔧",color:"#ef4444",homeButtonIcon:"🏠",additionalInfo:{title:"What happened?",items:[{icon:"⚠️",iconColor:"red-500",text:"Our servers are experiencing issues"},{icon:"⚠️",iconColor:"red-500",text:"The problem is temporary"},{icon:"⚠️",iconColor:"red-500",text:"Try refreshing the page or come back later"}]}},503:{title:"Service Unavailable",message:"The service is temporarily unavailable. Please try again later.",icon:"🔧",color:"#f59e0b",homeButtonIcon:"🏠",additionalInfo:{title:"Service Status",items:[{icon:"⚠️",iconColor:"amber-500",text:"We're performing scheduled maintenance"},{icon:"⚠️",iconColor:"amber-500",text:"Normal service will resume shortly"},{icon:"⚠️",iconColor:"amber-500",text:"Check our status page for updates"}]}},network:{title:"Network Error",message:"Unable to connect to the server. Please check your internet connection.",icon:"📶",color:"#ef4444",homeButtonIcon:"🏠",additionalInfo:{title:"Connection Issues",items:[{icon:"⚠️",iconColor:"red-500",text:"Check your internet connection"},{icon:"⚠️",iconColor:"red-500",text:"Try refreshing the page"},{icon:"⚠️",iconColor:"red-500",text:"Contact your network administrator"}]}}};return U[t.errorType]||U[404]}),h=e.computed(()=>v.value),S=e.computed(()=>t.errorTitle||h.value.title),b=e.computed(()=>t.errorMessage||h.value.message),y=e.computed(()=>h.value.homeButtonIcon||"🏠"),f=e.computed(()=>t.showAdditionalInfo?h.value.additionalInfo:null),d=()=>{o?o.push(t.homeUrl):window.location.href=t.homeUrl},i=()=>{o&&window.history.length>1?o.back():window.history.length>1?window.history.back():d(),n("back")},c=async()=>{r.value=!0;try{await new Promise(U=>setTimeout(U,1e3)),window.location.reload()}catch(U){console.error("Retry failed:",U)}finally{r.value=!1}n("retry")},g=e.computed(()=>["min-h-screen relative flex items-center justify-center","px-4 sm:px-6 lg:px-8"]),w=e.computed(()=>["absolute inset-0 -z-10"]),x=e.computed(()=>["w-full max-w-2xl mx-auto text-center"]),F=e.computed(()=>["mb-8"]),L=e.computed(()=>["space-y-8"]),H=e.computed(()=>["flex justify-center mb-6"]),_=e.computed(()=>["w-32 h-32 flex items-center justify-center"]),E=e.computed(()=>["space-y-4"]),I=e.computed(()=>["text-6xl font-bold text-slate-300 mb-4"]),M=e.computed(()=>["text-3xl font-bold text-slate-900"]),C=e.computed(()=>["text-lg text-slate-600 max-w-lg mx-auto"]),N=e.computed(()=>["mt-8"]),P=e.computed(()=>["mt-8"]),W=e.computed(()=>["mt-6"]);return{isRetrying:r,reportSent:l,isOnline:s,errorId:u,isDev:m,errorConfig:h,title:S,message:b,homeButtonIcon:y,additionalInfoConfig:f,goHome:d,goBack:i,retry:c,layoutClasses:g,backgroundClasses:w,contentClasses:x,headerClasses:F,errorContentClasses:L,illustrationClasses:H,iconContainerClasses:_,detailsClasses:E,codeClasses:I,titleClasses:M,messageClasses:C,actionsClasses:N,additionalInfoClasses:P,helpClasses:W}}},Mv={class:"flex justify-center"},Iv={class:"flex items-center gap-3"},Ov={class:"text-2xl font-bold text-slate-900"},Rv={key:1,class:"bg-red-100 border border-red-200 rounded-lg p-4 mx-auto max-w-md mb-6"},_v={class:"flex flex-col sm:flex-row gap-4 justify-center"},Uv=["disabled"],qv={key:0,class:"animate-spin"},Hv={key:1},Wv=["disabled"],Yv={key:0},Gv={key:1},Kv={key:0,class:"mt-8 max-w-md mx-auto"},Xv={class:"bg-white rounded-lg border border-slate-200 shadow-sm p-6"},Qv={class:"text-lg font-semibold text-slate-900 mb-4"},Jv={class:"space-y-3"},Zv={class:"text-sm text-slate-600"},e0=["href"],t0={key:5,class:"text-xs text-slate-400 font-mono mt-4"};function a0(t,n,a,o,r,l){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.layoutClasses)},[a.showBackground?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.backgroundClasses)},[e.renderSlot(t.$slots,"background",{},()=>[n[4]||(n[4]=e.createElementVNode("div",{class:"absolute inset-0 bg-gradient-to-br from-slate-50 to-slate-100"},null,-1))])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(o.contentClasses)},[t.$slots.header||a.showLogo?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.headerClasses)},[e.renderSlot(t.$slots,"header",{},()=>[e.createElementVNode("div",Mv,[e.renderSlot(t.$slots,"logo",{},()=>[e.createElementVNode("div",Iv,[n[5]||(n[5]=e.createElementVNode("div",{class:"w-10 h-10 bg-blue-600 rounded-xl flex items-center justify-center"},[e.createElementVNode("span",{class:"text-white font-bold text-lg"},"STL")],-1)),e.createElementVNode("span",Ov,e.toDisplayString(a.brandName),1)])])])])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(o.errorContentClasses)},[t.$slots.illustration||a.showDefaultIllustration?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.illustrationClasses)},[e.renderSlot(t.$slots,"illustration",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(o.iconContainerClasses)},[e.createElementVNode("div",{class:"text-8xl",style:e.normalizeStyle({color:o.errorConfig.color})},e.toDisplayString(o.errorConfig.icon),5)],2)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(o.detailsClasses)},[a.errorCode?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.codeClasses)},e.toDisplayString(a.errorCode),3)):e.createCommentVNode("",!0),e.createElementVNode("h1",{class:e.normalizeClass(o.titleClasses)},[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(o.title),1)])],2),e.createElementVNode("p",{class:e.normalizeClass(o.messageClasses)},[e.renderSlot(t.$slots,"message",{},()=>[e.createTextVNode(e.toDisplayString(o.message),1)])],2)],2),o.isOnline?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Rv,[...n[6]||(n[6]=[e.createElementVNode("div",{class:"flex items-center justify-center gap-2 text-red-700"},[e.createElementVNode("span",{class:"w-3 h-3 bg-red-500 rounded-full animate-pulse"}),e.createElementVNode("span",{class:"font-medium"},"No Internet Connection")],-1)])])),t.$slots.actions||a.showDefaultActions?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(o.actionsClasses)},[e.renderSlot(t.$slots,"actions",{},()=>[e.createElementVNode("div",_v,[a.showHomeButton?(e.openBlock(),e.createElementBlock("button",{key:0,class:"bg-blue-600 text-white px-6 py-3 rounded-lg font-medium hover:bg-blue-700 transition-colors flex items-center justify-center gap-2",onClick:n[0]||(n[0]=(...s)=>o.goHome&&o.goHome(...s))},[e.createElementVNode("span",null,e.toDisplayString(o.homeButtonIcon),1),e.createTextVNode(" "+e.toDisplayString(a.homeButtonText),1)])):e.createCommentVNode("",!0),a.showBackButton?(e.openBlock(),e.createElementBlock("button",{key:1,class:"border border-slate-300 text-slate-700 px-6 py-3 rounded-lg font-medium hover:bg-slate-50 transition-colors flex items-center justify-center gap-2",onClick:n[1]||(n[1]=(...s)=>o.goBack&&o.goBack(...s))},[n[7]||(n[7]=e.createElementVNode("span",null,"←",-1)),e.createTextVNode(" "+e.toDisplayString(a.backButtonText),1)])):e.createCommentVNode("",!0),a.showRetryButton?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:o.isRetrying||!o.isOnline,class:"border border-slate-300 text-slate-700 px-6 py-3 rounded-lg font-medium hover:bg-slate-50 transition-colors flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",onClick:n[2]||(n[2]=(...s)=>o.retry&&o.retry(...s))},[o.isRetrying?(e.openBlock(),e.createElementBlock("span",qv,"↻")):(e.openBlock(),e.createElementBlock("span",Hv,"🔄")),e.createTextVNode(" "+e.toDisplayString(o.isRetrying?"Retrying...":a.retryButtonText),1)],8,Uv)):e.createCommentVNode("",!0),a.showSupportButton?(e.openBlock(),e.createElementBlock("button",{key:3,disabled:o.reportSent,class:"bg-slate-600 text-white px-6 py-3 rounded-lg font-medium hover:bg-slate-700 transition-colors flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",onClick:n[3]||(n[3]=s=>t.$emit("contact-support"))},[o.reportSent?(e.openBlock(),e.createElementBlock("span",Yv,"✓")):(e.openBlock(),e.createElementBlock("span",Gv,"📝")),e.createTextVNode(" "+e.toDisplayString(o.reportSent?"Report Sent":"Contact Support"),1)],8,Wv)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),t.$slots["additional-info"]||a.showAdditionalInfo?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(o.additionalInfoClasses)},[e.renderSlot(t.$slots,"additional-info",{},()=>[o.additionalInfoConfig?(e.openBlock(),e.createElementBlock("div",Kv,[e.createElementVNode("div",Xv,[e.createElementVNode("h3",Qv,e.toDisplayString(o.additionalInfoConfig.title),1),e.createElementVNode("ul",Jv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.additionalInfoConfig.items,(s,u)=>(e.openBlock(),e.createElementBlock("li",{key:u,class:"flex items-start gap-3 text-sm text-slate-600"},[e.createElementVNode("span",{class:e.normalizeClass(`w-4 h-4 text-${s.iconColor||"slate-400"} flex-shrink-0 mt-0.5`)},e.toDisplayString(s.icon),3),e.createElementVNode("span",null,e.toDisplayString(s.text),1)]))),128))])])])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),t.$slots.help||a.helpText?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(o.helpClasses)},[e.renderSlot(t.$slots,"help",{},()=>[e.createElementVNode("p",Zv,[e.createTextVNode(e.toDisplayString(a.helpText)+" ",1),a.supportUrl?(e.openBlock(),e.createElementBlock("a",{key:0,href:a.supportUrl,class:"text-blue-600 hover:text-blue-700 underline ml-1"},[...n[8]||(n[8]=[e.createElementVNode("span",{class:"inline-block w-4 h-4 mr-1"},"❓",-1),e.createTextVNode(" Get Help ",-1)])],8,e0)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),o.isDev?(e.openBlock(),e.createElementBlock("div",t0," Error ID: "+e.toDisplayString(o.errorId),1)):e.createCommentVNode("",!0)],2)],2)],2)}const Qo=ft(jv,[["render",a0]]),_t={mounted(t,n){if(!n.value)return;const a=Object.keys(n.modifiers)[0]||"top",o=document.createElement("div");o.textContent=n.value,o.className="tooltip-custom",o.style.cssText=`
608
608
  position: fixed;
609
609
  z-index: 9999;
610
610
  background-color: rgba(0, 0, 0, 0.9);
@@ -650,4 +650,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
650
650
  bottom: -5px;
651
651
  left: 50%;
652
652
  transform: translateX(-50%);
653
- `}},u=()=>{document.body.appendChild(o),s(),l(),setTimeout(()=>{o.style.opacity="1"},10),window.addEventListener("scroll",l,!0),window.addEventListener("resize",l)},m=()=>{o.style.opacity="0",window.removeEventListener("scroll",l,!0),window.removeEventListener("resize",l),setTimeout(()=>{o.parentNode&&document.body.removeChild(o)},200)};t.addEventListener("mouseenter",u),t.addEventListener("mouseleave",m),t.addEventListener("click",m),t._tooltipShowFn=u,t._tooltipHideFn=m,t._tooltipRepositionFn=l},updated(t,n){if(t._tooltipEl){const a=t._tooltipEl.firstChild;a&&a.nodeType===Node.TEXT_NODE&&(a.textContent=n.value||"")}},unmounted(t){t._tooltipEl&&t._tooltipEl.parentNode&&document.body.removeChild(t._tooltipEl),t._tooltipShowFn&&t.removeEventListener("mouseenter",t._tooltipShowFn),t._tooltipHideFn&&(t.removeEventListener("mouseleave",t._tooltipHideFn),t.removeEventListener("click",t._tooltipHideFn)),t._tooltipRepositionFn&&(window.removeEventListener("scroll",t._tooltipRepositionFn,!0),window.removeEventListener("resize",t._tooltipRepositionFn))}},_a={Avatar:Hn,Badge:aa,Button:J,Checkbox:it,Divider:Wn,Icon:j,Image:Yn,Input:X,Label:fe,Link:Gn,Logo:Kn,Option:na,CircularProgress:Jn,Progress:Xn,ProgressBar:Qn,Radio:Zn,Select:ue,Spinner:ct,Switch:eo,Text:to,Textarea:dt,Tooltip:oa,Typography:at,Loader:Me,Alert:ao,Breadcrumb:no,ButtonGroup:oo,Card:ro,CardHeader:lo,CardBody:so,CardFooter:io,CardContent:co,CardTitle:uo,DatePicker:qe,Dropdown:mo,DropdownItem:fo,FileUpload:po,FormField:ut,InputGroup:go,ListItem:vo,MenuItem:ho,Modal:ra,ModalHeader:bo,ModalBody:yo,ModalFooter:xo,Notification:ko,Toast:Bo,Search:Vo,Slider:mt,Stepper:So,StepperItem:Eo,Tab:No,TabPanel:$o,BarChart:Fo,LineChart:Po,GraphFilters:Lo,Accordion:zo,AccordionItem:Do,Graph:Ao,Calendar:To,DataTable:jo,DataTableHeader:la,DataTableRow:sa,DataTableCell:Mo,DataTablePagination:ia,DataTableFilters:Io,DataTableToolBar:Oo,Footer:Ro,Header:_o,ReusableFormModal:qo,ReusableForm:Ho,Sidebar:Wo,Timeline:Yo,TimelineItem:Go,AuthLayout:Ko,DefaultLayout:Xo,ErrorLayout:Qo},o0={install(t,n={}){const{prefix:a=""}=n;Object.keys(_a).forEach(o=>{const r=a?`${a}${o}`:o;t.component(r,_a[o])}),t.config.globalProperties.$toast=ne,t.provide("toast",ne),t.config.globalProperties.$tooltip=_t,t.provide("tooltip",_t)}};exports.Accordion=zo;exports.AccordionItem=Do;exports.Alert=ao;exports.AuthLayout=Ko;exports.Avatar=Hn;exports.Badge=aa;exports.BarChart=Fo;exports.Breadcrumb=no;exports.Button=J;exports.ButtonGroup=oo;exports.Calendar=To;exports.Card=ro;exports.CardBody=so;exports.CardContent=co;exports.CardFooter=io;exports.CardHeader=lo;exports.CardTitle=uo;exports.Checkbox=it;exports.CircularProgress=Jn;exports.DataTable=jo;exports.DataTableCell=Mo;exports.DataTableFilters=Io;exports.DataTableHeader=la;exports.DataTablePagination=ia;exports.DataTableRow=sa;exports.DataTableToolBar=Oo;exports.DatePicker=qe;exports.DefaultLayout=Xo;exports.Divider=Wn;exports.Dropdown=mo;exports.DropdownItem=fo;exports.ErrorLayout=Qo;exports.FileUpload=po;exports.Footer=Ro;exports.FormField=ut;exports.Graph=Ao;exports.GraphFilters=Lo;exports.Header=_o;exports.Icon=j;exports.Image=Yn;exports.Input=X;exports.InputGroup=go;exports.Label=fe;exports.LineChart=Po;exports.Link=Gn;exports.ListItem=vo;exports.Loader=Me;exports.Logo=Kn;exports.MenuItem=ho;exports.Modal=ra;exports.ModalBody=yo;exports.ModalFooter=xo;exports.ModalHeader=bo;exports.Notification=ko;exports.Option=na;exports.Progress=Xn;exports.ProgressBar=Qn;exports.Radio=Zn;exports.ReusableForm=Ho;exports.ReusableFormModal=qo;exports.Search=Vo;exports.Select=ue;exports.Sidebar=Wo;exports.Slider=mt;exports.Spinner=ct;exports.Stepper=So;exports.StepperItem=Eo;exports.Switch=eo;exports.Tab=No;exports.TabPanel=$o;exports.Text=to;exports.Textarea=dt;exports.Timeline=Yo;exports.TimelineItem=Go;exports.Toast=Bo;exports.Tooltip=oa;exports.Typography=at;exports.cn=k;exports.default=o0;exports.toast=ne;exports.tooltip=_t;exports.useToaster=Co;
653
+ `}},u=()=>{document.body.appendChild(o),s(),l(),setTimeout(()=>{o.style.opacity="1"},10),window.addEventListener("scroll",l,!0),window.addEventListener("resize",l)},m=()=>{o.style.opacity="0",window.removeEventListener("scroll",l,!0),window.removeEventListener("resize",l),setTimeout(()=>{o.parentNode&&document.body.removeChild(o)},200)};t.addEventListener("mouseenter",u),t.addEventListener("mouseleave",m),t.addEventListener("click",m),t._tooltipShowFn=u,t._tooltipHideFn=m,t._tooltipRepositionFn=l},updated(t,n){if(t._tooltipEl){const a=t._tooltipEl.firstChild;a&&a.nodeType===Node.TEXT_NODE&&(a.textContent=n.value||"")}},unmounted(t){t._tooltipEl&&t._tooltipEl.parentNode&&document.body.removeChild(t._tooltipEl),t._tooltipShowFn&&t.removeEventListener("mouseenter",t._tooltipShowFn),t._tooltipHideFn&&(t.removeEventListener("mouseleave",t._tooltipHideFn),t.removeEventListener("click",t._tooltipHideFn)),t._tooltipRepositionFn&&(window.removeEventListener("scroll",t._tooltipRepositionFn,!0),window.removeEventListener("resize",t._tooltipRepositionFn))}},_a={Avatar:Hn,Badge:aa,Button:J,Checkbox:it,Divider:Wn,Icon:j,Image:Yn,Input:X,Label:fe,Link:Gn,Logo:Kn,Option:na,CircularProgress:Jn,Progress:Xn,ProgressBar:Qn,Radio:Zn,Select:ue,Spinner:ct,Switch:eo,Text:to,Textarea:dt,Tooltip:oa,Typography:at,Loader:Me,Alert:ao,Breadcrumb:no,ButtonGroup:oo,Card:ro,CardHeader:lo,CardBody:so,CardFooter:io,CardContent:co,CardTitle:uo,DatePicker:qe,Dropdown:mo,DropdownItem:fo,FileUpload:po,FormField:ut,InputGroup:go,ListItem:vo,MenuItem:ho,Modal:ra,ModalHeader:bo,ModalBody:yo,ModalFooter:xo,Notification:ko,Toast:Bo,Search:Vo,Slider:mt,Stepper:So,StepperItem:Eo,Tab:No,TabPanel:$o,BarChart:Fo,LineChart:Po,GraphFilters:Lo,Accordion:zo,AccordionItem:Do,Graph:Ao,Calendar:To,DataTable:jo,DataTableHeader:la,DataTableRow:sa,DataTableCell:Mo,DataTablePagination:ia,DataTableFilters:Io,DataTableToolBar:Oo,Footer:Ro,Header:_o,ReusableFormModal:qo,ReusableForm:Ho,Sidebar:Wo,Timeline:Yo,TimelineItem:Go,AuthLayout:Ko,DefaultLayout:Xo,ErrorLayout:Qo},n0={install(t,n={}){const{prefix:a=""}=n;Object.keys(_a).forEach(o=>{const r=a?`${a}${o}`:o;t.component(r,_a[o])}),t.config.globalProperties.$toast=ne,t.provide("toast",ne),t.config.globalProperties.$tooltip=_t,t.provide("tooltip",_t)}};exports.Accordion=zo;exports.AccordionItem=Do;exports.Alert=ao;exports.AuthLayout=Ko;exports.Avatar=Hn;exports.Badge=aa;exports.BarChart=Fo;exports.Breadcrumb=no;exports.Button=J;exports.ButtonGroup=oo;exports.Calendar=To;exports.Card=ro;exports.CardBody=so;exports.CardContent=co;exports.CardFooter=io;exports.CardHeader=lo;exports.CardTitle=uo;exports.Checkbox=it;exports.CircularProgress=Jn;exports.DataTable=jo;exports.DataTableCell=Mo;exports.DataTableFilters=Io;exports.DataTableHeader=la;exports.DataTablePagination=ia;exports.DataTableRow=sa;exports.DataTableToolBar=Oo;exports.DatePicker=qe;exports.DefaultLayout=Xo;exports.Divider=Wn;exports.Dropdown=mo;exports.DropdownItem=fo;exports.ErrorLayout=Qo;exports.FileUpload=po;exports.Footer=Ro;exports.FormField=ut;exports.Graph=Ao;exports.GraphFilters=Lo;exports.Header=_o;exports.Icon=j;exports.Image=Yn;exports.Input=X;exports.InputGroup=go;exports.Label=fe;exports.LineChart=Po;exports.Link=Gn;exports.ListItem=vo;exports.Loader=Me;exports.Logo=Kn;exports.MenuItem=ho;exports.Modal=ra;exports.ModalBody=yo;exports.ModalFooter=xo;exports.ModalHeader=bo;exports.Notification=ko;exports.Option=na;exports.Progress=Xn;exports.ProgressBar=Qn;exports.Radio=Zn;exports.ReusableForm=Ho;exports.ReusableFormModal=qo;exports.Search=Vo;exports.Select=ue;exports.Sidebar=Wo;exports.Slider=mt;exports.Spinner=ct;exports.Stepper=So;exports.StepperItem=Eo;exports.Switch=eo;exports.Tab=No;exports.TabPanel=$o;exports.Text=to;exports.Textarea=dt;exports.Timeline=Yo;exports.TimelineItem=Go;exports.Toast=Bo;exports.Tooltip=oa;exports.Typography=at;exports.cn=k;exports.default=n0;exports.toast=ne;exports.tooltip=_t;exports.useToaster=Co;