@stlhorizon/vue-ui 1.4.1 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -593,27 +593,27 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
593
593
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
594
594
  d="M6 18L18 6M6 6l12 12" />
595
595
  </svg>
596
- `},x=e.computed(()=>({info:i,success:c,warning:d,error:f,default:i,destructive:f})[a.variant]),C=w.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"}}),y=e.computed(()=>["w-5 h-5",{info:"text-blue-500",success:"text-green-500",warning:"text-yellow-500",error:"text-red-500",default:"text-foreground",destructive:"text-destructive"}[a.variant]]),g=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,m)=>(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(p)(e.unref(C)({variant:t.variant}),u.$attrs.class)),role:"alert"},[e.createElementVNode("div",wi,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Ci,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x.value),{class:e.normalizeClass(y.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",Si,[t.title?(e.openBlock(),e.createElementBlock("h4",Bi,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",Vi,[e.renderSlot(u.$slots,"actions",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,v=>(e.openBlock(),e.createBlock(U,{key:v.label,variant:v.variant||"outline",size:v.size||"sm",onClick:k=>s(v)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.label),1)]),_:2},1032,["variant","size","onClick"]))),128))])])):e.createCommentVNode("",!0)]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:l,class:e.normalizeClass(g.value),"aria-label":t.dismissLabel},[e.createVNode(h,{class:"w-4 h-4"})],10,Ni)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)]),_:3}))}}),Ei=["aria-label"],zi={class:"flex items-center space-x-1"},An={__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=w.cva("",{variants:{variant:{default:"",ghost:"text-muted-foreground"}}}),r=e.computed(()=>p(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(D,{key:0,name:t.separator,class:"mx-2 h-4 w-4 text-muted-foreground"},null,8,["name"])):e.createCommentVNode("",!0)]))),128))])],10,Ei))}},$i=["aria-label"],Tn={__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=w.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(()=>p(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,$i))}},Ai={class:"flex items-start justify-between"},Ti={class:"flex-1 min-w-0"},Di={key:0,class:"flex-shrink-0 ml-4"},Ii=["src","alt"],Pi="w-full h-auto object-cover",ji="text-lg font-semibold text-slate-900 truncate",Fi="text-sm text-slate-600 mt-1",Dn={__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=f=>{a.clickable&&r("click",f)},l=w.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=w.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=w.cva("",{variants:{padding:{none:"p-4",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}}}),c=w.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"}}}),d=w.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(f,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(p)(e.unref(l)({variant:t.variant,padding:t.padding,hoverable:t.hoverable,clickable:t.clickable,loading:t.loading}))),onClick:o},[f.$slots.header||t.title||t.subtitle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(p)(e.unref(s)({padding:t.padding})))},[e.renderSlot(f.$slots,"header",{},()=>[e.createElementVNode("div",Ai,[e.createElementVNode("div",Ti,[t.title?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(ji)},e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(Fi)},e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),f.$slots.actions?(e.openBlock(),e.createElementBlock("div",Di,[e.renderSlot(f.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),f.$slots.image||t.image?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(p)(e.unref(d)({padding:t.padding})))},[e.renderSlot(f.$slots,"image",{},()=>[t.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.image,alt:t.imageAlt,class:e.normalizeClass(Pi)},null,8,Ii)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),f.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(p)(e.unref(i)({padding:t.padding})))},[e.renderSlot(f.$slots,"default")],2)):e.createCommentVNode("",!0),f.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(p)(e.unref(c)({padding:t.padding})))},[e.renderSlot(f.$slots,"footer")],2)):e.createCommentVNode("",!0)],2))}},In=Object.assign({inheritAttrs:!1},{__name:"CardHeader",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(p)("flex flex-col space-y-1.5 p-6",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),Pn={__name:"CardBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=w.cva("p-6",{variants:{variant:{default:"p-6",compact:"p-4",spacious:"p-8"}}}),r=e.computed(()=>p(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},jn={__name:"CardFooter",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=w.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(()=>p(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},Fn=Object.assign({inheritAttrs:!1},{__name:"CardContent",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(p)("p-6 pt-0",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),On=Object.assign({inheritAttrs:!1},{__name:"CardTitle",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("h3",{class:e.normalizeClass(e.unref(p)("text-2xl font-semibold leading-none tracking-tight",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),Oi={class:"relative"},Li=["id","value","disabled","required","min","max"],Ln={__name:"DatePicker",props:{modelValue:String,id:String,disabled:Boolean,required:Boolean,min:String,max:String,variant:{type:String,default:"default",validator:t=>["default","outline","ghost"].includes(t)},size:{type:String,default:"default",validator:t=>["sm","default","lg"].includes(t)}},emits:["update:modelValue"],setup(t){const n=t,a=w.cva("flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 pr-10",{variants:{variant:{default:"border-input",outline:"border-2 border-primary",ghost:"border-transparent bg-transparent"},size:{sm:"h-9 px-2 text-xs",default:"h-10 px-3",lg:"h-11 px-4 text-base"}}}),r=e.computed(()=>p(a({variant:n.variant,size:n.size})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",Oi,[e.createElementVNode("input",{id:t.id,value:t.modelValue,type:"date",class:e.normalizeClass(r.value),disabled:t.disabled,required:t.required,min:t.min,max:t.max,onInput:l[0]||(l[0]=s=>o.$emit("update:modelValue",s.target.value))},null,42,Li),e.createVNode(D,{name:"calendar",class:"absolute right-3 top-1/2 transform -translate-y-1/2 w-4 h-4 pointer-events-none text-gray-400"})]))}},_i=["aria-expanded"],_n={__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=w.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=w.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(()=>p(o({variant:n.variant}),"h-10 px-4 py-2")),i=e.computed(()=>p(l({placement:n.placement}))),c=()=>{a.value=!a.value},d=f=>{r.value&&!r.value.contains(f.target)&&(a.value=!1)};return e.onMounted(()=>{document.addEventListener("click",d)}),e.onUnmounted(()=>{document.removeEventListener("click",d)}),(f,h)=>(e.openBlock(),e.createElementBlock("div",{class:"relative",ref_key:"dropdownRef",ref:r},[e.createElementVNode("button",{class:e.normalizeClass(s.value),onClick:c,"aria-expanded":a.value,"aria-haspopup":!0},[e.renderSlot(f.$slots,"trigger",{},()=>[e.createElementVNode("span",null,e.toDisplayString(t.triggerText),1),e.createVNode(D,{name:"chevron-down",class:"ml-2 h-4 w-4"})])],10,_i),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(f.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3})],512))}},Mi={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},Mn={__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=w.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(()=>p(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(D,{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",Mi,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},Ri={class:"w-full"},Hi=["multiple","accept"],Wi={class:"flex flex-col items-center justify-center py-6"},qi={key:0,class:"text-xs text-muted-foreground mt-1"},Ui={key:0,class:"mt-4 space-y-2"},Yi={class:"flex items-center space-x-2"},Gi={class:"text-sm"},Ki={class:"text-xs text-muted-foreground"},Xi=["onClick"],Rn={__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=w.cva("border-2 border-dashed rounded-lg cursor-pointer transition-colors hover:bg-muted/50",{variants:{variant:{default:"border-muted-foreground/25",dashed:"border-primary/50"}}}),c=e.computed(()=>p(i({variant:a.variant}),l.value&&"border-primary bg-primary/5")),d=v=>{v.preventDefault(),l.value=!1;const k=Array.from(v.dataTransfer.files);g(k)},f=v=>{v.preventDefault()},h=v=>{v.preventDefault(),l.value=!0},x=v=>{v.preventDefault(),l.value=!1},C=()=>{s.value?.click()},y=v=>{const k=Array.from(v.target.files);g(k)},g=v=>{const k=v.filter(E=>!(a.maxSize&&E.size>a.maxSize));a.multiple?o.value.push(...k):o.value=k.slice(0,1),r("files-selected",o.value)},u=v=>{o.value.splice(v,1),r("file-removed",o.value)},m=v=>{if(v===0)return"0 Bytes";const k=1024,E=["Bytes","KB","MB","GB"],z=Math.floor(Math.log(v)/Math.log(k));return parseFloat((v/Math.pow(k,z)).toFixed(2))+" "+E[z]};return(v,k)=>(e.openBlock(),e.createElementBlock("div",Ri,[e.createElementVNode("div",{class:e.normalizeClass(c.value),onDrop:d,onDragover:f,onDragenter:h,onDragleave:x,onClick:C},[e.createElementVNode("input",{ref_key:"fileInput",ref:s,type:"file",multiple:t.multiple,accept:t.accept,class:"hidden",onChange:y},null,40,Hi),e.createElementVNode("div",Wi,[e.createVNode(D,{name:"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",qi,e.toDisplayString(t.accept),1)):e.createCommentVNode("",!0)])],34),o.value.length>0?(e.openBlock(),e.createElementBlock("div",Ui,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(E,z)=>(e.openBlock(),e.createElementBlock("div",{key:z,class:"flex items-center justify-between p-2 bg-muted rounded-md"},[e.createElementVNode("div",Yi,[e.createVNode(D,{name:"file",class:"h-4 w-4 text-muted-foreground"}),e.createElementVNode("span",Gi,e.toDisplayString(E.name),1),e.createElementVNode("span",Ki,"("+e.toDisplayString(m(E.size))+")",1)]),e.createElementVNode("button",{onClick:_=>u(z),class:"text-muted-foreground hover:text-foreground"},[e.createVNode(D,{name:"x",class:"h-4 w-4"})],8,Xi)]))),128))])):e.createCommentVNode("",!0)]))}},Ji=["for"],Qi={key:0,class:"text-red-500 ml-1","aria-label":"required"},Zi={class:"relative"},ec=["aria-label"],tc=["id"],ac=["id"],Hn={__name:"FormField",props:{label:String,description:String,error:String,success:String,helpText:String,required:{type:Boolean,default:!1},type:{type:String,default:"text"},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},id:String},setup(t){const n=t,a=e.useId(),r=e.computed(()=>!!n.error),o=e.ref(!1),l=()=>{o.value=!o.value},s=e.computed(()=>{const x=[];return n.error?x.push(`${a}-error`):n.helpText&&x.push(`${a}-help`),x.length>0?x.join(" "):void 0}),i=w.cva("",{variants:{size:{sm:"space-y-1",md:"space-y-2",lg:"space-y-3"}},defaultVariants:{size:"md"}}),c=w.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"}}),d=w.cva("text-slate-600",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),f=w.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"}}),h=w.cva("text-slate-500",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"}},defaultVariants:{size:"md"}});return(x,C)=>{const y=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(p)(e.unref(i)({size:t.size}),x.$attrs.class))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(a),class:e.normalizeClass(e.unref(p)(e.unref(c)({size:t.size})))},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Qi,"*")):e.createCommentVNode("",!0)],10,Ji)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(e.unref(p)(e.unref(d)({size:t.size})))},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0),e.createElementVNode("div",Zi,[e.renderSlot(x.$slots,"default",{fieldId:e.unref(a),hasError:r.value,ariaDescribedBy:s.value,showPassword:o.value,togglePasswordVisibility:l}),t.type==="password"?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:l,class:"absolute inset-y-0 right-0 pr-3 flex items-center text-slate-400 hover:text-slate-600 transition-colors","aria-label":o.value?"Hide password":"Show password"},[e.createVNode(y,{icon:o.value?"eye-slash":"eye",class:"w-4 h-4"},null,8,["icon"])],8,ec)):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(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:`${e.unref(a)}-error`,class:e.normalizeClass(e.unref(p)(e.unref(f)({size:t.size,intent:"error"}))),role:"alert","aria-live":"polite"},[e.createVNode(y,{icon:"exclamation-triangle",class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.error),1)],10,tc)):e.createCommentVNode("",!0)]),_:1}),t.helpText&&!r.value?(e.openBlock(),e.createElementBlock("p",{key:2,id:`${e.unref(a)}-help`,class:e.normalizeClass(e.unref(p)(e.unref(h)({size:t.size})))},e.toDisplayString(t.helpText),11,ac)):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&&!r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(p)(e.unref(f)({size:t.size,intent:"success"})))},[e.createVNode(y,{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)}}},nc={key:0,class:"flex items-center px-3 bg-muted border border-r-0 rounded-l-md"},rc={key:1,class:"flex items-center px-3 bg-muted border border-l-0 rounded-r-md"},Wn={__name:"InputGroup",props:{variant:{type:String,default:"default",validator:t=>["default","outline"].includes(t)}},setup(t){const n=t,a=w.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(()=>p(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",nc,[e.renderSlot(o.$slots,"prefix")])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default"),o.$slots.suffix?(e.openBlock(),e.createElementBlock("div",rc,[e.renderSlot(o.$slots,"suffix")])):e.createCommentVNode("",!0)],2))}},oc=["role"],lc={key:0,class:"flex-shrink-0"},sc={class:"flex-1 min-w-0"},ic={key:0,class:"text-sm font-medium text-foreground"},cc={key:1,class:"text-sm text-muted-foreground"},dc={key:1,class:"flex-shrink-0"},qn={__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=w.cva("",{variants:{variant:{default:"",interactive:"hover:bg-accent/50 cursor-pointer"}}}),l=w.cva("flex items-center space-x-3 p-3",{variants:{variant:{default:"",interactive:"transition-colors rounded-md"}}}),s=e.computed(()=>p(o({variant:a.variant}))),i=e.computed(()=>p(l({variant:a.variant}))),c=d=>{r("click",d)};return(d,f)=>(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(()=>[d.$slots.icon||t.icon?(e.openBlock(),e.createElementBlock("div",lc,[e.renderSlot(d.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createBlock(D,{key:0,name:t.icon,class:"h-5 w-5"},null,8,["name"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",sc,[t.title?(e.openBlock(),e.createElementBlock("div",ic,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("div",cc,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"default")]),d.$slots.action?(e.openBlock(),e.createElementBlock("div",dc,[e.renderSlot(d.$slots,"action")])):e.createCommentVNode("",!0)]),_:3},8,["href","class"]))],10,oc))}},uc={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},Un={__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=w.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(()=>p(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(D,{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",uc,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.hasSubmenu?(e.openBlock(),e.createBlock(D,{key:2,name:"chevron-right",class:"ml-auto h-4 w-4"})):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},fc={class:"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-neutral-200 dark:border-neutral-800 bg-white dark:bg-neutral-950 p-6 shadow-xl duration-200 sm:rounded-lg"},mc={class:"text-neutral-900 dark:text-neutral-50"},Yn={__name:"Modal",props:{modelValue:Boolean,showClose:{type:Boolean,default:!0},closeOnBackdrop:{type:Boolean,default:!0}},emits:["update:modelValue","close"],setup(t,{emit:n}){const a=t,r=n,o=()=>{r("update:modelValue",!1),r("close")},l=s=>{a.closeOnBackdrop&&s.target===s.currentTarget&&o()};return e.watch(()=>a.modelValue,s=>{if(s){const i=c=>{c.key==="Escape"&&o()};return document.addEventListener("keydown",i),()=>{document.removeEventListener("keydown",i)}}}),(s,i)=>(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-neutral-900/40 backdrop-blur-sm",onClick:l},[e.createElementVNode("div",fc,[t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:o,class:"absolute right-4 top-4 rounded-sm text-neutral-500 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-neutral-100 transition-colors focus:outline-none focus:ring-2 focus:ring-neutral-900 dark:focus:ring-neutral-300 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-neutral-950"},[e.createVNode(D,{icon:"x",class:"h-4 w-4"}),i[0]||(i[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))])):e.createCommentVNode("",!0),e.createElementVNode("div",mc,[e.renderSlot(s.$slots,"default")])])])):e.createCommentVNode("",!0)]),_:3})]))}},vc={class:"flex flex-col space-y-1.5 text-center sm:text-left"},pc={key:0,class:"text-lg font-semibold leading-none tracking-tight"},gc={key:1,class:"text-sm text-muted-foreground"},Gn={__name:"ModalHeader",props:{title:String,description:String},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",vc,[t.title?(e.openBlock(),e.createElementBlock("h2",pc,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")]))}},Kn={__name:"ModalBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact"].includes(t)}},setup(t){const n=t,a=w.cva("",{variants:{variant:{default:"py-4",compact:"py-2"}}}),r=e.computed(()=>p(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},Xn={__name:"ModalFooter",props:{variant:{type:String,default:"default",validator:t=>["default","center"].includes(t)}},setup(t){const n=t,a=w.cva("flex gap-2 pt-4",{variants:{variant:{default:"flex-col-reverse sm:flex-row sm:justify-end",center:"justify-center"}}}),r=e.computed(()=>p(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},hc=["aria-live"],bc={class:"flex items-start space-x-3"},yc={key:0,class:"flex-shrink-0"},xc={class:"flex-1 min-w-0"},kc={key:0,class:"text-sm font-medium"},Jn={__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=w.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=w.cva("h-5 w-5",{variants:{variant:{default:"text-primary",success:"text-green-500",warning:"text-yellow-500",destructive:"text-destructive"}}}),c=e.computed(()=>p(l({variant:a.variant}),"p-4")),d=e.computed(()=>s[a.variant]),f=e.computed(()=>i({variant:a.variant})),h=()=>{o.value=!1,r("dismiss")};return e.onMounted(()=>{a.autoClose>0&&setTimeout(()=>{h()},a.autoClose)}),(x,C)=>(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",bc,[t.showIcon?(e.openBlock(),e.createElementBlock("div",yc,[e.createVNode(D,{name:d.value,class:e.normalizeClass(f.value)},null,8,["name","class"])])):e.createCommentVNode("",!0),e.createElementVNode("div",xc,[t.title?(e.openBlock(),e.createElementBlock("div",kc,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(x.$slots,"default")]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:h,class:"flex-shrink-0 rounded-md p-1.5 hover:bg-black/5 focus:outline-none focus:ring-2 focus:ring-offset-2"},[e.createVNode(D,{name:"x",class:"h-4 w-4"})])):e.createCommentVNode("",!0)])],10,hc)):e.createCommentVNode("",!0)]),_:3}))}},Ce=e.ref([]);let wc=0;const Cc={duration:2e3,position:"top-center",dismissible:!0,closeButton:!1},Sc=()=>`toast-${++wc}-${Date.now()}`,Z=(t,n={})=>{const a=Sc(),r={id:a,message:t,...Cc,...n,createdAt:Date.now()};return Ce.value.push(e.markRaw(r)),r.duration&&r.duration>0&&setTimeout(()=>{ke(a)},r.duration),a},ke=t=>{const n=Ce.value.findIndex(a=>a.id===t);n>-1&&Ce.value.splice(n,1)},Qn=()=>{Ce.value=[]},gt=Object.assign((t,n)=>Z(t,{...n}),{success:(t,n)=>Z(t,{...n,variant:"success"}),error:(t,n)=>Z(t,{...n,variant:"error"}),warning:(t,n)=>Z(t,{...n,variant:"warning"}),info:(t,n)=>Z(t,{...n,variant:"info"}),promise:(t,n={})=>{const{loading:a="Loading...",success:r="Success",error:o="Error",...l}=n,s=Z(a,{...l,variant:"loading",duration:0,dismissible:!1});return t.then(i=>{ke(s);const c=typeof r=="function"?r(i):r;return Z(c,{...l,variant:"success"}),i}).catch(i=>{ke(s);const c=typeof o=="function"?o(i):o;throw Z(c,{...l,variant:"error"}),i})},dismiss:ke,dismissAll:Qn,custom:(t,n={})=>Z("",{...n,component:e.markRaw(t)})}),Zn=()=>({toasts:Ce,dismiss:ke,dismissAll:Qn}),Bc=["aria-live"],Vc={class:"flex-1 grid gap-1"},Nc={key:0,class:"text-lg font-extrabold"},Ec={key:1,class:"text-md opacity-90"},zc={key:2,class:"text-md opacity-90"},$c=["onClick"],Ac=["onClick"],er={__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}=Zn(),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(()=>p(o[n.position])),s=w.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=y=>p(s({variant:y.variant})),c={default:"bell",info:"info",success:"check-circle",warning:"triangle-exclamation",error:"circle-exclamation",loading:"loader"},d={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"},f=y=>y.icon||c[y.variant]||c.default,h=y=>{const g=d[y.variant]||d.default;return y.variant==="loading"?`${g} animate-spin`:g},x=y=>y.icon!==!1,C=y=>y.dismissible!==!1&&(y.closeButton||n.closeButton||y.dismissible);return(y,g)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(p)(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"},[x(u)?(e.openBlock(),e.createBlock(D,{key:0,icon:f(u),class:e.normalizeClass([h(u),"h-4 w-4 shrink-0"])},null,8,["icon","class"])):e.createCommentVNode("",!0),e.createElementVNode("div",Vc,[u.title?(e.openBlock(),e.createElementBlock("div",Nc,e.toDisplayString(u.title),1)):e.createCommentVNode("",!0),u.message?(e.openBlock(),e.createElementBlock("div",Ec,e.toDisplayString(u.message),1)):e.createCommentVNode("",!0),u.description?(e.openBlock(),e.createElementBlock("div",zc,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,onClick:u.action.onClick,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"},e.toDisplayString(u.action.label),9,$c)):e.createCommentVNode("",!0),C(u)?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:m=>e.unref(r)(u.id),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"},[e.createVNode(D,{icon:"x",class:"h-4 w-4"})],8,Ac)):e.createCommentVNode("",!0)],10,Bc))),128))]),_:1})],2)]))}},Tc={class:"relative"},Dc={class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},Ic=["value","placeholder","disabled"],Pc={key:0,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},jc=["aria-label"],Fc={key:1,class:"animate-spin"},Oc={key:0,class:"max-h-64 overflow-y-auto"},Lc=["onClick","onMouseenter"],_c={class:"flex-1 text-left"},Mc=["innerHTML"],Rc=["innerHTML"],Hc={key:1,class:"text-xs text-slate-400 ml-3"},Wc={key:1,class:"px-4 py-3 text-sm text-slate-500 text-center"},qc={key:2,class:"border-t border-slate-200 p-2"},tr={__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">
596
+ `},x=e.computed(()=>({info:i,success:c,warning:d,error:f,default:i,destructive:f})[a.variant]),C=w.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"}}),y=e.computed(()=>["w-5 h-5",{info:"text-blue-500",success:"text-green-500",warning:"text-yellow-500",error:"text-red-500",default:"text-foreground",destructive:"text-destructive"}[a.variant]]),g=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,m)=>(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(p)(e.unref(C)({variant:t.variant}),u.$attrs.class)),role:"alert"},[e.createElementVNode("div",wi,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Ci,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(x.value),{class:e.normalizeClass(y.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",Si,[t.title?(e.openBlock(),e.createElementBlock("h4",Bi,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",Vi,[e.renderSlot(u.$slots,"actions",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,v=>(e.openBlock(),e.createBlock(U,{key:v.label,variant:v.variant||"outline",size:v.size||"sm",onClick:k=>s(v)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.label),1)]),_:2},1032,["variant","size","onClick"]))),128))])])):e.createCommentVNode("",!0)]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:l,class:e.normalizeClass(g.value),"aria-label":t.dismissLabel},[e.createVNode(h,{class:"w-4 h-4"})],10,Ni)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)]),_:3}))}}),Ei=["aria-label"],zi={class:"flex items-center space-x-1"},An={__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=w.cva("",{variants:{variant:{default:"",ghost:"text-muted-foreground"}}}),r=e.computed(()=>p(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(D,{key:0,name:t.separator,class:"mx-2 h-4 w-4 text-muted-foreground"},null,8,["name"])):e.createCommentVNode("",!0)]))),128))])],10,Ei))}},$i=["aria-label"],Tn={__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=w.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(()=>p(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,$i))}},Ai={class:"flex items-start justify-between"},Ti={class:"flex-1 min-w-0"},Di={key:0,class:"flex-shrink-0 ml-4"},Ii=["src","alt"],Pi="w-full h-auto object-cover",ji="text-lg font-semibold text-slate-900 truncate",Fi="text-sm text-slate-600 mt-1",Dn={__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=f=>{a.clickable&&r("click",f)},l=w.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=w.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=w.cva("",{variants:{padding:{none:"p-4",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}}}),c=w.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"}}}),d=w.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(f,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(p)(e.unref(l)({variant:t.variant,padding:t.padding,hoverable:t.hoverable,clickable:t.clickable,loading:t.loading}))),onClick:o},[f.$slots.header||t.title||t.subtitle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(p)(e.unref(s)({padding:t.padding})))},[e.renderSlot(f.$slots,"header",{},()=>[e.createElementVNode("div",Ai,[e.createElementVNode("div",Ti,[t.title?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(ji)},e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(Fi)},e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),f.$slots.actions?(e.openBlock(),e.createElementBlock("div",Di,[e.renderSlot(f.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),f.$slots.image||t.image?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(p)(e.unref(d)({padding:t.padding})))},[e.renderSlot(f.$slots,"image",{},()=>[t.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.image,alt:t.imageAlt,class:e.normalizeClass(Pi)},null,8,Ii)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),f.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(p)(e.unref(i)({padding:t.padding})))},[e.renderSlot(f.$slots,"default")],2)):e.createCommentVNode("",!0),f.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(p)(e.unref(c)({padding:t.padding})))},[e.renderSlot(f.$slots,"footer")],2)):e.createCommentVNode("",!0)],2))}},In=Object.assign({inheritAttrs:!1},{__name:"CardHeader",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(p)("flex flex-col space-y-1.5 p-6",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),Pn={__name:"CardBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=w.cva("p-6",{variants:{variant:{default:"p-6",compact:"p-4",spacious:"p-8"}}}),r=e.computed(()=>p(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},jn={__name:"CardFooter",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=w.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(()=>p(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},Fn=Object.assign({inheritAttrs:!1},{__name:"CardContent",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(p)("p-6 pt-0",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),On=Object.assign({inheritAttrs:!1},{__name:"CardTitle",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("h3",{class:e.normalizeClass(e.unref(p)("text-2xl font-semibold leading-none tracking-tight",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),Oi={class:"relative"},Li=["id","value","disabled","required","min","max"],Ln={__name:"DatePicker",props:{modelValue:String,id:String,disabled:Boolean,required:Boolean,min:String,max:String,variant:{type:String,default:"default",validator:t=>["default","outline","ghost"].includes(t)},size:{type:String,default:"default",validator:t=>["sm","default","lg"].includes(t)}},emits:["update:modelValue"],setup(t){const n=t,a=w.cva("flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 pr-10",{variants:{variant:{default:"border-input",outline:"border-2 border-primary",ghost:"border-transparent bg-transparent"},size:{sm:"h-9 px-2 text-xs",default:"h-10 px-3",lg:"h-11 px-4 text-base"}}}),r=e.computed(()=>p(a({variant:n.variant,size:n.size})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",Oi,[e.createElementVNode("input",{id:t.id,value:t.modelValue,type:"date",class:e.normalizeClass(r.value),disabled:t.disabled,required:t.required,min:t.min,max:t.max,onInput:l[0]||(l[0]=s=>o.$emit("update:modelValue",s.target.value))},null,42,Li),e.createVNode(D,{name:"calendar",class:"absolute right-3 top-1/2 transform -translate-y-1/2 w-4 h-4 pointer-events-none text-gray-400"})]))}},_i=["aria-expanded"],_n={__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=w.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=w.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(()=>p(o({variant:n.variant}),"h-10 px-4 py-2")),i=e.computed(()=>p(l({placement:n.placement}))),c=()=>{a.value=!a.value},d=f=>{r.value&&!r.value.contains(f.target)&&(a.value=!1)};return e.onMounted(()=>{document.addEventListener("click",d)}),e.onUnmounted(()=>{document.removeEventListener("click",d)}),(f,h)=>(e.openBlock(),e.createElementBlock("div",{class:"relative",ref_key:"dropdownRef",ref:r},[e.createElementVNode("button",{class:e.normalizeClass(s.value),onClick:c,"aria-expanded":a.value,"aria-haspopup":!0},[e.renderSlot(f.$slots,"trigger",{},()=>[e.createElementVNode("span",null,e.toDisplayString(t.triggerText),1),e.createVNode(D,{name:"chevron-down",class:"ml-2 h-4 w-4"})])],10,_i),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(f.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3})],512))}},Mi={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},Mn={__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=w.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(()=>p(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(D,{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",Mi,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},Ri={class:"w-full"},Hi=["multiple","accept"],Wi={class:"flex flex-col items-center justify-center py-6"},qi={key:0,class:"text-xs text-muted-foreground mt-1"},Ui={key:0,class:"mt-4 space-y-2"},Yi={class:"flex items-center space-x-2"},Gi={class:"text-sm"},Ki={class:"text-xs text-muted-foreground"},Xi=["onClick"],Rn={__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=w.cva("border-2 border-dashed rounded-lg cursor-pointer transition-colors hover:bg-muted/50",{variants:{variant:{default:"border-muted-foreground/25",dashed:"border-primary/50"}}}),c=e.computed(()=>p(i({variant:a.variant}),l.value&&"border-primary bg-primary/5")),d=v=>{v.preventDefault(),l.value=!1;const k=Array.from(v.dataTransfer.files);g(k)},f=v=>{v.preventDefault()},h=v=>{v.preventDefault(),l.value=!0},x=v=>{v.preventDefault(),l.value=!1},C=()=>{s.value?.click()},y=v=>{const k=Array.from(v.target.files);g(k)},g=v=>{const k=v.filter(E=>!(a.maxSize&&E.size>a.maxSize));a.multiple?o.value.push(...k):o.value=k.slice(0,1),r("files-selected",o.value)},u=v=>{o.value.splice(v,1),r("file-removed",o.value)},m=v=>{if(v===0)return"0 Bytes";const k=1024,E=["Bytes","KB","MB","GB"],z=Math.floor(Math.log(v)/Math.log(k));return parseFloat((v/Math.pow(k,z)).toFixed(2))+" "+E[z]};return(v,k)=>(e.openBlock(),e.createElementBlock("div",Ri,[e.createElementVNode("div",{class:e.normalizeClass(c.value),onDrop:d,onDragover:f,onDragenter:h,onDragleave:x,onClick:C},[e.createElementVNode("input",{ref_key:"fileInput",ref:s,type:"file",multiple:t.multiple,accept:t.accept,class:"hidden",onChange:y},null,40,Hi),e.createElementVNode("div",Wi,[e.createVNode(D,{name:"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",qi,e.toDisplayString(t.accept),1)):e.createCommentVNode("",!0)])],34),o.value.length>0?(e.openBlock(),e.createElementBlock("div",Ui,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(E,z)=>(e.openBlock(),e.createElementBlock("div",{key:z,class:"flex items-center justify-between p-2 bg-muted rounded-md"},[e.createElementVNode("div",Yi,[e.createVNode(D,{name:"file",class:"h-4 w-4 text-muted-foreground"}),e.createElementVNode("span",Gi,e.toDisplayString(E.name),1),e.createElementVNode("span",Ki,"("+e.toDisplayString(m(E.size))+")",1)]),e.createElementVNode("button",{onClick:_=>u(z),class:"text-muted-foreground hover:text-foreground"},[e.createVNode(D,{name:"x",class:"h-4 w-4"})],8,Xi)]))),128))])):e.createCommentVNode("",!0)]))}},Ji=["for"],Qi={key:0,class:"text-red-500 ml-1","aria-label":"required"},Zi={class:"relative"},ec=["aria-label"],tc=["id"],ac=["id"],Hn={__name:"FormField",props:{label:String,description:String,error:String,success:String,helpText:String,required:{type:Boolean,default:!1},type:{type:String,default:"text"},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},id:String},setup(t){const n=t,a=e.useId(),r=e.computed(()=>!!n.error),o=e.ref(!1),l=()=>{o.value=!o.value},s=e.computed(()=>{const x=[];return n.error?x.push(`${a}-error`):n.helpText&&x.push(`${a}-help`),x.length>0?x.join(" "):void 0}),i=w.cva("",{variants:{size:{sm:"space-y-1",md:"space-y-2",lg:"space-y-3"}},defaultVariants:{size:"md"}}),c=w.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"}}),d=w.cva("text-slate-600",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),f=w.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"}}),h=w.cva("text-slate-500",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"}},defaultVariants:{size:"md"}});return(x,C)=>{const y=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(p)(e.unref(i)({size:t.size}),x.$attrs.class))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(a),class:e.normalizeClass(e.unref(p)(e.unref(c)({size:t.size})))},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Qi,"*")):e.createCommentVNode("",!0)],10,Ji)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(e.unref(p)(e.unref(d)({size:t.size})))},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0),e.createElementVNode("div",Zi,[e.renderSlot(x.$slots,"default",{fieldId:e.unref(a),hasError:r.value,ariaDescribedBy:s.value,showPassword:o.value,togglePasswordVisibility:l}),t.type==="password"?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:l,class:"absolute inset-y-0 right-0 pr-3 flex items-center text-slate-400 hover:text-slate-600 transition-colors","aria-label":o.value?"Hide password":"Show password"},[e.createVNode(y,{icon:o.value?"eye-slash":"eye",class:"w-4 h-4"},null,8,["icon"])],8,ec)):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(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:`${e.unref(a)}-error`,class:e.normalizeClass(e.unref(p)(e.unref(f)({size:t.size,intent:"error"}))),role:"alert","aria-live":"polite"},[e.createVNode(y,{icon:"exclamation-triangle",class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.error),1)],10,tc)):e.createCommentVNode("",!0)]),_:1}),t.helpText&&!r.value?(e.openBlock(),e.createElementBlock("p",{key:2,id:`${e.unref(a)}-help`,class:e.normalizeClass(e.unref(p)(e.unref(h)({size:t.size})))},e.toDisplayString(t.helpText),11,ac)):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&&!r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(p)(e.unref(f)({size:t.size,intent:"success"})))},[e.createVNode(y,{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)}}},nc={key:0,class:"flex items-center px-3 bg-muted border border-r-0 rounded-l-md"},rc={key:1,class:"flex items-center px-3 bg-muted border border-l-0 rounded-r-md"},Wn={__name:"InputGroup",props:{variant:{type:String,default:"default",validator:t=>["default","outline"].includes(t)}},setup(t){const n=t,a=w.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(()=>p(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",nc,[e.renderSlot(o.$slots,"prefix")])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default"),o.$slots.suffix?(e.openBlock(),e.createElementBlock("div",rc,[e.renderSlot(o.$slots,"suffix")])):e.createCommentVNode("",!0)],2))}},oc=["role"],lc={key:0,class:"flex-shrink-0"},sc={class:"flex-1 min-w-0"},ic={key:0,class:"text-sm font-medium text-foreground"},cc={key:1,class:"text-sm text-muted-foreground"},dc={key:1,class:"flex-shrink-0"},qn={__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=w.cva("",{variants:{variant:{default:"",interactive:"hover:bg-accent/50 cursor-pointer"}}}),l=w.cva("flex items-center space-x-3 p-3",{variants:{variant:{default:"",interactive:"transition-colors rounded-md"}}}),s=e.computed(()=>p(o({variant:a.variant}))),i=e.computed(()=>p(l({variant:a.variant}))),c=d=>{r("click",d)};return(d,f)=>(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(()=>[d.$slots.icon||t.icon?(e.openBlock(),e.createElementBlock("div",lc,[e.renderSlot(d.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createBlock(D,{key:0,name:t.icon,class:"h-5 w-5"},null,8,["name"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",sc,[t.title?(e.openBlock(),e.createElementBlock("div",ic,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("div",cc,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"default")]),d.$slots.action?(e.openBlock(),e.createElementBlock("div",dc,[e.renderSlot(d.$slots,"action")])):e.createCommentVNode("",!0)]),_:3},8,["href","class"]))],10,oc))}},uc={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},Un={__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=w.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(()=>p(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(D,{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",uc,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.hasSubmenu?(e.openBlock(),e.createBlock(D,{key:2,name:"chevron-right",class:"ml-auto h-4 w-4"})):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},fc={class:"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 sm:rounded-lg"},Yn={__name:"Modal",props:{modelValue:Boolean,showClose:{type:Boolean,default:!0},closeOnBackdrop:{type:Boolean,default:!0}},emits:["update:modelValue","close"],setup(t,{emit:n}){const a=t,r=n,o=()=>{r("update:modelValue",!1),r("close")},l=s=>{a.closeOnBackdrop&&s.target===s.currentTarget&&o()};return e.watch(()=>a.modelValue,s=>{if(s){const i=c=>{c.key==="Escape"&&o()};return document.addEventListener("keydown",i),()=>{document.removeEventListener("keydown",i)}}}),(s,i)=>(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-white backdrop-blur-sm",onClick:l},[e.createElementVNode("div",fc,[t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:o,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"},[e.createVNode(D,{icon:"x",class:"h-4 w-4"}),i[0]||(i[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))])):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"default")])])):e.createCommentVNode("",!0)]),_:3})]))}},mc={class:"flex flex-col space-y-1.5 text-center sm:text-left"},vc={key:0,class:"text-lg font-semibold leading-none tracking-tight"},pc={key:1,class:"text-sm text-muted-foreground"},Gn={__name:"ModalHeader",props:{title:String,description:String},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",mc,[t.title?(e.openBlock(),e.createElementBlock("h2",vc,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",pc,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default")]))}},Kn={__name:"ModalBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact"].includes(t)}},setup(t){const n=t,a=w.cva("",{variants:{variant:{default:"py-4",compact:"py-2"}}}),r=e.computed(()=>p(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},Xn={__name:"ModalFooter",props:{variant:{type:String,default:"default",validator:t=>["default","center"].includes(t)}},setup(t){const n=t,a=w.cva("flex gap-2 pt-4",{variants:{variant:{default:"flex-col-reverse sm:flex-row sm:justify-end",center:"justify-center"}}}),r=e.computed(()=>p(a({variant:n.variant})));return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},gc=["aria-live"],hc={class:"flex items-start space-x-3"},bc={key:0,class:"flex-shrink-0"},yc={class:"flex-1 min-w-0"},xc={key:0,class:"text-sm font-medium"},Jn={__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=w.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=w.cva("h-5 w-5",{variants:{variant:{default:"text-primary",success:"text-green-500",warning:"text-yellow-500",destructive:"text-destructive"}}}),c=e.computed(()=>p(l({variant:a.variant}),"p-4")),d=e.computed(()=>s[a.variant]),f=e.computed(()=>i({variant:a.variant})),h=()=>{o.value=!1,r("dismiss")};return e.onMounted(()=>{a.autoClose>0&&setTimeout(()=>{h()},a.autoClose)}),(x,C)=>(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",hc,[t.showIcon?(e.openBlock(),e.createElementBlock("div",bc,[e.createVNode(D,{name:d.value,class:e.normalizeClass(f.value)},null,8,["name","class"])])):e.createCommentVNode("",!0),e.createElementVNode("div",yc,[t.title?(e.openBlock(),e.createElementBlock("div",xc,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(x.$slots,"default")]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:h,class:"flex-shrink-0 rounded-md p-1.5 hover:bg-black/5 focus:outline-none focus:ring-2 focus:ring-offset-2"},[e.createVNode(D,{name:"x",class:"h-4 w-4"})])):e.createCommentVNode("",!0)])],10,gc)):e.createCommentVNode("",!0)]),_:3}))}},Ce=e.ref([]);let kc=0;const wc={duration:2e3,position:"top-center",dismissible:!0,closeButton:!1},Cc=()=>`toast-${++kc}-${Date.now()}`,Z=(t,n={})=>{const a=Cc(),r={id:a,message:t,...wc,...n,createdAt:Date.now()};return Ce.value.push(e.markRaw(r)),r.duration&&r.duration>0&&setTimeout(()=>{ke(a)},r.duration),a},ke=t=>{const n=Ce.value.findIndex(a=>a.id===t);n>-1&&Ce.value.splice(n,1)},Qn=()=>{Ce.value=[]},gt=Object.assign((t,n)=>Z(t,{...n}),{success:(t,n)=>Z(t,{...n,variant:"success"}),error:(t,n)=>Z(t,{...n,variant:"error"}),warning:(t,n)=>Z(t,{...n,variant:"warning"}),info:(t,n)=>Z(t,{...n,variant:"info"}),promise:(t,n={})=>{const{loading:a="Loading...",success:r="Success",error:o="Error",...l}=n,s=Z(a,{...l,variant:"loading",duration:0,dismissible:!1});return t.then(i=>{ke(s);const c=typeof r=="function"?r(i):r;return Z(c,{...l,variant:"success"}),i}).catch(i=>{ke(s);const c=typeof o=="function"?o(i):o;throw Z(c,{...l,variant:"error"}),i})},dismiss:ke,dismissAll:Qn,custom:(t,n={})=>Z("",{...n,component:e.markRaw(t)})}),Zn=()=>({toasts:Ce,dismiss:ke,dismissAll:Qn}),Sc=["aria-live"],Bc={class:"flex-1 grid gap-1"},Vc={key:0,class:"text-lg font-extrabold"},Nc={key:1,class:"text-md opacity-90"},Ec={key:2,class:"text-md opacity-90"},zc=["onClick"],$c=["onClick"],er={__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}=Zn(),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(()=>p(o[n.position])),s=w.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=y=>p(s({variant:y.variant})),c={default:"bell",info:"info",success:"check-circle",warning:"triangle-exclamation",error:"circle-exclamation",loading:"loader"},d={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"},f=y=>y.icon||c[y.variant]||c.default,h=y=>{const g=d[y.variant]||d.default;return y.variant==="loading"?`${g} animate-spin`:g},x=y=>y.icon!==!1,C=y=>y.dismissible!==!1&&(y.closeButton||n.closeButton||y.dismissible);return(y,g)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(p)(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"},[x(u)?(e.openBlock(),e.createBlock(D,{key:0,icon:f(u),class:e.normalizeClass([h(u),"h-4 w-4 shrink-0"])},null,8,["icon","class"])):e.createCommentVNode("",!0),e.createElementVNode("div",Bc,[u.title?(e.openBlock(),e.createElementBlock("div",Vc,e.toDisplayString(u.title),1)):e.createCommentVNode("",!0),u.message?(e.openBlock(),e.createElementBlock("div",Nc,e.toDisplayString(u.message),1)):e.createCommentVNode("",!0),u.description?(e.openBlock(),e.createElementBlock("div",Ec,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,onClick:u.action.onClick,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"},e.toDisplayString(u.action.label),9,zc)):e.createCommentVNode("",!0),C(u)?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:m=>e.unref(r)(u.id),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"},[e.createVNode(D,{icon:"x",class:"h-4 w-4"})],8,$c)):e.createCommentVNode("",!0)],10,Sc))),128))]),_:1})],2)]))}},Ac={class:"relative"},Tc={class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},Dc=["value","placeholder","disabled"],Ic={key:0,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},Pc=["aria-label"],jc={key:1,class:"animate-spin"},Fc={key:0,class:"max-h-64 overflow-y-auto"},Oc=["onClick","onMouseenter"],Lc={class:"flex-1 text-left"},_c=["innerHTML"],Mc=["innerHTML"],Rc={key:1,class:"text-xs text-slate-400 ml-3"},Hc={key:1,class:"px-4 py-3 text-sm text-slate-500 text-center"},Wc={key:2,class:"border-t border-slate-200 p-2"},tr={__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">
597
597
  <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"/>
598
598
  </svg>`},r={template:`<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
599
599
  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12"/>
600
600
  </svg>`},o={template:`<svg fill="none" viewBox="0 0 24 24" class="animate-spin">
601
601
  <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"/>
602
602
  <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"/>
603
- </svg>`},l=t,s=n,i=e.ref(null),c=e.ref(null),d=e.ref(!1),f=e.ref(-1),h=e.ref(null),x=S=>{const N=S.target.value;s("update:modelValue",N),h.value&&clearTimeout(h.value),h.value=setTimeout(()=>{N.length>=l.minLength?(s("search",N),d.value=!0):d.value=!1},l.debounce)},C=S=>{s("focus",S),l.modelValue.length>=l.minLength&&(d.value=!0)},y=S=>{s("blur",S),setTimeout(()=>{d.value=!1,f.value=-1},150)},g=()=>{s("update:modelValue",""),s("clear"),d.value=!1,c.value?.focus()},u=S=>{s("select",S),d.value=!1,f.value=-1},m=S=>{if(!(!d.value||l.results.length===0))switch(S.key){case"ArrowDown":S.preventDefault(),f.value=Math.min(f.value+1,l.results.length-1);break;case"ArrowUp":S.preventDefault(),f.value=Math.max(f.value-1,-1);break;case"Enter":S.preventDefault(),f.value>=0&&u(l.results[f.value]);break;case"Escape":S.preventDefault(),d.value=!1,f.value=-1;break}},v=S=>{if(!l.highlightMatches||!l.modelValue||!S)return S;const N=new RegExp(`(${l.modelValue})`,"gi");return S.replace(N,'<mark class="bg-yellow-200">$1</mark>')},k=w.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"}}),E=w.cva("text-slate-400",{variants:{size:{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}},defaultVariants:{size:"md"}}),z=e.computed(()=>p(k({size:l.size}))),_=e.computed(()=>p(E({size:l.size}))),q=e.computed(()=>p("absolute z-50 w-full mt-1 bg-white rounded-lg shadow-lg border border-slate-200 max-h-96 overflow-hidden")),T=S=>p("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":f.value===S}),M=S=>{i.value&&!i.value.contains(S.target)&&(d.value=!1,f.value=-1)};return e.onMounted(()=>document.addEventListener("click",M)),e.onUnmounted(()=>{document.removeEventListener("click",M),h.value&&clearTimeout(h.value)}),e.watch(()=>l.results,()=>f.value=-1),(S,N)=>(e.openBlock(),e.createElementBlock("div",{class:"relative",ref_key:"searchRef",ref:i},[e.createElementVNode("div",Tc,[e.createElementVNode("div",Dc,[e.createVNode(a,{class:e.normalizeClass(_.value)},null,8,["class"])]),e.createElementVNode("input",{ref_key:"inputRef",ref:c,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,class:e.normalizeClass(z.value),onInput:x,onFocus:C,onBlur:y,onKeydown:m},null,42,Ic),t.modelValue||t.loading?(e.openBlock(),e.createElementBlock("div",Pc,[!t.loading&&t.clearable?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:g,class:"text-slate-400 hover:text-slate-600 transition-colors p-1 rounded-full hover:bg-slate-100","aria-label":t.clearLabel},[e.createVNode(r,{class:"w-4 h-4"})],8,jc)):t.loading?(e.openBlock(),e.createElementBlock("div",Fc,[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(()=>[d.value&&(t.results.length>0||t.showNoResults)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(q.value)},[t.results.length>0?(e.openBlock(),e.createElementBlock("div",Oc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.results,(O,I)=>(e.openBlock(),e.createElementBlock("button",{key:O.id||I,class:e.normalizeClass(T(I)),onClick:F=>u(O),onMouseenter:F=>f.value=I},[O.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(O.icon),{key:0,class:"w-4 h-4 mr-3 flex-shrink-0"})):e.createCommentVNode("",!0),e.createElementVNode("div",_c,[e.createElementVNode("div",{class:"font-medium text-slate-900",innerHTML:v(O.title)},null,8,Mc),O.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:"text-sm text-slate-500 truncate",innerHTML:v(O.description)},null,8,Rc)):e.createCommentVNode("",!0)]),O.category?(e.openBlock(),e.createElementBlock("div",Hc,e.toDisplayString(O.category),1)):e.createCommentVNode("",!0)],42,Lc))),128))])):t.showNoResults?(e.openBlock(),e.createElementBlock("div",Wc,e.toDisplayString(t.noResultsText),1)):e.createCommentVNode("",!0),S.$slots.footer?(e.openBlock(),e.createElementBlock("div",qc,[e.renderSlot(S.$slots,"footer")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3})],512))}},Uc={class:"w-full"},Yc=["min","max","step"],Gc={class:"flex justify-between text-xs text-slate-500 mt-1"},ar={__name:"Slider",props:{modelValue:{type:Number,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=t,r=n,o=e.ref(a.modelValue);e.watch(()=>a.modelValue,s=>{o.value=s});const l=()=>{r("update:modelValue",Number(o.value))};return(s,i)=>(e.openBlock(),e.createElementBlock("div",Uc,[e.withDirectives(e.createElementVNode("input",{type:"range",min:t.min,max:t.max,step:t.step,"onUpdate:modelValue":i[0]||(i[0]=c=>o.value=c),onInput:l,class:"w-full accent-blue-500 cursor-pointer"},null,40,Yc),[[e.vModelText,o.value]]),e.createElementVNode("div",Gc,[e.createElementVNode("span",null,e.toDisplayString(t.min),1),e.createElementVNode("span",null,e.toDisplayString(o.value),1),e.createElementVNode("span",null,e.toDisplayString(t.max),1)])]))}},Kc={class:"flex items-center space-x-4"},nr={__name:"Stepper",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",Kc,[e.renderSlot(n.$slots,"default")]))}},Xc={class:"flex items-center"},Jc={class:"ml-2"},Qc={class:"font-medium"},Zc={key:0,class:"text-sm text-slate-400"},rr={__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",Xc,[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",Jc,[e.createElementVNode("div",Qc,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",Zc,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)])]))}},ed={class:"flex border-b border-slate-200"},td=["onClick"],ad={class:"p-4"},or={__name:"Tab",props:{defaultIndex:{type:Number,default:0}},setup(t){const n=t,a=e.ref(n.defaultIndex),r=e.ref([]),o=l=>{a.value=l};return e.provide("tabsContext",{activeIndex:a,tabs:r,registerTab:l=>(r.value.push({label:l}),r.value.length-1)}),(l,s)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",ed,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(i,c)=>(e.openBlock(),e.createElementBlock("button",{key:c,onClick:d=>o(c),class:e.normalizeClass(["px-4 py-2 -mb-px border-b-2 font-medium text-sm transition-colors",a.value===c?"border-blue-500 text-blue-600":"border-transparent text-slate-500 hover:text-slate-700 hover:border-slate-300"])},e.toDisplayString(i.label),11,td))),128))]),e.createElementVNode("div",ad,[e.renderSlot(l.$slots,"default")])]))}},lr={__name:"TabPanel",props:{label:{type:String,required:!0}},setup(t){const n=t,a=e.inject("tabsContext"),r=e.ref(null),o=e.ref(!1);return e.onMounted(()=>{r.value=a.registerTab(n.label),o.value=a.activeIndex.value===r.value,watch(a.activeIndex,l=>{o.value=l===r.value})}),(l,s)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",null,[e.renderSlot(l.$slots,"default")],512)),[[e.vShow,o.value]])}},nd=["aria-expanded","aria-controls","id","onClick"],rd={class:"flex items-center flex-1 min-w-0"},od={class:"flex-1 text-left"},ld=["id","aria-labelledby"],sd=["innerHTML"],sr={__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:`
603
+ </svg>`},l=t,s=n,i=e.ref(null),c=e.ref(null),d=e.ref(!1),f=e.ref(-1),h=e.ref(null),x=S=>{const N=S.target.value;s("update:modelValue",N),h.value&&clearTimeout(h.value),h.value=setTimeout(()=>{N.length>=l.minLength?(s("search",N),d.value=!0):d.value=!1},l.debounce)},C=S=>{s("focus",S),l.modelValue.length>=l.minLength&&(d.value=!0)},y=S=>{s("blur",S),setTimeout(()=>{d.value=!1,f.value=-1},150)},g=()=>{s("update:modelValue",""),s("clear"),d.value=!1,c.value?.focus()},u=S=>{s("select",S),d.value=!1,f.value=-1},m=S=>{if(!(!d.value||l.results.length===0))switch(S.key){case"ArrowDown":S.preventDefault(),f.value=Math.min(f.value+1,l.results.length-1);break;case"ArrowUp":S.preventDefault(),f.value=Math.max(f.value-1,-1);break;case"Enter":S.preventDefault(),f.value>=0&&u(l.results[f.value]);break;case"Escape":S.preventDefault(),d.value=!1,f.value=-1;break}},v=S=>{if(!l.highlightMatches||!l.modelValue||!S)return S;const N=new RegExp(`(${l.modelValue})`,"gi");return S.replace(N,'<mark class="bg-yellow-200">$1</mark>')},k=w.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"}}),E=w.cva("text-slate-400",{variants:{size:{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}},defaultVariants:{size:"md"}}),z=e.computed(()=>p(k({size:l.size}))),_=e.computed(()=>p(E({size:l.size}))),q=e.computed(()=>p("absolute z-50 w-full mt-1 bg-white rounded-lg shadow-lg border border-slate-200 max-h-96 overflow-hidden")),T=S=>p("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":f.value===S}),M=S=>{i.value&&!i.value.contains(S.target)&&(d.value=!1,f.value=-1)};return e.onMounted(()=>document.addEventListener("click",M)),e.onUnmounted(()=>{document.removeEventListener("click",M),h.value&&clearTimeout(h.value)}),e.watch(()=>l.results,()=>f.value=-1),(S,N)=>(e.openBlock(),e.createElementBlock("div",{class:"relative",ref_key:"searchRef",ref:i},[e.createElementVNode("div",Ac,[e.createElementVNode("div",Tc,[e.createVNode(a,{class:e.normalizeClass(_.value)},null,8,["class"])]),e.createElementVNode("input",{ref_key:"inputRef",ref:c,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,class:e.normalizeClass(z.value),onInput:x,onFocus:C,onBlur:y,onKeydown:m},null,42,Dc),t.modelValue||t.loading?(e.openBlock(),e.createElementBlock("div",Ic,[!t.loading&&t.clearable?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:g,class:"text-slate-400 hover:text-slate-600 transition-colors p-1 rounded-full hover:bg-slate-100","aria-label":t.clearLabel},[e.createVNode(r,{class:"w-4 h-4"})],8,Pc)):t.loading?(e.openBlock(),e.createElementBlock("div",jc,[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(()=>[d.value&&(t.results.length>0||t.showNoResults)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(q.value)},[t.results.length>0?(e.openBlock(),e.createElementBlock("div",Fc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.results,(O,I)=>(e.openBlock(),e.createElementBlock("button",{key:O.id||I,class:e.normalizeClass(T(I)),onClick:F=>u(O),onMouseenter:F=>f.value=I},[O.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(O.icon),{key:0,class:"w-4 h-4 mr-3 flex-shrink-0"})):e.createCommentVNode("",!0),e.createElementVNode("div",Lc,[e.createElementVNode("div",{class:"font-medium text-slate-900",innerHTML:v(O.title)},null,8,_c),O.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:"text-sm text-slate-500 truncate",innerHTML:v(O.description)},null,8,Mc)):e.createCommentVNode("",!0)]),O.category?(e.openBlock(),e.createElementBlock("div",Rc,e.toDisplayString(O.category),1)):e.createCommentVNode("",!0)],42,Oc))),128))])):t.showNoResults?(e.openBlock(),e.createElementBlock("div",Hc,e.toDisplayString(t.noResultsText),1)):e.createCommentVNode("",!0),S.$slots.footer?(e.openBlock(),e.createElementBlock("div",Wc,[e.renderSlot(S.$slots,"footer")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3})],512))}},qc={class:"w-full"},Uc=["min","max","step"],Yc={class:"flex justify-between text-xs text-slate-500 mt-1"},ar={__name:"Slider",props:{modelValue:{type:Number,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=t,r=n,o=e.ref(a.modelValue);e.watch(()=>a.modelValue,s=>{o.value=s});const l=()=>{r("update:modelValue",Number(o.value))};return(s,i)=>(e.openBlock(),e.createElementBlock("div",qc,[e.withDirectives(e.createElementVNode("input",{type:"range",min:t.min,max:t.max,step:t.step,"onUpdate:modelValue":i[0]||(i[0]=c=>o.value=c),onInput:l,class:"w-full accent-blue-500 cursor-pointer"},null,40,Uc),[[e.vModelText,o.value]]),e.createElementVNode("div",Yc,[e.createElementVNode("span",null,e.toDisplayString(t.min),1),e.createElementVNode("span",null,e.toDisplayString(o.value),1),e.createElementVNode("span",null,e.toDisplayString(t.max),1)])]))}},Gc={class:"flex items-center space-x-4"},nr={__name:"Stepper",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",Gc,[e.renderSlot(n.$slots,"default")]))}},Kc={class:"flex items-center"},Xc={class:"ml-2"},Jc={class:"font-medium"},Qc={key:0,class:"text-sm text-slate-400"},rr={__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",Kc,[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",Xc,[e.createElementVNode("div",Jc,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",Qc,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)])]))}},Zc={class:"flex border-b border-slate-200"},ed=["onClick"],td={class:"p-4"},or={__name:"Tab",props:{defaultIndex:{type:Number,default:0}},setup(t){const n=t,a=e.ref(n.defaultIndex),r=e.ref([]),o=l=>{a.value=l};return e.provide("tabsContext",{activeIndex:a,tabs:r,registerTab:l=>(r.value.push({label:l}),r.value.length-1)}),(l,s)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",Zc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(i,c)=>(e.openBlock(),e.createElementBlock("button",{key:c,onClick:d=>o(c),class:e.normalizeClass(["px-4 py-2 -mb-px border-b-2 font-medium text-sm transition-colors",a.value===c?"border-blue-500 text-blue-600":"border-transparent text-slate-500 hover:text-slate-700 hover:border-slate-300"])},e.toDisplayString(i.label),11,ed))),128))]),e.createElementVNode("div",td,[e.renderSlot(l.$slots,"default")])]))}},lr={__name:"TabPanel",props:{label:{type:String,required:!0}},setup(t){const n=t,a=e.inject("tabsContext"),r=e.ref(null),o=e.ref(!1);return e.onMounted(()=>{r.value=a.registerTab(n.label),o.value=a.activeIndex.value===r.value,watch(a.activeIndex,l=>{o.value=l===r.value})}),(l,s)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",null,[e.renderSlot(l.$slots,"default")],512)),[[e.vShow,o.value]])}},ad=["aria-expanded","aria-controls","id","onClick"],nd={class:"flex items-center flex-1 min-w-0"},rd={class:"flex-1 text-left"},od=["id","aria-labelledby"],ld=["innerHTML"],sr={__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:`
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
- `},r=t,o=n,l=e.ref(r.multiple?Array.isArray(r.modelValue)?[...r.modelValue]:[]:typeof r.modelValue=="number"?[r.modelValue]:[]),s=T=>{if(!(r.disabled||r.items[T]?.disabled)){if(r.multiple){const M=l.value.indexOf(T);M>-1?l.value.splice(M,1):l.value.push(T),o("update:modelValue",[...l.value])}else{const M=l.value.includes(T)?null:T;l.value=M!==null?[M]:[],o("update:modelValue",M)}o("change",{index:T,expanded:l.value.includes(T)})}},i=T=>l.value.includes(T),c=w.cva("w-full",{variants:{variant:{default:"divide-y divide-slate-200",bordered:"space-y-2",filled:"space-y-2",flush:"divide-y divide-slate-200"}}}),d=w.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:""}}}),f=w.cva("flex items-center w-full text-left transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",{variants:{variant:{default:"hover:bg-slate-50",bordered:"hover:bg-slate-50",filled:"hover:bg-white/50",flush:"hover:bg-slate-50"},size:{sm:"p-3",md:"p-4",lg:"p-6"}}}),h=w.cva("text-slate-900",{variants:{size:{sm:"text-sm font-medium",md:"text-base font-medium",lg:"text-lg font-medium"}}}),x=w.cva("text-slate-500 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}}}),C=w.cva("mr-3 text-slate-400",{variants:{size:{sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6"}}}),y=w.cva("ml-4 text-slate-400 transition-transform duration-200",{variants:{expanded:{true:"rotate-180",false:""}}}),g=w.cva("overflow-hidden text-slate-600 border-t border-slate-200",{variants:{size:{sm:"p-3 text-sm",md:"p-4 text-sm",lg:"p-6 text-base"}}}),u=e.computed(()=>p(c({variant:r.variant}))),m=e.computed(()=>p(d({variant:r.variant}))),v=T=>p(f({variant:r.variant,size:r.size}),r.variant==="bordered"&&i(T)&&"bg-slate-50",r.variant==="filled"&&i(T)&&"bg-white",(r.disabled||r.items[T]?.disabled)&&"cursor-not-allowed opacity-50"),k=e.computed(()=>p(h({size:r.size}))),E=e.computed(()=>p(x({size:r.size}))),z=e.computed(()=>p(C({size:r.size}))),_=T=>p(y({expanded:i(T)})),q=e.computed(()=>p(g({size:r.size})));return e.watch(()=>r.modelValue,T=>{r.multiple?l.value=Array.isArray(T)?[...T]:[]:l.value=typeof T=="number"?[T]:[]}),(T,M)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(u.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(S,N)=>(e.openBlock(),e.createElementBlock("div",{key:S.id||N,class:e.normalizeClass(m.value)},[e.createElementVNode("button",{class:e.normalizeClass(v(N)),"aria-expanded":i(N),"aria-controls":`panel-${S.id||N}`,id:`header-${S.id||N}`,onClick:O=>s(N)},[e.createElementVNode("div",rd,[S.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.icon),{key:0,class:e.normalizeClass(z.value)},null,8,["class"])):e.createCommentVNode("",!0),e.createElementVNode("div",od,[e.createElementVNode("h3",{class:e.normalizeClass(k.value)},e.toDisplayString(S.title),3),S.subtitle?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(E.value)},e.toDisplayString(S.subtitle),3)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(_(N))},[e.createVNode(a,{class:"w-5 h-5 transition-transform duration-200"})],2)],10,nd),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(()=>[i(N)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(q.value),id:`panel-${S.id||N}`,"aria-labelledby":`header-${S.id||N}`,role:"region"},[e.renderSlot(T.$slots,S.slot||`item-${N}`,{item:S,index:N},()=>[S.content?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:S.content},null,8,sd)):e.createCommentVNode("",!0)])],10,ld)):e.createCommentVNode("",!0)]),_:2},1024)],2))),128))],2))}},ir={__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:`
607
+ `},r=t,o=n,l=e.ref(r.multiple?Array.isArray(r.modelValue)?[...r.modelValue]:[]:typeof r.modelValue=="number"?[r.modelValue]:[]),s=T=>{if(!(r.disabled||r.items[T]?.disabled)){if(r.multiple){const M=l.value.indexOf(T);M>-1?l.value.splice(M,1):l.value.push(T),o("update:modelValue",[...l.value])}else{const M=l.value.includes(T)?null:T;l.value=M!==null?[M]:[],o("update:modelValue",M)}o("change",{index:T,expanded:l.value.includes(T)})}},i=T=>l.value.includes(T),c=w.cva("w-full",{variants:{variant:{default:"divide-y divide-slate-200",bordered:"space-y-2",filled:"space-y-2",flush:"divide-y divide-slate-200"}}}),d=w.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:""}}}),f=w.cva("flex items-center w-full text-left transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",{variants:{variant:{default:"hover:bg-slate-50",bordered:"hover:bg-slate-50",filled:"hover:bg-white/50",flush:"hover:bg-slate-50"},size:{sm:"p-3",md:"p-4",lg:"p-6"}}}),h=w.cva("text-slate-900",{variants:{size:{sm:"text-sm font-medium",md:"text-base font-medium",lg:"text-lg font-medium"}}}),x=w.cva("text-slate-500 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}}}),C=w.cva("mr-3 text-slate-400",{variants:{size:{sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6"}}}),y=w.cva("ml-4 text-slate-400 transition-transform duration-200",{variants:{expanded:{true:"rotate-180",false:""}}}),g=w.cva("overflow-hidden text-slate-600 border-t border-slate-200",{variants:{size:{sm:"p-3 text-sm",md:"p-4 text-sm",lg:"p-6 text-base"}}}),u=e.computed(()=>p(c({variant:r.variant}))),m=e.computed(()=>p(d({variant:r.variant}))),v=T=>p(f({variant:r.variant,size:r.size}),r.variant==="bordered"&&i(T)&&"bg-slate-50",r.variant==="filled"&&i(T)&&"bg-white",(r.disabled||r.items[T]?.disabled)&&"cursor-not-allowed opacity-50"),k=e.computed(()=>p(h({size:r.size}))),E=e.computed(()=>p(x({size:r.size}))),z=e.computed(()=>p(C({size:r.size}))),_=T=>p(y({expanded:i(T)})),q=e.computed(()=>p(g({size:r.size})));return e.watch(()=>r.modelValue,T=>{r.multiple?l.value=Array.isArray(T)?[...T]:[]:l.value=typeof T=="number"?[T]:[]}),(T,M)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(u.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(S,N)=>(e.openBlock(),e.createElementBlock("div",{key:S.id||N,class:e.normalizeClass(m.value)},[e.createElementVNode("button",{class:e.normalizeClass(v(N)),"aria-expanded":i(N),"aria-controls":`panel-${S.id||N}`,id:`header-${S.id||N}`,onClick:O=>s(N)},[e.createElementVNode("div",nd,[S.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.icon),{key:0,class:e.normalizeClass(z.value)},null,8,["class"])):e.createCommentVNode("",!0),e.createElementVNode("div",rd,[e.createElementVNode("h3",{class:e.normalizeClass(k.value)},e.toDisplayString(S.title),3),S.subtitle?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(E.value)},e.toDisplayString(S.subtitle),3)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(_(N))},[e.createVNode(a,{class:"w-5 h-5 transition-transform duration-200"})],2)],10,ad),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(()=>[i(N)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(q.value),id:`panel-${S.id||N}`,"aria-labelledby":`header-${S.id||N}`,role:"region"},[e.renderSlot(T.$slots,S.slot||`item-${N}`,{item:S,index:N},()=>[S.content?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:S.content},null,8,ld)):e.createCommentVNode("",!0)])],10,od)):e.createCommentVNode("",!0)]),_:2},1024)],2))),128))],2))}},ir={__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:`
608
608
  <svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
609
609
  <path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" />
610
610
  </svg>
611
- `},a=t,r=e.ref(!1),o=()=>r.value=!r.value,l=w.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=w.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=w.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(()=>p(l({variant:a.variant}))),d=e.computed(()=>p(s({size:a.size}))),f=e.computed(()=>p(i({size:a.size})));return(h,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value)},[e.createVNode(U,{class:e.normalizeClass(d.value),"aria-expanded":r.value,onClick:o},{default:e.withCtx(()=>[e.renderSlot(h.$slots,"header",{isOpen:r.value}),e.createVNode(n,{class:e.normalizeClass(e.unref(p)("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(f.value)},[e.renderSlot(h.$slots,"content",{isOpen:r.value})],2)):e.createCommentVNode("",!0)]),_:3})],2))}},id={class:"w-full max-w-md bg-white border rounded-xl shadow-sm p-4"},cd={class:"flex items-center justify-between mb-4"},dd={class:"text-lg font-semibold text-slate-900"},ud={class:"grid grid-cols-7 text-center text-sm font-medium text-slate-500 mb-2"},fd={class:"grid grid-cols-7 gap-y-2 text-center"},cr={__name:"Calendar",emits:["update:modelValue"],setup(t){const n=new Date,a=e.ref(n.getMonth()),r=e.ref(n.getFullYear()),o=e.ref(null),l=["Su","Mo","Tu","We","Th","Fr","Sa"],s=e.computed(()=>new Date(r.value,a.value).toLocaleString("default",{month:"long"})),i=e.computed(()=>new Date(r.value,a.value+1,0).getDate()),c=e.computed(()=>new Date(r.value,a.value,1).getDay()),d=e.computed(()=>Array.from({length:c.value},(u,m)=>new Date(r.value,a.value,-m).getDate()).reverse()),f=e.computed(()=>{const u=d.value.length+i.value,m=u%7===0?0:7-u%7;return Array.from({length:m},(v,k)=>k+1)});function h(){a.value===0?(a.value=11,r.value--):a.value--}function x(){a.value===11?(a.value=0,r.value++):a.value++}function C(u){return n.getDate()===u&&n.getMonth()===a.value&&n.getFullYear()===r.value}function y(u){return o.value&&o.value.getDate()===u&&o.value.getMonth()===a.value&&o.value.getFullYear()===r.value}function g(u){o.value=new Date(r.value,a.value,u),emit("update:modelValue",o.value)}return(u,m)=>(e.openBlock(),e.createElementBlock("div",id,[e.createElementVNode("div",cd,[e.createVNode(U,{class:"p-2 rounded-lg hover:bg-slate-100",onClick:h,"aria-label":"Previous Month"},{default:e.withCtx(()=>[e.createVNode(D,{icon:u.chevron-u.left,class:"w-5 h-5"},null,8,["icon"])]),_:1}),e.createElementVNode("div",dd,e.toDisplayString(s.value)+" "+e.toDisplayString(r.value),1),e.createVNode(U,{class:"p-2 rounded-lg hover:bg-slate-100",onClick:x,"aria-label":"Next Month"},{default:e.withCtx(()=>[e.createVNode(D,{icon:u.chevron-u.right,class:"w-5 h-5"},null,8,["icon"])]),_:1})]),e.createElementVNode("div",ud,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,v=>e.createElementVNode("div",{key:v},e.toDisplayString(v),1)),64))]),e.createElementVNode("div",fd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,v=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+v,class:"text-slate-400 text-sm"},e.toDisplayString(v),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,v=>(e.openBlock(),e.createBlock(U,{key:v,onClick:k=>g(v),class:e.normalizeClass(["w-10 h-10 rounded-full flex items-center justify-center mx-auto",C(v)?"bg-blue-500 text-white font-semibold":"",y(v)?"bg-blue-100 text-blue-600 font-semibold":"hover:bg-slate-100"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v),1)]),_:2},1032,["onClick","class"]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,v=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+v,class:"text-slate-400 text-sm"},e.toDisplayString(v),1))),128))])]))}},md={class:"flex items-start justify-between"},vd={key:0,class:"flex items-center gap-2"},Dt={__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=w.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=w.cva("font-semibold text-slate-900",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),o=w.cva("text-slate-600 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),l=e.computed(()=>p(a({variant:n.variant,padding:n.padding}))),s=e.computed(()=>p(r({size:"md"}))),i=e.computed(()=>p(o({size:"md"})));return(c,d)=>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",md,[e.createElementVNode("div",null,[t.title?(e.openBlock(),e.createBlock(Oe,{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(Oe,{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",vd,[e.renderSlot(c.$slots,"filters")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)}},It={__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=w.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=w.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=g=>typeof g=="string"?g:g?.key||g?.field||"unknown",i=(g,u)=>{const m=s(u);return typeof u=="object"&&u.accessor?u.accessor(g):m&&m.includes(".")?m.split(".").reduce((v,k)=>v?.[k],g):g?.[m]},c=(g,u)=>{const m=i(g,u);return typeof u=="object"&&u.formatter?u.formatter(m,g):m==null?"":m instanceof Date?m.toLocaleDateString():Array.isArray(m)?m.join(", "):m},d=()=>{a.clickableRows&&r("row-click",{item:a.item,index:a.index})},f=g=>typeof g=="object"&&g.align?g.align:"left",h=e.computed(()=>p(o({striped:a.striped,hoverable:a.hoverable&&!a.clickableRows,clickable:a.clickableRows,selected:a.isSelected,variant:a.variant}))),x=g=>{const u=f(g);return p(l({density:a.density,align:u}),g.cellClasses)},C=e.computed(()=>p(l({density:a.density}),"w-12")),y=e.computed(()=>p(l({density:a.density,align:"right"}),"font-medium"));return(g,u)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(h.value),onClick:d},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(C.value)},[e.createVNode(We,{modelValue:t.isSelected,"onUpdate:modelValue":u[0]||(u[0]=m=>g.$emit("toggle-selection",t.item))},null,8,["modelValue"])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,m=>(e.openBlock(),e.createElementBlock("td",{key:s(m),class:e.normalizeClass(x(m))},[e.renderSlot(g.$slots,`cell-${s(m)}`,{item:t.item,value:i(t.item,m),column:m,index:t.index},()=>[e.createTextVNode(e.toDisplayString(c(t.item,m)),1)])],2))),128)),g.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(y.value)},[e.renderSlot(g.$slots,"actions",{item:t.item,index:t.index})],2)):e.createCommentVNode("",!0)],2))}},pd={class:"flex items-center justify-between"},gd={key:0,class:"text-sm text-slate-600"},hd={key:1,class:"text-sm text-slate-600"},bd={key:2,class:"flex items-center gap-4"},yd={key:3,class:"flex items-center gap-4"},xd={class:"flex items-center gap-2"},kd={class:"flex items-center gap-1"},wd=["disabled"],Cd=["disabled"],Sd={class:"flex items-center gap-1"},Bd=["onClick"],Vd=["disabled"],Nd=["disabled"],Ed={class:"text-sm text-slate-600 ml-4"},Pt={__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,{emit:n}){const a=t,r=w.cva("border-t border-slate-200",{variants:{variant:{default:"bg-slate-50",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-100 border-t-2 border-slate-300"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),o=w.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"}}),l=w.cva("text-slate-700",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"}},defaultVariants:{size:"md"}}),s=w.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"}}),i=e.computed(()=>(a.currentPage-1)*a.pageSize+1),c=e.computed(()=>Math.min(a.currentPage*a.pageSize,a.total)),d=e.computed(()=>{const y=[],g=a.totalPages,u=a.currentPage,m=a.maxVisiblePages;if(g<=m)for(let v=1;v<=g;v++)y.push(v);else{const v=Math.floor(m/2);let k=Math.max(1,u-v),E=Math.min(g,k+m-1);E-k+1<m&&(k=Math.max(1,E-m+1));for(let z=k;z<=E;z++)y.push(z)}return y}),f=e.computed(()=>p(r({variant:a.variant,padding:a.padding}))),h=e.computed(()=>p(l({size:"md"}))),x=e.computed(()=>p(s({size:"sm"}))),C=(y,g)=>{let u="inactive";return g?u="disabled":y&&(u="active"),p(o({state:u,size:"md"}))};return(y,g)=>t.showPagination||y.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(f.value)},[e.createElementVNode("div",pd,[t.selectable&&t.selectedCount>0?(e.openBlock(),e.createElementBlock("div",gd,e.toDisplayString(t.selectedCount)+" of "+e.toDisplayString(t.total)+" selected ",1)):(e.openBlock(),e.createElementBlock("div",hd," Showing "+e.toDisplayString(i.value)+" to "+e.toDisplayString(c.value)+" of "+e.toDisplayString(t.total)+" entries ",1)),y.$slots.footer?(e.openBlock(),e.createElementBlock("div",bd,[e.renderSlot(y.$slots,"footer")])):e.createCommentVNode("",!0),t.showPagination?(e.openBlock(),e.createElementBlock("div",yd,[e.createElementVNode("div",xd,[e.createVNode(At,{for:"pageSize",class:e.normalizeClass(h.value),inline:!0},{default:e.withCtx(()=>[...g[5]||(g[5]=[e.createTextVNode("Show:",-1)])]),_:1},8,["class"]),e.createVNode(qe,{id:"pageSize","model-value":t.pageSize.toString(),"onUpdate:modelValue":g[0]||(g[0]=u=>y.$emit("update:pageSize",parseInt(u))),class:e.normalizeClass(x.value)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizeOptions,u=>(e.openBlock(),e.createBlock(Tt,{key:u,value:u.toString(),label:u.toString()},null,8,["value","label"]))),128))]),_:1},8,["model-value","class"])]),e.createElementVNode("div",kd,[e.createElementVNode("button",{disabled:t.currentPage===1,onClick:g[1]||(g[1]=u=>y.$emit("update:currentPage",1)),class:e.normalizeClass(C(!1,t.currentPage===1)),title:"First page"},[...g[6]||(g[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,wd),e.createElementVNode("button",{disabled:t.currentPage===1,onClick:g[2]||(g[2]=u=>y.$emit("update:currentPage",t.currentPage-1)),class:e.normalizeClass(C(!1,t.currentPage===1)),title:"Previous page"},[...g[7]||(g[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,Cd),e.createElementVNode("div",Sd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,u=>(e.openBlock(),e.createElementBlock("button",{key:u,onClick:m=>y.$emit("update:currentPage",u),class:e.normalizeClass(C(u===t.currentPage,!1))},e.toDisplayString(u),11,Bd))),128))]),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,onClick:g[3]||(g[3]=u=>y.$emit("update:currentPage",t.currentPage+1)),class:e.normalizeClass(C(!1,t.currentPage===t.totalPages)),title:"Next page"},[...g[8]||(g[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,Vd),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,onClick:g[4]||(g[4]=u=>y.$emit("update:currentPage",t.totalPages)),class:e.normalizeClass(C(!1,t.currentPage===t.totalPages)),title:"Last page"},[...g[9]||(g[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,Nd)]),e.createElementVNode("div",Ed," Page "+e.toDisplayString(t.currentPage)+" of "+e.toDisplayString(t.totalPages),1)])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)}},zd={class:"overflow-x-auto"},$d=["onClick"],Ad={class:"flex items-center gap-2"},Td={key:0,class:"flex flex-col"},Dd={key:0},Id=["colspan"],Pd={class:"text-center py-8"},jd={class:"text-slate-500"},dr={__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"},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"}},emits:["selection-change","sort-change","row-click"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(1),l=e.ref(a.pageSize),s=e.ref(a.sortBy),i=e.ref(a.sortOrder),c=w.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"}}),d=w.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"}}),f=w.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"}}),h=w.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"}}),x=e.computed(()=>{let B=[...a.data];if(s.value){const $=a.columns.find(j=>j.key===s.value);$&&B.sort((j,Q)=>{const le=v(j,$),Ne=v(Q,$);return le<Ne?i.value==="asc"?-1:1:le>Ne?i.value==="asc"?1:-1:0})}return B}),C=e.computed(()=>Math.ceil(x.value.length/l.value)),y=e.computed(()=>{if(!a.showPagination)return x.value;const B=(o.value-1)*l.value,$=B+l.value;return x.value.slice(B,$)}),g=e.computed(()=>{let B=a.columns.length;return a.selectable&&B++,a.$slots?.actions&&B++,B}),u=e.computed(()=>x.value.length>0&&x.value.every(B=>E(B))),m=e.computed(()=>{const B=x.value.filter($=>E($)).length;return B>0&&B<x.value.length}),v=(B,$)=>$.accessor?$.accessor(B):$.key.split(".").reduce((j,Q)=>j?.[Q],B),k=(B,$)=>B[a.rowKey]||$,E=B=>a.selectedItems.some($=>k($)===k(B)),z=B=>{const $=[...a.selectedItems],j=$.findIndex(Q=>k(Q)===k(B));j>-1?$.splice(j,1):$.push(B),r("selection-change",$)},_=()=>{const B=u.value?[]:[...x.value];r("selection-change",B)},q=B=>{B.sortable&&(s.value===B.key?i.value=i.value==="asc"?"desc":"asc":(s.value=B.key,i.value="asc"),r("sort-change",{column:B.key,direction:i.value}))},T=B=>{r("row-click",B)},M=e.computed(()=>p(c({variant:a.variant}))),S=e.computed(()=>p(d({variant:a.variant}))),N=e.computed(()=>p(f({variant:a.variant}))),O=e.computed(()=>p(h({variant:a.variant}))),I=B=>p({compact:"px-4 py-2",normal:"px-6 py-3",comfortable:"px-8 py-4"}[a.density],"text-left text-xs font-medium text-slate-500 uppercase tracking-wider",{"cursor-pointer hover:bg-slate-100":B.sortable}),F=e.computed(()=>p({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[a.density],"whitespace-nowrap text-sm text-slate-900 w-12")),H=e.computed(()=>p({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[a.density],"whitespace-nowrap text-sm font-medium")),de=e.computed(()=>p({compact:"px-4 py-4",normal:"px-6 py-6",comfortable:"px-8 py-8"}[a.density],"text-center")),L=(B,$)=>p({"text-blue-600":s.value===B.key&&i.value===$,"text-slate-300":s.value!==B.key||i.value!==$});return e.watch(()=>a.selectedItems,B=>{},{deep:!0}),e.watch(()=>a.pageSize,B=>{l.value=B}),(B,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(M.value)},[t.title||t.description||B.$slots.header?(e.openBlock(),e.createBlock(Dt,{key:0,title:t.title,description:t.description,variant:t.headerVariant,padding:t.headerPadding},{header:e.withCtx(()=>[e.renderSlot(B.$slots,"header")]),filters:e.withCtx(()=>[e.renderSlot(B.$slots,"filters")]),_:3},8,["title","description","variant","padding"])):e.createCommentVNode("",!0),e.createElementVNode("div",zd,[e.createElementVNode("table",{class:e.normalizeClass(S.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(F.value)},[e.createVNode(We,{modelValue:u.value,indeterminate:m.value,"onUpdate:modelValue":_},null,8,["modelValue","indeterminate"])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,j=>(e.openBlock(),e.createElementBlock("th",{key:j.key,class:e.normalizeClass(I(j)),onClick:Q=>q(j)},[e.createElementVNode("div",Ad,[e.createElementVNode("span",null,e.toDisplayString(j.label),1),j.sortable?(e.openBlock(),e.createElementBlock("div",Td,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([L(j,"asc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...$[2]||($[2]=[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([L(j,"desc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...$[3]||($[3]=[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,$d))),128)),B.$slots.actions?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass(H.value)}," Actions ",2)):e.createCommentVNode("",!0)])],2),e.createElementVNode("tbody",{class:e.normalizeClass(O.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(j,Q)=>(e.openBlock(),e.createBlock(It,{key:k(j,Q),item:j,columns:t.columns,index:Q,selectable:t.selectable,"is-selected":E(j),striped:t.striped,hoverable:t.hoverable,"clickable-rows":t.clickableRows,density:t.density,onToggleSelection:z,onRowClick:T},e.createSlots({actions:e.withCtx(le=>[e.renderSlot(B.$slots,"actions",e.mergeProps({ref_for:!0},le))]),_:2},[e.renderList(t.columns,le=>({name:`cell-${le.key}`,fn:e.withCtx(Ne=>[e.renderSlot(B.$slots,`cell-${le.key}`,e.mergeProps({ref_for:!0},Ne))])}))]),1032,["item","columns","index","selectable","is-selected","striped","hoverable","clickable-rows","density"]))),128)),y.value.length===0?(e.openBlock(),e.createElementBlock("tr",Dd,[e.createElementVNode("td",{colspan:g.value,class:e.normalizeClass(de.value)},[e.renderSlot(B.$slots,"empty",{},()=>[e.createElementVNode("div",Pd,[$[4]||($[4]=e.createElementVNode("div",{class:"text-slate-400 mb-2"},[e.createElementVNode("svg",{class:"w-12 h-12 mx-auto",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.375 19.5h17.25m-17.25 0a1.125 1.125 0 0 1-1.125-1.125M3.375 19.5h7.5c.621 0 1.125-.504 1.125-1.125m-9.75 0V5.625m0 0A2.25 2.25 0 0 1 5.625 3.375h4.125c.621 0 1.125.504 1.125 1.125v15.75m-9.75 0h9.75"})])],-1)),e.createElementVNode("p",jd,e.toDisplayString(t.emptyText),1)])])],10,Id)])):e.createCommentVNode("",!0)],2)],2)]),t.showPagination||B.$slots.footer?(e.openBlock(),e.createBlock(Pt,{key:1,"current-page":o.value,"total-pages":C.value,total:x.value.length,"page-size":l.value,"show-pagination":t.showPagination,selectable:t.selectable,"selected-count":t.selectedItems.length,variant:t.paginationVariant,padding:t.paginationPadding,"onUpdate:currentPage":$[0]||($[0]=j=>o.value=j),"onUpdate:pageSize":$[1]||($[1]=j=>l.value=j)},{footer:e.withCtx(()=>[e.renderSlot(B.$slots,"footer")]),_:3},8,["current-page","total-pages","total","page-size","show-pagination","selectable","selected-count","variant","padding"])):e.createCommentVNode("",!0)],2))}},ur={__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=w.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 p(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))}},Fd={class:"flex-1 min-w-64"},Od={class:"relative"},Ld={key:0,class:"min-w-32"},_d=["value"],Md={key:1,class:"flex items-center gap-2"},Rd={key:2,class:"flex items-center gap-2"},Hd={class:"flex items-center gap-2 ml-auto"},Wd={class:"flex items-center gap-2 flex-wrap"},fr={__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:""},showExport:{type:Boolean,default:!1},showAdd:{type:Boolean,default:!1},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","export","add","clear-filters"],setup(t,{emit:n}){const a=t,r=n,o=w.cva("flex flex-wrap items-center gap-4 border-b border-slate-200",{variants:{variant:{default:"bg-slate-50",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-100 border-slate-300"},padding:{compact:"p-2",normal:"p-4",comfortable:"p-6"}},defaultVariants:{variant:"default",padding:"normal"}}),l=w.cva("border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",{variants:{size:{sm:"text-sm px-2 py-1",md:"text-sm px-3 py-2",lg:"text-base px-4 py-3"}},defaultVariants:{size:"md"}}),s=w.cva("rounded-md flex items-center gap-2 font-medium transition-colors",{variants:{variant:{default:"text-slate-600 hover:text-slate-100 border border-slate-300 hover:bg-blue-200",primary:"text-white bg-blue-600 hover:bg-blue-700 border border-blue-600",success:"text-white bg-green-600 hover:bg-green-700 border border-green-600",ghost:"text-slate-600 hover:text-slate-800 hover:bg-slate-100"},size:{sm:"px-2 py-1 text-xs",md:"px-3 py-2 text-sm",lg:"px-4 py-3 text-base"}},defaultVariants:{variant:"default",size:"md"}}),i=w.cva("border-b",{variants:{variant:{default:"px-4 py-2 bg-blue-50 border-blue-200",minimal:"px-2 py-1 bg-slate-50 border-slate-100",bordered:"px-4 py-3 bg-blue-100 border-blue-300"}},defaultVariants:{variant:"default"}}),c=e.computed(()=>a.searchQuery||a.selectedStatus||a.dateFrom||a.dateTo),d=e.computed(()=>{const S=[];if(a.searchQuery&&a.searchQuery.trim()&&S.push({key:"search",label:"Search",value:a.searchQuery}),a.selectedStatus){const N=a.statusOptions.find(O=>O.value===a.selectedStatus);S.push({key:"status",label:"Status",value:N?.label||a.selectedStatus})}if(a.dateFrom||a.dateTo){let N="";a.dateFrom&&a.dateTo?N=`${a.dateFrom} to ${a.dateTo}`:a.dateFrom?N=`From ${a.dateFrom}`:a.dateTo&&(N=`Until ${a.dateTo}`),N&&S.push({key:"date",label:"Date Range",value:N})}return S}),f=e.computed(()=>p(o({variant:a.variant,padding:a.padding}))),h=e.computed(()=>"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-slate-400"),x=e.computed(()=>p(l({size:"md"}),"w-full pl-10 focus:border-transparent")),C=e.computed(()=>"absolute right-2 top-1/2 transform -translate-y-1/2 text-slate-400 hover:text-slate-300 p-1"),y=e.computed(()=>p(l({size:"md"}),"w-full focus:border-transparent")),g=e.computed(()=>p(l({size:"md"}))),u=e.computed(()=>"text-slate-500"),m=e.computed(()=>p(s({variant:"default",size:"md"}))),v=e.computed(()=>p(s({variant:"primary",size:"md"}))),k=e.computed(()=>p(s({variant:"success",size:"md"}))),E=e.computed(()=>p(i({variant:a.variant}))),z=e.computed(()=>"text-sm text-blue-700 font-medium"),_=e.computed(()=>"flex items-center gap-1 bg-blue-100 text-blue-800 px-2 py-1 rounded-md text-sm"),q=e.computed(()=>"text-blue-200 hover:text-blue-200 p-0.5"),T=()=>{r("update:searchQuery",""),r("update:selectedStatus",""),r("update:dateFrom",""),r("update:dateTo",""),r("clear-filters")},M=S=>{switch(S){case"search":r("update:searchQuery","");break;case"status":r("update:selectedStatus","");break;case"date":r("update:dateFrom",""),r("update:dateTo","");break}};return(S,N)=>{const O=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:e.normalizeClass(f.value)},[e.createElementVNode("div",Fd,[e.createElementVNode("div",Od,[e.createVNode(O,{icon:"magnifying-glass",class:e.normalizeClass(h.value)},null,8,["class"]),e.createVNode(xe,{"model-value":t.searchQuery,onInput:N[0]||(N[0]=I=>S.$emit("update:searchQuery",I.target.value)),placeholder:t.searchPlaceholder,class:e.normalizeClass(x.value)},null,8,["model-value","placeholder","class"]),t.searchQuery?(e.openBlock(),e.createBlock(U,{key:0,onClick:N[1]||(N[1]=I=>S.$emit("update:searchQuery","")),class:e.normalizeClass(C.value)},{default:e.withCtx(()=>[e.createVNode(O,{icon:"xmark",class:"w-4 h-4"})]),_:1},8,["class"])):e.createCommentVNode("",!0)])]),t.statusOptions.length>0?(e.openBlock(),e.createElementBlock("div",Ld,[e.createVNode(qe,{"model-value":t.selectedStatus,onChange:N[2]||(N[2]=I=>S.$emit("update:selectedStatus",I.target.value)),class:e.normalizeClass(y.value)},{default:e.withCtx(()=>[N[7]||(N[7]=e.createElementVNode("option",{value:""},"All Status",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.statusOptions,I=>(e.openBlock(),e.createElementBlock("option",{key:I.value,value:I.value},e.toDisplayString(I.label),9,_d))),128))]),_:1},8,["model-value","class"])])):e.createCommentVNode("",!0),t.showDateFilter?(e.openBlock(),e.createElementBlock("div",Md,[e.createVNode(xe,{type:"date","model-value":t.dateFrom,onInput:N[3]||(N[3]=I=>S.$emit("update:dateFrom",I.target.value)),class:e.normalizeClass(g.value)},null,8,["model-value","class"]),e.createElementVNode("span",{class:e.normalizeClass(u.value)},"to",2),e.createVNode(xe,{type:"date","model-value":t.dateTo,onInput:N[4]||(N[4]=I=>S.$emit("update:dateTo",I.target.value)),class:e.normalizeClass(g.value)},null,8,["model-value","class"])])):e.createCommentVNode("",!0),S.$slots.filters?(e.openBlock(),e.createElementBlock("div",Rd,[e.renderSlot(S.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",Hd,[c.value?(e.openBlock(),e.createBlock(U,{key:0,onClick:T,class:e.normalizeClass(m.value)},{default:e.withCtx(()=>[...N[8]||(N[8]=[e.createTextVNode(" Clear Filters ",-1)])]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(U,{key:1,onClick:N[5]||(N[5]=I=>S.$emit("export")),class:e.normalizeClass(v.value)},{default:e.withCtx(()=>[e.createVNode(O,{icon:"download"}),N[9]||(N[9]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showAdd?(e.openBlock(),e.createBlock(U,{key:2,onClick:N[6]||(N[6]=I=>S.$emit("add")),class:e.normalizeClass(k.value)},{default:e.withCtx(()=>[e.createVNode(O,{icon:"plus"}),N[10]||(N[10]=e.createTextVNode(" Add New ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0)])],2),d.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(E.value)},[e.createElementVNode("div",Wd,[e.createElementVNode("span",{class:e.normalizeClass(z.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,I=>(e.openBlock(),e.createElementBlock("div",{key:I.key,class:e.normalizeClass(_.value)},[e.createElementVNode("span",null,e.toDisplayString(I.label)+": "+e.toDisplayString(I.value),1),e.createVNode(U,{onClick:F=>M(I.key),class:e.normalizeClass(q.value)},{default:e.withCtx(()=>[e.createVNode(O,{icon:"xmark",class:"w-3 h-3"})]),_:1},8,["onClick","class"])],2))),128))])],2)):e.createCommentVNode("",!0)])}}},qd={class:"flex items-center gap-3"},Ud={key:0,class:"flex items-center gap-3"},Yd={class:"text-sm text-slate-600"},Gd={class:"flex items-center gap-2"},Kd={class:"flex items-center gap-3"},Xd=["onClick","title"],Jd={key:1,class:"relative"},Qd={class:"p-3"},Zd={class:"space-y-1"},eu={class:"flex items-center gap-2 cursor-pointer w-full"},tu=["checked","onChange"],au=["disabled"],nu={key:3,class:"flex items-center gap-2"},ru=[{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"}],ou={name:"DataTableToolBar"},mr=Object.assign(ou,{props:{selectedItems:{type:Array,default:()=>[]},totalItems:{type:Number,default:0},bulkActions:{type:Array,default:()=>ru},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"]}],d=w.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"}}),f=w.cva("px-3 py-1.5 text-sm font-medium rounded-md flex items-center gap-1 transition-colors",{variants:{variant:{danger:"text-red-700 bg-red-500 hover:bg-red-400 border border-red-200",primary:"text-blue-700 bg-blue-50 hover:bg-blue-100 border border-blue-200",secondary:"text-slate-700 bg-slate-500 hover:bg-slate-400 border border-slate-200"}},defaultVariants:{variant:"secondary"}}),h=w.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"}}),x=w.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"}}),C=e.computed(()=>p(d({variant:a.variant,padding:a.padding}))),y=e.computed(()=>"text-sm text-slate-600"),g=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"),m=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"),v=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"),E=e.computed(()=>"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 focus:ring-2 focus:ring-offset-1"),z=e.computed(()=>"text-sm text-slate-700 flex-1 select-none"),_=F=>{l.value&&s.value&&!l.value.contains(F.target)&&!s.value.contains(F.target)&&(o.value=!1)},q=()=>{o.value=!o.value},T=F=>p(f({variant:F.variant||"secondary"})),M=F=>{let H="middle";return F==="compact"?H="first":F==="comfortable"&&(H="last"),p(h({active:a.density===F,position:H}))},S=()=>p(x({state:a.isRefreshing?"refreshing":"normal"})),N=()=>p("w-4 h-4",{"animate-spin":a.isRefreshing}),O=F=>a.visibleColumns.includes(F),I=(F,H)=>{r("toggle-column",{column:F,visible:H})};return e.onMounted(()=>{document.addEventListener("click",_)}),e.onUnmounted(()=>{document.removeEventListener("click",_)}),(F,H)=>{const de=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(C.value)},[e.createElementVNode("div",qd,[i.value>0?(e.openBlock(),e.createElementBlock("div",Ud,[e.createElementVNode("span",Yd,e.toDisplayString(i.value)+" selected ",1),e.createElementVNode("div",Gd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bulkActions,L=>(e.openBlock(),e.createBlock(U,{key:L.key,onClick:B=>F.$emit("bulk-action",{action:L.key,items:t.selectedItems}),class:e.normalizeClass(T(L))},{default:e.withCtx(()=>[L.icon?(e.openBlock(),e.createBlock(de,{key:0,icon:L.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(L.label),1)]),_:2},1032,["onClick","class"]))),128))])])):t.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(y.value)},e.toDisplayString(t.totalItems)+" "+e.toDisplayString(t.totalItems===1?"item":"items"),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Kd,[t.showDensityToggle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(g.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(c,L=>e.createElementVNode("button",{key:L.value,onClick:B=>F.$emit("update:density",L.value),class:e.normalizeClass(M(L.value)),title:L.label,type:"button"},[e.createVNode(de,{icon:L.icon,class:"w-4 h-4"},null,8,["icon"])],10,Xd)),64))],2)):e.createCommentVNode("",!0),t.showColumnToggle?(e.openBlock(),e.createElementBlock("div",Jd,[e.createElementVNode("button",{onClick:e.withModifiers(q,["stop"]),class:e.normalizeClass(u.value),type:"button",ref_key:"columnToggleButton",ref:l},[e.createVNode(de,{icon:"columns",class:"w-4 h-4"}),H[2]||(H[2]=e.createElementVNode("span",null,"Columns",-1))],2),e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:s,class:e.normalizeClass(m.value),onClick:H[0]||(H[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Qd,[e.createElementVNode("div",{class:e.normalizeClass(v.value)}," Show Columns ",2),e.createElementVNode("div",Zd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toggleableColumns,L=>(e.openBlock(),e.createElementBlock("div",{key:L.key,class:e.normalizeClass(k.value)},[e.createElementVNode("label",eu,[e.createElementVNode("input",{type:"checkbox",checked:O(L.key),onChange:B=>I(L.key,B.target.checked),class:e.normalizeClass(E.value)},null,42,tu),e.createElementVNode("span",{class:e.normalizeClass(z.value)},e.toDisplayString(L.label),3)])],2))),128))])])],2),[[e.vShow,o.value]])])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:H[1]||(H[1]=L=>F.$emit("refresh")),disabled:t.isRefreshing,class:e.normalizeClass(S()),type:"button"},[e.createVNode(de,{icon:"sync",class:e.normalizeClass(N())},null,8,["class"]),H[3]||(H[3]=e.createElementVNode("span",null,"Refresh",-1))],10,au)):e.createCommentVNode("",!0),F.$slots.actions?(e.openBlock(),e.createElementBlock("div",nu,[e.renderSlot(F.$slots,"actions")])):e.createCommentVNode("",!0)])],2)}}}),lu={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"},su={class:"grid grid-cols-1 md:grid-cols-4 gap-8"},iu={class:"col-span-1 md:col-span-2"},cu={class:"space-y-2"},du={class:"flex space-x-4"},uu={class:"flex flex-col md:flex-row justify-between items-center"},fu={class:"flex space-x-6 mt-4 md:mt-0"},vr={__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(p)("bg-gray-50 border-t border-gray-200",t.className))},[e.createElementVNode("div",lu,[e.createElementVNode("div",su,[e.createElementVNode("div",iu,[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",cu,[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",du,[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",uu,[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",fu,[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)}}},mu={class:"flex items-center justify-between h-16 px-6"},vu={class:"flex items-center"},pu={key:0,class:"flex items-center space-x-3 mr-6"},gu={class:"flex items-center space-x-2 text-sm"},hu={class:"text-gray-500"},bu={class:"text-gray-900 font-medium"},yu={class:"flex items-center space-x-4"},xu={class:"relative"},ku={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"},wu={key:0,class:"absolute right-6 top-16 mt-2 w-80 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},Cu={class:"max-h-96 overflow-y-auto"},Su={class:"flex items-start space-x-3"},Bu={class:"flex-1"},Vu={class:"text-sm text-gray-900"},Nu={class:"text-xs text-gray-500 mt-1"},Eu={class:"relative"},zu={class:"w-8 h-8 bg-gray-300 rounded-full flex items-center justify-center"},$u={class:"text-gray-600 text-sm font-medium"},Au={class:"hidden md:block text-left"},Tu={class:"text-sm font-medium text-gray-900"},Du={class:"text-xs text-gray-500"},Iu={key:0,class:"absolute right-0 mt-2 w-48 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},Pu={class:"p-4 border-b border-gray-200"},ju={class:"text-sm font-medium text-gray-900"},Fu={class:"text-xs text-gray-500"},Ou={class:"py-2"},Lu=["onClick"],pr={__name:"Header",props:{sidebarWidth:{type:Number,default:256},sidebarCollapsed:{type:Boolean,default:!1},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}},emits:["search","profile-action","logout","navigate"],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.computed(()=>(a.user?.name||"Guest").split(" ").map(m=>m[0]||"").join("").toUpperCase()),d=()=>{l.value=!l.value,s.value=!1},f=()=>{s.value=!s.value,l.value=!1},h=u=>{r("navigate",u),s.value=!1},x=u=>u.route?!!(a.currentRoute===u.route||a.currentRoute.startsWith(u.route+"/")):!1,C=u=>{r("profile-action",u),s.value=!1},y=()=>{r("logout"),s.value=!1},g=u=>{!u.target.closest(".absolute")&&!u.target.closest("button")&&(l.value=!1,s.value=!1)};return e.onMounted(()=>document.addEventListener("click",g)),e.onUnmounted(()=>document.removeEventListener("click",g)),e.watch(o,u=>r("search",u)),(u,m)=>{const v=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(p)("fixed top-0 right-0 z-30 bg-white border-b border-gray-200 transition-all duration-300 ease-in-out",`left-${t.sidebarCollapsed?"16":"64"}`)),style:e.normalizeStyle({left:`${t.sidebarWidth}px`})},[e.createElementVNode("div",mu,[e.createElementVNode("div",vu,[t.sidebarCollapsed?(e.openBlock(),e.createElementBlock("div",pu,[...m[1]||(m[1]=[e.createElementVNode("div",{class:"w-8 h-8 bg-blue-600 rounded-lg flex items-center justify-center"},[e.createElementVNode("span",{class:"text-white font-bold text-sm"},"UI")],-1),e.createElementVNode("h1",{class:"text-xl font-semibold text-gray-900"},"Dashboard",-1)])])):e.createCommentVNode("",!0),e.createElementVNode("nav",gu,[e.createElementVNode("span",hu,e.toDisplayString(t.currentSection),1),m[2]||(m[2]=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:"M9 5l7 7-7 7"})],-1)),e.createElementVNode("span",bu,e.toDisplayString(t.currentPage),1)])]),e.createElementVNode("div",yu,[e.createElementVNode("div",xu,[m[3]||(m[3]=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",{type:"text",placeholder:"Search...",class:"pl-10 pr-4 py-2 w-64 text-sm border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none","onUpdate:modelValue":m[0]||(m[0]=k=>o.value=k)},null,512),[[e.vModelText,o.value]])]),e.createElementVNode("button",{onClick:d,class:"relative p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors"},[m[4]||(m[4]=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",ku,e.toDisplayString(i.value),1)):e.createCommentVNode("",!0)]),l.value?(e.openBlock(),e.createElementBlock("div",wu,[m[6]||(m[6]=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",Cu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.notifications,k=>(e.openBlock(),e.createElementBlock("div",{key:k.id,class:"p-4 border-b border-gray-100 hover:bg-gray-50 cursor-pointer"},[e.createElementVNode("div",Su,[m[5]||(m[5]=e.createElementVNode("div",{class:"flex-shrink-0 w-2 h-2 mt-2 bg-blue-500 rounded-full"},null,-1)),e.createElementVNode("div",Bu,[e.createElementVNode("p",Vu,e.toDisplayString(k.title),1),e.createElementVNode("p",Nu,e.toDisplayString(k.time),1)])])]))),128))]),m[7]||(m[7]=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),e.createElementVNode("div",Eu,[e.createElementVNode("button",{onClick:f,class:"flex items-center space-x-3 p-2 rounded-lg hover:bg-gray-50 transition-colors"},[e.createElementVNode("div",zu,[e.createElementVNode("span",$u,e.toDisplayString(c.value),1)]),e.createElementVNode("div",Au,[e.createElementVNode("p",Tu,e.toDisplayString(t.user.name),1),e.createElementVNode("p",Du,e.toDisplayString(t.user.role),1)]),m[8]||(m[8]=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))]),s.value?(e.openBlock(),e.createElementBlock("div",Iu,[e.createElementVNode("div",Pu,[e.createElementVNode("p",ju,e.toDisplayString(t.user.name),1),e.createElementVNode("p",Fu,e.toDisplayString(t.user.email),1)]),e.createElementVNode("div",Ou,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.profileMenuItems,k=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k.name},[k.route?(e.openBlock(),e.createBlock(v,{key:0,to:k.route,class:e.normalizeClass(e.unref(p)("flex items-center px-4 py-2 text-sm transition-colors",x(k)?"bg-blue-50 text-blue-700":"text-gray-700 hover:bg-gray-50")),onClick:E=>h(k)},{default:e.withCtx(()=>[e.createVNode(D,{icon:k.icon,class:"w-4 h-4 mr-3 text-gray-400"},null,8,["icon"]),e.createTextVNode(" "+e.toDisplayString(k.label),1)]),_:2},1032,["to","class","onClick"])):(e.openBlock(),e.createElementBlock("button",{key:1,onClick:E=>C(k),class:"flex items-center w-full px-4 py-2 text-sm text-gray-700 hover:bg-gray-50 transition-colors"},[e.createVNode(D,{icon:k.icon,class:"w-4 h-4 mr-3 text-gray-400"},null,8,["icon"]),e.createTextVNode(" "+e.toDisplayString(k.label),1)],8,Lu))],64))),128))]),e.createElementVNode("div",{class:"border-t border-gray-200 py-2"},[e.createElementVNode("button",{onClick:y,class:"flex items-center w-full px-4 py-2 text-sm text-red-600 hover:bg-red-50"},[...m[9]||(m[9]=[e.createElementVNode("svg",{class:"w-4 h-4 mr-3",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-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1),e.createTextVNode(" Sign out ",-1)])])])])):e.createCommentVNode("",!0)])])])],6)}}},_u={key:0,class:"flex items-center justify-start p-4 border-b border-gray-200"},Mu={class:"text-xl font-semibold text-gray-900"},Ru={class:"p-4 space-y-2"},Hu={key:0,class:"mt-6 mb-2"},Wu={class:"px-3 text-lg font-semibold text-gray-600 uppercase tracking-wider"},qu={class:"truncate text-sm"},Uu={key:0,class:"ml-auto inline-flex items-center justify-center px-2 py-1 text-xs font-medium rounded-full bg-red-100 text-red-800"},gr={__name:"Sidebar",props:{sidebarWidth:{type:Number,default:256},header:{type:Object,default:null},navigationItems:{type:Array,required:!0},currentRoute:{type:String,default:""}},emits:["navigate"],setup(t,{emit:n}){const a=t,r=n,o=s=>{r("navigate",s)},l=s=>s.route?!!(a.currentRoute===s.route||a.currentRoute.startsWith(s.route+"/")):!1;return(s,i)=>{const c=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(e.unref(p)("fixed left-0 top-0 z-40 h-screen bg-white border-r border-gray-200 transition-all duration-300 ease-in-out")),style:e.normalizeStyle({width:t.sidebarWidth+"px"})},[t.header?(e.openBlock(),e.createElementBlock("div",_u,[e.createElementVNode("h2",Mu,e.toDisplayString(t.header.title),1)])):e.createCommentVNode("",!0),e.createElementVNode("nav",Ru,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.navigationItems,d=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d.name},[d.type==="section"?(e.openBlock(),e.createElementBlock("div",Hu,[e.createElementVNode("h3",Wu,e.toDisplayString(d.label),1)])):d.type==="link"?(e.openBlock(),e.createBlock(c,{key:1,to:d.route,onClick:f=>o(d),class:e.normalizeClass(e.unref(p)("flex items-center px-3 py-2 rounded-lg text-2xl font-medium transition-colors",l(d)?"bg-blue-50 text-blue-700 border-r-2 border-blue-700":"text-gray-700 hover:bg-gray-50 hover:text-gray-600"))},{default:e.withCtx(()=>[e.createVNode(D,{icon:d.icon,size:"md",class:"mr-3 text-5xl flex-shrink-0"},null,8,["icon"]),e.createElementVNode("span",qu,e.toDisplayString(d.label),1),d.badge?(e.openBlock(),e.createElementBlock("span",Uu,e.toDisplayString(d.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","onClick","class"])):e.createCommentVNode("",!0)],64))),128))])],6)}}},hr={__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))}},Yu={key:0,class:"absolute left-3 top-0 w-0.5 h-full bg-slate-200"},Gu={class:"z-10 flex items-center justify-center w-6 h-6 rounded-full border-2 border-blue-500 bg-white text-blue-500"},Ku={class:"text-slate-900 font-medium"},Xu={key:0,class:"text-slate-500 text-sm"},Ju={class:"mt-2 text-slate-600 text-sm"},br={__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",Yu)):e.createCommentVNode("",!0),e.createElementVNode("div",Gu,[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",Ku,[e.renderSlot(n.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),t.subtitle?(e.openBlock(),e.createElementBlock("p",Xu,[e.renderSlot(n.$slots,"subtitle",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Ju,[e.renderSlot(n.$slots,"default")])],2)],2))}},yr=(t,n)=>{const a=t.__vccOpts||t;for(const[r,o]of n)a[r]=o;return a},Qu={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(t){return{currentYear:e.computed(()=>new Date().getFullYear())}}},Zu={class:"container mx-auto px-4 relative z-10"},ef={class:"grid lg:grid-cols-10 gap-8 items-center min-h-screen"},tf={class:"lg:col-span-6 text-white text-center lg:text-left space-y-6"},af={class:"mb-6"},nf={class:"text-4xl lg:text-6xl font-bold mb-2"},rf={class:"text-white"},of={class:"flex items-center justify-center lg:justify-start mb-6"},lf={class:"text-3xl lg:text-4xl font-bold text-white"},sf={class:"lg:col-span-4"},cf={class:"bg-white rounded-lg shadow-xl p-6 lg:p-8 max-w-md mx-auto"},df={key:0,class:"mb-6"},uf={class:"text-center"},ff={class:"text-2xl font-bold text-gray-900"},mf={key:0,class:"text-gray-600 mt-2"},vf={class:"space-y-6"},pf={key:1,class:"mt-6"},gf={key:0,class:"mt-6 text-center"},hf={class:"absolute bottom-4 right-4 text-right"},bf={class:"flex items-end justify-end mb-2"},yf={class:"text-right mr-3"},xf={class:"text-red-500 font-bold text-xs"},kf={class:"text-white text-xs"},wf={class:"text-white/70 text-xs"},Cf={class:"w-8 h-8 bg-red-500 rounded flex items-center justify-center text-white font-bold text-xs"},Sf={class:"text-white/70 text-xs"},Bf={class:"absolute bottom-4 left-4 flex gap-2"},Vf=["href"];function Nf(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",Zu,[e.createElementVNode("div",ef,[e.createElementVNode("div",tf,[e.createElementVNode("div",af,[e.createElementVNode("div",nf,[e.createElementVNode("span",{style:e.normalizeStyle({color:a.primaryColor})},e.toDisplayString(a.primaryLogoPrefix),5),e.createElementVNode("span",rf,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",of,[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",lf,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",sf,[e.createElementVNode("div",cf,[t.$slots["card-header"]||a.title?(e.openBlock(),e.createElementBlock("div",df,[e.renderSlot(t.$slots,"card-header",{},()=>[e.createElementVNode("div",uf,[e.createElementVNode("h1",ff,e.toDisplayString(a.title),1),a.subtitle?(e.openBlock(),e.createElementBlock("p",mf,e.toDisplayString(a.subtitle),1)):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",vf,[e.createVNode(s)]),t.$slots["card-footer"]?(e.openBlock(),e.createElementBlock("div",pf,[e.renderSlot(t.$slots,"card-footer")])):e.createCommentVNode("",!0)]),t.$slots.links?(e.openBlock(),e.createElementBlock("div",gf,[e.renderSlot(t.$slots,"links")])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",hf,[e.createElementVNode("div",bf,[e.createElementVNode("div",yf,[e.createElementVNode("div",xf,e.toDisplayString(a.companyName),1),e.createElementVNode("div",kf,e.toDisplayString(a.companyType),1),e.createElementVNode("div",wf,e.toDisplayString(a.companyTagline),1)]),e.createElementVNode("div",Cf,e.toDisplayString(a.companyInitials),1)]),e.createElementVNode("div",Sf,[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",Bf,[(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,Vf))),128))])],4)}const xr=yr(Qu,[["render",Nf]]),Ef={class:"min-h-screen bg-gray-50"},zf={class:"flex-1"},$f={key:0,class:"bg-white border-b border-gray-200"},Af={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},Tf={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},kr={__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"),d=e.resolveComponent("Footer");return e.openBlock(),e.createElementBlock("div",Ef,[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",zf,[t.showBreadcrumb?(e.openBlock(),e.createElementBlock("div",$f,[e.createElementVNode("div",Af,[e.renderSlot(n.$slots,"breadcrumb",{},()=>[e.createVNode(i,{items:t.breadcrumbItems},null,8,["items"])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Tf,[e.renderSlot(n.$slots,"default")])]),e.createVNode(d,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})])}}},Df={template:`
611
+ `},a=t,r=e.ref(!1),o=()=>r.value=!r.value,l=w.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=w.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=w.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(()=>p(l({variant:a.variant}))),d=e.computed(()=>p(s({size:a.size}))),f=e.computed(()=>p(i({size:a.size})));return(h,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value)},[e.createVNode(U,{class:e.normalizeClass(d.value),"aria-expanded":r.value,onClick:o},{default:e.withCtx(()=>[e.renderSlot(h.$slots,"header",{isOpen:r.value}),e.createVNode(n,{class:e.normalizeClass(e.unref(p)("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(f.value)},[e.renderSlot(h.$slots,"content",{isOpen:r.value})],2)):e.createCommentVNode("",!0)]),_:3})],2))}},sd={class:"w-full max-w-md bg-white border rounded-xl shadow-sm p-4"},id={class:"flex items-center justify-between mb-4"},cd={class:"text-lg font-semibold text-slate-900"},dd={class:"grid grid-cols-7 text-center text-sm font-medium text-slate-500 mb-2"},ud={class:"grid grid-cols-7 gap-y-2 text-center"},cr={__name:"Calendar",emits:["update:modelValue"],setup(t){const n=new Date,a=e.ref(n.getMonth()),r=e.ref(n.getFullYear()),o=e.ref(null),l=["Su","Mo","Tu","We","Th","Fr","Sa"],s=e.computed(()=>new Date(r.value,a.value).toLocaleString("default",{month:"long"})),i=e.computed(()=>new Date(r.value,a.value+1,0).getDate()),c=e.computed(()=>new Date(r.value,a.value,1).getDay()),d=e.computed(()=>Array.from({length:c.value},(u,m)=>new Date(r.value,a.value,-m).getDate()).reverse()),f=e.computed(()=>{const u=d.value.length+i.value,m=u%7===0?0:7-u%7;return Array.from({length:m},(v,k)=>k+1)});function h(){a.value===0?(a.value=11,r.value--):a.value--}function x(){a.value===11?(a.value=0,r.value++):a.value++}function C(u){return n.getDate()===u&&n.getMonth()===a.value&&n.getFullYear()===r.value}function y(u){return o.value&&o.value.getDate()===u&&o.value.getMonth()===a.value&&o.value.getFullYear()===r.value}function g(u){o.value=new Date(r.value,a.value,u),emit("update:modelValue",o.value)}return(u,m)=>(e.openBlock(),e.createElementBlock("div",sd,[e.createElementVNode("div",id,[e.createVNode(U,{class:"p-2 rounded-lg hover:bg-slate-100",onClick:h,"aria-label":"Previous Month"},{default:e.withCtx(()=>[e.createVNode(D,{icon:u.chevron-u.left,class:"w-5 h-5"},null,8,["icon"])]),_:1}),e.createElementVNode("div",cd,e.toDisplayString(s.value)+" "+e.toDisplayString(r.value),1),e.createVNode(U,{class:"p-2 rounded-lg hover:bg-slate-100",onClick:x,"aria-label":"Next Month"},{default:e.withCtx(()=>[e.createVNode(D,{icon:u.chevron-u.right,class:"w-5 h-5"},null,8,["icon"])]),_:1})]),e.createElementVNode("div",dd,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,v=>e.createElementVNode("div",{key:v},e.toDisplayString(v),1)),64))]),e.createElementVNode("div",ud,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,v=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+v,class:"text-slate-400 text-sm"},e.toDisplayString(v),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,v=>(e.openBlock(),e.createBlock(U,{key:v,onClick:k=>g(v),class:e.normalizeClass(["w-10 h-10 rounded-full flex items-center justify-center mx-auto",C(v)?"bg-blue-500 text-white font-semibold":"",y(v)?"bg-blue-100 text-blue-600 font-semibold":"hover:bg-slate-100"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v),1)]),_:2},1032,["onClick","class"]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,v=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+v,class:"text-slate-400 text-sm"},e.toDisplayString(v),1))),128))])]))}},fd={class:"flex items-start justify-between"},md={key:0,class:"flex items-center gap-2"},Dt={__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=w.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=w.cva("font-semibold text-slate-900",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),o=w.cva("text-slate-600 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),l=e.computed(()=>p(a({variant:n.variant,padding:n.padding}))),s=e.computed(()=>p(r({size:"md"}))),i=e.computed(()=>p(o({size:"md"})));return(c,d)=>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",fd,[e.createElementVNode("div",null,[t.title?(e.openBlock(),e.createBlock(Oe,{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(Oe,{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",md,[e.renderSlot(c.$slots,"filters")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)}},It={__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=w.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=w.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=g=>typeof g=="string"?g:g?.key||g?.field||"unknown",i=(g,u)=>{const m=s(u);return typeof u=="object"&&u.accessor?u.accessor(g):m&&m.includes(".")?m.split(".").reduce((v,k)=>v?.[k],g):g?.[m]},c=(g,u)=>{const m=i(g,u);return typeof u=="object"&&u.formatter?u.formatter(m,g):m==null?"":m instanceof Date?m.toLocaleDateString():Array.isArray(m)?m.join(", "):m},d=()=>{a.clickableRows&&r("row-click",{item:a.item,index:a.index})},f=g=>typeof g=="object"&&g.align?g.align:"left",h=e.computed(()=>p(o({striped:a.striped,hoverable:a.hoverable&&!a.clickableRows,clickable:a.clickableRows,selected:a.isSelected,variant:a.variant}))),x=g=>{const u=f(g);return p(l({density:a.density,align:u}),g.cellClasses)},C=e.computed(()=>p(l({density:a.density}),"w-12")),y=e.computed(()=>p(l({density:a.density,align:"right"}),"font-medium"));return(g,u)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(h.value),onClick:d},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(C.value)},[e.createVNode(We,{modelValue:t.isSelected,"onUpdate:modelValue":u[0]||(u[0]=m=>g.$emit("toggle-selection",t.item))},null,8,["modelValue"])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,m=>(e.openBlock(),e.createElementBlock("td",{key:s(m),class:e.normalizeClass(x(m))},[e.renderSlot(g.$slots,`cell-${s(m)}`,{item:t.item,value:i(t.item,m),column:m,index:t.index},()=>[e.createTextVNode(e.toDisplayString(c(t.item,m)),1)])],2))),128)),g.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(y.value)},[e.renderSlot(g.$slots,"actions",{item:t.item,index:t.index})],2)):e.createCommentVNode("",!0)],2))}},vd={class:"flex items-center justify-between"},pd={key:0,class:"text-sm text-slate-600"},gd={key:1,class:"text-sm text-slate-600"},hd={key:2,class:"flex items-center gap-4"},bd={key:3,class:"flex items-center gap-4"},yd={class:"flex items-center gap-2"},xd={class:"flex items-center gap-1"},kd=["disabled"],wd=["disabled"],Cd={class:"flex items-center gap-1"},Sd=["onClick"],Bd=["disabled"],Vd=["disabled"],Nd={class:"text-sm text-slate-600 ml-4"},Pt={__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,{emit:n}){const a=t,r=w.cva("border-t border-slate-200",{variants:{variant:{default:"bg-slate-50",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-100 border-t-2 border-slate-300"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),o=w.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"}}),l=w.cva("text-slate-700",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"}},defaultVariants:{size:"md"}}),s=w.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"}}),i=e.computed(()=>(a.currentPage-1)*a.pageSize+1),c=e.computed(()=>Math.min(a.currentPage*a.pageSize,a.total)),d=e.computed(()=>{const y=[],g=a.totalPages,u=a.currentPage,m=a.maxVisiblePages;if(g<=m)for(let v=1;v<=g;v++)y.push(v);else{const v=Math.floor(m/2);let k=Math.max(1,u-v),E=Math.min(g,k+m-1);E-k+1<m&&(k=Math.max(1,E-m+1));for(let z=k;z<=E;z++)y.push(z)}return y}),f=e.computed(()=>p(r({variant:a.variant,padding:a.padding}))),h=e.computed(()=>p(l({size:"md"}))),x=e.computed(()=>p(s({size:"sm"}))),C=(y,g)=>{let u="inactive";return g?u="disabled":y&&(u="active"),p(o({state:u,size:"md"}))};return(y,g)=>t.showPagination||y.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(f.value)},[e.createElementVNode("div",vd,[t.selectable&&t.selectedCount>0?(e.openBlock(),e.createElementBlock("div",pd,e.toDisplayString(t.selectedCount)+" of "+e.toDisplayString(t.total)+" selected ",1)):(e.openBlock(),e.createElementBlock("div",gd," Showing "+e.toDisplayString(i.value)+" to "+e.toDisplayString(c.value)+" of "+e.toDisplayString(t.total)+" entries ",1)),y.$slots.footer?(e.openBlock(),e.createElementBlock("div",hd,[e.renderSlot(y.$slots,"footer")])):e.createCommentVNode("",!0),t.showPagination?(e.openBlock(),e.createElementBlock("div",bd,[e.createElementVNode("div",yd,[e.createVNode(At,{for:"pageSize",class:e.normalizeClass(h.value),inline:!0},{default:e.withCtx(()=>[...g[5]||(g[5]=[e.createTextVNode("Show:",-1)])]),_:1},8,["class"]),e.createVNode(qe,{id:"pageSize","model-value":t.pageSize.toString(),"onUpdate:modelValue":g[0]||(g[0]=u=>y.$emit("update:pageSize",parseInt(u))),class:e.normalizeClass(x.value)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizeOptions,u=>(e.openBlock(),e.createBlock(Tt,{key:u,value:u.toString(),label:u.toString()},null,8,["value","label"]))),128))]),_:1},8,["model-value","class"])]),e.createElementVNode("div",xd,[e.createElementVNode("button",{disabled:t.currentPage===1,onClick:g[1]||(g[1]=u=>y.$emit("update:currentPage",1)),class:e.normalizeClass(C(!1,t.currentPage===1)),title:"First page"},[...g[6]||(g[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,kd),e.createElementVNode("button",{disabled:t.currentPage===1,onClick:g[2]||(g[2]=u=>y.$emit("update:currentPage",t.currentPage-1)),class:e.normalizeClass(C(!1,t.currentPage===1)),title:"Previous page"},[...g[7]||(g[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,wd),e.createElementVNode("div",Cd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,u=>(e.openBlock(),e.createElementBlock("button",{key:u,onClick:m=>y.$emit("update:currentPage",u),class:e.normalizeClass(C(u===t.currentPage,!1))},e.toDisplayString(u),11,Sd))),128))]),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,onClick:g[3]||(g[3]=u=>y.$emit("update:currentPage",t.currentPage+1)),class:e.normalizeClass(C(!1,t.currentPage===t.totalPages)),title:"Next page"},[...g[8]||(g[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,Bd),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,onClick:g[4]||(g[4]=u=>y.$emit("update:currentPage",t.totalPages)),class:e.normalizeClass(C(!1,t.currentPage===t.totalPages)),title:"Last page"},[...g[9]||(g[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,Vd)]),e.createElementVNode("div",Nd," Page "+e.toDisplayString(t.currentPage)+" of "+e.toDisplayString(t.totalPages),1)])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)}},Ed={class:"overflow-x-auto"},zd=["onClick"],$d={class:"flex items-center gap-2"},Ad={key:0,class:"flex flex-col"},Td={key:0},Dd=["colspan"],Id={class:"text-center py-8"},Pd={class:"text-slate-500"},dr={__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"},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"}},emits:["selection-change","sort-change","row-click"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(1),l=e.ref(a.pageSize),s=e.ref(a.sortBy),i=e.ref(a.sortOrder),c=w.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"}}),d=w.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"}}),f=w.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"}}),h=w.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"}}),x=e.computed(()=>{let B=[...a.data];if(s.value){const $=a.columns.find(j=>j.key===s.value);$&&B.sort((j,Q)=>{const le=v(j,$),Ne=v(Q,$);return le<Ne?i.value==="asc"?-1:1:le>Ne?i.value==="asc"?1:-1:0})}return B}),C=e.computed(()=>Math.ceil(x.value.length/l.value)),y=e.computed(()=>{if(!a.showPagination)return x.value;const B=(o.value-1)*l.value,$=B+l.value;return x.value.slice(B,$)}),g=e.computed(()=>{let B=a.columns.length;return a.selectable&&B++,a.$slots?.actions&&B++,B}),u=e.computed(()=>x.value.length>0&&x.value.every(B=>E(B))),m=e.computed(()=>{const B=x.value.filter($=>E($)).length;return B>0&&B<x.value.length}),v=(B,$)=>$.accessor?$.accessor(B):$.key.split(".").reduce((j,Q)=>j?.[Q],B),k=(B,$)=>B[a.rowKey]||$,E=B=>a.selectedItems.some($=>k($)===k(B)),z=B=>{const $=[...a.selectedItems],j=$.findIndex(Q=>k(Q)===k(B));j>-1?$.splice(j,1):$.push(B),r("selection-change",$)},_=()=>{const B=u.value?[]:[...x.value];r("selection-change",B)},q=B=>{B.sortable&&(s.value===B.key?i.value=i.value==="asc"?"desc":"asc":(s.value=B.key,i.value="asc"),r("sort-change",{column:B.key,direction:i.value}))},T=B=>{r("row-click",B)},M=e.computed(()=>p(c({variant:a.variant}))),S=e.computed(()=>p(d({variant:a.variant}))),N=e.computed(()=>p(f({variant:a.variant}))),O=e.computed(()=>p(h({variant:a.variant}))),I=B=>p({compact:"px-4 py-2",normal:"px-6 py-3",comfortable:"px-8 py-4"}[a.density],"text-left text-xs font-medium text-slate-500 uppercase tracking-wider",{"cursor-pointer hover:bg-slate-100":B.sortable}),F=e.computed(()=>p({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[a.density],"whitespace-nowrap text-sm text-slate-900 w-12")),H=e.computed(()=>p({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[a.density],"whitespace-nowrap text-sm font-medium")),de=e.computed(()=>p({compact:"px-4 py-4",normal:"px-6 py-6",comfortable:"px-8 py-8"}[a.density],"text-center")),L=(B,$)=>p({"text-blue-600":s.value===B.key&&i.value===$,"text-slate-300":s.value!==B.key||i.value!==$});return e.watch(()=>a.selectedItems,B=>{},{deep:!0}),e.watch(()=>a.pageSize,B=>{l.value=B}),(B,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(M.value)},[t.title||t.description||B.$slots.header?(e.openBlock(),e.createBlock(Dt,{key:0,title:t.title,description:t.description,variant:t.headerVariant,padding:t.headerPadding},{header:e.withCtx(()=>[e.renderSlot(B.$slots,"header")]),filters:e.withCtx(()=>[e.renderSlot(B.$slots,"filters")]),_:3},8,["title","description","variant","padding"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ed,[e.createElementVNode("table",{class:e.normalizeClass(S.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(F.value)},[e.createVNode(We,{modelValue:u.value,indeterminate:m.value,"onUpdate:modelValue":_},null,8,["modelValue","indeterminate"])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,j=>(e.openBlock(),e.createElementBlock("th",{key:j.key,class:e.normalizeClass(I(j)),onClick:Q=>q(j)},[e.createElementVNode("div",$d,[e.createElementVNode("span",null,e.toDisplayString(j.label),1),j.sortable?(e.openBlock(),e.createElementBlock("div",Ad,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([L(j,"asc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...$[2]||($[2]=[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([L(j,"desc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...$[3]||($[3]=[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,zd))),128)),B.$slots.actions?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass(H.value)}," Actions ",2)):e.createCommentVNode("",!0)])],2),e.createElementVNode("tbody",{class:e.normalizeClass(O.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(j,Q)=>(e.openBlock(),e.createBlock(It,{key:k(j,Q),item:j,columns:t.columns,index:Q,selectable:t.selectable,"is-selected":E(j),striped:t.striped,hoverable:t.hoverable,"clickable-rows":t.clickableRows,density:t.density,onToggleSelection:z,onRowClick:T},e.createSlots({actions:e.withCtx(le=>[e.renderSlot(B.$slots,"actions",e.mergeProps({ref_for:!0},le))]),_:2},[e.renderList(t.columns,le=>({name:`cell-${le.key}`,fn:e.withCtx(Ne=>[e.renderSlot(B.$slots,`cell-${le.key}`,e.mergeProps({ref_for:!0},Ne))])}))]),1032,["item","columns","index","selectable","is-selected","striped","hoverable","clickable-rows","density"]))),128)),y.value.length===0?(e.openBlock(),e.createElementBlock("tr",Td,[e.createElementVNode("td",{colspan:g.value,class:e.normalizeClass(de.value)},[e.renderSlot(B.$slots,"empty",{},()=>[e.createElementVNode("div",Id,[$[4]||($[4]=e.createElementVNode("div",{class:"text-slate-400 mb-2"},[e.createElementVNode("svg",{class:"w-12 h-12 mx-auto",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.375 19.5h17.25m-17.25 0a1.125 1.125 0 0 1-1.125-1.125M3.375 19.5h7.5c.621 0 1.125-.504 1.125-1.125m-9.75 0V5.625m0 0A2.25 2.25 0 0 1 5.625 3.375h4.125c.621 0 1.125.504 1.125 1.125v15.75m-9.75 0h9.75"})])],-1)),e.createElementVNode("p",Pd,e.toDisplayString(t.emptyText),1)])])],10,Dd)])):e.createCommentVNode("",!0)],2)],2)]),t.showPagination||B.$slots.footer?(e.openBlock(),e.createBlock(Pt,{key:1,"current-page":o.value,"total-pages":C.value,total:x.value.length,"page-size":l.value,"show-pagination":t.showPagination,selectable:t.selectable,"selected-count":t.selectedItems.length,variant:t.paginationVariant,padding:t.paginationPadding,"onUpdate:currentPage":$[0]||($[0]=j=>o.value=j),"onUpdate:pageSize":$[1]||($[1]=j=>l.value=j)},{footer:e.withCtx(()=>[e.renderSlot(B.$slots,"footer")]),_:3},8,["current-page","total-pages","total","page-size","show-pagination","selectable","selected-count","variant","padding"])):e.createCommentVNode("",!0)],2))}},ur={__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=w.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 p(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))}},jd={class:"flex-1 min-w-64"},Fd={class:"relative"},Od={key:0,class:"min-w-32"},Ld=["value"],_d={key:1,class:"flex items-center gap-2"},Md={key:2,class:"flex items-center gap-2"},Rd={class:"flex items-center gap-2 ml-auto"},Hd={class:"flex items-center gap-2 flex-wrap"},fr={__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:""},showExport:{type:Boolean,default:!1},showAdd:{type:Boolean,default:!1},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","export","add","clear-filters"],setup(t,{emit:n}){const a=t,r=n,o=w.cva("flex flex-wrap items-center gap-4 border-b border-slate-200",{variants:{variant:{default:"bg-slate-50",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-100 border-slate-300"},padding:{compact:"p-2",normal:"p-4",comfortable:"p-6"}},defaultVariants:{variant:"default",padding:"normal"}}),l=w.cva("border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",{variants:{size:{sm:"text-sm px-2 py-1",md:"text-sm px-3 py-2",lg:"text-base px-4 py-3"}},defaultVariants:{size:"md"}}),s=w.cva("rounded-md flex items-center gap-2 font-medium transition-colors",{variants:{variant:{default:"text-slate-600 hover:text-slate-100 border border-slate-300 hover:bg-blue-200",primary:"text-white bg-blue-600 hover:bg-blue-700 border border-blue-600",success:"text-white bg-green-600 hover:bg-green-700 border border-green-600",ghost:"text-slate-600 hover:text-slate-800 hover:bg-slate-100"},size:{sm:"px-2 py-1 text-xs",md:"px-3 py-2 text-sm",lg:"px-4 py-3 text-base"}},defaultVariants:{variant:"default",size:"md"}}),i=w.cva("border-b",{variants:{variant:{default:"px-4 py-2 bg-blue-50 border-blue-200",minimal:"px-2 py-1 bg-slate-50 border-slate-100",bordered:"px-4 py-3 bg-blue-100 border-blue-300"}},defaultVariants:{variant:"default"}}),c=e.computed(()=>a.searchQuery||a.selectedStatus||a.dateFrom||a.dateTo),d=e.computed(()=>{const S=[];if(a.searchQuery&&a.searchQuery.trim()&&S.push({key:"search",label:"Search",value:a.searchQuery}),a.selectedStatus){const N=a.statusOptions.find(O=>O.value===a.selectedStatus);S.push({key:"status",label:"Status",value:N?.label||a.selectedStatus})}if(a.dateFrom||a.dateTo){let N="";a.dateFrom&&a.dateTo?N=`${a.dateFrom} to ${a.dateTo}`:a.dateFrom?N=`From ${a.dateFrom}`:a.dateTo&&(N=`Until ${a.dateTo}`),N&&S.push({key:"date",label:"Date Range",value:N})}return S}),f=e.computed(()=>p(o({variant:a.variant,padding:a.padding}))),h=e.computed(()=>"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-slate-400"),x=e.computed(()=>p(l({size:"md"}),"w-full pl-10 focus:border-transparent")),C=e.computed(()=>"absolute right-2 top-1/2 transform -translate-y-1/2 text-slate-400 hover:text-slate-300 p-1"),y=e.computed(()=>p(l({size:"md"}),"w-full focus:border-transparent")),g=e.computed(()=>p(l({size:"md"}))),u=e.computed(()=>"text-slate-500"),m=e.computed(()=>p(s({variant:"default",size:"md"}))),v=e.computed(()=>p(s({variant:"primary",size:"md"}))),k=e.computed(()=>p(s({variant:"success",size:"md"}))),E=e.computed(()=>p(i({variant:a.variant}))),z=e.computed(()=>"text-sm text-blue-700 font-medium"),_=e.computed(()=>"flex items-center gap-1 bg-blue-100 text-blue-800 px-2 py-1 rounded-md text-sm"),q=e.computed(()=>"text-blue-200 hover:text-blue-200 p-0.5"),T=()=>{r("update:searchQuery",""),r("update:selectedStatus",""),r("update:dateFrom",""),r("update:dateTo",""),r("clear-filters")},M=S=>{switch(S){case"search":r("update:searchQuery","");break;case"status":r("update:selectedStatus","");break;case"date":r("update:dateFrom",""),r("update:dateTo","");break}};return(S,N)=>{const O=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:e.normalizeClass(f.value)},[e.createElementVNode("div",jd,[e.createElementVNode("div",Fd,[e.createVNode(O,{icon:"magnifying-glass",class:e.normalizeClass(h.value)},null,8,["class"]),e.createVNode(xe,{"model-value":t.searchQuery,onInput:N[0]||(N[0]=I=>S.$emit("update:searchQuery",I.target.value)),placeholder:t.searchPlaceholder,class:e.normalizeClass(x.value)},null,8,["model-value","placeholder","class"]),t.searchQuery?(e.openBlock(),e.createBlock(U,{key:0,onClick:N[1]||(N[1]=I=>S.$emit("update:searchQuery","")),class:e.normalizeClass(C.value)},{default:e.withCtx(()=>[e.createVNode(O,{icon:"xmark",class:"w-4 h-4"})]),_:1},8,["class"])):e.createCommentVNode("",!0)])]),t.statusOptions.length>0?(e.openBlock(),e.createElementBlock("div",Od,[e.createVNode(qe,{"model-value":t.selectedStatus,onChange:N[2]||(N[2]=I=>S.$emit("update:selectedStatus",I.target.value)),class:e.normalizeClass(y.value)},{default:e.withCtx(()=>[N[7]||(N[7]=e.createElementVNode("option",{value:""},"All Status",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.statusOptions,I=>(e.openBlock(),e.createElementBlock("option",{key:I.value,value:I.value},e.toDisplayString(I.label),9,Ld))),128))]),_:1},8,["model-value","class"])])):e.createCommentVNode("",!0),t.showDateFilter?(e.openBlock(),e.createElementBlock("div",_d,[e.createVNode(xe,{type:"date","model-value":t.dateFrom,onInput:N[3]||(N[3]=I=>S.$emit("update:dateFrom",I.target.value)),class:e.normalizeClass(g.value)},null,8,["model-value","class"]),e.createElementVNode("span",{class:e.normalizeClass(u.value)},"to",2),e.createVNode(xe,{type:"date","model-value":t.dateTo,onInput:N[4]||(N[4]=I=>S.$emit("update:dateTo",I.target.value)),class:e.normalizeClass(g.value)},null,8,["model-value","class"])])):e.createCommentVNode("",!0),S.$slots.filters?(e.openBlock(),e.createElementBlock("div",Md,[e.renderSlot(S.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",Rd,[c.value?(e.openBlock(),e.createBlock(U,{key:0,onClick:T,class:e.normalizeClass(m.value)},{default:e.withCtx(()=>[...N[8]||(N[8]=[e.createTextVNode(" Clear Filters ",-1)])]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(U,{key:1,onClick:N[5]||(N[5]=I=>S.$emit("export")),class:e.normalizeClass(v.value)},{default:e.withCtx(()=>[e.createVNode(O,{icon:"download"}),N[9]||(N[9]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showAdd?(e.openBlock(),e.createBlock(U,{key:2,onClick:N[6]||(N[6]=I=>S.$emit("add")),class:e.normalizeClass(k.value)},{default:e.withCtx(()=>[e.createVNode(O,{icon:"plus"}),N[10]||(N[10]=e.createTextVNode(" Add New ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0)])],2),d.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(E.value)},[e.createElementVNode("div",Hd,[e.createElementVNode("span",{class:e.normalizeClass(z.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,I=>(e.openBlock(),e.createElementBlock("div",{key:I.key,class:e.normalizeClass(_.value)},[e.createElementVNode("span",null,e.toDisplayString(I.label)+": "+e.toDisplayString(I.value),1),e.createVNode(U,{onClick:F=>M(I.key),class:e.normalizeClass(q.value)},{default:e.withCtx(()=>[e.createVNode(O,{icon:"xmark",class:"w-3 h-3"})]),_:1},8,["onClick","class"])],2))),128))])],2)):e.createCommentVNode("",!0)])}}},Wd={class:"flex items-center gap-3"},qd={key:0,class:"flex items-center gap-3"},Ud={class:"text-sm text-slate-600"},Yd={class:"flex items-center gap-2"},Gd={class:"flex items-center gap-3"},Kd=["onClick","title"],Xd={key:1,class:"relative"},Jd={class:"p-3"},Qd={class:"space-y-1"},Zd={class:"flex items-center gap-2 cursor-pointer w-full"},eu=["checked","onChange"],tu=["disabled"],au={key:3,class:"flex items-center gap-2"},nu=[{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"}],ru={name:"DataTableToolBar"},mr=Object.assign(ru,{props:{selectedItems:{type:Array,default:()=>[]},totalItems:{type:Number,default:0},bulkActions:{type:Array,default:()=>nu},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"]}],d=w.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"}}),f=w.cva("px-3 py-1.5 text-sm font-medium rounded-md flex items-center gap-1 transition-colors",{variants:{variant:{danger:"text-red-700 bg-red-500 hover:bg-red-400 border border-red-200",primary:"text-blue-700 bg-blue-50 hover:bg-blue-100 border border-blue-200",secondary:"text-slate-700 bg-slate-500 hover:bg-slate-400 border border-slate-200"}},defaultVariants:{variant:"secondary"}}),h=w.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"}}),x=w.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"}}),C=e.computed(()=>p(d({variant:a.variant,padding:a.padding}))),y=e.computed(()=>"text-sm text-slate-600"),g=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"),m=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"),v=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"),E=e.computed(()=>"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 focus:ring-2 focus:ring-offset-1"),z=e.computed(()=>"text-sm text-slate-700 flex-1 select-none"),_=F=>{l.value&&s.value&&!l.value.contains(F.target)&&!s.value.contains(F.target)&&(o.value=!1)},q=()=>{o.value=!o.value},T=F=>p(f({variant:F.variant||"secondary"})),M=F=>{let H="middle";return F==="compact"?H="first":F==="comfortable"&&(H="last"),p(h({active:a.density===F,position:H}))},S=()=>p(x({state:a.isRefreshing?"refreshing":"normal"})),N=()=>p("w-4 h-4",{"animate-spin":a.isRefreshing}),O=F=>a.visibleColumns.includes(F),I=(F,H)=>{r("toggle-column",{column:F,visible:H})};return e.onMounted(()=>{document.addEventListener("click",_)}),e.onUnmounted(()=>{document.removeEventListener("click",_)}),(F,H)=>{const de=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(C.value)},[e.createElementVNode("div",Wd,[i.value>0?(e.openBlock(),e.createElementBlock("div",qd,[e.createElementVNode("span",Ud,e.toDisplayString(i.value)+" selected ",1),e.createElementVNode("div",Yd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bulkActions,L=>(e.openBlock(),e.createBlock(U,{key:L.key,onClick:B=>F.$emit("bulk-action",{action:L.key,items:t.selectedItems}),class:e.normalizeClass(T(L))},{default:e.withCtx(()=>[L.icon?(e.openBlock(),e.createBlock(de,{key:0,icon:L.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(L.label),1)]),_:2},1032,["onClick","class"]))),128))])])):t.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(y.value)},e.toDisplayString(t.totalItems)+" "+e.toDisplayString(t.totalItems===1?"item":"items"),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Gd,[t.showDensityToggle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(g.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(c,L=>e.createElementVNode("button",{key:L.value,onClick:B=>F.$emit("update:density",L.value),class:e.normalizeClass(M(L.value)),title:L.label,type:"button"},[e.createVNode(de,{icon:L.icon,class:"w-4 h-4"},null,8,["icon"])],10,Kd)),64))],2)):e.createCommentVNode("",!0),t.showColumnToggle?(e.openBlock(),e.createElementBlock("div",Xd,[e.createElementVNode("button",{onClick:e.withModifiers(q,["stop"]),class:e.normalizeClass(u.value),type:"button",ref_key:"columnToggleButton",ref:l},[e.createVNode(de,{icon:"columns",class:"w-4 h-4"}),H[2]||(H[2]=e.createElementVNode("span",null,"Columns",-1))],2),e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:s,class:e.normalizeClass(m.value),onClick:H[0]||(H[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Jd,[e.createElementVNode("div",{class:e.normalizeClass(v.value)}," Show Columns ",2),e.createElementVNode("div",Qd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toggleableColumns,L=>(e.openBlock(),e.createElementBlock("div",{key:L.key,class:e.normalizeClass(k.value)},[e.createElementVNode("label",Zd,[e.createElementVNode("input",{type:"checkbox",checked:O(L.key),onChange:B=>I(L.key,B.target.checked),class:e.normalizeClass(E.value)},null,42,eu),e.createElementVNode("span",{class:e.normalizeClass(z.value)},e.toDisplayString(L.label),3)])],2))),128))])])],2),[[e.vShow,o.value]])])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:H[1]||(H[1]=L=>F.$emit("refresh")),disabled:t.isRefreshing,class:e.normalizeClass(S()),type:"button"},[e.createVNode(de,{icon:"sync",class:e.normalizeClass(N())},null,8,["class"]),H[3]||(H[3]=e.createElementVNode("span",null,"Refresh",-1))],10,tu)):e.createCommentVNode("",!0),F.$slots.actions?(e.openBlock(),e.createElementBlock("div",au,[e.renderSlot(F.$slots,"actions")])):e.createCommentVNode("",!0)])],2)}}}),ou={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"},lu={class:"grid grid-cols-1 md:grid-cols-4 gap-8"},su={class:"col-span-1 md:col-span-2"},iu={class:"space-y-2"},cu={class:"flex space-x-4"},du={class:"flex flex-col md:flex-row justify-between items-center"},uu={class:"flex space-x-6 mt-4 md:mt-0"},vr={__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(p)("bg-gray-50 border-t border-gray-200",t.className))},[e.createElementVNode("div",ou,[e.createElementVNode("div",lu,[e.createElementVNode("div",su,[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",iu,[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",cu,[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",du,[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",uu,[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)}}},fu={class:"flex items-center justify-between h-16 px-6"},mu={class:"flex items-center"},vu={key:0,class:"flex items-center space-x-3 mr-6"},pu={class:"flex items-center space-x-2 text-sm"},gu={class:"text-gray-500"},hu={class:"text-gray-900 font-medium"},bu={class:"flex items-center space-x-4"},yu={class:"relative"},xu={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"},ku={key:0,class:"absolute right-6 top-16 mt-2 w-80 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},wu={class:"max-h-96 overflow-y-auto"},Cu={class:"flex items-start space-x-3"},Su={class:"flex-1"},Bu={class:"text-sm text-gray-900"},Vu={class:"text-xs text-gray-500 mt-1"},Nu={class:"relative"},Eu={class:"w-8 h-8 bg-gray-300 rounded-full flex items-center justify-center"},zu={class:"text-gray-600 text-sm font-medium"},$u={class:"hidden md:block text-left"},Au={class:"text-sm font-medium text-gray-900"},Tu={class:"text-xs text-gray-500"},Du={key:0,class:"absolute right-0 mt-2 w-48 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},Iu={class:"p-4 border-b border-gray-200"},Pu={class:"text-sm font-medium text-gray-900"},ju={class:"text-xs text-gray-500"},Fu={class:"py-2"},Ou=["onClick"],pr={__name:"Header",props:{sidebarWidth:{type:Number,default:256},sidebarCollapsed:{type:Boolean,default:!1},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}},emits:["search","profile-action","logout","navigate"],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.computed(()=>(a.user?.name||"Guest").split(" ").map(m=>m[0]||"").join("").toUpperCase()),d=()=>{l.value=!l.value,s.value=!1},f=()=>{s.value=!s.value,l.value=!1},h=u=>{r("navigate",u),s.value=!1},x=u=>u.route?!!(a.currentRoute===u.route||a.currentRoute.startsWith(u.route+"/")):!1,C=u=>{r("profile-action",u),s.value=!1},y=()=>{r("logout"),s.value=!1},g=u=>{!u.target.closest(".absolute")&&!u.target.closest("button")&&(l.value=!1,s.value=!1)};return e.onMounted(()=>document.addEventListener("click",g)),e.onUnmounted(()=>document.removeEventListener("click",g)),e.watch(o,u=>r("search",u)),(u,m)=>{const v=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(p)("fixed top-0 right-0 z-30 bg-white border-b border-gray-200 transition-all duration-300 ease-in-out",`left-${t.sidebarCollapsed?"16":"64"}`)),style:e.normalizeStyle({left:`${t.sidebarWidth}px`})},[e.createElementVNode("div",fu,[e.createElementVNode("div",mu,[t.sidebarCollapsed?(e.openBlock(),e.createElementBlock("div",vu,[...m[1]||(m[1]=[e.createElementVNode("div",{class:"w-8 h-8 bg-blue-600 rounded-lg flex items-center justify-center"},[e.createElementVNode("span",{class:"text-white font-bold text-sm"},"UI")],-1),e.createElementVNode("h1",{class:"text-xl font-semibold text-gray-900"},"Dashboard",-1)])])):e.createCommentVNode("",!0),e.createElementVNode("nav",pu,[e.createElementVNode("span",gu,e.toDisplayString(t.currentSection),1),m[2]||(m[2]=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:"M9 5l7 7-7 7"})],-1)),e.createElementVNode("span",hu,e.toDisplayString(t.currentPage),1)])]),e.createElementVNode("div",bu,[e.createElementVNode("div",yu,[m[3]||(m[3]=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",{type:"text",placeholder:"Search...",class:"pl-10 pr-4 py-2 w-64 text-sm border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none","onUpdate:modelValue":m[0]||(m[0]=k=>o.value=k)},null,512),[[e.vModelText,o.value]])]),e.createElementVNode("button",{onClick:d,class:"relative p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors"},[m[4]||(m[4]=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",xu,e.toDisplayString(i.value),1)):e.createCommentVNode("",!0)]),l.value?(e.openBlock(),e.createElementBlock("div",ku,[m[6]||(m[6]=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",wu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.notifications,k=>(e.openBlock(),e.createElementBlock("div",{key:k.id,class:"p-4 border-b border-gray-100 hover:bg-gray-50 cursor-pointer"},[e.createElementVNode("div",Cu,[m[5]||(m[5]=e.createElementVNode("div",{class:"flex-shrink-0 w-2 h-2 mt-2 bg-blue-500 rounded-full"},null,-1)),e.createElementVNode("div",Su,[e.createElementVNode("p",Bu,e.toDisplayString(k.title),1),e.createElementVNode("p",Vu,e.toDisplayString(k.time),1)])])]))),128))]),m[7]||(m[7]=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),e.createElementVNode("div",Nu,[e.createElementVNode("button",{onClick:f,class:"flex items-center space-x-3 p-2 rounded-lg hover:bg-gray-50 transition-colors"},[e.createElementVNode("div",Eu,[e.createElementVNode("span",zu,e.toDisplayString(c.value),1)]),e.createElementVNode("div",$u,[e.createElementVNode("p",Au,e.toDisplayString(t.user.name),1),e.createElementVNode("p",Tu,e.toDisplayString(t.user.role),1)]),m[8]||(m[8]=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))]),s.value?(e.openBlock(),e.createElementBlock("div",Du,[e.createElementVNode("div",Iu,[e.createElementVNode("p",Pu,e.toDisplayString(t.user.name),1),e.createElementVNode("p",ju,e.toDisplayString(t.user.email),1)]),e.createElementVNode("div",Fu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.profileMenuItems,k=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k.name},[k.route?(e.openBlock(),e.createBlock(v,{key:0,to:k.route,class:e.normalizeClass(e.unref(p)("flex items-center px-4 py-2 text-sm transition-colors",x(k)?"bg-blue-50 text-blue-700":"text-gray-700 hover:bg-gray-50")),onClick:E=>h(k)},{default:e.withCtx(()=>[e.createVNode(D,{icon:k.icon,class:"w-4 h-4 mr-3 text-gray-400"},null,8,["icon"]),e.createTextVNode(" "+e.toDisplayString(k.label),1)]),_:2},1032,["to","class","onClick"])):(e.openBlock(),e.createElementBlock("button",{key:1,onClick:E=>C(k),class:"flex items-center w-full px-4 py-2 text-sm text-gray-700 hover:bg-gray-50 transition-colors"},[e.createVNode(D,{icon:k.icon,class:"w-4 h-4 mr-3 text-gray-400"},null,8,["icon"]),e.createTextVNode(" "+e.toDisplayString(k.label),1)],8,Ou))],64))),128))]),e.createElementVNode("div",{class:"border-t border-gray-200 py-2"},[e.createElementVNode("button",{onClick:y,class:"flex items-center w-full px-4 py-2 text-sm text-red-600 hover:bg-red-50"},[...m[9]||(m[9]=[e.createElementVNode("svg",{class:"w-4 h-4 mr-3",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-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})],-1),e.createTextVNode(" Sign out ",-1)])])])])):e.createCommentVNode("",!0)])])])],6)}}},Lu={key:0,class:"flex items-center justify-start p-4 border-b border-gray-200"},_u={class:"text-xl font-semibold text-gray-900"},Mu={class:"p-4 space-y-2"},Ru={key:0,class:"mt-6 mb-2"},Hu={class:"px-3 text-lg font-semibold text-gray-600 uppercase tracking-wider"},Wu={class:"truncate text-sm"},qu={key:0,class:"ml-auto inline-flex items-center justify-center px-2 py-1 text-xs font-medium rounded-full bg-red-100 text-red-800"},gr={__name:"Sidebar",props:{sidebarWidth:{type:Number,default:256},header:{type:Object,default:null},navigationItems:{type:Array,required:!0},currentRoute:{type:String,default:""}},emits:["navigate"],setup(t,{emit:n}){const a=t,r=n,o=s=>{r("navigate",s)},l=s=>s.route?!!(a.currentRoute===s.route||a.currentRoute.startsWith(s.route+"/")):!1;return(s,i)=>{const c=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(e.unref(p)("fixed left-0 top-0 z-40 h-screen bg-white border-r border-gray-200 transition-all duration-300 ease-in-out")),style:e.normalizeStyle({width:t.sidebarWidth+"px"})},[t.header?(e.openBlock(),e.createElementBlock("div",Lu,[e.createElementVNode("h2",_u,e.toDisplayString(t.header.title),1)])):e.createCommentVNode("",!0),e.createElementVNode("nav",Mu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.navigationItems,d=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d.name},[d.type==="section"?(e.openBlock(),e.createElementBlock("div",Ru,[e.createElementVNode("h3",Hu,e.toDisplayString(d.label),1)])):d.type==="link"?(e.openBlock(),e.createBlock(c,{key:1,to:d.route,onClick:f=>o(d),class:e.normalizeClass(e.unref(p)("flex items-center px-3 py-2 rounded-lg text-2xl font-medium transition-colors",l(d)?"bg-blue-50 text-blue-700 border-r-2 border-blue-700":"text-gray-700 hover:bg-gray-50 hover:text-gray-600"))},{default:e.withCtx(()=>[e.createVNode(D,{icon:d.icon,size:"md",class:"mr-3 text-5xl flex-shrink-0"},null,8,["icon"]),e.createElementVNode("span",Wu,e.toDisplayString(d.label),1),d.badge?(e.openBlock(),e.createElementBlock("span",qu,e.toDisplayString(d.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","onClick","class"])):e.createCommentVNode("",!0)],64))),128))])],6)}}},hr={__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))}},Uu={key:0,class:"absolute left-3 top-0 w-0.5 h-full bg-slate-200"},Yu={class:"z-10 flex items-center justify-center w-6 h-6 rounded-full border-2 border-blue-500 bg-white text-blue-500"},Gu={class:"text-slate-900 font-medium"},Ku={key:0,class:"text-slate-500 text-sm"},Xu={class:"mt-2 text-slate-600 text-sm"},br={__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",Uu)):e.createCommentVNode("",!0),e.createElementVNode("div",Yu,[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",Gu,[e.renderSlot(n.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),t.subtitle?(e.openBlock(),e.createElementBlock("p",Ku,[e.renderSlot(n.$slots,"subtitle",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Xu,[e.renderSlot(n.$slots,"default")])],2)],2))}},yr=(t,n)=>{const a=t.__vccOpts||t;for(const[r,o]of n)a[r]=o;return a},Ju={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(t){return{currentYear:e.computed(()=>new Date().getFullYear())}}},Qu={class:"container mx-auto px-4 relative z-10"},Zu={class:"grid lg:grid-cols-10 gap-8 items-center min-h-screen"},ef={class:"lg:col-span-6 text-white text-center lg:text-left space-y-6"},tf={class:"mb-6"},af={class:"text-4xl lg:text-6xl font-bold mb-2"},nf={class:"text-white"},rf={class:"flex items-center justify-center lg:justify-start mb-6"},of={class:"text-3xl lg:text-4xl font-bold text-white"},lf={class:"lg:col-span-4"},sf={class:"bg-white rounded-lg shadow-xl p-6 lg:p-8 max-w-md mx-auto"},cf={key:0,class:"mb-6"},df={class:"text-center"},uf={class:"text-2xl font-bold text-gray-900"},ff={key:0,class:"text-gray-600 mt-2"},mf={class:"space-y-6"},vf={key:1,class:"mt-6"},pf={key:0,class:"mt-6 text-center"},gf={class:"absolute bottom-4 right-4 text-right"},hf={class:"flex items-end justify-end mb-2"},bf={class:"text-right mr-3"},yf={class:"text-red-500 font-bold text-xs"},xf={class:"text-white text-xs"},kf={class:"text-white/70 text-xs"},wf={class:"w-8 h-8 bg-red-500 rounded flex items-center justify-center text-white font-bold text-xs"},Cf={class:"text-white/70 text-xs"},Sf={class:"absolute bottom-4 left-4 flex gap-2"},Bf=["href"];function Vf(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",Qu,[e.createElementVNode("div",Zu,[e.createElementVNode("div",ef,[e.createElementVNode("div",tf,[e.createElementVNode("div",af,[e.createElementVNode("span",{style:e.normalizeStyle({color:a.primaryColor})},e.toDisplayString(a.primaryLogoPrefix),5),e.createElementVNode("span",nf,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",rf,[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",of,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",lf,[e.createElementVNode("div",sf,[t.$slots["card-header"]||a.title?(e.openBlock(),e.createElementBlock("div",cf,[e.renderSlot(t.$slots,"card-header",{},()=>[e.createElementVNode("div",df,[e.createElementVNode("h1",uf,e.toDisplayString(a.title),1),a.subtitle?(e.openBlock(),e.createElementBlock("p",ff,e.toDisplayString(a.subtitle),1)):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",mf,[e.createVNode(s)]),t.$slots["card-footer"]?(e.openBlock(),e.createElementBlock("div",vf,[e.renderSlot(t.$slots,"card-footer")])):e.createCommentVNode("",!0)]),t.$slots.links?(e.openBlock(),e.createElementBlock("div",pf,[e.renderSlot(t.$slots,"links")])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",gf,[e.createElementVNode("div",hf,[e.createElementVNode("div",bf,[e.createElementVNode("div",yf,e.toDisplayString(a.companyName),1),e.createElementVNode("div",xf,e.toDisplayString(a.companyType),1),e.createElementVNode("div",kf,e.toDisplayString(a.companyTagline),1)]),e.createElementVNode("div",wf,e.toDisplayString(a.companyInitials),1)]),e.createElementVNode("div",Cf,[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",Sf,[(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,Bf))),128))])],4)}const xr=yr(Ju,[["render",Vf]]),Nf={class:"min-h-screen bg-gray-50"},Ef={class:"flex-1"},zf={key:0,class:"bg-white border-b border-gray-200"},$f={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},Af={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},kr={__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"),d=e.resolveComponent("Footer");return e.openBlock(),e.createElementBlock("div",Nf,[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",Ef,[t.showBreadcrumb?(e.openBlock(),e.createElementBlock("div",zf,[e.createElementVNode("div",$f,[e.renderSlot(n.$slots,"breadcrumb",{},()=>[e.createVNode(i,{items:t.breadcrumbItems},null,8,["items"])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Af,[e.renderSlot(n.$slots,"default")])]),e.createVNode(d,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})])}}},Tf={template:`
612
612
  <svg viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
613
613
  <circle cx="100" cy="100" r="80" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="2"/>
614
614
  <text x="100" y="110" text-anchor="middle" font-size="48" font-weight="bold" fill="#64748b">404</text>
615
615
  </svg>
616
- `},If={template:`
616
+ `},Df={template:`
617
617
  <svg viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
618
618
  <circle cx="100" cy="100" r="80" fill="#fef2f2" stroke="#fecaca" stroke-width="2"/>
619
619
  <text x="100" y="110" text-anchor="middle" font-size="48" font-weight="bold" fill="#dc2626">500</text>
@@ -622,4 +622,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
622
622
  <svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
623
623
  <path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z" />
624
624
  </svg>
625
- `},Pf={name:"ErrorPage",components:{Button:U},props:{errorType:{type:String,default:"404",validator:t=>["404","500","403","generic"].includes(t)},errorTitle:{type:String,default:null},errorMessage:{type:String,default:null},errorCode:{type:[String,Number],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},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"],setup(t,{emit:n}){const a=e.computed(()=>{const z={404:{title:"Page Not Found",message:"Sorry, we couldn't find the page you're looking for.",icon:Df},500:{title:"Server Error",message:"Something went wrong on our end. Please try again later.",icon:If},403:{title:"Access Denied",message:"You don't have permission to access this resource.",icon:va},generic:{title:"Something went wrong",message:"An unexpected error occurred. Please try again.",icon:va}};return z[t.errorType]||z.generic}),r=e.computed(()=>a.value.icon),o=e.computed(()=>t.errorTitle||a.value.title),l=e.computed(()=>t.errorMessage||a.value.message),s=()=>{window.history.length>1?window.history.back():window.location.href=t.homeUrl,n("back")},i=()=>{window.location.reload(),n("retry")},c=e.computed(()=>["min-h-screen relative flex items-center justify-center","px-4 sm:px-6 lg:px-8"]),d=e.computed(()=>["absolute inset-0 -z-10"]),f=e.computed(()=>["w-full max-w-lg mx-auto text-center"]),h=e.computed(()=>["mb-8"]),x=e.computed(()=>["space-y-6"]),C=e.computed(()=>["flex justify-center mb-6"]),y=e.computed(()=>["w-32 h-32 text-slate-400"]),g=e.computed(()=>["space-y-3"]),u=e.computed(()=>["text-3xl font-bold text-slate-900"]),m=e.computed(()=>["text-lg text-slate-600"]),v=e.computed(()=>["text-sm text-slate-500 font-mono"]),k=e.computed(()=>["mt-8"]),E=e.computed(()=>["mt-6"]);return{errorIcon:r,errorTitle:o,errorMessage:l,goBack:s,retry:i,layoutClasses:c,backgroundClasses:d,contentClasses:f,headerClasses:h,errorContentClasses:x,illustrationClasses:C,iconClasses:y,detailsClasses:g,titleClasses:u,messageClasses:m,codeClasses:v,actionsClasses:k,helpClasses:E}}},jf={class:"flex justify-center"},Ff={class:"flex items-center gap-3"},Of={class:"text-2xl font-bold text-slate-900"},Lf={class:"flex flex-col sm:flex-row gap-3 justify-center"},_f={class:"text-sm text-slate-600"},Mf=["href"];function Rf(t,n,a,r,o,l){const s=e.resolveComponent("Button");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[0]||(n[0]=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",jf,[e.renderSlot(t.$slots,"logo",{},()=>[e.createElementVNode("div",Ff,[n[1]||(n[1]=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",Of,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.openBlock(),e.createBlock(e.resolveDynamicComponent(r.errorIcon),{class:e.normalizeClass(r.iconClasses)},null,8,["class"]))])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.detailsClasses)},[e.createElementVNode("h1",{class:e.normalizeClass(r.titleClasses)},[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(r.errorTitle),1)])],2),e.createElementVNode("p",{class:e.normalizeClass(r.messageClasses)},[e.renderSlot(t.$slots,"message",{},()=>[e.createTextVNode(e.toDisplayString(r.errorMessage),1)])],2),a.errorCode?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.codeClasses)}," Error Code: "+e.toDisplayString(a.errorCode),3)):e.createCommentVNode("",!0)],2),t.$slots.actions||a.showDefaultActions?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(r.actionsClasses)},[e.renderSlot(t.$slots,"actions",{},()=>[e.createElementVNode("div",Lf,[a.showHomeButton?(e.openBlock(),e.createBlock(s,{key:0,href:a.homeUrl,variant:"primary",size:"lg"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.homeButtonText),1)]),_:1},8,["href"])):e.createCommentVNode("",!0),a.showBackButton?(e.openBlock(),e.createBlock(s,{key:1,variant:"outline",size:"lg",onClick:r.goBack},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.backButtonText),1)]),_:1},8,["onClick"])):e.createCommentVNode("",!0),a.showRetryButton?(e.openBlock(),e.createBlock(s,{key:2,variant:"ghost",size:"lg",onClick:r.retry},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.retryButtonText),1)]),_:1},8,["onClick"])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),t.$slots.help||a.helpText?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(r.helpClasses)},[e.renderSlot(t.$slots,"help",{},()=>[e.createElementVNode("p",_f,[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"}," Contact Support ",8,Mf)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)],2)],2)],2)}const wr=yr(Pf,[["render",Rf]]),pa={Avatar:bn,Badge:yn,Button:U,Checkbox:We,Divider:xn,Icon:D,Image:kn,Input:xe,Label:At,Link:wn,Logo:Cn,Option:Tt,ProgressBar:Sn,Radio:Bn,Select:qe,Spinner:$t,Switch:Vn,Text:Nn,Textarea:En,Tooltip:zn,Typography:Oe,Alert:$n,Breadcrumb:An,ButtonGroup:Tn,Card:Dn,CardHeader:In,CardBody:Pn,CardFooter:jn,CardContent:Fn,CardTitle:On,DatePicker:Ln,Dropdown:_n,DropdownItem:Mn,FileUpload:Rn,FormField:Hn,InputGroup:Wn,ListItem:qn,MenuItem:Un,Modal:Yn,ModalHeader:Gn,ModalBody:Kn,ModalFooter:Xn,Notification:Jn,Toast:er,Search:tr,Slider:ar,Stepper:nr,StepperItem:rr,Tab:or,TabPanel:lr,Accordion:sr,AccordionItem:ir,Calendar:cr,DataTable:dr,DataTableHeader:Dt,DataTableRow:It,DataTableCell:ur,DataTablePagination:Pt,DataTableFilters:fr,DataTableToolBar:mr,Footer:vr,Header:pr,Sidebar:gr,Timeline:hr,TimelineItem:br,AuthLayout:xr,DefaultLayout:kr,ErrorLayout:wr},Hf={install(t,n={}){const{prefix:a=""}=n;Object.keys(pa).forEach(r=>{const o=a?`${a}${r}`:r;t.component(o,pa[r])}),t.config.globalProperties.$toast=gt,t.provide("toast",gt)}};exports.Accordion=sr;exports.AccordionItem=ir;exports.Alert=$n;exports.AuthLayout=xr;exports.Avatar=bn;exports.Badge=yn;exports.Breadcrumb=An;exports.Button=U;exports.ButtonGroup=Tn;exports.Calendar=cr;exports.Card=Dn;exports.CardBody=Pn;exports.CardContent=Fn;exports.CardFooter=jn;exports.CardHeader=In;exports.CardTitle=On;exports.Checkbox=We;exports.DataTable=dr;exports.DataTableCell=ur;exports.DataTableFilters=fr;exports.DataTableHeader=Dt;exports.DataTablePagination=Pt;exports.DataTableRow=It;exports.DataTableToolBar=mr;exports.DatePicker=Ln;exports.DefaultLayout=kr;exports.Divider=xn;exports.Dropdown=_n;exports.DropdownItem=Mn;exports.ErrorLayout=wr;exports.FileUpload=Rn;exports.Footer=vr;exports.FormField=Hn;exports.Header=pr;exports.Icon=D;exports.Image=kn;exports.Input=xe;exports.InputGroup=Wn;exports.Label=At;exports.Link=wn;exports.ListItem=qn;exports.Logo=Cn;exports.MenuItem=Un;exports.Modal=Yn;exports.ModalBody=Kn;exports.ModalFooter=Xn;exports.ModalHeader=Gn;exports.Notification=Jn;exports.Option=Tt;exports.ProgressBar=Sn;exports.Radio=Bn;exports.Search=tr;exports.Select=qe;exports.Sidebar=gr;exports.Slider=ar;exports.Spinner=$t;exports.Stepper=nr;exports.StepperItem=rr;exports.Switch=Vn;exports.Tab=or;exports.TabPanel=lr;exports.Text=Nn;exports.Textarea=En;exports.Timeline=hr;exports.TimelineItem=br;exports.Toast=er;exports.Tooltip=zn;exports.Typography=Oe;exports.cn=p;exports.default=Hf;exports.toast=gt;exports.useToaster=Zn;
625
+ `},If={name:"ErrorPage",components:{Button:U},props:{errorType:{type:String,default:"404",validator:t=>["404","500","403","generic"].includes(t)},errorTitle:{type:String,default:null},errorMessage:{type:String,default:null},errorCode:{type:[String,Number],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},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"],setup(t,{emit:n}){const a=e.computed(()=>{const z={404:{title:"Page Not Found",message:"Sorry, we couldn't find the page you're looking for.",icon:Tf},500:{title:"Server Error",message:"Something went wrong on our end. Please try again later.",icon:Df},403:{title:"Access Denied",message:"You don't have permission to access this resource.",icon:va},generic:{title:"Something went wrong",message:"An unexpected error occurred. Please try again.",icon:va}};return z[t.errorType]||z.generic}),r=e.computed(()=>a.value.icon),o=e.computed(()=>t.errorTitle||a.value.title),l=e.computed(()=>t.errorMessage||a.value.message),s=()=>{window.history.length>1?window.history.back():window.location.href=t.homeUrl,n("back")},i=()=>{window.location.reload(),n("retry")},c=e.computed(()=>["min-h-screen relative flex items-center justify-center","px-4 sm:px-6 lg:px-8"]),d=e.computed(()=>["absolute inset-0 -z-10"]),f=e.computed(()=>["w-full max-w-lg mx-auto text-center"]),h=e.computed(()=>["mb-8"]),x=e.computed(()=>["space-y-6"]),C=e.computed(()=>["flex justify-center mb-6"]),y=e.computed(()=>["w-32 h-32 text-slate-400"]),g=e.computed(()=>["space-y-3"]),u=e.computed(()=>["text-3xl font-bold text-slate-900"]),m=e.computed(()=>["text-lg text-slate-600"]),v=e.computed(()=>["text-sm text-slate-500 font-mono"]),k=e.computed(()=>["mt-8"]),E=e.computed(()=>["mt-6"]);return{errorIcon:r,errorTitle:o,errorMessage:l,goBack:s,retry:i,layoutClasses:c,backgroundClasses:d,contentClasses:f,headerClasses:h,errorContentClasses:x,illustrationClasses:C,iconClasses:y,detailsClasses:g,titleClasses:u,messageClasses:m,codeClasses:v,actionsClasses:k,helpClasses:E}}},Pf={class:"flex justify-center"},jf={class:"flex items-center gap-3"},Ff={class:"text-2xl font-bold text-slate-900"},Of={class:"flex flex-col sm:flex-row gap-3 justify-center"},Lf={class:"text-sm text-slate-600"},_f=["href"];function Mf(t,n,a,r,o,l){const s=e.resolveComponent("Button");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[0]||(n[0]=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",Pf,[e.renderSlot(t.$slots,"logo",{},()=>[e.createElementVNode("div",jf,[n[1]||(n[1]=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",Ff,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.openBlock(),e.createBlock(e.resolveDynamicComponent(r.errorIcon),{class:e.normalizeClass(r.iconClasses)},null,8,["class"]))])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.detailsClasses)},[e.createElementVNode("h1",{class:e.normalizeClass(r.titleClasses)},[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(r.errorTitle),1)])],2),e.createElementVNode("p",{class:e.normalizeClass(r.messageClasses)},[e.renderSlot(t.$slots,"message",{},()=>[e.createTextVNode(e.toDisplayString(r.errorMessage),1)])],2),a.errorCode?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.codeClasses)}," Error Code: "+e.toDisplayString(a.errorCode),3)):e.createCommentVNode("",!0)],2),t.$slots.actions||a.showDefaultActions?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(r.actionsClasses)},[e.renderSlot(t.$slots,"actions",{},()=>[e.createElementVNode("div",Of,[a.showHomeButton?(e.openBlock(),e.createBlock(s,{key:0,href:a.homeUrl,variant:"primary",size:"lg"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.homeButtonText),1)]),_:1},8,["href"])):e.createCommentVNode("",!0),a.showBackButton?(e.openBlock(),e.createBlock(s,{key:1,variant:"outline",size:"lg",onClick:r.goBack},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.backButtonText),1)]),_:1},8,["onClick"])):e.createCommentVNode("",!0),a.showRetryButton?(e.openBlock(),e.createBlock(s,{key:2,variant:"ghost",size:"lg",onClick:r.retry},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.retryButtonText),1)]),_:1},8,["onClick"])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),t.$slots.help||a.helpText?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(r.helpClasses)},[e.renderSlot(t.$slots,"help",{},()=>[e.createElementVNode("p",Lf,[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"}," Contact Support ",8,_f)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)],2)],2)],2)}const wr=yr(If,[["render",Mf]]),pa={Avatar:bn,Badge:yn,Button:U,Checkbox:We,Divider:xn,Icon:D,Image:kn,Input:xe,Label:At,Link:wn,Logo:Cn,Option:Tt,ProgressBar:Sn,Radio:Bn,Select:qe,Spinner:$t,Switch:Vn,Text:Nn,Textarea:En,Tooltip:zn,Typography:Oe,Alert:$n,Breadcrumb:An,ButtonGroup:Tn,Card:Dn,CardHeader:In,CardBody:Pn,CardFooter:jn,CardContent:Fn,CardTitle:On,DatePicker:Ln,Dropdown:_n,DropdownItem:Mn,FileUpload:Rn,FormField:Hn,InputGroup:Wn,ListItem:qn,MenuItem:Un,Modal:Yn,ModalHeader:Gn,ModalBody:Kn,ModalFooter:Xn,Notification:Jn,Toast:er,Search:tr,Slider:ar,Stepper:nr,StepperItem:rr,Tab:or,TabPanel:lr,Accordion:sr,AccordionItem:ir,Calendar:cr,DataTable:dr,DataTableHeader:Dt,DataTableRow:It,DataTableCell:ur,DataTablePagination:Pt,DataTableFilters:fr,DataTableToolBar:mr,Footer:vr,Header:pr,Sidebar:gr,Timeline:hr,TimelineItem:br,AuthLayout:xr,DefaultLayout:kr,ErrorLayout:wr},Rf={install(t,n={}){const{prefix:a=""}=n;Object.keys(pa).forEach(r=>{const o=a?`${a}${r}`:r;t.component(o,pa[r])}),t.config.globalProperties.$toast=gt,t.provide("toast",gt)}};exports.Accordion=sr;exports.AccordionItem=ir;exports.Alert=$n;exports.AuthLayout=xr;exports.Avatar=bn;exports.Badge=yn;exports.Breadcrumb=An;exports.Button=U;exports.ButtonGroup=Tn;exports.Calendar=cr;exports.Card=Dn;exports.CardBody=Pn;exports.CardContent=Fn;exports.CardFooter=jn;exports.CardHeader=In;exports.CardTitle=On;exports.Checkbox=We;exports.DataTable=dr;exports.DataTableCell=ur;exports.DataTableFilters=fr;exports.DataTableHeader=Dt;exports.DataTablePagination=Pt;exports.DataTableRow=It;exports.DataTableToolBar=mr;exports.DatePicker=Ln;exports.DefaultLayout=kr;exports.Divider=xn;exports.Dropdown=_n;exports.DropdownItem=Mn;exports.ErrorLayout=wr;exports.FileUpload=Rn;exports.Footer=vr;exports.FormField=Hn;exports.Header=pr;exports.Icon=D;exports.Image=kn;exports.Input=xe;exports.InputGroup=Wn;exports.Label=At;exports.Link=wn;exports.ListItem=qn;exports.Logo=Cn;exports.MenuItem=Un;exports.Modal=Yn;exports.ModalBody=Kn;exports.ModalFooter=Xn;exports.ModalHeader=Gn;exports.Notification=Jn;exports.Option=Tt;exports.ProgressBar=Sn;exports.Radio=Bn;exports.Search=tr;exports.Select=qe;exports.Sidebar=gr;exports.Slider=ar;exports.Spinner=$t;exports.Stepper=nr;exports.StepperItem=rr;exports.Switch=Vn;exports.Tab=or;exports.TabPanel=lr;exports.Text=Nn;exports.Textarea=En;exports.Timeline=hr;exports.TimelineItem=br;exports.Toast=er;exports.Tooltip=zn;exports.Typography=Oe;exports.cn=p;exports.default=Rf;exports.toast=gt;exports.useToaster=Zn;