@stlhorizon/vue-ui 2.10.2 → 2.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/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
- `},E=e.computed(()=>({info:i,success:c,warning:f,error:p,default:i,destructive:p})[a.variant]),y=z.cva("relative w-full rounded-lg border p-4 flex items-start gap-3",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive",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"}}),x=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",destructive:"text-destructive"}[a.variant]]),m=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",destructive:"text-destructive hover:text-destructive/80 hover:bg-destructive/10"}[a.variant]]);return(u,d)=>(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(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(h)(e.unref(y)({variant:t.variant}),u.$attrs.class)),role:"alert"},[e.createElementVNode("div",Yi,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Hi,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E.value),{class:e.normalizeClass(x.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",Gi,[t.title?(e.openBlock(),e.createElementBlock("h4",Xi,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(u.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)])],2),u.$slots.actions||t.actions.length>0?(e.openBlock(),e.createElementBlock("div",Ki,[e.renderSlot(u.$slots,"actions",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,g=>(e.openBlock(),e.createBlock(Z,{key:g.label,variant:g.variant||"outline",size:g.size||"sm",onClick:k=>s(g)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1032,["variant","size","onClick"]))),128))])])):e.createCommentVNode("",!0)]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(m.value),"aria-label":t.dismissLabel,onClick:l},[e.createVNode(v,{class:"w-4 h-4"})],10,Ji)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)]),_:3}))}}),Qi=["aria-label"],Zi={class:"flex items-center space-x-1"},Kn={__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"}}}),r=e.computed(()=>h(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel,class:e.normalizeClass(["flex",r.value])},[e.createElementVNode("ol",Zi,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(s,i)=>(e.openBlock(),e.createElementBlock("li",{key:i,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",i===t.items.length-1?"text-foreground":"text-muted-foreground hover:text-foreground"]),"aria-current":i===t.items.length-1?"page":void 0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.label),1)]),_:2},1032,["href","class","aria-current"])),i<t.items.length-1?(e.openBlock(),e.createBlock(L,{key:0,name:t.separator,class:"mx-2 h-4 w-4 text-muted-foreground"},null,8,["name"])):e.createCommentVNode("",!0)]))),128))])],10,Qi))}},ec=["aria-label"],Jn={__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"}}}),r=e.computed(()=>h(a({orientation:n.orientation})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value),role:"group","aria-label":t.ariaLabel},[e.renderSlot(o.$slots,"default")],10,ec))}},tc={class:"flex items-start justify-between"},ac={class:"flex-1 min-w-0"},nc={key:0,class:"flex-shrink-0 ml-4"},rc=["src","alt"],oc="w-full h-auto object-cover",lc="text-lg font-semibold text-slate-900 truncate",sc="text-sm text-slate-600 mt-1",Qn={__name:"Card",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,subtitle:String,image:String,imageAlt:{type:String,default:"Card image"},hoverable:Boolean,clickable:Boolean,loading:Boolean},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=p=>{a.clickable&&r("click",p)},l=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"},hoverable:{true:"hover:shadow-md"},clickable:{true:"cursor-pointer"},loading:{true:"opacity-60 pointer-events-none"}},defaultVariants:{variant:"default",padding:"md"}}),s=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"}}}),i=z.cva("",{variants:{padding:{none:"p-4",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}}}),c=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"}}}),f=z.cva("",{variants:{padding:{none:"",sm:"-mx-3 -mt-3 mb-3",md:"-mx-4 -mt-4 mb-4",lg:"-mx-6 -mt-6 mb-6",xl:"-mx-8 -mt-8 mb-8"}}});return(p,v)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(h)(e.unref(l)({variant:t.variant,padding:t.padding,hoverable:t.hoverable,clickable:t.clickable,loading:t.loading}))),onClick:o},[p.$slots.header||t.title||t.subtitle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(h)(e.unref(s)({padding:t.padding})))},[e.renderSlot(p.$slots,"header",{},()=>[e.createElementVNode("div",tc,[e.createElementVNode("div",ac,[t.title?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(lc)},e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(sc)},e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),p.$slots.actions?(e.openBlock(),e.createElementBlock("div",nc,[e.renderSlot(p.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),p.$slots.image||t.image?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(h)(e.unref(f)({padding:t.padding})))},[e.renderSlot(p.$slots,"image",{},()=>[t.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.image,alt:t.imageAlt,class:e.normalizeClass(oc)},null,8,rc)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),p.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(h)(e.unref(i)({padding:t.padding})))},[e.renderSlot(p.$slots,"default")],2)):e.createCommentVNode("",!0),p.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(h)(e.unref(c)({padding:t.padding})))},[e.renderSlot(p.$slots,"footer")],2)):e.createCommentVNode("",!0)],2))}},ic={class:"text-lg font-semibold leading-tight text-foreground"},cc={key:0,class:"text-sm text-muted-foreground"},dc={key:0,class:"flex items-center gap-2"},Zn=Object.assign({inheritAttrs:!1},{__name:"CardHeader",props:{padding:{type:String,default:"p-4 md:p-6"},textSpacing:{type:String,default:"space-y-1"}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(h)("flex items-center justify-between border-b border-border bg-card/30 backdrop-blur-sm",t.padding,n.$attrs.class))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("flex flex-col",t.textSpacing))},[e.createElementVNode("h2",ic,[e.renderSlot(n.$slots,"title")]),n.$slots.description?(e.openBlock(),e.createElementBlock("p",cc,[e.renderSlot(n.$slots,"description")])):e.createCommentVNode("",!0)],2),n.$slots.actions?(e.openBlock(),e.createElementBlock("div",dc,[e.renderSlot(n.$slots,"actions")])):e.createCommentVNode("",!0)],2))}}),er={__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"}}}),r=e.computed(()=>h(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},tr={__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"}}}),r=e.computed(()=>h(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},ar=Object.assign({inheritAttrs:!1},{__name:"CardContent",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(h)("p-6 pt-0",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),nr=Object.assign({inheritAttrs:!1},{__name:"CardTitle",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("h3",{class:e.normalizeClass(e.unref(h)("text-2xl font-semibold leading-none tracking-tight",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),uc={class:"relative w-full"},mc={class:"relative"},fc=["id","value","disabled","placeholder","required","aria-describedby"],gc={class:"flex items-center justify-between mb-4"},pc={class:"text-base font-semibold text-slate-900"},vc={class:"grid grid-cols-7 gap-1 mb-2"},hc={class:"grid grid-cols-7 gap-1"},bc=["disabled","onClick"],yc={key:0,class:"mt-4 pt-3 border-t border-slate-200"},st={__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,r=n,o=e.ref(!1),l=new Date,s=e.ref(l.getMonth()),i=e.ref(l.getFullYear()),c=e.ref(null),f=["Su","Mo","Tu","We","Th","Fr","Sa"],p=e.computed(()=>new Date(i.value,s.value).toLocaleString("default",{month:"long"})),v=e.computed(()=>new Date(i.value,s.value+1,0).getDate()),E=e.computed(()=>new Date(i.value,s.value,1).getDay()),y=e.computed(()=>{const b=new Date(i.value,s.value,0).getDate(),N=E.value;return Array.from({length:N},(F,Y)=>b-N+Y+1)}),x=e.computed(()=>{const b=y.value.length+v.value,N=b%7===0?0:7-b%7;return Array.from({length:N},(F,Y)=>Y+1)}),m=e.computed(()=>c.value?u(c.value):"");function u(b){if(!b)return"";const N=new Date(b),F=String(N.getMonth()+1).padStart(2,"0"),Y=String(N.getDate()).padStart(2,"0"),_=N.getFullYear();return a.format.replace("MM",F).replace("DD",Y).replace("YYYY",_)}function d(b){if(!b)return null;if(b instanceof Date)return b;if(typeof b=="string"){const F=b.split("-");if(F.length===3){const Y=parseInt(F[0],10),_=parseInt(F[1],10)-1,te=parseInt(F[2],10);return new Date(Y,_,te)}}const N=new Date(b);return isNaN(N.getTime())?null:N}function g(b){return l.getDate()===b&&l.getMonth()===s.value&&l.getFullYear()===i.value}function k(b){if(!c.value)return!1;const N=new Date(c.value);return N.getDate()===b&&N.getMonth()===s.value&&N.getFullYear()===i.value}function V(b){const N=new Date(i.value,s.value,b);if(a.min){const F=d(a.min);if(F&&N<F)return!0}if(a.max){const F=d(a.max);if(F&&N>F)return!0}return!1}function B(){a.disabled||(o.value=!o.value)}function U(){o.value=!1}function I(){s.value===0?(s.value=11,i.value--):s.value--}function W(){s.value===11?(s.value=0,i.value++):s.value++}function M(b){if(V(b))return;const N=new Date(i.value,s.value,b);c.value=N;const F=N.getFullYear(),Y=String(N.getMonth()+1).padStart(2,"0"),_=String(N.getDate()).padStart(2,"0"),te=`${F}-${Y}-${_}`;r("update:modelValue",te),setTimeout(()=>{o.value=!1},150)}function S(){s.value=l.getMonth(),i.value=l.getFullYear(),M(l.getDate())}function P(){c.value=null,r("update:modelValue","")}e.watch(()=>a.modelValue,b=>{if(b){const N=d(b);N&&(c.value=N,s.value=N.getMonth(),i.value=N.getFullYear())}else c.value=null},{immediate:!0});function j(b){b.key==="Escape"&&o.value&&U()}return e.onMounted(()=>{document.addEventListener("keydown",j)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",j)}),(b,N)=>(e.openBlock(),e.createElementBlock("div",uc,[e.createElementVNode("div",mc,[e.createElementVNode("input",{id:t.id,type:"text",value:m.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:B},null,8,fc),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&&m.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(P,["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(()=>[o.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",gc,[e.createElementVNode("button",{type:"button",class:"p-2 rounded-lg hover:bg-slate-100 transition-colors","aria-label":"Previous Month",onClick:I},[...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",pc,e.toDisplayString(p.value)+" "+e.toDisplayString(i.value),1),e.createElementVNode("button",{type:"button",class:"p-2 rounded-lg hover:bg-slate-100 transition-colors","aria-label":"Next Month",onClick:W},[...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",vc,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(f,F=>e.createElementVNode("div",{key:F,class:"text-center text-xs font-medium text-slate-600 py-1"},e.toDisplayString(F),1)),64))]),e.createElementVNode("div",hc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(F,Y)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+Y,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(F),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,F=>(e.openBlock(),e.createElementBlock("button",{key:F,type:"button",disabled:V(F),class:e.normalizeClass(["w-9 h-9 rounded-lg text-sm font-medium transition-colors",g(F)&&!k(F)?"bg-blue-50 text-blue-600 border border-blue-200":"",k(F)?"bg-blue-500 text-white hover:bg-blue-600":"text-slate-700 hover:bg-slate-100",V(F)?"text-slate-300 cursor-not-allowed hover:bg-transparent":"cursor-pointer"]),onClick:Y=>M(F)},e.toDisplayString(F),11,bc))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(F,Y)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+Y,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(F),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",yc,[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:S}," Today ")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-[9998]",onClick:U})):e.createCommentVNode("",!0)]))}},xc=["aria-expanded"],rr={__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),r=e.ref(null),o=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(()=>h(o({variant:n.variant}),"h-10 px-4 py-2")),i=e.computed(()=>h(l({placement:n.placement}))),c=()=>{a.value=!a.value},f=p=>{r.value&&!r.value.contains(p.target)&&(a.value=!1)};return e.onMounted(()=>{document.addEventListener("click",f)}),e.onUnmounted(()=>{document.removeEventListener("click",f)}),(p,v)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdownRef",ref:r,class:"relative"},[e.createElementVNode("button",{class:e.normalizeClass(s.value),"aria-expanded":a.value,"aria-haspopup":!0,onClick:c},[e.renderSlot(p.$slots,"trigger",{},()=>[e.createElementVNode("span",null,e.toDisplayString(t.triggerText),1),e.createVNode(L,{name:"chevron-down",class:"ml-2 h-4 w-4"})])],10,xc),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(i.value),role:"menu","aria-orientation":"vertical"},[e.renderSlot(p.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3})],512))}},kc={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},or={__name:"DropdownItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,variant:{type:String,default:"default",validator:t=>["default","destructive"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=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",destructive:"text-destructive hover:bg-destructive hover:text-destructive-foreground"}}}),l=e.computed(()=>h(o({variant:a.variant}))),s=i=>{a.disabled||r("click",i)};return(i,c)=>(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(L,{key:0,name:t.icon,class:"mr-2 h-4 w-4"},null,8,["name"])):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default"),t.shortcut?(e.openBlock(),e.createElementBlock("span",kc,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},wc={class:"w-full"},Cc=["multiple","accept"],Bc={class:"flex flex-col items-center justify-center py-6"},Sc={key:0,class:"text-xs text-muted-foreground mt-1"},Vc={key:0,class:"mt-4 space-y-2"},Ec={class:"flex items-center space-x-2"},Nc={class:"text-sm"},$c={class:"text-xs text-muted-foreground"},zc=["onClick"],lr={__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,r=n,o=e.ref([]),l=e.ref(!1),s=e.ref(null),i=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"}}}),c=e.computed(()=>h(i({variant:a.variant}),{"border-green-500 bg-green-50/50":o.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":o.value.length>0&&l.value})),f=g=>{g.preventDefault(),l.value=!1;const k=Array.from(g.dataTransfer.files);m(k)},p=g=>{g.preventDefault()},v=g=>{g.preventDefault(),l.value=!0},E=g=>{g.preventDefault(),l.value=!1},y=()=>{s.value?.click()},x=g=>{const k=Array.from(g.target.files);m(k)},m=g=>{const k=g.filter(V=>!(a.maxSize&&V.size>a.maxSize));a.multiple?o.value.push(...k):o.value=k.slice(0,1),r("files-selected",o.value)},u=g=>{o.value.splice(g,1),r("file-removed",o.value)},d=g=>{if(g===0)return"0 Bytes";const k=1024,V=["Bytes","KB","MB","GB"],B=Math.floor(Math.log(g)/Math.log(k));return parseFloat((g/Math.pow(k,B)).toFixed(2))+" "+V[B]};return(g,k)=>(e.openBlock(),e.createElementBlock("div",wc,[e.createElementVNode("div",{class:e.normalizeClass(c.value),onDrop:f,onDragover:p,onDragenter:v,onDragleave:E,onClick:y},[e.createElementVNode("input",{ref_key:"fileInput",ref:s,type:"file",multiple:t.multiple,accept:t.accept,class:"hidden",onChange:x},null,40,Cc),e.createElementVNode("div",Bc,[e.createVNode(L,{icon:"upload",class:"h-8 w-8 text-muted-foreground mb-2"}),k[0]||(k[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",Sc,e.toDisplayString(t.accept),1)):e.createCommentVNode("",!0)])],34),o.value.length>0?(e.openBlock(),e.createElementBlock("div",Vc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(V,B)=>(e.openBlock(),e.createElementBlock("div",{key:B,class:"flex items-center justify-between p-2 bg-gray-300 rounded-md"},[e.createElementVNode("div",Ec,[e.createVNode(L,{icon:"file",class:"h-4 w-4 text-muted-foreground"}),e.createElementVNode("span",Nc,e.toDisplayString(V.name),1),e.createElementVNode("span",$c,"("+e.toDisplayString(d(V.size))+")",1)]),e.createElementVNode("button",{class:"text-muted-foreground hover:text-foreground",onClick:U=>u(B)},[e.createVNode(L,{icon:"x",class:"h-4 w-4"})],8,zc)]))),128))])):e.createCommentVNode("",!0)]))}},Dc=["for"],Tc={key:0,class:"text-red-500 ml-1","aria-label":"required"},Ac={class:"relative"},Fc=["aria-label"],Ic=["id"],Pc=["id"],Kt={__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,r=n,o=`field-${Math.random().toString(36).slice(2,9)}`,l=e.computed(()=>`${a.id||o}-${Math.random().toString(36).slice(2,5)}`),s=e.computed(()=>!!a.error),i=e.ref(!1),c=()=>{i.value=!i.value},f=e.computed(()=>{const m=[];return a.error?m.push(`${l.value}-error`):a.helpText&&m.push(`${l.value}-help`),m.length>0?m.join(" "):void 0}),p=z.cva("",{variants:{size:{sm:"space-y-1",md:"space-y-2",lg:"space-y-3"}},defaultVariants:{size:"md"}}),v=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"}}),E=z.cva("text-slate-600",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),y=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"}}),x=z.cva("text-slate-500",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"}},defaultVariants:{size:"md"}});return(m,u)=>{const d=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(h)(e.unref(p)({size:t.size}),m.$attrs.class))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:l.value,class:e.normalizeClass(e.unref(h)(e.unref(v)({size:t.size})))},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Tc,"*")):e.createCommentVNode("",!0)],10,Dc)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(e.unref(h)(e.unref(E)({size:t.size})))},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0),e.createElementVNode("div",Ac,[t.type==="date"?(e.openBlock(),e.createBlock(st,{key:0,id:l.value,"model-value":t.modelValue,disabled:!1,required:t.required,class:e.normalizeClass(s.value?"border-red-500":""),"onUpdate:modelValue":u[0]||(u[0]=g=>r("update:modelValue",g))},null,8,["id","model-value","required","class"])):e.renderSlot(m.$slots,"default",{key:1,fieldId:l.value,hasError:s.value,ariaDescribedBy:f.value,showPassword:i.value,togglePasswordVisibility:c}),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":i.value?"Hide password":"Show password",onClick:c},[e.createVNode(d,{icon:i.value?"eye-slash":"eye",class:"w-4 h-4"},null,8,["icon"])],8,Fc)):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(h)(e.unref(y)({size:t.size,intent:"error"}))),role:"alert","aria-live":"polite"},[e.createVNode(d,{icon:"exclamation-triangle",class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.error),1)],10,Ic)):e.createCommentVNode("",!0)]),_:1}),t.helpText&&!s.value?(e.openBlock(),e.createElementBlock("p",{key:2,id:`${l.value}-help`,class:e.normalizeClass(e.unref(h)(e.unref(x)({size:t.size})))},e.toDisplayString(t.helpText),11,Pc)):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(h)(e.unref(y)({size:t.size,intent:"success"})))},[e.createVNode(d,{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)}}},jc={key:0,class:"flex items-center px-3 bg-muted border border-r-0 rounded-l-md"},Lc={key:1,class:"flex items-center px-3 bg-muted border border-l-0 rounded-r-md"},sr={__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"}}}),r=e.computed(()=>h(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[o.$slots.prefix?(e.openBlock(),e.createElementBlock("div",jc,[e.renderSlot(o.$slots,"prefix")])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default"),o.$slots.suffix?(e.openBlock(),e.createElementBlock("div",Lc,[e.renderSlot(o.$slots,"suffix")])):e.createCommentVNode("",!0)],2))}},Oc=["role"],Mc={key:0,class:"flex-shrink-0"},Rc={class:"flex-1 min-w-0"},_c={key:0,class:"text-sm font-medium text-foreground"},qc={key:1,class:"text-sm text-muted-foreground"},Uc={key:1,class:"flex-shrink-0"},ir={__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,r=n,o=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(()=>h(o({variant:a.variant}))),i=e.computed(()=>h(l({variant:a.variant}))),c=f=>{r("click",f)};return(f,p)=>(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(i.value),onClick:c},{default:e.withCtx(()=>[f.$slots.icon||t.icon?(e.openBlock(),e.createElementBlock("div",Mc,[e.renderSlot(f.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createBlock(L,{key:0,name:t.icon,class:"h-5 w-5"},null,8,["name"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Rc,[t.title?(e.openBlock(),e.createElementBlock("div",_c,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("div",qc,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"default")]),f.$slots.action?(e.openBlock(),e.createElementBlock("div",Uc,[e.renderSlot(f.$slots,"action")])):e.createCommentVNode("",!0)]),_:3},8,["href","class"]))],10,Oc))}},Wc={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},cr={__name:"MenuItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,hasSubmenu:Boolean,variant:{type:String,default:"default",validator:t=>["default","destructive"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=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",destructive:"text-destructive hover:bg-destructive hover:text-destructive-foreground"}}}),l=e.computed(()=>h(o({variant:a.variant}))),s=i=>{a.disabled||r("click",i)};return(i,c)=>(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(L,{key:0,name:t.icon,class:"mr-2 h-4 w-4"},null,8,["name"])):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default"),t.shortcut?(e.openBlock(),e.createElementBlock("span",Wc,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.hasSubmenu?(e.openBlock(),e.createBlock(L,{key:2,name:"chevron-right",class:"ml-auto h-4 w-4"})):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},Jt={__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","full"].includes(t)},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 p-6 shadow-lg duration-200 sm:rounded-lg",{variants:{size:{sm:"max-w-sm max-h-[50vh]",md:"max-w-md max-h-[70vh]",lg:"max-w-lg max-h-[80vh]",xl:"max-w-xl max-h-[90vh]","2xl":"max-w-2xl max-h-[90vh]","3xl":"max-w-3xl max-h-[90vh]","4xl":"max-w-4xl max-h-[100vh]","5xl":"max-w-5xl max-h-[100vh]","6xl":"max-w-6xl max-h-[100vh]","7xl":"max-w-7xl max-h-[100vh]",full:"max-w-full max-h-[100vh]"}},defaultVariants:{size:"4xl"}}),r=t,o=n,l=()=>{o("update:modelValue",!1),o("close")},s=c=>{r.closeOnBackdrop&&c.target===c.currentTarget&&l()};let i=null;return e.watch(()=>r.modelValue,c=>{c?(i=f=>{f.key==="Escape"&&l()},document.addEventListener("keydown",i)):i&&(document.removeEventListener("keydown",i),i=null)},{immediate:!0}),e.onUnmounted(()=>{i&&(document.removeEventListener("keydown",i),i=null)}),(c,f)=>(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:"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm flex items-center justify-center",onClick:s},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)(e.unref(a)({size:t.size}),t.resizable?"resize":"")),style:e.normalizeStyle(t.resizable?"min-width: 400px; min-height: 200px;":"")},[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(L,{icon:"x",class:"h-4 w-4"}),f[0]||(f[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default")],6)])):e.createCommentVNode("",!0)]),_:3})]))}},Yc={class:"flex flex-col space-y-1.5 text-center sm:text-left"},Hc={key:0,class:"text-lg font-semibold leading-none tracking-tight"},Gc={key:1,class:"text-sm text-muted-foreground"},dr={__name:"ModalHeader",props:{title:String,description:String},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",Yc,[t.title?(e.openBlock(),e.createElementBlock("h2",Hc,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",Gc,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default")]))}},ur={__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"}}}),r=e.computed(()=>h(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},mr={__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"}}}),r=e.computed(()=>h(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},Xc=["aria-live"],Kc={class:"flex items-start space-x-3"},Jc={key:0,class:"flex-shrink-0"},Qc={class:"flex-1 min-w-0"},Zc={key:0,class:"text-sm font-medium"},fr={__name:"Notification",props:{title:String,message:String,variant:{type:String,default:"default",validator:t=>["default","success","warning","destructive"].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,r=n,o=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",destructive:"border-l-4 border-destructive"}}}),s={default:"info",success:"check-circle",warning:"alert-triangle",destructive:"alert-circle"},i=z.cva("h-5 w-5",{variants:{variant:{default:"text-primary",success:"text-green-500",warning:"text-yellow-500",destructive:"text-destructive"}}}),c=e.computed(()=>h(l({variant:a.variant}),"p-4")),f=e.computed(()=>s[a.variant]),p=e.computed(()=>i({variant:a.variant})),v=()=>{o.value=!1,r("dismiss")};return e.onMounted(()=>{a.autoClose>0&&setTimeout(()=>{v()},a.autoClose)}),(E,y)=>(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(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(c.value),role:"alert","aria-live":t.variant==="destructive"?"assertive":"polite"},[e.createElementVNode("div",Kc,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Jc,[e.createVNode(L,{name:f.value,class:e.normalizeClass(p.value)},null,8,["name","class"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Qc,[t.title?(e.openBlock(),e.createElementBlock("div",Zc,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(E.$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:v},[e.createVNode(L,{name:"x",class:"h-4 w-4"})])):e.createCommentVNode("",!0)])],10,Xc)):e.createCommentVNode("",!0)]),_:3}))}},je=e.ref([]);let ed=0;const td={duration:3e3,position:"top-center",dismissible:!0,closeButton:!1},ad=()=>`toast-${++ed}-${Date.now()}`,ie=(t,n={})=>{const a=ad(),r={id:a,message:t,...td,...n,createdAt:Date.now()};return je.value.push(e.markRaw(r)),r.duration&&r.duration>0&&setTimeout(()=>{Ie(a)},r.duration),a},Ie=t=>{const n=je.value.findIndex(a=>a.id===t);n>-1&&je.value.splice(n,1)},gr=()=>{je.value=[]},be=Object.assign((t,n)=>ie(t,{...n}),{success:(t,n)=>ie(t,{...n,variant:"success"}),error:(t,n)=>ie(t,{...n,variant:"error"}),warning:(t,n)=>ie(t,{...n,variant:"warning"}),info:(t,n)=>ie(t,{...n,variant:"info"}),promise:(t,n={})=>{const{loading:a="Loading...",success:r="Success",error:o="Error",...l}=n,s=ie(a,{...l,variant:"loading",duration:0,dismissible:!1});return t.then(i=>{Ie(s);const c=typeof r=="function"?r(i):r;return ie(c,{...l,variant:"success"}),i}).catch(i=>{Ie(s);const c=typeof o=="function"?o(i):o;throw ie(c,{...l,variant:"error"}),i})},dismiss:Ie,dismissAll:gr,custom:(t,n={})=>ie("",{...n,component:e.markRaw(t)})}),pr=()=>({toasts:je,dismiss:Ie,dismissAll:gr}),nd=["aria-live"],rd={class:"flex-1 grid gap-1"},od={key:0,class:"text-lg font-extrabold"},ld={key:1,class:"text-md opacity-90"},sd={key:2,class:"text-md opacity-90"},id=["onClick"],cd=["onClick"],vr={__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:r}=pr(),o={"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(()=>h(o[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"}}),i=x=>h(s({variant:x.variant})),c={default:"bell",info:"info",success:"check-circle",warning:"triangle-exclamation",error:"circle-exclamation",loading:"loader"},f={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"},p=x=>x.icon||c[x.variant]||c.default,v=x=>{const m=f[x.variant]||f.default;return x.variant==="loading"?`${m} animate-spin`:m},E=x=>x.icon!==!1,y=x=>x.dismissible!==!1&&(x.closeButton||n.closeButton||x.dismissible);return(x,m)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)(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),u=>(e.openBlock(),e.createElementBlock("div",{key:u.id,class:e.normalizeClass([i(u),"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":u.variant==="error"?"assertive":"polite"},[E(u)?(e.openBlock(),e.createBlock(L,{key:0,icon:p(u),class:e.normalizeClass([v(u),"h-4 w-4 shrink-0"])},null,8,["icon","class"])):e.createCommentVNode("",!0),e.createElementVNode("div",rd,[u.title?(e.openBlock(),e.createElementBlock("div",od,e.toDisplayString(u.title),1)):e.createCommentVNode("",!0),u.message?(e.openBlock(),e.createElementBlock("div",ld,e.toDisplayString(u.message),1)):e.createCommentVNode("",!0),u.description?(e.openBlock(),e.createElementBlock("div",sd,e.toDisplayString(u.description),1)):e.createCommentVNode("",!0),u.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.component),e.mergeProps({key:3,ref_for:!0},u.componentProps),null,16)):e.createCommentVNode("",!0)]),u.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:u.action.onClick},e.toDisplayString(u.action.label),9,id)):e.createCommentVNode("",!0),y(u)?(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:d=>e.unref(r)(u.id)},[e.createVNode(L,{icon:"x",class:"h-4 w-4"})],8,cd)):e.createCommentVNode("",!0)],10,nd))),128))]),_:1})],2)]))}},dd={class:"relative"},ud={class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},md=["value","placeholder","disabled"],fd={key:0,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},gd=["aria-label"],pd={key:1,class:"animate-spin"},vd={key:0,class:"max-h-64 overflow-y-auto"},hd=["onClick","onMouseenter"],bd={class:"flex-1 text-left"},yd={class:"font-medium text-slate-900"},xd={key:0,class:"text-sm text-slate-500 truncate"},kd={key:1,class:"text-xs text-slate-400 ml-3"},wd={key:1,class:"px-4 py-3 text-sm text-slate-500 text-center"},Cd={key:2,class:"border-t border-slate-200 p-2"},hr={__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
+ `},E=e.computed(()=>({info:i,success:c,warning:f,error:p,default:i,destructive:p})[a.variant]),y=z.cva("relative w-full rounded-lg border p-4 flex items-start gap-3",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive",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"}}),x=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",destructive:"text-destructive"}[a.variant]]),m=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",destructive:"text-destructive hover:text-destructive/80 hover:bg-destructive/10"}[a.variant]]);return(u,d)=>(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(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(h)(e.unref(y)({variant:t.variant}),u.$attrs.class)),role:"alert"},[e.createElementVNode("div",Yi,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Hi,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E.value),{class:e.normalizeClass(x.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",Gi,[t.title?(e.openBlock(),e.createElementBlock("h4",Xi,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(u.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)])],2),u.$slots.actions||t.actions.length>0?(e.openBlock(),e.createElementBlock("div",Ki,[e.renderSlot(u.$slots,"actions",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,g=>(e.openBlock(),e.createBlock(Z,{key:g.label,variant:g.variant||"outline",size:g.size||"sm",onClick:k=>s(g)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1032,["variant","size","onClick"]))),128))])])):e.createCommentVNode("",!0)]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(m.value),"aria-label":t.dismissLabel,onClick:l},[e.createVNode(v,{class:"w-4 h-4"})],10,Ji)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)]),_:3}))}}),Qi=["aria-label"],Zi={class:"flex items-center space-x-1"},Kn={__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"}}}),r=e.computed(()=>h(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel,class:e.normalizeClass(["flex",r.value])},[e.createElementVNode("ol",Zi,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(s,i)=>(e.openBlock(),e.createElementBlock("li",{key:i,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",i===t.items.length-1?"text-foreground":"text-muted-foreground hover:text-foreground"]),"aria-current":i===t.items.length-1?"page":void 0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.label),1)]),_:2},1032,["href","class","aria-current"])),i<t.items.length-1?(e.openBlock(),e.createBlock(L,{key:0,name:t.separator,class:"mx-2 h-4 w-4 text-muted-foreground"},null,8,["name"])):e.createCommentVNode("",!0)]))),128))])],10,Qi))}},ec=["aria-label"],Jn={__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"}}}),r=e.computed(()=>h(a({orientation:n.orientation})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value),role:"group","aria-label":t.ariaLabel},[e.renderSlot(o.$slots,"default")],10,ec))}},tc={class:"flex items-start justify-between"},ac={class:"flex-1 min-w-0"},nc={key:0,class:"flex-shrink-0 ml-4"},rc=["src","alt"],oc="w-full h-auto object-cover",lc="text-lg font-semibold text-slate-900 truncate",sc="text-sm text-slate-600 mt-1",Qn={__name:"Card",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,subtitle:String,image:String,imageAlt:{type:String,default:"Card image"},hoverable:Boolean,clickable:Boolean,loading:Boolean},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=p=>{a.clickable&&r("click",p)},l=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"},hoverable:{true:"hover:shadow-md"},clickable:{true:"cursor-pointer"},loading:{true:"opacity-60 pointer-events-none"}},defaultVariants:{variant:"default",padding:"md"}}),s=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"}}}),i=z.cva("",{variants:{padding:{none:"p-4",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}}}),c=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"}}}),f=z.cva("",{variants:{padding:{none:"",sm:"-mx-3 -mt-3 mb-3",md:"-mx-4 -mt-4 mb-4",lg:"-mx-6 -mt-6 mb-6",xl:"-mx-8 -mt-8 mb-8"}}});return(p,v)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(h)(e.unref(l)({variant:t.variant,padding:t.padding,hoverable:t.hoverable,clickable:t.clickable,loading:t.loading}))),onClick:o},[p.$slots.header||t.title||t.subtitle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(h)(e.unref(s)({padding:t.padding})))},[e.renderSlot(p.$slots,"header",{},()=>[e.createElementVNode("div",tc,[e.createElementVNode("div",ac,[t.title?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(lc)},e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(sc)},e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),p.$slots.actions?(e.openBlock(),e.createElementBlock("div",nc,[e.renderSlot(p.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),p.$slots.image||t.image?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(h)(e.unref(f)({padding:t.padding})))},[e.renderSlot(p.$slots,"image",{},()=>[t.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.image,alt:t.imageAlt,class:e.normalizeClass(oc)},null,8,rc)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),p.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(h)(e.unref(i)({padding:t.padding})))},[e.renderSlot(p.$slots,"default")],2)):e.createCommentVNode("",!0),p.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(h)(e.unref(c)({padding:t.padding})))},[e.renderSlot(p.$slots,"footer")],2)):e.createCommentVNode("",!0)],2))}},ic={key:0,class:"text-lg font-semibold leading-tight text-black"},cc={key:1,class:"text-lg font-semibold leading-tight text-black"},dc={key:2,class:"text-sm text-gray-600"},uc={key:3,class:"text-sm text-gray-600"},mc={key:0,class:"flex items-center gap-2"},Zn=Object.assign({inheritAttrs:!1},{__name:"CardHeader",props:{title:{type:String,default:""},subtitle:{type:String,default:""},titleClass:{type:String,default:""},subtitleClass:{type:String,default:""},padding:{type:String,default:"p-4 md:p-6"},textSpacing:{type:String,default:"space-y-1"}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(h)("flex items-center justify-between border-b border-border bg-white text-black",t.padding,n.$attrs.class))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("flex flex-col",t.textSpacing))},[t.title?(e.openBlock(),e.createElementBlock("h2",ic,e.toDisplayString(t.title),1)):(e.openBlock(),e.createElementBlock("h2",cc,[e.renderSlot(n.$slots,"title")])),t.subtitle?(e.openBlock(),e.createElementBlock("p",dc,e.toDisplayString(t.subtitle),1)):n.$slots.description?(e.openBlock(),e.createElementBlock("p",uc,[e.renderSlot(n.$slots,"description")])):e.createCommentVNode("",!0)],2),n.$slots.actions?(e.openBlock(),e.createElementBlock("div",mc,[e.renderSlot(n.$slots,"actions")])):e.createCommentVNode("",!0)],2))}}),er={__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"}}}),r=e.computed(()=>h(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},tr={__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"}}}),r=e.computed(()=>h(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},ar=Object.assign({inheritAttrs:!1},{__name:"CardContent",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(h)("p-6 pt-0",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),nr=Object.assign({inheritAttrs:!1},{__name:"CardTitle",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("h3",{class:e.normalizeClass(e.unref(h)("text-2xl font-semibold leading-none tracking-tight",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),fc={class:"relative w-full"},gc={class:"relative"},pc=["id","value","disabled","placeholder","required","aria-describedby"],vc={class:"flex items-center justify-between mb-4"},hc={class:"text-base font-semibold text-slate-900"},bc={class:"grid grid-cols-7 gap-1 mb-2"},yc={class:"grid grid-cols-7 gap-1"},xc=["disabled","onClick"],kc={key:0,class:"mt-4 pt-3 border-t border-slate-200"},st={__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,r=n,o=e.ref(!1),l=new Date,s=e.ref(l.getMonth()),i=e.ref(l.getFullYear()),c=e.ref(null),f=["Su","Mo","Tu","We","Th","Fr","Sa"],p=e.computed(()=>new Date(i.value,s.value).toLocaleString("default",{month:"long"})),v=e.computed(()=>new Date(i.value,s.value+1,0).getDate()),E=e.computed(()=>new Date(i.value,s.value,1).getDay()),y=e.computed(()=>{const b=new Date(i.value,s.value,0).getDate(),N=E.value;return Array.from({length:N},(F,Y)=>b-N+Y+1)}),x=e.computed(()=>{const b=y.value.length+v.value,N=b%7===0?0:7-b%7;return Array.from({length:N},(F,Y)=>Y+1)}),m=e.computed(()=>c.value?u(c.value):"");function u(b){if(!b)return"";const N=new Date(b),F=String(N.getMonth()+1).padStart(2,"0"),Y=String(N.getDate()).padStart(2,"0"),_=N.getFullYear();return a.format.replace("MM",F).replace("DD",Y).replace("YYYY",_)}function d(b){if(!b)return null;if(b instanceof Date)return b;if(typeof b=="string"){const F=b.split("-");if(F.length===3){const Y=parseInt(F[0],10),_=parseInt(F[1],10)-1,te=parseInt(F[2],10);return new Date(Y,_,te)}}const N=new Date(b);return isNaN(N.getTime())?null:N}function g(b){return l.getDate()===b&&l.getMonth()===s.value&&l.getFullYear()===i.value}function k(b){if(!c.value)return!1;const N=new Date(c.value);return N.getDate()===b&&N.getMonth()===s.value&&N.getFullYear()===i.value}function V(b){const N=new Date(i.value,s.value,b);if(a.min){const F=d(a.min);if(F&&N<F)return!0}if(a.max){const F=d(a.max);if(F&&N>F)return!0}return!1}function B(){a.disabled||(o.value=!o.value)}function U(){o.value=!1}function I(){s.value===0?(s.value=11,i.value--):s.value--}function W(){s.value===11?(s.value=0,i.value++):s.value++}function M(b){if(V(b))return;const N=new Date(i.value,s.value,b);c.value=N;const F=N.getFullYear(),Y=String(N.getMonth()+1).padStart(2,"0"),_=String(N.getDate()).padStart(2,"0"),te=`${F}-${Y}-${_}`;r("update:modelValue",te),setTimeout(()=>{o.value=!1},150)}function S(){s.value=l.getMonth(),i.value=l.getFullYear(),M(l.getDate())}function P(){c.value=null,r("update:modelValue","")}e.watch(()=>a.modelValue,b=>{if(b){const N=d(b);N&&(c.value=N,s.value=N.getMonth(),i.value=N.getFullYear())}else c.value=null},{immediate:!0});function j(b){b.key==="Escape"&&o.value&&U()}return e.onMounted(()=>{document.addEventListener("keydown",j)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",j)}),(b,N)=>(e.openBlock(),e.createElementBlock("div",fc,[e.createElementVNode("div",gc,[e.createElementVNode("input",{id:t.id,type:"text",value:m.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:B},null,8,pc),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&&m.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(P,["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(()=>[o.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",vc,[e.createElementVNode("button",{type:"button",class:"p-2 rounded-lg hover:bg-slate-100 transition-colors","aria-label":"Previous Month",onClick:I},[...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",hc,e.toDisplayString(p.value)+" "+e.toDisplayString(i.value),1),e.createElementVNode("button",{type:"button",class:"p-2 rounded-lg hover:bg-slate-100 transition-colors","aria-label":"Next Month",onClick:W},[...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",bc,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(f,F=>e.createElementVNode("div",{key:F,class:"text-center text-xs font-medium text-slate-600 py-1"},e.toDisplayString(F),1)),64))]),e.createElementVNode("div",yc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(F,Y)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+Y,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(F),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,F=>(e.openBlock(),e.createElementBlock("button",{key:F,type:"button",disabled:V(F),class:e.normalizeClass(["w-9 h-9 rounded-lg text-sm font-medium transition-colors",g(F)&&!k(F)?"bg-blue-50 text-blue-600 border border-blue-200":"",k(F)?"bg-blue-500 text-white hover:bg-blue-600":"text-slate-700 hover:bg-slate-100",V(F)?"text-slate-300 cursor-not-allowed hover:bg-transparent":"cursor-pointer"]),onClick:Y=>M(F)},e.toDisplayString(F),11,xc))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(F,Y)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+Y,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(F),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",kc,[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:S}," Today ")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-[9998]",onClick:U})):e.createCommentVNode("",!0)]))}},wc=["aria-expanded"],rr={__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),r=e.ref(null),o=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(()=>h(o({variant:n.variant}),"h-10 px-4 py-2")),i=e.computed(()=>h(l({placement:n.placement}))),c=()=>{a.value=!a.value},f=p=>{r.value&&!r.value.contains(p.target)&&(a.value=!1)};return e.onMounted(()=>{document.addEventListener("click",f)}),e.onUnmounted(()=>{document.removeEventListener("click",f)}),(p,v)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdownRef",ref:r,class:"relative"},[e.createElementVNode("button",{class:e.normalizeClass(s.value),"aria-expanded":a.value,"aria-haspopup":!0,onClick:c},[e.renderSlot(p.$slots,"trigger",{},()=>[e.createElementVNode("span",null,e.toDisplayString(t.triggerText),1),e.createVNode(L,{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(i.value),role:"menu","aria-orientation":"vertical"},[e.renderSlot(p.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3})],512))}},Cc={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},or={__name:"DropdownItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,variant:{type:String,default:"default",validator:t=>["default","destructive"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=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",destructive:"text-destructive hover:bg-destructive hover:text-destructive-foreground"}}}),l=e.computed(()=>h(o({variant:a.variant}))),s=i=>{a.disabled||r("click",i)};return(i,c)=>(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(L,{key:0,name:t.icon,class:"mr-2 h-4 w-4"},null,8,["name"])):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default"),t.shortcut?(e.openBlock(),e.createElementBlock("span",Cc,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},Bc={class:"w-full"},Sc=["multiple","accept"],Vc={class:"flex flex-col items-center justify-center py-6"},Ec={key:0,class:"text-xs text-muted-foreground mt-1"},Nc={key:0,class:"mt-4 space-y-2"},$c={class:"flex items-center space-x-2"},zc={class:"text-sm"},Dc={class:"text-xs text-muted-foreground"},Tc=["onClick"],lr={__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,r=n,o=e.ref([]),l=e.ref(!1),s=e.ref(null),i=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"}}}),c=e.computed(()=>h(i({variant:a.variant}),{"border-green-500 bg-green-50/50":o.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":o.value.length>0&&l.value})),f=g=>{g.preventDefault(),l.value=!1;const k=Array.from(g.dataTransfer.files);m(k)},p=g=>{g.preventDefault()},v=g=>{g.preventDefault(),l.value=!0},E=g=>{g.preventDefault(),l.value=!1},y=()=>{s.value?.click()},x=g=>{const k=Array.from(g.target.files);m(k)},m=g=>{const k=g.filter(V=>!(a.maxSize&&V.size>a.maxSize));a.multiple?o.value.push(...k):o.value=k.slice(0,1),r("files-selected",o.value)},u=g=>{o.value.splice(g,1),r("file-removed",o.value)},d=g=>{if(g===0)return"0 Bytes";const k=1024,V=["Bytes","KB","MB","GB"],B=Math.floor(Math.log(g)/Math.log(k));return parseFloat((g/Math.pow(k,B)).toFixed(2))+" "+V[B]};return(g,k)=>(e.openBlock(),e.createElementBlock("div",Bc,[e.createElementVNode("div",{class:e.normalizeClass(c.value),onDrop:f,onDragover:p,onDragenter:v,onDragleave:E,onClick:y},[e.createElementVNode("input",{ref_key:"fileInput",ref:s,type:"file",multiple:t.multiple,accept:t.accept,class:"hidden",onChange:x},null,40,Sc),e.createElementVNode("div",Vc,[e.createVNode(L,{icon:"upload",class:"h-8 w-8 text-muted-foreground mb-2"}),k[0]||(k[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",Ec,e.toDisplayString(t.accept),1)):e.createCommentVNode("",!0)])],34),o.value.length>0?(e.openBlock(),e.createElementBlock("div",Nc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(V,B)=>(e.openBlock(),e.createElementBlock("div",{key:B,class:"flex items-center justify-between p-2 bg-gray-300 rounded-md"},[e.createElementVNode("div",$c,[e.createVNode(L,{icon:"file",class:"h-4 w-4 text-muted-foreground"}),e.createElementVNode("span",zc,e.toDisplayString(V.name),1),e.createElementVNode("span",Dc,"("+e.toDisplayString(d(V.size))+")",1)]),e.createElementVNode("button",{class:"text-muted-foreground hover:text-foreground",onClick:U=>u(B)},[e.createVNode(L,{icon:"x",class:"h-4 w-4"})],8,Tc)]))),128))])):e.createCommentVNode("",!0)]))}},Ac=["for"],Fc={key:0,class:"text-red-500 ml-1","aria-label":"required"},Ic={class:"relative"},Pc=["aria-label"],jc=["id"],Lc=["id"],Kt={__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,r=n,o=`field-${Math.random().toString(36).slice(2,9)}`,l=e.computed(()=>`${a.id||o}-${Math.random().toString(36).slice(2,5)}`),s=e.computed(()=>!!a.error),i=e.ref(!1),c=()=>{i.value=!i.value},f=e.computed(()=>{const m=[];return a.error?m.push(`${l.value}-error`):a.helpText&&m.push(`${l.value}-help`),m.length>0?m.join(" "):void 0}),p=z.cva("",{variants:{size:{sm:"space-y-1",md:"space-y-2",lg:"space-y-3"}},defaultVariants:{size:"md"}}),v=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"}}),E=z.cva("text-slate-600",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),y=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"}}),x=z.cva("text-slate-500",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"}},defaultVariants:{size:"md"}});return(m,u)=>{const d=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(h)(e.unref(p)({size:t.size}),m.$attrs.class))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:l.value,class:e.normalizeClass(e.unref(h)(e.unref(v)({size:t.size})))},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Fc,"*")):e.createCommentVNode("",!0)],10,Ac)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(e.unref(h)(e.unref(E)({size:t.size})))},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0),e.createElementVNode("div",Ic,[t.type==="date"?(e.openBlock(),e.createBlock(st,{key:0,id:l.value,"model-value":t.modelValue,disabled:!1,required:t.required,class:e.normalizeClass(s.value?"border-red-500":""),"onUpdate:modelValue":u[0]||(u[0]=g=>r("update:modelValue",g))},null,8,["id","model-value","required","class"])):e.renderSlot(m.$slots,"default",{key:1,fieldId:l.value,hasError:s.value,ariaDescribedBy:f.value,showPassword:i.value,togglePasswordVisibility:c}),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":i.value?"Hide password":"Show password",onClick:c},[e.createVNode(d,{icon:i.value?"eye-slash":"eye",class:"w-4 h-4"},null,8,["icon"])],8,Pc)):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(h)(e.unref(y)({size:t.size,intent:"error"}))),role:"alert","aria-live":"polite"},[e.createVNode(d,{icon:"exclamation-triangle",class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.error),1)],10,jc)):e.createCommentVNode("",!0)]),_:1}),t.helpText&&!s.value?(e.openBlock(),e.createElementBlock("p",{key:2,id:`${l.value}-help`,class:e.normalizeClass(e.unref(h)(e.unref(x)({size:t.size})))},e.toDisplayString(t.helpText),11,Lc)):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(h)(e.unref(y)({size:t.size,intent:"success"})))},[e.createVNode(d,{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)}}},Oc={key:0,class:"flex items-center px-3 bg-muted border border-r-0 rounded-l-md"},Mc={key:1,class:"flex items-center px-3 bg-muted border border-l-0 rounded-r-md"},sr={__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"}}}),r=e.computed(()=>h(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[o.$slots.prefix?(e.openBlock(),e.createElementBlock("div",Oc,[e.renderSlot(o.$slots,"prefix")])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default"),o.$slots.suffix?(e.openBlock(),e.createElementBlock("div",Mc,[e.renderSlot(o.$slots,"suffix")])):e.createCommentVNode("",!0)],2))}},Rc=["role"],_c={key:0,class:"flex-shrink-0"},qc={class:"flex-1 min-w-0"},Uc={key:0,class:"text-sm font-medium text-foreground"},Wc={key:1,class:"text-sm text-muted-foreground"},Yc={key:1,class:"flex-shrink-0"},ir={__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,r=n,o=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(()=>h(o({variant:a.variant}))),i=e.computed(()=>h(l({variant:a.variant}))),c=f=>{r("click",f)};return(f,p)=>(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(i.value),onClick:c},{default:e.withCtx(()=>[f.$slots.icon||t.icon?(e.openBlock(),e.createElementBlock("div",_c,[e.renderSlot(f.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createBlock(L,{key:0,name:t.icon,class:"h-5 w-5"},null,8,["name"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",qc,[t.title?(e.openBlock(),e.createElementBlock("div",Uc,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("div",Wc,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"default")]),f.$slots.action?(e.openBlock(),e.createElementBlock("div",Yc,[e.renderSlot(f.$slots,"action")])):e.createCommentVNode("",!0)]),_:3},8,["href","class"]))],10,Rc))}},Hc={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},cr={__name:"MenuItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,hasSubmenu:Boolean,variant:{type:String,default:"default",validator:t=>["default","destructive"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=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",destructive:"text-destructive hover:bg-destructive hover:text-destructive-foreground"}}}),l=e.computed(()=>h(o({variant:a.variant}))),s=i=>{a.disabled||r("click",i)};return(i,c)=>(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(L,{key:0,name:t.icon,class:"mr-2 h-4 w-4"},null,8,["name"])):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default"),t.shortcut?(e.openBlock(),e.createElementBlock("span",Hc,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.hasSubmenu?(e.openBlock(),e.createBlock(L,{key:2,name:"chevron-right",class:"ml-auto h-4 w-4"})):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},Jt={__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","full"].includes(t)},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 p-6 shadow-lg duration-200 sm:rounded-lg",{variants:{size:{sm:"max-w-sm max-h-[50vh]",md:"max-w-md max-h-[70vh]",lg:"max-w-lg max-h-[80vh]",xl:"max-w-xl max-h-[90vh]","2xl":"max-w-2xl max-h-[90vh]","3xl":"max-w-3xl max-h-[90vh]","4xl":"max-w-4xl max-h-[100vh]","5xl":"max-w-5xl max-h-[100vh]","6xl":"max-w-6xl max-h-[100vh]","7xl":"max-w-7xl max-h-[100vh]",full:"max-w-full max-h-[100vh]"}},defaultVariants:{size:"4xl"}}),r=t,o=n,l=()=>{o("update:modelValue",!1),o("close")},s=c=>{r.closeOnBackdrop&&c.target===c.currentTarget&&l()};let i=null;return e.watch(()=>r.modelValue,c=>{c?(i=f=>{f.key==="Escape"&&l()},document.addEventListener("keydown",i)):i&&(document.removeEventListener("keydown",i),i=null)},{immediate:!0}),e.onUnmounted(()=>{i&&(document.removeEventListener("keydown",i),i=null)}),(c,f)=>(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:"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm flex items-center justify-center",onClick:s},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)(e.unref(a)({size:t.size}),t.resizable?"resize":"")),style:e.normalizeStyle(t.resizable?"min-width: 400px; min-height: 200px;":"")},[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(L,{icon:"x",class:"h-4 w-4"}),f[0]||(f[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default")],6)])):e.createCommentVNode("",!0)]),_:3})]))}},Gc={class:"flex flex-col space-y-1.5 text-center sm:text-left"},Xc={key:0,class:"text-lg font-semibold leading-none tracking-tight"},Kc={key:1,class:"text-sm text-muted-foreground"},dr={__name:"ModalHeader",props:{title:String,description:String},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",Gc,[t.title?(e.openBlock(),e.createElementBlock("h2",Xc,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",Kc,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default")]))}},ur={__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"}}}),r=e.computed(()=>h(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},mr={__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"}}}),r=e.computed(()=>h(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},Jc=["aria-live"],Qc={class:"flex items-start space-x-3"},Zc={key:0,class:"flex-shrink-0"},ed={class:"flex-1 min-w-0"},td={key:0,class:"text-sm font-medium"},fr={__name:"Notification",props:{title:String,message:String,variant:{type:String,default:"default",validator:t=>["default","success","warning","destructive"].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,r=n,o=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",destructive:"border-l-4 border-destructive"}}}),s={default:"info",success:"check-circle",warning:"alert-triangle",destructive:"alert-circle"},i=z.cva("h-5 w-5",{variants:{variant:{default:"text-primary",success:"text-green-500",warning:"text-yellow-500",destructive:"text-destructive"}}}),c=e.computed(()=>h(l({variant:a.variant}),"p-4")),f=e.computed(()=>s[a.variant]),p=e.computed(()=>i({variant:a.variant})),v=()=>{o.value=!1,r("dismiss")};return e.onMounted(()=>{a.autoClose>0&&setTimeout(()=>{v()},a.autoClose)}),(E,y)=>(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(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(c.value),role:"alert","aria-live":t.variant==="destructive"?"assertive":"polite"},[e.createElementVNode("div",Qc,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Zc,[e.createVNode(L,{name:f.value,class:e.normalizeClass(p.value)},null,8,["name","class"])])):e.createCommentVNode("",!0),e.createElementVNode("div",ed,[t.title?(e.openBlock(),e.createElementBlock("div",td,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(E.$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:v},[e.createVNode(L,{name:"x",class:"h-4 w-4"})])):e.createCommentVNode("",!0)])],10,Jc)):e.createCommentVNode("",!0)]),_:3}))}},je=e.ref([]);let ad=0;const nd={duration:3e3,position:"top-center",dismissible:!0,closeButton:!1},rd=()=>`toast-${++ad}-${Date.now()}`,ie=(t,n={})=>{const a=rd(),r={id:a,message:t,...nd,...n,createdAt:Date.now()};return je.value.push(e.markRaw(r)),r.duration&&r.duration>0&&setTimeout(()=>{Ie(a)},r.duration),a},Ie=t=>{const n=je.value.findIndex(a=>a.id===t);n>-1&&je.value.splice(n,1)},gr=()=>{je.value=[]},be=Object.assign((t,n)=>ie(t,{...n}),{success:(t,n)=>ie(t,{...n,variant:"success"}),error:(t,n)=>ie(t,{...n,variant:"error"}),warning:(t,n)=>ie(t,{...n,variant:"warning"}),info:(t,n)=>ie(t,{...n,variant:"info"}),promise:(t,n={})=>{const{loading:a="Loading...",success:r="Success",error:o="Error",...l}=n,s=ie(a,{...l,variant:"loading",duration:0,dismissible:!1});return t.then(i=>{Ie(s);const c=typeof r=="function"?r(i):r;return ie(c,{...l,variant:"success"}),i}).catch(i=>{Ie(s);const c=typeof o=="function"?o(i):o;throw ie(c,{...l,variant:"error"}),i})},dismiss:Ie,dismissAll:gr,custom:(t,n={})=>ie("",{...n,component:e.markRaw(t)})}),pr=()=>({toasts:je,dismiss:Ie,dismissAll:gr}),od=["aria-live"],ld={class:"flex-1 grid gap-1"},sd={key:0,class:"text-lg font-extrabold"},id={key:1,class:"text-md opacity-90"},cd={key:2,class:"text-md opacity-90"},dd=["onClick"],ud=["onClick"],vr={__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:r}=pr(),o={"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(()=>h(o[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"}}),i=x=>h(s({variant:x.variant})),c={default:"bell",info:"info",success:"check-circle",warning:"triangle-exclamation",error:"circle-exclamation",loading:"loader"},f={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"},p=x=>x.icon||c[x.variant]||c.default,v=x=>{const m=f[x.variant]||f.default;return x.variant==="loading"?`${m} animate-spin`:m},E=x=>x.icon!==!1,y=x=>x.dismissible!==!1&&(x.closeButton||n.closeButton||x.dismissible);return(x,m)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)(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),u=>(e.openBlock(),e.createElementBlock("div",{key:u.id,class:e.normalizeClass([i(u),"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":u.variant==="error"?"assertive":"polite"},[E(u)?(e.openBlock(),e.createBlock(L,{key:0,icon:p(u),class:e.normalizeClass([v(u),"h-4 w-4 shrink-0"])},null,8,["icon","class"])):e.createCommentVNode("",!0),e.createElementVNode("div",ld,[u.title?(e.openBlock(),e.createElementBlock("div",sd,e.toDisplayString(u.title),1)):e.createCommentVNode("",!0),u.message?(e.openBlock(),e.createElementBlock("div",id,e.toDisplayString(u.message),1)):e.createCommentVNode("",!0),u.description?(e.openBlock(),e.createElementBlock("div",cd,e.toDisplayString(u.description),1)):e.createCommentVNode("",!0),u.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.component),e.mergeProps({key:3,ref_for:!0},u.componentProps),null,16)):e.createCommentVNode("",!0)]),u.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:u.action.onClick},e.toDisplayString(u.action.label),9,dd)):e.createCommentVNode("",!0),y(u)?(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:d=>e.unref(r)(u.id)},[e.createVNode(L,{icon:"x",class:"h-4 w-4"})],8,ud)):e.createCommentVNode("",!0)],10,od))),128))]),_:1})],2)]))}},md={class:"relative"},fd={class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},gd=["value","placeholder","disabled"],pd={key:0,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},vd=["aria-label"],hd={key:1,class:"animate-spin"},bd={key:0,class:"max-h-64 overflow-y-auto"},yd=["onClick","onMouseenter"],xd={class:"flex-1 text-left"},kd={class:"font-medium text-slate-900"},wd={key:0,class:"text-sm text-slate-500 truncate"},Cd={key:1,class:"text-xs text-slate-400 ml-3"},Bd={key:1,class:"px-4 py-3 text-sm text-slate-500 text-center"},Sd={key:2,class:"border-t border-slate-200 p-2"},hr={__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>`},r={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>`},o={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,i=e.ref(null),c=e.ref(null),f=e.ref(!1),p=e.ref(-1),v=e.ref(null),E=S=>{const P=S.target.value;s("update:modelValue",P),v.value&&clearTimeout(v.value),v.value=setTimeout(()=>{P.length>=l.minLength?(s("search",P),f.value=!0):f.value=!1},l.debounce)},y=S=>{s("focus",S),l.modelValue.length>=l.minLength&&(f.value=!0)},x=S=>{s("blur",S),setTimeout(()=>{f.value=!1,p.value=-1},150)},m=()=>{s("update:modelValue",""),s("clear"),f.value=!1,c.value?.focus()},u=S=>{s("select",S),f.value=!1,p.value=-1},d=S=>{if(!(!f.value||l.results.length===0))switch(S.key){case"ArrowDown":S.preventDefault(),p.value=Math.min(p.value+1,l.results.length-1);break;case"ArrowUp":S.preventDefault(),p.value=Math.max(p.value-1,-1);break;case"Enter":S.preventDefault(),p.value>=0&&u(l.results[p.value]);break;case"Escape":S.preventDefault(),f.value=!1,p.value=-1;break}},g=S=>{if(!l.highlightMatches||!l.modelValue||!S)return S;const P=new RegExp(`(${l.modelValue})`,"gi");return S.replace(P,"$1")},k=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"}}),V=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"}}),B=e.computed(()=>h(k({size:l.size}))),U=e.computed(()=>h(V({size:l.size}))),I=e.computed(()=>h("absolute z-50 w-full mt-1 bg-white rounded-lg shadow-lg border border-slate-200 max-h-96 overflow-hidden")),W=S=>h("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":p.value===S}),M=S=>{i.value&&!i.value.contains(S.target)&&(f.value=!1,p.value=-1)};return e.onMounted(()=>document.addEventListener("click",M)),e.onUnmounted(()=>{document.removeEventListener("click",M),v.value&&clearTimeout(v.value)}),e.watch(()=>l.results,()=>p.value=-1),(S,P)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"searchRef",ref:i,class:"relative"},[e.createElementVNode("div",dd,[e.createElementVNode("div",ud,[e.createVNode(a,{class:e.normalizeClass(U.value)},null,8,["class"])]),e.createElementVNode("input",{ref_key:"inputRef",ref:c,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,class:e.normalizeClass(B.value),onInput:E,onFocus:y,onBlur:x,onKeydown:d},null,42,md),t.modelValue||t.loading?(e.openBlock(),e.createElementBlock("div",fd,[!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:m},[e.createVNode(r,{class:"w-4 h-4"})],8,gd)):t.loading?(e.openBlock(),e.createElementBlock("div",pd,[e.createVNode(o,{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(()=>[f.value&&(t.results.length>0||t.showNoResults)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(I.value)},[t.results.length>0?(e.openBlock(),e.createElementBlock("div",vd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.results,(j,b)=>(e.openBlock(),e.createElementBlock("button",{key:j.id||b,class:e.normalizeClass(W(b)),onClick:N=>u(j),onMouseenter:N=>p.value=b},[j.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(j.icon),{key:0,class:"w-4 h-4 mr-3 flex-shrink-0"})):e.createCommentVNode("",!0),e.createElementVNode("div",bd,[e.createElementVNode("div",yd,e.toDisplayString(g(j.title)),1),j.description?(e.openBlock(),e.createElementBlock("div",xd,e.toDisplayString(g(j.description)),1)):e.createCommentVNode("",!0)]),j.category?(e.openBlock(),e.createElementBlock("div",kd,e.toDisplayString(j.category),1)):e.createCommentVNode("",!0)],42,hd))),128))])):t.showNoResults?(e.openBlock(),e.createElementBlock("div",wd,e.toDisplayString(t.noResultsText),1)):e.createCommentVNode("",!0),S.$slots.footer?(e.openBlock(),e.createElementBlock("div",Cd,[e.renderSlot(S.$slots,"footer")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3})],512))}},Bd={class:"w-full"},Sd=["min","max","step","value"],Vd={class:"flex justify-between text-xs text-slate-500 mt-1"},Qt={__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,r=o=>{a("update:modelValue",Number(o.target.value))};return(o,l)=>(e.openBlock(),e.createElementBlock("div",Bd,[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:r},null,40,Sd),e.createElementVNode("div",Vd,[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)])]))}},Ed={class:"flex items-center space-x-4"},br={__name:"Stepper",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",Ed,[e.renderSlot(n.$slots,"default")]))}},Nd={class:"flex items-center"},$d={class:"ml-2"},zd={class:"font-medium"},Dd={key:0,class:"text-sm text-slate-400"},yr={__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",Nd,[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",$d,[e.createElementVNode("div",zd,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",Dd,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)])]))}},Td={class:"w-full"},Ad={class:"flex space-x-1 border-b border-slate-200",role:"tablist"},Fd=["id","disabled","aria-selected","aria-controls","onClick"],Id={class:"mt-4"},xr={__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,r=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"}}),o=e.ref(a.defaultIndex),l=e.ref([]),s=c=>{o.value=c,i("tab-change",c)},i=n;return e.provide("tabsContext",{activeIndex:o,tabs:l,registerTab:c=>(l.value.push({label:c}),l.value.length-1),unregisterTab:c=>{l.value.splice(c,1)}}),(c,f)=>(e.openBlock(),e.createElementBlock("div",Td,[e.createElementVNode("div",Ad,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(p,v)=>(e.openBlock(),e.createElementBlock("button",{id:`tab-${v}`,key:v,disabled:a.loading,class:e.normalizeClass(e.unref(h)(e.unref(r)({size:a.size,variant:a.variant}),o.value===v?"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":o.value===v,"aria-controls":`panel-${v}`,role:"tab",onClick:E=>!a.loading&&s(v)},e.toDisplayString(p.label),11,Fd))),128))]),e.createElementVNode("div",Id,[e.renderSlot(c.$slots,"default")])]))}},Pd=["id","aria-labelledby"],jd={key:0,class:"flex items-center justify-center p-8"},kr={__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 r=e.ref(null),o=e.ref(!1);return e.onMounted(()=>{r.value=a.registerTab(n.label),o.value=a.activeIndex.value===r.value,e.watch(a.activeIndex,l=>{o.value=l===r.value})}),e.onUnmounted(()=>{r.value!==null&&a.unregisterTab(r.value)}),(l,s)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{id:`panel-${r.value}`,role:"tabpanel","aria-labelledby":`tab-${r.value}`},[t.loading?(e.openBlock(),e.createElementBlock("div",jd,[e.createVNode(ot,{size:"lg",label:`Loading ${n.label}`},null,8,["label"])])):e.renderSlot(l.$slots,"default",{key:1})],8,Pd)),[[e.vShow,o.value]])}},Ld=["id","aria-expanded","aria-controls","onClick"],Od={class:"flex items-center flex-1 min-w-0"},Md={key:0},Rd=["id","aria-labelledby"],_d={key:0},wr={__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,i=e.ref(null),c=e.ref(null),f=e.ref(!1),p=e.ref(-1),v=e.ref(null),E=S=>{const P=S.target.value;s("update:modelValue",P),v.value&&clearTimeout(v.value),v.value=setTimeout(()=>{P.length>=l.minLength?(s("search",P),f.value=!0):f.value=!1},l.debounce)},y=S=>{s("focus",S),l.modelValue.length>=l.minLength&&(f.value=!0)},x=S=>{s("blur",S),setTimeout(()=>{f.value=!1,p.value=-1},150)},m=()=>{s("update:modelValue",""),s("clear"),f.value=!1,c.value?.focus()},u=S=>{s("select",S),f.value=!1,p.value=-1},d=S=>{if(!(!f.value||l.results.length===0))switch(S.key){case"ArrowDown":S.preventDefault(),p.value=Math.min(p.value+1,l.results.length-1);break;case"ArrowUp":S.preventDefault(),p.value=Math.max(p.value-1,-1);break;case"Enter":S.preventDefault(),p.value>=0&&u(l.results[p.value]);break;case"Escape":S.preventDefault(),f.value=!1,p.value=-1;break}},g=S=>{if(!l.highlightMatches||!l.modelValue||!S)return S;const P=new RegExp(`(${l.modelValue})`,"gi");return S.replace(P,"$1")},k=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"}}),V=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"}}),B=e.computed(()=>h(k({size:l.size}))),U=e.computed(()=>h(V({size:l.size}))),I=e.computed(()=>h("absolute z-50 w-full mt-1 bg-white rounded-lg shadow-lg border border-slate-200 max-h-96 overflow-hidden")),W=S=>h("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":p.value===S}),M=S=>{i.value&&!i.value.contains(S.target)&&(f.value=!1,p.value=-1)};return e.onMounted(()=>document.addEventListener("click",M)),e.onUnmounted(()=>{document.removeEventListener("click",M),v.value&&clearTimeout(v.value)}),e.watch(()=>l.results,()=>p.value=-1),(S,P)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"searchRef",ref:i,class:"relative"},[e.createElementVNode("div",md,[e.createElementVNode("div",fd,[e.createVNode(a,{class:e.normalizeClass(U.value)},null,8,["class"])]),e.createElementVNode("input",{ref_key:"inputRef",ref:c,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,class:e.normalizeClass(B.value),onInput:E,onFocus:y,onBlur:x,onKeydown:d},null,42,gd),t.modelValue||t.loading?(e.openBlock(),e.createElementBlock("div",pd,[!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:m},[e.createVNode(r,{class:"w-4 h-4"})],8,vd)):t.loading?(e.openBlock(),e.createElementBlock("div",hd,[e.createVNode(o,{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(()=>[f.value&&(t.results.length>0||t.showNoResults)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(I.value)},[t.results.length>0?(e.openBlock(),e.createElementBlock("div",bd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.results,(j,b)=>(e.openBlock(),e.createElementBlock("button",{key:j.id||b,class:e.normalizeClass(W(b)),onClick:N=>u(j),onMouseenter:N=>p.value=b},[j.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(j.icon),{key:0,class:"w-4 h-4 mr-3 flex-shrink-0"})):e.createCommentVNode("",!0),e.createElementVNode("div",xd,[e.createElementVNode("div",kd,e.toDisplayString(g(j.title)),1),j.description?(e.openBlock(),e.createElementBlock("div",wd,e.toDisplayString(g(j.description)),1)):e.createCommentVNode("",!0)]),j.category?(e.openBlock(),e.createElementBlock("div",Cd,e.toDisplayString(j.category),1)):e.createCommentVNode("",!0)],42,yd))),128))])):t.showNoResults?(e.openBlock(),e.createElementBlock("div",Bd,e.toDisplayString(t.noResultsText),1)):e.createCommentVNode("",!0),S.$slots.footer?(e.openBlock(),e.createElementBlock("div",Sd,[e.renderSlot(S.$slots,"footer")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3})],512))}},Vd={class:"w-full"},Ed=["min","max","step","value"],Nd={class:"flex justify-between text-xs text-slate-500 mt-1"},Qt={__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,r=o=>{a("update:modelValue",Number(o.target.value))};return(o,l)=>(e.openBlock(),e.createElementBlock("div",Vd,[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:r},null,40,Ed),e.createElementVNode("div",Nd,[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)])]))}},$d={class:"flex items-center space-x-4"},br={__name:"Stepper",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",$d,[e.renderSlot(n.$slots,"default")]))}},zd={class:"flex items-center"},Dd={class:"ml-2"},Td={class:"font-medium"},Ad={key:0,class:"text-sm text-slate-400"},yr={__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",zd,[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",Dd,[e.createElementVNode("div",Td,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",Ad,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)])]))}},Fd={class:"w-full"},Id={class:"flex space-x-1 border-b border-slate-200",role:"tablist"},Pd=["id","disabled","aria-selected","aria-controls","onClick"],jd={class:"mt-4"},xr={__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,r=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"}}),o=e.ref(a.defaultIndex),l=e.ref([]),s=c=>{o.value=c,i("tab-change",c)},i=n;return e.provide("tabsContext",{activeIndex:o,tabs:l,registerTab:c=>(l.value.push({label:c}),l.value.length-1),unregisterTab:c=>{l.value.splice(c,1)}}),(c,f)=>(e.openBlock(),e.createElementBlock("div",Fd,[e.createElementVNode("div",Id,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(p,v)=>(e.openBlock(),e.createElementBlock("button",{id:`tab-${v}`,key:v,disabled:a.loading,class:e.normalizeClass(e.unref(h)(e.unref(r)({size:a.size,variant:a.variant}),o.value===v?"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":o.value===v,"aria-controls":`panel-${v}`,role:"tab",onClick:E=>!a.loading&&s(v)},e.toDisplayString(p.label),11,Pd))),128))]),e.createElementVNode("div",jd,[e.renderSlot(c.$slots,"default")])]))}},Ld=["id","aria-labelledby"],Od={key:0,class:"flex items-center justify-center p-8"},kr={__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 r=e.ref(null),o=e.ref(!1);return e.onMounted(()=>{r.value=a.registerTab(n.label),o.value=a.activeIndex.value===r.value,e.watch(a.activeIndex,l=>{o.value=l===r.value})}),e.onUnmounted(()=>{r.value!==null&&a.unregisterTab(r.value)}),(l,s)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{id:`panel-${r.value}`,role:"tabpanel","aria-labelledby":`tab-${r.value}`},[t.loading?(e.openBlock(),e.createElementBlock("div",Od,[e.createVNode(ot,{size:"lg",label:`Loading ${n.label}`},null,8,["label"])])):e.renderSlot(l.$slots,"default",{key:1})],8,Ld)),[[e.vShow,o.value]])}},Md=["id","aria-expanded","aria-controls","onClick"],Rd={class:"flex items-center flex-1 min-w-0"},_d={key:0},qd=["id","aria-labelledby"],Ud={key:0},wr={__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
- `},r=t,o=n,l=e.ref(r.multiple?Array.isArray(r.modelValue)?[...r.modelValue]:[]:typeof r.modelValue=="number"?[r.modelValue]:[]),s=g=>{if(!(r.disabled||r.items[g]?.disabled)){if(r.multiple){const k=l.value.indexOf(g);k>-1?l.value.splice(k,1):l.value.push(g),o("update:modelValue",[...l.value])}else{const k=l.value.includes(g)?null:g;l.value=k!==null?[k]:[],o("update:modelValue",k)}o("change",{index:g,expanded:l.value.includes(g)})}},i=g=>l.value.includes(g),c=z.cva("w-full",{variants:{variant:{default:"space-y-1",bordered:"space-y-3",filled:"space-y-3",flush:"divide-y divide-slate-200"}}}),f=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:""}}}),p=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"}}}),v=z.cva("ml-4 flex-shrink-0 text-slate-400 transition-all duration-200",{variants:{expanded:{true:"rotate-180 text-blue-500",false:""}}}),E=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"}}}),y=e.computed(()=>h(c({variant:r.variant}))),x=e.computed(()=>h(f({variant:r.variant}))),m=g=>h(p({variant:r.variant,size:r.size}),i(g)&&r.variant==="bordered"&&"bg-blue-50/30 border-blue-300",i(g)&&r.variant==="filled"&&"bg-white",i(g)&&r.variant==="default"&&"bg-slate-50",(r.disabled||r.items[g]?.disabled)&&"cursor-not-allowed opacity-50"),u=g=>h(v({expanded:i(g)})),d=e.computed(()=>h(E({size:r.size})));return e.watch(()=>r.modelValue,g=>{r.multiple?l.value=Array.isArray(g)?[...g]:[]:l.value=typeof g=="number"?[g]:[]}),(g,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(y.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(V,B)=>(e.openBlock(),e.createElementBlock("div",{key:V.id||B,class:e.normalizeClass(x.value)},[e.createElementVNode("button",{id:`header-${V.id||B}`,class:e.normalizeClass(m(B)),"aria-expanded":i(B),"aria-controls":`panel-${V.id||B}`,onClick:U=>s(B)},[e.createElementVNode("div",Od,[e.renderSlot(g.$slots,`header-${B}`,{item:V,index:B,isExpanded:i(B)},()=>[V.title?(e.openBlock(),e.createElementBlock("div",Md,e.toDisplayString(V.title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(u(B))},[e.createVNode(a,{class:"w-5 h-5 transition-transform duration-200"})],2)],10,Ld),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(()=>[i(B)?(e.openBlock(),e.createElementBlock("div",{key:0,id:`panel-${V.id||B}`,class:e.normalizeClass(d.value),"aria-labelledby":`header-${V.id||B}`,role:"region"},[e.renderSlot(g.$slots,`content-${B}`,{item:V,index:B},()=>[e.renderSlot(g.$slots,"content",{item:V,index:B},()=>[V.content?(e.openBlock(),e.createElementBlock("div",_d,e.toDisplayString(V.content),1)):e.createCommentVNode("",!0)])])],10,Rd)):e.createCommentVNode("",!0)]),_:2},1024)],2))),128))],2))}},Cr={__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
+ `},r=t,o=n,l=e.ref(r.multiple?Array.isArray(r.modelValue)?[...r.modelValue]:[]:typeof r.modelValue=="number"?[r.modelValue]:[]),s=g=>{if(!(r.disabled||r.items[g]?.disabled)){if(r.multiple){const k=l.value.indexOf(g);k>-1?l.value.splice(k,1):l.value.push(g),o("update:modelValue",[...l.value])}else{const k=l.value.includes(g)?null:g;l.value=k!==null?[k]:[],o("update:modelValue",k)}o("change",{index:g,expanded:l.value.includes(g)})}},i=g=>l.value.includes(g),c=z.cva("w-full",{variants:{variant:{default:"space-y-1",bordered:"space-y-3",filled:"space-y-3",flush:"divide-y divide-slate-200"}}}),f=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:""}}}),p=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"}}}),v=z.cva("ml-4 flex-shrink-0 text-slate-400 transition-all duration-200",{variants:{expanded:{true:"rotate-180 text-blue-500",false:""}}}),E=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"}}}),y=e.computed(()=>h(c({variant:r.variant}))),x=e.computed(()=>h(f({variant:r.variant}))),m=g=>h(p({variant:r.variant,size:r.size}),i(g)&&r.variant==="bordered"&&"bg-blue-50/30 border-blue-300",i(g)&&r.variant==="filled"&&"bg-white",i(g)&&r.variant==="default"&&"bg-slate-50",(r.disabled||r.items[g]?.disabled)&&"cursor-not-allowed opacity-50"),u=g=>h(v({expanded:i(g)})),d=e.computed(()=>h(E({size:r.size})));return e.watch(()=>r.modelValue,g=>{r.multiple?l.value=Array.isArray(g)?[...g]:[]:l.value=typeof g=="number"?[g]:[]}),(g,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(y.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(V,B)=>(e.openBlock(),e.createElementBlock("div",{key:V.id||B,class:e.normalizeClass(x.value)},[e.createElementVNode("button",{id:`header-${V.id||B}`,class:e.normalizeClass(m(B)),"aria-expanded":i(B),"aria-controls":`panel-${V.id||B}`,onClick:U=>s(B)},[e.createElementVNode("div",Rd,[e.renderSlot(g.$slots,`header-${B}`,{item:V,index:B,isExpanded:i(B)},()=>[V.title?(e.openBlock(),e.createElementBlock("div",_d,e.toDisplayString(V.title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(u(B))},[e.createVNode(a,{class:"w-5 h-5 transition-transform duration-200"})],2)],10,Md),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(()=>[i(B)?(e.openBlock(),e.createElementBlock("div",{key:0,id:`panel-${V.id||B}`,class:e.normalizeClass(d.value),"aria-labelledby":`header-${V.id||B}`,role:"region"},[e.renderSlot(g.$slots,`content-${B}`,{item:V,index:B},()=>[e.renderSlot(g.$slots,"content",{item:V,index:B},()=>[V.content?(e.openBlock(),e.createElementBlock("div",Ud,e.toDisplayString(V.content),1)):e.createCommentVNode("",!0)])])],10,qd)):e.createCommentVNode("",!0)]),_:2},1024)],2))),128))],2))}},Cr={__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,r=e.ref(!1),o=()=>r.value=!r.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"}}}),i=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"}}}),c=e.computed(()=>h(l({variant:a.variant}))),f=e.computed(()=>h(s({size:a.size}))),p=e.computed(()=>h(i({size:a.size})));return(v,E)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value)},[e.createVNode(Z,{class:e.normalizeClass(f.value),"aria-expanded":r.value,onClick:o},{default:e.withCtx(()=>[e.renderSlot(v.$slots,"header",{isOpen:r.value}),e.createVNode(n,{class:e.normalizeClass(e.unref(h)("w-5 h-5 transition-transform ml-2",{"rotate-180":r.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(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(p.value)},[e.renderSlot(v.$slots,"content",{isOpen:r.value})],2)):e.createCommentVNode("",!0)]),_:3})],2))}},qd={class:"relative w-full"},Ud={class:"relative"},Wd=["id","value","disabled","placeholder","required","aria-describedby"],Yd={class:"flex items-center justify-between mb-3"},Hd={class:"text-sm font-medium"},Gd={class:"grid grid-cols-7 gap-1 mb-2"},Xd={class:"grid grid-cols-7 gap-1"},Kd=["disabled","onClick"],Jd={key:0,class:"mt-4 pt-3 border-t border-slate-200"},Br={__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,r=n,o=e.ref(!1),l=new Date,s=e.ref(l.getMonth()),i=e.ref(l.getFullYear()),c=e.ref(null),f=["Su","Mo","Tu","We","Th","Fr","Sa"],p=e.computed(()=>new Date(i.value,s.value).toLocaleString("default",{month:"long"})),v=e.computed(()=>new Date(i.value,s.value+1,0).getDate()),E=e.computed(()=>new Date(i.value,s.value,1).getDay()),y=e.computed(()=>{const j=new Date(i.value,s.value,0).getDate(),b=E.value;return Array.from({length:b},(N,F)=>j-b+F+1)}),x=e.computed(()=>{const j=y.value.length+v.value,b=j%7===0?0:7-j%7;return Array.from({length:b},(N,F)=>F+1)}),m=e.computed(()=>c.value?u(c.value):"");function u(j){if(!j)return"";const b=new Date(j),N=String(b.getMonth()+1).padStart(2,"0"),F=String(b.getDate()).padStart(2,"0"),Y=b.getFullYear();return a.format.replace("MM",N).replace("DD",F).replace("YYYY",Y)}function d(j){if(!j)return null;if(j instanceof Date)return j;const b=new Date(j);return isNaN(b.getTime())?null:b}function g(j){if(!c.value)return!1;const b=new Date(c.value);return b.getDate()===j&&b.getMonth()===s.value&&b.getFullYear()===i.value}function k(j){const b=new Date(i.value,s.value,j);if(a.min){const N=d(a.min);if(N&&b<N)return!0}if(a.max){const N=d(a.max);if(N&&b>N)return!0}return!1}function V(){a.disabled||(o.value=!o.value)}function B(){o.value=!1}function U(){s.value===0?(s.value=11,i.value--):s.value--}function I(){s.value===11?(s.value=0,i.value++):s.value++}function W(j){if(k(j))return;const b=new Date(i.value,s.value,j);c.value=b,r("update:modelValue",b.toISOString().split("T")[0]),o.value=!1}function M(){s.value=l.getMonth(),i.value=l.getFullYear(),W(l.getDate())}function S(){c.value=null,r("update:modelValue","")}e.watch(()=>a.modelValue,j=>{if(j){const b=d(j);b&&(c.value=b,s.value=b.getMonth(),i.value=b.getFullYear())}else c.value=null},{immediate:!0});function P(j){j.key==="Escape"&&o.value&&B()}return e.onMounted(()=>{document.addEventListener("keydown",P)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",P)}),(j,b)=>(e.openBlock(),e.createElementBlock("div",qd,[e.createElementVNode("div",Ud,[e.createElementVNode("input",{id:t.id,type:"text",value:m.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:V},null,8,Wd),b[2]||(b[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&&m.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(S,["stop"])},[...b[1]||(b[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(()=>[o.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:b[0]||(b[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Yd,[e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-gray-100 rounded","aria-label":"Previous Month",onClick:U},[...b[3]||(b[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",Hd,e.toDisplayString(p.value)+" "+e.toDisplayString(i.value),1),e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-gray-100 rounded","aria-label":"Next Month",onClick:I},[...b[4]||(b[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",Gd,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(f,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",Xd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(N,F)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+F,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(v.value,N=>(e.openBlock(),e.createElementBlock("button",{key:N,type:"button",disabled:k(N),class:e.normalizeClass(["w-8 h-8 text-sm rounded flex items-center justify-center",g(N)?"bg-blue-500 text-white":"hover:bg-gray-100",k(N)?"text-gray-300 cursor-not-allowed":""]),onClick:F=>W(N)},e.toDisplayString(N),11,Kd))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(N,F)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+F,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(N),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",Jd,[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:M}," Today ")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-[99998]",onClick:B})):e.createCommentVNode("",!0)]))}},Qd={class:"flex items-start justify-between"},Zd={class:"flex-1 min-w-0"},eu={key:0,class:"flex-shrink-0 ml-4"},tu="text-lg font-semibold text-slate-900 truncate",au="text-sm text-slate-600 mt-1",Sr={__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"}}}),r=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"}}}),o=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(i,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(h)(e.unref(n)({variant:t.variant,padding:t.padding})))},[i.$slots.header||t.title||t.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(h)(e.unref(a)({padding:t.padding})))},[e.renderSlot(i.$slots,"header",{},()=>[e.createElementVNode("div",Qd,[e.createElementVNode("div",Zd,[t.title?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(tu)},e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(au)},e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),i.$slots.actions?(e.openBlock(),e.createElementBlock("div",eu,[e.renderSlot(i.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),i.$slots.filters?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(h)(e.unref(r)({padding:t.padding})))},[e.renderSlot(i.$slots,"filters")],2)):e.createCommentVNode("",!0),i.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(h)(e.unref(o)({padding:t.padding})))},[e.renderSlot(i.$slots,"default")],2)):e.createCommentVNode("",!0),i.$slots.legend?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(h)(e.unref(l)({padding:t.padding})))},[e.renderSlot(i.$slots,"legend")],2)):e.createCommentVNode("",!0),i.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(e.unref(h)(e.unref(s)({padding:t.padding})))},[e.renderSlot(i.$slots,"footer")],2)):e.createCommentVNode("",!0)],2))}},nu={class:"w-full h-full"},ru=["width","height","viewBox"],ou={key:0},lu=["x1","y1","x2","y2","stroke"],su=["x","y","width","height","fill","onMouseenter"],iu={key:1},cu=["x","y"],du={key:2},uu=["x","y"],mu={key:3},fu=["x","y","width","height","fill","stroke"],gu=["x","y"],Vr={__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,r=n,o=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),i=e.computed(()=>(a.width-a.padding.left-a.padding.right)/a.data.length*.2),c=e.computed(()=>{const u=[],d=a.height-a.padding.top-a.padding.bottom,g=5;for(let k=0;k<=g;k++){const V=a.padding.top+d/g*k;u.push(V)}return u}),f=u=>a.padding.left+u*(s.value+i.value)+i.value/2,p=u=>{const d=a.height-a.padding.top-a.padding.bottom,g=d/l.value;return a.padding.top+d-u*g},v=u=>{const g=(a.height-a.padding.top-a.padding.bottom)/l.value;return u*g},E=u=>a.colors[u%a.colors.length],y=u=>{const d=a.height-a.padding.top-a.padding.bottom,g=(a.height-a.padding.bottom-u)/d*l.value;return Math.round(g)},x=(u,d,g)=>{const k=u.target.getBoundingClientRect(),V=a.labels[g]||`Item ${g+1}`;o.value={visible:!0,x:k.left+k.width/2,y:k.top,width:80,height:24,content:`${V}: ${d}`},r("bar-hover",{value:d,index:g,label:V})},m=()=>{o.value.visible=!1};return(u,d)=>(e.openBlock(),e.createElementBlock("div",nu,[(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",ou,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,g=>(e.openBlock(),e.createElementBlock("line",{key:`grid-${g}`,x1:t.padding.left,y1:g,x2:t.width-t.padding.right,y2:g,stroke:t.gridColor,"stroke-width":"1","stroke-dasharray":"2,2"},null,8,lu))),128))])):e.createCommentVNode("",!0),e.createElementVNode("g",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,(g,k)=>(e.openBlock(),e.createElementBlock("rect",{key:`bar-${k}`,x:f(k),y:p(g),width:s.value,height:v(g),fill:E(k),class:e.normalizeClass(t.barClasses),onMouseenter:V=>x(V,g,k),onMouseleave:m},null,42,su))),128))]),t.showXAxis?(e.openBlock(),e.createElementBlock("g",iu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.labels,(g,k)=>(e.openBlock(),e.createElementBlock("text",{key:`xlabel-${k}`,x:f(k)+s.value/2,y:t.height-t.padding.bottom+20,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"middle"},e.toDisplayString(g),11,cu))),128))])):e.createCommentVNode("",!0),t.showYAxis?(e.openBlock(),e.createElementBlock("g",du,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,g=>(e.openBlock(),e.createElementBlock("text",{key:`ylabel-${g}`,x:t.padding.left-10,y:g+4,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"end"},e.toDisplayString(y(g)),11,uu))),128))])):e.createCommentVNode("",!0),o.value.visible?(e.openBlock(),e.createElementBlock("g",mu,[e.createElementVNode("rect",{x:o.value.x-o.value.width/2,y:o.value.y-o.value.height-10,width:o.value.width,height:o.value.height,fill:t.tooltipBackground,stroke:t.tooltipBorder,"stroke-width":"1",rx:"4"},null,8,fu),e.createElementVNode("text",{x:o.value.x,y:o.value.y-o.value.height/2-2,class:e.normalizeClass(t.tooltipTextClasses),"text-anchor":"middle"},e.toDisplayString(o.value.content),11,gu)])):e.createCommentVNode("",!0)],8,ru))]))}},pu={class:"w-full h-full"},vu=["width","height","viewBox"],hu={key:0},bu=["x1","y1","x2","y2","stroke"],yu=["d","stroke","stroke-width"],xu={key:1},ku=["cx","cy","r","fill","stroke","onMouseenter"],wu=["d","fill","fill-opacity"],Cu={key:3},Bu=["x","y"],Su={key:4},Vu=["x","y"],Eu={key:5},Nu=["x","y","width","height","fill","stroke"],$u=["x","y"],Er={__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,r=n,o=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((m,u)=>({x:p(u),y:v(m),value:m}))),i=e.computed(()=>s.value.length===0?"":s.value.map((u,d)=>`${d===0?"M":"L"} ${u.x} ${u.y}`).join(" ")),c=e.computed(()=>{if(s.value.length===0)return"";const m=s.value.map((g,k)=>`${k===0?"M":"L"} ${g.x} ${g.y}`).join(" "),u=a.height-a.padding.bottom,d=`L ${s.value[s.value.length-1].x} ${u} L ${s.value[0].x} ${u} Z`;return m+" "+d}),f=e.computed(()=>{const m=[],u=a.height-a.padding.top-a.padding.bottom,d=5;for(let g=0;g<=d;g++){const k=a.padding.top+u/d*g;m.push(k)}return m}),p=m=>{const d=(a.width-a.padding.left-a.padding.right)/(a.data.length-1||1);return a.padding.left+m*d},v=m=>{const u=a.height-a.padding.top-a.padding.bottom,d=u/l.value;return a.padding.top+u-m*d},E=m=>{const u=a.height-a.padding.top-a.padding.bottom,d=(a.height-a.padding.bottom-m)/u*l.value;return Math.round(d)},y=(m,u,d)=>{const g=m.target.getBoundingClientRect(),k=a.labels[d]||`Point ${d+1}`;o.value={visible:!0,x:g.left+g.width/2,y:g.top,width:80,height:24,content:`${k}: ${u}`},r("point-hover",{value:u,index:d,label:k})},x=()=>{o.value.visible=!1};return(m,u)=>(e.openBlock(),e.createElementBlock("div",pu,[(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",hu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,d=>(e.openBlock(),e.createElementBlock("line",{key:`grid-${d}`,x1:t.padding.left,y1:d,x2:t.width-t.padding.right,y2:d,stroke:t.gridColor,"stroke-width":"1","stroke-dasharray":"2,2"},null,8,bu))),128))])):e.createCommentVNode("",!0),e.createElementVNode("path",{d:i.value,stroke:t.lineColor,"stroke-width":t.strokeWidth,fill:"none",class:e.normalizeClass(t.lineClasses)},null,10,yu),t.showPoints?(e.openBlock(),e.createElementBlock("g",xu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(d,g)=>(e.openBlock(),e.createElementBlock("circle",{key:`point-${g}`,cx:d.x,cy:d.y,r:t.pointRadius,fill:t.pointColor,stroke:t.lineColor,"stroke-width":2,class:e.normalizeClass(t.pointClasses),onMouseenter:k=>y(k,d.value,g),onMouseleave:x},null,42,ku))),128))])):e.createCommentVNode("",!0),t.fillArea?(e.openBlock(),e.createElementBlock("path",{key:2,d:c.value,fill:t.fillColor,"fill-opacity":t.fillOpacity},null,8,wu)):e.createCommentVNode("",!0),t.showXAxis?(e.openBlock(),e.createElementBlock("g",Cu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.labels,(d,g)=>(e.openBlock(),e.createElementBlock("text",{key:`xlabel-${g}`,x:p(g),y:t.height-t.padding.bottom+20,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"middle"},e.toDisplayString(d),11,Bu))),128))])):e.createCommentVNode("",!0),t.showYAxis?(e.openBlock(),e.createElementBlock("g",Su,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,d=>(e.openBlock(),e.createElementBlock("text",{key:`ylabel-${d}`,x:t.padding.left-10,y:d+4,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"end"},e.toDisplayString(E(d)),11,Vu))),128))])):e.createCommentVNode("",!0),o.value.visible?(e.openBlock(),e.createElementBlock("g",Eu,[e.createElementVNode("rect",{x:o.value.x-o.value.width/2,y:o.value.y-o.value.height-10,width:o.value.width,height:o.value.height,fill:t.tooltipBackground,stroke:t.tooltipBorder,"stroke-width":"1",rx:"4"},null,8,Nu),e.createElementVNode("text",{x:o.value.x,y:o.value.y-o.value.height/2-2,class:e.normalizeClass(t.tooltipTextClasses),"text-anchor":"middle"},e.toDisplayString(o.value.content),11,$u)])):e.createCommentVNode("",!0)],8,vu))]))}},zu={class:"bg-white border-b border-gray-200"},Du={key:0,class:"flex items-center gap-3 min-w-64"},Tu={class:"relative flex-1"},Au={class:"relative flex-1"},Fu={key:1,class:"min-w-40"},Iu={class:"relative"},Pu={key:2,class:"min-w-40"},ju={class:"relative"},Lu=["value"],Ou={key:3,class:"flex items-center gap-2"},Mu={class:"flex items-center gap-3 ml-auto"},Ru={class:"flex items-center gap-3 flex-wrap"},_u=["onClick"],Nr={__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,r=n,o=e.ref(""),l=e.ref(""),s=e.ref("bar"),i=e.ref(""),c=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"}}),f=e.computed(()=>o.value||l.value||i.value),p=e.computed(()=>{const M=[];if(o.value||l.value){let S="";o.value&&l.value?S=`${o.value} to ${l.value}`:o.value?S=`From ${o.value}`:l.value&&(S=`Until ${l.value}`),S&&M.push({key:"date",label:"Date Range",value:S,icon:"calendar"})}if(i.value){const S=a.dataSources.find(P=>P.value===i.value);M.push({key:"dataSource",label:"Data Source",value:S?.label||i.value,icon:"database"})}return M}),v=e.computed(()=>h(c({variant:a.variant,padding:a.padding}))),E=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"),y=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"),x=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"),m=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"),u=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"),d=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),g=e.computed(()=>"text-sm font-semibold text-blue-800"),k=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"),V=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),B=M=>{s.value=M.target.value,r("update:chartType",M.target.value)},U=M=>{i.value=M.target.value,r("update:dataSource",M.target.value)},I=()=>{o.value="",l.value="",i.value="",r("clear-filters")},W=M=>{switch(M){case"date":o.value="",l.value="";break;case"dataSource":i.value="";break}};return e.watch(()=>o.value,M=>{r("update:dateFrom",M)}),e.watch(()=>l.value,M=>{r("update:dateTo",M)}),(M,S)=>(e.openBlock(),e.createElementBlock("div",zu,[e.createElementVNode("div",{class:e.normalizeClass(v.value)},[t.showDateFilter?(e.openBlock(),e.createElementBlock("div",Du,[e.createElementVNode("div",Tu,[e.createVNode(L,{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":S[0]||(S[0]=P=>o.value=P),type:"date",class:e.normalizeClass(E.value),placeholder:"From date"},null,2),[[e.vModelText,o.value]])]),S[6]||(S[6]=e.createElementVNode("span",{class:"text-gray-500 text-sm"},"to",-1)),e.createElementVNode("div",Au,[e.createVNode(L,{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":S[1]||(S[1]=P=>l.value=P),type:"date",class:e.normalizeClass(E.value),placeholder:"To date"},null,2),[[e.vModelText,l.value]])])])):e.createCommentVNode("",!0),t.showChartTypeFilter?(e.openBlock(),e.createElementBlock("div",Fu,[e.createElementVNode("div",Iu,[e.createVNode(ce,{modelValue:s.value,"onUpdate:modelValue":S[2]||(S[2]=P=>s.value=P),class:e.normalizeClass(y.value),onChange:B},{default:e.withCtx(()=>[...S[7]||(S[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(L,{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",Pu,[e.createElementVNode("div",ju,[e.createVNode(ce,{modelValue:i.value,"onUpdate:modelValue":S[3]||(S[3]=P=>i.value=P),class:e.normalizeClass(y.value),onChange:U},{default:e.withCtx(()=>[S[8]||(S[8]=e.createElementVNode("option",{value:""}," All Sources ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dataSources,P=>(e.openBlock(),e.createElementBlock("option",{key:P.value,value:P.value},e.toDisplayString(P.label),9,Lu))),128))]),_:1},8,["modelValue","class"]),e.createVNode(L,{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),M.$slots.filters?(e.openBlock(),e.createElementBlock("div",Ou,[e.renderSlot(M.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",Mu,[f.value?(e.openBlock(),e.createBlock(Z,{key:0,class:e.normalizeClass(x.value),onClick:I},{default:e.withCtx(()=>[e.createVNode(L,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),S[9]||(S[9]=e.createTextVNode(" Clear Filters ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(Z,{key:1,class:e.normalizeClass(m.value),onClick:S[4]||(S[4]=P=>M.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(L,{icon:"download",class:"w-4 h-4 mr-2"}),S[10]||(S[10]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createBlock(Z,{key:2,class:e.normalizeClass(u.value),onClick:S[5]||(S[5]=P=>M.$emit("refresh"))},{default:e.withCtx(()=>[e.createVNode(L,{icon:"sync",class:"w-4 h-4 mr-2"}),S[11]||(S[11]=e.createTextVNode(" Refresh ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0)])],2),p.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(d.value)},[e.createElementVNode("div",Ru,[e.createElementVNode("span",{class:e.normalizeClass(g.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,P=>(e.openBlock(),e.createElementBlock("div",{key:P.key,class:e.normalizeClass(k.value)},[e.createVNode(L,{icon:P.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(P.label)+": "+e.toDisplayString(P.value),1),e.createElementVNode("button",{class:e.normalizeClass(V.value),onClick:j=>W(P.key)},[e.createVNode(L,{icon:"xmark",class:"w-3 h-3"})],10,_u)],2))),128))])],2)):e.createCommentVNode("",!0)]))}},qu={class:"flex items-start justify-between"},Uu={key:0,class:"flex items-center gap-2"},Zt={__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"}}),r=z.cva("font-semibold text-slate-900",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),o=z.cva("text-slate-600 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),l=e.computed(()=>h(a({variant:n.variant,padding:n.padding}))),s=e.computed(()=>h(r({size:"md"}))),i=e.computed(()=>h(o({size:"md"})));return(c,f)=>t.title||t.description||c.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(l.value)},[e.renderSlot(c.$slots,"header",{},()=>[e.createElementVNode("div",qu,[e.createElementVNode("div",null,[t.title?(e.openBlock(),e.createBlock(Qe,{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(Qe,{key:1,class:e.normalizeClass(i.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.description),1)]),_:1},8,["class"])):e.createCommentVNode("",!0)]),c.$slots.filters?(e.openBlock(),e.createElementBlock("div",Uu,[e.renderSlot(c.$slots,"filters")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)}},ea={__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,r=n,o=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=m=>typeof m=="string"?m:m?.key||m?.field||"unknown",i=(m,u)=>{const d=s(u);return typeof u=="object"&&u.accessor?u.accessor(m):d&&d.includes(".")?d.split(".").reduce((g,k)=>g?.[k],m):m?.[d]},c=(m,u)=>{const d=i(m,u);return typeof u=="object"&&u.formatter?u.formatter(d,m):d==null?"":d instanceof Date?d.toLocaleDateString():Array.isArray(d)?d.join(", "):d},f=()=>{a.clickableRows&&r("row-click",{item:a.item,index:a.index})},p=m=>typeof m=="object"&&m.align?m.align:"left",v=e.computed(()=>h(o({striped:a.striped,hoverable:a.hoverable&&!a.clickableRows,clickable:a.clickableRows,selected:a.isSelected,variant:a.variant}))),E=m=>{const u=p(m);return h(l({density:a.density,align:u}),m.cellClasses)},y=e.computed(()=>h(l({density:a.density}),"w-12")),x=e.computed(()=>h(l({density:a.density,align:"right"}),"font-medium"));return(m,u)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(v.value),onClick:f},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(y.value)},[e.createVNode(rt,{"model-value":t.isSelected,"onUpdate:modelValue":u[0]||(u[0]=d=>m.$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,d=>(e.openBlock(),e.createElementBlock("td",{key:s(d),class:e.normalizeClass(E(d))},[e.renderSlot(m.$slots,`cell-${s(d)}`,{item:t.item,value:i(t.item,d),column:d,index:t.index},()=>[e.createTextVNode(e.toDisplayString(c(t.item,d)),1)])],2))),128)),m.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(x.value)},[e.renderSlot(m.$slots,"actions",{item:t.item,index:t.index})],2)):e.createCommentVNode("",!0)],2))}},Wu={class:"flex items-center justify-between"},Yu={key:0,class:"text-sm text-slate-600"},Hu={key:1,class:"text-sm text-slate-600"},Gu={key:2,class:"flex items-center gap-4"},Xu={key:3,class:"flex items-center gap-4"},Ku={class:"flex items-center gap-2"},Ju={class:"flex items-center gap-1"},Qu=["disabled"],Zu=["disabled"],em={class:"flex items-center gap-1"},tm=["onClick"],am=["disabled"],nm=["disabled"],rm={class:"text-sm text-slate-600 ml-4"},ta={__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"}}),r=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"}}),o=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),i=e.computed(()=>Math.min(n.currentPage*n.pageSize,n.total)),c=e.computed(()=>{const y=[],x=n.totalPages,m=n.currentPage,u=n.maxVisiblePages;if(x<=u)for(let d=1;d<=x;d++)y.push(d);else{const d=Math.floor(u/2);let g=Math.max(1,m-d),k=Math.min(x,g+u-1);k-g+1<u&&(g=Math.max(1,k-u+1));for(let V=g;V<=k;V++)y.push(V)}return y}),f=e.computed(()=>h(a({variant:n.variant,padding:n.padding}))),p=e.computed(()=>h(o({size:"md"}))),v=e.computed(()=>h(l({size:"sm"}))),E=(y,x)=>{let m="inactive";return x?m="disabled":y&&(m="active"),h(r({state:m,size:"md"}))};return(y,x)=>t.showPagination||y.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(f.value)},[e.createElementVNode("div",Wu,[t.selectable&&t.selectedCount>0?(e.openBlock(),e.createElementBlock("div",Yu,e.toDisplayString(t.selectedCount)+" of "+e.toDisplayString(t.total)+" selected ",1)):(e.openBlock(),e.createElementBlock("div",Hu," Showing "+e.toDisplayString(s.value)+" to "+e.toDisplayString(i.value)+" of "+e.toDisplayString(t.total)+" entries ",1)),y.$slots.footer?(e.openBlock(),e.createElementBlock("div",Gu,[e.renderSlot(y.$slots,"footer")])):e.createCommentVNode("",!0),t.showPagination?(e.openBlock(),e.createElementBlock("div",Xu,[e.createElementVNode("div",Ku,[e.createVNode(lt,{for:"pageSize",class:e.normalizeClass(p.value),inline:!0},{default:e.withCtx(()=>[...x[5]||(x[5]=[e.createTextVNode("Show:",-1)])]),_:1},8,["class"]),e.createVNode(ce,{id:"pageSize","model-value":t.pageSize.toString(),class:e.normalizeClass(v.value),"onUpdate:modelValue":x[0]||(x[0]=m=>y.$emit("update:pageSize",parseInt(m)))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizeOptions,m=>(e.openBlock(),e.createBlock(Gt,{key:m,value:m.toString(),label:m.toString()},null,8,["value","label"]))),128))]),_:1},8,["model-value","class"])]),e.createElementVNode("div",Ju,[e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass(E(!1,t.currentPage===1)),title:"First page",onClick:x[1]||(x[1]=m=>y.$emit("update:currentPage",1))},[...x[6]||(x[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,Qu),e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass(E(!1,t.currentPage===1)),title:"Previous page",onClick:x[2]||(x[2]=m=>y.$emit("update:currentPage",t.currentPage-1))},[...x[7]||(x[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,Zu),e.createElementVNode("div",em,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,m=>(e.openBlock(),e.createElementBlock("button",{key:m,class:e.normalizeClass(E(m===t.currentPage,!1)),onClick:u=>y.$emit("update:currentPage",m)},e.toDisplayString(m),11,tm))),128))]),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass(E(!1,t.currentPage===t.totalPages)),title:"Next page",onClick:x[3]||(x[3]=m=>y.$emit("update:currentPage",t.currentPage+1))},[...x[8]||(x[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,am),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass(E(!1,t.currentPage===t.totalPages)),title:"Last page",onClick:x[4]||(x[4]=m=>y.$emit("update:currentPage",t.totalPages))},[...x[9]||(x[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,nm)]),e.createElementVNode("div",rm," Page "+e.toDisplayString(t.currentPage)+" of "+e.toDisplayString(t.totalPages),1)])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)}},it=(t,n)=>{const a=t.__vccOpts||t;for(const[r,o]of n)a[r]=o;return a},om={key:0,class:"loader__backdrop"},lm={class:"loader__container"},sm={key:0,class:"loader__text loader__text--top"},im={key:1,class:"loader__spin"},cm={key:2,class:"loader__pulse"},dm={key:3,class:"loader__bounce"},um={key:4,class:"loader__ripple"},mm={key:5,class:"loader__bars"},fm={key:6,class:"loader__dots"},gm={key:7,class:"loader__ring"},pm={key:8,class:"loader__spinner-text"},vm={key:9,class:"loader__text loader__text--bottom"},hm={__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",om)):e.createCommentVNode("",!0),e.createElementVNode("div",lm,[t.text&&t.textPosition==="top"?(e.openBlock(),e.createElementBlock("div",sm,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0),t.type==="spin"?(e.openBlock(),e.createElementBlock("div",im)):t.type==="pulse"?(e.openBlock(),e.createElementBlock("div",cm)):t.type==="bounce"?(e.openBlock(),e.createElementBlock("div",dm,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,r=>e.createElementVNode("div",{key:r,class:"loader__bounce-dot",style:e.normalizeStyle({animationDelay:`${(r-1)*.1}s`})},null,4)),64))])):t.type==="ripple"?(e.openBlock(),e.createElementBlock("div",um,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(2,r=>e.createElementVNode("div",{key:r,class:"loader__ripple-ring",style:e.normalizeStyle({animationDelay:`${(r-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,r=>e.createElementVNode("div",{key:r,class:"loader__bar",style:e.normalizeStyle({animationDelay:`${(r-1)*.1}s`})},null,4)),64))])):t.type==="dots"?(e.openBlock(),e.createElementBlock("div",fm,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,r=>e.createElementVNode("div",{key:r,class:"loader__dot",style:e.normalizeStyle({animationDelay:`${(r-1)*.16}s`})},null,4)),64))])):t.type==="ring"?(e.openBlock(),e.createElementBlock("div",gm,[...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",pm,[...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",vm,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)}},Se=it(hm,[["__scopeId","data-v-68532350"]]),bm={class:"relative"},ym={class:"flex items-center justify-center"},xm=["onClick"],km={class:"flex items-center gap-2"},wm={key:1,class:"flex flex-col"},Cm={key:0},Bm=["colspan"],Sm={class:"flex justify-center items-center"},Vm={key:2},Em=["colspan"],Nm={class:"text-center"},$m={class:"text-slate-400 mb-4"},zm={class:"text-slate-600 text-lg font-medium mb-2"},Dm={class:"text-slate-500 text-sm"},Tm={__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"},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},hasLoaded:{type:Boolean,default:!1}},emits:["selection-change","sort-change","row-click","page-change","page-size-change","refresh"],setup(t,{expose:n,emit:a}){const r=t,o=a,l=e.ref(1),s=e.ref(r.pageSize),i=e.ref(r.sortBy),c=e.ref(r.sortOrder),f=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"}}),p=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"}}),v=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"}}),E=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"}}),y=e.computed(()=>{let A=[...r.data];if(i.value){const R=r.columns.find(G=>G.key===i.value);R&&A.sort((G,Q)=>{const se=k(G,R),we=k(Q,R);return se<we?c.value==="asc"?-1:1:se>we?c.value==="asc"?1:-1:0})}return A}),x=e.computed(()=>Math.ceil(y.value.length/s.value)),m=e.computed(()=>{if(!r.showPagination)return y.value;const A=(l.value-1)*s.value,R=A+s.value;return y.value.slice(A,R)}),u=e.computed(()=>{let A=r.columns.length;return r.selectable&&A++,r.$slots?.actions&&A++,A}),d=e.computed(()=>y.value.length>0&&y.value.every(A=>B(A))),g=e.computed(()=>{const A=y.value.filter(R=>B(R)).length;return A>0&&A<y.value.length}),k=(A,R)=>R.accessor?R.accessor(A):R.key.split(".").reduce((G,Q)=>G?.[Q],A),V=(A,R)=>A[r.rowKey]||R,B=A=>r.selectedItems.some(R=>V(R)===V(A)),U=A=>{const R=[...r.selectedItems],G=R.findIndex(Q=>V(Q)===V(A));G>-1?R.splice(G,1):R.push(A),o("selection-change",R)},I=()=>{if(r.loading||r.dataLoading)return;const A=d.value?[]:[...y.value];o("selection-change",A)},W=async A=>{!A.sortable||r.loading||r.sortLoading||(i.value===A.key?c.value=c.value==="asc"?"desc":"asc":(i.value=A.key,c.value="asc"),o("sort-change",{column:A.key,direction:c.value}))},M=A=>{r.loading||o("row-click",A)},S=async A=>{r.paginationLoading||r.loading||(l.value=A,o("page-change",A))},P=async A=>{r.paginationLoading||r.loading||(s.value=A,l.value=1,o("page-size-change",A))},j=e.computed(()=>h(f({variant:r.variant}))),b=e.computed(()=>h(p({variant:r.variant}))),N=e.computed(()=>h(v({variant:r.variant}))),F=e.computed(()=>h(E({variant:r.variant}))),Y=A=>h({compact:"px-4 py-2",normal:"px-6 py-3",comfortable:"px-8 py-4"}[r.density],"text-left text-xs font-medium text-slate-500 uppercase tracking-wider",{"cursor-pointer hover:bg-slate-100 transition-colors":A.sortable&&!r.loading&&!r.sortLoading,"cursor-not-allowed opacity-50":r.loading||r.sortLoading&&i.value===A.key}),_=()=>h({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm text-slate-900"),te=e.computed(()=>h({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm text-slate-900 w-12")),ve=e.computed(()=>h({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm font-medium text-center")),ke=e.computed(()=>h({compact:"px-4 py-4",normal:"px-6 py-6",comfortable:"px-8 py-8"}[r.density],"text-center")),$e=(A,R)=>h({"text-blue-600":i.value===A.key&&c.value===R,"text-slate-300":i.value!==A.key||c.value!==R});return e.watch(()=>r.selectedItems,()=>{},{deep:!0}),e.watch(()=>r.pageSize,A=>{s.value=A}),n({refresh:()=>{o("refresh")},goToPage:A=>{S(A)},selectAll:()=>{I()},clearSelection:()=>{o("selection-change",[])},getCurrentPage:()=>l.value,getTotalPages:()=>x.value,getSelectedItems:()=>r.selectedItems}),(A,R)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(j.value)},[t.title||t.description||A.$slots.header?(e.openBlock(),e.createBlock(Zt,{key:0,title:t.title,description:t.description,variant:t.headerVariant,padding:t.headerPadding},{header:e.withCtx(()=>[e.renderSlot(A.$slots,"header",{},void 0,!0)]),filters:e.withCtx(()=>[e.renderSlot(A.$slots,"filters",{},void 0,!0)]),_:3},8,["title","description","variant","padding"])):e.createCommentVNode("",!0),e.createElementVNode("div",bm,[t.loading?(e.openBlock(),e.createBlock(Se,{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(b.value)},[e.createElementVNode("thead",{class:e.normalizeClass(N.value)},[e.createElementVNode("tr",null,[t.selectable?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(te.value)},[e.createElementVNode("div",ym,[t.bulkLoading?(e.openBlock(),e.createBlock(Se,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):(e.openBlock(),e.createBlock(rt,{key:1,"model-value":d.value,indeterminate:g.value,disabled:t.loading||t.dataLoading,"onUpdate:modelValue":I},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(Y(G)),onClick:Q=>W(G)},[e.createElementVNode("div",km,[e.createElementVNode("span",null,e.toDisplayString(G.label),1),t.sortLoading&&i.value===G.key?(e.openBlock(),e.createBlock(Se,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):G.sortable?(e.openBlock(),e.createElementBlock("div",wm,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([$e(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([$e(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,xm))),128)),A.$slots.actions?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass(ve.value)}," Actions ",2)):e.createCommentVNode("",!0)])],2),e.createElementVNode("tbody",{class:e.normalizeClass(F.value)},[t.dataLoading&&!t.loading?(e.openBlock(),e.createElementBlock("tr",Cm,[e.createElementVNode("td",{colspan:u.value,class:e.normalizeClass(ke.value)},[e.createElementVNode("div",Sm,[e.createVNode(Se,{loading:!0,type:"dots",size:"medium",color:t.loadingColor},null,8,["color"])])],10,Bm)])):m.value.length>0&&!t.loading?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(m.value,(G,Q)=>(e.openBlock(),e.createBlock(ea,{key:V(G,Q),item:G,columns:t.columns,index:Q,selectable:t.selectable,"is-selected":B(G),striped:t.striped,hoverable:t.hoverable,"clickable-rows":t.clickableRows,density:t.density,"row-loading":t.rowLoading[V(G,Q)],"loading-color":t.loadingColor,onToggleSelection:U,onRowClick:M},e.createSlots({actions:e.withCtx(se=>[e.renderSlot(A.$slots,"actions",e.mergeProps({ref_for:!0},se),void 0,!0)]),_:2},[e.renderList(t.columns,se=>({name:`cell-${se.key}`,fn:e.withCtx(we=>[e.renderSlot(A.$slots,`cell-${se.key}`,e.mergeProps({ref_for:!0},we),void 0,!0)])}))]),1032,["item","columns","index","selectable","is-selected","striped","hoverable","clickable-rows","density","row-loading","loading-color"]))),128)):!t.loading&&!t.dataLoading&&t.hasLoaded?(e.openBlock(),e.createElementBlock("tr",Vm,[e.createElementVNode("td",{colspan:u.value,class:e.normalizeClass(ke.value)},[e.renderSlot(A.$slots,"empty",{},()=>[e.createElementVNode("div",Nm,[e.createElementVNode("div",$m,[e.createVNode(L,{name:"search",class:"w-12 h-12"})]),e.createElementVNode("p",zm,e.toDisplayString(t.emptyText),1),e.createElementVNode("p",Dm,e.toDisplayString(t.emptySubtitle),1)])],!0)],10,Em)])):e.createCommentVNode("",!0),t.showSkeleton&&(t.loading||t.dataLoading)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:3},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(te.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,Q=>(e.openBlock(),e.createElementBlock("td",{key:Q.key,class:e.normalizeClass(_())},[...R[3]||(R[3]=[e.createElementVNode("div",{class:"h-4 bg-slate-200 rounded w-3/4"},null,-1)])],2))),128)),A.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(ve.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)):e.createCommentVNode("",!0)],2)],2)],2)]),t.showPagination||A.$slots.footer?(e.openBlock(),e.createBlock(ta,{key:1,"current-page":l.value,"total-pages":x.value,total:y.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":S,"onUpdate:pageSize":P},{footer:e.withCtx(()=>[e.renderSlot(A.$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))}},$r=it(Tm,[["__scopeId","data-v-a9cdb37e"]]),zr={__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??r();return n.column.formatter?n.column.formatter(s,n.item):s}),r=()=>n.column.accessor?n.column.accessor(n.item):n.column.key.split(".").reduce((s,i)=>s?.[i],n.item),o=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",i=`text-${n.textColor}`,c=n.width?`w-${n.width}`:"";return h(o({align:s,padding:n.padding,textSize:n.textSize}),i,c,n.column.cellClasses)});return(s,i)=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(l.value)},[e.renderSlot(s.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])],2))}},Am={class:"bg-white border-b border-gray-200"},Fm={key:0,class:"flex-1 min-w-80 max-w-md"},Im={class:"relative group"},Pm=["model-value","placeholder"],jm={class:"relative"},Lm={value:""},Om=["value"],Mm={key:1,class:"min-w-36"},Rm={class:"relative"},_m=["value"],qm={key:3,class:"flex items-center gap-2"},Um={class:"flex items-center gap-3 ml-auto"},Wm={class:"grid grid-cols-1 lg:grid-cols-3 gap-6"},Ym={class:"flex items-center justify-between"},Hm={class:"flex items-center gap-3"},Gm={class:"relative flex-1"},Xm=["model-value","placeholder","onInput"],Km={class:"relative flex-1"},Jm=["model-value","placeholder","onInput"],Qm=["onClick"],Zm={class:"flex items-center justify-between"},ef={class:"flex items-center gap-3"},tf={class:"relative flex-1"},af=["model-value","placeholder","step","onInput"],nf={class:"relative flex-1"},rf=["model-value","placeholder","step","onInput"],of=["onClick"],lf={class:"flex items-center justify-between"},sf={class:"relative"},cf={value:""},df=["value"],uf={key:0,class:"flex flex-wrap gap-2 mt-2"},mf=["onClick"],ff={class:"flex items-center gap-3 flex-wrap"},gf=["onClick"],pf={key:2,class:"px-6 py-3 bg-gray-50 border-t border-gray-200"},vf={class:"flex items-center justify-between"},hf={class:"flex items-center gap-4"},bf={class:"text-sm text-gray-600"},yf={class:"font-medium"},Dr={__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},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"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(!1),l=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"}}),s=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"}}),i=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"}}),c=(D,C)=>{const w=a.selectFilters.map(T=>T.key===D?{...T,value:C}:T);r("update:selectFilters",w)},f=D=>!!(D.from||D.to),p=D=>{const C=a.dateFilters.map(w=>w.key===D?{...w,from:"",to:""}:w);r("update:dateFilters",C)},v=D=>`text-xs px-2 py-1 rounded ${f(D)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,E=(D,C,w)=>{const T=a.dateFilters.map(H=>H.key===D?{...H,[C]:w}:H);r("update:dateFilters",T)},y=D=>!!(D.min||D.max),x=D=>{const C=a.numberFilters.map(w=>w.key===D?{...w,min:"",max:""}:w);r("update:numberFilters",C)},m=D=>`text-xs px-2 py-1 rounded ${y(D)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,u=(D,C,w)=>{const T=a.numberFilters.map(H=>H.key===D?{...H,[C]:w}:H);r("update:numberFilters",T)},d=D=>D.selected&&D.selected.length>0,g=D=>`text-xs px-2 py-1 rounded ${d(D)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,k=(D,C)=>{if(!C)return;const w=a.multiSelectFilters.map(T=>{if(T.key===D){const H=T.selected||[],ze=H.includes(C);return{...T,selected:ze?H.filter(ct=>ct!==C):[...H,C]}}return T});r("update:multiSelectFilters",w)},V=(D,C)=>{const w=a.multiSelectFilters.map(T=>T.key===D?{...T,selected:T.selected.filter(H=>H!==C)}:T);r("update:multiSelectFilters",w)},B=(D,C)=>{const w=D.options.find(T=>T.value===C);return w?w.label:C},U=()=>{o.value=!o.value},I=e.computed(()=>a.numberFilters.length>0||a.multiSelectFilters.length>0),W=e.computed(()=>{const D=a.searchQuery,C=a.selectedStatus,w=a.dateFrom||a.dateTo,T=a.selectFilters.some(oe=>oe.value),H=a.dateFilters.some(oe=>oe.from||oe.to),ze=a.numberFilters.some(oe=>oe.min||oe.max),ct=a.multiSelectFilters.some(oe=>oe.selected&&oe.selected.length>0);return D||C||w||T||H||ze||ct}),M=e.computed(()=>{let D=0;return a.searchQuery&&D++,a.selectedStatus&&D++,(a.dateFrom||a.dateTo)&&D++,D+=a.selectFilters.filter(C=>C.value).length,D+=a.dateFilters.filter(C=>C.from||C.to).length,D+=a.numberFilters.filter(C=>C.min||C.max).length,D+=a.multiSelectFilters.filter(C=>C.selected&&C.selected.length>0).length,D}),S=e.computed(()=>{const D=[];if(a.searchQuery&&a.searchQuery.trim()&&D.push({key:"search",label:"Search",value:`"${a.searchQuery}"`,icon:"magnifying-glass"}),a.selectedStatus){const C=a.statusOptions.find(w=>w.value===a.selectedStatus);D.push({key:"status",label:"Status",value:C?.label||a.selectedStatus,icon:"filter"})}if(a.selectFilters.forEach(C=>{if(C.value){const w=C.options.find(T=>T.value===C.value);D.push({key:`select-${C.key}`,label:C.label,value:w?.label||C.value,icon:"filter"})}}),a.dateFrom||a.dateTo){let C="";a.dateFrom&&a.dateTo?C=`${a.dateFrom} to ${a.dateTo}`:a.dateFrom?C=`From ${a.dateFrom}`:a.dateTo&&(C=`Until ${a.dateTo}`),C&&D.push({key:"date",label:"Date Range",value:C,icon:"calendar"})}return a.dateFilters.forEach(C=>{if(C.from||C.to){let w="";C.from&&C.to?w=`${C.from} to ${C.to}`:C.from?w=`From ${C.from}`:C.to&&(w=`Until ${C.to}`),w&&D.push({key:`date-${C.key}`,label:C.label,value:w,icon:"calendar"})}}),a.numberFilters.forEach(C=>{if(C.min||C.max){let w="";C.min&&C.max?w=`${C.min} to ${C.max}`:C.min?w=`Min ${C.min}`:C.max&&(w=`Max ${C.max}`),w&&D.push({key:`number-${C.key}`,label:C.label,value:w,icon:"hashtag"})}}),a.multiSelectFilters.forEach(C=>{if(C.selected&&C.selected.length>0){const w=C.selected.map(T=>{const H=C.options.find(ze=>ze.value===T);return H?H.label:T});D.push({key:`multi-${C.key}`,label:C.label,value:w.join(", "),icon:"list"})}}),D}),P=e.computed(()=>h(l({variant:a.variant,padding:a.padding}))),j=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"),b=e.computed(()=>h(s({size:"md"}),"w-full pl-10 pr-10 hover:border-gray-300")),N=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"),F=e.computed(()=>h(s({size:"md"}),"w-full pr-8 appearance-none hover:border-gray-300")),Y=e.computed(()=>{const D=o.value||W.value;return h(i({variant:D?"primary":"default",size:"lg"}),"gap-2")}),_=e.computed(()=>"bg-white text-blue-600 text-xs px-1.5 py-0.5 rounded-full min-w-[20px] text-center font-semibold"),te=e.computed(()=>"px-6 py-4 border-t border-gray-100 bg-gray-50"),ve=e.computed(()=>h(s({size:"md"}),"pl-10 pr-3")),ke=e.computed(()=>"text-sm font-semibold text-gray-700"),$e=e.computed(()=>"text-gray-500 text-sm font-medium"),A=e.computed(()=>"text-gray-400 hover:text-gray-600 p-1.5 hover:bg-gray-200 rounded-full transition-all"),R=e.computed(()=>h(i({variant:"ghost",size:"md"}))),G=e.computed(()=>h(i({variant:"default",size:"lg"}))),Q=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),se=e.computed(()=>"text-sm font-semibold text-blue-800"),we=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"),_r=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),qr=()=>{r("update:searchQuery",""),r("update:selectedStatus",""),r("update:dateFrom",""),r("update:dateTo","");const D=a.selectFilters.map(H=>({...H,value:""}));r("update:selectFilters",D);const C=a.dateFilters.map(H=>({...H,from:"",to:""}));r("update:dateFilters",C);const w=a.numberFilters.map(H=>({...H,min:"",max:""}));r("update:numberFilters",w);const T=a.multiSelectFilters.map(H=>({...H,selected:[]}));r("update:multiSelectFilters",T),r("clear-filters")},Ur=D=>{switch(D){case"search":r("update:searchQuery","");break;case"status":r("update:selectedStatus","");break;case"date":r("update:dateFrom",""),r("update:dateTo","");break;default:if(D.startsWith("select-")){const C=D.replace("select-",""),w=a.selectFilters.map(T=>T.key===C?{...T,value:""}:T);r("update:selectFilters",w)}else if(D.startsWith("date-")){const C=D.replace("date-",""),w=a.dateFilters.map(T=>T.key===C?{...T,from:"",to:""}:T);r("update:dateFilters",w)}else if(D.startsWith("number-")){const C=D.replace("number-",""),w=a.numberFilters.map(T=>T.key===C?{...T,min:"",max:""}:T);r("update:numberFilters",w)}else if(D.startsWith("multi-")){const C=D.replace("multi-",""),w=a.multiSelectFilters.map(T=>T.key===C?{...T,selected:[]}:T);r("update:multiSelectFilters",w)}break}};return(D,C)=>(e.openBlock(),e.createElementBlock("div",Am,[e.createElementVNode("div",{class:e.normalizeClass(P.value)},[t.showSearch?(e.openBlock(),e.createElementBlock("div",Fm,[e.createElementVNode("div",Im,[e.createVNode(L,{icon:"magnifying-glass",class:e.normalizeClass(j.value)},null,8,["class"]),e.createElementVNode("input",{"model-value":t.searchQuery,placeholder:t.searchPlaceholder,class:e.normalizeClass(b.value),onInput:C[0]||(C[0]=w=>D.$emit("update:searchQuery",w.target.value))},null,42,Pm),t.searchQuery?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(N.value),onClick:C[1]||(C[1]=w=>D.$emit("update:searchQuery",""))},[e.createVNode(L,{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,w=>(e.openBlock(),e.createElementBlock("div",{key:w.key,class:"min-w-36"},[e.createElementVNode("div",jm,[e.createVNode(ce,{"model-value":w.value,class:e.normalizeClass(F.value),onChange:T=>c(w.key,T.target.value)},{default:e.withCtx(()=>[e.createElementVNode("option",Lm,e.toDisplayString(w.placeholder||`All ${w.label}`),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.options,T=>(e.openBlock(),e.createElementBlock("option",{key:T.value,value:T.value},e.toDisplayString(T.label),9,Om))),128))]),_:2},1032,["model-value","class","onChange"]),e.createVNode(L,{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",Mm,[e.createElementVNode("div",Rm,[e.createVNode(ce,{"model-value":t.selectedStatus,class:e.normalizeClass(F.value),onChange:C[2]||(C[2]=w=>D.$emit("update:selectedStatus",w.target.value))},{default:e.withCtx(()=>[C[5]||(C[5]=e.createElementVNode("option",{value:""}," All Status ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.statusOptions,w=>(e.openBlock(),e.createElementBlock("option",{key:w.value,value:w.value},e.toDisplayString(w.label),9,_m))),128))]),_:1},8,["model-value","class"]),e.createVNode(L,{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||I.value)?(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass(Y.value),onClick:U},[e.createVNode(L,{icon:"filter",class:"w-4 h-4"}),C[6]||(C[6]=e.createTextVNode(" Filters ",-1)),M.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(_.value)},e.toDisplayString(M.value),3)):e.createCommentVNode("",!0),e.createVNode(L,{icon:o.value?"chevron-up":"chevron-down",class:"w-4 h-4 ml-1"},null,8,["icon"])],2)):e.createCommentVNode("",!0),D.$slots.filters?(e.openBlock(),e.createElementBlock("div",qm,[e.renderSlot(D.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",Um,[W.value?(e.openBlock(),e.createBlock(Z,{key:0,class:e.normalizeClass(R.value),onClick:qr},{default:e.withCtx(()=>[e.createVNode(L,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),C[7]||(C[7]=e.createTextVNode(" Clear All ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(Z,{key:1,class:e.normalizeClass(G.value),onClick:C[3]||(C[3]=w=>D.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(L,{icon:"download",class:"w-4 h-4 mr-2"}),C[8]||(C[8]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),e.renderSlot(D.$slots,"actions",{},()=>[t.showAdd?(e.openBlock(),e.createBlock(Z,{key:0,variant:"success",size:"lg",onClick:C[4]||(C[4]=w=>D.$emit("add"))},{default:e.withCtx(()=>[e.createVNode(L,{icon:"plus",class:"w-4 h-4 mr-2"}),C[9]||(C[9]=e.createTextVNode(" Add ",-1))]),_:1})):e.createCommentVNode("",!0)])])],2),t.showFilters&&o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(te.value)},[e.createElementVNode("div",Wm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dateFilters,w=>(e.openBlock(),e.createElementBlock("div",{key:w.key,class:"space-y-3"},[e.createElementVNode("div",Ym,[e.createElementVNode("label",{class:e.normalizeClass(ke.value)},e.toDisplayString(w.label),3),e.createElementVNode("span",{class:e.normalizeClass(v(w))},e.toDisplayString(f(w)?"Active":"Inactive"),3)]),e.createElementVNode("div",Hm,[e.createElementVNode("div",Gm,[e.createVNode(L,{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":w.from,class:e.normalizeClass(ve.value),placeholder:`From ${w.label}`,onInput:T=>E(w.key,"from",T.target.value)},null,42,Xm)]),e.createElementVNode("span",{class:e.normalizeClass($e.value)},"to",2),e.createElementVNode("div",Km,[e.createVNode(L,{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":w.to,class:e.normalizeClass(ve.value),placeholder:`To ${w.label}`,onInput:T=>E(w.key,"to",T.target.value)},null,42,Jm)]),f(w)?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(A.value),title:"Clear this filter",onClick:T=>p(w.key)},[e.createVNode(L,{icon:"xmark",class:"w-4 h-4"})],10,Qm)):e.createCommentVNode("",!0)])]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.numberFilters,w=>(e.openBlock(),e.createElementBlock("div",{key:w.key,class:"space-y-3"},[e.createElementVNode("div",Zm,[e.createElementVNode("label",{class:e.normalizeClass(ke.value)},e.toDisplayString(w.label),3),e.createElementVNode("span",{class:e.normalizeClass(m(w))},e.toDisplayString(y(w)?"Active":"Inactive"),3)]),e.createElementVNode("div",ef,[e.createElementVNode("div",tf,[e.createElementVNode("input",{type:"number","model-value":w.min,class:e.normalizeClass(ve.value),placeholder:`Min ${w.label}`,step:w.step||1,onInput:T=>u(w.key,"min",T.target.value)},null,42,af)]),e.createElementVNode("span",{class:e.normalizeClass($e.value)},"to",2),e.createElementVNode("div",nf,[e.createElementVNode("input",{type:"number","model-value":w.max,class:e.normalizeClass(ve.value),placeholder:`Max ${w.label}`,step:w.step||1,onInput:T=>u(w.key,"max",T.target.value)},null,42,rf)]),y(w)?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(A.value),title:"Clear this filter",onClick:T=>x(w.key)},[e.createVNode(L,{icon:"xmark",class:"w-4 h-4"})],10,of)):e.createCommentVNode("",!0)])]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.multiSelectFilters,w=>(e.openBlock(),e.createElementBlock("div",{key:w.key,class:"space-y-3"},[e.createElementVNode("div",lf,[e.createElementVNode("label",{class:e.normalizeClass(ke.value)},e.toDisplayString(w.label),3),e.createElementVNode("span",{class:e.normalizeClass(g(w))},e.toDisplayString(d(w)?`${w.selected.length} selected`:"None"),3)]),e.createElementVNode("div",sf,[e.createVNode(ce,{"model-value":"",class:e.normalizeClass(F.value),onChange:T=>k(w.key,T.target.value)},{default:e.withCtx(()=>[e.createElementVNode("option",cf," Select "+e.toDisplayString(w.label),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.options,T=>(e.openBlock(),e.createElementBlock("option",{key:T.value,value:T.value},e.toDisplayString(T.label),9,df))),128))]),_:2},1032,["class","onChange"]),e.createVNode(L,{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"})]),w.selected.length>0?(e.openBlock(),e.createElementBlock("div",uf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.selected,T=>(e.openBlock(),e.createElementBlock("span",{key:T,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(B(w,T))+" ",1),e.createElementVNode("button",{class:"hover:bg-blue-200 rounded-full p-0.5",onClick:H=>V(w.key,T)},[e.createVNode(L,{icon:"xmark",class:"w-3 h-3"})],8,mf)]))),128))])):e.createCommentVNode("",!0)]))),128))])],2)):e.createCommentVNode("",!0),t.showFilters&&S.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(Q.value)},[e.createElementVNode("div",ff,[e.createElementVNode("span",{class:e.normalizeClass(se.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.key,class:e.normalizeClass(we.value)},[e.createVNode(L,{icon:w.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(w.label)+": "+e.toDisplayString(w.value),1),e.createElementVNode("button",{class:e.normalizeClass(_r.value),onClick:T=>Ur(w.key)},[e.createVNode(L,{icon:"xmark",class:"w-3 h-3"})],10,gf)],2))),128))])],2)):e.createCommentVNode("",!0),t.showTableInfo?(e.openBlock(),e.createElementBlock("div",pf,[e.createElementVNode("div",vf,[e.createElementVNode("div",hf,[e.createElementVNode("span",bf,[e.createElementVNode("span",yf,e.toDisplayString(t.totalItems||0),1),e.createTextVNode(" "+e.toDisplayString(t.itemLabel||"items")+" found ",1)])])])])):e.createCommentVNode("",!0)]))}},xf={class:"flex items-center gap-3"},kf={key:0,class:"flex items-center gap-3"},wf={class:"text-sm text-slate-600"},Cf={class:"flex items-center gap-2"},Bf={class:"flex items-center gap-3"},Sf=["title","onClick"],Vf={key:1,class:"relative"},Ef={class:"p-3"},Nf={class:"space-y-1"},$f={class:"flex items-center gap-2 cursor-pointer w-full"},zf=["checked","onChange"],Df=["disabled"],Tf={key:3,class:"flex items-center gap-2"},Af=[{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:"destructive"},{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"}],Ff={name:"DataTableToolBar"},Tr=Object.assign(Ff,{props:{selectedItems:{type:Array,default:()=>[]},totalItems:{type:Number,default:0},bulkActions:{type:Array,default:()=>Af},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,r=n,o=e.ref(!1),l=e.ref(null),s=e.ref(null),i=e.computed(()=>a.selectedItems.length),c=[{value:"compact",label:"Compact",icon:["fas","minus"]},{value:"normal",label:"Normal",icon:["fas","bars"]},{value:"comfortable",label:"Comfortable",icon:["fas","bars-staggered"]}],f=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"}}),p=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"}}),v=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"}}),E=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"}}),y=e.computed(()=>h(f({variant:a.variant,padding:a.padding}))),x=e.computed(()=>"text-sm text-slate-600"),m=e.computed(()=>"flex items-center"),u=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"),d=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"),g=e.computed(()=>"text-xs font-medium text-slate-500 uppercase tracking-wider mb-2 border-b border-slate-100 pb-2"),k=e.computed(()=>"py-1 hover:bg-slate-50 rounded transition-colors"),V=e.computed(()=>"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 focus:ring-2 focus:ring-offset-1"),B=e.computed(()=>"text-sm text-slate-700 flex-1 select-none"),U=N=>{l.value&&s.value&&!l.value.contains(N.target)&&!s.value.contains(N.target)&&(o.value=!1)},I=()=>{o.value=!o.value},W=N=>h(p({variant:N.variant||"secondary"})),M=N=>{let F="middle";return N==="compact"?F="first":N==="comfortable"&&(F="last"),h(v({active:a.density===N,position:F}))},S=()=>h(E({state:a.isRefreshing?"refreshing":"normal"})),P=()=>h("w-4 h-4",{"animate-spin":a.isRefreshing}),j=N=>a.visibleColumns.includes(N),b=(N,F)=>{r("toggle-column",{column:N,visible:F})};return e.onMounted(()=>{document.addEventListener("click",U)}),e.onUnmounted(()=>{document.removeEventListener("click",U)}),(N,F)=>{const Y=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(y.value)},[e.createElementVNode("div",xf,[i.value>0?(e.openBlock(),e.createElementBlock("div",kf,[e.createElementVNode("span",wf,e.toDisplayString(i.value)+" selected ",1),e.createElementVNode("div",Cf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bulkActions,_=>(e.openBlock(),e.createBlock(Z,{key:_.key,class:e.normalizeClass(W(_)),onClick:te=>N.$emit("bulk-action",{action:_.key,items:t.selectedItems})},{default:e.withCtx(()=>[_.icon?(e.openBlock(),e.createBlock(Y,{key:0,icon:_.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(_.label),1)]),_:2},1032,["class","onClick"]))),128))])])):t.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(x.value)},e.toDisplayString(t.totalItems)+" "+e.toDisplayString(t.totalItems===1?"item":"items"),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Bf,[t.showDensityToggle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(m.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(c,_=>e.createElementVNode("button",{key:_.value,class:e.normalizeClass(M(_.value)),title:_.label,type:"button",onClick:te=>N.$emit("update:density",_.value)},[e.createVNode(Y,{icon:_.icon,class:"w-4 h-4"},null,8,["icon"])],10,Sf)),64))],2)):e.createCommentVNode("",!0),t.showColumnToggle?(e.openBlock(),e.createElementBlock("div",Vf,[e.createElementVNode("button",{ref_key:"columnToggleButton",ref:l,class:e.normalizeClass(u.value),type:"button",onClick:e.withModifiers(I,["stop"])},[e.createVNode(Y,{icon:"columns",class:"w-4 h-4"}),F[2]||(F[2]=e.createElementVNode("span",null,"Columns",-1))],2),e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:s,class:e.normalizeClass(d.value),onClick:F[0]||(F[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Ef,[e.createElementVNode("div",{class:e.normalizeClass(g.value)}," Show Columns ",2),e.createElementVNode("div",Nf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toggleableColumns,_=>(e.openBlock(),e.createElementBlock("div",{key:_.key,class:e.normalizeClass(k.value)},[e.createElementVNode("label",$f,[e.createElementVNode("input",{type:"checkbox",checked:j(_.key),class:e.normalizeClass(V.value),onChange:te=>b(_.key,te.target.checked)},null,42,zf),e.createElementVNode("span",{class:e.normalizeClass(B.value)},e.toDisplayString(_.label),3)])],2))),128))])])],2),[[e.vShow,o.value]])])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:t.isRefreshing,class:e.normalizeClass(S()),type:"button",onClick:F[1]||(F[1]=_=>N.$emit("refresh"))},[e.createVNode(Y,{icon:"sync",class:e.normalizeClass(P())},null,8,["class"]),F[3]||(F[3]=e.createElementVNode("span",null,"Refresh",-1))],10,Df)):e.createCommentVNode("",!0),N.$slots.actions?(e.openBlock(),e.createElementBlock("div",Tf,[e.renderSlot(N.$slots,"actions")])):e.createCommentVNode("",!0)])],2)}}}),If={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"},Pf={class:"grid grid-cols-1 md:grid-cols-4 gap-8"},jf={class:"col-span-1 md:col-span-2"},Lf={class:"space-y-2"},Of={class:"flex space-x-4"},Mf={class:"flex flex-col md:flex-row justify-between items-center"},Rf={class:"flex space-x-6 mt-4 md:mt-0"},Ar={__name:"Footer",props:{className:{type:String,default:""}},setup(t){return(n,a)=>{const r=e.resolveComponent("Logo"),o=e.resolveComponent("Text"),l=e.resolveComponent("Typography"),s=e.resolveComponent("Link"),i=e.resolveComponent("Icon"),c=e.resolveComponent("Divider");return e.openBlock(),e.createElementBlock("footer",{class:e.normalizeClass(e.unref(h)("bg-gray-50 border-t border-gray-200",t.className))},[e.createElementVNode("div",If,[e.createElementVNode("div",Pf,[e.createElementVNode("div",jf,[e.renderSlot(n.$slots,"brand",{},()=>[e.createVNode(r,{class:"mb-4"}),e.createVNode(o,{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",Lf,[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",Of,[e.createVNode(s,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[e.createVNode(i,{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(i,{name:"github",class:"h-5 w-5"})]),_:1})])])])]),e.createVNode(c,{class:"my-8"}),e.createElementVNode("div",Mf,[e.renderSlot(n.$slots,"copyright",{},()=>[e.createVNode(o,{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",Rf,[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)}}},_f={class:"flex items-center justify-between h-16 px-4 md:px-6"},qf={class:"flex items-center"},Uf={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"},Wf={class:"text-lg font-bold text-blue-900 truncate max-w-[200px]"},Yf={key:0,class:"text-xs text-blue-600 truncate font-medium"},Hf={class:"hidden md:flex items-center space-x-2 text-sm truncate"},Gf={class:"text-gray-500 truncate"},Xf={class:"text-gray-900 font-medium truncate"},Kf={class:"flex items-center space-x-3 md:space-x-4"},Jf={key:1,class:"relative"},Qf={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"},Zf={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"},eg={class:"max-h-96 overflow-y-auto"},tg={class:"flex items-start space-x-3"},ag={class:"flex-1"},ng={class:"text-sm text-gray-900"},rg={class:"text-xs text-gray-500 mt-1"},og={class:"relative"},lg={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"},sg={class:"text-blue-700 text-sm font-medium"},ig={class:"hidden md:block text-left max-w-[160px] truncate"},cg={class:"text-sm font-medium text-gray-900 truncate"},dg={class:"text-xs text-gray-500 truncate leading-tight"},ug={key:0,class:"absolute right-0 mt-2 w-58 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},mg={class:"p-4 border-b border-gray-200"},fg={class:"text-sm font-medium text-gray-900"},gg={class:"text-xs text-gray-500"},pg={class:"py-2"},vg={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"},hg=["onClick"],bg={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"},yg={class:"flex-1 truncate font-semibold text-gray-700"},Fr={__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,r=n,o=e.ref(""),l=e.ref(!1),s=e.ref(!1),i=e.ref(a.notifications.length),c=e.ref(!1),f=e.ref(!1),p=e.computed(()=>(a.user?.name||"Guest").split(" ").map(B=>B[0]||"").join("").toUpperCase()),v=e.computed(()=>a.user?.roles?.length?a.user.roles.map(V=>V.name).join(", "):"No role"),E=()=>{l.value=!l.value,s.value=!1},y=()=>{s.value=!s.value,l.value=!1},x=V=>{r("navigate",V),s.value=!1},m=V=>V.route?!!(a.currentRoute===V.route||a.currentRoute.startsWith(V.route+"/")):!1,u=V=>{r("profile-action",V),s.value=!1},d=()=>{r("logout"),s.value=!1},g=V=>{!V.target.closest(".absolute")&&!V.target.closest("button")&&(l.value=!1,s.value=!1)},k=()=>{f.value=window.innerWidth<768};return e.onMounted(()=>{document.addEventListener("click",g),k(),window.addEventListener("resize",k)}),e.onUnmounted(()=>{document.removeEventListener("click",g),window.removeEventListener("resize",k)}),e.watch(o,V=>r("search",V)),(V,B)=>{const U=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(h)("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",_f,[e.createElementVNode("div",qf,[t.currentOrganisation?(e.openBlock(),e.createElementBlock("div",Uf,[e.createElementVNode("p",Wf,e.toDisplayString(t.currentOrganisation.organisation_name),1),t.currentOrganisation.role?(e.openBlock(),e.createElementBlock("p",Yf,e.toDisplayString(t.currentOrganisation.role),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("nav",Hf,[e.createElementVNode("span",Gf,e.toDisplayString(t.currentSection),1),B[4]||(B[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",Xf,e.toDisplayString(t.currentPage),1)])]),e.createElementVNode("div",Kf,[f.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:B[0]||(B[0]=I=>r("toggle-mobile-sidebar"))},[...B[5]||(B[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),!f.value||c.value?(e.openBlock(),e.createElementBlock("div",Jf,[B[6]||(B[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":B[1]||(B[1]=I=>o.value=I),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,o.value]]),f.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:B[2]||(B[2]=I=>c.value=!1)}," ✕ ")):e.createCommentVNode("",!0)])):f.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:B[3]||(B[3]=I=>c.value=!0)},[...B[7]||(B[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:E},[B[8]||(B[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)),i.value>0?(e.openBlock(),e.createElementBlock("span",Qf,e.toDisplayString(i.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",Zf,[B[10]||(B[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",eg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.notifications,I=>(e.openBlock(),e.createElementBlock("div",{key:I.id,class:"p-4 border-b border-gray-100 hover:bg-gray-50 cursor-pointer"},[e.createElementVNode("div",tg,[B[9]||(B[9]=e.createElementVNode("div",{class:"flex-shrink-0 w-2 h-2 mt-2 bg-blue-500 rounded-full"},null,-1)),e.createElementVNode("div",ag,[e.createElementVNode("p",ng,e.toDisplayString(I.title),1),e.createElementVNode("p",rg,e.toDisplayString(I.time),1)])])]))),128))]),B[11]||(B[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",og,[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:y},[e.createElementVNode("div",lg,[e.createElementVNode("span",sg,e.toDisplayString(p.value),1)]),e.createElementVNode("div",ig,[e.createElementVNode("p",cg,e.toDisplayString(t.user.name),1),e.createElementVNode("p",dg,e.toDisplayString(v.value),1)]),B[12]||(B[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",ug,[e.createElementVNode("div",mg,[e.createElementVNode("p",fg,e.toDisplayString(t.user.name),1),e.createElementVNode("p",gg,e.toDisplayString(t.user.email),1)]),e.createElementVNode("div",pg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.profileMenuItems,I=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:I.name},[I.route?(e.openBlock(),e.createBlock(U,{key:0,to:I.route,class:e.normalizeClass(e.unref(h)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",m(I)?"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:W=>x(I)},{default:e.withCtx(()=>[m(I)?(e.openBlock(),e.createElementBlock("div",vg)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",m(I)?"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"))},[I.icon?(e.openBlock(),e.createBlock(L,{key:0,icon:I.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(h)("flex-1 truncate font-semibold",m(I)?"text-blue-700":"text-gray-700"))},e.toDisplayString(I.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:W=>u(I)},[e.createElementVNode("div",bg,[I.icon?(e.openBlock(),e.createBlock(L,{key:0,icon:I.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)]),e.createElementVNode("span",yg,e.toDisplayString(I.label),1)],8,hg))],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:d},[...B[13]||(B[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)}}},xg={class:"mb-4"},kg={class:"text-lg font-semibold text-gray-900"},wg={class:"text-sm text-gray-600"},Cg={value:"",disabled:""},Bg=["value"],Sg={key:3,class:"flex items-center"},Vg={class:"flex justify-end gap-3 pt-4"},Ir={__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"].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","full"].includes(t)},modalResizable:{type:Boolean,default:!1}},emits:["update:modelValue","submit","close"],setup(t,{emit:n}){const a=t,r=n,o=e.computed({get:()=>a.modelValue,set:m=>r("update:modelValue",m)}),l=e.computed(()=>a.loading),s=e.ref({}),i=e.ref({}),c=e.ref(!1),f=()=>{const m={};return a.fields.forEach(u=>{u.type==="checkbox"?m[u.name]=!1:u.type==="number"||u.type==="slider"?m[u.name]=u.min!==void 0?u.min:0:m[u.name]=""}),m};e.watch(()=>a.initialData,m=>{if(a.modalType==="edit"&&m){const u={};a.fields.forEach(d=>{d.type==="checkbox"?u[d.name]=m[d.name]??!1:d.type==="number"||d.type==="slider"?u[d.name]=m[d.name]??(d.min!==void 0?d.min:0):u[d.name]=m[d.name]??""}),s.value=u,c.value=!0}else if(a.modalType==="create"&&m&&!c.value){const u={};a.fields.forEach(d=>{m[d.name]!==void 0&&m[d.name]!==null?u[d.name]=m[d.name]:d.type==="checkbox"?u[d.name]=!1:d.type==="number"||d.type==="slider"?u[d.name]=d.min!==void 0?d.min:0:u[d.name]=""}),s.value=u,c.value=!0}else a.modalType==="create"&&!m&&(s.value=f(),c.value=!1)},{immediate:!0,deep:!0}),e.watch(()=>a.modelValue,m=>{if(m&&(i.value={},a.modalType==="create")){if(c.value=!1,a.initialData){const u={};a.fields.forEach(d=>{a.initialData[d.name]!==void 0&&a.initialData[d.name]!==null?u[d.name]=a.initialData[d.name]:d.type==="checkbox"?u[d.name]=!1:d.type==="number"||d.type==="slider"?u[d.name]=d.min!==void 0?d.min:0:u[d.name]=""}),s.value=u}else s.value=f();c.value=!0}}),e.watch(()=>a.initialData,m=>{c.value&&m&&Object.keys(m).forEach(u=>{Object.prototype.hasOwnProperty.call(s.value,u)&&m[u]!==void 0&&m[u]!==null&&(s.value[u]=m[u])})},{deep:!0});const p=()=>{if(i.value={},a.fields.forEach(m=>{if(m.required&&!m.disabled){const u=s.value[m.name];m.type==="checkbox"?m.required&&!u&&(i.value[m.name]=m.errorMessage||`${m.label} is required`):m.type==="number"||m.type==="slider"?u===""||u===null||u===void 0?i.value[m.name]=m.errorMessage||`${m.label} is required`:m.min!==void 0&&Number(u)<m.min?i.value[m.name]=`${m.label} must be at least ${m.min}`:m.max!==void 0&&Number(u)>m.max&&(i.value[m.name]=`${m.label} must be at most ${m.max}`):m.type==="date"?(!u||typeof u=="string"&&!u.trim())&&(i.value[m.name]=m.errorMessage||`${m.label} is required`):m.type==="password"?(!u||typeof u=="string"&&!u.trim())&&(i.value[m.name]=m.errorMessage||`${m.label} is required`):(!u||typeof u=="string"&&!u.trim())&&(i.value[m.name]=m.errorMessage||`${m.label} is required`)}if(m.validate&&typeof m.validate=="function"){const u=m.validate(s.value[m.name],s.value);u&&(i.value[m.name]=u)}}),a.customValidation){const m=a.customValidation(s.value);m&&Object.keys(m).length>0&&(i.value={...i.value,...m})}return Object.keys(i.value).length===0},v=async(m,u)=>{if(s.value[m.name]=u,m.onChange&&typeof m.onChange=="function")try{await m.onChange(u,s.value)}catch(d){console.error("Error in onChange handler:",d),be.error("An error occurred while processing the change")}},E=(m,u)=>{if(s.value[m.name]=u,m.onChange&&typeof m.onChange=="function")try{m.onChange(u,s.value)}catch(d){console.error("Error in onChange handler:",d),be.error("An error occurred while processing the change")}},y=async()=>{try{if(!p()){be.error("Please fix the validation errors before submitting");return}const m={};a.fields.forEach(u=>{const d=s.value[u.name];u.type==="number"||u.type==="slider"?m[u.name]=Number(d):u.type==="text"||u.type==="textarea"||u.type==="date"?m[u.name]=typeof d=="string"?d.trim():d:(u.type,m[u.name]=d)}),r("submit",{formData:m,modalType:a.modalType,originalData:a.initialData})}catch(m){console.error("Error during form submission:",m),be.error("An error occurred during submission")}},x=()=>{s.value=f(),i.value={},c.value=!1,r("close")};return(m,u)=>(e.openBlock(),e.createBlock(Jt,{modelValue:o.value,"onUpdate:modelValue":u[0]||(u[0]=d=>o.value=d),"show-close":!0,"close-on-backdrop":!0,size:t.modalSize,resizable:t.modalResizable,onClose:x},{default:e.withCtx(()=>[e.createElementVNode("div",xg,[e.createElementVNode("h2",kg,e.toDisplayString(t.modalType==="create"?`Add New ${t.entityName}`:`Edit ${t.entityName}`),1),e.createElementVNode("p",wg,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-4",onSubmit:e.withModifiers(y,["prevent"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,d=>(e.openBlock(),e.createElementBlock("div",{key:d.name},[e.createVNode(Kt,{id:`form-${t.entityName}-${d.name}-${Math.random().toString(36).slice(2,5)}`,label:d.label,required:d.required&&!d.disabled,error:i.value[d.name],"error-message":i.value[d.name]},{default:e.withCtx(({fieldId:g,hasError:k,ariaDescribedBy:V})=>[d.type==="text"||d.type==="number"||d.type==="password"||d.type==="color"?(e.openBlock(),e.createBlock(Je,{key:0,id:g,modelValue:s.value[d.name],"onUpdate:modelValue":B=>s.value[d.name]=B,type:d.type,placeholder:d.placeholder,disabled:l.value||d.disabled,readonly:d.disabled,class:e.normalizeClass(k?"border-red-500":"border-slate-300"),"aria-describedby":V},null,8,["id","modelValue","onUpdate:modelValue","type","placeholder","disabled","readonly","class","aria-describedby"])):d.type==="textarea"?(e.openBlock(),e.createBlock(Xt,{key:1,id:g,modelValue:s.value[d.name],"onUpdate:modelValue":B=>s.value[d.name]=B,placeholder:d.placeholder,disabled:l.value||d.disabled,rows:d.rows||3,class:e.normalizeClass(["w-full px-3 py-2 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",k?"border-red-500":"border-slate-300"]),"aria-describedby":V},null,8,["id","modelValue","onUpdate:modelValue","placeholder","disabled","rows","class","aria-describedby"])):d.type==="select"?(e.openBlock(),e.createBlock(ce,{key:2,id:g,"model-value":s.value[d.name],disabled:l.value||d.disabled,class:e.normalizeClass(["w-full px-3 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",k?"border-red-500":"border-slate-300"]),"aria-describedby":V,"onUpdate:modelValue":B=>v(d,B)},{default:e.withCtx(()=>[e.createElementVNode("option",Cg,e.toDisplayString(d.placeholder||"Select an option"),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.options,B=>(e.openBlock(),e.createElementBlock("option",{key:B.value,value:B.value},e.toDisplayString(B.label),9,Bg))),128))]),_:2},1032,["id","model-value","disabled","class","aria-describedby","onUpdate:modelValue"])):d.type==="checkbox"?(e.openBlock(),e.createElementBlock("div",Sg,[e.createVNode(Je,{id:g,modelValue:s.value[d.name],"onUpdate:modelValue":B=>s.value[d.name]=B,type:"checkbox",disabled:l.value||d.disabled,class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded","aria-describedby":V},null,8,["id","modelValue","onUpdate:modelValue","disabled","aria-describedby"]),e.createVNode(lt,{for:g,class:"ml-2 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.checkboxLabel),1)]),_:2},1032,["for"])])):d.type==="slider"?(e.openBlock(),e.createBlock(Qt,{key:4,"model-value":s.value[d.name],min:d.min,max:d.max,step:d.step,disabled:l.value||d.disabled,"onUpdate:modelValue":B=>E(d,B)},null,8,["model-value","min","max","step","disabled","onUpdate:modelValue"])):d.type==="date"?(e.openBlock(),e.createBlock(st,{key:5,id:g,modelValue:s.value[d.name],"onUpdate:modelValue":B=>s.value[d.name]=B,disabled:l.value||d.disabled,required:d.required,min:d.min,max:d.max,placeholder:d.placeholder||"Select date",format:d.format||"MM/DD/YYYY",clearable:d.clearable!==!1,"show-today":d.showToday!==!1,"calendar-position":d.calendarPosition||"left-0 bottom-full","aria-describedby":V},null,8,["id","modelValue","onUpdate:modelValue","disabled","required","min","max","placeholder","format","clearable","show-today","calendar-position","aria-describedby"])):e.createCommentVNode("",!0)]),_:2},1032,["id","label","required","error","error-message"])]))),128)),e.createElementVNode("div",Vg,[e.createVNode(Z,{type:"button",variant:"outline",disabled:l.value,onClick:x},{default:e.withCtx(()=>[...u[1]||(u[1]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["disabled"]),e.createVNode(Z,{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","resizable"]))}},Eg={key:0,class:"flex items-center justify-between p-4 border-b border-gray-200 flex-shrink-0 lg:hidden"},Ng={class:"text-lg font-bold text-gray-900"},$g={class:"flex-1 overflow-y-auto overflow-x-hidden p-4"},zg={class:"space-y-2"},Dg={key:0},Tg={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"},Ag=["onClick"],Fg={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"},Pg={key:1,class:"border-t border-gray-200 p-4 flex-shrink-0"},jg={key:0,class:"absolute top-1.5 right-1.5 w-2 h-2 bg-blue-500 rounded-full"},Lg={class:"sticky top-0 bg-white border-b border-gray-200 z-10"},Og={class:"flex items-center justify-between p-4"},Mg={class:"flex-1 text-sm font-bold text-gray-900 ml-2"},Rg={class:"p-3"},_g={class:"space-y-1"},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"},Ug={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"},Wg={class:"p-3"},Yg={class:"space-y-1"},Hg={key:0,class:"px-3 py-2 text-xs font-semibold text-gray-500 uppercase tracking-wider"},Gg={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"},Pr={__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 r=t,o=a,l=e.ref(!1),s=e.ref(!1),i=e.ref(null),c=e.ref(!1),f=e.computed(()=>r.mobileOpen),p=e.computed(()=>l.value?{}:{left:`${r.sidebarWidth}px`}),v=e.computed(()=>l.value?{}:{left:`${r.sidebarWidth}px`}),E=e.computed(()=>{if(l.value)return 0;let S=r.sidebarWidth;return s.value&&(S+=220),c.value&&(S+=220),S}),y=S=>{o("navigate",S),l.value&&x();const P=s.value&&i.value&&i.value.subItems.some(b=>b.route===S.route),j=c.value&&r.managementSettings.some(b=>b.route===S.route);(l.value||!(P||j))&&V()},x=()=>{o("update:mobileOpen",!1)},m=S=>S.subItems&&S.subItems.length>0,u=S=>{c.value&&k(),s.value&&i.value!==S?(g(),setTimeout(()=>{i.value=S,s.value=!0},300)):s.value?i.value===S&&g():(i.value=S,s.value=!0),l.value&&x()},d=()=>{s.value&&g(),c.value?k():c.value=!0,l.value&&x()},g=()=>{s.value=!1,setTimeout(()=>{i.value=null},300)},k=()=>{c.value=!1},V=()=>{g(),k()},B=S=>{y(S)},U=S=>{y(S)},I=S=>{const P=r.currentPath;return S.route?!!(P===S.route||P.startsWith(S.route+"/")):S.subItems&&S.subItems.length>0?S.subItems.some(j=>j.route?P===j.route||P.startsWith(j.route+"/"):!1):!1},W=()=>{const S=l.value;l.value=window.innerWidth<1024,S&&!l.value&&f.value&&x()},M=S=>{S.key==="Escape"&&(s.value||c.value?V():l.value&&f.value&&x())};return e.onMounted(()=>{W(),window.addEventListener("resize",W),document.addEventListener("keydown",M)}),e.onUnmounted(()=>{window.removeEventListener("resize",W),document.removeEventListener("keydown",M)}),n({isMobile:l,isMobileOpen:f,submenuOpen:s,managementSettingsOpen:c,contentMarginLeft:E,closeAllMenus:V}),(S,P)=>{const j=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(()=>[f.value&&l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-30 lg:hidden",onClick:x})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("aside",{class:e.normalizeClass(e.unref(h)("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(h)("transform h-screen",f.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",Eg,[e.createElementVNode("h2",Ng,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:x},[...P[0]||(P[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",$g,[e.createElementVNode("div",zg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.navigationItems,b=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:b.name||b.label},[b.type==="link"?(e.openBlock(),e.createElementBlock("div",Dg,[m(b)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(h)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 cursor-pointer group relative py-4 px-3",I(b)?"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=>u(b)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",I(b)?"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(L,{icon:b.icon,class:"w-6 h-6"},null,8,["icon"])],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(h)("text-xs font-medium text-center",I(b)?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))},e.toDisplayString(b.label),3),b.badge?(e.openBlock(),e.createElementBlock("span",Fg,e.toDisplayString(b.badge),1)):e.createCommentVNode("",!0),I(b)&&m(b)?(e.openBlock(),e.createElementBlock("div",Ig)):e.createCommentVNode("",!0)],10,Ag)):(e.openBlock(),e.createBlock(j,{key:0,to:b.route,class:e.normalizeClass(e.unref(h)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 group relative py-4 px-3",I(b)?"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=>y(b)},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",I(b)?"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(L,{icon:b.icon,class:"w-6 h-6"},null,8,["icon"])],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(h)("text-xs font-medium text-center",I(b)?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))},e.toDisplayString(b.label),3),b.badge?(e.openBlock(),e.createElementBlock("span",Tg,e.toDisplayString(b.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","class","onClick"]))])):e.createCommentVNode("",!0)],64))),128))])]),t.showManagementSettings?(e.openBlock(),e.createElementBlock("div",Pg,[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("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:d},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("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(L,{icon:"cog",class:"w-6 h-6"})],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(h)("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",jg)):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(h)("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(p.value)},[e.createElementVNode("div",Lg,[e.createElementVNode("div",Og,[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:g},[...P[1]||(P[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",Mg,e.toDisplayString(i.value?.label),1)])]),e.createElementVNode("nav",Rg,[e.createElementVNode("div",_g,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value?.subItems,b=>(e.openBlock(),e.createBlock(j,{key:b.name,to:b.route,class:e.normalizeClass(e.unref(h)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",I(b)?"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=>B(b)},{default:e.withCtx(()=>[I(b)?(e.openBlock(),e.createElementBlock("div",qg)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",I(b)?"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"))},[b.icon?(e.openBlock(),e.createBlock(L,{key:0,icon:b.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(h)("flex-1 truncate font-semibold",I(b)?"text-blue-700":"text-gray-700"))},e.toDisplayString(b.label),3),b.badge?(e.openBlock(),e.createElementBlock("span",Ug,e.toDisplayString(b.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(()=>[c.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:e.normalizeClass(e.unref(h)("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({...v.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:k},[...P[2]||(P[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)])]),P[3]||(P[3]=e.createElementVNode("h3",{class:"flex-1 text-sm font-bold text-gray-900 ml-2"}," Management Settings ",-1))])]),e.createElementVNode("nav",Wg,[e.createElementVNode("div",Yg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.managementSettings,b=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:b.name},[b.type==="section"?(e.openBlock(),e.createElementBlock("div",Hg,e.toDisplayString(b.label),1)):b.route?(e.openBlock(),e.createBlock(j,{key:1,to:b.route,class:e.normalizeClass(e.unref(h)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",I(b)?"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=>U(b)},{default:e.withCtx(()=>[I(b)?(e.openBlock(),e.createElementBlock("div",Gg)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors",I(b)?"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"))},[b.icon?(e.openBlock(),e.createBlock(L,{key:0,icon:b.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(h)("flex-1 truncate font-semibold",I(b)?"text-blue-700":"text-gray-700"))},e.toDisplayString(b.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||c.value)&&l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-30 bg-transparent",onClick:V})):e.createCommentVNode("",!0)]),_:1})])}}},jr={__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))}},Xg={key:0,class:"absolute left-3 top-0 w-0.5 h-full bg-slate-200"},Kg={class:"z-10 flex items-center justify-center w-6 h-6 rounded-full border-2 border-blue-500 bg-white text-blue-500"},Jg={class:"text-slate-900 font-medium"},Qg={key:0,class:"text-slate-500 text-sm"},Zg={class:"mt-2 text-slate-600 text-sm"},Lr={__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",Xg)):e.createCommentVNode("",!0),e.createElementVNode("div",Kg,[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",Jg,[e.renderSlot(n.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),t.subtitle?(e.openBlock(),e.createElementBlock("p",Qg,[e.renderSlot(n.$slots,"subtitle",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Zg,[e.renderSlot(n.$slots,"default")])],2)],2))}},ep={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())}}},tp={class:"container mx-auto px-4 relative z-10"},ap={class:"grid lg:grid-cols-10 gap-8 items-center min-h-screen"},np={class:"lg:col-span-6 text-white text-center lg:text-left space-y-6"},rp={class:"mb-6"},op={class:"text-4xl lg:text-6xl font-bold mb-2"},lp={class:"text-white"},sp={class:"flex items-center justify-center lg:justify-start mb-6"},ip={class:"text-3xl lg:text-4xl font-bold text-white"},cp={class:"lg:col-span-4"},dp={class:"bg-white rounded-lg shadow-xl p-6 lg:p-8 max-w-md mx-auto"},up={key:0,class:"mb-6"},mp={class:"text-center"},fp={class:"text-2xl font-bold text-gray-900"},gp={key:0,class:"text-gray-600 mt-2"},pp={class:"space-y-6"},vp={key:1,class:"mt-6"},hp={key:0,class:"mt-6 text-center"},bp={class:"absolute bottom-4 right-4 text-right"},yp={class:"flex items-end justify-end mb-2"},xp={class:"text-right mr-3"},kp={class:"text-red-500 font-bold text-xs"},wp={class:"text-white text-xs"},Cp={class:"text-white/70 text-xs"},Bp={class:"w-8 h-8 bg-red-500 rounded flex items-center justify-center text-white font-bold text-xs"},Sp={class:"text-white/70 text-xs"},Vp={class:"absolute bottom-4 left-4 flex gap-2"},Ep=["href"];function Np(t,n,a,r,o,l){const s=e.resolveComponent("router-view"),i=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",tp,[e.createElementVNode("div",ap,[e.createElementVNode("div",np,[e.createElementVNode("div",rp,[e.createElementVNode("div",op,[e.createElementVNode("span",{style:e.normalizeStyle({color:a.primaryColor})},e.toDisplayString(a.primaryLogoPrefix),5),e.createElementVNode("span",lp,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",sp,[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",ip,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",cp,[e.createElementVNode("div",dp,[t.$slots["card-header"]||a.title?(e.openBlock(),e.createElementBlock("div",up,[e.renderSlot(t.$slots,"card-header",{},()=>[e.createElementVNode("div",mp,[e.createElementVNode("h1",fp,e.toDisplayString(a.title),1),a.subtitle?(e.openBlock(),e.createElementBlock("p",gp,e.toDisplayString(a.subtitle),1)):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",pp,[e.createVNode(s)]),t.$slots["card-footer"]?(e.openBlock(),e.createElementBlock("div",vp,[e.renderSlot(t.$slots,"card-footer")])):e.createCommentVNode("",!0)]),t.$slots.links?(e.openBlock(),e.createElementBlock("div",hp,[e.renderSlot(t.$slots,"links")])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",bp,[e.createElementVNode("div",yp,[e.createElementVNode("div",xp,[e.createElementVNode("div",kp,e.toDisplayString(a.companyName),1),e.createElementVNode("div",wp,e.toDisplayString(a.companyType),1),e.createElementVNode("div",Cp,e.toDisplayString(a.companyTagline),1)]),e.createElementVNode("div",Bp,e.toDisplayString(a.companyInitials),1)]),e.createElementVNode("div",Sp,[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",Vp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.socialLinks,c=>(e.openBlock(),e.createElementBlock("a",{key:c.name,href:c.url,class:e.normalizeClass(["w-8 h-7 flex items-center justify-center rounded text-xs transition-colors",c.variant==="primary"?"bg-blue-600 hover:bg-blue-700 text-white":c.variant==="info"?"bg-cyan-500 hover:bg-cyan-600 text-white":"bg-gray-600 hover:bg-gray-700 text-white"])},[e.createVNode(i,{icon:["fab",c.icon]},null,8,["icon"])],10,Ep))),128))])],4)}const Or=it(ep,[["render",Np]]),$p={class:"min-h-screen bg-gray-50"},zp={class:"flex-1"},Dp={key:0,class:"bg-white border-b border-gray-200"},Tp={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},Ap={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},Mr={__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 r=e.resolveComponent("Logo"),o=e.resolveComponent("MainNavigation"),l=e.resolveComponent("Button"),s=e.resolveComponent("Header"),i=e.resolveComponent("Breadcrumb"),c=e.resolveComponent("Text"),f=e.resolveComponent("Footer");return e.openBlock(),e.createElementBlock("div",$p,[e.createVNode(s,null,{logo:e.withCtx(()=>[e.renderSlot(n.$slots,"logo",{},()=>[e.createVNode(r)])]),navigation:e.withCtx(()=>[e.renderSlot(n.$slots,"navigation",{},()=>[e.createVNode(o,{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",zp,[t.showBreadcrumb?(e.openBlock(),e.createElementBlock("div",Dp,[e.createElementVNode("div",Tp,[e.renderSlot(n.$slots,"breadcrumb",{},()=>[e.createVNode(i,{items:t.breadcrumbItems},null,8,["items"])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Ap,[e.renderSlot(n.$slots,"default")])]),e.createVNode(f,null,{brand:e.withCtx(()=>[e.renderSlot(n.$slots,"footer-brand",{},()=>[e.createVNode(r,{class:"mb-4"}),e.createVNode(c,{class:"text-gray-600 max-w-md"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" Your application description goes here. ",-1)])]),_:1})])]),_:3})])}}},Fp={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(),r=e.inject("$router",null)||a?.appContext.app.config.globalProperties?.$router,o=e.ref(!1),l=e.ref(!1),s=e.ref(navigator.onLine),i=e.ref(`err_${Date.now()}_${Math.random().toString(36).substr(2,9)}`),c=e.ref(!1),f=()=>{s.value=navigator.onLine};e.onMounted(()=>{window.addEventListener("online",f),window.addEventListener("offline",f)}),e.onUnmounted(()=>{window.removeEventListener("online",f),window.removeEventListener("offline",f)});const p=e.computed(()=>{const _={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 _[t.errorType]||_[404]}),v=e.computed(()=>p.value),E=e.computed(()=>t.errorTitle||v.value.title),y=e.computed(()=>t.errorMessage||v.value.message),x=e.computed(()=>v.value.homeButtonIcon||"🏠"),m=e.computed(()=>t.showAdditionalInfo?v.value.additionalInfo:null),u=()=>{r?r.push(t.homeUrl):window.location.href=t.homeUrl},d=()=>{r&&window.history.length>1?r.back():window.history.length>1?window.history.back():u(),n("back")},g=async()=>{o.value=!0;try{await new Promise(_=>setTimeout(_,1e3)),window.location.reload()}catch(_){console.error("Retry failed:",_)}finally{o.value=!1}n("retry")},k=e.computed(()=>["min-h-screen relative flex items-center justify-center","px-4 sm:px-6 lg:px-8"]),V=e.computed(()=>["absolute inset-0 -z-10"]),B=e.computed(()=>["w-full max-w-2xl mx-auto text-center"]),U=e.computed(()=>["mb-8"]),I=e.computed(()=>["space-y-8"]),W=e.computed(()=>["flex justify-center mb-6"]),M=e.computed(()=>["w-32 h-32 flex items-center justify-center"]),S=e.computed(()=>["space-y-4"]),P=e.computed(()=>["text-6xl font-bold text-slate-300 mb-4"]),j=e.computed(()=>["text-3xl font-bold text-slate-900"]),b=e.computed(()=>["text-lg text-slate-600 max-w-lg mx-auto"]),N=e.computed(()=>["mt-8"]),F=e.computed(()=>["mt-8"]),Y=e.computed(()=>["mt-6"]);return{isRetrying:o,reportSent:l,isOnline:s,errorId:i,isDev:c,errorConfig:v,title:E,message:y,homeButtonIcon:x,additionalInfoConfig:m,goHome:u,goBack:d,retry:g,layoutClasses:k,backgroundClasses:V,contentClasses:B,headerClasses:U,errorContentClasses:I,illustrationClasses:W,iconContainerClasses:M,detailsClasses:S,codeClasses:P,titleClasses:j,messageClasses:b,actionsClasses:N,additionalInfoClasses:F,helpClasses:Y}}},Ip={class:"flex justify-center"},Pp={class:"flex items-center gap-3"},jp={class:"text-2xl font-bold text-slate-900"},Lp={key:1,class:"bg-red-100 border border-red-200 rounded-lg p-4 mx-auto max-w-md mb-6"},Op={class:"flex flex-col sm:flex-row gap-4 justify-center"},Mp=["disabled"],Rp={key:0,class:"animate-spin"},_p={key:1},qp=["disabled"],Up={key:0},Wp={key:1},Yp={key:0,class:"mt-8 max-w-md mx-auto"},Hp={class:"bg-white rounded-lg border border-slate-200 shadow-sm p-6"},Gp={class:"text-lg font-semibold text-slate-900 mb-4"},Xp={class:"space-y-3"},Kp={class:"text-sm text-slate-600"},Jp=["href"],Qp={key:5,class:"text-xs text-slate-400 font-mono mt-4"};function Zp(t,n,a,r,o,l){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.layoutClasses)},[a.showBackground?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.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(r.contentClasses)},[t.$slots.header||a.showLogo?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.headerClasses)},[e.renderSlot(t.$slots,"header",{},()=>[e.createElementVNode("div",Ip,[e.renderSlot(t.$slots,"logo",{},()=>[e.createElementVNode("div",Pp,[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",jp,e.toDisplayString(a.brandName),1)])])])])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.errorContentClasses)},[t.$slots.illustration||a.showDefaultIllustration?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.illustrationClasses)},[e.renderSlot(t.$slots,"illustration",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(r.iconContainerClasses)},[e.createElementVNode("div",{class:"text-8xl",style:e.normalizeStyle({color:r.errorConfig.color})},e.toDisplayString(r.errorConfig.icon),5)],2)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.detailsClasses)},[a.errorCode?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.codeClasses)},e.toDisplayString(a.errorCode),3)):e.createCommentVNode("",!0),e.createElementVNode("h1",{class:e.normalizeClass(r.titleClasses)},[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(r.title),1)])],2),e.createElementVNode("p",{class:e.normalizeClass(r.messageClasses)},[e.renderSlot(t.$slots,"message",{},()=>[e.createTextVNode(e.toDisplayString(r.message),1)])],2)],2),r.isOnline?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Lp,[...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(r.actionsClasses)},[e.renderSlot(t.$slots,"actions",{},()=>[e.createElementVNode("div",Op,[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)=>r.goHome&&r.goHome(...s))},[e.createElementVNode("span",null,e.toDisplayString(r.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)=>r.goBack&&r.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:r.isRetrying||!r.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)=>r.retry&&r.retry(...s))},[r.isRetrying?(e.openBlock(),e.createElementBlock("span",Rp,"↻")):(e.openBlock(),e.createElementBlock("span",_p,"🔄")),e.createTextVNode(" "+e.toDisplayString(r.isRetrying?"Retrying...":a.retryButtonText),1)],8,Mp)):e.createCommentVNode("",!0),a.showSupportButton?(e.openBlock(),e.createElementBlock("button",{key:3,disabled:r.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"))},[r.reportSent?(e.openBlock(),e.createElementBlock("span",Up,"✓")):(e.openBlock(),e.createElementBlock("span",Wp,"📝")),e.createTextVNode(" "+e.toDisplayString(r.reportSent?"Report Sent":"Contact Support"),1)],8,qp)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),t.$slots["additional-info"]||a.showAdditionalInfo?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(r.additionalInfoClasses)},[e.renderSlot(t.$slots,"additional-info",{},()=>[r.additionalInfoConfig?(e.openBlock(),e.createElementBlock("div",Yp,[e.createElementVNode("div",Hp,[e.createElementVNode("h3",Gp,e.toDisplayString(r.additionalInfoConfig.title),1),e.createElementVNode("ul",Xp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.additionalInfoConfig.items,(s,i)=>(e.openBlock(),e.createElementBlock("li",{key:i,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(r.helpClasses)},[e.renderSlot(t.$slots,"help",{},()=>[e.createElementVNode("p",Kp,[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,Jp)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),r.isDev?(e.openBlock(),e.createElementBlock("div",Qp," Error ID: "+e.toDisplayString(r.errorId),1)):e.createCommentVNode("",!0)],2)],2)],2)}const Rr=it(Fp,[["render",Zp]]),Ft={mounted(t,n){if(!n.value)return;const a=Object.keys(n.modifiers)[0]||"top",r=document.createElement("div");r.textContent=n.value,r.className="tooltip-custom",r.style.cssText=`
607
+ `},a=t,r=e.ref(!1),o=()=>r.value=!r.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"}}}),i=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"}}}),c=e.computed(()=>h(l({variant:a.variant}))),f=e.computed(()=>h(s({size:a.size}))),p=e.computed(()=>h(i({size:a.size})));return(v,E)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value)},[e.createVNode(Z,{class:e.normalizeClass(f.value),"aria-expanded":r.value,onClick:o},{default:e.withCtx(()=>[e.renderSlot(v.$slots,"header",{isOpen:r.value}),e.createVNode(n,{class:e.normalizeClass(e.unref(h)("w-5 h-5 transition-transform ml-2",{"rotate-180":r.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(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(p.value)},[e.renderSlot(v.$slots,"content",{isOpen:r.value})],2)):e.createCommentVNode("",!0)]),_:3})],2))}},Wd={class:"relative w-full"},Yd={class:"relative"},Hd=["id","value","disabled","placeholder","required","aria-describedby"],Gd={class:"flex items-center justify-between mb-3"},Xd={class:"text-sm font-medium"},Kd={class:"grid grid-cols-7 gap-1 mb-2"},Jd={class:"grid grid-cols-7 gap-1"},Qd=["disabled","onClick"],Zd={key:0,class:"mt-4 pt-3 border-t border-slate-200"},Br={__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,r=n,o=e.ref(!1),l=new Date,s=e.ref(l.getMonth()),i=e.ref(l.getFullYear()),c=e.ref(null),f=["Su","Mo","Tu","We","Th","Fr","Sa"],p=e.computed(()=>new Date(i.value,s.value).toLocaleString("default",{month:"long"})),v=e.computed(()=>new Date(i.value,s.value+1,0).getDate()),E=e.computed(()=>new Date(i.value,s.value,1).getDay()),y=e.computed(()=>{const j=new Date(i.value,s.value,0).getDate(),b=E.value;return Array.from({length:b},(N,F)=>j-b+F+1)}),x=e.computed(()=>{const j=y.value.length+v.value,b=j%7===0?0:7-j%7;return Array.from({length:b},(N,F)=>F+1)}),m=e.computed(()=>c.value?u(c.value):"");function u(j){if(!j)return"";const b=new Date(j),N=String(b.getMonth()+1).padStart(2,"0"),F=String(b.getDate()).padStart(2,"0"),Y=b.getFullYear();return a.format.replace("MM",N).replace("DD",F).replace("YYYY",Y)}function d(j){if(!j)return null;if(j instanceof Date)return j;const b=new Date(j);return isNaN(b.getTime())?null:b}function g(j){if(!c.value)return!1;const b=new Date(c.value);return b.getDate()===j&&b.getMonth()===s.value&&b.getFullYear()===i.value}function k(j){const b=new Date(i.value,s.value,j);if(a.min){const N=d(a.min);if(N&&b<N)return!0}if(a.max){const N=d(a.max);if(N&&b>N)return!0}return!1}function V(){a.disabled||(o.value=!o.value)}function B(){o.value=!1}function U(){s.value===0?(s.value=11,i.value--):s.value--}function I(){s.value===11?(s.value=0,i.value++):s.value++}function W(j){if(k(j))return;const b=new Date(i.value,s.value,j);c.value=b,r("update:modelValue",b.toISOString().split("T")[0]),o.value=!1}function M(){s.value=l.getMonth(),i.value=l.getFullYear(),W(l.getDate())}function S(){c.value=null,r("update:modelValue","")}e.watch(()=>a.modelValue,j=>{if(j){const b=d(j);b&&(c.value=b,s.value=b.getMonth(),i.value=b.getFullYear())}else c.value=null},{immediate:!0});function P(j){j.key==="Escape"&&o.value&&B()}return e.onMounted(()=>{document.addEventListener("keydown",P)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",P)}),(j,b)=>(e.openBlock(),e.createElementBlock("div",Wd,[e.createElementVNode("div",Yd,[e.createElementVNode("input",{id:t.id,type:"text",value:m.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:V},null,8,Hd),b[2]||(b[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&&m.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(S,["stop"])},[...b[1]||(b[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(()=>[o.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:b[0]||(b[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Gd,[e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-gray-100 rounded","aria-label":"Previous Month",onClick:U},[...b[3]||(b[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",Xd,e.toDisplayString(p.value)+" "+e.toDisplayString(i.value),1),e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-gray-100 rounded","aria-label":"Next Month",onClick:I},[...b[4]||(b[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",Kd,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(f,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",Jd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(N,F)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+F,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(v.value,N=>(e.openBlock(),e.createElementBlock("button",{key:N,type:"button",disabled:k(N),class:e.normalizeClass(["w-8 h-8 text-sm rounded flex items-center justify-center",g(N)?"bg-blue-500 text-white":"hover:bg-gray-100",k(N)?"text-gray-300 cursor-not-allowed":""]),onClick:F=>W(N)},e.toDisplayString(N),11,Qd))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(N,F)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+F,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(N),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",Zd,[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:M}," Today ")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-[99998]",onClick:B})):e.createCommentVNode("",!0)]))}},eu={class:"flex items-start justify-between"},tu={class:"flex-1 min-w-0"},au={key:0,class:"flex-shrink-0 ml-4"},nu="text-lg font-semibold text-slate-900 truncate",ru="text-sm text-slate-600 mt-1",Sr={__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"}}}),r=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"}}}),o=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(i,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(h)(e.unref(n)({variant:t.variant,padding:t.padding})))},[i.$slots.header||t.title||t.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(h)(e.unref(a)({padding:t.padding})))},[e.renderSlot(i.$slots,"header",{},()=>[e.createElementVNode("div",eu,[e.createElementVNode("div",tu,[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(ru)},e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),i.$slots.actions?(e.openBlock(),e.createElementBlock("div",au,[e.renderSlot(i.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),i.$slots.filters?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(h)(e.unref(r)({padding:t.padding})))},[e.renderSlot(i.$slots,"filters")],2)):e.createCommentVNode("",!0),i.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(h)(e.unref(o)({padding:t.padding})))},[e.renderSlot(i.$slots,"default")],2)):e.createCommentVNode("",!0),i.$slots.legend?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(h)(e.unref(l)({padding:t.padding})))},[e.renderSlot(i.$slots,"legend")],2)):e.createCommentVNode("",!0),i.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(e.unref(h)(e.unref(s)({padding:t.padding})))},[e.renderSlot(i.$slots,"footer")],2)):e.createCommentVNode("",!0)],2))}},ou={class:"w-full h-full"},lu=["width","height","viewBox"],su={key:0},iu=["x1","y1","x2","y2","stroke"],cu=["x","y","width","height","fill","onMouseenter"],du={key:1},uu=["x","y"],mu={key:2},fu=["x","y"],gu={key:3},pu=["x","y","width","height","fill","stroke"],vu=["x","y"],Vr={__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,r=n,o=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),i=e.computed(()=>(a.width-a.padding.left-a.padding.right)/a.data.length*.2),c=e.computed(()=>{const u=[],d=a.height-a.padding.top-a.padding.bottom,g=5;for(let k=0;k<=g;k++){const V=a.padding.top+d/g*k;u.push(V)}return u}),f=u=>a.padding.left+u*(s.value+i.value)+i.value/2,p=u=>{const d=a.height-a.padding.top-a.padding.bottom,g=d/l.value;return a.padding.top+d-u*g},v=u=>{const g=(a.height-a.padding.top-a.padding.bottom)/l.value;return u*g},E=u=>a.colors[u%a.colors.length],y=u=>{const d=a.height-a.padding.top-a.padding.bottom,g=(a.height-a.padding.bottom-u)/d*l.value;return Math.round(g)},x=(u,d,g)=>{const k=u.target.getBoundingClientRect(),V=a.labels[g]||`Item ${g+1}`;o.value={visible:!0,x:k.left+k.width/2,y:k.top,width:80,height:24,content:`${V}: ${d}`},r("bar-hover",{value:d,index:g,label:V})},m=()=>{o.value.visible=!1};return(u,d)=>(e.openBlock(),e.createElementBlock("div",ou,[(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",su,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,g=>(e.openBlock(),e.createElementBlock("line",{key:`grid-${g}`,x1:t.padding.left,y1:g,x2:t.width-t.padding.right,y2:g,stroke:t.gridColor,"stroke-width":"1","stroke-dasharray":"2,2"},null,8,iu))),128))])):e.createCommentVNode("",!0),e.createElementVNode("g",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,(g,k)=>(e.openBlock(),e.createElementBlock("rect",{key:`bar-${k}`,x:f(k),y:p(g),width:s.value,height:v(g),fill:E(k),class:e.normalizeClass(t.barClasses),onMouseenter:V=>x(V,g,k),onMouseleave:m},null,42,cu))),128))]),t.showXAxis?(e.openBlock(),e.createElementBlock("g",du,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.labels,(g,k)=>(e.openBlock(),e.createElementBlock("text",{key:`xlabel-${k}`,x:f(k)+s.value/2,y:t.height-t.padding.bottom+20,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"middle"},e.toDisplayString(g),11,uu))),128))])):e.createCommentVNode("",!0),t.showYAxis?(e.openBlock(),e.createElementBlock("g",mu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,g=>(e.openBlock(),e.createElementBlock("text",{key:`ylabel-${g}`,x:t.padding.left-10,y:g+4,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"end"},e.toDisplayString(y(g)),11,fu))),128))])):e.createCommentVNode("",!0),o.value.visible?(e.openBlock(),e.createElementBlock("g",gu,[e.createElementVNode("rect",{x:o.value.x-o.value.width/2,y:o.value.y-o.value.height-10,width:o.value.width,height:o.value.height,fill:t.tooltipBackground,stroke:t.tooltipBorder,"stroke-width":"1",rx:"4"},null,8,pu),e.createElementVNode("text",{x:o.value.x,y:o.value.y-o.value.height/2-2,class:e.normalizeClass(t.tooltipTextClasses),"text-anchor":"middle"},e.toDisplayString(o.value.content),11,vu)])):e.createCommentVNode("",!0)],8,lu))]))}},hu={class:"w-full h-full"},bu=["width","height","viewBox"],yu={key:0},xu=["x1","y1","x2","y2","stroke"],ku=["d","stroke","stroke-width"],wu={key:1},Cu=["cx","cy","r","fill","stroke","onMouseenter"],Bu=["d","fill","fill-opacity"],Su={key:3},Vu=["x","y"],Eu={key:4},Nu=["x","y"],$u={key:5},zu=["x","y","width","height","fill","stroke"],Du=["x","y"],Er={__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,r=n,o=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((m,u)=>({x:p(u),y:v(m),value:m}))),i=e.computed(()=>s.value.length===0?"":s.value.map((u,d)=>`${d===0?"M":"L"} ${u.x} ${u.y}`).join(" ")),c=e.computed(()=>{if(s.value.length===0)return"";const m=s.value.map((g,k)=>`${k===0?"M":"L"} ${g.x} ${g.y}`).join(" "),u=a.height-a.padding.bottom,d=`L ${s.value[s.value.length-1].x} ${u} L ${s.value[0].x} ${u} Z`;return m+" "+d}),f=e.computed(()=>{const m=[],u=a.height-a.padding.top-a.padding.bottom,d=5;for(let g=0;g<=d;g++){const k=a.padding.top+u/d*g;m.push(k)}return m}),p=m=>{const d=(a.width-a.padding.left-a.padding.right)/(a.data.length-1||1);return a.padding.left+m*d},v=m=>{const u=a.height-a.padding.top-a.padding.bottom,d=u/l.value;return a.padding.top+u-m*d},E=m=>{const u=a.height-a.padding.top-a.padding.bottom,d=(a.height-a.padding.bottom-m)/u*l.value;return Math.round(d)},y=(m,u,d)=>{const g=m.target.getBoundingClientRect(),k=a.labels[d]||`Point ${d+1}`;o.value={visible:!0,x:g.left+g.width/2,y:g.top,width:80,height:24,content:`${k}: ${u}`},r("point-hover",{value:u,index:d,label:k})},x=()=>{o.value.visible=!1};return(m,u)=>(e.openBlock(),e.createElementBlock("div",hu,[(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",yu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,d=>(e.openBlock(),e.createElementBlock("line",{key:`grid-${d}`,x1:t.padding.left,y1:d,x2:t.width-t.padding.right,y2:d,stroke:t.gridColor,"stroke-width":"1","stroke-dasharray":"2,2"},null,8,xu))),128))])):e.createCommentVNode("",!0),e.createElementVNode("path",{d:i.value,stroke:t.lineColor,"stroke-width":t.strokeWidth,fill:"none",class:e.normalizeClass(t.lineClasses)},null,10,ku),t.showPoints?(e.openBlock(),e.createElementBlock("g",wu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(d,g)=>(e.openBlock(),e.createElementBlock("circle",{key:`point-${g}`,cx:d.x,cy:d.y,r:t.pointRadius,fill:t.pointColor,stroke:t.lineColor,"stroke-width":2,class:e.normalizeClass(t.pointClasses),onMouseenter:k=>y(k,d.value,g),onMouseleave:x},null,42,Cu))),128))])):e.createCommentVNode("",!0),t.fillArea?(e.openBlock(),e.createElementBlock("path",{key:2,d:c.value,fill:t.fillColor,"fill-opacity":t.fillOpacity},null,8,Bu)):e.createCommentVNode("",!0),t.showXAxis?(e.openBlock(),e.createElementBlock("g",Su,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.labels,(d,g)=>(e.openBlock(),e.createElementBlock("text",{key:`xlabel-${g}`,x:p(g),y:t.height-t.padding.bottom+20,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"middle"},e.toDisplayString(d),11,Vu))),128))])):e.createCommentVNode("",!0),t.showYAxis?(e.openBlock(),e.createElementBlock("g",Eu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,d=>(e.openBlock(),e.createElementBlock("text",{key:`ylabel-${d}`,x:t.padding.left-10,y:d+4,class:e.normalizeClass(t.axisLabelClasses),"text-anchor":"end"},e.toDisplayString(E(d)),11,Nu))),128))])):e.createCommentVNode("",!0),o.value.visible?(e.openBlock(),e.createElementBlock("g",$u,[e.createElementVNode("rect",{x:o.value.x-o.value.width/2,y:o.value.y-o.value.height-10,width:o.value.width,height:o.value.height,fill:t.tooltipBackground,stroke:t.tooltipBorder,"stroke-width":"1",rx:"4"},null,8,zu),e.createElementVNode("text",{x:o.value.x,y:o.value.y-o.value.height/2-2,class:e.normalizeClass(t.tooltipTextClasses),"text-anchor":"middle"},e.toDisplayString(o.value.content),11,Du)])):e.createCommentVNode("",!0)],8,bu))]))}},Tu={class:"bg-white border-b border-gray-200"},Au={key:0,class:"flex items-center gap-3 min-w-64"},Fu={class:"relative flex-1"},Iu={class:"relative flex-1"},Pu={key:1,class:"min-w-40"},ju={class:"relative"},Lu={key:2,class:"min-w-40"},Ou={class:"relative"},Mu=["value"],Ru={key:3,class:"flex items-center gap-2"},_u={class:"flex items-center gap-3 ml-auto"},qu={class:"flex items-center gap-3 flex-wrap"},Uu=["onClick"],Nr={__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,r=n,o=e.ref(""),l=e.ref(""),s=e.ref("bar"),i=e.ref(""),c=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"}}),f=e.computed(()=>o.value||l.value||i.value),p=e.computed(()=>{const M=[];if(o.value||l.value){let S="";o.value&&l.value?S=`${o.value} to ${l.value}`:o.value?S=`From ${o.value}`:l.value&&(S=`Until ${l.value}`),S&&M.push({key:"date",label:"Date Range",value:S,icon:"calendar"})}if(i.value){const S=a.dataSources.find(P=>P.value===i.value);M.push({key:"dataSource",label:"Data Source",value:S?.label||i.value,icon:"database"})}return M}),v=e.computed(()=>h(c({variant:a.variant,padding:a.padding}))),E=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"),y=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"),x=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"),m=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"),u=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"),d=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),g=e.computed(()=>"text-sm font-semibold text-blue-800"),k=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"),V=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),B=M=>{s.value=M.target.value,r("update:chartType",M.target.value)},U=M=>{i.value=M.target.value,r("update:dataSource",M.target.value)},I=()=>{o.value="",l.value="",i.value="",r("clear-filters")},W=M=>{switch(M){case"date":o.value="",l.value="";break;case"dataSource":i.value="";break}};return e.watch(()=>o.value,M=>{r("update:dateFrom",M)}),e.watch(()=>l.value,M=>{r("update:dateTo",M)}),(M,S)=>(e.openBlock(),e.createElementBlock("div",Tu,[e.createElementVNode("div",{class:e.normalizeClass(v.value)},[t.showDateFilter?(e.openBlock(),e.createElementBlock("div",Au,[e.createElementVNode("div",Fu,[e.createVNode(L,{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":S[0]||(S[0]=P=>o.value=P),type:"date",class:e.normalizeClass(E.value),placeholder:"From date"},null,2),[[e.vModelText,o.value]])]),S[6]||(S[6]=e.createElementVNode("span",{class:"text-gray-500 text-sm"},"to",-1)),e.createElementVNode("div",Iu,[e.createVNode(L,{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":S[1]||(S[1]=P=>l.value=P),type:"date",class:e.normalizeClass(E.value),placeholder:"To date"},null,2),[[e.vModelText,l.value]])])])):e.createCommentVNode("",!0),t.showChartTypeFilter?(e.openBlock(),e.createElementBlock("div",Pu,[e.createElementVNode("div",ju,[e.createVNode(ce,{modelValue:s.value,"onUpdate:modelValue":S[2]||(S[2]=P=>s.value=P),class:e.normalizeClass(y.value),onChange:B},{default:e.withCtx(()=>[...S[7]||(S[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(L,{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",Lu,[e.createElementVNode("div",Ou,[e.createVNode(ce,{modelValue:i.value,"onUpdate:modelValue":S[3]||(S[3]=P=>i.value=P),class:e.normalizeClass(y.value),onChange:U},{default:e.withCtx(()=>[S[8]||(S[8]=e.createElementVNode("option",{value:""}," All Sources ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dataSources,P=>(e.openBlock(),e.createElementBlock("option",{key:P.value,value:P.value},e.toDisplayString(P.label),9,Mu))),128))]),_:1},8,["modelValue","class"]),e.createVNode(L,{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),M.$slots.filters?(e.openBlock(),e.createElementBlock("div",Ru,[e.renderSlot(M.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",_u,[f.value?(e.openBlock(),e.createBlock(Z,{key:0,class:e.normalizeClass(x.value),onClick:I},{default:e.withCtx(()=>[e.createVNode(L,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),S[9]||(S[9]=e.createTextVNode(" Clear Filters ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(Z,{key:1,class:e.normalizeClass(m.value),onClick:S[4]||(S[4]=P=>M.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(L,{icon:"download",class:"w-4 h-4 mr-2"}),S[10]||(S[10]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createBlock(Z,{key:2,class:e.normalizeClass(u.value),onClick:S[5]||(S[5]=P=>M.$emit("refresh"))},{default:e.withCtx(()=>[e.createVNode(L,{icon:"sync",class:"w-4 h-4 mr-2"}),S[11]||(S[11]=e.createTextVNode(" Refresh ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0)])],2),p.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(d.value)},[e.createElementVNode("div",qu,[e.createElementVNode("span",{class:e.normalizeClass(g.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,P=>(e.openBlock(),e.createElementBlock("div",{key:P.key,class:e.normalizeClass(k.value)},[e.createVNode(L,{icon:P.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(P.label)+": "+e.toDisplayString(P.value),1),e.createElementVNode("button",{class:e.normalizeClass(V.value),onClick:j=>W(P.key)},[e.createVNode(L,{icon:"xmark",class:"w-3 h-3"})],10,Uu)],2))),128))])],2)):e.createCommentVNode("",!0)]))}},Wu={class:"flex items-start justify-between"},Yu={key:0,class:"flex items-center gap-2"},Zt={__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"}}),r=z.cva("font-semibold text-slate-900",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),o=z.cva("text-slate-600 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),l=e.computed(()=>h(a({variant:n.variant,padding:n.padding}))),s=e.computed(()=>h(r({size:"md"}))),i=e.computed(()=>h(o({size:"md"})));return(c,f)=>t.title||t.description||c.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(l.value)},[e.renderSlot(c.$slots,"header",{},()=>[e.createElementVNode("div",Wu,[e.createElementVNode("div",null,[t.title?(e.openBlock(),e.createBlock(Qe,{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(Qe,{key:1,class:e.normalizeClass(i.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.description),1)]),_:1},8,["class"])):e.createCommentVNode("",!0)]),c.$slots.filters?(e.openBlock(),e.createElementBlock("div",Yu,[e.renderSlot(c.$slots,"filters")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)}},ea={__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,r=n,o=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=m=>typeof m=="string"?m:m?.key||m?.field||"unknown",i=(m,u)=>{const d=s(u);return typeof u=="object"&&u.accessor?u.accessor(m):d&&d.includes(".")?d.split(".").reduce((g,k)=>g?.[k],m):m?.[d]},c=(m,u)=>{const d=i(m,u);return typeof u=="object"&&u.formatter?u.formatter(d,m):d==null?"":d instanceof Date?d.toLocaleDateString():Array.isArray(d)?d.join(", "):d},f=()=>{a.clickableRows&&r("row-click",{item:a.item,index:a.index})},p=m=>typeof m=="object"&&m.align?m.align:"left",v=e.computed(()=>h(o({striped:a.striped,hoverable:a.hoverable&&!a.clickableRows,clickable:a.clickableRows,selected:a.isSelected,variant:a.variant}))),E=m=>{const u=p(m);return h(l({density:a.density,align:u}),m.cellClasses)},y=e.computed(()=>h(l({density:a.density}),"w-12")),x=e.computed(()=>h(l({density:a.density,align:"right"}),"font-medium"));return(m,u)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(v.value),onClick:f},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(y.value)},[e.createVNode(rt,{"model-value":t.isSelected,"onUpdate:modelValue":u[0]||(u[0]=d=>m.$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,d=>(e.openBlock(),e.createElementBlock("td",{key:s(d),class:e.normalizeClass(E(d))},[e.renderSlot(m.$slots,`cell-${s(d)}`,{item:t.item,value:i(t.item,d),column:d,index:t.index},()=>[e.createTextVNode(e.toDisplayString(c(t.item,d)),1)])],2))),128)),m.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(x.value)},[e.renderSlot(m.$slots,"actions",{item:t.item,index:t.index})],2)):e.createCommentVNode("",!0)],2))}},Hu={class:"flex items-center justify-between"},Gu={key:0,class:"text-sm text-slate-600"},Xu={key:1,class:"text-sm text-slate-600"},Ku={key:2,class:"flex items-center gap-4"},Ju={key:3,class:"flex items-center gap-4"},Qu={class:"flex items-center gap-2"},Zu={class:"flex items-center gap-1"},em=["disabled"],tm=["disabled"],am={class:"flex items-center gap-1"},nm=["onClick"],rm=["disabled"],om=["disabled"],lm={class:"text-sm text-slate-600 ml-4"},ta={__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"}}),r=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"}}),o=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),i=e.computed(()=>Math.min(n.currentPage*n.pageSize,n.total)),c=e.computed(()=>{const y=[],x=n.totalPages,m=n.currentPage,u=n.maxVisiblePages;if(x<=u)for(let d=1;d<=x;d++)y.push(d);else{const d=Math.floor(u/2);let g=Math.max(1,m-d),k=Math.min(x,g+u-1);k-g+1<u&&(g=Math.max(1,k-u+1));for(let V=g;V<=k;V++)y.push(V)}return y}),f=e.computed(()=>h(a({variant:n.variant,padding:n.padding}))),p=e.computed(()=>h(o({size:"md"}))),v=e.computed(()=>h(l({size:"sm"}))),E=(y,x)=>{let m="inactive";return x?m="disabled":y&&(m="active"),h(r({state:m,size:"md"}))};return(y,x)=>t.showPagination||y.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(f.value)},[e.createElementVNode("div",Hu,[t.selectable&&t.selectedCount>0?(e.openBlock(),e.createElementBlock("div",Gu,e.toDisplayString(t.selectedCount)+" of "+e.toDisplayString(t.total)+" selected ",1)):(e.openBlock(),e.createElementBlock("div",Xu," Showing "+e.toDisplayString(s.value)+" to "+e.toDisplayString(i.value)+" of "+e.toDisplayString(t.total)+" entries ",1)),y.$slots.footer?(e.openBlock(),e.createElementBlock("div",Ku,[e.renderSlot(y.$slots,"footer")])):e.createCommentVNode("",!0),t.showPagination?(e.openBlock(),e.createElementBlock("div",Ju,[e.createElementVNode("div",Qu,[e.createVNode(lt,{for:"pageSize",class:e.normalizeClass(p.value),inline:!0},{default:e.withCtx(()=>[...x[5]||(x[5]=[e.createTextVNode("Show:",-1)])]),_:1},8,["class"]),e.createVNode(ce,{id:"pageSize","model-value":t.pageSize.toString(),class:e.normalizeClass(v.value),"onUpdate:modelValue":x[0]||(x[0]=m=>y.$emit("update:pageSize",parseInt(m)))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizeOptions,m=>(e.openBlock(),e.createBlock(Gt,{key:m,value:m.toString(),label:m.toString()},null,8,["value","label"]))),128))]),_:1},8,["model-value","class"])]),e.createElementVNode("div",Zu,[e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass(E(!1,t.currentPage===1)),title:"First page",onClick:x[1]||(x[1]=m=>y.$emit("update:currentPage",1))},[...x[6]||(x[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,em),e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass(E(!1,t.currentPage===1)),title:"Previous page",onClick:x[2]||(x[2]=m=>y.$emit("update:currentPage",t.currentPage-1))},[...x[7]||(x[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,tm),e.createElementVNode("div",am,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,m=>(e.openBlock(),e.createElementBlock("button",{key:m,class:e.normalizeClass(E(m===t.currentPage,!1)),onClick:u=>y.$emit("update:currentPage",m)},e.toDisplayString(m),11,nm))),128))]),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass(E(!1,t.currentPage===t.totalPages)),title:"Next page",onClick:x[3]||(x[3]=m=>y.$emit("update:currentPage",t.currentPage+1))},[...x[8]||(x[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,rm),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass(E(!1,t.currentPage===t.totalPages)),title:"Last page",onClick:x[4]||(x[4]=m=>y.$emit("update:currentPage",t.totalPages))},[...x[9]||(x[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,om)]),e.createElementVNode("div",lm," Page "+e.toDisplayString(t.currentPage)+" of "+e.toDisplayString(t.totalPages),1)])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)}},it=(t,n)=>{const a=t.__vccOpts||t;for(const[r,o]of n)a[r]=o;return a},sm={key:0,class:"loader__backdrop"},im={class:"loader__container"},cm={key:0,class:"loader__text loader__text--top"},dm={key:1,class:"loader__spin"},um={key:2,class:"loader__pulse"},mm={key:3,class:"loader__bounce"},fm={key:4,class:"loader__ripple"},gm={key:5,class:"loader__bars"},pm={key:6,class:"loader__dots"},vm={key:7,class:"loader__ring"},hm={key:8,class:"loader__spinner-text"},bm={key:9,class:"loader__text loader__text--bottom"},ym={__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",sm)):e.createCommentVNode("",!0),e.createElementVNode("div",im,[t.text&&t.textPosition==="top"?(e.openBlock(),e.createElementBlock("div",cm,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0),t.type==="spin"?(e.openBlock(),e.createElementBlock("div",dm)):t.type==="pulse"?(e.openBlock(),e.createElementBlock("div",um)):t.type==="bounce"?(e.openBlock(),e.createElementBlock("div",mm,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,r=>e.createElementVNode("div",{key:r,class:"loader__bounce-dot",style:e.normalizeStyle({animationDelay:`${(r-1)*.1}s`})},null,4)),64))])):t.type==="ripple"?(e.openBlock(),e.createElementBlock("div",fm,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(2,r=>e.createElementVNode("div",{key:r,class:"loader__ripple-ring",style:e.normalizeStyle({animationDelay:`${(r-1)*.5}s`})},null,4)),64))])):t.type==="bars"?(e.openBlock(),e.createElementBlock("div",gm,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(5,r=>e.createElementVNode("div",{key:r,class:"loader__bar",style:e.normalizeStyle({animationDelay:`${(r-1)*.1}s`})},null,4)),64))])):t.type==="dots"?(e.openBlock(),e.createElementBlock("div",pm,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,r=>e.createElementVNode("div",{key:r,class:"loader__dot",style:e.normalizeStyle({animationDelay:`${(r-1)*.16}s`})},null,4)),64))])):t.type==="ring"?(e.openBlock(),e.createElementBlock("div",vm,[...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",hm,[...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",bm,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)}},Se=it(ym,[["__scopeId","data-v-68532350"]]),xm={class:"relative"},km={class:"flex items-center justify-center"},wm=["onClick"],Cm={class:"flex items-center gap-2"},Bm={key:1,class:"flex flex-col"},Sm={key:0},Vm=["colspan"],Em={class:"flex justify-center items-center"},Nm={key:2},$m=["colspan"],zm={class:"text-center"},Dm={class:"text-slate-400 mb-4"},Tm={class:"text-slate-600 text-lg font-medium mb-2"},Am={class:"text-slate-500 text-sm"},Fm={__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"},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},hasLoaded:{type:Boolean,default:!1}},emits:["selection-change","sort-change","row-click","page-change","page-size-change","refresh"],setup(t,{expose:n,emit:a}){const r=t,o=a,l=e.ref(1),s=e.ref(r.pageSize),i=e.ref(r.sortBy),c=e.ref(r.sortOrder),f=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"}}),p=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"}}),v=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"}}),E=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"}}),y=e.computed(()=>{let A=[...r.data];if(i.value){const R=r.columns.find(G=>G.key===i.value);R&&A.sort((G,Q)=>{const se=k(G,R),we=k(Q,R);return se<we?c.value==="asc"?-1:1:se>we?c.value==="asc"?1:-1:0})}return A}),x=e.computed(()=>Math.ceil(y.value.length/s.value)),m=e.computed(()=>{if(!r.showPagination)return y.value;const A=(l.value-1)*s.value,R=A+s.value;return y.value.slice(A,R)}),u=e.computed(()=>{let A=r.columns.length;return r.selectable&&A++,r.$slots?.actions&&A++,A}),d=e.computed(()=>y.value.length>0&&y.value.every(A=>B(A))),g=e.computed(()=>{const A=y.value.filter(R=>B(R)).length;return A>0&&A<y.value.length}),k=(A,R)=>R.accessor?R.accessor(A):R.key.split(".").reduce((G,Q)=>G?.[Q],A),V=(A,R)=>A[r.rowKey]||R,B=A=>r.selectedItems.some(R=>V(R)===V(A)),U=A=>{const R=[...r.selectedItems],G=R.findIndex(Q=>V(Q)===V(A));G>-1?R.splice(G,1):R.push(A),o("selection-change",R)},I=()=>{if(r.loading||r.dataLoading)return;const A=d.value?[]:[...y.value];o("selection-change",A)},W=async A=>{!A.sortable||r.loading||r.sortLoading||(i.value===A.key?c.value=c.value==="asc"?"desc":"asc":(i.value=A.key,c.value="asc"),o("sort-change",{column:A.key,direction:c.value}))},M=A=>{r.loading||o("row-click",A)},S=async A=>{r.paginationLoading||r.loading||(l.value=A,o("page-change",A))},P=async A=>{r.paginationLoading||r.loading||(s.value=A,l.value=1,o("page-size-change",A))},j=e.computed(()=>h(f({variant:r.variant}))),b=e.computed(()=>h(p({variant:r.variant}))),N=e.computed(()=>h(v({variant:r.variant}))),F=e.computed(()=>h(E({variant:r.variant}))),Y=A=>h({compact:"px-4 py-2",normal:"px-6 py-3",comfortable:"px-8 py-4"}[r.density],"text-left text-xs font-medium text-slate-500 uppercase tracking-wider",{"cursor-pointer hover:bg-slate-100 transition-colors":A.sortable&&!r.loading&&!r.sortLoading,"cursor-not-allowed opacity-50":r.loading||r.sortLoading&&i.value===A.key}),_=()=>h({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm text-slate-900"),te=e.computed(()=>h({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm text-slate-900 w-12")),ve=e.computed(()=>h({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm font-medium text-center")),ke=e.computed(()=>h({compact:"px-4 py-4",normal:"px-6 py-6",comfortable:"px-8 py-8"}[r.density],"text-center")),$e=(A,R)=>h({"text-blue-600":i.value===A.key&&c.value===R,"text-slate-300":i.value!==A.key||c.value!==R});return e.watch(()=>r.selectedItems,()=>{},{deep:!0}),e.watch(()=>r.pageSize,A=>{s.value=A}),n({refresh:()=>{o("refresh")},goToPage:A=>{S(A)},selectAll:()=>{I()},clearSelection:()=>{o("selection-change",[])},getCurrentPage:()=>l.value,getTotalPages:()=>x.value,getSelectedItems:()=>r.selectedItems}),(A,R)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(j.value)},[t.title||t.description||A.$slots.header?(e.openBlock(),e.createBlock(Zt,{key:0,title:t.title,description:t.description,variant:t.headerVariant,padding:t.headerPadding},{header:e.withCtx(()=>[e.renderSlot(A.$slots,"header",{},void 0,!0)]),filters:e.withCtx(()=>[e.renderSlot(A.$slots,"filters",{},void 0,!0)]),_:3},8,["title","description","variant","padding"])):e.createCommentVNode("",!0),e.createElementVNode("div",xm,[t.loading?(e.openBlock(),e.createBlock(Se,{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(b.value)},[e.createElementVNode("thead",{class:e.normalizeClass(N.value)},[e.createElementVNode("tr",null,[t.selectable?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(te.value)},[e.createElementVNode("div",km,[t.bulkLoading?(e.openBlock(),e.createBlock(Se,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):(e.openBlock(),e.createBlock(rt,{key:1,"model-value":d.value,indeterminate:g.value,disabled:t.loading||t.dataLoading,"onUpdate:modelValue":I},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(Y(G)),onClick:Q=>W(G)},[e.createElementVNode("div",Cm,[e.createElementVNode("span",null,e.toDisplayString(G.label),1),t.sortLoading&&i.value===G.key?(e.openBlock(),e.createBlock(Se,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):G.sortable?(e.openBlock(),e.createElementBlock("div",Bm,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([$e(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([$e(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)),A.$slots.actions?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass(ve.value)}," Actions ",2)):e.createCommentVNode("",!0)])],2),e.createElementVNode("tbody",{class:e.normalizeClass(F.value)},[t.dataLoading&&!t.loading?(e.openBlock(),e.createElementBlock("tr",Sm,[e.createElementVNode("td",{colspan:u.value,class:e.normalizeClass(ke.value)},[e.createElementVNode("div",Em,[e.createVNode(Se,{loading:!0,type:"dots",size:"medium",color:t.loadingColor},null,8,["color"])])],10,Vm)])):m.value.length>0&&!t.loading?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(m.value,(G,Q)=>(e.openBlock(),e.createBlock(ea,{key:V(G,Q),item:G,columns:t.columns,index:Q,selectable:t.selectable,"is-selected":B(G),striped:t.striped,hoverable:t.hoverable,"clickable-rows":t.clickableRows,density:t.density,"row-loading":t.rowLoading[V(G,Q)],"loading-color":t.loadingColor,onToggleSelection:U,onRowClick:M},e.createSlots({actions:e.withCtx(se=>[e.renderSlot(A.$slots,"actions",e.mergeProps({ref_for:!0},se),void 0,!0)]),_:2},[e.renderList(t.columns,se=>({name:`cell-${se.key}`,fn:e.withCtx(we=>[e.renderSlot(A.$slots,`cell-${se.key}`,e.mergeProps({ref_for:!0},we),void 0,!0)])}))]),1032,["item","columns","index","selectable","is-selected","striped","hoverable","clickable-rows","density","row-loading","loading-color"]))),128)):!t.loading&&!t.dataLoading&&t.hasLoaded?(e.openBlock(),e.createElementBlock("tr",Nm,[e.createElementVNode("td",{colspan:u.value,class:e.normalizeClass(ke.value)},[e.renderSlot(A.$slots,"empty",{},()=>[e.createElementVNode("div",zm,[e.createElementVNode("div",Dm,[e.createVNode(L,{name:"search",class:"w-12 h-12"})]),e.createElementVNode("p",Tm,e.toDisplayString(t.emptyText),1),e.createElementVNode("p",Am,e.toDisplayString(t.emptySubtitle),1)])],!0)],10,$m)])):e.createCommentVNode("",!0),t.showSkeleton&&(t.loading||t.dataLoading)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:3},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(te.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,Q=>(e.openBlock(),e.createElementBlock("td",{key:Q.key,class:e.normalizeClass(_())},[...R[3]||(R[3]=[e.createElementVNode("div",{class:"h-4 bg-slate-200 rounded w-3/4"},null,-1)])],2))),128)),A.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(ve.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)):e.createCommentVNode("",!0)],2)],2)],2)]),t.showPagination||A.$slots.footer?(e.openBlock(),e.createBlock(ta,{key:1,"current-page":l.value,"total-pages":x.value,total:y.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":S,"onUpdate:pageSize":P},{footer:e.withCtx(()=>[e.renderSlot(A.$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))}},$r=it(Fm,[["__scopeId","data-v-a9cdb37e"]]),zr={__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??r();return n.column.formatter?n.column.formatter(s,n.item):s}),r=()=>n.column.accessor?n.column.accessor(n.item):n.column.key.split(".").reduce((s,i)=>s?.[i],n.item),o=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",i=`text-${n.textColor}`,c=n.width?`w-${n.width}`:"";return h(o({align:s,padding:n.padding,textSize:n.textSize}),i,c,n.column.cellClasses)});return(s,i)=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(l.value)},[e.renderSlot(s.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])],2))}},Im={class:"bg-white border-b border-gray-200"},Pm={key:0,class:"flex-1 min-w-80 max-w-md"},jm={class:"relative group"},Lm=["model-value","placeholder"],Om={class:"relative"},Mm={value:""},Rm=["value"],_m={key:1,class:"min-w-36"},qm={class:"relative"},Um=["value"],Wm={key:3,class:"flex items-center gap-2"},Ym={class:"flex items-center gap-3 ml-auto"},Hm={class:"grid grid-cols-1 lg:grid-cols-3 gap-6"},Gm={class:"flex items-center justify-between"},Xm={class:"flex items-center gap-3"},Km={class:"relative flex-1"},Jm=["model-value","placeholder","onInput"],Qm={class:"relative flex-1"},Zm=["model-value","placeholder","onInput"],ef=["onClick"],tf={class:"flex items-center justify-between"},af={class:"flex items-center gap-3"},nf={class:"relative flex-1"},rf=["model-value","placeholder","step","onInput"],of={class:"relative flex-1"},lf=["model-value","placeholder","step","onInput"],sf=["onClick"],cf={class:"flex items-center justify-between"},df={class:"relative"},uf={value:""},mf=["value"],ff={key:0,class:"flex flex-wrap gap-2 mt-2"},gf=["onClick"],pf={class:"flex items-center gap-3 flex-wrap"},vf=["onClick"],hf={key:2,class:"px-6 py-3 bg-gray-50 border-t border-gray-200"},bf={class:"flex items-center justify-between"},yf={class:"flex items-center gap-4"},xf={class:"text-sm text-gray-600"},kf={class:"font-medium"},Dr={__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},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"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(!1),l=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"}}),s=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"}}),i=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"}}),c=(D,C)=>{const w=a.selectFilters.map(T=>T.key===D?{...T,value:C}:T);r("update:selectFilters",w)},f=D=>!!(D.from||D.to),p=D=>{const C=a.dateFilters.map(w=>w.key===D?{...w,from:"",to:""}:w);r("update:dateFilters",C)},v=D=>`text-xs px-2 py-1 rounded ${f(D)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,E=(D,C,w)=>{const T=a.dateFilters.map(H=>H.key===D?{...H,[C]:w}:H);r("update:dateFilters",T)},y=D=>!!(D.min||D.max),x=D=>{const C=a.numberFilters.map(w=>w.key===D?{...w,min:"",max:""}:w);r("update:numberFilters",C)},m=D=>`text-xs px-2 py-1 rounded ${y(D)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,u=(D,C,w)=>{const T=a.numberFilters.map(H=>H.key===D?{...H,[C]:w}:H);r("update:numberFilters",T)},d=D=>D.selected&&D.selected.length>0,g=D=>`text-xs px-2 py-1 rounded ${d(D)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,k=(D,C)=>{if(!C)return;const w=a.multiSelectFilters.map(T=>{if(T.key===D){const H=T.selected||[],ze=H.includes(C);return{...T,selected:ze?H.filter(ct=>ct!==C):[...H,C]}}return T});r("update:multiSelectFilters",w)},V=(D,C)=>{const w=a.multiSelectFilters.map(T=>T.key===D?{...T,selected:T.selected.filter(H=>H!==C)}:T);r("update:multiSelectFilters",w)},B=(D,C)=>{const w=D.options.find(T=>T.value===C);return w?w.label:C},U=()=>{o.value=!o.value},I=e.computed(()=>a.numberFilters.length>0||a.multiSelectFilters.length>0),W=e.computed(()=>{const D=a.searchQuery,C=a.selectedStatus,w=a.dateFrom||a.dateTo,T=a.selectFilters.some(oe=>oe.value),H=a.dateFilters.some(oe=>oe.from||oe.to),ze=a.numberFilters.some(oe=>oe.min||oe.max),ct=a.multiSelectFilters.some(oe=>oe.selected&&oe.selected.length>0);return D||C||w||T||H||ze||ct}),M=e.computed(()=>{let D=0;return a.searchQuery&&D++,a.selectedStatus&&D++,(a.dateFrom||a.dateTo)&&D++,D+=a.selectFilters.filter(C=>C.value).length,D+=a.dateFilters.filter(C=>C.from||C.to).length,D+=a.numberFilters.filter(C=>C.min||C.max).length,D+=a.multiSelectFilters.filter(C=>C.selected&&C.selected.length>0).length,D}),S=e.computed(()=>{const D=[];if(a.searchQuery&&a.searchQuery.trim()&&D.push({key:"search",label:"Search",value:`"${a.searchQuery}"`,icon:"magnifying-glass"}),a.selectedStatus){const C=a.statusOptions.find(w=>w.value===a.selectedStatus);D.push({key:"status",label:"Status",value:C?.label||a.selectedStatus,icon:"filter"})}if(a.selectFilters.forEach(C=>{if(C.value){const w=C.options.find(T=>T.value===C.value);D.push({key:`select-${C.key}`,label:C.label,value:w?.label||C.value,icon:"filter"})}}),a.dateFrom||a.dateTo){let C="";a.dateFrom&&a.dateTo?C=`${a.dateFrom} to ${a.dateTo}`:a.dateFrom?C=`From ${a.dateFrom}`:a.dateTo&&(C=`Until ${a.dateTo}`),C&&D.push({key:"date",label:"Date Range",value:C,icon:"calendar"})}return a.dateFilters.forEach(C=>{if(C.from||C.to){let w="";C.from&&C.to?w=`${C.from} to ${C.to}`:C.from?w=`From ${C.from}`:C.to&&(w=`Until ${C.to}`),w&&D.push({key:`date-${C.key}`,label:C.label,value:w,icon:"calendar"})}}),a.numberFilters.forEach(C=>{if(C.min||C.max){let w="";C.min&&C.max?w=`${C.min} to ${C.max}`:C.min?w=`Min ${C.min}`:C.max&&(w=`Max ${C.max}`),w&&D.push({key:`number-${C.key}`,label:C.label,value:w,icon:"hashtag"})}}),a.multiSelectFilters.forEach(C=>{if(C.selected&&C.selected.length>0){const w=C.selected.map(T=>{const H=C.options.find(ze=>ze.value===T);return H?H.label:T});D.push({key:`multi-${C.key}`,label:C.label,value:w.join(", "),icon:"list"})}}),D}),P=e.computed(()=>h(l({variant:a.variant,padding:a.padding}))),j=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"),b=e.computed(()=>h(s({size:"md"}),"w-full pl-10 pr-10 hover:border-gray-300")),N=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"),F=e.computed(()=>h(s({size:"md"}),"w-full pr-8 appearance-none hover:border-gray-300")),Y=e.computed(()=>{const D=o.value||W.value;return h(i({variant:D?"primary":"default",size:"lg"}),"gap-2")}),_=e.computed(()=>"bg-white text-blue-600 text-xs px-1.5 py-0.5 rounded-full min-w-[20px] text-center font-semibold"),te=e.computed(()=>"px-6 py-4 border-t border-gray-100 bg-gray-50"),ve=e.computed(()=>h(s({size:"md"}),"pl-10 pr-3")),ke=e.computed(()=>"text-sm font-semibold text-gray-700"),$e=e.computed(()=>"text-gray-500 text-sm font-medium"),A=e.computed(()=>"text-gray-400 hover:text-gray-600 p-1.5 hover:bg-gray-200 rounded-full transition-all"),R=e.computed(()=>h(i({variant:"ghost",size:"md"}))),G=e.computed(()=>h(i({variant:"default",size:"lg"}))),Q=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),se=e.computed(()=>"text-sm font-semibold text-blue-800"),we=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"),_r=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),qr=()=>{r("update:searchQuery",""),r("update:selectedStatus",""),r("update:dateFrom",""),r("update:dateTo","");const D=a.selectFilters.map(H=>({...H,value:""}));r("update:selectFilters",D);const C=a.dateFilters.map(H=>({...H,from:"",to:""}));r("update:dateFilters",C);const w=a.numberFilters.map(H=>({...H,min:"",max:""}));r("update:numberFilters",w);const T=a.multiSelectFilters.map(H=>({...H,selected:[]}));r("update:multiSelectFilters",T),r("clear-filters")},Ur=D=>{switch(D){case"search":r("update:searchQuery","");break;case"status":r("update:selectedStatus","");break;case"date":r("update:dateFrom",""),r("update:dateTo","");break;default:if(D.startsWith("select-")){const C=D.replace("select-",""),w=a.selectFilters.map(T=>T.key===C?{...T,value:""}:T);r("update:selectFilters",w)}else if(D.startsWith("date-")){const C=D.replace("date-",""),w=a.dateFilters.map(T=>T.key===C?{...T,from:"",to:""}:T);r("update:dateFilters",w)}else if(D.startsWith("number-")){const C=D.replace("number-",""),w=a.numberFilters.map(T=>T.key===C?{...T,min:"",max:""}:T);r("update:numberFilters",w)}else if(D.startsWith("multi-")){const C=D.replace("multi-",""),w=a.multiSelectFilters.map(T=>T.key===C?{...T,selected:[]}:T);r("update:multiSelectFilters",w)}break}};return(D,C)=>(e.openBlock(),e.createElementBlock("div",Im,[e.createElementVNode("div",{class:e.normalizeClass(P.value)},[t.showSearch?(e.openBlock(),e.createElementBlock("div",Pm,[e.createElementVNode("div",jm,[e.createVNode(L,{icon:"magnifying-glass",class:e.normalizeClass(j.value)},null,8,["class"]),e.createElementVNode("input",{"model-value":t.searchQuery,placeholder:t.searchPlaceholder,class:e.normalizeClass(b.value),onInput:C[0]||(C[0]=w=>D.$emit("update:searchQuery",w.target.value))},null,42,Lm),t.searchQuery?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(N.value),onClick:C[1]||(C[1]=w=>D.$emit("update:searchQuery",""))},[e.createVNode(L,{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,w=>(e.openBlock(),e.createElementBlock("div",{key:w.key,class:"min-w-36"},[e.createElementVNode("div",Om,[e.createVNode(ce,{"model-value":w.value,class:e.normalizeClass(F.value),onChange:T=>c(w.key,T.target.value)},{default:e.withCtx(()=>[e.createElementVNode("option",Mm,e.toDisplayString(w.placeholder||`All ${w.label}`),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.options,T=>(e.openBlock(),e.createElementBlock("option",{key:T.value,value:T.value},e.toDisplayString(T.label),9,Rm))),128))]),_:2},1032,["model-value","class","onChange"]),e.createVNode(L,{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",_m,[e.createElementVNode("div",qm,[e.createVNode(ce,{"model-value":t.selectedStatus,class:e.normalizeClass(F.value),onChange:C[2]||(C[2]=w=>D.$emit("update:selectedStatus",w.target.value))},{default:e.withCtx(()=>[C[5]||(C[5]=e.createElementVNode("option",{value:""}," All Status ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.statusOptions,w=>(e.openBlock(),e.createElementBlock("option",{key:w.value,value:w.value},e.toDisplayString(w.label),9,Um))),128))]),_:1},8,["model-value","class"]),e.createVNode(L,{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||I.value)?(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass(Y.value),onClick:U},[e.createVNode(L,{icon:"filter",class:"w-4 h-4"}),C[6]||(C[6]=e.createTextVNode(" Filters ",-1)),M.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(_.value)},e.toDisplayString(M.value),3)):e.createCommentVNode("",!0),e.createVNode(L,{icon:o.value?"chevron-up":"chevron-down",class:"w-4 h-4 ml-1"},null,8,["icon"])],2)):e.createCommentVNode("",!0),D.$slots.filters?(e.openBlock(),e.createElementBlock("div",Wm,[e.renderSlot(D.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",Ym,[W.value?(e.openBlock(),e.createBlock(Z,{key:0,class:e.normalizeClass(R.value),onClick:qr},{default:e.withCtx(()=>[e.createVNode(L,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),C[7]||(C[7]=e.createTextVNode(" Clear All ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(Z,{key:1,class:e.normalizeClass(G.value),onClick:C[3]||(C[3]=w=>D.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(L,{icon:"download",class:"w-4 h-4 mr-2"}),C[8]||(C[8]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),e.renderSlot(D.$slots,"actions",{},()=>[t.showAdd?(e.openBlock(),e.createBlock(Z,{key:0,variant:"success",size:"lg",onClick:C[4]||(C[4]=w=>D.$emit("add"))},{default:e.withCtx(()=>[e.createVNode(L,{icon:"plus",class:"w-4 h-4 mr-2"}),C[9]||(C[9]=e.createTextVNode(" Add ",-1))]),_:1})):e.createCommentVNode("",!0)])])],2),t.showFilters&&o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(te.value)},[e.createElementVNode("div",Hm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dateFilters,w=>(e.openBlock(),e.createElementBlock("div",{key:w.key,class:"space-y-3"},[e.createElementVNode("div",Gm,[e.createElementVNode("label",{class:e.normalizeClass(ke.value)},e.toDisplayString(w.label),3),e.createElementVNode("span",{class:e.normalizeClass(v(w))},e.toDisplayString(f(w)?"Active":"Inactive"),3)]),e.createElementVNode("div",Xm,[e.createElementVNode("div",Km,[e.createVNode(L,{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":w.from,class:e.normalizeClass(ve.value),placeholder:`From ${w.label}`,onInput:T=>E(w.key,"from",T.target.value)},null,42,Jm)]),e.createElementVNode("span",{class:e.normalizeClass($e.value)},"to",2),e.createElementVNode("div",Qm,[e.createVNode(L,{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":w.to,class:e.normalizeClass(ve.value),placeholder:`To ${w.label}`,onInput:T=>E(w.key,"to",T.target.value)},null,42,Zm)]),f(w)?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(A.value),title:"Clear this filter",onClick:T=>p(w.key)},[e.createVNode(L,{icon:"xmark",class:"w-4 h-4"})],10,ef)):e.createCommentVNode("",!0)])]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.numberFilters,w=>(e.openBlock(),e.createElementBlock("div",{key:w.key,class:"space-y-3"},[e.createElementVNode("div",tf,[e.createElementVNode("label",{class:e.normalizeClass(ke.value)},e.toDisplayString(w.label),3),e.createElementVNode("span",{class:e.normalizeClass(m(w))},e.toDisplayString(y(w)?"Active":"Inactive"),3)]),e.createElementVNode("div",af,[e.createElementVNode("div",nf,[e.createElementVNode("input",{type:"number","model-value":w.min,class:e.normalizeClass(ve.value),placeholder:`Min ${w.label}`,step:w.step||1,onInput:T=>u(w.key,"min",T.target.value)},null,42,rf)]),e.createElementVNode("span",{class:e.normalizeClass($e.value)},"to",2),e.createElementVNode("div",of,[e.createElementVNode("input",{type:"number","model-value":w.max,class:e.normalizeClass(ve.value),placeholder:`Max ${w.label}`,step:w.step||1,onInput:T=>u(w.key,"max",T.target.value)},null,42,lf)]),y(w)?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(A.value),title:"Clear this filter",onClick:T=>x(w.key)},[e.createVNode(L,{icon:"xmark",class:"w-4 h-4"})],10,sf)):e.createCommentVNode("",!0)])]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.multiSelectFilters,w=>(e.openBlock(),e.createElementBlock("div",{key:w.key,class:"space-y-3"},[e.createElementVNode("div",cf,[e.createElementVNode("label",{class:e.normalizeClass(ke.value)},e.toDisplayString(w.label),3),e.createElementVNode("span",{class:e.normalizeClass(g(w))},e.toDisplayString(d(w)?`${w.selected.length} selected`:"None"),3)]),e.createElementVNode("div",df,[e.createVNode(ce,{"model-value":"",class:e.normalizeClass(F.value),onChange:T=>k(w.key,T.target.value)},{default:e.withCtx(()=>[e.createElementVNode("option",uf," Select "+e.toDisplayString(w.label),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.options,T=>(e.openBlock(),e.createElementBlock("option",{key:T.value,value:T.value},e.toDisplayString(T.label),9,mf))),128))]),_:2},1032,["class","onChange"]),e.createVNode(L,{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"})]),w.selected.length>0?(e.openBlock(),e.createElementBlock("div",ff,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.selected,T=>(e.openBlock(),e.createElementBlock("span",{key:T,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(B(w,T))+" ",1),e.createElementVNode("button",{class:"hover:bg-blue-200 rounded-full p-0.5",onClick:H=>V(w.key,T)},[e.createVNode(L,{icon:"xmark",class:"w-3 h-3"})],8,gf)]))),128))])):e.createCommentVNode("",!0)]))),128))])],2)):e.createCommentVNode("",!0),t.showFilters&&S.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(Q.value)},[e.createElementVNode("div",pf,[e.createElementVNode("span",{class:e.normalizeClass(se.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.key,class:e.normalizeClass(we.value)},[e.createVNode(L,{icon:w.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(w.label)+": "+e.toDisplayString(w.value),1),e.createElementVNode("button",{class:e.normalizeClass(_r.value),onClick:T=>Ur(w.key)},[e.createVNode(L,{icon:"xmark",class:"w-3 h-3"})],10,vf)],2))),128))])],2)):e.createCommentVNode("",!0),t.showTableInfo?(e.openBlock(),e.createElementBlock("div",hf,[e.createElementVNode("div",bf,[e.createElementVNode("div",yf,[e.createElementVNode("span",xf,[e.createElementVNode("span",kf,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"},Cf={key:0,class:"flex items-center gap-3"},Bf={class:"text-sm text-slate-600"},Sf={class:"flex items-center gap-2"},Vf={class:"flex items-center gap-3"},Ef=["title","onClick"],Nf={key:1,class:"relative"},$f={class:"p-3"},zf={class:"space-y-1"},Df={class:"flex items-center gap-2 cursor-pointer w-full"},Tf=["checked","onChange"],Af=["disabled"],Ff={key:3,class:"flex items-center gap-2"},If=[{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:"destructive"},{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"}],Pf={name:"DataTableToolBar"},Tr=Object.assign(Pf,{props:{selectedItems:{type:Array,default:()=>[]},totalItems:{type:Number,default:0},bulkActions:{type:Array,default:()=>If},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,r=n,o=e.ref(!1),l=e.ref(null),s=e.ref(null),i=e.computed(()=>a.selectedItems.length),c=[{value:"compact",label:"Compact",icon:["fas","minus"]},{value:"normal",label:"Normal",icon:["fas","bars"]},{value:"comfortable",label:"Comfortable",icon:["fas","bars-staggered"]}],f=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"}}),p=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"}}),v=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"}}),E=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"}}),y=e.computed(()=>h(f({variant:a.variant,padding:a.padding}))),x=e.computed(()=>"text-sm text-slate-600"),m=e.computed(()=>"flex items-center"),u=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"),d=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"),g=e.computed(()=>"text-xs font-medium text-slate-500 uppercase tracking-wider mb-2 border-b border-slate-100 pb-2"),k=e.computed(()=>"py-1 hover:bg-slate-50 rounded transition-colors"),V=e.computed(()=>"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 focus:ring-2 focus:ring-offset-1"),B=e.computed(()=>"text-sm text-slate-700 flex-1 select-none"),U=N=>{l.value&&s.value&&!l.value.contains(N.target)&&!s.value.contains(N.target)&&(o.value=!1)},I=()=>{o.value=!o.value},W=N=>h(p({variant:N.variant||"secondary"})),M=N=>{let F="middle";return N==="compact"?F="first":N==="comfortable"&&(F="last"),h(v({active:a.density===N,position:F}))},S=()=>h(E({state:a.isRefreshing?"refreshing":"normal"})),P=()=>h("w-4 h-4",{"animate-spin":a.isRefreshing}),j=N=>a.visibleColumns.includes(N),b=(N,F)=>{r("toggle-column",{column:N,visible:F})};return e.onMounted(()=>{document.addEventListener("click",U)}),e.onUnmounted(()=>{document.removeEventListener("click",U)}),(N,F)=>{const Y=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(y.value)},[e.createElementVNode("div",wf,[i.value>0?(e.openBlock(),e.createElementBlock("div",Cf,[e.createElementVNode("span",Bf,e.toDisplayString(i.value)+" selected ",1),e.createElementVNode("div",Sf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bulkActions,_=>(e.openBlock(),e.createBlock(Z,{key:_.key,class:e.normalizeClass(W(_)),onClick:te=>N.$emit("bulk-action",{action:_.key,items:t.selectedItems})},{default:e.withCtx(()=>[_.icon?(e.openBlock(),e.createBlock(Y,{key:0,icon:_.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(_.label),1)]),_:2},1032,["class","onClick"]))),128))])])):t.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(x.value)},e.toDisplayString(t.totalItems)+" "+e.toDisplayString(t.totalItems===1?"item":"items"),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Vf,[t.showDensityToggle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(m.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(c,_=>e.createElementVNode("button",{key:_.value,class:e.normalizeClass(M(_.value)),title:_.label,type:"button",onClick:te=>N.$emit("update:density",_.value)},[e.createVNode(Y,{icon:_.icon,class:"w-4 h-4"},null,8,["icon"])],10,Ef)),64))],2)):e.createCommentVNode("",!0),t.showColumnToggle?(e.openBlock(),e.createElementBlock("div",Nf,[e.createElementVNode("button",{ref_key:"columnToggleButton",ref:l,class:e.normalizeClass(u.value),type:"button",onClick:e.withModifiers(I,["stop"])},[e.createVNode(Y,{icon:"columns",class:"w-4 h-4"}),F[2]||(F[2]=e.createElementVNode("span",null,"Columns",-1))],2),e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:s,class:e.normalizeClass(d.value),onClick:F[0]||(F[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",$f,[e.createElementVNode("div",{class:e.normalizeClass(g.value)}," Show Columns ",2),e.createElementVNode("div",zf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toggleableColumns,_=>(e.openBlock(),e.createElementBlock("div",{key:_.key,class:e.normalizeClass(k.value)},[e.createElementVNode("label",Df,[e.createElementVNode("input",{type:"checkbox",checked:j(_.key),class:e.normalizeClass(V.value),onChange:te=>b(_.key,te.target.checked)},null,42,Tf),e.createElementVNode("span",{class:e.normalizeClass(B.value)},e.toDisplayString(_.label),3)])],2))),128))])])],2),[[e.vShow,o.value]])])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:t.isRefreshing,class:e.normalizeClass(S()),type:"button",onClick:F[1]||(F[1]=_=>N.$emit("refresh"))},[e.createVNode(Y,{icon:"sync",class:e.normalizeClass(P())},null,8,["class"]),F[3]||(F[3]=e.createElementVNode("span",null,"Refresh",-1))],10,Af)):e.createCommentVNode("",!0),N.$slots.actions?(e.openBlock(),e.createElementBlock("div",Ff,[e.renderSlot(N.$slots,"actions")])):e.createCommentVNode("",!0)])],2)}}}),jf={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"},Lf={class:"grid grid-cols-1 md:grid-cols-4 gap-8"},Of={class:"col-span-1 md:col-span-2"},Mf={class:"space-y-2"},Rf={class:"flex space-x-4"},_f={class:"flex flex-col md:flex-row justify-between items-center"},qf={class:"flex space-x-6 mt-4 md:mt-0"},Ar={__name:"Footer",props:{className:{type:String,default:""}},setup(t){return(n,a)=>{const r=e.resolveComponent("Logo"),o=e.resolveComponent("Text"),l=e.resolveComponent("Typography"),s=e.resolveComponent("Link"),i=e.resolveComponent("Icon"),c=e.resolveComponent("Divider");return e.openBlock(),e.createElementBlock("footer",{class:e.normalizeClass(e.unref(h)("bg-gray-50 border-t border-gray-200",t.className))},[e.createElementVNode("div",jf,[e.createElementVNode("div",Lf,[e.createElementVNode("div",Of,[e.renderSlot(n.$slots,"brand",{},()=>[e.createVNode(r,{class:"mb-4"}),e.createVNode(o,{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",Mf,[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",Rf,[e.createVNode(s,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[e.createVNode(i,{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(i,{name:"github",class:"h-5 w-5"})]),_:1})])])])]),e.createVNode(c,{class:"my-8"}),e.createElementVNode("div",_f,[e.renderSlot(n.$slots,"copyright",{},()=>[e.createVNode(o,{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",qf,[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)}}},Uf={class:"flex items-center justify-between h-16 px-4 md:px-6"},Wf={class:"flex items-center"},Yf={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"},Hf={class:"text-lg font-bold text-blue-900 truncate max-w-[200px]"},Gf={key:0,class:"text-xs text-blue-600 truncate font-medium"},Xf={class:"hidden md:flex items-center space-x-2 text-sm truncate"},Kf={class:"text-gray-500 truncate"},Jf={class:"text-gray-900 font-medium truncate"},Qf={class:"flex items-center space-x-3 md:space-x-4"},Zf={key:1,class:"relative"},eg={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"},tg={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"},ag={class:"max-h-96 overflow-y-auto"},ng={class:"flex items-start space-x-3"},rg={class:"flex-1"},og={class:"text-sm text-gray-900"},lg={class:"text-xs text-gray-500 mt-1"},sg={class:"relative"},ig={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"},cg={class:"text-blue-700 text-sm font-medium"},dg={class:"hidden md:block text-left max-w-[160px] truncate"},ug={class:"text-sm font-medium text-gray-900 truncate"},mg={class:"text-xs text-gray-500 truncate leading-tight"},fg={key:0,class:"absolute right-0 mt-2 w-58 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},gg={class:"p-4 border-b border-gray-200"},pg={class:"text-sm font-medium text-gray-900"},vg={class:"text-xs text-gray-500"},hg={class:"py-2"},bg={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=["onClick"],xg={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"},kg={class:"flex-1 truncate font-semibold text-gray-700"},Fr={__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,r=n,o=e.ref(""),l=e.ref(!1),s=e.ref(!1),i=e.ref(a.notifications.length),c=e.ref(!1),f=e.ref(!1),p=e.computed(()=>(a.user?.name||"Guest").split(" ").map(B=>B[0]||"").join("").toUpperCase()),v=e.computed(()=>a.user?.roles?.length?a.user.roles.map(V=>V.name).join(", "):"No role"),E=()=>{l.value=!l.value,s.value=!1},y=()=>{s.value=!s.value,l.value=!1},x=V=>{r("navigate",V),s.value=!1},m=V=>V.route?!!(a.currentRoute===V.route||a.currentRoute.startsWith(V.route+"/")):!1,u=V=>{r("profile-action",V),s.value=!1},d=()=>{r("logout"),s.value=!1},g=V=>{!V.target.closest(".absolute")&&!V.target.closest("button")&&(l.value=!1,s.value=!1)},k=()=>{f.value=window.innerWidth<768};return e.onMounted(()=>{document.addEventListener("click",g),k(),window.addEventListener("resize",k)}),e.onUnmounted(()=>{document.removeEventListener("click",g),window.removeEventListener("resize",k)}),e.watch(o,V=>r("search",V)),(V,B)=>{const U=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(h)("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",Uf,[e.createElementVNode("div",Wf,[t.currentOrganisation?(e.openBlock(),e.createElementBlock("div",Yf,[e.createElementVNode("p",Hf,e.toDisplayString(t.currentOrganisation.organisation_name),1),t.currentOrganisation.role?(e.openBlock(),e.createElementBlock("p",Gf,e.toDisplayString(t.currentOrganisation.role),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("nav",Xf,[e.createElementVNode("span",Kf,e.toDisplayString(t.currentSection),1),B[4]||(B[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",Jf,e.toDisplayString(t.currentPage),1)])]),e.createElementVNode("div",Qf,[f.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:B[0]||(B[0]=I=>r("toggle-mobile-sidebar"))},[...B[5]||(B[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),!f.value||c.value?(e.openBlock(),e.createElementBlock("div",Zf,[B[6]||(B[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":B[1]||(B[1]=I=>o.value=I),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,o.value]]),f.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:B[2]||(B[2]=I=>c.value=!1)}," ✕ ")):e.createCommentVNode("",!0)])):f.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:B[3]||(B[3]=I=>c.value=!0)},[...B[7]||(B[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:E},[B[8]||(B[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)),i.value>0?(e.openBlock(),e.createElementBlock("span",eg,e.toDisplayString(i.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",tg,[B[10]||(B[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",ag,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.notifications,I=>(e.openBlock(),e.createElementBlock("div",{key:I.id,class:"p-4 border-b border-gray-100 hover:bg-gray-50 cursor-pointer"},[e.createElementVNode("div",ng,[B[9]||(B[9]=e.createElementVNode("div",{class:"flex-shrink-0 w-2 h-2 mt-2 bg-blue-500 rounded-full"},null,-1)),e.createElementVNode("div",rg,[e.createElementVNode("p",og,e.toDisplayString(I.title),1),e.createElementVNode("p",lg,e.toDisplayString(I.time),1)])])]))),128))]),B[11]||(B[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",sg,[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:y},[e.createElementVNode("div",ig,[e.createElementVNode("span",cg,e.toDisplayString(p.value),1)]),e.createElementVNode("div",dg,[e.createElementVNode("p",ug,e.toDisplayString(t.user.name),1),e.createElementVNode("p",mg,e.toDisplayString(v.value),1)]),B[12]||(B[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",fg,[e.createElementVNode("div",gg,[e.createElementVNode("p",pg,e.toDisplayString(t.user.name),1),e.createElementVNode("p",vg,e.toDisplayString(t.user.email),1)]),e.createElementVNode("div",hg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.profileMenuItems,I=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:I.name},[I.route?(e.openBlock(),e.createBlock(U,{key:0,to:I.route,class:e.normalizeClass(e.unref(h)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",m(I)?"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:W=>x(I)},{default:e.withCtx(()=>[m(I)?(e.openBlock(),e.createElementBlock("div",bg)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",m(I)?"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"))},[I.icon?(e.openBlock(),e.createBlock(L,{key:0,icon:I.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(h)("flex-1 truncate font-semibold",m(I)?"text-blue-700":"text-gray-700"))},e.toDisplayString(I.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:W=>u(I)},[e.createElementVNode("div",xg,[I.icon?(e.openBlock(),e.createBlock(L,{key:0,icon:I.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)]),e.createElementVNode("span",kg,e.toDisplayString(I.label),1)],8,yg))],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:d},[...B[13]||(B[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)}}},wg={class:"mb-4"},Cg={class:"text-lg font-semibold text-gray-900"},Bg={class:"text-sm text-gray-600"},Sg={value:"",disabled:""},Vg=["value"],Eg={key:3,class:"flex items-center"},Ng={class:"flex justify-end gap-3 pt-4"},Ir={__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"].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","full"].includes(t)},modalResizable:{type:Boolean,default:!1}},emits:["update:modelValue","submit","close"],setup(t,{emit:n}){const a=t,r=n,o=e.computed({get:()=>a.modelValue,set:m=>r("update:modelValue",m)}),l=e.computed(()=>a.loading),s=e.ref({}),i=e.ref({}),c=e.ref(!1),f=()=>{const m={};return a.fields.forEach(u=>{u.type==="checkbox"?m[u.name]=!1:u.type==="number"||u.type==="slider"?m[u.name]=u.min!==void 0?u.min:0:m[u.name]=""}),m};e.watch(()=>a.initialData,m=>{if(a.modalType==="edit"&&m){const u={};a.fields.forEach(d=>{d.type==="checkbox"?u[d.name]=m[d.name]??!1:d.type==="number"||d.type==="slider"?u[d.name]=m[d.name]??(d.min!==void 0?d.min:0):u[d.name]=m[d.name]??""}),s.value=u,c.value=!0}else if(a.modalType==="create"&&m&&!c.value){const u={};a.fields.forEach(d=>{m[d.name]!==void 0&&m[d.name]!==null?u[d.name]=m[d.name]:d.type==="checkbox"?u[d.name]=!1:d.type==="number"||d.type==="slider"?u[d.name]=d.min!==void 0?d.min:0:u[d.name]=""}),s.value=u,c.value=!0}else a.modalType==="create"&&!m&&(s.value=f(),c.value=!1)},{immediate:!0,deep:!0}),e.watch(()=>a.modelValue,m=>{if(m&&(i.value={},a.modalType==="create")){if(c.value=!1,a.initialData){const u={};a.fields.forEach(d=>{a.initialData[d.name]!==void 0&&a.initialData[d.name]!==null?u[d.name]=a.initialData[d.name]:d.type==="checkbox"?u[d.name]=!1:d.type==="number"||d.type==="slider"?u[d.name]=d.min!==void 0?d.min:0:u[d.name]=""}),s.value=u}else s.value=f();c.value=!0}}),e.watch(()=>a.initialData,m=>{c.value&&m&&Object.keys(m).forEach(u=>{Object.prototype.hasOwnProperty.call(s.value,u)&&m[u]!==void 0&&m[u]!==null&&(s.value[u]=m[u])})},{deep:!0});const p=()=>{if(i.value={},a.fields.forEach(m=>{if(m.required&&!m.disabled){const u=s.value[m.name];m.type==="checkbox"?m.required&&!u&&(i.value[m.name]=m.errorMessage||`${m.label} is required`):m.type==="number"||m.type==="slider"?u===""||u===null||u===void 0?i.value[m.name]=m.errorMessage||`${m.label} is required`:m.min!==void 0&&Number(u)<m.min?i.value[m.name]=`${m.label} must be at least ${m.min}`:m.max!==void 0&&Number(u)>m.max&&(i.value[m.name]=`${m.label} must be at most ${m.max}`):m.type==="date"?(!u||typeof u=="string"&&!u.trim())&&(i.value[m.name]=m.errorMessage||`${m.label} is required`):m.type==="password"?(!u||typeof u=="string"&&!u.trim())&&(i.value[m.name]=m.errorMessage||`${m.label} is required`):(!u||typeof u=="string"&&!u.trim())&&(i.value[m.name]=m.errorMessage||`${m.label} is required`)}if(m.validate&&typeof m.validate=="function"){const u=m.validate(s.value[m.name],s.value);u&&(i.value[m.name]=u)}}),a.customValidation){const m=a.customValidation(s.value);m&&Object.keys(m).length>0&&(i.value={...i.value,...m})}return Object.keys(i.value).length===0},v=async(m,u)=>{if(s.value[m.name]=u,m.onChange&&typeof m.onChange=="function")try{await m.onChange(u,s.value)}catch(d){console.error("Error in onChange handler:",d),be.error("An error occurred while processing the change")}},E=(m,u)=>{if(s.value[m.name]=u,m.onChange&&typeof m.onChange=="function")try{m.onChange(u,s.value)}catch(d){console.error("Error in onChange handler:",d),be.error("An error occurred while processing the change")}},y=async()=>{try{if(!p()){be.error("Please fix the validation errors before submitting");return}const m={};a.fields.forEach(u=>{const d=s.value[u.name];u.type==="number"||u.type==="slider"?m[u.name]=Number(d):u.type==="text"||u.type==="textarea"||u.type==="date"?m[u.name]=typeof d=="string"?d.trim():d:(u.type,m[u.name]=d)}),r("submit",{formData:m,modalType:a.modalType,originalData:a.initialData})}catch(m){console.error("Error during form submission:",m),be.error("An error occurred during submission")}},x=()=>{s.value=f(),i.value={},c.value=!1,r("close")};return(m,u)=>(e.openBlock(),e.createBlock(Jt,{modelValue:o.value,"onUpdate:modelValue":u[0]||(u[0]=d=>o.value=d),"show-close":!0,"close-on-backdrop":!0,size:t.modalSize,resizable:t.modalResizable,onClose:x},{default:e.withCtx(()=>[e.createElementVNode("div",wg,[e.createElementVNode("h2",Cg,e.toDisplayString(t.modalType==="create"?`Add New ${t.entityName}`:`Edit ${t.entityName}`),1),e.createElementVNode("p",Bg,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-4",onSubmit:e.withModifiers(y,["prevent"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,d=>(e.openBlock(),e.createElementBlock("div",{key:d.name},[e.createVNode(Kt,{id:`form-${t.entityName}-${d.name}-${Math.random().toString(36).slice(2,5)}`,label:d.label,required:d.required&&!d.disabled,error:i.value[d.name],"error-message":i.value[d.name]},{default:e.withCtx(({fieldId:g,hasError:k,ariaDescribedBy:V})=>[d.type==="text"||d.type==="number"||d.type==="password"||d.type==="color"?(e.openBlock(),e.createBlock(Je,{key:0,id:g,modelValue:s.value[d.name],"onUpdate:modelValue":B=>s.value[d.name]=B,type:d.type,placeholder:d.placeholder,disabled:l.value||d.disabled,readonly:d.disabled,class:e.normalizeClass(k?"border-red-500":"border-slate-300"),"aria-describedby":V},null,8,["id","modelValue","onUpdate:modelValue","type","placeholder","disabled","readonly","class","aria-describedby"])):d.type==="textarea"?(e.openBlock(),e.createBlock(Xt,{key:1,id:g,modelValue:s.value[d.name],"onUpdate:modelValue":B=>s.value[d.name]=B,placeholder:d.placeholder,disabled:l.value||d.disabled,rows:d.rows||3,class:e.normalizeClass(["w-full px-3 py-2 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",k?"border-red-500":"border-slate-300"]),"aria-describedby":V},null,8,["id","modelValue","onUpdate:modelValue","placeholder","disabled","rows","class","aria-describedby"])):d.type==="select"?(e.openBlock(),e.createBlock(ce,{key:2,id:g,"model-value":s.value[d.name],disabled:l.value||d.disabled,class:e.normalizeClass(["w-full px-3 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",k?"border-red-500":"border-slate-300"]),"aria-describedby":V,"onUpdate:modelValue":B=>v(d,B)},{default:e.withCtx(()=>[e.createElementVNode("option",Sg,e.toDisplayString(d.placeholder||"Select an option"),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.options,B=>(e.openBlock(),e.createElementBlock("option",{key:B.value,value:B.value},e.toDisplayString(B.label),9,Vg))),128))]),_:2},1032,["id","model-value","disabled","class","aria-describedby","onUpdate:modelValue"])):d.type==="checkbox"?(e.openBlock(),e.createElementBlock("div",Eg,[e.createVNode(Je,{id:g,modelValue:s.value[d.name],"onUpdate:modelValue":B=>s.value[d.name]=B,type:"checkbox",disabled:l.value||d.disabled,class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded","aria-describedby":V},null,8,["id","modelValue","onUpdate:modelValue","disabled","aria-describedby"]),e.createVNode(lt,{for:g,class:"ml-2 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.checkboxLabel),1)]),_:2},1032,["for"])])):d.type==="slider"?(e.openBlock(),e.createBlock(Qt,{key:4,"model-value":s.value[d.name],min:d.min,max:d.max,step:d.step,disabled:l.value||d.disabled,"onUpdate:modelValue":B=>E(d,B)},null,8,["model-value","min","max","step","disabled","onUpdate:modelValue"])):d.type==="date"?(e.openBlock(),e.createBlock(st,{key:5,id:g,modelValue:s.value[d.name],"onUpdate:modelValue":B=>s.value[d.name]=B,disabled:l.value||d.disabled,required:d.required,min:d.min,max:d.max,placeholder:d.placeholder||"Select date",format:d.format||"MM/DD/YYYY",clearable:d.clearable!==!1,"show-today":d.showToday!==!1,"calendar-position":d.calendarPosition||"left-0 bottom-full","aria-describedby":V},null,8,["id","modelValue","onUpdate:modelValue","disabled","required","min","max","placeholder","format","clearable","show-today","calendar-position","aria-describedby"])):e.createCommentVNode("",!0)]),_:2},1032,["id","label","required","error","error-message"])]))),128)),e.createElementVNode("div",Ng,[e.createVNode(Z,{type:"button",variant:"outline",disabled:l.value,onClick:x},{default:e.withCtx(()=>[...u[1]||(u[1]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["disabled"]),e.createVNode(Z,{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","resizable"]))}},$g={key:0,class:"flex items-center justify-between p-4 border-b border-gray-200 flex-shrink-0 lg:hidden"},zg={class:"text-lg font-bold text-gray-900"},Dg={class:"flex-1 overflow-y-auto overflow-x-hidden p-4"},Tg={class:"space-y-2"},Ag={key:0},Fg={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=["onClick"],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"},jg={key:1,class:"absolute top-1.5 right-1.5 w-2 h-2 bg-blue-500 rounded-full"},Lg={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"},Mg={class:"sticky top-0 bg-white border-b border-gray-200 z-10"},Rg={class:"flex items-center justify-between p-4"},_g={class:"flex-1 text-sm font-bold text-gray-900 ml-2"},qg={class:"p-3"},Ug={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"},Hg={class:"p-3"},Gg={class:"space-y-1"},Xg={key:0,class:"px-3 py-2 text-xs font-semibold text-gray-500 uppercase tracking-wider"},Kg={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"},Pr={__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 r=t,o=a,l=e.ref(!1),s=e.ref(!1),i=e.ref(null),c=e.ref(!1),f=e.computed(()=>r.mobileOpen),p=e.computed(()=>l.value?{}:{left:`${r.sidebarWidth}px`}),v=e.computed(()=>l.value?{}:{left:`${r.sidebarWidth}px`}),E=e.computed(()=>{if(l.value)return 0;let S=r.sidebarWidth;return s.value&&(S+=220),c.value&&(S+=220),S}),y=S=>{o("navigate",S),l.value&&x();const P=s.value&&i.value&&i.value.subItems.some(b=>b.route===S.route),j=c.value&&r.managementSettings.some(b=>b.route===S.route);(l.value||!(P||j))&&V()},x=()=>{o("update:mobileOpen",!1)},m=S=>S.subItems&&S.subItems.length>0,u=S=>{c.value&&k(),s.value&&i.value!==S?(g(),setTimeout(()=>{i.value=S,s.value=!0},300)):s.value?i.value===S&&g():(i.value=S,s.value=!0),l.value&&x()},d=()=>{s.value&&g(),c.value?k():c.value=!0,l.value&&x()},g=()=>{s.value=!1,setTimeout(()=>{i.value=null},300)},k=()=>{c.value=!1},V=()=>{g(),k()},B=S=>{y(S)},U=S=>{y(S)},I=S=>{const P=r.currentPath;return S.route?!!(P===S.route||P.startsWith(S.route+"/")):S.subItems&&S.subItems.length>0?S.subItems.some(j=>j.route?P===j.route||P.startsWith(j.route+"/"):!1):!1},W=()=>{const S=l.value;l.value=window.innerWidth<1024,S&&!l.value&&f.value&&x()},M=S=>{S.key==="Escape"&&(s.value||c.value?V():l.value&&f.value&&x())};return e.onMounted(()=>{W(),window.addEventListener("resize",W),document.addEventListener("keydown",M)}),e.onUnmounted(()=>{window.removeEventListener("resize",W),document.removeEventListener("keydown",M)}),n({isMobile:l,isMobileOpen:f,submenuOpen:s,managementSettingsOpen:c,contentMarginLeft:E,closeAllMenus:V}),(S,P)=>{const j=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(()=>[f.value&&l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-30 lg:hidden",onClick:x})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("aside",{class:e.normalizeClass(e.unref(h)("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(h)("transform h-screen",f.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",$g,[e.createElementVNode("h2",zg,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:x},[...P[0]||(P[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",Dg,[e.createElementVNode("div",Tg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.navigationItems,b=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:b.name||b.label},[b.type==="link"?(e.openBlock(),e.createElementBlock("div",Ag,[m(b)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(h)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 cursor-pointer group relative py-4 px-3",I(b)?"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=>u(b)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",I(b)?"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(L,{icon:b.icon,class:"w-6 h-6"},null,8,["icon"])],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(h)("text-xs font-medium text-center",I(b)?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))},e.toDisplayString(b.label),3),b.badge?(e.openBlock(),e.createElementBlock("span",Pg,e.toDisplayString(b.badge),1)):e.createCommentVNode("",!0),I(b)&&m(b)?(e.openBlock(),e.createElementBlock("div",jg)):e.createCommentVNode("",!0)],10,Ig)):(e.openBlock(),e.createBlock(j,{key:0,to:b.route,class:e.normalizeClass(e.unref(h)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 group relative py-4 px-3",I(b)?"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=>y(b)},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",I(b)?"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(L,{icon:b.icon,class:"w-6 h-6"},null,8,["icon"])],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(h)("text-xs font-medium text-center",I(b)?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))},e.toDisplayString(b.label),3),b.badge?(e.openBlock(),e.createElementBlock("span",Fg,e.toDisplayString(b.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","class","onClick"]))])):e.createCommentVNode("",!0)],64))),128))])]),t.showManagementSettings?(e.openBlock(),e.createElementBlock("div",Lg,[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("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:d},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("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(L,{icon:"cog",class:"w-6 h-6"})],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(h)("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(h)("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(p.value)},[e.createElementVNode("div",Mg,[e.createElementVNode("div",Rg,[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:g},[...P[1]||(P[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",_g,e.toDisplayString(i.value?.label),1)])]),e.createElementVNode("nav",qg,[e.createElementVNode("div",Ug,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value?.subItems,b=>(e.openBlock(),e.createBlock(j,{key:b.name,to:b.route,class:e.normalizeClass(e.unref(h)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",I(b)?"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=>B(b)},{default:e.withCtx(()=>[I(b)?(e.openBlock(),e.createElementBlock("div",Wg)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",I(b)?"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"))},[b.icon?(e.openBlock(),e.createBlock(L,{key:0,icon:b.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(h)("flex-1 truncate font-semibold",I(b)?"text-blue-700":"text-gray-700"))},e.toDisplayString(b.label),3),b.badge?(e.openBlock(),e.createElementBlock("span",Yg,e.toDisplayString(b.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(()=>[c.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:e.normalizeClass(e.unref(h)("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({...v.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:k},[...P[2]||(P[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)])]),P[3]||(P[3]=e.createElementVNode("h3",{class:"flex-1 text-sm font-bold text-gray-900 ml-2"}," Management Settings ",-1))])]),e.createElementVNode("nav",Hg,[e.createElementVNode("div",Gg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.managementSettings,b=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:b.name},[b.type==="section"?(e.openBlock(),e.createElementBlock("div",Xg,e.toDisplayString(b.label),1)):b.route?(e.openBlock(),e.createBlock(j,{key:1,to:b.route,class:e.normalizeClass(e.unref(h)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",I(b)?"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=>U(b)},{default:e.withCtx(()=>[I(b)?(e.openBlock(),e.createElementBlock("div",Kg)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors",I(b)?"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"))},[b.icon?(e.openBlock(),e.createBlock(L,{key:0,icon:b.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(h)("flex-1 truncate font-semibold",I(b)?"text-blue-700":"text-gray-700"))},e.toDisplayString(b.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||c.value)&&l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-30 bg-transparent",onClick:V})):e.createCommentVNode("",!0)]),_:1})])}}},jr={__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"},Qg={class:"z-10 flex items-center justify-center w-6 h-6 rounded-full border-2 border-blue-500 bg-white text-blue-500"},Zg={class:"text-slate-900 font-medium"},ep={key:0,class:"text-slate-500 text-sm"},tp={class:"mt-2 text-slate-600 text-sm"},Lr={__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",Qg,[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",Zg,[e.renderSlot(n.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),t.subtitle?(e.openBlock(),e.createElementBlock("p",ep,[e.renderSlot(n.$slots,"subtitle",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",tp,[e.renderSlot(n.$slots,"default")])],2)],2))}},ap={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())}}},np={class:"container mx-auto px-4 relative z-10"},rp={class:"grid lg:grid-cols-10 gap-8 items-center min-h-screen"},op={class:"lg:col-span-6 text-white text-center lg:text-left space-y-6"},lp={class:"mb-6"},sp={class:"text-4xl lg:text-6xl font-bold mb-2"},ip={class:"text-white"},cp={class:"flex items-center justify-center lg:justify-start mb-6"},dp={class:"text-3xl lg:text-4xl font-bold text-white"},up={class:"lg:col-span-4"},mp={class:"bg-white rounded-lg shadow-xl p-6 lg:p-8 max-w-md mx-auto"},fp={key:0,class:"mb-6"},gp={class:"text-center"},pp={class:"text-2xl font-bold text-gray-900"},vp={key:0,class:"text-gray-600 mt-2"},hp={class:"space-y-6"},bp={key:1,class:"mt-6"},yp={key:0,class:"mt-6 text-center"},xp={class:"absolute bottom-4 right-4 text-right"},kp={class:"flex items-end justify-end mb-2"},wp={class:"text-right mr-3"},Cp={class:"text-red-500 font-bold text-xs"},Bp={class:"text-white text-xs"},Sp={class:"text-white/70 text-xs"},Vp={class:"w-8 h-8 bg-red-500 rounded flex items-center justify-center text-white font-bold text-xs"},Ep={class:"text-white/70 text-xs"},Np={class:"absolute bottom-4 left-4 flex gap-2"},$p=["href"];function zp(t,n,a,r,o,l){const s=e.resolveComponent("router-view"),i=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",np,[e.createElementVNode("div",rp,[e.createElementVNode("div",op,[e.createElementVNode("div",lp,[e.createElementVNode("div",sp,[e.createElementVNode("span",{style:e.normalizeStyle({color:a.primaryColor})},e.toDisplayString(a.primaryLogoPrefix),5),e.createElementVNode("span",ip,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",cp,[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",dp,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",up,[e.createElementVNode("div",mp,[t.$slots["card-header"]||a.title?(e.openBlock(),e.createElementBlock("div",fp,[e.renderSlot(t.$slots,"card-header",{},()=>[e.createElementVNode("div",gp,[e.createElementVNode("h1",pp,e.toDisplayString(a.title),1),a.subtitle?(e.openBlock(),e.createElementBlock("p",vp,e.toDisplayString(a.subtitle),1)):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",hp,[e.createVNode(s)]),t.$slots["card-footer"]?(e.openBlock(),e.createElementBlock("div",bp,[e.renderSlot(t.$slots,"card-footer")])):e.createCommentVNode("",!0)]),t.$slots.links?(e.openBlock(),e.createElementBlock("div",yp,[e.renderSlot(t.$slots,"links")])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",xp,[e.createElementVNode("div",kp,[e.createElementVNode("div",wp,[e.createElementVNode("div",Cp,e.toDisplayString(a.companyName),1),e.createElementVNode("div",Bp,e.toDisplayString(a.companyType),1),e.createElementVNode("div",Sp,e.toDisplayString(a.companyTagline),1)]),e.createElementVNode("div",Vp,e.toDisplayString(a.companyInitials),1)]),e.createElementVNode("div",Ep,[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",Np,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.socialLinks,c=>(e.openBlock(),e.createElementBlock("a",{key:c.name,href:c.url,class:e.normalizeClass(["w-8 h-7 flex items-center justify-center rounded text-xs transition-colors",c.variant==="primary"?"bg-blue-600 hover:bg-blue-700 text-white":c.variant==="info"?"bg-cyan-500 hover:bg-cyan-600 text-white":"bg-gray-600 hover:bg-gray-700 text-white"])},[e.createVNode(i,{icon:["fab",c.icon]},null,8,["icon"])],10,$p))),128))])],4)}const Or=it(ap,[["render",zp]]),Dp={class:"min-h-screen bg-gray-50"},Tp={class:"flex-1"},Ap={key:0,class:"bg-white border-b border-gray-200"},Fp={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},Ip={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},Mr={__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 r=e.resolveComponent("Logo"),o=e.resolveComponent("MainNavigation"),l=e.resolveComponent("Button"),s=e.resolveComponent("Header"),i=e.resolveComponent("Breadcrumb"),c=e.resolveComponent("Text"),f=e.resolveComponent("Footer");return e.openBlock(),e.createElementBlock("div",Dp,[e.createVNode(s,null,{logo:e.withCtx(()=>[e.renderSlot(n.$slots,"logo",{},()=>[e.createVNode(r)])]),navigation:e.withCtx(()=>[e.renderSlot(n.$slots,"navigation",{},()=>[e.createVNode(o,{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",Tp,[t.showBreadcrumb?(e.openBlock(),e.createElementBlock("div",Ap,[e.createElementVNode("div",Fp,[e.renderSlot(n.$slots,"breadcrumb",{},()=>[e.createVNode(i,{items:t.breadcrumbItems},null,8,["items"])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Ip,[e.renderSlot(n.$slots,"default")])]),e.createVNode(f,null,{brand:e.withCtx(()=>[e.renderSlot(n.$slots,"footer-brand",{},()=>[e.createVNode(r,{class:"mb-4"}),e.createVNode(c,{class:"text-gray-600 max-w-md"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" Your application description goes here. ",-1)])]),_:1})])]),_:3})])}}},Pp={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(),r=e.inject("$router",null)||a?.appContext.app.config.globalProperties?.$router,o=e.ref(!1),l=e.ref(!1),s=e.ref(navigator.onLine),i=e.ref(`err_${Date.now()}_${Math.random().toString(36).substr(2,9)}`),c=e.ref(!1),f=()=>{s.value=navigator.onLine};e.onMounted(()=>{window.addEventListener("online",f),window.addEventListener("offline",f)}),e.onUnmounted(()=>{window.removeEventListener("online",f),window.removeEventListener("offline",f)});const p=e.computed(()=>{const _={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 _[t.errorType]||_[404]}),v=e.computed(()=>p.value),E=e.computed(()=>t.errorTitle||v.value.title),y=e.computed(()=>t.errorMessage||v.value.message),x=e.computed(()=>v.value.homeButtonIcon||"🏠"),m=e.computed(()=>t.showAdditionalInfo?v.value.additionalInfo:null),u=()=>{r?r.push(t.homeUrl):window.location.href=t.homeUrl},d=()=>{r&&window.history.length>1?r.back():window.history.length>1?window.history.back():u(),n("back")},g=async()=>{o.value=!0;try{await new Promise(_=>setTimeout(_,1e3)),window.location.reload()}catch(_){console.error("Retry failed:",_)}finally{o.value=!1}n("retry")},k=e.computed(()=>["min-h-screen relative flex items-center justify-center","px-4 sm:px-6 lg:px-8"]),V=e.computed(()=>["absolute inset-0 -z-10"]),B=e.computed(()=>["w-full max-w-2xl mx-auto text-center"]),U=e.computed(()=>["mb-8"]),I=e.computed(()=>["space-y-8"]),W=e.computed(()=>["flex justify-center mb-6"]),M=e.computed(()=>["w-32 h-32 flex items-center justify-center"]),S=e.computed(()=>["space-y-4"]),P=e.computed(()=>["text-6xl font-bold text-slate-300 mb-4"]),j=e.computed(()=>["text-3xl font-bold text-slate-900"]),b=e.computed(()=>["text-lg text-slate-600 max-w-lg mx-auto"]),N=e.computed(()=>["mt-8"]),F=e.computed(()=>["mt-8"]),Y=e.computed(()=>["mt-6"]);return{isRetrying:o,reportSent:l,isOnline:s,errorId:i,isDev:c,errorConfig:v,title:E,message:y,homeButtonIcon:x,additionalInfoConfig:m,goHome:u,goBack:d,retry:g,layoutClasses:k,backgroundClasses:V,contentClasses:B,headerClasses:U,errorContentClasses:I,illustrationClasses:W,iconContainerClasses:M,detailsClasses:S,codeClasses:P,titleClasses:j,messageClasses:b,actionsClasses:N,additionalInfoClasses:F,helpClasses:Y}}},jp={class:"flex justify-center"},Lp={class:"flex items-center gap-3"},Op={class:"text-2xl font-bold text-slate-900"},Mp={key:1,class:"bg-red-100 border border-red-200 rounded-lg p-4 mx-auto max-w-md mb-6"},Rp={class:"flex flex-col sm:flex-row gap-4 justify-center"},_p=["disabled"],qp={key:0,class:"animate-spin"},Up={key:1},Wp=["disabled"],Yp={key:0},Hp={key:1},Gp={key:0,class:"mt-8 max-w-md mx-auto"},Xp={class:"bg-white rounded-lg border border-slate-200 shadow-sm p-6"},Kp={class:"text-lg font-semibold text-slate-900 mb-4"},Jp={class:"space-y-3"},Qp={class:"text-sm text-slate-600"},Zp=["href"],ev={key:5,class:"text-xs text-slate-400 font-mono mt-4"};function tv(t,n,a,r,o,l){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.layoutClasses)},[a.showBackground?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.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(r.contentClasses)},[t.$slots.header||a.showLogo?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.headerClasses)},[e.renderSlot(t.$slots,"header",{},()=>[e.createElementVNode("div",jp,[e.renderSlot(t.$slots,"logo",{},()=>[e.createElementVNode("div",Lp,[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",Op,e.toDisplayString(a.brandName),1)])])])])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.errorContentClasses)},[t.$slots.illustration||a.showDefaultIllustration?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.illustrationClasses)},[e.renderSlot(t.$slots,"illustration",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(r.iconContainerClasses)},[e.createElementVNode("div",{class:"text-8xl",style:e.normalizeStyle({color:r.errorConfig.color})},e.toDisplayString(r.errorConfig.icon),5)],2)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.detailsClasses)},[a.errorCode?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.codeClasses)},e.toDisplayString(a.errorCode),3)):e.createCommentVNode("",!0),e.createElementVNode("h1",{class:e.normalizeClass(r.titleClasses)},[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(r.title),1)])],2),e.createElementVNode("p",{class:e.normalizeClass(r.messageClasses)},[e.renderSlot(t.$slots,"message",{},()=>[e.createTextVNode(e.toDisplayString(r.message),1)])],2)],2),r.isOnline?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Mp,[...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(r.actionsClasses)},[e.renderSlot(t.$slots,"actions",{},()=>[e.createElementVNode("div",Rp,[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)=>r.goHome&&r.goHome(...s))},[e.createElementVNode("span",null,e.toDisplayString(r.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)=>r.goBack&&r.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:r.isRetrying||!r.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)=>r.retry&&r.retry(...s))},[r.isRetrying?(e.openBlock(),e.createElementBlock("span",qp,"↻")):(e.openBlock(),e.createElementBlock("span",Up,"🔄")),e.createTextVNode(" "+e.toDisplayString(r.isRetrying?"Retrying...":a.retryButtonText),1)],8,_p)):e.createCommentVNode("",!0),a.showSupportButton?(e.openBlock(),e.createElementBlock("button",{key:3,disabled:r.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"))},[r.reportSent?(e.openBlock(),e.createElementBlock("span",Yp,"✓")):(e.openBlock(),e.createElementBlock("span",Hp,"📝")),e.createTextVNode(" "+e.toDisplayString(r.reportSent?"Report Sent":"Contact Support"),1)],8,Wp)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),t.$slots["additional-info"]||a.showAdditionalInfo?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(r.additionalInfoClasses)},[e.renderSlot(t.$slots,"additional-info",{},()=>[r.additionalInfoConfig?(e.openBlock(),e.createElementBlock("div",Gp,[e.createElementVNode("div",Xp,[e.createElementVNode("h3",Kp,e.toDisplayString(r.additionalInfoConfig.title),1),e.createElementVNode("ul",Jp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.additionalInfoConfig.items,(s,i)=>(e.openBlock(),e.createElementBlock("li",{key:i,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(r.helpClasses)},[e.renderSlot(t.$slots,"help",{},()=>[e.createElementVNode("p",Qp,[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,Zp)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),r.isDev?(e.openBlock(),e.createElementBlock("div",ev," Error ID: "+e.toDisplayString(r.errorId),1)):e.createCommentVNode("",!0)],2)],2)],2)}const Rr=it(Pp,[["render",tv]]),Ft={mounted(t,n){if(!n.value)return;const a=Object.keys(n.modifiers)[0]||"top",r=document.createElement("div");r.textContent=n.value,r.className="tooltip-custom",r.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
- `}},i=()=>{document.body.appendChild(r),s(),l(),setTimeout(()=>{r.style.opacity="1"},10),window.addEventListener("scroll",l,!0),window.addEventListener("resize",l)},c=()=>{r.style.opacity="0",window.removeEventListener("scroll",l,!0),window.removeEventListener("resize",l),setTimeout(()=>{r.parentNode&&document.body.removeChild(r)},200)};t.addEventListener("mouseenter",i),t.addEventListener("mouseleave",c),t.addEventListener("click",c),t._tooltipShowFn=i,t._tooltipHideFn=c,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))}},Fa={Avatar:jn,Badge:Ln,Button:Z,Checkbox:rt,Divider:On,Icon:L,Image:Mn,Input:Je,Label:lt,Link:Rn,Logo:_n,Option:Gt,Progress:qn,ProgressBar:Un,Radio:Wn,Select:ce,Spinner:ot,Switch:Yn,Text:Hn,Textarea:Xt,Tooltip:Gn,Typography:Qe,Loader:Se,Alert:Xn,Breadcrumb:Kn,ButtonGroup:Jn,Card:Qn,CardHeader:Zn,CardBody:er,CardFooter:tr,CardContent:ar,CardTitle:nr,DatePicker:st,Dropdown:rr,DropdownItem:or,FileUpload:lr,FormField:Kt,InputGroup:sr,ListItem:ir,MenuItem:cr,Modal:Jt,ModalHeader:dr,ModalBody:ur,ModalFooter:mr,Notification:fr,Toast:vr,Search:hr,Slider:Qt,Stepper:br,StepperItem:yr,Tab:xr,TabPanel:kr,BarChart:Vr,LineChart:Er,GraphFilters:Nr,Accordion:wr,AccordionItem:Cr,Graph:Sr,Calendar:Br,DataTable:$r,DataTableHeader:Zt,DataTableRow:ea,DataTableCell:zr,DataTablePagination:ta,DataTableFilters:Dr,DataTableToolBar:Tr,Footer:Ar,Header:Fr,ReusableFormModal:Ir,Sidebar:Pr,Timeline:jr,TimelineItem:Lr,AuthLayout:Or,DefaultLayout:Mr,ErrorLayout:Rr},ev={install(t,n={}){const{prefix:a=""}=n;Object.keys(Fa).forEach(r=>{const o=a?`${a}${r}`:r;t.component(o,Fa[r])}),t.config.globalProperties.$toast=be,t.provide("toast",be),t.config.globalProperties.$tooltip=Ft,t.provide("tooltip",Ft)}};exports.Accordion=wr;exports.AccordionItem=Cr;exports.Alert=Xn;exports.AuthLayout=Or;exports.Avatar=jn;exports.Badge=Ln;exports.BarChart=Vr;exports.Breadcrumb=Kn;exports.Button=Z;exports.ButtonGroup=Jn;exports.Calendar=Br;exports.Card=Qn;exports.CardBody=er;exports.CardContent=ar;exports.CardFooter=tr;exports.CardHeader=Zn;exports.CardTitle=nr;exports.Checkbox=rt;exports.DataTable=$r;exports.DataTableCell=zr;exports.DataTableFilters=Dr;exports.DataTableHeader=Zt;exports.DataTablePagination=ta;exports.DataTableRow=ea;exports.DataTableToolBar=Tr;exports.DatePicker=st;exports.DefaultLayout=Mr;exports.Divider=On;exports.Dropdown=rr;exports.DropdownItem=or;exports.ErrorLayout=Rr;exports.FileUpload=lr;exports.Footer=Ar;exports.FormField=Kt;exports.Graph=Sr;exports.GraphFilters=Nr;exports.Header=Fr;exports.Icon=L;exports.Image=Mn;exports.Input=Je;exports.InputGroup=sr;exports.Label=lt;exports.LineChart=Er;exports.Link=Rn;exports.ListItem=ir;exports.Loader=Se;exports.Logo=_n;exports.MenuItem=cr;exports.Modal=Jt;exports.ModalBody=ur;exports.ModalFooter=mr;exports.ModalHeader=dr;exports.Notification=fr;exports.Option=Gt;exports.Progress=qn;exports.ProgressBar=Un;exports.Radio=Wn;exports.ReusableFormModal=Ir;exports.Search=hr;exports.Select=ce;exports.Sidebar=Pr;exports.Slider=Qt;exports.Spinner=ot;exports.Stepper=br;exports.StepperItem=yr;exports.Switch=Yn;exports.Tab=xr;exports.TabPanel=kr;exports.Text=Hn;exports.Textarea=Xt;exports.Timeline=jr;exports.TimelineItem=Lr;exports.Toast=vr;exports.Tooltip=Gn;exports.Typography=Qe;exports.cn=h;exports.default=ev;exports.toast=be;exports.tooltip=Ft;exports.useToaster=pr;
653
+ `}},i=()=>{document.body.appendChild(r),s(),l(),setTimeout(()=>{r.style.opacity="1"},10),window.addEventListener("scroll",l,!0),window.addEventListener("resize",l)},c=()=>{r.style.opacity="0",window.removeEventListener("scroll",l,!0),window.removeEventListener("resize",l),setTimeout(()=>{r.parentNode&&document.body.removeChild(r)},200)};t.addEventListener("mouseenter",i),t.addEventListener("mouseleave",c),t.addEventListener("click",c),t._tooltipShowFn=i,t._tooltipHideFn=c,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))}},Fa={Avatar:jn,Badge:Ln,Button:Z,Checkbox:rt,Divider:On,Icon:L,Image:Mn,Input:Je,Label:lt,Link:Rn,Logo:_n,Option:Gt,Progress:qn,ProgressBar:Un,Radio:Wn,Select:ce,Spinner:ot,Switch:Yn,Text:Hn,Textarea:Xt,Tooltip:Gn,Typography:Qe,Loader:Se,Alert:Xn,Breadcrumb:Kn,ButtonGroup:Jn,Card:Qn,CardHeader:Zn,CardBody:er,CardFooter:tr,CardContent:ar,CardTitle:nr,DatePicker:st,Dropdown:rr,DropdownItem:or,FileUpload:lr,FormField:Kt,InputGroup:sr,ListItem:ir,MenuItem:cr,Modal:Jt,ModalHeader:dr,ModalBody:ur,ModalFooter:mr,Notification:fr,Toast:vr,Search:hr,Slider:Qt,Stepper:br,StepperItem:yr,Tab:xr,TabPanel:kr,BarChart:Vr,LineChart:Er,GraphFilters:Nr,Accordion:wr,AccordionItem:Cr,Graph:Sr,Calendar:Br,DataTable:$r,DataTableHeader:Zt,DataTableRow:ea,DataTableCell:zr,DataTablePagination:ta,DataTableFilters:Dr,DataTableToolBar:Tr,Footer:Ar,Header:Fr,ReusableFormModal:Ir,Sidebar:Pr,Timeline:jr,TimelineItem:Lr,AuthLayout:Or,DefaultLayout:Mr,ErrorLayout:Rr},av={install(t,n={}){const{prefix:a=""}=n;Object.keys(Fa).forEach(r=>{const o=a?`${a}${r}`:r;t.component(o,Fa[r])}),t.config.globalProperties.$toast=be,t.provide("toast",be),t.config.globalProperties.$tooltip=Ft,t.provide("tooltip",Ft)}};exports.Accordion=wr;exports.AccordionItem=Cr;exports.Alert=Xn;exports.AuthLayout=Or;exports.Avatar=jn;exports.Badge=Ln;exports.BarChart=Vr;exports.Breadcrumb=Kn;exports.Button=Z;exports.ButtonGroup=Jn;exports.Calendar=Br;exports.Card=Qn;exports.CardBody=er;exports.CardContent=ar;exports.CardFooter=tr;exports.CardHeader=Zn;exports.CardTitle=nr;exports.Checkbox=rt;exports.DataTable=$r;exports.DataTableCell=zr;exports.DataTableFilters=Dr;exports.DataTableHeader=Zt;exports.DataTablePagination=ta;exports.DataTableRow=ea;exports.DataTableToolBar=Tr;exports.DatePicker=st;exports.DefaultLayout=Mr;exports.Divider=On;exports.Dropdown=rr;exports.DropdownItem=or;exports.ErrorLayout=Rr;exports.FileUpload=lr;exports.Footer=Ar;exports.FormField=Kt;exports.Graph=Sr;exports.GraphFilters=Nr;exports.Header=Fr;exports.Icon=L;exports.Image=Mn;exports.Input=Je;exports.InputGroup=sr;exports.Label=lt;exports.LineChart=Er;exports.Link=Rn;exports.ListItem=ir;exports.Loader=Se;exports.Logo=_n;exports.MenuItem=cr;exports.Modal=Jt;exports.ModalBody=ur;exports.ModalFooter=mr;exports.ModalHeader=dr;exports.Notification=fr;exports.Option=Gt;exports.Progress=qn;exports.ProgressBar=Un;exports.Radio=Wn;exports.ReusableFormModal=Ir;exports.Search=hr;exports.Select=ce;exports.Sidebar=Pr;exports.Slider=Qt;exports.Spinner=ot;exports.Stepper=br;exports.StepperItem=yr;exports.Switch=Yn;exports.Tab=xr;exports.TabPanel=kr;exports.Text=Hn;exports.Textarea=Xt;exports.Timeline=jr;exports.TimelineItem=Lr;exports.Toast=vr;exports.Tooltip=Gn;exports.Typography=Qe;exports.cn=h;exports.default=av;exports.toast=be;exports.tooltip=Ft;exports.useToaster=pr;