@stlhorizon/vue-ui 1.2.5 → 1.2.6

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
@@ -30,7 +30,7 @@
30
30
  <svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor">
31
31
  <path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14" />
32
32
  </svg>
33
- `},n=t,r=l,s=e.ref(null),i=e.computed(()=>n.id||e.useId()),u=e.computed(()=>Array.isArray(n.modelValue)?n.modelValue.includes(n.value):n.modelValue),v=b=>{const g=b.target.checked;if(Array.isArray(n.modelValue)){const C=[...n.modelValue];if(g)C.push(n.value);else{const V=C.indexOf(n.value);V>-1&&C.splice(V,1)}r("update:modelValue",C)}else r("update:modelValue",g);r("change",g)},p=()=>{!n.disabled&&s.value&&s.value.click()},x=e.computed(()=>{if(n.error)return`${i.value}-error`}),y=e.computed(()=>({sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6"})[n.size]);e.computed(()=>({default:"border-slate-300 text-blue-600 focus:ring-blue-500",error:"border-red-300 text-red-600 focus:ring-red-500"})[n.variant]);const N=e.computed(()=>["absolute inset-0 w-full h-full opacity-0 cursor-pointer",{"cursor-not-allowed":n.disabled}]),h=e.computed(()=>["flex items-center justify-center rounded border-2 transition-all duration-200","cursor-pointer select-none",y.value,{"bg-blue-600 border-blue-600 text-white":u.value&&!n.disabled&&n.variant==="default","bg-red-600 border-red-600 text-white":u.value&&!n.disabled&&n.variant==="error","bg-slate-200 border-slate-300 text-slate-400":u.value&&n.disabled,"bg-white border-slate-300 hover:border-slate-400":!u.value&&!n.disabled&&n.variant==="default","bg-white border-red-300 hover:border-red-400":!u.value&&!n.disabled&&n.variant==="error","bg-slate-50 border-slate-200":!u.value&&n.disabled,"cursor-not-allowed":n.disabled,"focus-within:ring-2 focus-within:ring-offset-2":!n.disabled,"focus-within:ring-blue-500":!n.disabled&&n.variant==="default","focus-within:ring-red-500":!n.disabled&&n.variant==="error"}]),f=e.computed(()=>["text-sm font-medium cursor-pointer select-none",{"text-slate-900":!n.disabled,"text-slate-500":n.disabled}]),d=e.computed(()=>["text-xs text-slate-500 mt-1"]);return e.watch(()=>n.indeterminate,b=>{s.value&&(s.value.indeterminate=b)},{immediate:!0}),(b,g)=>(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("div",xt,[e.createElementVNode("input",{id:i.value,ref_key:"checkboxRef",ref:s,type:"checkbox",checked:u.value,indeterminate:t.indeterminate,disabled:t.disabled,required:t.required,class:e.normalizeClass(N.value),"aria-describedby":x.value,onChange:v},null,42,Ct),e.createElementVNode("div",{class:e.normalizeClass(h.value),onClick:p},[u.value&&!t.indeterminate?(e.openBlock(),e.createBlock(a,{key:0,class:"w-3 h-3"})):t.indeterminate?(e.openBlock(),e.createBlock(o,{key:1,class:"w-3 h-3"})):e.createCommentVNode("",!0)],2)]),e.createElementVNode("div",wt,[e.createElementVNode("label",{for:i.value,class:e.normalizeClass(f.value)},[e.renderSlot(b.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],10,Bt),t.description?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(d.value)},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0)])]))}},Vt={key:0,class:"px-3 text-sm text-gray-500 bg-white dark:bg-gray-900 dark:text-gray-400 relative z-10"},ce={__name:"Divider",props:{orientation:{type:String,default:"horizontal",validator:t=>["horizontal","vertical"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},color:{type:String,default:"gray",validator:t=>["gray","primary","secondary"].includes(t)},faded:{type:Boolean,default:!1},label:{type:String,default:null},spacing:{type:String,default:null}},setup(t){const l=t,a=m.cva("divider relative flex items-center",{variants:{orientation:{horizontal:"w-full h-px flex items-center",vertical:"h-full w-px"},size:{sm:"",md:"",lg:""},color:{gray:"bg-gray-200 dark:bg-gray-700",primary:"bg-blue-500",secondary:"bg-gray-400"}},compoundVariants:[{orientation:"horizontal",size:"sm",class:"my-2"},{orientation:"horizontal",size:"md",class:"my-4"},{orientation:"horizontal",size:"lg",class:"my-6"},{orientation:"vertical",size:"sm",class:"mx-2"},{orientation:"vertical",size:"md",class:"mx-4"},{orientation:"vertical",size:"lg",class:"mx-6"}],defaultVariants:{orientation:"horizontal",size:"md",color:"gray"}}),o=e.computed(()=>l.spacing?l.spacing:"");return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(c)(e.unref(a)({orientation:t.orientation,size:t.size,color:t.color}),{"opacity-50":t.faded},o.value))},[t.label&&t.orientation==="horizontal"?(e.openBlock(),e.createElementBlock("span",Vt,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)],2))}},St=["aria-label"],Nt={key:0,class:"sr-only"},J={__name:"Spinner",props:{size:{type:String,default:"md",validator:t=>["xs","sm","md","lg","xl"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","primary","secondary"].includes(t)},label:{type:String,default:"Loading..."},class:String},setup(t){const l=t,a=m.cva("inline-flex items-center justify-center",{variants:{variant:{default:"text-muted-foreground",primary:"text-primary",secondary:"text-secondary-foreground"}}}),o=m.cva("animate-spin",{variants:{size:{xs:"h-3 w-3",sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8",xl:"h-12 w-12"}}}),n=e.computed(()=>c(a({variant:l.variant}),l.class)),r=e.computed(()=>o({size:l.size}));return(s,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(n.value),role:"status","aria-label":t.label},[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(r.value),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[...i[0]||(i[0]=[e.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e.createElementVNode("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"},null,-1)])],2)),t.label?(e.openBlock(),e.createElementBlock("span",Nt,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)],10,St))}},zt=["src","alt","loading"],de={__name:"Image",props:{src:{type:String,required:!0},alt:{type:String,default:""},aspectRatio:{type:String,default:"auto",validator:t=>["auto","square","16/9","4/3","3/2"].includes(t)},objectFit:{type:String,default:"cover",validator:t=>["cover","contain","fill","none","scale-down"].includes(t)},loading:{type:String,default:"lazy",validator:t=>["lazy","eager"].includes(t)},showSpinner:{type:Boolean,default:!0},class:String},emits:["load","error"],setup(t,{emit:l}){const a=t,o=l,n=e.ref(!0),r=e.ref(!1),s=m.cva("relative overflow-hidden bg-muted",{variants:{aspectRatio:{auto:"",square:"aspect-square","16/9":"aspect-video","4/3":"aspect-[4/3]","3/2":"aspect-[3/2]"}}}),i=e.computed(()=>c(s({aspectRatio:a.aspectRatio}),a.class)),u=e.computed(()=>c("h-full w-full transition-opacity duration-300",{"object-cover":a.objectFit==="cover","object-contain":a.objectFit==="contain","object-fill":a.objectFit==="fill","object-none":a.objectFit==="none","object-scale-down":a.objectFit==="scale-down"},n.value&&"opacity-0",r.value&&"hidden")),v=e.computed(()=>"absolute inset-0 flex items-center justify-center bg-muted"),p=e.computed(()=>"absolute inset-0 flex flex-col items-center justify-center gap-2 bg-muted"),x=N=>{n.value=!1,r.value=!1,o("load",N)},y=N=>{n.value=!1,r.value=!0,o("error",N)};return(N,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(i.value)},[e.createElementVNode("img",{src:t.src,alt:t.alt,class:e.normalizeClass(u.value),loading:t.loading,onLoad:x,onError:y},null,42,zt),n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(v.value)},[t.showSpinner?(e.openBlock(),e.createBlock(J,{key:0,size:"sm"})):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(p.value)},[e.createVNode(L,{name:"ImageOff",class:"h-8 w-8 text-muted-foreground"}),h[0]||(h[0]=e.createElementVNode("span",{class:"text-sm text-muted-foreground"},"Failed to load image",-1))],2)):e.createCommentVNode("",!0)],2))}},Et={class:"relative"},$t={key:0,class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},Dt=["id","type","value","placeholder","disabled","readonly","required","autocomplete","aria-describedby","aria-invalid"],Tt={key:1,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},Mt=["aria-label"],U={__name:"Input",props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text",validator:t=>["text","email","password","number","tel","url","search","date"].includes(t)},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","error","success"].includes(t)},iconLeft:{type:[String,Object],default:null},iconRight:{type:[String,Object],default:null},clearable:{type:Boolean,default:!1},clearLabel:{type:String,default:"Clear input"},autocomplete:{type:String,default:null},error:{type:String,default:null},id:{type:String,default:null}},emits:["update:modelValue","blur","focus","clear","keydown"],setup(t,{expose:l,emit:a}){const o=t,n=a,r=e.ref(null),s=e.computed(()=>o.id||e.useId()),i=g=>{n("update:modelValue",g.target.value)},u=g=>{n("blur",g)},v=g=>{n("focus",g)},p=g=>{n("keydown",g)},x=()=>{n("update:modelValue",""),n("clear"),r.value?.focus()},y=e.computed(()=>!!o.error||o.variant==="error"),N=e.computed(()=>{if(o.error)return`${s.value}-error`}),h=e.computed(()=>({sm:"px-3 py-1.5 text-sm",md:"px-3 py-2 text-sm",lg:"px-4 py-3 text-base"})[o.size]),f=e.computed(()=>({default:"border-slate-300 focus:border-blue-500 focus:ring-blue-500",error:"border-red-300 focus:border-red-500 focus:ring-red-500",success:"border-green-300 focus:border-green-500 focus:ring-green-500"})[o.variant]),d=e.computed(()=>["text-slate-400",{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}[o.size]]),b=e.computed(()=>["block w-full rounded-lg border bg-white transition-colors duration-200","focus:outline-none focus:ring-2 focus:ring-offset-0","disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed","placeholder:text-slate-400",h.value,f.value,{"pl-10":o.iconLeft,"pr-10":o.iconRight||o.clearable}]);return l({focus:()=>r.value?.focus(),blur:()=>r.value?.blur(),select:()=>r.value?.select()}),(g,C)=>(e.openBlock(),e.createElementBlock("div",Et,[t.iconLeft?(e.openBlock(),e.createElementBlock("div",$t,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconLeft),{class:e.normalizeClass(d.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("input",{id:s.value,ref_key:"inputRef",ref:r,type:t.type,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,class:e.normalizeClass(b.value),"aria-describedby":N.value,"aria-invalid":y.value,onInput:i,onBlur:u,onFocus:v,onKeydown:p},null,42,Dt),t.iconRight||t.clearable?(e.openBlock(),e.createElementBlock("div",Tt,[t.clearable&&t.modelValue&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:x,class:"text-slate-400 hover:text-slate-600 transition-colors",type:"button","aria-label":t.clearLabel},[e.createVNode(L,{name:"x-mark",class:"w-5 h-5"})],8,Mt)):t.iconRight?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconRight),{key:1,class:e.normalizeClass(d.value)},null,8,["class"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))}},Lt=["for"],ee={__name:"Label",props:{htmlFor:String,size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},required:Boolean,disabled:Boolean,class:String},setup(t){const l=t,a=m.cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-sm",md:"text-sm",lg:"text-base"}}}),o=e.computed(()=>c(a({size:l.size}),l.disabled&&"cursor-not-allowed opacity-70",l.class));return(n,r)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(o.value),for:t.htmlFor},[e.renderSlot(n.$slots,"default")],10,Lt))}},ue={__name:"Link",props:{href:{type:String,default:null},to:{type:[String,Object],default:null},external:{type:Boolean,default:!1},target:{type:String,default:null},rel:{type:String,default:null},variant:{type:String,default:"primary",validator:t=>["primary","secondary","muted","danger","success"].includes(t)},size:{type:String,default:"md",validator:t=>["xs","sm","md","lg","xl"].includes(t)},underline:{type:String,default:"hover",validator:t=>["always","hover","never"].includes(t)},disabled:{type:Boolean,default:!1},icon:{type:String,default:null},iconPosition:{type:String,default:"left",validator:t=>["left","right"].includes(t)},showExternalIcon:{type:Boolean,default:!0},block:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:l}){const a=t,o=e.computed(()=>a.to&&!a.href?"router-link":a.href||a.external?"a":"button"),n=e.computed(()=>`w-4 h-4 ${a.iconPosition==="left"?"mr-2":"ml-2"}`),r=m.cva("transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 inline-flex items-center",{variants:{variant:{primary:"text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300",secondary:"text-gray-600 hover:text-gray-800 dark:text-gray-400 dark:hover:text-gray-300",muted:"text-gray-500 hover:text-gray-700 dark:text-gray-500 dark:hover:text-gray-400",danger:"text-red-600 hover:text-red-800 dark:text-red-400 dark:hover:text-red-300",success:"text-green-600 hover:text-green-800 dark:text-green-400 dark:hover:text-green-300"},size:{xs:"text-xs",sm:"text-sm",md:"text-base",lg:"text-lg",xl:"text-xl"},underline:{always:"underline",hover:"hover:underline",never:"no-underline"},block:{true:"block w-full",false:"inline-flex items-center"},disabled:{true:"opacity-50 cursor-not-allowed pointer-events-none",false:"cursor-pointer"}},defaultVariants:{variant:"primary",size:"md",underline:"hover",block:!1,disabled:!1}}),s=u=>{if(a.disabled){u.preventDefault();return}i("click",u)},i=l;return(u,v)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{href:o.value==="a"?t.href:void 0,to:o.value==="router-link"?t.to:void 0,target:t.external?"_blank":t.target,rel:t.external?"noopener noreferrer":t.rel,class:e.normalizeClass(e.unref(c)(e.unref(r)({variant:t.variant,size:t.size,underline:t.underline,block:t.block,disabled:t.disabled}),u.$attrs.class)),onClick:s},{default:e.withCtx(()=>[t.icon&&t.iconPosition==="left"?(e.openBlock(),e.createBlock(L,{key:0,name:t.icon,class:e.normalizeClass(n.value)},null,8,["name","class"])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"default"),t.icon&&t.iconPosition==="right"?(e.openBlock(),e.createBlock(L,{key:1,name:t.icon,class:e.normalizeClass(n.value)},null,8,["name","class"])):e.createCommentVNode("",!0),t.external&&t.showExternalIcon?(e.openBlock(),e.createBlock(L,{key:2,name:"external-link",class:"w-3 h-3 ml-1 inline-block"})):e.createCommentVNode("",!0)]),_:3},8,["href","to","target","rel","class"]))}},It=["src","alt"],me={__name:"Logo",props:{src:String,alt:String,text:String,size:{type:String,default:"md",validator:t=>["sm","md","lg","xl"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","minimal"].includes(t)},class:String},setup(t){const l=t,a=m.cva("flex items-center",{variants:{size:{sm:"h-6",md:"h-8",lg:"h-10",xl:"h-12"}}}),o=e.computed(()=>c(a({size:l.size}),l.class)),n=e.computed(()=>c("h-full w-auto object-contain")),r=e.computed(()=>c("font-bold text-foreground",{"text-lg":l.size==="sm","text-xl":l.size==="md","text-2xl":l.size==="lg","text-3xl":l.size==="xl"}));return(s,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[t.src?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.src,alt:t.alt||"Logo",class:e.normalizeClass(n.value)},null,10,It)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(r.value)},e.toDisplayString(t.text||"Logo"),3))],2))}},jt=["value","disabled","selected"],te={__name:"Option",props:{value:{type:[String,Number,Boolean],required:!0},label:{type:String,default:""},disabled:{type:Boolean,default:!1},selected:{type:Boolean,default:!1}},setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("option",{value:t.value,disabled:t.disabled,selected:t.selected},[e.renderSlot(l.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],8,jt))}},At=["aria-valuenow"],fe={__name:"ProgressBar",props:{value:{type:Number,default:0},max:{type:Number,default:100},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","success","warning","destructive"].includes(t)},showLabel:Boolean,class:String},setup(t){const l=t,a=e.computed(()=>{const u=l.value/l.max*100;return Math.min(Math.max(u,0),100)}),o=m.cva("relative w-full overflow-hidden rounded-full bg-secondary",{variants:{size:{sm:"h-2",md:"h-3",lg:"h-4"}}}),n=m.cva("h-full w-full flex-1 transition-all duration-300 ease-in-out",{variants:{variant:{default:"bg-primary",success:"bg-green-500",warning:"bg-yellow-500",destructive:"bg-destructive"}}}),r=e.computed(()=>c(o({size:l.size}),l.class)),s=e.computed(()=>n({variant:l.variant})),i=e.computed(()=>"absolute inset-0 flex items-center justify-center text-xs font-medium text-primary-foreground");return(u,v)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.createElementVNode("div",{class:e.normalizeClass(s.value),style:e.normalizeStyle({width:`${a.value}%`}),role:"progressbar","aria-valuenow":a.value,"aria-valuemin":0,"aria-valuemax":100},null,14,At),t.showLabel?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(i.value)},e.toDisplayString(a.value)+"% ",3)):e.createCommentVNode("",!0)],2))}},Ft={class:"flex items-center space-x-2"},Pt=["aria-checked","disabled"],ve={__name:"Radio",props:{modelValue:null,value:{required:!0},label:String,disabled:Boolean,size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},class:String},emits:["update:modelValue"],setup(t,{emit:l}){const a=t,o=l,n=e.computed(()=>a.modelValue===a.value),r=m.cva("aspect-square rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",{variants:{size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"}}}),s=e.computed(()=>c(r({size:a.size}),a.disabled&&"cursor-not-allowed opacity-50",a.class)),i=e.computed(()=>c("flex items-center justify-center rounded-full bg-primary",{"h-2 w-2":a.size==="sm","h-2.5 w-2.5":a.size==="md","h-3 w-3":a.size==="lg"})),u=e.computed(()=>c("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",!a.disabled&&"cursor-pointer")),v=()=>{a.disabled||o("update:modelValue",a.value)};return(p,x)=>(e.openBlock(),e.createElementBlock("div",Ft,[e.createElementVNode("button",{type:"button",role:"radio","aria-checked":n.value,disabled:t.disabled,class:e.normalizeClass(s.value),onClick:v},[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(i.value)},null,2)):e.createCommentVNode("",!0)],10,Pt),t.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(u.value),onClick:v},e.toDisplayString(t.label),3)):e.createCommentVNode("",!0)]))}},Rt=["value","disabled"],X={__name:"Select",props:{modelValue:{type:[String,Number,Boolean],default:""},disabled:{type:Boolean,default:!1},class:String},emits:["update:modelValue"],setup(t){const l=t,a=m.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:{disabled:{true:"bg-gray-100 cursor-not-allowed opacity-50",false:"bg-white hover:border-slate-400"}}}),o=e.computed(()=>c(a({disabled:l.disabled}),"px-3 py-2",l.class));return(n,r)=>(e.openBlock(),e.createElementBlock("select",e.mergeProps({value:t.modelValue,onChange:r[0]||(r[0]=s=>n.$emit("update:modelValue",s.target.value)),disabled:t.disabled,class:o.value},n.$attrs),[e.renderSlot(n.$slots,"default")],16,Rt))}},_t=["aria-checked","disabled"],pe={__name:"Switch",props:{modelValue:Boolean,disabled:Boolean,size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},class:String},emits:["update:modelValue"],setup(t,{emit:l}){const a=t,o=l,n=m.cva("peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50",{variants:{size:{sm:"h-5 w-9",md:"h-6 w-11",lg:"h-7 w-12"},checked:{true:"bg-primary",false:"bg-input"}}}),r=m.cva("pointer-events-none block rounded-full bg-background shadow-lg ring-0 transition-transform",{variants:{size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{true:"",false:""}},compoundVariants:[{size:"sm",checked:!0,class:"translate-x-4"},{size:"sm",checked:!1,class:"translate-x-0"},{size:"md",checked:!0,class:"translate-x-5"},{size:"md",checked:!1,class:"translate-x-0"},{size:"lg",checked:!0,class:"translate-x-5"},{size:"lg",checked:!1,class:"translate-x-0"}]}),s=e.computed(()=>c(n({size:a.size,checked:a.modelValue}),a.class)),i=e.computed(()=>r({size:a.size,checked:a.modelValue})),u=()=>{a.disabled||o("update:modelValue",!a.modelValue)};return(v,p)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch","aria-checked":t.modelValue,disabled:t.disabled,class:e.normalizeClass(s.value),onClick:u},[e.createElementVNode("span",{class:e.normalizeClass(i.value)},null,2)],10,_t))}},ge={__name:"Text",props:{as:{type:String,default:"p"},size:{type:String,default:"md",validator:t=>["xs","sm","md","lg","xl"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","muted","destructive"].includes(t)},weight:{type:String,default:"normal",validator:t=>["normal","medium","semibold","bold"].includes(t)},align:{type:String,default:"left",validator:t=>["left","center","right","justify"].includes(t)},class:String},setup(t){const l=t,a=m.cva("leading-relaxed",{variants:{size:{xs:"text-xs",sm:"text-sm",md:"text-base",lg:"text-lg",xl:"text-xl"},variant:{default:"text-foreground",muted:"text-muted-foreground",destructive:"text-destructive"},weight:{normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"},align:{left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"}}}),o=e.computed(()=>c(a({size:l.size,variant:l.variant,weight:l.weight,align:l.align}),l.class));return(n,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.as),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"]))}},qt=["id","value","placeholder","disabled","readonly","required","rows","maxlength","aria-describedby","aria-invalid"],he={__name:"Textarea",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},rows:{type:Number,default:3},maxlength:{type:Number,default:null},resize:{type:String,default:"vertical",validator:t=>["none","vertical","horizontal","both"].includes(t)},autoResize:{type:Boolean,default:!1},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","error","success"].includes(t)},error:{type:String,default:null},id:{type:String,default:null}},emits:["update:modelValue","blur","focus","keydown"],setup(t,{expose:l,emit:a}){const o=t,n=a,r=e.ref(null),s=e.computed(()=>o.id||e.useId()),i=d=>{n("update:modelValue",d.target.value),o.autoResize&&e.nextTick(()=>f())},u=d=>n("blur",d),v=d=>n("focus",d),p=d=>n("keydown",d),x=e.computed(()=>!!o.error||o.variant==="error"),y=e.computed(()=>o.error?`${s.value}-error`:void 0),N=m.cva("block w-full rounded-lg border transition-colors duration-200 placeholder:text-slate-400 focus:outline-none focus:ring-2 focus:ring-offset-0 disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed",{variants:{size:{sm:"px-3 py-1.5 text-sm",md:"px-3 py-2 text-sm",lg:"px-4 py-3 text-base"},variant:{default:"border-slate-300 focus:border-blue-500 focus:ring-blue-500",error:"border-red-300 focus:border-red-500 focus:ring-red-500",success:"border-green-300 focus:border-green-500 focus:ring-green-500"},resize:{none:"resize-none",vertical:"resize-y",horizontal:"resize-x",both:"resize"}},defaultVariants:{size:"md",variant:"default",resize:"vertical"}}),h=e.computed(()=>c(N({size:o.size,variant:o.variant,resize:o.resize}))),f=()=>{if(!r.value||!o.autoResize)return;const d=r.value;d.style.height="auto",d.style.height=`${d.scrollHeight}px`};return e.watch(()=>o.modelValue,()=>{o.autoResize&&e.nextTick(()=>f())},{immediate:!0}),l({focus:()=>r.value?.focus(),blur:()=>r.value?.blur(),select:()=>r.value?.select()}),(d,b)=>(e.openBlock(),e.createElementBlock("textarea",{id:s.value,ref_key:"textareaRef",ref:r,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,rows:t.rows,maxlength:t.maxlength,class:e.normalizeClass(h.value),"aria-describedby":y.value,"aria-invalid":x.value,onInput:i,onBlur:u,onFocus:v,onKeydown:p},null,42,qt))}},be={__name:"Tooltip",props:{content:{type:String,required:!0},placement:{type:String,default:"top",validator:t=>["top","bottom","left","right"].includes(t)},delay:{type:Number,default:0},class:String},setup(t){const l=t,a=e.ref(!1);let o=null;const n=m.cva("absolute z-50 px-3 py-1.5 text-sm text-primary-foreground bg-primary rounded-md shadow-md pointer-events-none whitespace-nowrap",{variants:{placement:{top:"bottom-full left-1/2 transform -translate-x-1/2 mb-2",bottom:"top-full left-1/2 transform -translate-x-1/2 mt-2",left:"right-full top-1/2 transform -translate-y-1/2 mr-2",right:"left-full top-1/2 transform -translate-y-1/2 ml-2"}}}),r=m.cva("absolute w-2 h-2 bg-primary transform rotate-45",{variants:{placement:{top:"top-full left-1/2 transform -translate-x-1/2 -mt-1",bottom:"bottom-full left-1/2 transform -translate-x-1/2 -mb-1",left:"left-full top-1/2 transform -translate-y-1/2 -ml-1",right:"right-full top-1/2 transform -translate-y-1/2 -mr-1"}}}),s=e.computed(()=>c(n({placement:l.placement}),l.class)),i=e.computed(()=>r({placement:l.placement})),u=()=>{o&&clearTimeout(o),o=setTimeout(()=>{a.value=!0},l.delay)},v=()=>{o&&clearTimeout(o),a.value=!1};return(p,x)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-block",onMouseenter:u,onMouseleave:v},[e.renderSlot(p.$slots,"default"),e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-200","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(s.value),role:"tooltip"},[e.createTextVNode(e.toDisplayString(t.content)+" ",1),e.createElementVNode("div",{class:e.normalizeClass(i.value)},null,2)],2)):e.createCommentVNode("",!0)]),_:1})],32))}},Q={__name:"Typography",props:{variant:{type:String,default:"body-md",validator:t=>["body-xs","body-sm","body-md","body-lg","text-xs","text-sm","text-md","text-lg","display-sm","display-md","display-lg","caption","overline"].includes(t)},color:{type:String,default:"default",validator:t=>["default","primary","secondary","success","warning","danger","muted"].includes(t)},align:{type:String,default:"left",validator:t=>["left","center","right","justify"].includes(t)},italic:Boolean,underline:Boolean,truncate:Boolean,noWrap:Boolean},setup(t){const l=t,a=e.computed(()=>({"body-xs":"p","body-sm":"p","body-md":"p","body-lg":"p","text-xs":"h6","text-sm":"h5","text-md":"h4","text-lg":"h3","display-sm":"h2","display-md":"h1","display-lg":"h1",caption:"span",overline:"span"})[l.variant]||"p"),o=e.computed(()=>({"body-xs":"text-xs leading-normal","body-sm":"text-sm leading-relaxed","body-md":"text-base leading-relaxed","body-lg":"text-lg leading-relaxed","text-xs":"text-md font-semibold leading-snug","text-sm":"text-xl font-semibold leading-snug","text-md":"text-2xl font-semibold leading-snug","text-lg":"text-3xl font-bold leading-snug","display-sm":"text-4xl font-bold leading-tight tracking-tight","display-md":"text-5xl font-bold leading-tight tracking-tight","display-lg":"text-6xl font-bold leading-tight tracking-tight",caption:"text-xs leading-normal",overline:"text-xs font-medium uppercase tracking-wider leading-normal"})[l.variant]),n=e.computed(()=>({default:"text-slate-900",primary:"text-blue-600",secondary:"text-slate-600",success:"text-green-600",warning:"text-yellow-600",danger:"text-red-600",muted:"text-slate-500"})[l.color]),r=e.computed(()=>({left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"})[l.align]),s=e.computed(()=>[o.value,n.value,r.value,{italic:l.italic,underline:l.underline,truncate:l.truncate,"whitespace-nowrap":l.noWrap}]);return(i,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),{class:e.normalizeClass(s.value)},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},8,["class"]))}},Ht={class:"flex items-start gap-3"},Ot={key:0,class:"flex-shrink-0 mt-0.5"},Ut={class:"flex-1 min-w-0"},Zt={key:0,class:"font-medium text-sm mb-1"},Gt={key:1,class:"mt-3 flex gap-2"},Kt=["aria-label"],ke=Object.assign({inheritAttrs:!1},{__name:"Alert",props:{variant:{type:String,default:"info",validator:t=>["info","success","warning","error","default","destructive"].includes(t)},title:String,message:String,dismissible:{type:Boolean,default:!1},dismissLabel:{type:String,default:"Dismiss alert"},showIcon:{type:Boolean,default:!0},actions:{type:Array,default:()=>[]},autoClose:{type:[Boolean,Number],default:!1}},emits:["dismiss","action"],setup(t,{emit:l}){const a=t,o=l,n=e.ref(!0),r=()=>{n.value=!1,o("dismiss")},s=d=>{o("action",d),d.onClick&&d.onClick()};if(a.autoClose){const d=typeof a.autoClose=="number"?a.autoClose:5e3;setTimeout(r,d)}const i={template:`
33
+ `},n=t,r=l,s=e.ref(null),i=e.computed(()=>n.id||e.useId()),u=e.computed(()=>Array.isArray(n.modelValue)?n.modelValue.includes(n.value):n.modelValue),v=b=>{const g=b.target.checked;if(Array.isArray(n.modelValue)){const C=[...n.modelValue];if(g)C.push(n.value);else{const V=C.indexOf(n.value);V>-1&&C.splice(V,1)}r("update:modelValue",C)}else r("update:modelValue",g);r("change",g)},p=()=>{!n.disabled&&s.value&&s.value.click()},x=e.computed(()=>{if(n.error)return`${i.value}-error`}),y=e.computed(()=>({sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6"})[n.size]);e.computed(()=>({default:"border-slate-300 text-blue-600 focus:ring-blue-500",error:"border-red-300 text-red-600 focus:ring-red-500"})[n.variant]);const N=e.computed(()=>["absolute inset-0 w-full h-full opacity-0 cursor-pointer",{"cursor-not-allowed":n.disabled}]),h=e.computed(()=>["flex items-center justify-center rounded border-2 transition-all duration-200","cursor-pointer select-none",y.value,{"bg-blue-600 border-blue-600 text-white":u.value&&!n.disabled&&n.variant==="default","bg-red-600 border-red-600 text-white":u.value&&!n.disabled&&n.variant==="error","bg-slate-200 border-slate-300 text-slate-400":u.value&&n.disabled,"bg-white border-slate-300 hover:border-slate-400":!u.value&&!n.disabled&&n.variant==="default","bg-white border-red-300 hover:border-red-400":!u.value&&!n.disabled&&n.variant==="error","bg-slate-50 border-slate-200":!u.value&&n.disabled,"cursor-not-allowed":n.disabled,"focus-within:ring-2 focus-within:ring-offset-2":!n.disabled,"focus-within:ring-blue-500":!n.disabled&&n.variant==="default","focus-within:ring-red-500":!n.disabled&&n.variant==="error"}]),f=e.computed(()=>["text-sm font-medium cursor-pointer select-none",{"text-slate-900":!n.disabled,"text-slate-500":n.disabled}]),d=e.computed(()=>["text-xs text-slate-500 mt-1"]);return e.watch(()=>n.indeterminate,b=>{s.value&&(s.value.indeterminate=b)},{immediate:!0}),(b,g)=>(e.openBlock(),e.createElementBlock("div",yt,[e.createElementVNode("div",xt,[e.createElementVNode("input",{id:i.value,ref_key:"checkboxRef",ref:s,type:"checkbox",checked:u.value,indeterminate:t.indeterminate,disabled:t.disabled,required:t.required,class:e.normalizeClass(N.value),"aria-describedby":x.value,onChange:v},null,42,Ct),e.createElementVNode("div",{class:e.normalizeClass(h.value),onClick:p},[u.value&&!t.indeterminate?(e.openBlock(),e.createBlock(a,{key:0,class:"w-3 h-3"})):t.indeterminate?(e.openBlock(),e.createBlock(o,{key:1,class:"w-3 h-3"})):e.createCommentVNode("",!0)],2)]),e.createElementVNode("div",wt,[e.createElementVNode("label",{for:i.value,class:e.normalizeClass(f.value)},[e.renderSlot(b.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],10,Bt),t.description?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(d.value)},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0)])]))}},Vt={key:0,class:"px-3 text-sm text-gray-500 bg-white dark:bg-gray-900 dark:text-gray-400 relative z-10"},ce={__name:"Divider",props:{orientation:{type:String,default:"horizontal",validator:t=>["horizontal","vertical"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},color:{type:String,default:"gray",validator:t=>["gray","primary","secondary"].includes(t)},faded:{type:Boolean,default:!1},label:{type:String,default:null},spacing:{type:String,default:null}},setup(t){const l=t,a=m.cva("divider relative flex items-center",{variants:{orientation:{horizontal:"w-full h-px flex items-center",vertical:"h-full w-px"},size:{sm:"",md:"",lg:""},color:{gray:"bg-gray-200 dark:bg-gray-700",primary:"bg-blue-500",secondary:"bg-gray-400"}},compoundVariants:[{orientation:"horizontal",size:"sm",class:"my-2"},{orientation:"horizontal",size:"md",class:"my-4"},{orientation:"horizontal",size:"lg",class:"my-6"},{orientation:"vertical",size:"sm",class:"mx-2"},{orientation:"vertical",size:"md",class:"mx-4"},{orientation:"vertical",size:"lg",class:"mx-6"}],defaultVariants:{orientation:"horizontal",size:"md",color:"gray"}}),o=e.computed(()=>l.spacing?l.spacing:"");return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(c)(e.unref(a)({orientation:t.orientation,size:t.size,color:t.color}),{"opacity-50":t.faded},o.value))},[t.label&&t.orientation==="horizontal"?(e.openBlock(),e.createElementBlock("span",Vt,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)],2))}},St=["aria-label"],Nt={key:0,class:"sr-only"},J={__name:"Spinner",props:{size:{type:String,default:"md",validator:t=>["xs","sm","md","lg","xl"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","primary","secondary"].includes(t)},label:{type:String,default:"Loading..."},class:String},setup(t){const l=t,a=m.cva("inline-flex items-center justify-center",{variants:{variant:{default:"text-muted-foreground",primary:"text-primary",secondary:"text-secondary-foreground"}}}),o=m.cva("animate-spin",{variants:{size:{xs:"h-3 w-3",sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8",xl:"h-12 w-12"}}}),n=e.computed(()=>c(a({variant:l.variant}),l.class)),r=e.computed(()=>o({size:l.size}));return(s,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(n.value),role:"status","aria-label":t.label},[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(r.value),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},[...i[0]||(i[0]=[e.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e.createElementVNode("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"},null,-1)])],2)),t.label?(e.openBlock(),e.createElementBlock("span",Nt,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)],10,St))}},zt=["src","alt","loading"],de={__name:"Image",props:{src:{type:String,required:!0},alt:{type:String,default:""},aspectRatio:{type:String,default:"auto",validator:t=>["auto","square","16/9","4/3","3/2"].includes(t)},objectFit:{type:String,default:"cover",validator:t=>["cover","contain","fill","none","scale-down"].includes(t)},loading:{type:String,default:"lazy",validator:t=>["lazy","eager"].includes(t)},showSpinner:{type:Boolean,default:!0},class:String},emits:["load","error"],setup(t,{emit:l}){const a=t,o=l,n=e.ref(!0),r=e.ref(!1),s=m.cva("relative overflow-hidden bg-muted",{variants:{aspectRatio:{auto:"",square:"aspect-square","16/9":"aspect-video","4/3":"aspect-[4/3]","3/2":"aspect-[3/2]"}}}),i=e.computed(()=>c(s({aspectRatio:a.aspectRatio}),a.class)),u=e.computed(()=>c("h-full w-full transition-opacity duration-300",{"object-cover":a.objectFit==="cover","object-contain":a.objectFit==="contain","object-fill":a.objectFit==="fill","object-none":a.objectFit==="none","object-scale-down":a.objectFit==="scale-down"},n.value&&"opacity-0",r.value&&"hidden")),v=e.computed(()=>"absolute inset-0 flex items-center justify-center bg-muted"),p=e.computed(()=>"absolute inset-0 flex flex-col items-center justify-center gap-2 bg-muted"),x=N=>{n.value=!1,r.value=!1,o("load",N)},y=N=>{n.value=!1,r.value=!0,o("error",N)};return(N,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(i.value)},[e.createElementVNode("img",{src:t.src,alt:t.alt,class:e.normalizeClass(u.value),loading:t.loading,onLoad:x,onError:y},null,42,zt),n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(v.value)},[t.showSpinner?(e.openBlock(),e.createBlock(J,{key:0,size:"sm"})):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(p.value)},[e.createVNode(L,{name:"ImageOff",class:"h-8 w-8 text-muted-foreground"}),h[0]||(h[0]=e.createElementVNode("span",{class:"text-sm text-muted-foreground"},"Failed to load image",-1))],2)):e.createCommentVNode("",!0)],2))}},Et={class:"relative"},$t={key:0,class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},Dt=["id","type","value","placeholder","disabled","readonly","required","autocomplete","aria-describedby","aria-invalid"],Tt={key:1,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},Mt=["aria-label"],U={__name:"Input",props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text",validator:t=>["text","email","password","number","tel","url","search","date"].includes(t)},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","error","success"].includes(t)},iconLeft:{type:[String,Object],default:null},iconRight:{type:[String,Object],default:null},clearable:{type:Boolean,default:!1},clearLabel:{type:String,default:"Clear input"},autocomplete:{type:String,default:null},error:{type:String,default:null},id:{type:String,default:null}},emits:["update:modelValue","blur","focus","clear","keydown"],setup(t,{expose:l,emit:a}){const o=t,n=a,r=e.ref(null),s=e.computed(()=>o.id||e.useId()),i=g=>{n("update:modelValue",g.target.value)},u=g=>{n("blur",g)},v=g=>{n("focus",g)},p=g=>{n("keydown",g)},x=()=>{n("update:modelValue",""),n("clear"),r.value?.focus()},y=e.computed(()=>!!o.error||o.variant==="error"),N=e.computed(()=>{if(o.error)return`${s.value}-error`}),h=e.computed(()=>({sm:"px-3 py-1.5 text-sm",md:"px-3 py-2 text-sm",lg:"px-4 py-3 text-base"})[o.size]),f=e.computed(()=>({default:"border-slate-300 focus:border-blue-500 focus:ring-blue-500",error:"border-red-300 focus:border-red-500 focus:ring-red-500",success:"border-green-300 focus:border-green-500 focus:ring-green-500"})[o.variant]),d=e.computed(()=>["text-slate-400",{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}[o.size]]),b=e.computed(()=>["block w-full rounded-lg border bg-white transition-colors duration-200","focus:outline-none focus:ring-2 focus:ring-offset-0","disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed","placeholder:text-slate-400",h.value,f.value,{"pl-10":o.iconLeft,"pr-10":o.iconRight||o.clearable}]);return l({focus:()=>r.value?.focus(),blur:()=>r.value?.blur(),select:()=>r.value?.select()}),(g,C)=>(e.openBlock(),e.createElementBlock("div",Et,[t.iconLeft?(e.openBlock(),e.createElementBlock("div",$t,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconLeft),{class:e.normalizeClass(d.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("input",{id:s.value,ref_key:"inputRef",ref:r,type:t.type,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,class:e.normalizeClass(b.value),"aria-describedby":N.value,"aria-invalid":y.value,onInput:i,onBlur:u,onFocus:v,onKeydown:p},null,42,Dt),t.iconRight||t.clearable?(e.openBlock(),e.createElementBlock("div",Tt,[t.clearable&&t.modelValue&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:x,class:"text-slate-400 hover:text-slate-600 transition-colors",type:"button","aria-label":t.clearLabel},[e.createVNode(L,{name:"x-mark",class:"w-5 h-5"})],8,Mt)):t.iconRight?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconRight),{key:1,class:e.normalizeClass(d.value)},null,8,["class"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))}},Lt=["for"],ee={__name:"Label",props:{htmlFor:String,size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},required:Boolean,disabled:Boolean,class:String},setup(t){const l=t,a=m.cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-sm",md:"text-sm",lg:"text-base"}}}),o=e.computed(()=>c(a({size:l.size}),l.disabled&&"cursor-not-allowed opacity-70",l.class));return(n,r)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(o.value),for:t.htmlFor},[e.renderSlot(n.$slots,"default")],10,Lt))}},ue={__name:"Link",props:{href:{type:String,default:null},to:{type:[String,Object],default:null},external:{type:Boolean,default:!1},target:{type:String,default:null},rel:{type:String,default:null},variant:{type:String,default:"primary",validator:t=>["primary","secondary","muted","danger","success"].includes(t)},size:{type:String,default:"md",validator:t=>["xs","sm","md","lg","xl"].includes(t)},underline:{type:String,default:"hover",validator:t=>["always","hover","never"].includes(t)},disabled:{type:Boolean,default:!1},icon:{type:String,default:null},iconPosition:{type:String,default:"left",validator:t=>["left","right"].includes(t)},showExternalIcon:{type:Boolean,default:!0},block:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:l}){const a=t,o=e.computed(()=>a.to&&!a.href?"router-link":a.href||a.external?"a":"button"),n=e.computed(()=>`w-4 h-4 ${a.iconPosition==="left"?"mr-2":"ml-2"}`),r=m.cva("transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 inline-flex items-center",{variants:{variant:{primary:"text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300",secondary:"text-gray-600 hover:text-gray-800 dark:text-gray-400 dark:hover:text-gray-300",muted:"text-gray-500 hover:text-gray-700 dark:text-gray-500 dark:hover:text-gray-400",danger:"text-red-600 hover:text-red-800 dark:text-red-400 dark:hover:text-red-300",success:"text-green-600 hover:text-green-800 dark:text-green-400 dark:hover:text-green-300"},size:{xs:"text-xs",sm:"text-sm",md:"text-base",lg:"text-lg",xl:"text-xl"},underline:{always:"underline",hover:"hover:underline",never:"no-underline"},block:{true:"block w-full",false:"inline-flex items-center"},disabled:{true:"opacity-50 cursor-not-allowed pointer-events-none",false:"cursor-pointer"}},defaultVariants:{variant:"primary",size:"md",underline:"hover",block:!1,disabled:!1}}),s=u=>{if(a.disabled){u.preventDefault();return}i("click",u)},i=l;return(u,v)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{href:o.value==="a"?t.href:void 0,to:o.value==="router-link"?t.to:void 0,target:t.external?"_blank":t.target,rel:t.external?"noopener noreferrer":t.rel,class:e.normalizeClass(e.unref(c)(e.unref(r)({variant:t.variant,size:t.size,underline:t.underline,block:t.block,disabled:t.disabled}),u.$attrs.class)),onClick:s},{default:e.withCtx(()=>[t.icon&&t.iconPosition==="left"?(e.openBlock(),e.createBlock(L,{key:0,name:t.icon,class:e.normalizeClass(n.value)},null,8,["name","class"])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"default"),t.icon&&t.iconPosition==="right"?(e.openBlock(),e.createBlock(L,{key:1,name:t.icon,class:e.normalizeClass(n.value)},null,8,["name","class"])):e.createCommentVNode("",!0),t.external&&t.showExternalIcon?(e.openBlock(),e.createBlock(L,{key:2,name:"external-link",class:"w-3 h-3 ml-1 inline-block"})):e.createCommentVNode("",!0)]),_:3},8,["href","to","target","rel","class"]))}},It=["src","alt"],me={__name:"Logo",props:{src:String,alt:String,text:String,size:{type:String,default:"md",validator:t=>["sm","md","lg","xl"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","minimal"].includes(t)},class:String},setup(t){const l=t,a=m.cva("flex items-center",{variants:{size:{sm:"h-6",md:"h-8",lg:"h-10",xl:"h-12"}}}),o=e.computed(()=>c(a({size:l.size}),l.class)),n=e.computed(()=>c("h-full w-auto object-contain")),r=e.computed(()=>c("font-bold text-foreground",{"text-lg":l.size==="sm","text-xl":l.size==="md","text-2xl":l.size==="lg","text-3xl":l.size==="xl"}));return(s,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[t.src?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.src,alt:t.alt||"Logo",class:e.normalizeClass(n.value)},null,10,It)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(r.value)},e.toDisplayString(t.text||"Logo"),3))],2))}},jt=["value","disabled","selected"],te={__name:"Option",props:{value:{type:[String,Number,Boolean],required:!0},label:{type:String,default:""},disabled:{type:Boolean,default:!1},selected:{type:Boolean,default:!1}},setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("option",{value:t.value,disabled:t.disabled,selected:t.selected},[e.renderSlot(l.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],8,jt))}},At=["aria-valuenow"],fe={__name:"ProgressBar",props:{value:{type:Number,default:0},max:{type:Number,default:100},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","success","warning","destructive"].includes(t)},showLabel:Boolean,class:String},setup(t){const l=t,a=e.computed(()=>{const u=l.value/l.max*100;return Math.min(Math.max(u,0),100)}),o=m.cva("relative w-full overflow-hidden rounded-full bg-secondary",{variants:{size:{sm:"h-2",md:"h-3",lg:"h-4"}}}),n=m.cva("h-full w-full flex-1 transition-all duration-300 ease-in-out",{variants:{variant:{default:"bg-primary",success:"bg-green-500",warning:"bg-yellow-500",destructive:"bg-destructive"}}}),r=e.computed(()=>c(o({size:l.size}),l.class)),s=e.computed(()=>n({variant:l.variant})),i=e.computed(()=>"absolute inset-0 flex items-center justify-center text-xs font-medium text-primary-foreground");return(u,v)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.createElementVNode("div",{class:e.normalizeClass(s.value),style:e.normalizeStyle({width:`${a.value}%`}),role:"progressbar","aria-valuenow":a.value,"aria-valuemin":0,"aria-valuemax":100},null,14,At),t.showLabel?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(i.value)},e.toDisplayString(a.value)+"% ",3)):e.createCommentVNode("",!0)],2))}},Ft={class:"flex items-center space-x-2"},Pt=["aria-checked","disabled"],ve={__name:"Radio",props:{modelValue:null,value:{required:!0},label:String,disabled:Boolean,size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},class:String},emits:["update:modelValue"],setup(t,{emit:l}){const a=t,o=l,n=e.computed(()=>a.modelValue===a.value),r=m.cva("aspect-square rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",{variants:{size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"}}}),s=e.computed(()=>c(r({size:a.size}),a.disabled&&"cursor-not-allowed opacity-50",a.class)),i=e.computed(()=>c("flex items-center justify-center rounded-full bg-primary",{"h-2 w-2":a.size==="sm","h-2.5 w-2.5":a.size==="md","h-3 w-3":a.size==="lg"})),u=e.computed(()=>c("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",!a.disabled&&"cursor-pointer")),v=()=>{a.disabled||o("update:modelValue",a.value)};return(p,x)=>(e.openBlock(),e.createElementBlock("div",Ft,[e.createElementVNode("button",{type:"button",role:"radio","aria-checked":n.value,disabled:t.disabled,class:e.normalizeClass(s.value),onClick:v},[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(i.value)},null,2)):e.createCommentVNode("",!0)],10,Pt),t.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(u.value),onClick:v},e.toDisplayString(t.label),3)):e.createCommentVNode("",!0)]))}},_t=["value","disabled"],X={__name:"Select",props:{modelValue:{type:[String,Number,Boolean],default:""},disabled:{type:Boolean,default:!1},class:String},emits:["update:modelValue"],setup(t){const l=t,a=m.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:{disabled:{true:"bg-gray-100 cursor-not-allowed opacity-50",false:"bg-white hover:border-slate-400"}}}),o=e.computed(()=>c(a({disabled:l.disabled}),"px-3 py-2",l.class));return(n,r)=>(e.openBlock(),e.createElementBlock("select",e.mergeProps({value:t.modelValue,onChange:r[0]||(r[0]=s=>n.$emit("update:modelValue",s.target.value)),disabled:t.disabled,class:o.value},n.$attrs),[e.renderSlot(n.$slots,"default")],16,_t))}},Rt=["aria-checked","disabled"],pe={__name:"Switch",props:{modelValue:Boolean,disabled:Boolean,size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},class:String},emits:["update:modelValue"],setup(t,{emit:l}){const a=t,o=l,n=m.cva("peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50",{variants:{size:{sm:"h-5 w-9",md:"h-6 w-11",lg:"h-7 w-12"},checked:{true:"bg-primary",false:"bg-input"}}}),r=m.cva("pointer-events-none block rounded-full bg-background shadow-lg ring-0 transition-transform",{variants:{size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{true:"",false:""}},compoundVariants:[{size:"sm",checked:!0,class:"translate-x-4"},{size:"sm",checked:!1,class:"translate-x-0"},{size:"md",checked:!0,class:"translate-x-5"},{size:"md",checked:!1,class:"translate-x-0"},{size:"lg",checked:!0,class:"translate-x-5"},{size:"lg",checked:!1,class:"translate-x-0"}]}),s=e.computed(()=>c(n({size:a.size,checked:a.modelValue}),a.class)),i=e.computed(()=>r({size:a.size,checked:a.modelValue})),u=()=>{a.disabled||o("update:modelValue",!a.modelValue)};return(v,p)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch","aria-checked":t.modelValue,disabled:t.disabled,class:e.normalizeClass(s.value),onClick:u},[e.createElementVNode("span",{class:e.normalizeClass(i.value)},null,2)],10,Rt))}},ge={__name:"Text",props:{as:{type:String,default:"p"},size:{type:String,default:"md",validator:t=>["xs","sm","md","lg","xl"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","muted","destructive"].includes(t)},weight:{type:String,default:"normal",validator:t=>["normal","medium","semibold","bold"].includes(t)},align:{type:String,default:"left",validator:t=>["left","center","right","justify"].includes(t)},class:String},setup(t){const l=t,a=m.cva("leading-relaxed",{variants:{size:{xs:"text-xs",sm:"text-sm",md:"text-base",lg:"text-lg",xl:"text-xl"},variant:{default:"text-foreground",muted:"text-muted-foreground",destructive:"text-destructive"},weight:{normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"},align:{left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"}}}),o=e.computed(()=>c(a({size:l.size,variant:l.variant,weight:l.weight,align:l.align}),l.class));return(n,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.as),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"]))}},qt=["id","value","placeholder","disabled","readonly","required","rows","maxlength","aria-describedby","aria-invalid"],he={__name:"Textarea",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},rows:{type:Number,default:3},maxlength:{type:Number,default:null},resize:{type:String,default:"vertical",validator:t=>["none","vertical","horizontal","both"].includes(t)},autoResize:{type:Boolean,default:!1},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","error","success"].includes(t)},error:{type:String,default:null},id:{type:String,default:null}},emits:["update:modelValue","blur","focus","keydown"],setup(t,{expose:l,emit:a}){const o=t,n=a,r=e.ref(null),s=e.computed(()=>o.id||e.useId()),i=d=>{n("update:modelValue",d.target.value),o.autoResize&&e.nextTick(()=>f())},u=d=>n("blur",d),v=d=>n("focus",d),p=d=>n("keydown",d),x=e.computed(()=>!!o.error||o.variant==="error"),y=e.computed(()=>o.error?`${s.value}-error`:void 0),N=m.cva("block w-full rounded-lg border transition-colors duration-200 placeholder:text-slate-400 focus:outline-none focus:ring-2 focus:ring-offset-0 disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed",{variants:{size:{sm:"px-3 py-1.5 text-sm",md:"px-3 py-2 text-sm",lg:"px-4 py-3 text-base"},variant:{default:"border-slate-300 focus:border-blue-500 focus:ring-blue-500",error:"border-red-300 focus:border-red-500 focus:ring-red-500",success:"border-green-300 focus:border-green-500 focus:ring-green-500"},resize:{none:"resize-none",vertical:"resize-y",horizontal:"resize-x",both:"resize"}},defaultVariants:{size:"md",variant:"default",resize:"vertical"}}),h=e.computed(()=>c(N({size:o.size,variant:o.variant,resize:o.resize}))),f=()=>{if(!r.value||!o.autoResize)return;const d=r.value;d.style.height="auto",d.style.height=`${d.scrollHeight}px`};return e.watch(()=>o.modelValue,()=>{o.autoResize&&e.nextTick(()=>f())},{immediate:!0}),l({focus:()=>r.value?.focus(),blur:()=>r.value?.blur(),select:()=>r.value?.select()}),(d,b)=>(e.openBlock(),e.createElementBlock("textarea",{id:s.value,ref_key:"textareaRef",ref:r,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,rows:t.rows,maxlength:t.maxlength,class:e.normalizeClass(h.value),"aria-describedby":y.value,"aria-invalid":x.value,onInput:i,onBlur:u,onFocus:v,onKeydown:p},null,42,qt))}},be={__name:"Tooltip",props:{content:{type:String,required:!0},placement:{type:String,default:"top",validator:t=>["top","bottom","left","right"].includes(t)},delay:{type:Number,default:0},class:String},setup(t){const l=t,a=e.ref(!1);let o=null;const n=m.cva("absolute z-50 px-3 py-1.5 text-sm text-primary-foreground bg-primary rounded-md shadow-md pointer-events-none whitespace-nowrap",{variants:{placement:{top:"bottom-full left-1/2 transform -translate-x-1/2 mb-2",bottom:"top-full left-1/2 transform -translate-x-1/2 mt-2",left:"right-full top-1/2 transform -translate-y-1/2 mr-2",right:"left-full top-1/2 transform -translate-y-1/2 ml-2"}}}),r=m.cva("absolute w-2 h-2 bg-primary transform rotate-45",{variants:{placement:{top:"top-full left-1/2 transform -translate-x-1/2 -mt-1",bottom:"bottom-full left-1/2 transform -translate-x-1/2 -mb-1",left:"left-full top-1/2 transform -translate-y-1/2 -ml-1",right:"right-full top-1/2 transform -translate-y-1/2 -mr-1"}}}),s=e.computed(()=>c(n({placement:l.placement}),l.class)),i=e.computed(()=>r({placement:l.placement})),u=()=>{o&&clearTimeout(o),o=setTimeout(()=>{a.value=!0},l.delay)},v=()=>{o&&clearTimeout(o),a.value=!1};return(p,x)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-block",onMouseenter:u,onMouseleave:v},[e.renderSlot(p.$slots,"default"),e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-200","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(s.value),role:"tooltip"},[e.createTextVNode(e.toDisplayString(t.content)+" ",1),e.createElementVNode("div",{class:e.normalizeClass(i.value)},null,2)],2)):e.createCommentVNode("",!0)]),_:1})],32))}},Q={__name:"Typography",props:{variant:{type:String,default:"body-md",validator:t=>["body-xs","body-sm","body-md","body-lg","text-xs","text-sm","text-md","text-lg","display-sm","display-md","display-lg","caption","overline"].includes(t)},color:{type:String,default:"default",validator:t=>["default","primary","secondary","success","warning","danger","muted"].includes(t)},align:{type:String,default:"left",validator:t=>["left","center","right","justify"].includes(t)},italic:Boolean,underline:Boolean,truncate:Boolean,noWrap:Boolean},setup(t){const l=t,a=e.computed(()=>({"body-xs":"p","body-sm":"p","body-md":"p","body-lg":"p","text-xs":"h6","text-sm":"h5","text-md":"h4","text-lg":"h3","display-sm":"h2","display-md":"h1","display-lg":"h1",caption:"span",overline:"span"})[l.variant]||"p"),o=e.computed(()=>({"body-xs":"text-xs leading-normal","body-sm":"text-sm leading-relaxed","body-md":"text-base leading-relaxed","body-lg":"text-lg leading-relaxed","text-xs":"text-md font-semibold leading-snug","text-sm":"text-xl font-semibold leading-snug","text-md":"text-2xl font-semibold leading-snug","text-lg":"text-3xl font-bold leading-snug","display-sm":"text-4xl font-bold leading-tight tracking-tight","display-md":"text-5xl font-bold leading-tight tracking-tight","display-lg":"text-6xl font-bold leading-tight tracking-tight",caption:"text-xs leading-normal",overline:"text-xs font-medium uppercase tracking-wider leading-normal"})[l.variant]),n=e.computed(()=>({default:"text-slate-900",primary:"text-blue-600",secondary:"text-slate-600",success:"text-green-600",warning:"text-yellow-600",danger:"text-red-600",muted:"text-slate-500"})[l.color]),r=e.computed(()=>({left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"})[l.align]),s=e.computed(()=>[o.value,n.value,r.value,{italic:l.italic,underline:l.underline,truncate:l.truncate,"whitespace-nowrap":l.noWrap}]);return(i,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),{class:e.normalizeClass(s.value)},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},8,["class"]))}},Ht={class:"flex items-start gap-3"},Ot={key:0,class:"flex-shrink-0 mt-0.5"},Ut={class:"flex-1 min-w-0"},Zt={key:0,class:"font-medium text-sm mb-1"},Gt={key:1,class:"mt-3 flex gap-2"},Kt=["aria-label"],ke=Object.assign({inheritAttrs:!1},{__name:"Alert",props:{variant:{type:String,default:"info",validator:t=>["info","success","warning","error","default","destructive"].includes(t)},title:String,message:String,dismissible:{type:Boolean,default:!1},dismissLabel:{type:String,default:"Dismiss alert"},showIcon:{type:Boolean,default:!0},actions:{type:Array,default:()=>[]},autoClose:{type:[Boolean,Number],default:!1}},emits:["dismiss","action"],setup(t,{emit:l}){const a=t,o=l,n=e.ref(!0),r=()=>{n.value=!1,o("dismiss")},s=d=>{o("action",d),d.onClick&&d.onClick()};if(a.autoClose){const d=typeof a.autoClose=="number"?a.autoClose:5e3;setTimeout(r,d)}const i={template:`
34
34
  <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
35
35
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
36
36
  d="M12 9v2m0 4h.01M21 12A9 9 0 1112 3a9 9 0 019 9z" />
@@ -63,14 +63,14 @@
63
63
  <svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
64
64
  <path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
65
65
  </svg>
66
- `},o=t,n=e.useId(),r=e.computed(()=>!!o.error),s=e.computed(()=>{const y=[];return o.error?y.push(`${n}-error`):o.helpText&&y.push(`${n}-help`),y.length>0?y.join(" "):void 0}),i=m.cva("",{variants:{size:{sm:"space-y-1",md:"space-y-2",lg:"space-y-3"}},defaultVariants:{size:"md"}}),u=m.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"}}),v=m.cva("text-slate-600",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),p=m.cva("flex items-start gap-2",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"},intent:{error:"text-red-600",success:"text-green-600"}},defaultVariants:{size:"md",intent:"error"}}),x=m.cva("text-slate-500",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"}},defaultVariants:{size:"md"}});return(y,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(c)(e.unref(i)({size:t.size}),y.$attrs.class))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(n),class:e.normalizeClass(e.unref(c)(e.unref(u)({size:t.size})))},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",ka,"*")):e.createCommentVNode("",!0)],10,ba)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(e.unref(c)(e.unref(v)({size:t.size})))},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0),e.createElementVNode("div",ya,[e.renderSlot(y.$slots,"default",{fieldId:e.unref(n),hasError:r.value,ariaDescribedBy:s.value})]),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(n)}-error`,class:e.normalizeClass(e.unref(c)(e.unref(p)({size:t.size,intent:"error"}))),role:"alert","aria-live":"polite"},[e.createVNode(l,{class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.error),1)],10,xa)):e.createCommentVNode("",!0)]),_:1}),t.helpText&&!r.value?(e.openBlock(),e.createElementBlock("p",{key:2,id:`${e.unref(n)}-help`,class:e.normalizeClass(e.unref(c)(e.unref(x)({size:t.size})))},e.toDisplayString(t.helpText),11,Ca)):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(c)(e.unref(p)({size:t.size,intent:"success"})))},[e.createVNode(a,{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))}},wa={key:0,class:"flex items-center px-3 bg-muted border border-r-0 rounded-l-md"},Ba={key:1,class:"flex items-center px-3 bg-muted border border-l-0 rounded-r-md"},Me={__name:"InputGroup",props:{variant:{type:String,default:"default",validator:t=>["default","outline"].includes(t)}},setup(t){const l=t,a=m.cva("flex w-full",{variants:{variant:{default:"[&>input]:rounded-none [&>input:first-child]:rounded-l-md [&>input:last-child]:rounded-r-md",outline:"border border-input rounded-md [&>input]:border-0 [&>input]:rounded-none"}}}),o=e.computed(()=>c(a({variant:l.variant})));return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[n.$slots.prefix?(e.openBlock(),e.createElementBlock("div",wa,[e.renderSlot(n.$slots,"prefix")])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default"),n.$slots.suffix?(e.openBlock(),e.createElementBlock("div",Ba,[e.renderSlot(n.$slots,"suffix")])):e.createCommentVNode("",!0)],2))}},Va=["role"],Sa={key:0,class:"flex-shrink-0"},Na={class:"flex-1 min-w-0"},za={key:0,class:"text-sm font-medium text-foreground"},Ea={key:1,class:"text-sm text-muted-foreground"},$a={key:1,class:"flex-shrink-0"},Le={__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:l}){const a=t,o=l,n=m.cva("",{variants:{variant:{default:"",interactive:"hover:bg-accent/50 cursor-pointer"}}}),r=m.cva("flex items-center space-x-3 p-3",{variants:{variant:{default:"",interactive:"transition-colors rounded-md"}}}),s=e.computed(()=>c(n({variant:a.variant}))),i=e.computed(()=>c(r({variant:a.variant}))),u=v=>{o("click",v)};return(v,p)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(s.value),role:t.role},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"div"),{href:t.href,class:e.normalizeClass(i.value),onClick:u},{default:e.withCtx(()=>[v.$slots.icon||t.icon?(e.openBlock(),e.createElementBlock("div",Sa,[e.renderSlot(v.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createBlock(L,{key:0,name:t.icon,class:"h-5 w-5"},null,8,["name"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Na,[t.title?(e.openBlock(),e.createElementBlock("div",za,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("div",Ea,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(v.$slots,"default")]),v.$slots.action?(e.openBlock(),e.createElementBlock("div",$a,[e.renderSlot(v.$slots,"action")])):e.createCommentVNode("",!0)]),_:3},8,["href","class"]))],10,Va))}},Da={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},Ie={__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:l}){const a=t,o=l,n=m.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"}}}),r=e.computed(()=>c(n({variant:a.variant}))),s=i=>{a.disabled||o("click",i)};return(i,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"button"),{href:t.href,class:e.normalizeClass(r.value),disabled:t.disabled,role:"menuitem",onClick:s},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(L,{key:0,name:t.icon,class:"mr-2 h-4 w-4"},null,8,["name"])):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default"),t.shortcut?(e.openBlock(),e.createElementBlock("span",Da,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.hasSubmenu?(e.openBlock(),e.createBlock(L,{key:2,name:"chevron-right",class:"ml-auto h-4 w-4"})):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},Ta={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"},je={__name:"Modal",props:{modelValue:Boolean,showClose:{type:Boolean,default:!0},closeOnBackdrop:{type:Boolean,default:!0}},emits:["update:modelValue","close"],setup(t,{emit:l}){const a=t,o=l,n=()=>{o("update:modelValue",!1),o("close")},r=s=>{a.closeOnBackdrop&&s.target===s.currentTarget&&n()};return e.watch(()=>a.modelValue,s=>{if(s){const i=u=>{u.key==="Escape"&&n()};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-background/80 backdrop-blur-sm",onClick:r},[e.createElementVNode("div",Ta,[t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:n,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(L,{name:"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})]))}},Ma={class:"flex flex-col space-y-1.5 text-center sm:text-left"},La={key:0,class:"text-lg font-semibold leading-none tracking-tight"},Ia={key:1,class:"text-sm text-muted-foreground"},Ae={__name:"ModalHeader",props:{title:String,description:String},setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("div",Ma,[t.title?(e.openBlock(),e.createElementBlock("h2",La,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",Ia,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default")]))}},Fe={__name:"ModalBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact"].includes(t)}},setup(t){const l=t,a=m.cva("",{variants:{variant:{default:"py-4",compact:"py-2"}}}),o=e.computed(()=>c(a({variant:l.variant})));return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(n.$slots,"default")],2))}},Pe={__name:"ModalFooter",props:{variant:{type:String,default:"default",validator:t=>["default","center"].includes(t)}},setup(t){const l=t,a=m.cva("flex gap-2 pt-4",{variants:{variant:{default:"flex-col-reverse sm:flex-row sm:justify-end",center:"justify-center"}}}),o=e.computed(()=>c(a({variant:l.variant})));return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(n.$slots,"default")],2))}},ja=["aria-live"],Aa={class:"flex items-start space-x-3"},Fa={key:0,class:"flex-shrink-0"},Pa={class:"flex-1 min-w-0"},Ra={key:0,class:"text-sm font-medium"},Re={__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:l}){const a=t,o=l,n=e.ref(!0),r=m.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=m.cva("h-5 w-5",{variants:{variant:{default:"text-primary",success:"text-green-500",warning:"text-yellow-500",destructive:"text-destructive"}}}),u=e.computed(()=>c(r({variant:a.variant}),"p-4")),v=e.computed(()=>s[a.variant]),p=e.computed(()=>i({variant:a.variant})),x=()=>{n.value=!1,o("dismiss")};return e.onMounted(()=>{a.autoClose>0&&setTimeout(()=>{x()},a.autoClose)}),(y,N)=>(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(()=>[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(u.value),role:"alert","aria-live":t.variant==="destructive"?"assertive":"polite"},[e.createElementVNode("div",Aa,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Fa,[e.createVNode(L,{name:v.value,class:e.normalizeClass(p.value)},null,8,["name","class"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Pa,[t.title?(e.openBlock(),e.createElementBlock("div",Ra,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(y.$slots,"default")]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:x,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(L,{name:"x",class:"h-4 w-4"})])):e.createCommentVNode("",!0)])],10,ja)):e.createCommentVNode("",!0)]),_:3}))}},G=e.ref([]);let _a=0;const qa={duration:2e3,position:"top-center",dismissible:!0,closeButton:!1},Ha=()=>`toast-${++_a}-${Date.now()}`,q=(t,l={})=>{const a=Ha(),o={id:a,message:t,...qa,...l,createdAt:Date.now()};return G.value.push(e.markRaw(o)),o.duration&&o.duration>0&&setTimeout(()=>{Z(a)},o.duration),a},Z=t=>{const l=G.value.findIndex(a=>a.id===t);l>-1&&G.value.splice(l,1)},_e=()=>{G.value=[]},W=Object.assign((t,l)=>q(t,{...l}),{success:(t,l)=>q(t,{...l,variant:"success"}),error:(t,l)=>q(t,{...l,variant:"error"}),warning:(t,l)=>q(t,{...l,variant:"warning"}),info:(t,l)=>q(t,{...l,variant:"info"}),promise:(t,l={})=>{const{loading:a="Loading...",success:o="Success",error:n="Error",...r}=l,s=q(a,{...r,variant:"loading",duration:0,dismissible:!1});return t.then(i=>{Z(s);const u=typeof o=="function"?o(i):o;return q(u,{...r,variant:"success"}),i}).catch(i=>{Z(s);const u=typeof n=="function"?n(i):n;throw q(u,{...r,variant:"error"}),i})},dismiss:Z,dismissAll:_e,custom:(t,l={})=>q("",{...l,component:e.markRaw(t)})}),qe=()=>({toasts:G,dismiss:Z,dismissAll:_e}),Oa=["aria-live"],Ua={class:"flex-1 grid gap-1"},Za={key:0,class:"text-sm font-semibold"},Ga={key:1,class:"text-sm opacity-90"},Ka={key:2,class:"text-sm opacity-90"},Qa=["onClick"],Ya=["onClick"],He={__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 l=t,{toasts:a,dismiss:o}=qe(),n={"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"},r=e.computed(()=>c(n[l.position])),s=m.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=h=>c(s({variant:h.variant})),u={default:"bell",info:"info",success:"check-circle",warning:"alert-triangle",error:"alert-circle",loading:"loader"},v={default:"text-muted-foreground",info:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",loading:"text-muted-foreground animate-spin"},p=h=>h.icon||u[h.variant]||u.default,x=h=>{const f=v[h.variant]||v.default;return h.variant==="loading"?`${f} animate-spin`:f},y=h=>h.icon!==!1,N=h=>h.dismissible!==!1&&(h.closeButton||l.closeButton||h.dismissible);return(h,f)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(c)(r.value,"fixed z-[100] flex max-h-screen w-full p-4 md:max-w-[420px]"))},[e.createVNode(e.TransitionGroup,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"transform translate-x-full opacity-0 scale-95","enter-to-class":"transform translate-x-0 opacity-100 scale-100","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"transform translate-x-0 opacity-100 scale-100","leave-to-class":"transform translate-x-full opacity-0 scale-95","move-class":"transition-all duration-200",tag:"div",class:"space-y-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),d=>(e.openBlock(),e.createElementBlock("div",{key:d.id,class:e.normalizeClass([i(d),"group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all"]),role:"alert","aria-live":d.variant==="error"?"assertive":"polite"},[y(d)?(e.openBlock(),e.createBlock(L,{key:0,name:p(d),class:e.normalizeClass([x(d),"h-4 w-4 shrink-0"])},null,8,["name","class"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ua,[d.title?(e.openBlock(),e.createElementBlock("div",Za,e.toDisplayString(d.title),1)):e.createCommentVNode("",!0),d.message?(e.openBlock(),e.createElementBlock("div",Ga,e.toDisplayString(d.message),1)):e.createCommentVNode("",!0),d.description?(e.openBlock(),e.createElementBlock("div",Ka,e.toDisplayString(d.description),1)):e.createCommentVNode("",!0),d.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.component),e.mergeProps({key:3,ref_for:!0},d.componentProps),null,16)):e.createCommentVNode("",!0)]),d.action?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:d.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(d.action.label),9,Qa)):e.createCommentVNode("",!0),N(d)?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:b=>e.unref(o)(d.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(L,{name:"x",class:"h-4 w-4"})],8,Ya)):e.createCommentVNode("",!0)],10,Oa))),128))]),_:1})],2)]))}},Xa={class:"relative"},Wa={class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},Ja=["value","placeholder","disabled"],el={key:0,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},tl=["aria-label"],al={key:1,class:"animate-spin"},ll={key:0,class:"max-h-64 overflow-y-auto"},ol=["onClick","onMouseenter"],nl={class:"flex-1 text-left"},rl=["innerHTML"],sl=["innerHTML"],il={key:1,class:"text-xs text-slate-400 ml-3"},cl={key:1,class:"px-4 py-3 text-sm text-slate-500 text-center"},dl={key:2,class:"border-t border-slate-200 p-2"},Oe={__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:l}){const a={template:`<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
66
+ `},o=t,n=e.useId(),r=e.computed(()=>!!o.error),s=e.computed(()=>{const y=[];return o.error?y.push(`${n}-error`):o.helpText&&y.push(`${n}-help`),y.length>0?y.join(" "):void 0}),i=m.cva("",{variants:{size:{sm:"space-y-1",md:"space-y-2",lg:"space-y-3"}},defaultVariants:{size:"md"}}),u=m.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"}}),v=m.cva("text-slate-600",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),p=m.cva("flex items-start gap-2",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"},intent:{error:"text-red-600",success:"text-green-600"}},defaultVariants:{size:"md",intent:"error"}}),x=m.cva("text-slate-500",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"}},defaultVariants:{size:"md"}});return(y,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(c)(e.unref(i)({size:t.size}),y.$attrs.class))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(n),class:e.normalizeClass(e.unref(c)(e.unref(u)({size:t.size})))},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",ka,"*")):e.createCommentVNode("",!0)],10,ba)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(e.unref(c)(e.unref(v)({size:t.size})))},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0),e.createElementVNode("div",ya,[e.renderSlot(y.$slots,"default",{fieldId:e.unref(n),hasError:r.value,ariaDescribedBy:s.value})]),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(n)}-error`,class:e.normalizeClass(e.unref(c)(e.unref(p)({size:t.size,intent:"error"}))),role:"alert","aria-live":"polite"},[e.createVNode(l,{class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.error),1)],10,xa)):e.createCommentVNode("",!0)]),_:1}),t.helpText&&!r.value?(e.openBlock(),e.createElementBlock("p",{key:2,id:`${e.unref(n)}-help`,class:e.normalizeClass(e.unref(c)(e.unref(x)({size:t.size})))},e.toDisplayString(t.helpText),11,Ca)):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(c)(e.unref(p)({size:t.size,intent:"success"})))},[e.createVNode(a,{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))}},wa={key:0,class:"flex items-center px-3 bg-muted border border-r-0 rounded-l-md"},Ba={key:1,class:"flex items-center px-3 bg-muted border border-l-0 rounded-r-md"},Me={__name:"InputGroup",props:{variant:{type:String,default:"default",validator:t=>["default","outline"].includes(t)}},setup(t){const l=t,a=m.cva("flex w-full",{variants:{variant:{default:"[&>input]:rounded-none [&>input:first-child]:rounded-l-md [&>input:last-child]:rounded-r-md",outline:"border border-input rounded-md [&>input]:border-0 [&>input]:rounded-none"}}}),o=e.computed(()=>c(a({variant:l.variant})));return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[n.$slots.prefix?(e.openBlock(),e.createElementBlock("div",wa,[e.renderSlot(n.$slots,"prefix")])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default"),n.$slots.suffix?(e.openBlock(),e.createElementBlock("div",Ba,[e.renderSlot(n.$slots,"suffix")])):e.createCommentVNode("",!0)],2))}},Va=["role"],Sa={key:0,class:"flex-shrink-0"},Na={class:"flex-1 min-w-0"},za={key:0,class:"text-sm font-medium text-foreground"},Ea={key:1,class:"text-sm text-muted-foreground"},$a={key:1,class:"flex-shrink-0"},Le={__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:l}){const a=t,o=l,n=m.cva("",{variants:{variant:{default:"",interactive:"hover:bg-accent/50 cursor-pointer"}}}),r=m.cva("flex items-center space-x-3 p-3",{variants:{variant:{default:"",interactive:"transition-colors rounded-md"}}}),s=e.computed(()=>c(n({variant:a.variant}))),i=e.computed(()=>c(r({variant:a.variant}))),u=v=>{o("click",v)};return(v,p)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(s.value),role:t.role},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"div"),{href:t.href,class:e.normalizeClass(i.value),onClick:u},{default:e.withCtx(()=>[v.$slots.icon||t.icon?(e.openBlock(),e.createElementBlock("div",Sa,[e.renderSlot(v.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createBlock(L,{key:0,name:t.icon,class:"h-5 w-5"},null,8,["name"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Na,[t.title?(e.openBlock(),e.createElementBlock("div",za,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("div",Ea,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(v.$slots,"default")]),v.$slots.action?(e.openBlock(),e.createElementBlock("div",$a,[e.renderSlot(v.$slots,"action")])):e.createCommentVNode("",!0)]),_:3},8,["href","class"]))],10,Va))}},Da={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},Ie={__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:l}){const a=t,o=l,n=m.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"}}}),r=e.computed(()=>c(n({variant:a.variant}))),s=i=>{a.disabled||o("click",i)};return(i,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"button"),{href:t.href,class:e.normalizeClass(r.value),disabled:t.disabled,role:"menuitem",onClick:s},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(L,{key:0,name:t.icon,class:"mr-2 h-4 w-4"},null,8,["name"])):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default"),t.shortcut?(e.openBlock(),e.createElementBlock("span",Da,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.hasSubmenu?(e.openBlock(),e.createBlock(L,{key:2,name:"chevron-right",class:"ml-auto h-4 w-4"})):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},Ta={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"},je={__name:"Modal",props:{modelValue:Boolean,showClose:{type:Boolean,default:!0},closeOnBackdrop:{type:Boolean,default:!0}},emits:["update:modelValue","close"],setup(t,{emit:l}){const a=t,o=l,n=()=>{o("update:modelValue",!1),o("close")},r=s=>{a.closeOnBackdrop&&s.target===s.currentTarget&&n()};return e.watch(()=>a.modelValue,s=>{if(s){const i=u=>{u.key==="Escape"&&n()};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-background/80 backdrop-blur-sm",onClick:r},[e.createElementVNode("div",Ta,[t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:n,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(L,{name:"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})]))}},Ma={class:"flex flex-col space-y-1.5 text-center sm:text-left"},La={key:0,class:"text-lg font-semibold leading-none tracking-tight"},Ia={key:1,class:"text-sm text-muted-foreground"},Ae={__name:"ModalHeader",props:{title:String,description:String},setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("div",Ma,[t.title?(e.openBlock(),e.createElementBlock("h2",La,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",Ia,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default")]))}},Fe={__name:"ModalBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact"].includes(t)}},setup(t){const l=t,a=m.cva("",{variants:{variant:{default:"py-4",compact:"py-2"}}}),o=e.computed(()=>c(a({variant:l.variant})));return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(n.$slots,"default")],2))}},Pe={__name:"ModalFooter",props:{variant:{type:String,default:"default",validator:t=>["default","center"].includes(t)}},setup(t){const l=t,a=m.cva("flex gap-2 pt-4",{variants:{variant:{default:"flex-col-reverse sm:flex-row sm:justify-end",center:"justify-center"}}}),o=e.computed(()=>c(a({variant:l.variant})));return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(n.$slots,"default")],2))}},ja=["aria-live"],Aa={class:"flex items-start space-x-3"},Fa={key:0,class:"flex-shrink-0"},Pa={class:"flex-1 min-w-0"},_a={key:0,class:"text-sm font-medium"},_e={__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:l}){const a=t,o=l,n=e.ref(!0),r=m.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=m.cva("h-5 w-5",{variants:{variant:{default:"text-primary",success:"text-green-500",warning:"text-yellow-500",destructive:"text-destructive"}}}),u=e.computed(()=>c(r({variant:a.variant}),"p-4")),v=e.computed(()=>s[a.variant]),p=e.computed(()=>i({variant:a.variant})),x=()=>{n.value=!1,o("dismiss")};return e.onMounted(()=>{a.autoClose>0&&setTimeout(()=>{x()},a.autoClose)}),(y,N)=>(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(()=>[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(u.value),role:"alert","aria-live":t.variant==="destructive"?"assertive":"polite"},[e.createElementVNode("div",Aa,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Fa,[e.createVNode(L,{name:v.value,class:e.normalizeClass(p.value)},null,8,["name","class"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Pa,[t.title?(e.openBlock(),e.createElementBlock("div",_a,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(y.$slots,"default")]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:x,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(L,{name:"x",class:"h-4 w-4"})])):e.createCommentVNode("",!0)])],10,ja)):e.createCommentVNode("",!0)]),_:3}))}},G=e.ref([]);let Ra=0;const qa={duration:2e3,position:"top-center",dismissible:!0,closeButton:!1},Ha=()=>`toast-${++Ra}-${Date.now()}`,q=(t,l={})=>{const a=Ha(),o={id:a,message:t,...qa,...l,createdAt:Date.now()};return G.value.push(e.markRaw(o)),o.duration&&o.duration>0&&setTimeout(()=>{Z(a)},o.duration),a},Z=t=>{const l=G.value.findIndex(a=>a.id===t);l>-1&&G.value.splice(l,1)},Re=()=>{G.value=[]},W=Object.assign((t,l)=>q(t,{...l}),{success:(t,l)=>q(t,{...l,variant:"success"}),error:(t,l)=>q(t,{...l,variant:"error"}),warning:(t,l)=>q(t,{...l,variant:"warning"}),info:(t,l)=>q(t,{...l,variant:"info"}),promise:(t,l={})=>{const{loading:a="Loading...",success:o="Success",error:n="Error",...r}=l,s=q(a,{...r,variant:"loading",duration:0,dismissible:!1});return t.then(i=>{Z(s);const u=typeof o=="function"?o(i):o;return q(u,{...r,variant:"success"}),i}).catch(i=>{Z(s);const u=typeof n=="function"?n(i):n;throw q(u,{...r,variant:"error"}),i})},dismiss:Z,dismissAll:Re,custom:(t,l={})=>q("",{...l,component:e.markRaw(t)})}),qe=()=>({toasts:G,dismiss:Z,dismissAll:Re}),Oa=["aria-live"],Ua={class:"flex-1 grid gap-1"},Za={key:0,class:"text-sm font-semibold"},Ga={key:1,class:"text-sm opacity-90"},Ka={key:2,class:"text-sm opacity-90"},Qa=["onClick"],Ya=["onClick"],He={__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 l=t,{toasts:a,dismiss:o}=qe(),n={"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"},r=e.computed(()=>c(n[l.position])),s=m.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=h=>c(s({variant:h.variant})),u={default:"bell",info:"info",success:"check-circle",warning:"alert-triangle",error:"alert-circle",loading:"loader"},v={default:"text-muted-foreground",info:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",loading:"text-muted-foreground animate-spin"},p=h=>h.icon||u[h.variant]||u.default,x=h=>{const f=v[h.variant]||v.default;return h.variant==="loading"?`${f} animate-spin`:f},y=h=>h.icon!==!1,N=h=>h.dismissible!==!1&&(h.closeButton||l.closeButton||h.dismissible);return(h,f)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(c)(r.value,"fixed z-[100] flex max-h-screen w-full p-4 md:max-w-[420px]"))},[e.createVNode(e.TransitionGroup,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"transform translate-x-full opacity-0 scale-95","enter-to-class":"transform translate-x-0 opacity-100 scale-100","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"transform translate-x-0 opacity-100 scale-100","leave-to-class":"transform translate-x-full opacity-0 scale-95","move-class":"transition-all duration-200",tag:"div",class:"space-y-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),d=>(e.openBlock(),e.createElementBlock("div",{key:d.id,class:e.normalizeClass([i(d),"group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all"]),role:"alert","aria-live":d.variant==="error"?"assertive":"polite"},[y(d)?(e.openBlock(),e.createBlock(L,{key:0,name:p(d),class:e.normalizeClass([x(d),"h-4 w-4 shrink-0"])},null,8,["name","class"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ua,[d.title?(e.openBlock(),e.createElementBlock("div",Za,e.toDisplayString(d.title),1)):e.createCommentVNode("",!0),d.message?(e.openBlock(),e.createElementBlock("div",Ga,e.toDisplayString(d.message),1)):e.createCommentVNode("",!0),d.description?(e.openBlock(),e.createElementBlock("div",Ka,e.toDisplayString(d.description),1)):e.createCommentVNode("",!0),d.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.component),e.mergeProps({key:3,ref_for:!0},d.componentProps),null,16)):e.createCommentVNode("",!0)]),d.action?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:d.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(d.action.label),9,Qa)):e.createCommentVNode("",!0),N(d)?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:b=>e.unref(o)(d.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(L,{name:"x",class:"h-4 w-4"})],8,Ya)):e.createCommentVNode("",!0)],10,Oa))),128))]),_:1})],2)]))}},Xa={class:"relative"},Wa={class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},Ja=["value","placeholder","disabled"],el={key:0,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},tl=["aria-label"],al={key:1,class:"animate-spin"},ll={key:0,class:"max-h-64 overflow-y-auto"},ol=["onClick","onMouseenter"],nl={class:"flex-1 text-left"},rl=["innerHTML"],sl=["innerHTML"],il={key:1,class:"text-xs text-slate-400 ml-3"},cl={key:1,class:"px-4 py-3 text-sm text-slate-500 text-center"},dl={key:2,class:"border-t border-slate-200 p-2"},Oe={__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:l}){const a={template:`<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
67
67
  <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"/>
68
68
  </svg>`},o={template:`<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
69
69
  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12"/>
70
70
  </svg>`},n={template:`<svg fill="none" viewBox="0 0 24 24" class="animate-spin">
71
71
  <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"/>
72
72
  <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"/>
73
- </svg>`},r=t,s=l,i=e.ref(null),u=e.ref(null),v=e.ref(!1),p=e.ref(-1),x=e.ref(null),y=B=>{const T=B.target.value;s("update:modelValue",T),x.value&&clearTimeout(x.value),x.value=setTimeout(()=>{T.length>=r.minLength?(s("search",T),v.value=!0):v.value=!1},r.debounce)},N=B=>{s("focus",B),r.modelValue.length>=r.minLength&&(v.value=!0)},h=B=>{s("blur",B),setTimeout(()=>{v.value=!1,p.value=-1},150)},f=()=>{s("update:modelValue",""),s("clear"),v.value=!1,u.value?.focus()},d=B=>{s("select",B),v.value=!1,p.value=-1},b=B=>{if(!(!v.value||r.results.length===0))switch(B.key){case"ArrowDown":B.preventDefault(),p.value=Math.min(p.value+1,r.results.length-1);break;case"ArrowUp":B.preventDefault(),p.value=Math.max(p.value-1,-1);break;case"Enter":B.preventDefault(),p.value>=0&&d(r.results[p.value]);break;case"Escape":B.preventDefault(),v.value=!1,p.value=-1;break}},g=B=>{if(!r.highlightMatches||!r.modelValue||!B)return B;const T=new RegExp(`(${r.modelValue})`,"gi");return B.replace(T,'<mark class="bg-yellow-200">$1</mark>')},C=m.cva("block w-full rounded-lg border bg-white transition-colors duration-200 placeholder:text-slate-400 disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",{variants:{size:{sm:"px-9 py-1.5 text-sm",md:"px-10 py-2 text-sm",lg:"px-12 py-3 text-base"}},defaultVariants:{size:"md"}}),V=m.cva("text-slate-400",{variants:{size:{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}},defaultVariants:{size:"md"}}),D=e.computed(()=>c(C({size:r.size}))),F=e.computed(()=>c(V({size:r.size}))),P=e.computed(()=>c("absolute z-50 w-full mt-1 bg-white rounded-lg shadow-lg border border-slate-200 max-h-96 overflow-hidden")),$=B=>c("flex items-center w-full px-4 py-3 text-left transition-colors duration-150 hover:bg-slate-50 focus:bg-slate-50 focus:outline-none",{"bg-slate-50":p.value===B}),I=B=>{i.value&&!i.value.contains(B.target)&&(v.value=!1,p.value=-1)};return e.onMounted(()=>document.addEventListener("click",I)),e.onUnmounted(()=>{document.removeEventListener("click",I),x.value&&clearTimeout(x.value)}),e.watch(()=>r.results,()=>p.value=-1),(B,T)=>(e.openBlock(),e.createElementBlock("div",{class:"relative",ref_key:"searchRef",ref:i},[e.createElementVNode("div",Xa,[e.createElementVNode("div",Wa,[e.createVNode(a,{class:e.normalizeClass(F.value)},null,8,["class"])]),e.createElementVNode("input",{ref_key:"inputRef",ref:u,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,class:e.normalizeClass(D.value),onInput:y,onFocus:N,onBlur:h,onKeydown:b},null,42,Ja),t.modelValue||t.loading?(e.openBlock(),e.createElementBlock("div",el,[!t.loading&&t.clearable?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:f,class:"text-slate-400 hover:text-slate-600 transition-colors p-1 rounded-full hover:bg-slate-100","aria-label":t.clearLabel},[e.createVNode(o,{class:"w-4 h-4"})],8,tl)):t.loading?(e.openBlock(),e.createElementBlock("div",al,[e.createVNode(n,{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(()=>[v.value&&(t.results.length>0||t.showNoResults)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(P.value)},[t.results.length>0?(e.openBlock(),e.createElementBlock("div",ll,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.results,(j,R)=>(e.openBlock(),e.createElementBlock("button",{key:j.id||R,class:e.normalizeClass($(R)),onClick:z=>d(j),onMouseenter:z=>p.value=R},[j.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(j.icon),{key:0,class:"w-4 h-4 mr-3 flex-shrink-0"})):e.createCommentVNode("",!0),e.createElementVNode("div",nl,[e.createElementVNode("div",{class:"font-medium text-slate-900",innerHTML:g(j.title)},null,8,rl),j.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:"text-sm text-slate-500 truncate",innerHTML:g(j.description)},null,8,sl)):e.createCommentVNode("",!0)]),j.category?(e.openBlock(),e.createElementBlock("div",il,e.toDisplayString(j.category),1)):e.createCommentVNode("",!0)],42,ol))),128))])):t.showNoResults?(e.openBlock(),e.createElementBlock("div",cl,e.toDisplayString(t.noResultsText),1)):e.createCommentVNode("",!0),B.$slots.footer?(e.openBlock(),e.createElementBlock("div",dl,[e.renderSlot(B.$slots,"footer")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3})],512))}},ul={class:"w-full"},ml=["min","max","step"],fl={class:"flex justify-between text-xs text-slate-500 mt-1"},Ue={__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:l}){const a=t,o=l,n=e.ref(a.modelValue);e.watch(()=>a.modelValue,s=>{n.value=s});const r=()=>{o("update:modelValue",Number(n.value))};return(s,i)=>(e.openBlock(),e.createElementBlock("div",ul,[e.withDirectives(e.createElementVNode("input",{type:"range",min:t.min,max:t.max,step:t.step,"onUpdate:modelValue":i[0]||(i[0]=u=>n.value=u),onInput:r,class:"w-full accent-blue-500 cursor-pointer"},null,40,ml),[[e.vModelText,n.value]]),e.createElementVNode("div",fl,[e.createElementVNode("span",null,e.toDisplayString(t.min),1),e.createElementVNode("span",null,e.toDisplayString(n.value),1),e.createElementVNode("span",null,e.toDisplayString(t.max),1)])]))}},vl={class:"flex items-center space-x-4"},Ze={__name:"Stepper",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("div",vl,[e.renderSlot(l.$slots,"default")]))}},pl={class:"flex items-center"},gl={class:"ml-2"},hl={class:"font-medium"},bl={key:0,class:"text-sm text-slate-400"},Ge={__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(l,a)=>(e.openBlock(),e.createElementBlock("div",pl,[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",gl,[e.createElementVNode("div",hl,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",bl,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)])]))}},kl={class:"flex border-b border-slate-200"},yl=["onClick"],xl={class:"p-4"},Ke={__name:"Tab",props:{defaultIndex:{type:Number,default:0}},setup(t){const l=t,a=e.ref(l.defaultIndex),o=e.ref([]),n=r=>{a.value=r};return e.provide("tabsContext",{activeIndex:a,tabs:o,registerTab:r=>(o.value.push({label:r}),o.value.length-1)}),(r,s)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",kl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(i,u)=>(e.openBlock(),e.createElementBlock("button",{key:u,onClick:v=>n(u),class:e.normalizeClass(["px-4 py-2 -mb-px border-b-2 font-medium text-sm transition-colors",a.value===u?"border-blue-500 text-blue-600":"border-transparent text-slate-500 hover:text-slate-700 hover:border-slate-300"])},e.toDisplayString(i.label),11,yl))),128))]),e.createElementVNode("div",xl,[e.renderSlot(r.$slots,"default")])]))}},Qe={__name:"TabPanel",props:{label:{type:String,required:!0}},setup(t){const l=t,a=e.inject("tabsContext"),o=e.ref(null),n=e.ref(!1);return e.onMounted(()=>{o.value=a.registerTab(l.label),n.value=a.activeIndex.value===o.value,watch(a.activeIndex,r=>{n.value=r===o.value})}),(r,s)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",null,[e.renderSlot(r.$slots,"default")],512)),[[e.vShow,n.value]])}},Cl=["aria-expanded","aria-controls","id","onClick"],wl={class:"flex items-center flex-1 min-w-0"},Bl={class:"flex-1 text-left"},Vl=["id","aria-labelledby"],Sl=["innerHTML"],Ye={__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:l}){const a={template:`
73
+ </svg>`},r=t,s=l,i=e.ref(null),u=e.ref(null),v=e.ref(!1),p=e.ref(-1),x=e.ref(null),y=B=>{const T=B.target.value;s("update:modelValue",T),x.value&&clearTimeout(x.value),x.value=setTimeout(()=>{T.length>=r.minLength?(s("search",T),v.value=!0):v.value=!1},r.debounce)},N=B=>{s("focus",B),r.modelValue.length>=r.minLength&&(v.value=!0)},h=B=>{s("blur",B),setTimeout(()=>{v.value=!1,p.value=-1},150)},f=()=>{s("update:modelValue",""),s("clear"),v.value=!1,u.value?.focus()},d=B=>{s("select",B),v.value=!1,p.value=-1},b=B=>{if(!(!v.value||r.results.length===0))switch(B.key){case"ArrowDown":B.preventDefault(),p.value=Math.min(p.value+1,r.results.length-1);break;case"ArrowUp":B.preventDefault(),p.value=Math.max(p.value-1,-1);break;case"Enter":B.preventDefault(),p.value>=0&&d(r.results[p.value]);break;case"Escape":B.preventDefault(),v.value=!1,p.value=-1;break}},g=B=>{if(!r.highlightMatches||!r.modelValue||!B)return B;const T=new RegExp(`(${r.modelValue})`,"gi");return B.replace(T,'<mark class="bg-yellow-200">$1</mark>')},C=m.cva("block w-full rounded-lg border bg-white transition-colors duration-200 placeholder:text-slate-400 disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",{variants:{size:{sm:"px-9 py-1.5 text-sm",md:"px-10 py-2 text-sm",lg:"px-12 py-3 text-base"}},defaultVariants:{size:"md"}}),V=m.cva("text-slate-400",{variants:{size:{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}},defaultVariants:{size:"md"}}),D=e.computed(()=>c(C({size:r.size}))),F=e.computed(()=>c(V({size:r.size}))),P=e.computed(()=>c("absolute z-50 w-full mt-1 bg-white rounded-lg shadow-lg border border-slate-200 max-h-96 overflow-hidden")),$=B=>c("flex items-center w-full px-4 py-3 text-left transition-colors duration-150 hover:bg-slate-50 focus:bg-slate-50 focus:outline-none",{"bg-slate-50":p.value===B}),I=B=>{i.value&&!i.value.contains(B.target)&&(v.value=!1,p.value=-1)};return e.onMounted(()=>document.addEventListener("click",I)),e.onUnmounted(()=>{document.removeEventListener("click",I),x.value&&clearTimeout(x.value)}),e.watch(()=>r.results,()=>p.value=-1),(B,T)=>(e.openBlock(),e.createElementBlock("div",{class:"relative",ref_key:"searchRef",ref:i},[e.createElementVNode("div",Xa,[e.createElementVNode("div",Wa,[e.createVNode(a,{class:e.normalizeClass(F.value)},null,8,["class"])]),e.createElementVNode("input",{ref_key:"inputRef",ref:u,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,class:e.normalizeClass(D.value),onInput:y,onFocus:N,onBlur:h,onKeydown:b},null,42,Ja),t.modelValue||t.loading?(e.openBlock(),e.createElementBlock("div",el,[!t.loading&&t.clearable?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:f,class:"text-slate-400 hover:text-slate-600 transition-colors p-1 rounded-full hover:bg-slate-100","aria-label":t.clearLabel},[e.createVNode(o,{class:"w-4 h-4"})],8,tl)):t.loading?(e.openBlock(),e.createElementBlock("div",al,[e.createVNode(n,{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(()=>[v.value&&(t.results.length>0||t.showNoResults)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(P.value)},[t.results.length>0?(e.openBlock(),e.createElementBlock("div",ll,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.results,(j,_)=>(e.openBlock(),e.createElementBlock("button",{key:j.id||_,class:e.normalizeClass($(_)),onClick:z=>d(j),onMouseenter:z=>p.value=_},[j.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(j.icon),{key:0,class:"w-4 h-4 mr-3 flex-shrink-0"})):e.createCommentVNode("",!0),e.createElementVNode("div",nl,[e.createElementVNode("div",{class:"font-medium text-slate-900",innerHTML:g(j.title)},null,8,rl),j.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:"text-sm text-slate-500 truncate",innerHTML:g(j.description)},null,8,sl)):e.createCommentVNode("",!0)]),j.category?(e.openBlock(),e.createElementBlock("div",il,e.toDisplayString(j.category),1)):e.createCommentVNode("",!0)],42,ol))),128))])):t.showNoResults?(e.openBlock(),e.createElementBlock("div",cl,e.toDisplayString(t.noResultsText),1)):e.createCommentVNode("",!0),B.$slots.footer?(e.openBlock(),e.createElementBlock("div",dl,[e.renderSlot(B.$slots,"footer")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3})],512))}},ul={class:"w-full"},ml=["min","max","step"],fl={class:"flex justify-between text-xs text-slate-500 mt-1"},Ue={__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:l}){const a=t,o=l,n=e.ref(a.modelValue);e.watch(()=>a.modelValue,s=>{n.value=s});const r=()=>{o("update:modelValue",Number(n.value))};return(s,i)=>(e.openBlock(),e.createElementBlock("div",ul,[e.withDirectives(e.createElementVNode("input",{type:"range",min:t.min,max:t.max,step:t.step,"onUpdate:modelValue":i[0]||(i[0]=u=>n.value=u),onInput:r,class:"w-full accent-blue-500 cursor-pointer"},null,40,ml),[[e.vModelText,n.value]]),e.createElementVNode("div",fl,[e.createElementVNode("span",null,e.toDisplayString(t.min),1),e.createElementVNode("span",null,e.toDisplayString(n.value),1),e.createElementVNode("span",null,e.toDisplayString(t.max),1)])]))}},vl={class:"flex items-center space-x-4"},Ze={__name:"Stepper",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("div",vl,[e.renderSlot(l.$slots,"default")]))}},pl={class:"flex items-center"},gl={class:"ml-2"},hl={class:"font-medium"},bl={key:0,class:"text-sm text-slate-400"},Ge={__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(l,a)=>(e.openBlock(),e.createElementBlock("div",pl,[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",gl,[e.createElementVNode("div",hl,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",bl,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)])]))}},kl={class:"flex border-b border-slate-200"},yl=["onClick"],xl={class:"p-4"},Ke={__name:"Tab",props:{defaultIndex:{type:Number,default:0}},setup(t){const l=t,a=e.ref(l.defaultIndex),o=e.ref([]),n=r=>{a.value=r};return e.provide("tabsContext",{activeIndex:a,tabs:o,registerTab:r=>(o.value.push({label:r}),o.value.length-1)}),(r,s)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",kl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(i,u)=>(e.openBlock(),e.createElementBlock("button",{key:u,onClick:v=>n(u),class:e.normalizeClass(["px-4 py-2 -mb-px border-b-2 font-medium text-sm transition-colors",a.value===u?"border-blue-500 text-blue-600":"border-transparent text-slate-500 hover:text-slate-700 hover:border-slate-300"])},e.toDisplayString(i.label),11,yl))),128))]),e.createElementVNode("div",xl,[e.renderSlot(r.$slots,"default")])]))}},Qe={__name:"TabPanel",props:{label:{type:String,required:!0}},setup(t){const l=t,a=e.inject("tabsContext"),o=e.ref(null),n=e.ref(!1);return e.onMounted(()=>{o.value=a.registerTab(l.label),n.value=a.activeIndex.value===o.value,watch(a.activeIndex,r=>{n.value=r===o.value})}),(r,s)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",null,[e.renderSlot(r.$slots,"default")],512)),[[e.vShow,n.value]])}},Cl=["aria-expanded","aria-controls","id","onClick"],wl={class:"flex items-center flex-1 min-w-0"},Bl={class:"flex-1 text-left"},Vl=["id","aria-labelledby"],Sl=["innerHTML"],Ye={__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:l}){const a={template:`
74
74
  <svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
75
75
  <path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" />
76
76
  </svg>
@@ -82,7 +82,7 @@
82
82
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7" />
83
83
  </svg>`},a={template:`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
84
84
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />
85
- </svg>`},o=new Date,n=e.ref(o.getMonth()),r=e.ref(o.getFullYear()),s=e.ref(null),i=["Su","Mo","Tu","We","Th","Fr","Sa"],u=e.computed(()=>new Date(r.value,n.value).toLocaleString("default",{month:"long"})),v=e.computed(()=>new Date(r.value,n.value+1,0).getDate()),p=e.computed(()=>new Date(r.value,n.value,1).getDay()),x=e.computed(()=>Array.from({length:p.value},(g,C)=>new Date(r.value,n.value,-C).getDate()).reverse()),y=e.computed(()=>{const g=x.value.length+v.value,C=g%7===0?0:7-g%7;return Array.from({length:C},(V,D)=>D+1)});function N(){n.value===0?(n.value=11,r.value--):n.value--}function h(){n.value===11?(n.value=0,r.value++):n.value++}function f(g){return o.getDate()===g&&o.getMonth()===n.value&&o.getFullYear()===r.value}function d(g){return s.value&&s.value.getDate()===g&&s.value.getMonth()===n.value&&s.value.getFullYear()===r.value}function b(g){s.value=new Date(r.value,n.value,g),emit("update:modelValue",s.value)}return(g,C)=>(e.openBlock(),e.createElementBlock("div",Nl,[e.createElementVNode("div",zl,[e.createVNode(A,{class:"p-2 rounded-lg hover:bg-slate-100",onClick:N,"aria-label":"Previous Month"},{default:e.withCtx(()=>[e.createVNode(l,{class:"w-5 h-5"})]),_:1}),e.createElementVNode("div",El,e.toDisplayString(u.value)+" "+e.toDisplayString(r.value),1),e.createVNode(A,{class:"p-2 rounded-lg hover:bg-slate-100",onClick:h,"aria-label":"Next Month"},{default:e.withCtx(()=>[e.createVNode(a,{class:"w-5 h-5"})]),_:1})]),e.createElementVNode("div",$l,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(i,V=>e.createElementVNode("div",{key:V},e.toDisplayString(V),1)),64))]),e.createElementVNode("div",Dl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.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(v.value,V=>(e.openBlock(),e.createBlock(A,{key:V,onClick:D=>b(V),class:e.normalizeClass(["w-10 h-10 rounded-full flex items-center justify-center mx-auto",f(V)?"bg-blue-500 text-white font-semibold":"",d(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(y.value,V=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+V,class:"text-slate-400 text-sm"},e.toDisplayString(V),1))),128))])]))}},Tl={class:"flex items-start justify-between"},Ml={key:0,class:"flex items-center gap-2"},ae={__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 l=t,a=m.cva("border-b border-slate-200",{variants:{variant:{default:"bg-white",minimal:"bg-transparent border-none",bordered:"bg-slate-50 border-2"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),o=m.cva("font-semibold text-slate-900",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),n=m.cva("text-slate-600 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),r=e.computed(()=>c(a({variant:l.variant,padding:l.padding}))),s=e.computed(()=>c(o({size:"md"}))),i=e.computed(()=>c(n({size:"md"})));return(u,v)=>t.title||t.description||u.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.value)},[e.renderSlot(u.$slots,"header",{},()=>[e.createElementVNode("div",Tl,[e.createElementVNode("div",null,[t.title?(e.openBlock(),e.createBlock(Q,{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(Q,{key:1,class:e.normalizeClass(i.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.description),1)]),_:1},8,["class"])):e.createCommentVNode("",!0)]),u.$slots.filters?(e.openBlock(),e.createElementBlock("div",Ml,[e.renderSlot(u.$slots,"filters")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)}},le={__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:l}){const a=t,o=l,n=m.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"}}),r=m.cva("whitespace-nowrap text-sm text-slate-900",{variants:{density:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"},align:{left:"text-left",center:"text-center",right:"text-right"}},defaultVariants:{density:"normal",align:"left"}}),s=f=>typeof f=="string"?f:f?.key||f?.field||"unknown",i=(f,d)=>{const b=s(d);return typeof d=="object"&&d.accessor?d.accessor(f):b&&b.includes(".")?b.split(".").reduce((g,C)=>g?.[C],f):f?.[b]},u=(f,d)=>{const b=i(f,d);return typeof d=="object"&&d.formatter?d.formatter(b,f):b==null?"":b instanceof Date?b.toLocaleDateString():Array.isArray(b)?b.join(", "):b},v=()=>{a.clickableRows&&o("row-click",{item:a.item,index:a.index})},p=f=>typeof f=="object"&&f.align?f.align:"left",x=e.computed(()=>c(n({striped:a.striped,hoverable:a.hoverable&&!a.clickableRows,clickable:a.clickableRows,selected:a.isSelected,variant:a.variant}))),y=f=>{const d=p(f);return c(r({density:a.density,align:d}),f.cellClasses)},N=e.computed(()=>c(r({density:a.density}),"w-12")),h=e.computed(()=>c(r({density:a.density,align:"right"}),"font-medium"));return(f,d)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(x.value),onClick:v},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(N.value)},[e.createVNode(Y,{modelValue:t.isSelected,"onUpdate:modelValue":d[0]||(d[0]=b=>f.$emit("toggle-selection",t.item))},null,8,["modelValue"])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,b=>(e.openBlock(),e.createElementBlock("td",{key:s(b),class:e.normalizeClass(y(b))},[e.renderSlot(f.$slots,`cell-${s(b)}`,{item:t.item,value:i(t.item,b),column:b,index:t.index},()=>[e.createTextVNode(e.toDisplayString(u(t.item,b)),1)])],2))),128)),f.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(h.value)},[e.renderSlot(f.$slots,"actions",{item:t.item,index:t.index})],2)):e.createCommentVNode("",!0)],2))}},Ll={class:"flex items-center justify-between"},Il={key:0,class:"text-sm text-slate-600"},jl={key:1,class:"text-sm text-slate-600"},Al={key:2,class:"flex items-center gap-4"},Fl={key:3,class:"flex items-center gap-4"},Pl={class:"flex items-center gap-2"},Rl={class:"flex items-center gap-1"},_l=["disabled"],ql=["disabled"],Hl={class:"flex items-center gap-1"},Ol=["onClick"],Ul=["disabled"],Zl=["disabled"],Gl={class:"text-sm text-slate-600 ml-4"},oe={__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:l}){const a=t,o=m.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"}}),n=m.cva("text-sm font-medium border rounded-md transition-colors duration-200",{variants:{state:{active:"bg-blue-600 text-white border-blue-600",inactive:"bg-white text-slate-700 border-slate-300 hover:bg-slate-50",disabled:"bg-slate-100 text-slate-400 border-slate-200 cursor-not-allowed"},size:{sm:"px-2 py-1",md:"px-3 py-2",lg:"px-4 py-3"}},defaultVariants:{state:"inactive",size:"md"}}),r=m.cva("text-slate-700",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"}},defaultVariants:{size:"md"}}),s=m.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),u=e.computed(()=>Math.min(a.currentPage*a.pageSize,a.total)),v=e.computed(()=>{const h=[],f=a.totalPages,d=a.currentPage,b=a.maxVisiblePages;if(f<=b)for(let g=1;g<=f;g++)h.push(g);else{const g=Math.floor(b/2);let C=Math.max(1,d-g),V=Math.min(f,C+b-1);V-C+1<b&&(C=Math.max(1,V-b+1));for(let D=C;D<=V;D++)h.push(D)}return h}),p=e.computed(()=>c(o({variant:a.variant,padding:a.padding}))),x=e.computed(()=>c(r({size:"md"}))),y=e.computed(()=>c(s({size:"sm"}))),N=(h,f)=>{let d="inactive";return f?d="disabled":h&&(d="active"),c(n({state:d,size:"md"}))};return(h,f)=>t.showPagination||h.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(p.value)},[e.createElementVNode("div",Ll,[t.selectable&&t.selectedCount>0?(e.openBlock(),e.createElementBlock("div",Il,e.toDisplayString(t.selectedCount)+" of "+e.toDisplayString(t.total)+" selected ",1)):(e.openBlock(),e.createElementBlock("div",jl," Showing "+e.toDisplayString(i.value)+" to "+e.toDisplayString(u.value)+" of "+e.toDisplayString(t.total)+" entries ",1)),h.$slots.footer?(e.openBlock(),e.createElementBlock("div",Al,[e.renderSlot(h.$slots,"footer")])):e.createCommentVNode("",!0),t.showPagination?(e.openBlock(),e.createElementBlock("div",Fl,[e.createElementVNode("div",Pl,[e.createVNode(ee,{for:"pageSize",class:e.normalizeClass(x.value),inline:!0},{default:e.withCtx(()=>[...f[5]||(f[5]=[e.createTextVNode("Show:",-1)])]),_:1},8,["class"]),e.createVNode(X,{id:"pageSize","model-value":t.pageSize.toString(),"onUpdate:modelValue":f[0]||(f[0]=d=>h.$emit("update:pageSize",parseInt(d))),class:e.normalizeClass(y.value)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizeOptions,d=>(e.openBlock(),e.createBlock(te,{key:d,value:d.toString(),label:d.toString()},null,8,["value","label"]))),128))]),_:1},8,["model-value","class"])]),e.createElementVNode("div",Rl,[e.createElementVNode("button",{disabled:t.currentPage===1,onClick:f[1]||(f[1]=d=>h.$emit("update:currentPage",1)),class:e.normalizeClass(N(!1,t.currentPage===1)),title:"First page"},[...f[6]||(f[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,_l),e.createElementVNode("button",{disabled:t.currentPage===1,onClick:f[2]||(f[2]=d=>h.$emit("update:currentPage",t.currentPage-1)),class:e.normalizeClass(N(!1,t.currentPage===1)),title:"Previous page"},[...f[7]||(f[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,ql),e.createElementVNode("div",Hl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,d=>(e.openBlock(),e.createElementBlock("button",{key:d,onClick:b=>h.$emit("update:currentPage",d),class:e.normalizeClass(N(d===t.currentPage,!1))},e.toDisplayString(d),11,Ol))),128))]),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,onClick:f[3]||(f[3]=d=>h.$emit("update:currentPage",t.currentPage+1)),class:e.normalizeClass(N(!1,t.currentPage===t.totalPages)),title:"Next page"},[...f[8]||(f[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,Ul),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,onClick:f[4]||(f[4]=d=>h.$emit("update:currentPage",t.totalPages)),class:e.normalizeClass(N(!1,t.currentPage===t.totalPages)),title:"Last page"},[...f[9]||(f[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,Zl)]),e.createElementVNode("div",Gl," Page "+e.toDisplayString(t.currentPage)+" of "+e.toDisplayString(t.totalPages),1)])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)}},Kl={class:"overflow-x-auto"},Ql=["onClick"],Yl={class:"flex items-center gap-2"},Xl={key:0,class:"flex flex-col"},Wl={key:0},Jl=["colspan"],eo={class:"text-center py-8"},to={class:"text-slate-500"},Je={__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:l}){const a=t,o=l,n=e.ref(1),r=e.ref(a.pageSize),s=e.ref(a.sortBy),i=e.ref(a.sortOrder),u=m.cva("bg-white border border-slate-200 rounded-lg overflow-hidden",{variants:{variant:{default:"shadow-sm",bordered:"border-2 border-slate-300",minimal:"border-none shadow-none bg-transparent"}},defaultVariants:{variant:"default"}}),v=m.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"}}),p=m.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"}}),x=m.cva("divide-y",{variants:{variant:{default:"bg-white divide-slate-200",bordered:"bg-white divide-slate-300",minimal:"bg-transparent divide-slate-100"}},defaultVariants:{variant:"default"}}),y=e.computed(()=>{let k=[...a.data];if(s.value){const E=a.columns.find(M=>M.key===s.value);E&&k.sort((M,_)=>{const O=g(M,E),K=g(_,E);return O<K?i.value==="asc"?-1:1:O>K?i.value==="asc"?1:-1:0})}return k}),N=e.computed(()=>Math.ceil(y.value.length/r.value)),h=e.computed(()=>{if(!a.showPagination)return y.value;const k=(n.value-1)*r.value,E=k+r.value;return y.value.slice(k,E)}),f=e.computed(()=>{let k=a.columns.length;return a.selectable&&k++,a.$slots?.actions&&k++,k}),d=e.computed(()=>y.value.length>0&&y.value.every(k=>V(k))),b=e.computed(()=>{const k=y.value.filter(E=>V(E)).length;return k>0&&k<y.value.length}),g=(k,E)=>E.accessor?E.accessor(k):E.key.split(".").reduce((M,_)=>M?.[_],k),C=(k,E)=>k[a.rowKey]||E,V=k=>a.selectedItems.some(E=>C(E)===C(k)),D=k=>{const E=[...a.selectedItems],M=E.findIndex(_=>C(_)===C(k));M>-1?E.splice(M,1):E.push(k),o("selection-change",E)},F=()=>{const k=d.value?[]:[...y.value];o("selection-change",k)},P=k=>{k.sortable&&(s.value===k.key?i.value=i.value==="asc"?"desc":"asc":(s.value=k.key,i.value="asc"),o("sort-change",{column:k.key,direction:i.value}))},$=k=>{o("row-click",k)},I=e.computed(()=>c(u({variant:a.variant}))),B=e.computed(()=>c(v({variant:a.variant}))),T=e.computed(()=>c(p({variant:a.variant}))),j=e.computed(()=>c(x({variant:a.variant}))),R=k=>c({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":k.sortable}),z=e.computed(()=>c({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")),w=e.computed(()=>c({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[a.density],"whitespace-nowrap text-sm font-medium")),S=e.computed(()=>c({compact:"px-4 py-4",normal:"px-6 py-6",comfortable:"px-8 py-8"}[a.density],"text-center")),H=(k,E)=>c({"text-blue-600":s.value===k.key&&i.value===E,"text-slate-300":s.value!==k.key||i.value!==E});return e.watch(()=>a.selectedItems,k=>{},{deep:!0}),e.watch(()=>a.pageSize,k=>{r.value=k}),(k,E)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(I.value)},[t.title||t.description||k.$slots.header?(e.openBlock(),e.createBlock(ae,{key:0,title:t.title,description:t.description,variant:t.headerVariant,padding:t.headerPadding},{header:e.withCtx(()=>[e.renderSlot(k.$slots,"header")]),filters:e.withCtx(()=>[e.renderSlot(k.$slots,"filters")]),_:3},8,["title","description","variant","padding"])):e.createCommentVNode("",!0),e.createElementVNode("div",Kl,[e.createElementVNode("table",{class:e.normalizeClass(B.value)},[e.createElementVNode("thead",{class:e.normalizeClass(T.value)},[e.createElementVNode("tr",null,[t.selectable?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(z.value)},[e.createVNode(Y,{modelValue:d.value,indeterminate:b.value,"onUpdate:modelValue":F},null,8,["modelValue","indeterminate"])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,M=>(e.openBlock(),e.createElementBlock("th",{key:M.key,class:e.normalizeClass(R(M)),onClick:_=>P(M)},[e.createElementVNode("div",Yl,[e.createElementVNode("span",null,e.toDisplayString(M.label),1),M.sortable?(e.openBlock(),e.createElementBlock("div",Xl,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([H(M,"asc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...E[2]||(E[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([H(M,"desc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...E[3]||(E[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,Ql))),128)),k.$slots.actions?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass(w.value)}," Actions ",2)):e.createCommentVNode("",!0)])],2),e.createElementVNode("tbody",{class:e.normalizeClass(j.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(M,_)=>(e.openBlock(),e.createBlock(le,{key:C(M,_),item:M,columns:t.columns,index:_,selectable:t.selectable,"is-selected":V(M),striped:t.striped,hoverable:t.hoverable,"clickable-rows":t.clickableRows,density:t.density,onToggleSelection:D,onRowClick:$},e.createSlots({actions:e.withCtx(O=>[e.renderSlot(k.$slots,"actions",e.mergeProps({ref_for:!0},O))]),_:2},[e.renderList(t.columns,O=>({name:`cell-${O.key}`,fn:e.withCtx(K=>[e.renderSlot(k.$slots,`cell-${O.key}`,e.mergeProps({ref_for:!0},K))])}))]),1032,["item","columns","index","selectable","is-selected","striped","hoverable","clickable-rows","density"]))),128)),h.value.length===0?(e.openBlock(),e.createElementBlock("tr",Wl,[e.createElementVNode("td",{colspan:f.value,class:e.normalizeClass(S.value)},[e.renderSlot(k.$slots,"empty",{},()=>[e.createElementVNode("div",eo,[E[4]||(E[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",to,e.toDisplayString(t.emptyText),1)])])],10,Jl)])):e.createCommentVNode("",!0)],2)],2)]),t.showPagination||k.$slots.footer?(e.openBlock(),e.createBlock(oe,{key:1,"current-page":n.value,"total-pages":N.value,total:y.value.length,"page-size":r.value,"show-pagination":t.showPagination,selectable:t.selectable,"selected-count":t.selectedItems.length,variant:t.paginationVariant,padding:t.paginationPadding,"onUpdate:currentPage":E[0]||(E[0]=M=>n.value=M),"onUpdate:pageSize":E[1]||(E[1]=M=>r.value=M)},{footer:e.withCtx(()=>[e.renderSlot(k.$slots,"footer")]),_:3},8,["current-page","total-pages","total","page-size","show-pagination","selectable","selected-count","variant","padding"])):e.createCommentVNode("",!0)],2))}},et={__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 l=t,a=e.computed(()=>{const s=l.value??o();return l.column.formatter?l.column.formatter(s,l.item):s}),o=()=>l.column.accessor?l.column.accessor(l.item):l.column.key.split(".").reduce((s,i)=>s?.[i],l.item),n=m.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"}}),r=e.computed(()=>{const s=l.align||l.column.align||"left",i=`text-${l.textColor}`,u=l.width?`w-${l.width}`:"";return c(n({align:s,padding:l.padding,textSize:l.textSize}),i,u,l.column.cellClasses)});return(s,i)=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(r.value)},[e.renderSlot(s.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])],2))}},ao={class:"flex-1 min-w-64"},lo={class:"relative"},oo={key:0,class:"min-w-32"},no=["value"],ro={key:1,class:"flex items-center gap-2"},so={key:2,class:"flex items-center gap-2"},io={class:"flex items-center gap-2 ml-auto"},co={class:"flex items-center gap-2 flex-wrap"},tt={__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:l}){const a={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><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" /></svg>'},o={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg>'},n={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3" /></svg>'},r={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" /></svg>'},s=t,i=l,u=m.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"}}),v=m.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"}}),p=m.cva("rounded-md flex items-center gap-2 font-medium transition-colors",{variants:{variant:{default:"text-slate-600 hover:text-slate-800 border border-slate-300 hover:bg-slate-50",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"}}),x=m.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"}}),y=e.computed(()=>s.searchQuery||s.selectedStatus||s.dateFrom||s.dateTo),N=e.computed(()=>{const z=[];if(s.searchQuery&&s.searchQuery.trim()&&z.push({key:"search",label:"Search",value:s.searchQuery}),s.selectedStatus){const w=s.statusOptions.find(S=>S.value===s.selectedStatus);z.push({key:"status",label:"Status",value:w?.label||s.selectedStatus})}if(s.dateFrom||s.dateTo){let w="";s.dateFrom&&s.dateTo?w=`${s.dateFrom} to ${s.dateTo}`:s.dateFrom?w=`From ${s.dateFrom}`:s.dateTo&&(w=`Until ${s.dateTo}`),w&&z.push({key:"date",label:"Date Range",value:w})}return z}),h=e.computed(()=>c(u({variant:s.variant,padding:s.padding}))),f=e.computed(()=>"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-slate-400"),d=e.computed(()=>c(v({size:"md"}),"w-full pl-10 focus:border-transparent")),b=e.computed(()=>"absolute right-2 top-1/2 transform -translate-y-1/2 text-slate-400 hover:text-slate-600 p-1"),g=e.computed(()=>c(v({size:"md"}),"w-full focus:border-transparent")),C=e.computed(()=>c(v({size:"md"}))),V=e.computed(()=>"text-slate-500"),D=e.computed(()=>c(p({variant:"default",size:"md"}))),F=e.computed(()=>c(p({variant:"primary",size:"md"}))),P=e.computed(()=>c(p({variant:"success",size:"md"}))),$=e.computed(()=>c(x({variant:s.variant}))),I=e.computed(()=>"text-sm text-blue-700 font-medium"),B=e.computed(()=>"flex items-center gap-1 bg-blue-100 text-blue-800 px-2 py-1 rounded-md text-sm"),T=e.computed(()=>"text-blue-600 hover:text-blue-800 p-0.5"),j=()=>{i("update:searchQuery",""),i("update:selectedStatus",""),i("update:dateFrom",""),i("update:dateTo",""),i("clear-filters")},R=z=>{switch(z){case"search":i("update:searchQuery","");break;case"status":i("update:selectedStatus","");break;case"date":i("update:dateFrom",""),i("update:dateTo","");break}};return(z,w)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:e.normalizeClass(h.value)},[e.createElementVNode("div",ao,[e.createElementVNode("div",lo,[e.createVNode(a,{class:e.normalizeClass(f.value)},null,8,["class"]),e.createVNode(U,{"model-value":t.searchQuery,onInput:w[0]||(w[0]=S=>z.$emit("update:searchQuery",S.target.value)),placeholder:t.searchPlaceholder,class:e.normalizeClass(d.value)},null,8,["model-value","placeholder","class"]),t.searchQuery?(e.openBlock(),e.createBlock(A,{key:0,onClick:w[1]||(w[1]=S=>z.$emit("update:searchQuery","")),class:e.normalizeClass(b.value)},{default:e.withCtx(()=>[e.createVNode(o,{class:"w-4 h-4"})]),_:1},8,["class"])):e.createCommentVNode("",!0)])]),t.statusOptions.length>0?(e.openBlock(),e.createElementBlock("div",oo,[e.createVNode(X,{"model-value":t.selectedStatus,onChange:w[2]||(w[2]=S=>z.$emit("update:selectedStatus",S.target.value)),class:e.normalizeClass(g.value)},{default:e.withCtx(()=>[w[7]||(w[7]=e.createElementVNode("option",{value:""},"All Status",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.statusOptions,S=>(e.openBlock(),e.createElementBlock("option",{key:S.value,value:S.value},e.toDisplayString(S.label),9,no))),128))]),_:1},8,["model-value","class"])])):e.createCommentVNode("",!0),t.showDateFilter?(e.openBlock(),e.createElementBlock("div",ro,[e.createVNode(U,{type:"date","model-value":t.dateFrom,onInput:w[3]||(w[3]=S=>z.$emit("update:dateFrom",S.target.value)),class:e.normalizeClass(C.value)},null,8,["model-value","class"]),e.createElementVNode("span",{class:e.normalizeClass(V.value)},"to",2),e.createVNode(U,{type:"date","model-value":t.dateTo,onInput:w[4]||(w[4]=S=>z.$emit("update:dateTo",S.target.value)),class:e.normalizeClass(C.value)},null,8,["model-value","class"])])):e.createCommentVNode("",!0),z.$slots.filters?(e.openBlock(),e.createElementBlock("div",so,[e.renderSlot(z.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",io,[y.value?(e.openBlock(),e.createBlock(A,{key:0,onClick:j,class:e.normalizeClass(D.value)},{default:e.withCtx(()=>[...w[8]||(w[8]=[e.createTextVNode(" Clear Filters ",-1)])]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(A,{key:1,onClick:w[5]||(w[5]=S=>z.$emit("export")),class:e.normalizeClass(F.value)},{default:e.withCtx(()=>[e.createVNode(n,{class:"w-4 h-4"}),w[9]||(w[9]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showAdd?(e.openBlock(),e.createBlock(A,{key:2,onClick:w[6]||(w[6]=S=>z.$emit("add")),class:e.normalizeClass(P.value)},{default:e.withCtx(()=>[e.createVNode(r,{class:"w-4 h-4"}),w[10]||(w[10]=e.createTextVNode(" Add New ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0)])],2),N.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass($.value)},[e.createElementVNode("div",co,[e.createElementVNode("span",{class:e.normalizeClass(I.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,S=>(e.openBlock(),e.createElementBlock("div",{key:S.key,class:e.normalizeClass(B.value)},[e.createElementVNode("span",null,e.toDisplayString(S.label)+": "+e.toDisplayString(S.value),1),e.createVNode(A,{onClick:H=>R(S.key),class:e.normalizeClass(T.value)},{default:e.withCtx(()=>[e.createVNode(o,{class:"w-3 h-3"})]),_:1},8,["onClick","class"])],2))),128))])],2)):e.createCommentVNode("",!0)]))}},uo={class:"flex items-center gap-3"},mo={key:0,class:"flex items-center gap-3"},fo={class:"text-sm text-slate-600"},vo={class:"flex items-center gap-2"},po={class:"flex items-center gap-3"},go=["onClick","title"],ho={key:1,class:"relative"},bo={class:"p-3"},ko={class:"space-y-1"},yo={class:"flex items-center gap-2 cursor-pointer w-full"},xo=["checked","onChange"],Co=["disabled"],wo={key:3,class:"flex items-center gap-2"},Bo={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m0 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75" /></svg>'},Vo={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99" /></svg>'},So={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" /></svg>'},No={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 9h16.5m-16.5 6.75h16.5" /></svg>'},zo={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14" /></svg>'},Eo=[{key:"delete",label:"Delete",icon:{template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" /></svg>'},variant:"danger"},{key:"edit",label:"Edit",icon:{template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10" /></svg>'},variant:"primary"}],$o={name:"DataTableToolBar"},at=Object.assign($o,{props:{selectedItems:{type:Array,default:()=>[]},totalItems:{type:Number,default:0},bulkActions:{type:Array,default:()=>Eo},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:l}){const a=t,o=l,n=e.ref(!1),r=e.ref(null),s=e.ref(null),i=e.computed(()=>a.selectedItems.length),u=[{value:"compact",label:"Compact",icon:zo},{value:"normal",label:"Normal",icon:No},{value:"comfortable",label:"Comfortable",icon:So}],v=m.cva("flex items-center justify-between border-b border-slate-200",{variants:{variant:{default:"bg-white",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-50 border-slate-300"},padding:{compact:"p-2",normal:"p-4",comfortable:"p-6"}},defaultVariants:{variant:"default",padding:"normal"}}),p=m.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-50 hover:bg-red-100 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-50 hover:bg-slate-100 border border-slate-200"}},defaultVariants:{variant:"secondary"}}),x=m.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"}}),y=m.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"}}),N=e.computed(()=>c(v({variant:a.variant,padding:a.padding}))),h=e.computed(()=>"text-sm text-slate-600"),f=e.computed(()=>"flex items-center"),d=e.computed(()=>"flex items-center gap-2 px-3 py-2 text-sm text-slate-600 hover:text-slate-800 border border-slate-300 rounded-md hover:bg-slate-50 transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1"),b=e.computed(()=>"absolute right-0 top-full mt-1 w-56 bg-white border border-slate-200 rounded-lg shadow-lg z-50 max-h-64 overflow-y-auto"),g=e.computed(()=>"text-xs font-medium text-slate-500 uppercase tracking-wider mb-2 border-b border-slate-100 pb-2"),C=e.computed(()=>"py-1 hover:bg-slate-50 rounded transition-colors"),V=e.computed(()=>"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 focus:ring-2 focus:ring-offset-1"),D=e.computed(()=>"text-sm text-slate-700 flex-1 select-none"),F=z=>{r.value&&s.value&&!r.value.contains(z.target)&&!s.value.contains(z.target)&&(n.value=!1)},P=()=>{n.value=!n.value},$=z=>c(p({variant:z.variant||"secondary"})),I=z=>{let w="middle";return z==="compact"?w="first":z==="comfortable"&&(w="last"),c(x({active:a.density===z,position:w}))},B=()=>c(y({state:a.isRefreshing?"refreshing":"normal"})),T=()=>c("w-4 h-4",{"animate-spin":a.isRefreshing}),j=z=>a.visibleColumns.includes(z),R=(z,w)=>{o("toggle-column",{column:z,visible:w})};return e.onMounted(()=>{document.addEventListener("click",F)}),e.onUnmounted(()=>{document.removeEventListener("click",F)}),(z,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(N.value)},[e.createElementVNode("div",uo,[i.value>0?(e.openBlock(),e.createElementBlock("div",mo,[e.createElementVNode("span",fo,e.toDisplayString(i.value)+" selected ",1),e.createElementVNode("div",vo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bulkActions,S=>(e.openBlock(),e.createBlock(A,{key:S.key,onClick:H=>z.$emit("bulk-action",{action:S.key,items:t.selectedItems}),class:e.normalizeClass($(S))},{default:e.withCtx(()=>[S.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.icon),{key:0,class:"w-4 h-4"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(S.label),1)]),_:2},1032,["onClick","class"]))),128))])])):t.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(h.value)},e.toDisplayString(t.totalItems)+" "+e.toDisplayString(t.totalItems===1?"item":"items"),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",po,[t.showDensityToggle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(f.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(u,S=>e.createElementVNode("button",{key:S.value,onClick:H=>z.$emit("update:density",S.value),class:e.normalizeClass(I(S.value)),title:S.label,type:"button"},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.icon),{class:"w-4 h-4"}))],10,go)),64))],2)):e.createCommentVNode("",!0),t.showColumnToggle?(e.openBlock(),e.createElementBlock("div",ho,[e.createElementVNode("button",{onClick:e.withModifiers(P,["stop"]),class:e.normalizeClass(d.value),type:"button",ref_key:"columnToggleButton",ref:r},[e.createVNode(Bo,{class:"w-4 h-4"}),w[2]||(w[2]=e.createElementVNode("span",null,"Columns",-1))],2),e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:s,class:e.normalizeClass(b.value),onClick:w[0]||(w[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",bo,[e.createElementVNode("div",{class:e.normalizeClass(g.value)}," Show Columns ",2),e.createElementVNode("div",ko,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toggleableColumns,S=>(e.openBlock(),e.createElementBlock("div",{key:S.key,class:e.normalizeClass(C.value)},[e.createElementVNode("label",yo,[e.createElementVNode("input",{type:"checkbox",checked:j(S.key),onChange:H=>R(S.key,H.target.checked),class:e.normalizeClass(V.value)},null,42,xo),e.createElementVNode("span",{class:e.normalizeClass(D.value)},e.toDisplayString(S.label),3)])],2))),128))])])],2),[[e.vShow,n.value]])])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:w[1]||(w[1]=S=>z.$emit("refresh")),disabled:t.isRefreshing,class:e.normalizeClass(B()),type:"button"},[e.createVNode(Vo,{class:e.normalizeClass(T())},null,8,["class"]),w[3]||(w[3]=e.createElementVNode("span",null,"Refresh",-1))],10,Co)):e.createCommentVNode("",!0),z.$slots.actions?(e.openBlock(),e.createElementBlock("div",wo,[e.renderSlot(z.$slots,"actions")])):e.createCommentVNode("",!0)])],2))}}),Do={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"},To={class:"grid grid-cols-1 md:grid-cols-4 gap-8"},Mo={class:"col-span-1 md:col-span-2"},Lo={class:"space-y-2"},Io={class:"flex space-x-4"},jo={class:"flex flex-col md:flex-row justify-between items-center"},Ao={class:"flex space-x-6 mt-4 md:mt-0"},lt={__name:"Footer",props:{className:{type:String,default:""}},setup(t){return(l,a)=>{const o=e.resolveComponent("Logo"),n=e.resolveComponent("Text"),r=e.resolveComponent("Typography"),s=e.resolveComponent("Link"),i=e.resolveComponent("Icon"),u=e.resolveComponent("Divider");return e.openBlock(),e.createElementBlock("footer",{class:e.normalizeClass(e.unref(c)("bg-gray-50 border-t border-gray-200",t.className))},[e.createElementVNode("div",Do,[e.createElementVNode("div",To,[e.createElementVNode("div",Mo,[e.renderSlot(l.$slots,"brand",{},()=>[e.createVNode(o,{class:"mb-4"}),e.createVNode(n,{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(l.$slots,"links",{},()=>[e.createVNode(r,{variant:"h6",class:"mb-4"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode("Quick Links",-1)])]),_:1}),e.createElementVNode("div",Lo,[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(l.$slots,"social",{},()=>[e.createVNode(r,{variant:"h6",class:"mb-4"},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode("Follow Us",-1)])]),_:1}),e.createElementVNode("div",Io,[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(u,{class:"my-8"}),e.createElementVNode("div",jo,[e.renderSlot(l.$slots,"copyright",{},()=>[e.createVNode(n,{class:"text-gray-600"},{default:e.withCtx(()=>[e.createTextVNode(" © "+e.toDisplayString(new Date().getFullYear())+" Your Company. All rights reserved. ",1)]),_:1})]),e.renderSlot(l.$slots,"legal",{},()=>[e.createElementVNode("div",Ao,[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)}}},Fo={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},Po={class:"flex justify-between items-center h-16"},Ro={class:"flex items-center"},_o={class:"hidden md:block"},qo={class:"flex items-center space-x-4"},Ho={class:"md:hidden"},ot={__name:"Header",props:{className:{type:String,default:""}},emits:["toggle-mobile-menu"],setup(t){return(l,a)=>{const o=e.resolveComponent("Logo"),n=e.resolveComponent("MainNavigation"),r=e.resolveComponent("Button"),s=e.resolveComponent("Icon");return e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(c)("bg-white border-b border-gray-200 shadow-sm",t.className))},[e.createElementVNode("div",Fo,[e.createElementVNode("div",Po,[e.createElementVNode("div",Ro,[e.renderSlot(l.$slots,"logo",{},()=>[e.createVNode(o)])]),e.createElementVNode("div",_o,[e.renderSlot(l.$slots,"navigation",{},()=>[e.createVNode(n)])]),e.createElementVNode("div",qo,[e.renderSlot(l.$slots,"actions",{},()=>[e.createVNode(r,{variant:"ghost",size:"sm"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode("Sign In",-1)])]),_:1}),e.createVNode(r,{size:"sm"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode("Sign Up",-1)])]),_:1})])]),e.createElementVNode("div",Ho,[e.renderSlot(l.$slots,"mobile-toggle",{},()=>[e.createVNode(r,{variant:"ghost",size:"sm",onClick:a[0]||(a[0]=i=>l.$emit("toggle-mobile-menu"))},{default:e.withCtx(()=>[e.createVNode(s,{name:"menu",class:"h-5 w-5"})]),_:1})])])])])],2)}}},Oo={class:"p-6"},Uo={class:"mb-8"},Zo={class:"space-y-2"},Go={class:"mt-auto pt-8"},Ko={class:"flex items-center space-x-3"},nt={__name:"Sidebar",props:{items:{type:Array,default:()=>[{label:"Dashboard",href:"/dashboard",icon:"home",active:!0},{label:"Users",href:"/users",icon:"users"},{label:"Settings",href:"/settings",icon:"settings"}]},className:{type:String,default:""}},setup(t){return(l,a)=>{const o=e.resolveComponent("Logo"),n=e.resolveComponent("SidebarNavigation"),r=e.resolveComponent("Divider"),s=e.resolveComponent("Avatar"),i=e.resolveComponent("Text");return e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(e.unref(c)("bg-white border-r border-gray-200 h-full",t.className))},[e.createElementVNode("div",Oo,[e.createElementVNode("div",Uo,[e.renderSlot(l.$slots,"header",{},()=>[e.createVNode(o)])]),e.createElementVNode("nav",Zo,[e.renderSlot(l.$slots,"navigation",{},()=>[e.createVNode(n,{items:t.items},null,8,["items"])])]),e.createElementVNode("div",Go,[e.renderSlot(l.$slots,"footer",{},()=>[e.createVNode(r,{class:"mb-4"}),e.createElementVNode("div",Ko,[e.createVNode(s,{size:"sm"}),e.createElementVNode("div",null,[e.createVNode(i,{class:"text-sm font-medium"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode("John Doe",-1)])]),_:1}),e.createVNode(i,{class:"text-xs text-gray-500"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode("john@example.com",-1)])]),_:1})])])])])])],2)}}},rt={__name:"Timeline",props:{orientation:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)}},setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex",t.orientation==="vertical"?"flex-col":"flex-row"])},[e.renderSlot(l.$slots,"default")],2))}},Qo={key:0,class:"absolute left-3 top-0 w-0.5 h-full bg-slate-200"},Yo={class:"z-10 flex items-center justify-center w-6 h-6 rounded-full border-2 border-blue-500 bg-white text-blue-500"},Xo={class:"text-slate-900 font-medium"},Wo={key:0,class:"text-slate-500 text-sm"},Jo={class:"mt-2 text-slate-600 text-sm"},st={__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(l,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",Qo)):e.createCommentVNode("",!0),e.createElementVNode("div",Yo,[e.renderSlot(l.$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",Xo,[e.renderSlot(l.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),t.subtitle?(e.openBlock(),e.createElementBlock("p",Wo,[e.renderSlot(l.$slots,"subtitle",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Jo,[e.renderSlot(l.$slots,"default")])],2)],2))}},it=(t,l)=>{const a=t.__vccOpts||t;for(const[o,n]of l)a[o]=n;return a},en={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:"fab fa-linkedin-in",variant:"primary"},{name:"facebook",url:"#",icon:"fab fa-facebook-f",variant:"primary"},{name:"twitter",url:"#",icon:"fab fa-twitter",variant:"info"}]}},setup(t){return{currentYear:e.computed(()=>new Date().getFullYear())}}},tn={class:"container mx-auto px-4 relative z-10"},an={class:"grid lg:grid-cols-10 gap-8 items-center min-h-screen"},ln={class:"lg:col-span-6 text-white text-center lg:text-left space-y-6"},on={class:"mb-6"},nn={class:"text-4xl lg:text-6xl font-bold mb-2"},rn={class:"text-white"},sn={class:"flex items-center justify-center lg:justify-start mb-6"},cn={class:"text-3xl lg:text-4xl font-bold text-white"},dn={class:"lg:col-span-4"},un={class:"bg-white rounded-lg shadow-xl p-6 lg:p-8 max-w-md mx-auto"},mn={key:0,class:"mb-6"},fn={class:"text-center"},vn={class:"text-2xl font-bold text-gray-900"},pn={key:0,class:"text-gray-600 mt-2"},gn={class:"space-y-6"},hn={key:1,class:"mt-6"},bn={key:0,class:"mt-6 text-center"},kn={class:"absolute bottom-4 right-4 text-right"},yn={class:"flex items-end justify-end mb-2"},xn={class:"text-right mr-3"},Cn={class:"text-red-500 font-bold text-xs"},wn={class:"text-white text-xs"},Bn={class:"text-white/70 text-xs"},Vn={class:"w-8 h-8 bg-red-500 rounded flex items-center justify-center text-white font-bold text-xs"},Sn={class:"text-white/70 text-xs"},Nn={class:"absolute bottom-4 left-4 flex gap-2"},zn=["href"];function En(t,l,a,o,n,r){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",tn,[e.createElementVNode("div",an,[e.createElementVNode("div",ln,[e.createElementVNode("div",on,[e.createElementVNode("div",nn,[e.createElementVNode("span",{style:e.normalizeStyle({color:a.primaryColor})},e.toDisplayString(a.primaryLogoPrefix),5),e.createElementVNode("span",rn,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",sn,[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",cn,e.toDisplayString(a.secondaryLogoText),1)]),l[0]||(l[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",dn,[e.createElementVNode("div",un,[t.$slots["card-header"]||a.title?(e.openBlock(),e.createElementBlock("div",mn,[e.renderSlot(t.$slots,"card-header",{},()=>[e.createElementVNode("div",fn,[e.createElementVNode("h1",vn,e.toDisplayString(a.title),1),a.subtitle?(e.openBlock(),e.createElementBlock("p",pn,e.toDisplayString(a.subtitle),1)):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",gn,[e.renderSlot(t.$slots,"default")]),t.$slots["card-footer"]?(e.openBlock(),e.createElementBlock("div",hn,[e.renderSlot(t.$slots,"card-footer")])):e.createCommentVNode("",!0)]),t.$slots.links?(e.openBlock(),e.createElementBlock("div",bn,[e.renderSlot(t.$slots,"links")])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",kn,[e.createElementVNode("div",yn,[e.createElementVNode("div",xn,[e.createElementVNode("div",Cn,e.toDisplayString(a.companyName),1),e.createElementVNode("div",wn,e.toDisplayString(a.companyType),1),e.createElementVNode("div",Bn,e.toDisplayString(a.companyTagline),1)]),e.createElementVNode("div",Vn,e.toDisplayString(a.companyInitials),1)]),e.createElementVNode("div",Sn,[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",Nn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.socialLinks,s=>(e.openBlock(),e.createElementBlock("a",{key:s.name,href:s.url,class:e.normalizeClass(["w-8 h-7 flex items-center justify-center rounded text-xs transition-colors",s.variant==="primary"?"bg-blue-600 hover:bg-blue-700 text-white":s.variant==="info"?"bg-cyan-500 hover:bg-cyan-600 text-white":"bg-gray-600 hover:bg-gray-700 text-white"])},[e.createElementVNode("i",{class:e.normalizeClass(s.icon)},null,2)],10,zn))),128))])],4)}const ct=it(en,[["render",En]]),$n={class:"min-h-screen bg-gray-50"},Dn={class:"flex-1"},Tn={key:0,class:"bg-white border-b border-gray-200"},Mn={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},Ln={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},dt={__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(l,a)=>{const o=e.resolveComponent("Logo"),n=e.resolveComponent("MainNavigation"),r=e.resolveComponent("Button"),s=e.resolveComponent("Header"),i=e.resolveComponent("Breadcrumb"),u=e.resolveComponent("Text"),v=e.resolveComponent("Footer");return e.openBlock(),e.createElementBlock("div",$n,[e.createVNode(s,null,{logo:e.withCtx(()=>[e.renderSlot(l.$slots,"logo",{},()=>[e.createVNode(o)])]),navigation:e.withCtx(()=>[e.renderSlot(l.$slots,"navigation",{},()=>[e.createVNode(n,{items:t.navigationItems},null,8,["items"])])]),actions:e.withCtx(()=>[e.renderSlot(l.$slots,"header-actions",{},()=>[e.createVNode(r,{variant:"ghost",size:"sm"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode("Sign In",-1)])]),_:1}),e.createVNode(r,{size:"sm"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode("Get Started",-1)])]),_:1})])]),_:3}),e.createElementVNode("main",Dn,[t.showBreadcrumb?(e.openBlock(),e.createElementBlock("div",Tn,[e.createElementVNode("div",Mn,[e.renderSlot(l.$slots,"breadcrumb",{},()=>[e.createVNode(i,{items:t.breadcrumbItems},null,8,["items"])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Ln,[e.renderSlot(l.$slots,"default")])]),e.createVNode(v,null,{brand:e.withCtx(()=>[e.renderSlot(l.$slots,"footer-brand",{},()=>[e.createVNode(o,{class:"mb-4"}),e.createVNode(u,{class:"text-gray-600 max-w-md"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" Your application description goes here. ",-1)])]),_:1})])]),_:3})])}}},In={template:`
85
+ </svg>`},o=new Date,n=e.ref(o.getMonth()),r=e.ref(o.getFullYear()),s=e.ref(null),i=["Su","Mo","Tu","We","Th","Fr","Sa"],u=e.computed(()=>new Date(r.value,n.value).toLocaleString("default",{month:"long"})),v=e.computed(()=>new Date(r.value,n.value+1,0).getDate()),p=e.computed(()=>new Date(r.value,n.value,1).getDay()),x=e.computed(()=>Array.from({length:p.value},(g,C)=>new Date(r.value,n.value,-C).getDate()).reverse()),y=e.computed(()=>{const g=x.value.length+v.value,C=g%7===0?0:7-g%7;return Array.from({length:C},(V,D)=>D+1)});function N(){n.value===0?(n.value=11,r.value--):n.value--}function h(){n.value===11?(n.value=0,r.value++):n.value++}function f(g){return o.getDate()===g&&o.getMonth()===n.value&&o.getFullYear()===r.value}function d(g){return s.value&&s.value.getDate()===g&&s.value.getMonth()===n.value&&s.value.getFullYear()===r.value}function b(g){s.value=new Date(r.value,n.value,g),emit("update:modelValue",s.value)}return(g,C)=>(e.openBlock(),e.createElementBlock("div",Nl,[e.createElementVNode("div",zl,[e.createVNode(A,{class:"p-2 rounded-lg hover:bg-slate-100",onClick:N,"aria-label":"Previous Month"},{default:e.withCtx(()=>[e.createVNode(l,{class:"w-5 h-5"})]),_:1}),e.createElementVNode("div",El,e.toDisplayString(u.value)+" "+e.toDisplayString(r.value),1),e.createVNode(A,{class:"p-2 rounded-lg hover:bg-slate-100",onClick:h,"aria-label":"Next Month"},{default:e.withCtx(()=>[e.createVNode(a,{class:"w-5 h-5"})]),_:1})]),e.createElementVNode("div",$l,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(i,V=>e.createElementVNode("div",{key:V},e.toDisplayString(V),1)),64))]),e.createElementVNode("div",Dl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.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(v.value,V=>(e.openBlock(),e.createBlock(A,{key:V,onClick:D=>b(V),class:e.normalizeClass(["w-10 h-10 rounded-full flex items-center justify-center mx-auto",f(V)?"bg-blue-500 text-white font-semibold":"",d(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(y.value,V=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+V,class:"text-slate-400 text-sm"},e.toDisplayString(V),1))),128))])]))}},Tl={class:"flex items-start justify-between"},Ml={key:0,class:"flex items-center gap-2"},ae={__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 l=t,a=m.cva("border-b border-slate-200",{variants:{variant:{default:"bg-white",minimal:"bg-transparent border-none",bordered:"bg-slate-50 border-2"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),o=m.cva("font-semibold text-slate-900",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),n=m.cva("text-slate-600 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),r=e.computed(()=>c(a({variant:l.variant,padding:l.padding}))),s=e.computed(()=>c(o({size:"md"}))),i=e.computed(()=>c(n({size:"md"})));return(u,v)=>t.title||t.description||u.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.value)},[e.renderSlot(u.$slots,"header",{},()=>[e.createElementVNode("div",Tl,[e.createElementVNode("div",null,[t.title?(e.openBlock(),e.createBlock(Q,{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(Q,{key:1,class:e.normalizeClass(i.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.description),1)]),_:1},8,["class"])):e.createCommentVNode("",!0)]),u.$slots.filters?(e.openBlock(),e.createElementBlock("div",Ml,[e.renderSlot(u.$slots,"filters")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)}},le={__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:l}){const a=t,o=l,n=m.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"}}),r=m.cva("whitespace-nowrap text-sm text-slate-900",{variants:{density:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"},align:{left:"text-left",center:"text-center",right:"text-right"}},defaultVariants:{density:"normal",align:"left"}}),s=f=>typeof f=="string"?f:f?.key||f?.field||"unknown",i=(f,d)=>{const b=s(d);return typeof d=="object"&&d.accessor?d.accessor(f):b&&b.includes(".")?b.split(".").reduce((g,C)=>g?.[C],f):f?.[b]},u=(f,d)=>{const b=i(f,d);return typeof d=="object"&&d.formatter?d.formatter(b,f):b==null?"":b instanceof Date?b.toLocaleDateString():Array.isArray(b)?b.join(", "):b},v=()=>{a.clickableRows&&o("row-click",{item:a.item,index:a.index})},p=f=>typeof f=="object"&&f.align?f.align:"left",x=e.computed(()=>c(n({striped:a.striped,hoverable:a.hoverable&&!a.clickableRows,clickable:a.clickableRows,selected:a.isSelected,variant:a.variant}))),y=f=>{const d=p(f);return c(r({density:a.density,align:d}),f.cellClasses)},N=e.computed(()=>c(r({density:a.density}),"w-12")),h=e.computed(()=>c(r({density:a.density,align:"right"}),"font-medium"));return(f,d)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(x.value),onClick:v},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(N.value)},[e.createVNode(Y,{modelValue:t.isSelected,"onUpdate:modelValue":d[0]||(d[0]=b=>f.$emit("toggle-selection",t.item))},null,8,["modelValue"])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,b=>(e.openBlock(),e.createElementBlock("td",{key:s(b),class:e.normalizeClass(y(b))},[e.renderSlot(f.$slots,`cell-${s(b)}`,{item:t.item,value:i(t.item,b),column:b,index:t.index},()=>[e.createTextVNode(e.toDisplayString(u(t.item,b)),1)])],2))),128)),f.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(h.value)},[e.renderSlot(f.$slots,"actions",{item:t.item,index:t.index})],2)):e.createCommentVNode("",!0)],2))}},Ll={class:"flex items-center justify-between"},Il={key:0,class:"text-sm text-slate-600"},jl={key:1,class:"text-sm text-slate-600"},Al={key:2,class:"flex items-center gap-4"},Fl={key:3,class:"flex items-center gap-4"},Pl={class:"flex items-center gap-2"},_l={class:"flex items-center gap-1"},Rl=["disabled"],ql=["disabled"],Hl={class:"flex items-center gap-1"},Ol=["onClick"],Ul=["disabled"],Zl=["disabled"],Gl={class:"text-sm text-slate-600 ml-4"},oe={__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:l}){const a=t,o=m.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"}}),n=m.cva("text-sm font-medium border rounded-md transition-colors duration-200",{variants:{state:{active:"bg-blue-600 text-white border-blue-600",inactive:"bg-white text-slate-700 border-slate-300 hover:bg-slate-50",disabled:"bg-slate-100 text-slate-400 border-slate-200 cursor-not-allowed"},size:{sm:"px-2 py-1",md:"px-3 py-2",lg:"px-4 py-3"}},defaultVariants:{state:"inactive",size:"md"}}),r=m.cva("text-slate-700",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"}},defaultVariants:{size:"md"}}),s=m.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),u=e.computed(()=>Math.min(a.currentPage*a.pageSize,a.total)),v=e.computed(()=>{const h=[],f=a.totalPages,d=a.currentPage,b=a.maxVisiblePages;if(f<=b)for(let g=1;g<=f;g++)h.push(g);else{const g=Math.floor(b/2);let C=Math.max(1,d-g),V=Math.min(f,C+b-1);V-C+1<b&&(C=Math.max(1,V-b+1));for(let D=C;D<=V;D++)h.push(D)}return h}),p=e.computed(()=>c(o({variant:a.variant,padding:a.padding}))),x=e.computed(()=>c(r({size:"md"}))),y=e.computed(()=>c(s({size:"sm"}))),N=(h,f)=>{let d="inactive";return f?d="disabled":h&&(d="active"),c(n({state:d,size:"md"}))};return(h,f)=>t.showPagination||h.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(p.value)},[e.createElementVNode("div",Ll,[t.selectable&&t.selectedCount>0?(e.openBlock(),e.createElementBlock("div",Il,e.toDisplayString(t.selectedCount)+" of "+e.toDisplayString(t.total)+" selected ",1)):(e.openBlock(),e.createElementBlock("div",jl," Showing "+e.toDisplayString(i.value)+" to "+e.toDisplayString(u.value)+" of "+e.toDisplayString(t.total)+" entries ",1)),h.$slots.footer?(e.openBlock(),e.createElementBlock("div",Al,[e.renderSlot(h.$slots,"footer")])):e.createCommentVNode("",!0),t.showPagination?(e.openBlock(),e.createElementBlock("div",Fl,[e.createElementVNode("div",Pl,[e.createVNode(ee,{for:"pageSize",class:e.normalizeClass(x.value),inline:!0},{default:e.withCtx(()=>[...f[5]||(f[5]=[e.createTextVNode("Show:",-1)])]),_:1},8,["class"]),e.createVNode(X,{id:"pageSize","model-value":t.pageSize.toString(),"onUpdate:modelValue":f[0]||(f[0]=d=>h.$emit("update:pageSize",parseInt(d))),class:e.normalizeClass(y.value)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizeOptions,d=>(e.openBlock(),e.createBlock(te,{key:d,value:d.toString(),label:d.toString()},null,8,["value","label"]))),128))]),_:1},8,["model-value","class"])]),e.createElementVNode("div",_l,[e.createElementVNode("button",{disabled:t.currentPage===1,onClick:f[1]||(f[1]=d=>h.$emit("update:currentPage",1)),class:e.normalizeClass(N(!1,t.currentPage===1)),title:"First page"},[...f[6]||(f[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,Rl),e.createElementVNode("button",{disabled:t.currentPage===1,onClick:f[2]||(f[2]=d=>h.$emit("update:currentPage",t.currentPage-1)),class:e.normalizeClass(N(!1,t.currentPage===1)),title:"Previous page"},[...f[7]||(f[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,ql),e.createElementVNode("div",Hl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,d=>(e.openBlock(),e.createElementBlock("button",{key:d,onClick:b=>h.$emit("update:currentPage",d),class:e.normalizeClass(N(d===t.currentPage,!1))},e.toDisplayString(d),11,Ol))),128))]),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,onClick:f[3]||(f[3]=d=>h.$emit("update:currentPage",t.currentPage+1)),class:e.normalizeClass(N(!1,t.currentPage===t.totalPages)),title:"Next page"},[...f[8]||(f[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,Ul),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,onClick:f[4]||(f[4]=d=>h.$emit("update:currentPage",t.totalPages)),class:e.normalizeClass(N(!1,t.currentPage===t.totalPages)),title:"Last page"},[...f[9]||(f[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,Zl)]),e.createElementVNode("div",Gl," Page "+e.toDisplayString(t.currentPage)+" of "+e.toDisplayString(t.totalPages),1)])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)}},Kl={class:"overflow-x-auto"},Ql=["onClick"],Yl={class:"flex items-center gap-2"},Xl={key:0,class:"flex flex-col"},Wl={key:0},Jl=["colspan"],eo={class:"text-center py-8"},to={class:"text-slate-500"},Je={__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:l}){const a=t,o=l,n=e.ref(1),r=e.ref(a.pageSize),s=e.ref(a.sortBy),i=e.ref(a.sortOrder),u=m.cva("bg-white border border-slate-200 rounded-lg overflow-hidden",{variants:{variant:{default:"shadow-sm",bordered:"border-2 border-slate-300",minimal:"border-none shadow-none bg-transparent"}},defaultVariants:{variant:"default"}}),v=m.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"}}),p=m.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"}}),x=m.cva("divide-y",{variants:{variant:{default:"bg-white divide-slate-200",bordered:"bg-white divide-slate-300",minimal:"bg-transparent divide-slate-100"}},defaultVariants:{variant:"default"}}),y=e.computed(()=>{let k=[...a.data];if(s.value){const E=a.columns.find(M=>M.key===s.value);E&&k.sort((M,R)=>{const O=g(M,E),K=g(R,E);return O<K?i.value==="asc"?-1:1:O>K?i.value==="asc"?1:-1:0})}return k}),N=e.computed(()=>Math.ceil(y.value.length/r.value)),h=e.computed(()=>{if(!a.showPagination)return y.value;const k=(n.value-1)*r.value,E=k+r.value;return y.value.slice(k,E)}),f=e.computed(()=>{let k=a.columns.length;return a.selectable&&k++,a.$slots?.actions&&k++,k}),d=e.computed(()=>y.value.length>0&&y.value.every(k=>V(k))),b=e.computed(()=>{const k=y.value.filter(E=>V(E)).length;return k>0&&k<y.value.length}),g=(k,E)=>E.accessor?E.accessor(k):E.key.split(".").reduce((M,R)=>M?.[R],k),C=(k,E)=>k[a.rowKey]||E,V=k=>a.selectedItems.some(E=>C(E)===C(k)),D=k=>{const E=[...a.selectedItems],M=E.findIndex(R=>C(R)===C(k));M>-1?E.splice(M,1):E.push(k),o("selection-change",E)},F=()=>{const k=d.value?[]:[...y.value];o("selection-change",k)},P=k=>{k.sortable&&(s.value===k.key?i.value=i.value==="asc"?"desc":"asc":(s.value=k.key,i.value="asc"),o("sort-change",{column:k.key,direction:i.value}))},$=k=>{o("row-click",k)},I=e.computed(()=>c(u({variant:a.variant}))),B=e.computed(()=>c(v({variant:a.variant}))),T=e.computed(()=>c(p({variant:a.variant}))),j=e.computed(()=>c(x({variant:a.variant}))),_=k=>c({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":k.sortable}),z=e.computed(()=>c({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")),w=e.computed(()=>c({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[a.density],"whitespace-nowrap text-sm font-medium")),S=e.computed(()=>c({compact:"px-4 py-4",normal:"px-6 py-6",comfortable:"px-8 py-8"}[a.density],"text-center")),H=(k,E)=>c({"text-blue-600":s.value===k.key&&i.value===E,"text-slate-300":s.value!==k.key||i.value!==E});return e.watch(()=>a.selectedItems,k=>{},{deep:!0}),e.watch(()=>a.pageSize,k=>{r.value=k}),(k,E)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(I.value)},[t.title||t.description||k.$slots.header?(e.openBlock(),e.createBlock(ae,{key:0,title:t.title,description:t.description,variant:t.headerVariant,padding:t.headerPadding},{header:e.withCtx(()=>[e.renderSlot(k.$slots,"header")]),filters:e.withCtx(()=>[e.renderSlot(k.$slots,"filters")]),_:3},8,["title","description","variant","padding"])):e.createCommentVNode("",!0),e.createElementVNode("div",Kl,[e.createElementVNode("table",{class:e.normalizeClass(B.value)},[e.createElementVNode("thead",{class:e.normalizeClass(T.value)},[e.createElementVNode("tr",null,[t.selectable?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(z.value)},[e.createVNode(Y,{modelValue:d.value,indeterminate:b.value,"onUpdate:modelValue":F},null,8,["modelValue","indeterminate"])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,M=>(e.openBlock(),e.createElementBlock("th",{key:M.key,class:e.normalizeClass(_(M)),onClick:R=>P(M)},[e.createElementVNode("div",Yl,[e.createElementVNode("span",null,e.toDisplayString(M.label),1),M.sortable?(e.openBlock(),e.createElementBlock("div",Xl,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([H(M,"asc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...E[2]||(E[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([H(M,"desc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...E[3]||(E[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,Ql))),128)),k.$slots.actions?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass(w.value)}," Actions ",2)):e.createCommentVNode("",!0)])],2),e.createElementVNode("tbody",{class:e.normalizeClass(j.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(M,R)=>(e.openBlock(),e.createBlock(le,{key:C(M,R),item:M,columns:t.columns,index:R,selectable:t.selectable,"is-selected":V(M),striped:t.striped,hoverable:t.hoverable,"clickable-rows":t.clickableRows,density:t.density,onToggleSelection:D,onRowClick:$},e.createSlots({actions:e.withCtx(O=>[e.renderSlot(k.$slots,"actions",e.mergeProps({ref_for:!0},O))]),_:2},[e.renderList(t.columns,O=>({name:`cell-${O.key}`,fn:e.withCtx(K=>[e.renderSlot(k.$slots,`cell-${O.key}`,e.mergeProps({ref_for:!0},K))])}))]),1032,["item","columns","index","selectable","is-selected","striped","hoverable","clickable-rows","density"]))),128)),h.value.length===0?(e.openBlock(),e.createElementBlock("tr",Wl,[e.createElementVNode("td",{colspan:f.value,class:e.normalizeClass(S.value)},[e.renderSlot(k.$slots,"empty",{},()=>[e.createElementVNode("div",eo,[E[4]||(E[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",to,e.toDisplayString(t.emptyText),1)])])],10,Jl)])):e.createCommentVNode("",!0)],2)],2)]),t.showPagination||k.$slots.footer?(e.openBlock(),e.createBlock(oe,{key:1,"current-page":n.value,"total-pages":N.value,total:y.value.length,"page-size":r.value,"show-pagination":t.showPagination,selectable:t.selectable,"selected-count":t.selectedItems.length,variant:t.paginationVariant,padding:t.paginationPadding,"onUpdate:currentPage":E[0]||(E[0]=M=>n.value=M),"onUpdate:pageSize":E[1]||(E[1]=M=>r.value=M)},{footer:e.withCtx(()=>[e.renderSlot(k.$slots,"footer")]),_:3},8,["current-page","total-pages","total","page-size","show-pagination","selectable","selected-count","variant","padding"])):e.createCommentVNode("",!0)],2))}},et={__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 l=t,a=e.computed(()=>{const s=l.value??o();return l.column.formatter?l.column.formatter(s,l.item):s}),o=()=>l.column.accessor?l.column.accessor(l.item):l.column.key.split(".").reduce((s,i)=>s?.[i],l.item),n=m.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"}}),r=e.computed(()=>{const s=l.align||l.column.align||"left",i=`text-${l.textColor}`,u=l.width?`w-${l.width}`:"";return c(n({align:s,padding:l.padding,textSize:l.textSize}),i,u,l.column.cellClasses)});return(s,i)=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(r.value)},[e.renderSlot(s.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])],2))}},ao={class:"flex-1 min-w-64"},lo={class:"relative"},oo={key:0,class:"min-w-32"},no=["value"],ro={key:1,class:"flex items-center gap-2"},so={key:2,class:"flex items-center gap-2"},io={class:"flex items-center gap-2 ml-auto"},co={class:"flex items-center gap-2 flex-wrap"},tt={__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:l}){const a={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><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" /></svg>'},o={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg>'},n={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3" /></svg>'},r={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15" /></svg>'},s=t,i=l,u=m.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"}}),v=m.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"}}),p=m.cva("rounded-md flex items-center gap-2 font-medium transition-colors",{variants:{variant:{default:"text-slate-600 hover:text-slate-800 border border-slate-300 hover:bg-slate-50",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"}}),x=m.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"}}),y=e.computed(()=>s.searchQuery||s.selectedStatus||s.dateFrom||s.dateTo),N=e.computed(()=>{const z=[];if(s.searchQuery&&s.searchQuery.trim()&&z.push({key:"search",label:"Search",value:s.searchQuery}),s.selectedStatus){const w=s.statusOptions.find(S=>S.value===s.selectedStatus);z.push({key:"status",label:"Status",value:w?.label||s.selectedStatus})}if(s.dateFrom||s.dateTo){let w="";s.dateFrom&&s.dateTo?w=`${s.dateFrom} to ${s.dateTo}`:s.dateFrom?w=`From ${s.dateFrom}`:s.dateTo&&(w=`Until ${s.dateTo}`),w&&z.push({key:"date",label:"Date Range",value:w})}return z}),h=e.computed(()=>c(u({variant:s.variant,padding:s.padding}))),f=e.computed(()=>"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-slate-400"),d=e.computed(()=>c(v({size:"md"}),"w-full pl-10 focus:border-transparent")),b=e.computed(()=>"absolute right-2 top-1/2 transform -translate-y-1/2 text-slate-400 hover:text-slate-600 p-1"),g=e.computed(()=>c(v({size:"md"}),"w-full focus:border-transparent")),C=e.computed(()=>c(v({size:"md"}))),V=e.computed(()=>"text-slate-500"),D=e.computed(()=>c(p({variant:"default",size:"md"}))),F=e.computed(()=>c(p({variant:"primary",size:"md"}))),P=e.computed(()=>c(p({variant:"success",size:"md"}))),$=e.computed(()=>c(x({variant:s.variant}))),I=e.computed(()=>"text-sm text-blue-700 font-medium"),B=e.computed(()=>"flex items-center gap-1 bg-blue-100 text-blue-800 px-2 py-1 rounded-md text-sm"),T=e.computed(()=>"text-blue-600 hover:text-blue-800 p-0.5"),j=()=>{i("update:searchQuery",""),i("update:selectedStatus",""),i("update:dateFrom",""),i("update:dateTo",""),i("clear-filters")},_=z=>{switch(z){case"search":i("update:searchQuery","");break;case"status":i("update:selectedStatus","");break;case"date":i("update:dateFrom",""),i("update:dateTo","");break}};return(z,w)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:e.normalizeClass(h.value)},[e.createElementVNode("div",ao,[e.createElementVNode("div",lo,[e.createVNode(a,{class:e.normalizeClass(f.value)},null,8,["class"]),e.createVNode(U,{"model-value":t.searchQuery,onInput:w[0]||(w[0]=S=>z.$emit("update:searchQuery",S.target.value)),placeholder:t.searchPlaceholder,class:e.normalizeClass(d.value)},null,8,["model-value","placeholder","class"]),t.searchQuery?(e.openBlock(),e.createBlock(A,{key:0,onClick:w[1]||(w[1]=S=>z.$emit("update:searchQuery","")),class:e.normalizeClass(b.value)},{default:e.withCtx(()=>[e.createVNode(o,{class:"w-4 h-4"})]),_:1},8,["class"])):e.createCommentVNode("",!0)])]),t.statusOptions.length>0?(e.openBlock(),e.createElementBlock("div",oo,[e.createVNode(X,{"model-value":t.selectedStatus,onChange:w[2]||(w[2]=S=>z.$emit("update:selectedStatus",S.target.value)),class:e.normalizeClass(g.value)},{default:e.withCtx(()=>[w[7]||(w[7]=e.createElementVNode("option",{value:""},"All Status",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.statusOptions,S=>(e.openBlock(),e.createElementBlock("option",{key:S.value,value:S.value},e.toDisplayString(S.label),9,no))),128))]),_:1},8,["model-value","class"])])):e.createCommentVNode("",!0),t.showDateFilter?(e.openBlock(),e.createElementBlock("div",ro,[e.createVNode(U,{type:"date","model-value":t.dateFrom,onInput:w[3]||(w[3]=S=>z.$emit("update:dateFrom",S.target.value)),class:e.normalizeClass(C.value)},null,8,["model-value","class"]),e.createElementVNode("span",{class:e.normalizeClass(V.value)},"to",2),e.createVNode(U,{type:"date","model-value":t.dateTo,onInput:w[4]||(w[4]=S=>z.$emit("update:dateTo",S.target.value)),class:e.normalizeClass(C.value)},null,8,["model-value","class"])])):e.createCommentVNode("",!0),z.$slots.filters?(e.openBlock(),e.createElementBlock("div",so,[e.renderSlot(z.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",io,[y.value?(e.openBlock(),e.createBlock(A,{key:0,onClick:j,class:e.normalizeClass(D.value)},{default:e.withCtx(()=>[...w[8]||(w[8]=[e.createTextVNode(" Clear Filters ",-1)])]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(A,{key:1,onClick:w[5]||(w[5]=S=>z.$emit("export")),class:e.normalizeClass(F.value)},{default:e.withCtx(()=>[e.createVNode(n,{class:"w-4 h-4"}),w[9]||(w[9]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showAdd?(e.openBlock(),e.createBlock(A,{key:2,onClick:w[6]||(w[6]=S=>z.$emit("add")),class:e.normalizeClass(P.value)},{default:e.withCtx(()=>[e.createVNode(r,{class:"w-4 h-4"}),w[10]||(w[10]=e.createTextVNode(" Add New ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0)])],2),N.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass($.value)},[e.createElementVNode("div",co,[e.createElementVNode("span",{class:e.normalizeClass(I.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,S=>(e.openBlock(),e.createElementBlock("div",{key:S.key,class:e.normalizeClass(B.value)},[e.createElementVNode("span",null,e.toDisplayString(S.label)+": "+e.toDisplayString(S.value),1),e.createVNode(A,{onClick:H=>_(S.key),class:e.normalizeClass(T.value)},{default:e.withCtx(()=>[e.createVNode(o,{class:"w-3 h-3"})]),_:1},8,["onClick","class"])],2))),128))])],2)):e.createCommentVNode("",!0)]))}},uo={class:"flex items-center gap-3"},mo={key:0,class:"flex items-center gap-3"},fo={class:"text-sm text-slate-600"},vo={class:"flex items-center gap-2"},po={class:"flex items-center gap-3"},go=["onClick","title"],ho={key:1,class:"relative"},bo={class:"p-3"},ko={class:"space-y-1"},yo={class:"flex items-center gap-2 cursor-pointer w-full"},xo=["checked","onChange"],Co=["disabled"],wo={key:3,class:"flex items-center gap-2"},Bo={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m0 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75" /></svg>'},Vo={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99" /></svg>'},So={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" /></svg>'},No={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 9h16.5m-16.5 6.75h16.5" /></svg>'},zo={template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14" /></svg>'},Eo=[{key:"delete",label:"Delete",icon:{template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" /></svg>'},variant:"danger"},{key:"edit",label:"Edit",icon:{template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10" /></svg>'},variant:"primary"}],$o={name:"DataTableToolBar"},at=Object.assign($o,{props:{selectedItems:{type:Array,default:()=>[]},totalItems:{type:Number,default:0},bulkActions:{type:Array,default:()=>Eo},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:l}){const a=t,o=l,n=e.ref(!1),r=e.ref(null),s=e.ref(null),i=e.computed(()=>a.selectedItems.length),u=[{value:"compact",label:"Compact",icon:zo},{value:"normal",label:"Normal",icon:No},{value:"comfortable",label:"Comfortable",icon:So}],v=m.cva("flex items-center justify-between border-b border-slate-200",{variants:{variant:{default:"bg-white",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-50 border-slate-300"},padding:{compact:"p-2",normal:"p-4",comfortable:"p-6"}},defaultVariants:{variant:"default",padding:"normal"}}),p=m.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-50 hover:bg-red-100 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-50 hover:bg-slate-100 border border-slate-200"}},defaultVariants:{variant:"secondary"}}),x=m.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"}}),y=m.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"}}),N=e.computed(()=>c(v({variant:a.variant,padding:a.padding}))),h=e.computed(()=>"text-sm text-slate-600"),f=e.computed(()=>"flex items-center"),d=e.computed(()=>"flex items-center gap-2 px-3 py-2 text-sm text-slate-600 hover:text-slate-800 border border-slate-300 rounded-md hover:bg-slate-50 transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1"),b=e.computed(()=>"absolute right-0 top-full mt-1 w-56 bg-white border border-slate-200 rounded-lg shadow-lg z-50 max-h-64 overflow-y-auto"),g=e.computed(()=>"text-xs font-medium text-slate-500 uppercase tracking-wider mb-2 border-b border-slate-100 pb-2"),C=e.computed(()=>"py-1 hover:bg-slate-50 rounded transition-colors"),V=e.computed(()=>"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 focus:ring-2 focus:ring-offset-1"),D=e.computed(()=>"text-sm text-slate-700 flex-1 select-none"),F=z=>{r.value&&s.value&&!r.value.contains(z.target)&&!s.value.contains(z.target)&&(n.value=!1)},P=()=>{n.value=!n.value},$=z=>c(p({variant:z.variant||"secondary"})),I=z=>{let w="middle";return z==="compact"?w="first":z==="comfortable"&&(w="last"),c(x({active:a.density===z,position:w}))},B=()=>c(y({state:a.isRefreshing?"refreshing":"normal"})),T=()=>c("w-4 h-4",{"animate-spin":a.isRefreshing}),j=z=>a.visibleColumns.includes(z),_=(z,w)=>{o("toggle-column",{column:z,visible:w})};return e.onMounted(()=>{document.addEventListener("click",F)}),e.onUnmounted(()=>{document.removeEventListener("click",F)}),(z,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(N.value)},[e.createElementVNode("div",uo,[i.value>0?(e.openBlock(),e.createElementBlock("div",mo,[e.createElementVNode("span",fo,e.toDisplayString(i.value)+" selected ",1),e.createElementVNode("div",vo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bulkActions,S=>(e.openBlock(),e.createBlock(A,{key:S.key,onClick:H=>z.$emit("bulk-action",{action:S.key,items:t.selectedItems}),class:e.normalizeClass($(S))},{default:e.withCtx(()=>[S.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.icon),{key:0,class:"w-4 h-4"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(S.label),1)]),_:2},1032,["onClick","class"]))),128))])])):t.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(h.value)},e.toDisplayString(t.totalItems)+" "+e.toDisplayString(t.totalItems===1?"item":"items"),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",po,[t.showDensityToggle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(f.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(u,S=>e.createElementVNode("button",{key:S.value,onClick:H=>z.$emit("update:density",S.value),class:e.normalizeClass(I(S.value)),title:S.label,type:"button"},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.icon),{class:"w-4 h-4"}))],10,go)),64))],2)):e.createCommentVNode("",!0),t.showColumnToggle?(e.openBlock(),e.createElementBlock("div",ho,[e.createElementVNode("button",{onClick:e.withModifiers(P,["stop"]),class:e.normalizeClass(d.value),type:"button",ref_key:"columnToggleButton",ref:r},[e.createVNode(Bo,{class:"w-4 h-4"}),w[2]||(w[2]=e.createElementVNode("span",null,"Columns",-1))],2),e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:s,class:e.normalizeClass(b.value),onClick:w[0]||(w[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",bo,[e.createElementVNode("div",{class:e.normalizeClass(g.value)}," Show Columns ",2),e.createElementVNode("div",ko,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toggleableColumns,S=>(e.openBlock(),e.createElementBlock("div",{key:S.key,class:e.normalizeClass(C.value)},[e.createElementVNode("label",yo,[e.createElementVNode("input",{type:"checkbox",checked:j(S.key),onChange:H=>_(S.key,H.target.checked),class:e.normalizeClass(V.value)},null,42,xo),e.createElementVNode("span",{class:e.normalizeClass(D.value)},e.toDisplayString(S.label),3)])],2))),128))])])],2),[[e.vShow,n.value]])])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:w[1]||(w[1]=S=>z.$emit("refresh")),disabled:t.isRefreshing,class:e.normalizeClass(B()),type:"button"},[e.createVNode(Vo,{class:e.normalizeClass(T())},null,8,["class"]),w[3]||(w[3]=e.createElementVNode("span",null,"Refresh",-1))],10,Co)):e.createCommentVNode("",!0),z.$slots.actions?(e.openBlock(),e.createElementBlock("div",wo,[e.renderSlot(z.$slots,"actions")])):e.createCommentVNode("",!0)])],2))}}),Do={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"},To={class:"grid grid-cols-1 md:grid-cols-4 gap-8"},Mo={class:"col-span-1 md:col-span-2"},Lo={class:"space-y-2"},Io={class:"flex space-x-4"},jo={class:"flex flex-col md:flex-row justify-between items-center"},Ao={class:"flex space-x-6 mt-4 md:mt-0"},lt={__name:"Footer",props:{className:{type:String,default:""}},setup(t){return(l,a)=>{const o=e.resolveComponent("Logo"),n=e.resolveComponent("Text"),r=e.resolveComponent("Typography"),s=e.resolveComponent("Link"),i=e.resolveComponent("Icon"),u=e.resolveComponent("Divider");return e.openBlock(),e.createElementBlock("footer",{class:e.normalizeClass(e.unref(c)("bg-gray-50 border-t border-gray-200",t.className))},[e.createElementVNode("div",Do,[e.createElementVNode("div",To,[e.createElementVNode("div",Mo,[e.renderSlot(l.$slots,"brand",{},()=>[e.createVNode(o,{class:"mb-4"}),e.createVNode(n,{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(l.$slots,"links",{},()=>[e.createVNode(r,{variant:"h6",class:"mb-4"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode("Quick Links",-1)])]),_:1}),e.createElementVNode("div",Lo,[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(l.$slots,"social",{},()=>[e.createVNode(r,{variant:"h6",class:"mb-4"},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode("Follow Us",-1)])]),_:1}),e.createElementVNode("div",Io,[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(u,{class:"my-8"}),e.createElementVNode("div",jo,[e.renderSlot(l.$slots,"copyright",{},()=>[e.createVNode(n,{class:"text-gray-600"},{default:e.withCtx(()=>[e.createTextVNode(" © "+e.toDisplayString(new Date().getFullYear())+" Your Company. All rights reserved. ",1)]),_:1})]),e.renderSlot(l.$slots,"legal",{},()=>[e.createElementVNode("div",Ao,[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)}}},Fo={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},Po={class:"flex justify-between items-center h-16"},_o={class:"flex items-center"},Ro={class:"hidden md:block"},qo={class:"flex items-center space-x-4"},Ho={class:"md:hidden"},ot={__name:"Header",props:{className:{type:String,default:""}},emits:["toggle-mobile-menu"],setup(t){return(l,a)=>{const o=e.resolveComponent("Logo"),n=e.resolveComponent("MainNavigation"),r=e.resolveComponent("Button"),s=e.resolveComponent("Icon");return e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(c)("bg-white border-b border-gray-200 shadow-sm",t.className))},[e.createElementVNode("div",Fo,[e.createElementVNode("div",Po,[e.createElementVNode("div",_o,[e.renderSlot(l.$slots,"logo",{},()=>[e.createVNode(o)])]),e.createElementVNode("div",Ro,[e.renderSlot(l.$slots,"navigation",{},()=>[e.createVNode(n)])]),e.createElementVNode("div",qo,[e.renderSlot(l.$slots,"actions",{},()=>[e.createVNode(r,{variant:"ghost",size:"sm"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode("Sign In",-1)])]),_:1}),e.createVNode(r,{size:"sm"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode("Sign Up",-1)])]),_:1})])]),e.createElementVNode("div",Ho,[e.renderSlot(l.$slots,"mobile-toggle",{},()=>[e.createVNode(r,{variant:"ghost",size:"sm",onClick:a[0]||(a[0]=i=>l.$emit("toggle-mobile-menu"))},{default:e.withCtx(()=>[e.createVNode(s,{name:"menu",class:"h-5 w-5"})]),_:1})])])])])],2)}}},Oo={class:"p-6"},Uo={class:"mb-8"},Zo={class:"space-y-2"},Go={class:"mt-auto pt-8"},Ko={class:"flex items-center space-x-3"},nt={__name:"Sidebar",props:{items:{type:Array,default:()=>[{label:"Dashboard",href:"/dashboard",icon:"home",active:!0},{label:"Users",href:"/users",icon:"users"},{label:"Settings",href:"/settings",icon:"settings"}]},className:{type:String,default:""}},setup(t){return(l,a)=>{const o=e.resolveComponent("Logo"),n=e.resolveComponent("SidebarNavigation"),r=e.resolveComponent("Divider"),s=e.resolveComponent("Avatar"),i=e.resolveComponent("Text");return e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(e.unref(c)("bg-white border-r border-gray-200 h-full",t.className))},[e.createElementVNode("div",Oo,[e.createElementVNode("div",Uo,[e.renderSlot(l.$slots,"header",{},()=>[e.createVNode(o)])]),e.createElementVNode("nav",Zo,[e.renderSlot(l.$slots,"navigation",{},()=>[e.createVNode(n,{items:t.items},null,8,["items"])])]),e.createElementVNode("div",Go,[e.renderSlot(l.$slots,"footer",{},()=>[e.createVNode(r,{class:"mb-4"}),e.createElementVNode("div",Ko,[e.createVNode(s,{size:"sm"}),e.createElementVNode("div",null,[e.createVNode(i,{class:"text-sm font-medium"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode("John Doe",-1)])]),_:1}),e.createVNode(i,{class:"text-xs text-gray-500"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode("john@example.com",-1)])]),_:1})])])])])])],2)}}},rt={__name:"Timeline",props:{orientation:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)}},setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex",t.orientation==="vertical"?"flex-col":"flex-row"])},[e.renderSlot(l.$slots,"default")],2))}},Qo={key:0,class:"absolute left-3 top-0 w-0.5 h-full bg-slate-200"},Yo={class:"z-10 flex items-center justify-center w-6 h-6 rounded-full border-2 border-blue-500 bg-white text-blue-500"},Xo={class:"text-slate-900 font-medium"},Wo={key:0,class:"text-slate-500 text-sm"},Jo={class:"mt-2 text-slate-600 text-sm"},st={__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(l,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",Qo)):e.createCommentVNode("",!0),e.createElementVNode("div",Yo,[e.renderSlot(l.$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",Xo,[e.renderSlot(l.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),t.subtitle?(e.openBlock(),e.createElementBlock("p",Wo,[e.renderSlot(l.$slots,"subtitle",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Jo,[e.renderSlot(l.$slots,"default")])],2)],2))}},it=(t,l)=>{const a=t.__vccOpts||t;for(const[o,n]of l)a[o]=n;return a},en={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:"fab fa-linkedin-in",variant:"primary"},{name:"facebook",url:"#",icon:"fab fa-facebook-f",variant:"primary"},{name:"twitter",url:"#",icon:"fab fa-twitter",variant:"info"}]}},setup(t){return{currentYear:e.computed(()=>new Date().getFullYear())}}},tn={class:"container mx-auto px-4 relative z-10"},an={class:"grid lg:grid-cols-10 gap-8 items-center min-h-screen"},ln={class:"lg:col-span-6 text-white text-center lg:text-left space-y-6"},on={class:"mb-6"},nn={class:"text-4xl lg:text-6xl font-bold mb-2"},rn={class:"text-white"},sn={class:"flex items-center justify-center lg:justify-start mb-6"},cn={class:"text-3xl lg:text-4xl font-bold text-white"},dn={class:"lg:col-span-4"},un={class:"bg-white rounded-lg shadow-xl p-6 lg:p-8 max-w-md mx-auto"},mn={key:0,class:"mb-6"},fn={class:"text-center"},vn={class:"text-2xl font-bold text-gray-900"},pn={key:0,class:"text-gray-600 mt-2"},gn={class:"space-y-6"},hn={key:1,class:"mt-6"},bn={key:0,class:"mt-6 text-center"},kn={class:"absolute bottom-4 right-4 text-right"},yn={class:"flex items-end justify-end mb-2"},xn={class:"text-right mr-3"},Cn={class:"text-red-500 font-bold text-xs"},wn={class:"text-white text-xs"},Bn={class:"text-white/70 text-xs"},Vn={class:"w-8 h-8 bg-red-500 rounded flex items-center justify-center text-white font-bold text-xs"},Sn={class:"text-white/70 text-xs"},Nn={class:"absolute bottom-4 left-4 flex gap-2"},zn=["href"];function En(t,l,a,o,n,r){const s=e.resolveComponent("router-view");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",tn,[e.createElementVNode("div",an,[e.createElementVNode("div",ln,[e.createElementVNode("div",on,[e.createElementVNode("div",nn,[e.createElementVNode("span",{style:e.normalizeStyle({color:a.primaryColor})},e.toDisplayString(a.primaryLogoPrefix),5),e.createElementVNode("span",rn,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",sn,[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",cn,e.toDisplayString(a.secondaryLogoText),1)]),l[0]||(l[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",dn,[e.createElementVNode("div",un,[t.$slots["card-header"]||a.title?(e.openBlock(),e.createElementBlock("div",mn,[e.renderSlot(t.$slots,"card-header",{},()=>[e.createElementVNode("div",fn,[e.createElementVNode("h1",vn,e.toDisplayString(a.title),1),a.subtitle?(e.openBlock(),e.createElementBlock("p",pn,e.toDisplayString(a.subtitle),1)):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",gn,[e.createVNode(s)]),t.$slots["card-footer"]?(e.openBlock(),e.createElementBlock("div",hn,[e.renderSlot(t.$slots,"card-footer")])):e.createCommentVNode("",!0)]),t.$slots.links?(e.openBlock(),e.createElementBlock("div",bn,[e.renderSlot(t.$slots,"links")])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",kn,[e.createElementVNode("div",yn,[e.createElementVNode("div",xn,[e.createElementVNode("div",Cn,e.toDisplayString(a.companyName),1),e.createElementVNode("div",wn,e.toDisplayString(a.companyType),1),e.createElementVNode("div",Bn,e.toDisplayString(a.companyTagline),1)]),e.createElementVNode("div",Vn,e.toDisplayString(a.companyInitials),1)]),e.createElementVNode("div",Sn,[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",Nn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.socialLinks,i=>(e.openBlock(),e.createElementBlock("a",{key:i.name,href:i.url,class:e.normalizeClass(["w-8 h-7 flex items-center justify-center rounded text-xs transition-colors",i.variant==="primary"?"bg-blue-600 hover:bg-blue-700 text-white":i.variant==="info"?"bg-cyan-500 hover:bg-cyan-600 text-white":"bg-gray-600 hover:bg-gray-700 text-white"])},[e.createElementVNode("i",{class:e.normalizeClass(i.icon)},null,2)],10,zn))),128))])],4)}const ct=it(en,[["render",En]]),$n={class:"min-h-screen bg-gray-50"},Dn={class:"flex-1"},Tn={key:0,class:"bg-white border-b border-gray-200"},Mn={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},Ln={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},dt={__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(l,a)=>{const o=e.resolveComponent("Logo"),n=e.resolveComponent("MainNavigation"),r=e.resolveComponent("Button"),s=e.resolveComponent("Header"),i=e.resolveComponent("Breadcrumb"),u=e.resolveComponent("Text"),v=e.resolveComponent("Footer");return e.openBlock(),e.createElementBlock("div",$n,[e.createVNode(s,null,{logo:e.withCtx(()=>[e.renderSlot(l.$slots,"logo",{},()=>[e.createVNode(o)])]),navigation:e.withCtx(()=>[e.renderSlot(l.$slots,"navigation",{},()=>[e.createVNode(n,{items:t.navigationItems},null,8,["items"])])]),actions:e.withCtx(()=>[e.renderSlot(l.$slots,"header-actions",{},()=>[e.createVNode(r,{variant:"ghost",size:"sm"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode("Sign In",-1)])]),_:1}),e.createVNode(r,{size:"sm"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode("Get Started",-1)])]),_:1})])]),_:3}),e.createElementVNode("main",Dn,[t.showBreadcrumb?(e.openBlock(),e.createElementBlock("div",Tn,[e.createElementVNode("div",Mn,[e.renderSlot(l.$slots,"breadcrumb",{},()=>[e.createVNode(i,{items:t.breadcrumbItems},null,8,["items"])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Ln,[e.renderSlot(l.$slots,"default")])]),e.createVNode(v,null,{brand:e.withCtx(()=>[e.renderSlot(l.$slots,"footer-brand",{},()=>[e.createVNode(o,{class:"mb-4"}),e.createVNode(u,{class:"text-gray-600 max-w-md"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" Your application description goes here. ",-1)])]),_:1})])]),_:3})])}}},In={template:`
86
86
  <svg viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
87
87
  <circle cx="100" cy="100" r="80" fill="#f1f5f9" stroke="#cbd5e1" stroke-width="2"/>
88
88
  <text x="100" y="110" text-anchor="middle" font-size="48" font-weight="bold" fill="#64748b">404</text>
@@ -96,4 +96,4 @@
96
96
  <svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
97
97
  <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" />
98
98
  </svg>
99
- `},An={name:"ErrorPage",components:{Button:A},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:l}){const a=e.computed(()=>{const D={404:{title:"Page Not Found",message:"Sorry, we couldn't find the page you're looking for.",icon:In},500:{title:"Server Error",message:"Something went wrong on our end. Please try again later.",icon:jn},403:{title:"Access Denied",message:"You don't have permission to access this resource.",icon:ne},generic:{title:"Something went wrong",message:"An unexpected error occurred. Please try again.",icon:ne}};return D[t.errorType]||D.generic}),o=e.computed(()=>a.value.icon),n=e.computed(()=>t.errorTitle||a.value.title),r=e.computed(()=>t.errorMessage||a.value.message),s=()=>{window.history.length>1?window.history.back():window.location.href=t.homeUrl,l("back")},i=()=>{window.location.reload(),l("retry")},u=e.computed(()=>["min-h-screen relative flex items-center justify-center","px-4 sm:px-6 lg:px-8"]),v=e.computed(()=>["absolute inset-0 -z-10"]),p=e.computed(()=>["w-full max-w-lg mx-auto text-center"]),x=e.computed(()=>["mb-8"]),y=e.computed(()=>["space-y-6"]),N=e.computed(()=>["flex justify-center mb-6"]),h=e.computed(()=>["w-32 h-32 text-slate-400"]),f=e.computed(()=>["space-y-3"]),d=e.computed(()=>["text-3xl font-bold text-slate-900"]),b=e.computed(()=>["text-lg text-slate-600"]),g=e.computed(()=>["text-sm text-slate-500 font-mono"]),C=e.computed(()=>["mt-8"]),V=e.computed(()=>["mt-6"]);return{errorIcon:o,errorTitle:n,errorMessage:r,goBack:s,retry:i,layoutClasses:u,backgroundClasses:v,contentClasses:p,headerClasses:x,errorContentClasses:y,illustrationClasses:N,iconClasses:h,detailsClasses:f,titleClasses:d,messageClasses:b,codeClasses:g,actionsClasses:C,helpClasses:V}}},Fn={class:"flex justify-center"},Pn={class:"flex items-center gap-3"},Rn={class:"text-2xl font-bold text-slate-900"},_n={class:"flex flex-col sm:flex-row gap-3 justify-center"},qn={class:"text-sm text-slate-600"},Hn=["href"];function On(t,l,a,o,n,r){const s=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.layoutClasses)},[a.showBackground?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.backgroundClasses)},[e.renderSlot(t.$slots,"background",{},()=>[l[0]||(l[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(o.contentClasses)},[t.$slots.header||a.showLogo?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.headerClasses)},[e.renderSlot(t.$slots,"header",{},()=>[e.createElementVNode("div",Fn,[e.renderSlot(t.$slots,"logo",{},()=>[e.createElementVNode("div",Pn,[l[1]||(l[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",Rn,e.toDisplayString(a.brandName),1)])])])])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(o.errorContentClasses)},[t.$slots.illustration||a.showDefaultIllustration?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.illustrationClasses)},[e.renderSlot(t.$slots,"illustration",{},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.errorIcon),{class:e.normalizeClass(o.iconClasses)},null,8,["class"]))])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(o.detailsClasses)},[e.createElementVNode("h1",{class:e.normalizeClass(o.titleClasses)},[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(o.errorTitle),1)])],2),e.createElementVNode("p",{class:e.normalizeClass(o.messageClasses)},[e.renderSlot(t.$slots,"message",{},()=>[e.createTextVNode(e.toDisplayString(o.errorMessage),1)])],2),a.errorCode?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.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(o.actionsClasses)},[e.renderSlot(t.$slots,"actions",{},()=>[e.createElementVNode("div",_n,[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:o.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:o.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(o.helpClasses)},[e.renderSlot(t.$slots,"help",{},()=>[e.createElementVNode("p",qn,[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,Hn)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)],2)],2)],2)}const ut=it(An,[["render",On]]),re={Avatar:se,Badge:ie,Button:A,Checkbox:Y,Divider:ce,Icon:L,Image:de,Input:U,Label:ee,Link:ue,Logo:me,Option:te,ProgressBar:fe,Radio:ve,Select:X,Spinner:J,Switch:pe,Text:ge,Textarea:he,Tooltip:be,Typography:Q,Alert:ke,Breadcrumb:ye,ButtonGroup:xe,Card:Ce,CardHeader:we,CardBody:Be,CardFooter:Ve,CardContent:Se,CardTitle:Ne,DatePicker:ze,Dropdown:Ee,DropdownItem:$e,FileUpload:De,FormField:Te,InputGroup:Me,ListItem:Le,MenuItem:Ie,Modal:je,ModalHeader:Ae,ModalBody:Fe,ModalFooter:Pe,Notification:Re,Toast:He,Search:Oe,Slider:Ue,Stepper:Ze,StepperItem:Ge,Tab:Ke,TabPanel:Qe,Accordion:Ye,AccordionItem:Xe,Calendar:We,DataTable:Je,DataTableHeader:ae,DataTableRow:le,DataTableCell:et,DataTablePagination:oe,DataTableFilters:tt,DataTableToolBar:at,Footer:lt,Header:ot,Sidebar:nt,Timeline:rt,TimelineItem:st,AuthLayout:ct,DefaultLayout:dt,ErrorLayout:ut},Un={install(t,l={}){const{prefix:a=""}=l;Object.keys(re).forEach(o=>{const n=a?`${a}${o}`:o;t.component(n,re[o])}),t.config.globalProperties.$toast=W,t.provide("toast",W)}};exports.Accordion=Ye;exports.AccordionItem=Xe;exports.Alert=ke;exports.AuthLayout=ct;exports.Avatar=se;exports.Badge=ie;exports.Breadcrumb=ye;exports.Button=A;exports.ButtonGroup=xe;exports.Calendar=We;exports.Card=Ce;exports.CardBody=Be;exports.CardContent=Se;exports.CardFooter=Ve;exports.CardHeader=we;exports.CardTitle=Ne;exports.Checkbox=Y;exports.DataTable=Je;exports.DataTableCell=et;exports.DataTableFilters=tt;exports.DataTableHeader=ae;exports.DataTablePagination=oe;exports.DataTableRow=le;exports.DataTableToolBar=at;exports.DatePicker=ze;exports.DefaultLayout=dt;exports.Divider=ce;exports.Dropdown=Ee;exports.DropdownItem=$e;exports.ErrorLayout=ut;exports.FileUpload=De;exports.Footer=lt;exports.FormField=Te;exports.Header=ot;exports.Icon=L;exports.Image=de;exports.Input=U;exports.InputGroup=Me;exports.Label=ee;exports.Link=ue;exports.ListItem=Le;exports.Logo=me;exports.MenuItem=Ie;exports.Modal=je;exports.ModalBody=Fe;exports.ModalFooter=Pe;exports.ModalHeader=Ae;exports.Notification=Re;exports.Option=te;exports.ProgressBar=fe;exports.Radio=ve;exports.Search=Oe;exports.Select=X;exports.Sidebar=nt;exports.Slider=Ue;exports.Spinner=J;exports.Stepper=Ze;exports.StepperItem=Ge;exports.Switch=pe;exports.Tab=Ke;exports.TabPanel=Qe;exports.Text=ge;exports.Textarea=he;exports.Timeline=rt;exports.TimelineItem=st;exports.Toast=He;exports.Tooltip=be;exports.Typography=Q;exports.cn=c;exports.default=Un;exports.toast=W;exports.useToaster=qe;
99
+ `},An={name:"ErrorPage",components:{Button:A},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:l}){const a=e.computed(()=>{const D={404:{title:"Page Not Found",message:"Sorry, we couldn't find the page you're looking for.",icon:In},500:{title:"Server Error",message:"Something went wrong on our end. Please try again later.",icon:jn},403:{title:"Access Denied",message:"You don't have permission to access this resource.",icon:ne},generic:{title:"Something went wrong",message:"An unexpected error occurred. Please try again.",icon:ne}};return D[t.errorType]||D.generic}),o=e.computed(()=>a.value.icon),n=e.computed(()=>t.errorTitle||a.value.title),r=e.computed(()=>t.errorMessage||a.value.message),s=()=>{window.history.length>1?window.history.back():window.location.href=t.homeUrl,l("back")},i=()=>{window.location.reload(),l("retry")},u=e.computed(()=>["min-h-screen relative flex items-center justify-center","px-4 sm:px-6 lg:px-8"]),v=e.computed(()=>["absolute inset-0 -z-10"]),p=e.computed(()=>["w-full max-w-lg mx-auto text-center"]),x=e.computed(()=>["mb-8"]),y=e.computed(()=>["space-y-6"]),N=e.computed(()=>["flex justify-center mb-6"]),h=e.computed(()=>["w-32 h-32 text-slate-400"]),f=e.computed(()=>["space-y-3"]),d=e.computed(()=>["text-3xl font-bold text-slate-900"]),b=e.computed(()=>["text-lg text-slate-600"]),g=e.computed(()=>["text-sm text-slate-500 font-mono"]),C=e.computed(()=>["mt-8"]),V=e.computed(()=>["mt-6"]);return{errorIcon:o,errorTitle:n,errorMessage:r,goBack:s,retry:i,layoutClasses:u,backgroundClasses:v,contentClasses:p,headerClasses:x,errorContentClasses:y,illustrationClasses:N,iconClasses:h,detailsClasses:f,titleClasses:d,messageClasses:b,codeClasses:g,actionsClasses:C,helpClasses:V}}},Fn={class:"flex justify-center"},Pn={class:"flex items-center gap-3"},_n={class:"text-2xl font-bold text-slate-900"},Rn={class:"flex flex-col sm:flex-row gap-3 justify-center"},qn={class:"text-sm text-slate-600"},Hn=["href"];function On(t,l,a,o,n,r){const s=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.layoutClasses)},[a.showBackground?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.backgroundClasses)},[e.renderSlot(t.$slots,"background",{},()=>[l[0]||(l[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(o.contentClasses)},[t.$slots.header||a.showLogo?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.headerClasses)},[e.renderSlot(t.$slots,"header",{},()=>[e.createElementVNode("div",Fn,[e.renderSlot(t.$slots,"logo",{},()=>[e.createElementVNode("div",Pn,[l[1]||(l[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",_n,e.toDisplayString(a.brandName),1)])])])])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(o.errorContentClasses)},[t.$slots.illustration||a.showDefaultIllustration?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.illustrationClasses)},[e.renderSlot(t.$slots,"illustration",{},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.errorIcon),{class:e.normalizeClass(o.iconClasses)},null,8,["class"]))])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(o.detailsClasses)},[e.createElementVNode("h1",{class:e.normalizeClass(o.titleClasses)},[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(o.errorTitle),1)])],2),e.createElementVNode("p",{class:e.normalizeClass(o.messageClasses)},[e.renderSlot(t.$slots,"message",{},()=>[e.createTextVNode(e.toDisplayString(o.errorMessage),1)])],2),a.errorCode?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.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(o.actionsClasses)},[e.renderSlot(t.$slots,"actions",{},()=>[e.createElementVNode("div",Rn,[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:o.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:o.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(o.helpClasses)},[e.renderSlot(t.$slots,"help",{},()=>[e.createElementVNode("p",qn,[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,Hn)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)],2)],2)],2)}const ut=it(An,[["render",On]]),re={Avatar:se,Badge:ie,Button:A,Checkbox:Y,Divider:ce,Icon:L,Image:de,Input:U,Label:ee,Link:ue,Logo:me,Option:te,ProgressBar:fe,Radio:ve,Select:X,Spinner:J,Switch:pe,Text:ge,Textarea:he,Tooltip:be,Typography:Q,Alert:ke,Breadcrumb:ye,ButtonGroup:xe,Card:Ce,CardHeader:we,CardBody:Be,CardFooter:Ve,CardContent:Se,CardTitle:Ne,DatePicker:ze,Dropdown:Ee,DropdownItem:$e,FileUpload:De,FormField:Te,InputGroup:Me,ListItem:Le,MenuItem:Ie,Modal:je,ModalHeader:Ae,ModalBody:Fe,ModalFooter:Pe,Notification:_e,Toast:He,Search:Oe,Slider:Ue,Stepper:Ze,StepperItem:Ge,Tab:Ke,TabPanel:Qe,Accordion:Ye,AccordionItem:Xe,Calendar:We,DataTable:Je,DataTableHeader:ae,DataTableRow:le,DataTableCell:et,DataTablePagination:oe,DataTableFilters:tt,DataTableToolBar:at,Footer:lt,Header:ot,Sidebar:nt,Timeline:rt,TimelineItem:st,AuthLayout:ct,DefaultLayout:dt,ErrorLayout:ut},Un={install(t,l={}){const{prefix:a=""}=l;Object.keys(re).forEach(o=>{const n=a?`${a}${o}`:o;t.component(n,re[o])}),t.config.globalProperties.$toast=W,t.provide("toast",W)}};exports.Accordion=Ye;exports.AccordionItem=Xe;exports.Alert=ke;exports.AuthLayout=ct;exports.Avatar=se;exports.Badge=ie;exports.Breadcrumb=ye;exports.Button=A;exports.ButtonGroup=xe;exports.Calendar=We;exports.Card=Ce;exports.CardBody=Be;exports.CardContent=Se;exports.CardFooter=Ve;exports.CardHeader=we;exports.CardTitle=Ne;exports.Checkbox=Y;exports.DataTable=Je;exports.DataTableCell=et;exports.DataTableFilters=tt;exports.DataTableHeader=ae;exports.DataTablePagination=oe;exports.DataTableRow=le;exports.DataTableToolBar=at;exports.DatePicker=ze;exports.DefaultLayout=dt;exports.Divider=ce;exports.Dropdown=Ee;exports.DropdownItem=$e;exports.ErrorLayout=ut;exports.FileUpload=De;exports.Footer=lt;exports.FormField=Te;exports.Header=ot;exports.Icon=L;exports.Image=de;exports.Input=U;exports.InputGroup=Me;exports.Label=ee;exports.Link=ue;exports.ListItem=Le;exports.Logo=me;exports.MenuItem=Ie;exports.Modal=je;exports.ModalBody=Fe;exports.ModalFooter=Pe;exports.ModalHeader=Ae;exports.Notification=_e;exports.Option=te;exports.ProgressBar=fe;exports.Radio=ve;exports.Search=Oe;exports.Select=X;exports.Sidebar=nt;exports.Slider=Ue;exports.Spinner=J;exports.Stepper=Ze;exports.StepperItem=Ge;exports.Switch=pe;exports.Tab=Ke;exports.TabPanel=Qe;exports.Text=ge;exports.Textarea=he;exports.Timeline=rt;exports.TimelineItem=st;exports.Toast=He;exports.Tooltip=be;exports.Typography=Q;exports.cn=c;exports.default=Un;exports.toast=W;exports.useToaster=qe;