@stlhorizon/vue-ui 2.5.6 → 2.5.7
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.esm.js +656 -656
- package/dist/index.js +5 -5
- package/dist/src/components/DataTable.vue.d.ts.map +1 -1
- package/dist/src/components/{STLLoader.vue.d.ts → StlLoader.vue.d.ts} +1 -1
- package/dist/src/components/StlLoader.vue.d.ts.map +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/layouts/AuthLayout.vue.d.ts +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vue-ui.css +1 -1
- package/package.json +1 -1
- package/dist/src/components/STLLoader.vue.d.ts.map +0 -1
package/dist/index.js
CHANGED
@@ -568,7 +568,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
568
568
|
<svg fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor">
|
569
569
|
<path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14" />
|
570
570
|
</svg>
|
571
|
-
`},o=t,s=n,l=e.ref(null),i=e.computed(()=>o.id||e.useId()),c=e.computed(()=>Array.isArray(o.modelValue)?o.modelValue.includes(o.value):o.modelValue),f=d=>{const g=d.target.checked;if(Array.isArray(o.modelValue)){const V=[...o.modelValue];if(g)V.push(o.value);else{const B=V.indexOf(o.value);B>-1&&V.splice(B,1)}s("update:modelValue",V)}else s("update:modelValue",g);s("change",g)},v=()=>{!o.disabled&&l.value&&l.value.click()},b=e.computed(()=>{if(o.error)return`${i.value}-error`}),N=e.computed(()=>({sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6"})[o.size]),h=e.computed(()=>["absolute inset-0 w-full h-full opacity-0 cursor-pointer",{"cursor-not-allowed":o.disabled}]),x=e.computed(()=>["flex items-center justify-center rounded border-2 transition-all duration-200","cursor-pointer select-none",N.value,{"bg-blue-600 border-blue-600 text-white":c.value&&!o.disabled&&o.variant==="default","bg-red-600 border-red-600 text-white":c.value&&!o.disabled&&o.variant==="error","bg-slate-200 border-slate-300 text-slate-400":c.value&&o.disabled,"bg-white border-slate-300 hover:border-slate-400":!c.value&&!o.disabled&&o.variant==="default","bg-white border-red-300 hover:border-red-400":!c.value&&!o.disabled&&o.variant==="error","bg-slate-50 border-slate-200":!c.value&&o.disabled,"cursor-not-allowed":o.disabled,"focus-within:ring-2 focus-within:ring-offset-2":!o.disabled,"focus-within:ring-blue-500":!o.disabled&&o.variant==="default","focus-within:ring-red-500":!o.disabled&&o.variant==="error"}]),u=e.computed(()=>["text-sm font-medium cursor-pointer select-none",{"text-slate-900":!o.disabled,"text-slate-500":o.disabled}]),m=e.computed(()=>["text-xs text-slate-500 mt-1"]);return e.watch(()=>o.indeterminate,d=>{l.value&&(l.value.indeterminate=d)},{immediate:!0}),(d,g)=>(e.openBlock(),e.createElementBlock("div",oi,[e.createElementVNode("div",li,[e.createElementVNode("input",{id:i.value,ref_key:"checkboxRef",ref:l,type:"checkbox",checked:c.value,indeterminate:t.indeterminate,disabled:t.disabled,required:t.required,class:e.normalizeClass(h.value),"aria-describedby":b.value,onChange:f},null,42,si),e.createElementVNode("div",{class:e.normalizeClass(x.value),onClick:v},[c.value&&!t.indeterminate?(e.openBlock(),e.createBlock(a,{key:0,class:"w-3 h-3"})):t.indeterminate?(e.openBlock(),e.createBlock(r,{key:1,class:"w-3 h-3"})):e.createCommentVNode("",!0)],2)]),e.createElementVNode("div",ii,[e.createElementVNode("label",{for:i.value,class:e.normalizeClass(u.value)},[e.renderSlot(d.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],10,ci),t.description?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(m.value)},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0)])]))}},di={key:0,class:"px-3 text-sm text-gray-500 bg-white dark:bg-gray-900 dark:text-gray-400 relative z-10"},zn={__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 n=t,a=E.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"}}),r=e.computed(()=>n.spacing?n.spacing:"");return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y)(e.unref(a)({orientation:t.orientation,size:t.size,color:t.color}),{"opacity-50":t.faded},r.value))},[t.label&&t.orientation==="horizontal"?(e.openBlock(),e.createElementBlock("span",di,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)],2))}},ui=["aria-label"],mi={key:0,class:"sr-only"},Qe={__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 n=t,a=E.cva("inline-flex items-center justify-center",{variants:{variant:{default:"text-muted-foreground",primary:"text-primary",secondary:"text-secondary-foreground"}}}),r=E.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"}}}),o=e.computed(()=>y(a({variant:n.variant}),n.class)),s=e.computed(()=>r({size:n.size}));return(l,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value),role:"status","aria-label":t.label},[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(s.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",mi,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)],10,ui))}},fi=["src","alt","loading"],Dn={__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:n}){const a=t,r=n,o=e.ref(!0),s=e.ref(!1),l=E.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(()=>y(l({aspectRatio:a.aspectRatio}),a.class)),c=e.computed(()=>y("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"},o.value&&"opacity-0",s.value&&"hidden")),f=e.computed(()=>"absolute inset-0 flex items-center justify-center bg-muted"),v=e.computed(()=>"absolute inset-0 flex flex-col items-center justify-center gap-2 bg-muted"),b=h=>{o.value=!1,s.value=!1,r("load",h)},N=h=>{o.value=!1,s.value=!0,r("error",h)};return(h,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(i.value)},[e.createElementVNode("img",{src:t.src,alt:t.alt,class:e.normalizeClass(c.value),loading:t.loading,onLoad:b,onError:N},null,42,fi),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(f.value)},[t.showSpinner?(e.openBlock(),e.createBlock(Qe,{key:0,size:"sm"})):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(v.value)},[e.createVNode(_,{name:"ImageOff",class:"h-8 w-8 text-muted-foreground"}),x[0]||(x[0]=e.createElementVNode("span",{class:"text-sm text-muted-foreground"},"Failed to load image",-1))],2)):e.createCommentVNode("",!0)],2))}},gi={class:"relative"},vi={key:0,class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},pi=["id","type","value","placeholder","disabled","readonly","required","autocomplete","aria-describedby","aria-invalid"],yi={key:1,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},bi=["aria-label"],qe={__name:"Input",props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text",validator:t=>["text","email","password","number","tel","url","search","date","color"].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:n,emit:a}){const r=t,o=a,s=e.ref(null),l=e.computed(()=>r.id||e.useId()),i=g=>{o("update:modelValue",g.target.value)},c=g=>{o("blur",g)},f=g=>{o("focus",g)},v=g=>{o("keydown",g)},b=()=>{o("update:modelValue",""),o("clear"),s.value?.focus()},N=e.computed(()=>!!r.error||r.variant==="error"),h=e.computed(()=>{if(r.error)return`${l.value}-error`}),x=e.computed(()=>({sm:"px-3 py-1.5 text-sm",md:"px-3 py-2 text-sm",lg:"px-4 py-3 text-base"})[r.size]),u=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"})[r.variant]),m=e.computed(()=>["text-slate-400",{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}[r.size]]),d=e.computed(()=>["block 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",r.type==="color"?"w-20 h-12 cursor-pointer":"w-full",x.value,u.value,{"pl-10":r.iconLeft,"pr-10":r.iconRight||r.clearable}]);return n({focus:()=>s.value?.focus(),blur:()=>s.value?.blur(),select:()=>s.value?.select()}),(g,V)=>(e.openBlock(),e.createElementBlock("div",gi,[t.iconLeft?(e.openBlock(),e.createElementBlock("div",vi,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconLeft),{class:e.normalizeClass(m.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("input",{id:l.value,ref_key:"inputRef",ref:s,type:t.type,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,class:e.normalizeClass(d.value),"aria-describedby":h.value,"aria-invalid":N.value,onInput:i,onBlur:c,onFocus:f,onKeydown:v},null,42,pi),t.iconRight||t.clearable?(e.openBlock(),e.createElementBlock("div",yi,[t.clearable&&t.modelValue&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-slate-400 hover:text-slate-600 transition-colors",type:"button","aria-label":t.clearLabel,onClick:b},[e.createVNode(_,{name:"x-mark",class:"w-5 h-5"})],8,bi)):t.iconRight?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconRight),{key:1,class:e.normalizeClass(m.value)},null,8,["class"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))}},hi=["for"],Ze={__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 n=t,a=E.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"}}}),r=e.computed(()=>y(a({size:n.size}),n.disabled&&"cursor-not-allowed opacity-70",n.class));return(o,s)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(r.value),for:t.htmlFor},[e.renderSlot(o.$slots,"default")],10,hi))}},Tn={__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:n}){const a=t,r=e.computed(()=>a.to&&!a.href?"router-link":a.href||a.external?"a":"button"),o=e.computed(()=>`w-4 h-4 ${a.iconPosition==="left"?"mr-2":"ml-2"}`),s=E.cva("transition-colors duration-200 inline-flex items-center",{variants:{variant:{primary:"text-blue-800 hover:text-blue-800 dark:text-blue-500 dark:hover:text-blue-400",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}}),l=c=>{if(a.disabled){c.preventDefault();return}i("click",c)},i=n;return(c,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{href:r.value==="a"?t.href:void 0,to:r.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(y)(e.unref(s)({variant:t.variant,size:t.size,underline:t.underline,block:t.block,disabled:t.disabled}),c.$attrs.class)),onClick:l},{default:e.withCtx(()=>[t.icon&&t.iconPosition==="left"?(e.openBlock(),e.createBlock(_,{key:0,name:t.icon,class:e.normalizeClass(o.value)},null,8,["name","class"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default"),t.icon&&t.iconPosition==="right"?(e.openBlock(),e.createBlock(_,{key:1,name:t.icon,class:e.normalizeClass(o.value)},null,8,["name","class"])):e.createCommentVNode("",!0),t.external&&t.showExternalIcon?(e.openBlock(),e.createBlock(_,{key:2,name:"external-link",class:"w-3 h-3 ml-1 inline-block"})):e.createCommentVNode("",!0)]),_:3},8,["href","to","target","rel","class"]))}},xi=["src","alt"],An={__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 n=t,a=E.cva("flex items-center",{variants:{size:{sm:"h-6",md:"h-8",lg:"h-10",xl:"h-12"}}}),r=e.computed(()=>y(a({size:n.size}),n.class)),o=e.computed(()=>y("h-full w-auto object-contain")),s=e.computed(()=>y("font-bold text-foreground",{"text-lg":n.size==="sm","text-xl":n.size==="md","text-2xl":n.size==="lg","text-3xl":n.size==="xl"}));return(l,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[t.src?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.src,alt:t.alt||"Logo",class:e.normalizeClass(o.value)},null,10,xi)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(s.value)},e.toDisplayString(t.text||"Logo"),3))],2))}},ki=["value","disabled","selected"],Mt={__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(n,a)=>(e.openBlock(),e.createElementBlock("option",{value:t.value,disabled:t.disabled,selected:t.selected},[e.renderSlot(n.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],8,ki))}},wi=["aria-valuenow"],In={__name:"Progress",props:{value:{type:Number,default:0},max:{type:Number,default:100},size:{type:String,default:"default",validator:t=>["sm","md","lg","default"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","success","warning","destructive"].includes(t)}},setup(t){const n=t,a=e.computed(()=>{const s=n.value/n.max*100;return Math.min(Math.max(s,0),100)}),r=E.cva("relative w-full overflow-hidden rounded-full bg-secondary",{variants:{size:{sm:"h-1.5",default:"h-2",md:"h-3",lg:"h-4"}},defaultVariants:{size:"default"}}),o=E.cva("h-full w-full flex-1 transition-all duration-300 ease-in-out rounded-full",{variants:{variant:{default:"bg-primary",success:"bg-green-500",warning:"bg-yellow-500",destructive:"bg-red-500"}},defaultVariants:{variant:"default"}});return(s,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y)(e.unref(r)({size:t.size}),s.$attrs.class))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)(e.unref(o)({variant:t.variant}))),style:e.normalizeStyle({width:`${a.value}%`}),role:"progressbar","aria-valuenow":a.value,"aria-valuemin":0,"aria-valuemax":100},null,14,wi)],2))}},Ci=["aria-valuenow"],Pn={__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 n=t,a=e.computed(()=>{const c=n.value/n.max*100;return Math.min(Math.max(c,0),100)}),r=E.cva("relative w-full overflow-hidden rounded-full bg-secondary",{variants:{size:{sm:"h-2",md:"h-3",lg:"h-4"}}}),o=E.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"}}}),s=e.computed(()=>y(r({size:n.size}),n.class)),l=e.computed(()=>o({variant:n.variant})),i=e.computed(()=>"absolute inset-0 flex items-center justify-center text-xs font-medium text-primary-foreground");return(c,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(s.value)},[e.createElementVNode("div",{class:e.normalizeClass(l.value),style:e.normalizeStyle({width:`${a.value}%`}),role:"progressbar","aria-valuenow":a.value,"aria-valuemin":0,"aria-valuemax":100},null,14,Ci),t.showLabel?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(i.value)},e.toDisplayString(a.value)+"% ",3)):e.createCommentVNode("",!0)],2))}},Bi={class:"flex items-center space-x-2"},Si=["aria-checked","disabled"],jn={__name:"Radio",props:{modelValue:null,value:{type:[String,Number,Boolean],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:n}){const a=t,r=n,o=e.computed(()=>a.modelValue===a.value),s=E.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"}}}),l=e.computed(()=>y(s({size:a.size}),a.disabled&&"cursor-not-allowed opacity-50",a.class)),i=e.computed(()=>y("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"})),c=e.computed(()=>y("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",!a.disabled&&"cursor-pointer")),f=()=>{a.disabled||r("update:modelValue",a.value)};return(v,b)=>(e.openBlock(),e.createElementBlock("div",Bi,[e.createElementVNode("button",{type:"button",role:"radio","aria-checked":o.value,disabled:t.disabled,class:e.normalizeClass(l.value),onClick:f},[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(i.value)},null,2)):e.createCommentVNode("",!0)],10,Si),t.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(c.value),onClick:f},e.toDisplayString(t.label),3)):e.createCommentVNode("",!0)]))}},Vi=["id","name","value","disabled","required"],ze={__name:"Select",props:{modelValue:{type:[String,Number,Boolean],default:""},id:{type:String,default:null},name:{type:String,default:null},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},class:String},emits:["update:modelValue"],setup(t){const n=t,a=E.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"}}}),r=e.computed(()=>y(a({disabled:n.disabled}),"px-3 py-2",n.class));return(o,s)=>(e.openBlock(),e.createElementBlock("select",e.mergeProps({id:t.id,name:t.name,value:t.modelValue,disabled:t.disabled,required:t.required,class:r.value},o.$attrs,{onChange:s[0]||(s[0]=l=>o.$emit("update:modelValue",l.target.value))}),[e.renderSlot(o.$slots,"default")],16,Vi))}},Ni=["aria-checked","disabled"],Fn={__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:n}){const a=t,r=n,o=E.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"}}}),s=E.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"}]}),l=e.computed(()=>y(o({size:a.size,checked:a.modelValue}),a.class)),i=e.computed(()=>s({size:a.size,checked:a.modelValue})),c=()=>{a.disabled||r("update:modelValue",!a.modelValue)};return(f,v)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch","aria-checked":t.modelValue,disabled:t.disabled,class:e.normalizeClass(l.value),onClick:c},[e.createElementVNode("span",{class:e.normalizeClass(i.value)},null,2)],10,Ni))}},Ln={__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 n=t,a=E.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"}}}),r=e.computed(()=>y(a({size:n.size,variant:n.variant,weight:n.weight,align:n.align}),n.class));return(o,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.as),{class:e.normalizeClass(r.value)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["class"]))}},Ei=["id","value","placeholder","disabled","readonly","required","rows","maxlength","aria-describedby","aria-invalid"],Ot={__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:n,emit:a}){const r=t,o=a,s=e.ref(null),l=e.computed(()=>r.id||e.useId()),i=m=>{o("update:modelValue",m.target.value),r.autoResize&&e.nextTick(()=>u())},c=m=>o("blur",m),f=m=>o("focus",m),v=m=>o("keydown",m),b=e.computed(()=>!!r.error||r.variant==="error"),N=e.computed(()=>r.error?`${l.value}-error`:void 0),h=E.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"}}),x=e.computed(()=>y(h({size:r.size,variant:r.variant,resize:r.resize}))),u=()=>{if(!s.value||!r.autoResize)return;const m=s.value;m.style.height="auto",m.style.height=`${m.scrollHeight}px`};return e.watch(()=>r.modelValue,()=>{r.autoResize&&e.nextTick(()=>u())},{immediate:!0}),n({focus:()=>s.value?.focus(),blur:()=>s.value?.blur(),select:()=>s.value?.select()}),(m,d)=>(e.openBlock(),e.createElementBlock("textarea",{id:l.value,ref_key:"textareaRef",ref:s,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,rows:t.rows,maxlength:t.maxlength,class:e.normalizeClass(x.value),"aria-describedby":N.value,"aria-invalid":b.value,onInput:i,onBlur:c,onFocus:f,onKeydown:v},null,42,Ei))}},Mn={__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 n=t,a=e.ref(!1);let r=null;const o=E.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"}}}),s=E.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"}}}),l=e.computed(()=>y(o({placement:n.placement}),n.class)),i=e.computed(()=>s({placement:n.placement})),c=()=>{r&&clearTimeout(r),r=setTimeout(()=>{a.value=!0},n.delay)},f=()=>{r&&clearTimeout(r),a.value=!1};return(v,b)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-block",onMouseenter:c,onMouseleave:f},[e.renderSlot(v.$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(l.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))}},$i={key:0,class:"text-red-600 ml-1","aria-hidden":"true"},Ue={__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,required:{type:Boolean,default:!1}},setup(t){const n=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"})[n.variant]||"p"),r=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"})[n.variant]),o=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"})[n.color]),s=e.computed(()=>({left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"})[n.align]),l=e.computed(()=>[r.value,o.value,s.value,{italic:n.italic,underline:n.underline,truncate:n.truncate,"whitespace-nowrap":n.noWrap}]);return(i,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),e.mergeProps({class:l.value},i.$attrs),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default"),t.required?(e.openBlock(),e.createElementBlock("span",$i,"*")):e.createCommentVNode("",!0)]),_:3},16,["class"]))}},et=(t,n)=>{const a=t.__vccOpts||t;for(const[r,o]of n)a[r]=o;return a},zi={key:0,class:"stl-loader__backdrop"},Di={class:"stl-loader__container"},Ti={key:0,class:"stl-loader__text stl-loader__text--top"},Ai={key:1,class:"stl-loader__spin"},Ii={key:2,class:"stl-loader__pulse"},Pi={key:3,class:"stl-loader__bounce"},ji={key:4,class:"stl-loader__ripple"},Fi={key:5,class:"stl-loader__bars"},Li={key:6,class:"stl-loader__dots"},Mi={key:7,class:"stl-loader__ring"},Oi={key:8,class:"stl-loader__spinner-text"},_i={key:9,class:"stl-loader__text stl-loader__text--bottom"},Ri={__name:"STLLoader",props:{loading:{type:Boolean,default:!0},type:{type:String,default:"spin",validator:t=>["spin","pulse","bounce","ripple","bars","dots","ring","spinner-text"].includes(t)},size:{type:String,default:"medium",validator:t=>["small","medium","large","xl"].includes(t)},color:{type:String,default:"#3b82f6"},backgroundColor:{type:String,default:"rgba(255, 255, 255, 0.9)"},text:{type:String,default:""},textPosition:{type:String,default:"bottom",validator:t=>["top","bottom"].includes(t)},overlay:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1}},setup(t){return(n,a)=>t.loading?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["stl-loader",`stl-loader--${t.type}`,`stl-loader--${t.size}`,t.overlay?"stl-loader--overlay":"",t.fullscreen?"stl-loader--fullscreen":""]),style:e.normalizeStyle({"--loader-color":t.color,"--loader-bg":t.backgroundColor})},[t.overlay?(e.openBlock(),e.createElementBlock("div",zi)):e.createCommentVNode("",!0),e.createElementVNode("div",Di,[t.text&&t.textPosition==="top"?(e.openBlock(),e.createElementBlock("div",Ti,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0),t.type==="spin"?(e.openBlock(),e.createElementBlock("div",Ai)):t.type==="pulse"?(e.openBlock(),e.createElementBlock("div",Ii)):t.type==="bounce"?(e.openBlock(),e.createElementBlock("div",Pi,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,r=>e.createElementVNode("div",{key:r,class:"stl-loader__bounce-dot",style:e.normalizeStyle({animationDelay:`${(r-1)*.1}s`})},null,4)),64))])):t.type==="ripple"?(e.openBlock(),e.createElementBlock("div",ji,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(2,r=>e.createElementVNode("div",{key:r,class:"stl-loader__ripple-ring",style:e.normalizeStyle({animationDelay:`${(r-1)*.5}s`})},null,4)),64))])):t.type==="bars"?(e.openBlock(),e.createElementBlock("div",Fi,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(5,r=>e.createElementVNode("div",{key:r,class:"stl-loader__bar",style:e.normalizeStyle({animationDelay:`${(r-1)*.1}s`})},null,4)),64))])):t.type==="dots"?(e.openBlock(),e.createElementBlock("div",Li,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,r=>e.createElementVNode("div",{key:r,class:"stl-loader__dot",style:e.normalizeStyle({animationDelay:`${(r-1)*.16}s`})},null,4)),64))])):t.type==="ring"?(e.openBlock(),e.createElementBlock("div",Mi,[...a[0]||(a[0]=[e.createElementVNode("div",{class:"stl-loader__ring-track"},null,-1),e.createElementVNode("div",{class:"stl-loader__ring-fill"},null,-1)])])):t.type==="spinner-text"?(e.openBlock(),e.createElementBlock("div",Oi,[...a[1]||(a[1]=[e.createElementVNode("div",{class:"stl-loader__spinner"},null,-1)])])):e.createCommentVNode("",!0),t.text&&t.textPosition==="bottom"?(e.openBlock(),e.createElementBlock("div",_i,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)}},pe=et(Ri,[["__scopeId","data-v-6df9f0a0"]]),qi={class:"flex items-start gap-3"},Ui={key:0,class:"flex-shrink-0 mt-0.5"},Yi={class:"flex-1 min-w-0"},Wi={key:0,class:"font-medium text-sm mb-1"},Hi={key:1,class:"mt-3 flex gap-2"},Gi=["aria-label"],On=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:n}){const a=t,r=n,o=e.ref(!0),s=()=>{o.value=!1,r("dismiss")},l=m=>{r("action",m),m.onClick&&m.onClick()};if(a.autoClose){const m=typeof a.autoClose=="number"?a.autoClose:5e3;setTimeout(s,m)}const i={template:`
|
571
|
+
`},o=t,s=n,l=e.ref(null),i=e.computed(()=>o.id||e.useId()),c=e.computed(()=>Array.isArray(o.modelValue)?o.modelValue.includes(o.value):o.modelValue),f=d=>{const g=d.target.checked;if(Array.isArray(o.modelValue)){const V=[...o.modelValue];if(g)V.push(o.value);else{const B=V.indexOf(o.value);B>-1&&V.splice(B,1)}s("update:modelValue",V)}else s("update:modelValue",g);s("change",g)},v=()=>{!o.disabled&&l.value&&l.value.click()},b=e.computed(()=>{if(o.error)return`${i.value}-error`}),N=e.computed(()=>({sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6"})[o.size]),h=e.computed(()=>["absolute inset-0 w-full h-full opacity-0 cursor-pointer",{"cursor-not-allowed":o.disabled}]),x=e.computed(()=>["flex items-center justify-center rounded border-2 transition-all duration-200","cursor-pointer select-none",N.value,{"bg-blue-600 border-blue-600 text-white":c.value&&!o.disabled&&o.variant==="default","bg-red-600 border-red-600 text-white":c.value&&!o.disabled&&o.variant==="error","bg-slate-200 border-slate-300 text-slate-400":c.value&&o.disabled,"bg-white border-slate-300 hover:border-slate-400":!c.value&&!o.disabled&&o.variant==="default","bg-white border-red-300 hover:border-red-400":!c.value&&!o.disabled&&o.variant==="error","bg-slate-50 border-slate-200":!c.value&&o.disabled,"cursor-not-allowed":o.disabled,"focus-within:ring-2 focus-within:ring-offset-2":!o.disabled,"focus-within:ring-blue-500":!o.disabled&&o.variant==="default","focus-within:ring-red-500":!o.disabled&&o.variant==="error"}]),u=e.computed(()=>["text-sm font-medium cursor-pointer select-none",{"text-slate-900":!o.disabled,"text-slate-500":o.disabled}]),m=e.computed(()=>["text-xs text-slate-500 mt-1"]);return e.watch(()=>o.indeterminate,d=>{l.value&&(l.value.indeterminate=d)},{immediate:!0}),(d,g)=>(e.openBlock(),e.createElementBlock("div",oi,[e.createElementVNode("div",li,[e.createElementVNode("input",{id:i.value,ref_key:"checkboxRef",ref:l,type:"checkbox",checked:c.value,indeterminate:t.indeterminate,disabled:t.disabled,required:t.required,class:e.normalizeClass(h.value),"aria-describedby":b.value,onChange:f},null,42,si),e.createElementVNode("div",{class:e.normalizeClass(x.value),onClick:v},[c.value&&!t.indeterminate?(e.openBlock(),e.createBlock(a,{key:0,class:"w-3 h-3"})):t.indeterminate?(e.openBlock(),e.createBlock(r,{key:1,class:"w-3 h-3"})):e.createCommentVNode("",!0)],2)]),e.createElementVNode("div",ii,[e.createElementVNode("label",{for:i.value,class:e.normalizeClass(u.value)},[e.renderSlot(d.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],10,ci),t.description?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(m.value)},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0)])]))}},di={key:0,class:"px-3 text-sm text-gray-500 bg-white dark:bg-gray-900 dark:text-gray-400 relative z-10"},zn={__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 n=t,a=E.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"}}),r=e.computed(()=>n.spacing?n.spacing:"");return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y)(e.unref(a)({orientation:t.orientation,size:t.size,color:t.color}),{"opacity-50":t.faded},r.value))},[t.label&&t.orientation==="horizontal"?(e.openBlock(),e.createElementBlock("span",di,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)],2))}},ui=["aria-label"],mi={key:0,class:"sr-only"},Qe={__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 n=t,a=E.cva("inline-flex items-center justify-center",{variants:{variant:{default:"text-muted-foreground",primary:"text-primary",secondary:"text-secondary-foreground"}}}),r=E.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"}}}),o=e.computed(()=>y(a({variant:n.variant}),n.class)),s=e.computed(()=>r({size:n.size}));return(l,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value),role:"status","aria-label":t.label},[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(s.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",mi,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0)],10,ui))}},fi=["src","alt","loading"],Dn={__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:n}){const a=t,r=n,o=e.ref(!0),s=e.ref(!1),l=E.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(()=>y(l({aspectRatio:a.aspectRatio}),a.class)),c=e.computed(()=>y("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"},o.value&&"opacity-0",s.value&&"hidden")),f=e.computed(()=>"absolute inset-0 flex items-center justify-center bg-muted"),v=e.computed(()=>"absolute inset-0 flex flex-col items-center justify-center gap-2 bg-muted"),b=h=>{o.value=!1,s.value=!1,r("load",h)},N=h=>{o.value=!1,s.value=!0,r("error",h)};return(h,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(i.value)},[e.createElementVNode("img",{src:t.src,alt:t.alt,class:e.normalizeClass(c.value),loading:t.loading,onLoad:b,onError:N},null,42,fi),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(f.value)},[t.showSpinner?(e.openBlock(),e.createBlock(Qe,{key:0,size:"sm"})):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(v.value)},[e.createVNode(_,{name:"ImageOff",class:"h-8 w-8 text-muted-foreground"}),x[0]||(x[0]=e.createElementVNode("span",{class:"text-sm text-muted-foreground"},"Failed to load image",-1))],2)):e.createCommentVNode("",!0)],2))}},gi={class:"relative"},vi={key:0,class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},pi=["id","type","value","placeholder","disabled","readonly","required","autocomplete","aria-describedby","aria-invalid"],yi={key:1,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},bi=["aria-label"],qe={__name:"Input",props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text",validator:t=>["text","email","password","number","tel","url","search","date","color"].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:n,emit:a}){const r=t,o=a,s=e.ref(null),l=e.computed(()=>r.id||e.useId()),i=g=>{o("update:modelValue",g.target.value)},c=g=>{o("blur",g)},f=g=>{o("focus",g)},v=g=>{o("keydown",g)},b=()=>{o("update:modelValue",""),o("clear"),s.value?.focus()},N=e.computed(()=>!!r.error||r.variant==="error"),h=e.computed(()=>{if(r.error)return`${l.value}-error`}),x=e.computed(()=>({sm:"px-3 py-1.5 text-sm",md:"px-3 py-2 text-sm",lg:"px-4 py-3 text-base"})[r.size]),u=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"})[r.variant]),m=e.computed(()=>["text-slate-400",{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}[r.size]]),d=e.computed(()=>["block 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",r.type==="color"?"w-20 h-12 cursor-pointer":"w-full",x.value,u.value,{"pl-10":r.iconLeft,"pr-10":r.iconRight||r.clearable}]);return n({focus:()=>s.value?.focus(),blur:()=>s.value?.blur(),select:()=>s.value?.select()}),(g,V)=>(e.openBlock(),e.createElementBlock("div",gi,[t.iconLeft?(e.openBlock(),e.createElementBlock("div",vi,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconLeft),{class:e.normalizeClass(m.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("input",{id:l.value,ref_key:"inputRef",ref:s,type:t.type,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,class:e.normalizeClass(d.value),"aria-describedby":h.value,"aria-invalid":N.value,onInput:i,onBlur:c,onFocus:f,onKeydown:v},null,42,pi),t.iconRight||t.clearable?(e.openBlock(),e.createElementBlock("div",yi,[t.clearable&&t.modelValue&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-slate-400 hover:text-slate-600 transition-colors",type:"button","aria-label":t.clearLabel,onClick:b},[e.createVNode(_,{name:"x-mark",class:"w-5 h-5"})],8,bi)):t.iconRight?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconRight),{key:1,class:e.normalizeClass(m.value)},null,8,["class"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))}},hi=["for"],Ze={__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 n=t,a=E.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"}}}),r=e.computed(()=>y(a({size:n.size}),n.disabled&&"cursor-not-allowed opacity-70",n.class));return(o,s)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(r.value),for:t.htmlFor},[e.renderSlot(o.$slots,"default")],10,hi))}},Tn={__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:n}){const a=t,r=e.computed(()=>a.to&&!a.href?"router-link":a.href||a.external?"a":"button"),o=e.computed(()=>`w-4 h-4 ${a.iconPosition==="left"?"mr-2":"ml-2"}`),s=E.cva("transition-colors duration-200 inline-flex items-center",{variants:{variant:{primary:"text-blue-800 hover:text-blue-800 dark:text-blue-500 dark:hover:text-blue-400",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}}),l=c=>{if(a.disabled){c.preventDefault();return}i("click",c)},i=n;return(c,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{href:r.value==="a"?t.href:void 0,to:r.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(y)(e.unref(s)({variant:t.variant,size:t.size,underline:t.underline,block:t.block,disabled:t.disabled}),c.$attrs.class)),onClick:l},{default:e.withCtx(()=>[t.icon&&t.iconPosition==="left"?(e.openBlock(),e.createBlock(_,{key:0,name:t.icon,class:e.normalizeClass(o.value)},null,8,["name","class"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default"),t.icon&&t.iconPosition==="right"?(e.openBlock(),e.createBlock(_,{key:1,name:t.icon,class:e.normalizeClass(o.value)},null,8,["name","class"])):e.createCommentVNode("",!0),t.external&&t.showExternalIcon?(e.openBlock(),e.createBlock(_,{key:2,name:"external-link",class:"w-3 h-3 ml-1 inline-block"})):e.createCommentVNode("",!0)]),_:3},8,["href","to","target","rel","class"]))}},xi=["src","alt"],An={__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 n=t,a=E.cva("flex items-center",{variants:{size:{sm:"h-6",md:"h-8",lg:"h-10",xl:"h-12"}}}),r=e.computed(()=>y(a({size:n.size}),n.class)),o=e.computed(()=>y("h-full w-auto object-contain")),s=e.computed(()=>y("font-bold text-foreground",{"text-lg":n.size==="sm","text-xl":n.size==="md","text-2xl":n.size==="lg","text-3xl":n.size==="xl"}));return(l,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[t.src?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.src,alt:t.alt||"Logo",class:e.normalizeClass(o.value)},null,10,xi)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(s.value)},e.toDisplayString(t.text||"Logo"),3))],2))}},ki=["value","disabled","selected"],Mt={__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(n,a)=>(e.openBlock(),e.createElementBlock("option",{value:t.value,disabled:t.disabled,selected:t.selected},[e.renderSlot(n.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)])],8,ki))}},wi=["aria-valuenow"],In={__name:"Progress",props:{value:{type:Number,default:0},max:{type:Number,default:100},size:{type:String,default:"default",validator:t=>["sm","md","lg","default"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","success","warning","destructive"].includes(t)}},setup(t){const n=t,a=e.computed(()=>{const s=n.value/n.max*100;return Math.min(Math.max(s,0),100)}),r=E.cva("relative w-full overflow-hidden rounded-full bg-secondary",{variants:{size:{sm:"h-1.5",default:"h-2",md:"h-3",lg:"h-4"}},defaultVariants:{size:"default"}}),o=E.cva("h-full w-full flex-1 transition-all duration-300 ease-in-out rounded-full",{variants:{variant:{default:"bg-primary",success:"bg-green-500",warning:"bg-yellow-500",destructive:"bg-red-500"}},defaultVariants:{variant:"default"}});return(s,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y)(e.unref(r)({size:t.size}),s.$attrs.class))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)(e.unref(o)({variant:t.variant}))),style:e.normalizeStyle({width:`${a.value}%`}),role:"progressbar","aria-valuenow":a.value,"aria-valuemin":0,"aria-valuemax":100},null,14,wi)],2))}},Ci=["aria-valuenow"],Pn={__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 n=t,a=e.computed(()=>{const c=n.value/n.max*100;return Math.min(Math.max(c,0),100)}),r=E.cva("relative w-full overflow-hidden rounded-full bg-secondary",{variants:{size:{sm:"h-2",md:"h-3",lg:"h-4"}}}),o=E.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"}}}),s=e.computed(()=>y(r({size:n.size}),n.class)),l=e.computed(()=>o({variant:n.variant})),i=e.computed(()=>"absolute inset-0 flex items-center justify-center text-xs font-medium text-primary-foreground");return(c,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(s.value)},[e.createElementVNode("div",{class:e.normalizeClass(l.value),style:e.normalizeStyle({width:`${a.value}%`}),role:"progressbar","aria-valuenow":a.value,"aria-valuemin":0,"aria-valuemax":100},null,14,Ci),t.showLabel?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(i.value)},e.toDisplayString(a.value)+"% ",3)):e.createCommentVNode("",!0)],2))}},Bi={class:"flex items-center space-x-2"},Si=["aria-checked","disabled"],jn={__name:"Radio",props:{modelValue:null,value:{type:[String,Number,Boolean],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:n}){const a=t,r=n,o=e.computed(()=>a.modelValue===a.value),s=E.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"}}}),l=e.computed(()=>y(s({size:a.size}),a.disabled&&"cursor-not-allowed opacity-50",a.class)),i=e.computed(()=>y("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"})),c=e.computed(()=>y("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",!a.disabled&&"cursor-pointer")),f=()=>{a.disabled||r("update:modelValue",a.value)};return(v,b)=>(e.openBlock(),e.createElementBlock("div",Bi,[e.createElementVNode("button",{type:"button",role:"radio","aria-checked":o.value,disabled:t.disabled,class:e.normalizeClass(l.value),onClick:f},[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(i.value)},null,2)):e.createCommentVNode("",!0)],10,Si),t.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(c.value),onClick:f},e.toDisplayString(t.label),3)):e.createCommentVNode("",!0)]))}},Vi=["id","name","value","disabled","required"],ze={__name:"Select",props:{modelValue:{type:[String,Number,Boolean],default:""},id:{type:String,default:null},name:{type:String,default:null},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},class:String},emits:["update:modelValue"],setup(t){const n=t,a=E.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"}}}),r=e.computed(()=>y(a({disabled:n.disabled}),"px-3 py-2",n.class));return(o,s)=>(e.openBlock(),e.createElementBlock("select",e.mergeProps({id:t.id,name:t.name,value:t.modelValue,disabled:t.disabled,required:t.required,class:r.value},o.$attrs,{onChange:s[0]||(s[0]=l=>o.$emit("update:modelValue",l.target.value))}),[e.renderSlot(o.$slots,"default")],16,Vi))}},Ni=["aria-checked","disabled"],Fn={__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:n}){const a=t,r=n,o=E.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"}}}),s=E.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"}]}),l=e.computed(()=>y(o({size:a.size,checked:a.modelValue}),a.class)),i=e.computed(()=>s({size:a.size,checked:a.modelValue})),c=()=>{a.disabled||r("update:modelValue",!a.modelValue)};return(f,v)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch","aria-checked":t.modelValue,disabled:t.disabled,class:e.normalizeClass(l.value),onClick:c},[e.createElementVNode("span",{class:e.normalizeClass(i.value)},null,2)],10,Ni))}},Ln={__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 n=t,a=E.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"}}}),r=e.computed(()=>y(a({size:n.size,variant:n.variant,weight:n.weight,align:n.align}),n.class));return(o,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.as),{class:e.normalizeClass(r.value)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["class"]))}},Ei=["id","value","placeholder","disabled","readonly","required","rows","maxlength","aria-describedby","aria-invalid"],Ot={__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:n,emit:a}){const r=t,o=a,s=e.ref(null),l=e.computed(()=>r.id||e.useId()),i=m=>{o("update:modelValue",m.target.value),r.autoResize&&e.nextTick(()=>u())},c=m=>o("blur",m),f=m=>o("focus",m),v=m=>o("keydown",m),b=e.computed(()=>!!r.error||r.variant==="error"),N=e.computed(()=>r.error?`${l.value}-error`:void 0),h=E.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"}}),x=e.computed(()=>y(h({size:r.size,variant:r.variant,resize:r.resize}))),u=()=>{if(!s.value||!r.autoResize)return;const m=s.value;m.style.height="auto",m.style.height=`${m.scrollHeight}px`};return e.watch(()=>r.modelValue,()=>{r.autoResize&&e.nextTick(()=>u())},{immediate:!0}),n({focus:()=>s.value?.focus(),blur:()=>s.value?.blur(),select:()=>s.value?.select()}),(m,d)=>(e.openBlock(),e.createElementBlock("textarea",{id:l.value,ref_key:"textareaRef",ref:s,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,rows:t.rows,maxlength:t.maxlength,class:e.normalizeClass(x.value),"aria-describedby":N.value,"aria-invalid":b.value,onInput:i,onBlur:c,onFocus:f,onKeydown:v},null,42,Ei))}},Mn={__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 n=t,a=e.ref(!1);let r=null;const o=E.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"}}}),s=E.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"}}}),l=e.computed(()=>y(o({placement:n.placement}),n.class)),i=e.computed(()=>s({placement:n.placement})),c=()=>{r&&clearTimeout(r),r=setTimeout(()=>{a.value=!0},n.delay)},f=()=>{r&&clearTimeout(r),a.value=!1};return(v,b)=>(e.openBlock(),e.createElementBlock("div",{class:"relative inline-block",onMouseenter:c,onMouseleave:f},[e.renderSlot(v.$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(l.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))}},$i={key:0,class:"text-red-600 ml-1","aria-hidden":"true"},Ue={__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,required:{type:Boolean,default:!1}},setup(t){const n=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"})[n.variant]||"p"),r=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"})[n.variant]),o=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"})[n.color]),s=e.computed(()=>({left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"})[n.align]),l=e.computed(()=>[r.value,o.value,s.value,{italic:n.italic,underline:n.underline,truncate:n.truncate,"whitespace-nowrap":n.noWrap}]);return(i,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),e.mergeProps({class:l.value},i.$attrs),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default"),t.required?(e.openBlock(),e.createElementBlock("span",$i,"*")):e.createCommentVNode("",!0)]),_:3},16,["class"]))}},zi={class:"flex items-start gap-3"},Di={key:0,class:"flex-shrink-0 mt-0.5"},Ti={class:"flex-1 min-w-0"},Ai={key:0,class:"font-medium text-sm mb-1"},Ii={key:1,class:"mt-3 flex gap-2"},Pi=["aria-label"],On=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:n}){const a=t,r=n,o=e.ref(!0),s=()=>{o.value=!1,r("dismiss")},l=m=>{r("action",m),m.onClick&&m.onClick()};if(a.autoClose){const m=typeof a.autoClose=="number"?a.autoClose:5e3;setTimeout(s,m)}const i={template:`
|
572
572
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
573
573
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
574
574
|
d="M12 9v2m0 4h.01M21 12A9 9 0 1112 3a9 9 0 019 9z" />
|
@@ -593,19 +593,19 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
593
593
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
594
594
|
d="M6 18L18 6M6 6l12 12" />
|
595
595
|
</svg>
|
596
|
-
`},N=e.computed(()=>({info:i,success:c,warning:f,error:v,default:i,destructive:v})[a.variant]),h=E.cva("relative w-full rounded-lg border p-4 flex items-start gap-3",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive",info:"bg-blue-50 border-blue-200 text-blue-800",success:"bg-green-50 border-green-200 text-green-800",warning:"bg-yellow-50 border-yellow-200 text-yellow-800",error:"bg-red-50 border-red-200 text-red-800"}},defaultVariants:{variant:"default"}}),x=e.computed(()=>["w-5 h-5",{info:"text-blue-500",success:"text-green-500",warning:"text-yellow-500",error:"text-red-500",default:"text-foreground",destructive:"text-destructive"}[a.variant]]),u=e.computed(()=>["flex-shrink-0 p-1 rounded-md transition-colors duration-200",{info:"text-blue-500 hover:text-blue-700 hover:bg-blue-100",success:"text-green-500 hover:text-green-700 hover:bg-green-100",warning:"text-yellow-500 hover:text-yellow-700 hover:bg-yellow-100",error:"text-red-500 hover:text-red-700 hover:bg-red-100",default:"text-foreground hover:text-foreground/80 hover:bg-muted",destructive:"text-destructive hover:text-destructive/80 hover:bg-destructive/10"}[a.variant]]);return(m,d)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"transition-all duration-300","enter-from-class":"opacity-0 scale-95","enter-to-class":"opacity-100 scale-100","leave-active-class":"transition-all duration-200","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(y)(e.unref(h)({variant:t.variant}),m.$attrs.class)),role:"alert"},[e.createElementVNode("div",qi,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Ui,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N.value),{class:e.normalizeClass(x.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",Yi,[t.title?(e.openBlock(),e.createElementBlock("h4",Wi,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["text-sm",{"mt-0":!t.title,"mt-1":t.title}])},[e.renderSlot(m.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)])],2),m.$slots.actions||t.actions.length>0?(e.openBlock(),e.createElementBlock("div",Hi,[e.renderSlot(m.$slots,"actions",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,g=>(e.openBlock(),e.createBlock(ae,{key:g.label,variant:g.variant||"outline",size:g.size||"sm",onClick:V=>l(g)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1032,["variant","size","onClick"]))),128))])])):e.createCommentVNode("",!0)]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(u.value),"aria-label":t.dismissLabel,onClick:s},[e.createVNode(b,{class:"w-4 h-4"})],10,Gi)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)]),_:3}))}}),Ki=["aria-label"],Xi={class:"flex items-center space-x-1"},_n={__name:"Breadcrumb",props:{items:{type:Array,required:!0,validator:t=>t.every(n=>n.label)},separator:{type:String,default:"chevron-right"},ariaLabel:{type:String,default:"Breadcrumb navigation"},variant:{type:String,default:"default",validator:t=>["default","ghost"].includes(t)}},setup(t){const n=t,a=E.cva("",{variants:{variant:{default:"",ghost:"text-muted-foreground"}}}),r=e.computed(()=>y(a({variant:n.variant})));return(o,s)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel,class:e.normalizeClass(["flex",r.value])},[e.createElementVNode("ol",Xi,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(l,i)=>(e.openBlock(),e.createElementBlock("li",{key:i,class:"flex items-center"},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.href?"a":"span"),{href:l.href,class:e.normalizeClass(["text-sm font-medium transition-colors hover:text-foreground",i===t.items.length-1?"text-foreground":"text-muted-foreground hover:text-foreground"]),"aria-current":i===t.items.length-1?"page":void 0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.label),1)]),_:2},1032,["href","class","aria-current"])),i<t.items.length-1?(e.openBlock(),e.createBlock(_,{key:0,name:t.separator,class:"mx-2 h-4 w-4 text-muted-foreground"},null,8,["name"])):e.createCommentVNode("",!0)]))),128))])],10,Ki))}},Ji=["aria-label"],Rn={__name:"ButtonGroup",props:{orientation:{type:String,default:"horizontal",validator:t=>["horizontal","vertical"].includes(t)},size:{type:String,default:"default",validator:t=>["sm","default","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","outline","ghost"].includes(t)},ariaLabel:String},setup(t){const n=t,a=E.cva("inline-flex",{variants:{orientation:{horizontal:"flex-row [&>*:not(:first-child)]:ml-[-1px] [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-l-none",vertical:"flex-col [&>*:not(:first-child)]:mt-[-1px] [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-b-none [&>*:last-child]:rounded-t-none"}}}),r=e.computed(()=>y(a({orientation:n.orientation})));return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value),role:"group","aria-label":t.ariaLabel},[e.renderSlot(o.$slots,"default")],10,Ji))}},Qi={class:"flex items-start justify-between"},Zi={class:"flex-1 min-w-0"},ec={key:0,class:"flex-shrink-0 ml-4"},tc=["src","alt"],ac="w-full h-auto object-cover",nc="text-lg font-semibold text-slate-900 truncate",rc="text-sm text-slate-600 mt-1",qn={__name:"Card",props:{variant:{type:String,default:"default",validator:t=>["default","outlined","elevated","filled"].includes(t)},padding:{type:String,default:"md",validator:t=>["none","sm","md","lg","xl"].includes(t)},title:String,subtitle:String,image:String,imageAlt:{type:String,default:"Card image"},hoverable:Boolean,clickable:Boolean,loading:Boolean},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=v=>{a.clickable&&r("click",v)},s=E.cva("rounded-lg overflow-hidden transition-all duration-200",{variants:{variant:{default:"bg-white border border-slate-200",outlined:"bg-white border-2 border-slate-300",elevated:"bg-white shadow-lg border border-slate-100",filled:"bg-slate-50 border border-slate-200"},padding:{none:"",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"},hoverable:{true:"hover:shadow-md"},clickable:{true:"cursor-pointer"},loading:{true:"opacity-60 pointer-events-none"}},defaultVariants:{variant:"default",padding:"md"}}),l=E.cva("border-b border-slate-100 last:border-b-0",{variants:{padding:{none:"p-4 pb-0",sm:"px-3 pt-3",md:"px-4 pt-4",lg:"px-6 pt-6",xl:"px-8 pt-8"}}}),i=E.cva("",{variants:{padding:{none:"p-4",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}}}),c=E.cva("border-t border-slate-100 bg-slate-50/50",{variants:{padding:{none:"p-4 pt-0",sm:"px-3 pb-3",md:"px-4 pb-4",lg:"px-6 pb-6",xl:"px-8 pb-8"}}}),f=E.cva("",{variants:{padding:{none:"",sm:"-mx-3 -mt-3 mb-3",md:"-mx-4 -mt-4 mb-4",lg:"-mx-6 -mt-6 mb-6",xl:"-mx-8 -mt-8 mb-8"}}});return(v,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y)(e.unref(s)({variant:t.variant,padding:t.padding,hoverable:t.hoverable,clickable:t.clickable,loading:t.loading}))),onClick:o},[v.$slots.header||t.title||t.subtitle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(y)(e.unref(l)({padding:t.padding})))},[e.renderSlot(v.$slots,"header",{},()=>[e.createElementVNode("div",Qi,[e.createElementVNode("div",Zi,[t.title?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(nc)},e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(rc)},e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),v.$slots.actions?(e.openBlock(),e.createElementBlock("div",ec,[e.renderSlot(v.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),v.$slots.image||t.image?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(y)(e.unref(f)({padding:t.padding})))},[e.renderSlot(v.$slots,"image",{},()=>[t.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.image,alt:t.imageAlt,class:e.normalizeClass(ac)},null,8,tc)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),v.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(y)(e.unref(i)({padding:t.padding})))},[e.renderSlot(v.$slots,"default")],2)):e.createCommentVNode("",!0),v.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(y)(e.unref(c)({padding:t.padding})))},[e.renderSlot(v.$slots,"footer")],2)):e.createCommentVNode("",!0)],2))}},Un=Object.assign({inheritAttrs:!1},{__name:"CardHeader",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y)("flex flex-col space-y-1.5 p-6",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),Yn={__name:"CardBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=E.cva("p-6",{variants:{variant:{default:"p-6",compact:"p-4",spacious:"p-8"}}}),r=e.computed(()=>y(a({variant:n.variant})));return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},Wn={__name:"CardFooter",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=E.cva("flex items-center p-6 pt-0",{variants:{variant:{default:"p-6 pt-0",compact:"p-4 pt-0",spacious:"p-8 pt-0"}}}),r=e.computed(()=>y(a({variant:n.variant})));return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},Hn=Object.assign({inheritAttrs:!1},{__name:"CardContent",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y)("p-6 pt-0",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),Gn=Object.assign({inheritAttrs:!1},{__name:"CardTitle",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("h3",{class:e.normalizeClass(e.unref(y)("text-2xl font-semibold leading-none tracking-tight",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),oc={class:"relative w-full"},lc={class:"relative"},sc=["id","value","disabled","placeholder","required","aria-describedby"],ic={class:"flex items-center justify-between mb-4"},cc={class:"text-base font-semibold text-slate-900"},dc={class:"grid grid-cols-7 gap-1 mb-2"},uc={class:"grid grid-cols-7 gap-1"},mc=["disabled","onClick"],fc={key:0,class:"mt-4 pt-3 border-t border-slate-200"},tt={__name:"DatePicker",props:{id:String,modelValue:[String,Date],disabled:Boolean,required:Boolean,min:[String,Date],max:[String,Date],placeholder:{type:String,default:"Select date"},format:{type:String,default:"MM/DD/YYYY"},clearable:{type:Boolean,default:!0},showToday:{type:Boolean,default:!0},calendarPosition:{type:String,default:"left-0 bottom-full"},ariaDescribedby:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(!1),s=new Date,l=e.ref(s.getMonth()),i=e.ref(s.getFullYear()),c=e.ref(null),f=["Su","Mo","Tu","We","Th","Fr","Sa"],v=e.computed(()=>new Date(i.value,l.value).toLocaleString("default",{month:"long"})),b=e.computed(()=>new Date(i.value,l.value+1,0).getDate()),N=e.computed(()=>new Date(i.value,l.value,1).getDay()),h=e.computed(()=>{const p=new Date(i.value,l.value,0).getDate(),C=N.value;return Array.from({length:C},(D,q)=>p-C+q+1)}),x=e.computed(()=>{const p=h.value.length+b.value,C=p%7===0?0:7-p%7;return Array.from({length:C},(D,q)=>q+1)}),u=e.computed(()=>c.value?m(c.value):"");function m(p){if(!p)return"";const C=new Date(p),D=String(C.getMonth()+1).padStart(2,"0"),q=String(C.getDate()).padStart(2,"0"),M=C.getFullYear();return a.format.replace("MM",D).replace("DD",q).replace("YYYY",M)}function d(p){if(!p)return null;if(p instanceof Date)return p;if(typeof p=="string"){const D=p.split("-");if(D.length===3){const q=parseInt(D[0],10),M=parseInt(D[1],10)-1,J=parseInt(D[2],10);return new Date(q,M,J)}}const C=new Date(p);return isNaN(C.getTime())?null:C}function g(p){return s.getDate()===p&&s.getMonth()===l.value&&s.getFullYear()===i.value}function V(p){if(!c.value)return!1;const C=new Date(c.value);return C.getDate()===p&&C.getMonth()===l.value&&C.getFullYear()===i.value}function B(p){const C=new Date(i.value,l.value,p);if(a.min){const D=d(a.min);if(D&&C<D)return!0}if(a.max){const D=d(a.max);if(D&&C>D)return!0}return!1}function k(){a.disabled||(o.value=!o.value)}function R(){o.value=!1}function T(){l.value===0?(l.value=11,i.value--):l.value--}function U(){l.value===11?(l.value=0,i.value++):l.value++}function W(p){if(B(p))return;const C=new Date(i.value,l.value,p);c.value=C;const D=C.getFullYear(),q=String(C.getMonth()+1).padStart(2,"0"),M=String(C.getDate()).padStart(2,"0"),J=`${D}-${q}-${M}`;r("update:modelValue",J),setTimeout(()=>{o.value=!1},150)}function z(){l.value=s.getMonth(),i.value=s.getFullYear(),W(s.getDate())}function L(){c.value=null,r("update:modelValue","")}e.watch(()=>a.modelValue,p=>{if(p){const C=d(p);C&&(c.value=C,l.value=C.getMonth(),i.value=C.getFullYear())}else c.value=null},{immediate:!0});function I(p){p.key==="Escape"&&o.value&&R()}return e.onMounted(()=>{document.addEventListener("keydown",I)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",I)}),(p,C)=>(e.openBlock(),e.createElementBlock("div",oc,[e.createElementVNode("div",lc,[e.createElementVNode("input",{id:t.id,type:"text",value:u.value,readonly:"",disabled:t.disabled,placeholder:t.placeholder,required:t.required,"aria-describedby":t.ariaDescribedby,class:"w-full px-3 py-2 pr-10 border border-slate-300 rounded-md bg-white text-slate-900 placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 cursor-pointer disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed",onClick:k},null,8,sc),C[2]||(C[2]=e.createElementVNode("div",{class:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none"},[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})])],-1)),t.clearable&&u.value&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-9 top-1/2 -translate-y-1/2 p-1 hover:bg-slate-100 rounded","aria-label":"Clear date",onClick:e.withModifiers(L,["stop"])},[...C[1]||(C[1]=[e.createElementVNode("svg",{class:"w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute z-[9999] mb-2 bg-white border border-slate-200 rounded-lg shadow-lg p-4",t.calendarPosition]),onClick:C[0]||(C[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",ic,[e.createElementVNode("button",{type:"button",class:"p-2 rounded-lg hover:bg-slate-100 transition-colors","aria-label":"Previous Month",onClick:T},[...C[3]||(C[3]=[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-700",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 18l-6-6 6-6"})],-1)])]),e.createElementVNode("div",cc,e.toDisplayString(v.value)+" "+e.toDisplayString(i.value),1),e.createElementVNode("button",{type:"button",class:"p-2 rounded-lg hover:bg-slate-100 transition-colors","aria-label":"Next Month",onClick:U},[...C[4]||(C[4]=[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-700",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 18l6-6-6-6"})],-1)])])]),e.createElementVNode("div",dc,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(f,D=>e.createElementVNode("div",{key:D,class:"text-center text-xs font-medium text-slate-600 py-1"},e.toDisplayString(D),1)),64))]),e.createElementVNode("div",uc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(D,q)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+q,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(D),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,D=>(e.openBlock(),e.createElementBlock("button",{key:D,type:"button",disabled:B(D),class:e.normalizeClass(["w-9 h-9 rounded-lg text-sm font-medium transition-colors",g(D)&&!V(D)?"bg-blue-50 text-blue-600 border border-blue-200":"",V(D)?"bg-blue-500 text-white hover:bg-blue-600":"text-slate-700 hover:bg-slate-100",B(D)?"text-slate-300 cursor-not-allowed hover:bg-transparent":"cursor-pointer"]),onClick:q=>W(D)},e.toDisplayString(D),11,mc))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(D,q)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+q,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(D),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",fc,[e.createElementVNode("button",{type:"button",class:"w-full px-3 py-2 text-sm font-medium text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",onClick:z}," Today ")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-[9998]",onClick:R})):e.createCommentVNode("",!0)]))}},gc=["aria-expanded"],Kn={__name:"Dropdown",props:{triggerText:{type:String,default:"Options"},placement:{type:String,default:"bottom-start",validator:t=>["bottom-start","bottom-end","top-start","top-end"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","outline","ghost"].includes(t)}},setup(t){const n=t,a=e.ref(!1),r=e.ref(null),o=E.cva("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",ghost:"hover:bg-accent hover:text-accent-foreground"}}}),s=E.cva("absolute z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",{variants:{placement:{"bottom-start":"top-full left-0 mt-1","bottom-end":"top-full right-0 mt-1","top-start":"bottom-full left-0 mb-1","top-end":"bottom-full right-0 mb-1"}}}),l=e.computed(()=>y(o({variant:n.variant}),"h-10 px-4 py-2")),i=e.computed(()=>y(s({placement:n.placement}))),c=()=>{a.value=!a.value},f=v=>{r.value&&!r.value.contains(v.target)&&(a.value=!1)};return e.onMounted(()=>{document.addEventListener("click",f)}),e.onUnmounted(()=>{document.removeEventListener("click",f)}),(v,b)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdownRef",ref:r,class:"relative"},[e.createElementVNode("button",{class:e.normalizeClass(l.value),"aria-expanded":a.value,"aria-haspopup":!0,onClick:c},[e.renderSlot(v.$slots,"trigger",{},()=>[e.createElementVNode("span",null,e.toDisplayString(t.triggerText),1),e.createVNode(_,{name:"chevron-down",class:"ml-2 h-4 w-4"})])],10,gc),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(i.value),role:"menu","aria-orientation":"vertical"},[e.renderSlot(v.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3})],512))}},vc={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},Xn={__name:"DropdownItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,variant:{type:String,default:"default",validator:t=>["default","destructive"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=E.cva("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",{variants:{variant:{default:"hover:bg-accent hover:text-accent-foreground",destructive:"text-destructive hover:bg-destructive hover:text-destructive-foreground"}}}),s=e.computed(()=>y(o({variant:a.variant}))),l=i=>{a.disabled||r("click",i)};return(i,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"button"),{href:t.href,class:e.normalizeClass(s.value),disabled:t.disabled,role:"menuitem",onClick:l},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(_,{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",vc,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},pc={class:"w-full"},yc=["multiple","accept"],bc={class:"flex flex-col items-center justify-center py-6"},hc={key:0,class:"text-xs text-muted-foreground mt-1"},xc={key:0,class:"mt-4 space-y-2"},kc={class:"flex items-center space-x-2"},wc={class:"text-sm"},Cc={class:"text-xs text-muted-foreground"},Bc=["onClick"],Jn={__name:"FileUpload",props:{multiple:Boolean,accept:String,maxSize:Number,variant:{type:String,default:"default",validator:t=>["default","dashed"].includes(t)}},emits:["files-selected","file-removed"],setup(t,{emit:n}){const a=t,r=n,o=e.ref([]),s=e.ref(!1),l=e.ref(null),i=E.cva("border-2 border-dashed rounded-lg cursor-pointer transition-colors hover:bg-muted/50",{variants:{variant:{default:"border-muted-foreground/25",dashed:"border-primary/50"}}}),c=e.computed(()=>y(i({variant:a.variant}),s.value&&"border-primary bg-primary/5")),f=g=>{g.preventDefault(),s.value=!1;const V=Array.from(g.dataTransfer.files);u(V)},v=g=>{g.preventDefault()},b=g=>{g.preventDefault(),s.value=!0},N=g=>{g.preventDefault(),s.value=!1},h=()=>{l.value?.click()},x=g=>{const V=Array.from(g.target.files);u(V)},u=g=>{const V=g.filter(B=>!(a.maxSize&&B.size>a.maxSize));a.multiple?o.value.push(...V):o.value=V.slice(0,1),r("files-selected",o.value)},m=g=>{o.value.splice(g,1),r("file-removed",o.value)},d=g=>{if(g===0)return"0 Bytes";const V=1024,B=["Bytes","KB","MB","GB"],k=Math.floor(Math.log(g)/Math.log(V));return parseFloat((g/Math.pow(V,k)).toFixed(2))+" "+B[k]};return(g,V)=>(e.openBlock(),e.createElementBlock("div",pc,[e.createElementVNode("div",{class:e.normalizeClass(c.value),onDrop:f,onDragover:v,onDragenter:b,onDragleave:N,onClick:h},[e.createElementVNode("input",{ref_key:"fileInput",ref:l,type:"file",multiple:t.multiple,accept:t.accept,class:"hidden",onChange:x},null,40,yc),e.createElementVNode("div",bc,[e.createVNode(_,{name:"upload",class:"h-8 w-8 text-muted-foreground mb-2"}),V[0]||(V[0]=e.createElementVNode("p",{class:"text-sm text-muted-foreground text-center"},[e.createElementVNode("span",{class:"font-semibold"},"Click to upload"),e.createTextVNode(" or drag and drop ")],-1)),t.accept?(e.openBlock(),e.createElementBlock("p",hc,e.toDisplayString(t.accept),1)):e.createCommentVNode("",!0)])],34),o.value.length>0?(e.openBlock(),e.createElementBlock("div",xc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(B,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"flex items-center justify-between p-2 bg-muted rounded-md"},[e.createElementVNode("div",kc,[e.createVNode(_,{name:"file",class:"h-4 w-4 text-muted-foreground"}),e.createElementVNode("span",wc,e.toDisplayString(B.name),1),e.createElementVNode("span",Cc,"("+e.toDisplayString(d(B.size))+")",1)]),e.createElementVNode("button",{class:"text-muted-foreground hover:text-foreground",onClick:R=>m(k)},[e.createVNode(_,{name:"x",class:"h-4 w-4"})],8,Bc)]))),128))])):e.createCommentVNode("",!0)]))}},Sc=["for"],Vc={key:0,class:"text-red-500 ml-1","aria-label":"required"},Nc={class:"relative"},Ec=["aria-label"],$c=["id"],zc=["id"],_t={__name:"FormField",props:{label:String,description:String,error:String,success:String,helpText:String,required:{type:Boolean,default:!1},type:{type:String,default:"text"},modelValue:[String,Date],size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},id:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,r=n,o=`field-${Math.random().toString(36).slice(2,9)}`,s=e.computed(()=>`${a.id||o}-${Math.random().toString(36).slice(2,5)}`),l=e.computed(()=>!!a.error),i=e.ref(!1),c=()=>{i.value=!i.value},f=e.computed(()=>{const u=[];return a.error?u.push(`${s.value}-error`):a.helpText&&u.push(`${s.value}-help`),u.length>0?u.join(" "):void 0}),v=E.cva("",{variants:{size:{sm:"space-y-1",md:"space-y-2",lg:"space-y-3"}},defaultVariants:{size:"md"}}),b=E.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"}}),N=E.cva("text-slate-600",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),h=E.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=E.cva("text-slate-500",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"}},defaultVariants:{size:"md"}});return(u,m)=>{const d=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y)(e.unref(v)({size:t.size}),u.$attrs.class))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:s.value,class:e.normalizeClass(e.unref(y)(e.unref(b)({size:t.size})))},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Vc,"*")):e.createCommentVNode("",!0)],10,Sc)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(e.unref(y)(e.unref(N)({size:t.size})))},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0),e.createElementVNode("div",Nc,[t.type==="date"?(e.openBlock(),e.createBlock(tt,{key:0,id:s.value,"model-value":t.modelValue,disabled:!1,required:t.required,class:e.normalizeClass(l.value?"border-red-500":""),"onUpdate:modelValue":m[0]||(m[0]=g=>r("update:modelValue",g))},null,8,["id","model-value","required","class"])):e.renderSlot(u.$slots,"default",{key:1,fieldId:s.value,hasError:l.value,ariaDescribedBy:f.value,showPassword:i.value,togglePasswordVisibility:c}),t.type==="password"?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"absolute inset-y-0 right-0 pr-3 flex items-center text-slate-400 hover:text-slate-600 transition-colors","aria-label":i.value?"Hide password":"Show password",onClick:c},[e.createVNode(d,{icon:i.value?"eye-slash":"eye",class:"w-4 h-4"},null,8,["icon"])],8,Ec)):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200","enter-from-class":"opacity-0 -translate-y-1","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition-all duration-150","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 -translate-y-1"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:`${s.value}-error`,class:e.normalizeClass(e.unref(y)(e.unref(h)({size:t.size,intent:"error"}))),role:"alert","aria-live":"polite"},[e.createVNode(d,{icon:"exclamation-triangle",class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.error),1)],10,$c)):e.createCommentVNode("",!0)]),_:1}),t.helpText&&!l.value?(e.openBlock(),e.createElementBlock("p",{key:2,id:`${s.value}-help`,class:e.normalizeClass(e.unref(y)(e.unref(x)({size:t.size})))},e.toDisplayString(t.helpText),11,zc)):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&&!l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(y)(e.unref(h)({size:t.size,intent:"success"})))},[e.createVNode(d,{icon:"check",class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.success),1)],2)):e.createCommentVNode("",!0)]),_:1})],2)}}},Dc={key:0,class:"flex items-center px-3 bg-muted border border-r-0 rounded-l-md"},Tc={key:1,class:"flex items-center px-3 bg-muted border border-l-0 rounded-r-md"},Qn={__name:"InputGroup",props:{variant:{type:String,default:"default",validator:t=>["default","outline"].includes(t)}},setup(t){const n=t,a=E.cva("flex w-full",{variants:{variant:{default:"[&>input]:rounded-none [&>input:first-child]:rounded-l-md [&>input:last-child]:rounded-r-md",outline:"border border-input rounded-md [&>input]:border-0 [&>input]:rounded-none"}}}),r=e.computed(()=>y(a({variant:n.variant})));return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[o.$slots.prefix?(e.openBlock(),e.createElementBlock("div",Dc,[e.renderSlot(o.$slots,"prefix")])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default"),o.$slots.suffix?(e.openBlock(),e.createElementBlock("div",Tc,[e.renderSlot(o.$slots,"suffix")])):e.createCommentVNode("",!0)],2))}},Ac=["role"],Ic={key:0,class:"flex-shrink-0"},Pc={class:"flex-1 min-w-0"},jc={key:0,class:"text-sm font-medium text-foreground"},Fc={key:1,class:"text-sm text-muted-foreground"},Lc={key:1,class:"flex-shrink-0"},Zn={__name:"ListItem",props:{title:String,description:String,icon:String,href:String,role:String,variant:{type:String,default:"default",validator:t=>["default","interactive"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=E.cva("",{variants:{variant:{default:"",interactive:"hover:bg-accent/50 cursor-pointer"}}}),s=E.cva("flex items-center space-x-3 p-3",{variants:{variant:{default:"",interactive:"transition-colors rounded-md"}}}),l=e.computed(()=>y(o({variant:a.variant}))),i=e.computed(()=>y(s({variant:a.variant}))),c=f=>{r("click",f)};return(f,v)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(l.value),role:t.role},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"div"),{href:t.href,class:e.normalizeClass(i.value),onClick:c},{default:e.withCtx(()=>[f.$slots.icon||t.icon?(e.openBlock(),e.createElementBlock("div",Ic,[e.renderSlot(f.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createBlock(_,{key:0,name:t.icon,class:"h-5 w-5"},null,8,["name"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Pc,[t.title?(e.openBlock(),e.createElementBlock("div",jc,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("div",Fc,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"default")]),f.$slots.action?(e.openBlock(),e.createElementBlock("div",Lc,[e.renderSlot(f.$slots,"action")])):e.createCommentVNode("",!0)]),_:3},8,["href","class"]))],10,Ac))}},Mc={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},er={__name:"MenuItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,hasSubmenu:Boolean,variant:{type:String,default:"default",validator:t=>["default","destructive"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=E.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"}}}),s=e.computed(()=>y(o({variant:a.variant}))),l=i=>{a.disabled||r("click",i)};return(i,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"button"),{href:t.href,class:e.normalizeClass(s.value),disabled:t.disabled,role:"menuitem",onClick:l},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(_,{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",Mc,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.hasSubmenu?(e.openBlock(),e.createBlock(_,{key:2,name:"chevron-right",class:"ml-auto h-4 w-4"})):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},Rt={__name:"Modal",props:{modelValue:Boolean,showClose:{type:Boolean,default:!0},closeOnBackdrop:{type:Boolean,default:!0},size:{type:String,default:"4xl",validator:t=>["sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","full"].includes(t)},resizable:{type:Boolean,default:!1}},emits:["update:modelValue","close"],setup(t,{emit:n}){const a=E.cva("relative w-full overflow-y-auto border bg-white p-6 shadow-lg duration-200 sm:rounded-lg",{variants:{size:{sm:"max-w-sm max-h-[50vh]",md:"max-w-md max-h-[70vh]",lg:"max-w-lg max-h-[80vh]",xl:"max-w-xl max-h-[90vh]","2xl":"max-w-2xl max-h-[90vh]","3xl":"max-w-3xl max-h-[90vh]","4xl":"max-w-4xl max-h-[100vh]","5xl":"max-w-5xl max-h-[100vh]","6xl":"max-w-6xl max-h-[100vh]","7xl":"max-w-7xl max-h-[100vh]",full:"max-w-full max-h-[100vh]"}},defaultVariants:{size:"4xl"}}),r=t,o=n,s=()=>{o("update:modelValue",!1),o("close")},l=c=>{r.closeOnBackdrop&&c.target===c.currentTarget&&s()};let i=null;return e.watch(()=>r.modelValue,c=>{c?(i=f=>{f.key==="Escape"&&s()},document.addEventListener("keydown",i)):i&&(document.removeEventListener("keydown",i),i=null)},{immediate:!0}),e.onUnmounted(()=>{i&&(document.removeEventListener("keydown",i),i=null)}),(c,f)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-300","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[t.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm flex items-center justify-center",onClick:l},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)(e.unref(a)({size:t.size}),t.resizable?"resize":"")),style:e.normalizeStyle(t.resizable?"min-width: 400px; min-height: 200px;":"")},[t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,"aria-label":"Close",class:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:s},[e.createVNode(_,{icon:"x",class:"h-4 w-4"}),f[0]||(f[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default")],6)])):e.createCommentVNode("",!0)]),_:3})]))}},Oc={class:"flex flex-col space-y-1.5 text-center sm:text-left"},_c={key:0,class:"text-lg font-semibold leading-none tracking-tight"},Rc={key:1,class:"text-sm text-muted-foreground"},tr={__name:"ModalHeader",props:{title:String,description:String},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",Oc,[t.title?(e.openBlock(),e.createElementBlock("h2",_c,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",Rc,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default")]))}},ar={__name:"ModalBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact"].includes(t)}},setup(t){const n=t,a=E.cva("",{variants:{variant:{default:"py-4",compact:"py-2"}}}),r=e.computed(()=>y(a({variant:n.variant})));return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},nr={__name:"ModalFooter",props:{variant:{type:String,default:"default",validator:t=>["default","center"].includes(t)}},setup(t){const n=t,a=E.cva("flex gap-2 pt-4",{variants:{variant:{default:"flex-col-reverse sm:flex-row sm:justify-end",center:"justify-center"}}}),r=e.computed(()=>y(a({variant:n.variant})));return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},qc=["aria-live"],Uc={class:"flex items-start space-x-3"},Yc={key:0,class:"flex-shrink-0"},Wc={class:"flex-1 min-w-0"},Hc={key:0,class:"text-sm font-medium"},rr={__name:"Notification",props:{title:String,message:String,variant:{type:String,default:"default",validator:t=>["default","success","warning","destructive"].includes(t)},dismissible:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},autoClose:{type:Number,default:0}},emits:["dismiss"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(!0),s=E.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"}}}),l={default:"info",success:"check-circle",warning:"alert-triangle",destructive:"alert-circle"},i=E.cva("h-5 w-5",{variants:{variant:{default:"text-primary",success:"text-green-500",warning:"text-yellow-500",destructive:"text-destructive"}}}),c=e.computed(()=>y(s({variant:a.variant}),"p-4")),f=e.computed(()=>l[a.variant]),v=e.computed(()=>i({variant:a.variant})),b=()=>{o.value=!1,r("dismiss")};return e.onMounted(()=>{a.autoClose>0&&setTimeout(()=>{b()},a.autoClose)}),(N,h)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"transform translate-x-full opacity-0","enter-to-class":"transform translate-x-0 opacity-100","leave-active-class":"transition-all duration-300 ease-in","leave-from-class":"transform translate-x-0 opacity-100","leave-to-class":"transform translate-x-full opacity-0"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(c.value),role:"alert","aria-live":t.variant==="destructive"?"assertive":"polite"},[e.createElementVNode("div",Uc,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Yc,[e.createVNode(_,{name:f.value,class:e.normalizeClass(v.value)},null,8,["name","class"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Wc,[t.title?(e.openBlock(),e.createElementBlock("div",Hc,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(N.$slots,"default")]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,class:"flex-shrink-0 rounded-md p-1.5 hover:bg-black/5 focus:outline-none focus:ring-2 focus:ring-offset-2",onClick:b},[e.createVNode(_,{name:"x",class:"h-4 w-4"})])):e.createCommentVNode("",!0)])],10,qc)):e.createCommentVNode("",!0)]),_:3}))}},Ve=e.ref([]);let Gc=0;const Kc={duration:3e3,position:"top-center",dismissible:!0,closeButton:!1},Xc=()=>`toast-${++Gc}-${Date.now()}`,ne=(t,n={})=>{const a=Xc(),r={id:a,message:t,...Kc,...n,createdAt:Date.now()};return Ve.value.push(e.markRaw(r)),r.duration&&r.duration>0&&setTimeout(()=>{Be(a)},r.duration),a},Be=t=>{const n=Ve.value.findIndex(a=>a.id===t);n>-1&&Ve.value.splice(n,1)},or=()=>{Ve.value=[]},Ye=Object.assign((t,n)=>ne(t,{...n}),{success:(t,n)=>ne(t,{...n,variant:"success"}),error:(t,n)=>ne(t,{...n,variant:"error"}),warning:(t,n)=>ne(t,{...n,variant:"warning"}),info:(t,n)=>ne(t,{...n,variant:"info"}),promise:(t,n={})=>{const{loading:a="Loading...",success:r="Success",error:o="Error",...s}=n,l=ne(a,{...s,variant:"loading",duration:0,dismissible:!1});return t.then(i=>{Be(l);const c=typeof r=="function"?r(i):r;return ne(c,{...s,variant:"success"}),i}).catch(i=>{Be(l);const c=typeof o=="function"?o(i):o;throw ne(c,{...s,variant:"error"}),i})},dismiss:Be,dismissAll:or,custom:(t,n={})=>ne("",{...n,component:e.markRaw(t)})}),lr=()=>({toasts:Ve,dismiss:Be,dismissAll:or}),Jc=["aria-live"],Qc={class:"flex-1 grid gap-1"},Zc={key:0,class:"text-lg font-extrabold"},ed={key:1,class:"text-md opacity-90"},td={key:2,class:"text-md opacity-90"},ad=["onClick"],nd=["onClick"],sr={__name:"Toast",props:{position:{type:String,default:"top-center",validator:t=>["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"].includes(t)},hotkey:{type:Array,default:()=>["altKey","KeyT"]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},visibleToasts:{type:Number,default:3},closeButton:{type:Boolean,default:!1}},setup(t){const n=t,{toasts:a,dismiss:r}=lr(),o={"top-left":"top-0 left-0 flex-col","top-center":"top-0 left-1/2 -translate-x-1/2 flex-col","top-right":"top-0 right-0 flex-col","bottom-left":"bottom-0 left-0 flex-col-reverse","bottom-center":"bottom-0 left-1/2 -translate-x-1/2 flex-col-reverse","bottom-right":"bottom-0 right-0 flex-col-reverse"},s=e.computed(()=>y(o[n.position])),l=E.cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all",{variants:{variant:{default:"border border-gray-300 bg-gray-50 text-gray-800 dark:border-gray-800 dark:bg-gray-500 dark:text-gray-50",info:"border-blue-500/20 bg-blue-50 text-blue-900 dark:border-blue-500/30 dark:bg-blue-950 dark:text-blue-50",success:"border border-green-200 bg-green-50 text-green-800 dark:border-green-200 dark:bg-green-50 dark:text-green-900",warning:"border-yellow-500/20 bg-yellow-50 text-yellow-900 dark:border-yellow-500/30 dark:bg-yellow-950 dark:text-yellow-50",error:"border-red-500/30 bg-red-50 text-red-900 dark:border-red-500/40 dark:bg-red-950 dark:text-red-50 ring-1 ring-red-500/20 dark:ring-red-500/30",loading:"border border-border animate-pulse bg-gray-800 text-gray-800 dark:border-gray-800 dark:bg-gray-700 dark:text-gray-50"}},defaultVariants:{variant:"default"}}),i=x=>y(l({variant:x.variant})),c={default:"bell",info:"info",success:"check-circle",warning:"triangle-exclamation",error:"circle-exclamation",loading:"loader"},f={default:"text-muted-foreground",info:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",loading:"text-muted-foreground animate-spin"},v=x=>x.icon||c[x.variant]||c.default,b=x=>{const u=f[x.variant]||f.default;return x.variant==="loading"?`${u} animate-spin`:u},N=x=>x.icon!==!1,h=x=>x.dismissible!==!1&&(x.closeButton||n.closeButton||x.dismissible);return(x,u)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)(s.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),m=>(e.openBlock(),e.createElementBlock("div",{key:m.id,class:e.normalizeClass([i(m),"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":m.variant==="error"?"assertive":"polite"},[N(m)?(e.openBlock(),e.createBlock(_,{key:0,icon:v(m),class:e.normalizeClass([b(m),"h-4 w-4 shrink-0"])},null,8,["icon","class"])):e.createCommentVNode("",!0),e.createElementVNode("div",Qc,[m.title?(e.openBlock(),e.createElementBlock("div",Zc,e.toDisplayString(m.title),1)):e.createCommentVNode("",!0),m.message?(e.openBlock(),e.createElementBlock("div",ed,e.toDisplayString(m.message),1)):e.createCommentVNode("",!0),m.description?(e.openBlock(),e.createElementBlock("div",td,e.toDisplayString(m.description),1)):e.createCommentVNode("",!0),m.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.component),e.mergeProps({key:3,ref_for:!0},m.componentProps),null,16)):e.createCommentVNode("",!0)]),m.action?(e.openBlock(),e.createElementBlock("button",{key:1,class:"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-xs font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",onClick:m.action.onClick},e.toDisplayString(m.action.label),9,ad)):e.createCommentVNode("",!0),h(m)?(e.openBlock(),e.createElementBlock("button",{key:2,class:"absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100",onClick:d=>e.unref(r)(m.id)},[e.createVNode(_,{icon:"x",class:"h-4 w-4"})],8,nd)):e.createCommentVNode("",!0)],10,Jc))),128))]),_:1})],2)]))}},rd={class:"relative"},od={class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},ld=["value","placeholder","disabled"],sd={key:0,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},id=["aria-label"],cd={key:1,class:"animate-spin"},dd={key:0,class:"max-h-64 overflow-y-auto"},ud=["onClick","onMouseenter"],md={class:"flex-1 text-left"},fd={class:"font-medium text-slate-900"},gd={key:0,class:"text-sm text-slate-500 truncate"},vd={key:1,class:"text-xs text-slate-400 ml-3"},pd={key:1,class:"px-4 py-3 text-sm text-slate-500 text-center"},yd={key:2,class:"border-t border-slate-200 p-2"},ir={__name:"Search",props:{modelValue:{type:String,default:""},results:{type:Array,default:()=>[]},placeholder:{type:String,default:"Search..."},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},clearLabel:{type:String,default:"Clear search"},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},debounce:{type:Number,default:300},minLength:{type:Number,default:1},showNoResults:{type:Boolean,default:!0},noResultsText:{type:String,default:"No results found"},highlightMatches:{type:Boolean,default:!0}},emits:["update:modelValue","search","select","clear","focus","blur"],setup(t,{emit:n}){const a={template:`<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
596
|
+
`},N=e.computed(()=>({info:i,success:c,warning:f,error:v,default:i,destructive:v})[a.variant]),h=E.cva("relative w-full rounded-lg border p-4 flex items-start gap-3",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive",info:"bg-blue-50 border-blue-200 text-blue-800",success:"bg-green-50 border-green-200 text-green-800",warning:"bg-yellow-50 border-yellow-200 text-yellow-800",error:"bg-red-50 border-red-200 text-red-800"}},defaultVariants:{variant:"default"}}),x=e.computed(()=>["w-5 h-5",{info:"text-blue-500",success:"text-green-500",warning:"text-yellow-500",error:"text-red-500",default:"text-foreground",destructive:"text-destructive"}[a.variant]]),u=e.computed(()=>["flex-shrink-0 p-1 rounded-md transition-colors duration-200",{info:"text-blue-500 hover:text-blue-700 hover:bg-blue-100",success:"text-green-500 hover:text-green-700 hover:bg-green-100",warning:"text-yellow-500 hover:text-yellow-700 hover:bg-yellow-100",error:"text-red-500 hover:text-red-700 hover:bg-red-100",default:"text-foreground hover:text-foreground/80 hover:bg-muted",destructive:"text-destructive hover:text-destructive/80 hover:bg-destructive/10"}[a.variant]]);return(m,d)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"transition-all duration-300","enter-from-class":"opacity-0 scale-95","enter-to-class":"opacity-100 scale-100","leave-active-class":"transition-all duration-200","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(y)(e.unref(h)({variant:t.variant}),m.$attrs.class)),role:"alert"},[e.createElementVNode("div",zi,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Di,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N.value),{class:e.normalizeClass(x.value)},null,8,["class"]))])):e.createCommentVNode("",!0),e.createElementVNode("div",Ti,[t.title?(e.openBlock(),e.createElementBlock("h4",Ai,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["text-sm",{"mt-0":!t.title,"mt-1":t.title}])},[e.renderSlot(m.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)])],2),m.$slots.actions||t.actions.length>0?(e.openBlock(),e.createElementBlock("div",Ii,[e.renderSlot(m.$slots,"actions",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.actions,g=>(e.openBlock(),e.createBlock(ae,{key:g.label,variant:g.variant||"outline",size:g.size||"sm",onClick:V=>l(g)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1032,["variant","size","onClick"]))),128))])])):e.createCommentVNode("",!0)]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,class:e.normalizeClass(u.value),"aria-label":t.dismissLabel,onClick:s},[e.createVNode(b,{class:"w-4 h-4"})],10,Pi)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)]),_:3}))}}),ji=["aria-label"],Fi={class:"flex items-center space-x-1"},_n={__name:"Breadcrumb",props:{items:{type:Array,required:!0,validator:t=>t.every(n=>n.label)},separator:{type:String,default:"chevron-right"},ariaLabel:{type:String,default:"Breadcrumb navigation"},variant:{type:String,default:"default",validator:t=>["default","ghost"].includes(t)}},setup(t){const n=t,a=E.cva("",{variants:{variant:{default:"",ghost:"text-muted-foreground"}}}),r=e.computed(()=>y(a({variant:n.variant})));return(o,s)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel,class:e.normalizeClass(["flex",r.value])},[e.createElementVNode("ol",Fi,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(l,i)=>(e.openBlock(),e.createElementBlock("li",{key:i,class:"flex items-center"},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.href?"a":"span"),{href:l.href,class:e.normalizeClass(["text-sm font-medium transition-colors hover:text-foreground",i===t.items.length-1?"text-foreground":"text-muted-foreground hover:text-foreground"]),"aria-current":i===t.items.length-1?"page":void 0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.label),1)]),_:2},1032,["href","class","aria-current"])),i<t.items.length-1?(e.openBlock(),e.createBlock(_,{key:0,name:t.separator,class:"mx-2 h-4 w-4 text-muted-foreground"},null,8,["name"])):e.createCommentVNode("",!0)]))),128))])],10,ji))}},Li=["aria-label"],Rn={__name:"ButtonGroup",props:{orientation:{type:String,default:"horizontal",validator:t=>["horizontal","vertical"].includes(t)},size:{type:String,default:"default",validator:t=>["sm","default","lg"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","outline","ghost"].includes(t)},ariaLabel:String},setup(t){const n=t,a=E.cva("inline-flex",{variants:{orientation:{horizontal:"flex-row [&>*:not(:first-child)]:ml-[-1px] [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-l-none",vertical:"flex-col [&>*:not(:first-child)]:mt-[-1px] [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-b-none [&>*:last-child]:rounded-t-none"}}}),r=e.computed(()=>y(a({orientation:n.orientation})));return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value),role:"group","aria-label":t.ariaLabel},[e.renderSlot(o.$slots,"default")],10,Li))}},Mi={class:"flex items-start justify-between"},Oi={class:"flex-1 min-w-0"},_i={key:0,class:"flex-shrink-0 ml-4"},Ri=["src","alt"],qi="w-full h-auto object-cover",Ui="text-lg font-semibold text-slate-900 truncate",Yi="text-sm text-slate-600 mt-1",qn={__name:"Card",props:{variant:{type:String,default:"default",validator:t=>["default","outlined","elevated","filled"].includes(t)},padding:{type:String,default:"md",validator:t=>["none","sm","md","lg","xl"].includes(t)},title:String,subtitle:String,image:String,imageAlt:{type:String,default:"Card image"},hoverable:Boolean,clickable:Boolean,loading:Boolean},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=v=>{a.clickable&&r("click",v)},s=E.cva("rounded-lg overflow-hidden transition-all duration-200",{variants:{variant:{default:"bg-white border border-slate-200",outlined:"bg-white border-2 border-slate-300",elevated:"bg-white shadow-lg border border-slate-100",filled:"bg-slate-50 border border-slate-200"},padding:{none:"",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"},hoverable:{true:"hover:shadow-md"},clickable:{true:"cursor-pointer"},loading:{true:"opacity-60 pointer-events-none"}},defaultVariants:{variant:"default",padding:"md"}}),l=E.cva("border-b border-slate-100 last:border-b-0",{variants:{padding:{none:"p-4 pb-0",sm:"px-3 pt-3",md:"px-4 pt-4",lg:"px-6 pt-6",xl:"px-8 pt-8"}}}),i=E.cva("",{variants:{padding:{none:"p-4",sm:"p-3",md:"p-4",lg:"p-6",xl:"p-8"}}}),c=E.cva("border-t border-slate-100 bg-slate-50/50",{variants:{padding:{none:"p-4 pt-0",sm:"px-3 pb-3",md:"px-4 pb-4",lg:"px-6 pb-6",xl:"px-8 pb-8"}}}),f=E.cva("",{variants:{padding:{none:"",sm:"-mx-3 -mt-3 mb-3",md:"-mx-4 -mt-4 mb-4",lg:"-mx-6 -mt-6 mb-6",xl:"-mx-8 -mt-8 mb-8"}}});return(v,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y)(e.unref(s)({variant:t.variant,padding:t.padding,hoverable:t.hoverable,clickable:t.clickable,loading:t.loading}))),onClick:o},[v.$slots.header||t.title||t.subtitle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(y)(e.unref(l)({padding:t.padding})))},[e.renderSlot(v.$slots,"header",{},()=>[e.createElementVNode("div",Mi,[e.createElementVNode("div",Oi,[t.title?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(Ui)},e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(Yi)},e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),v.$slots.actions?(e.openBlock(),e.createElementBlock("div",_i,[e.renderSlot(v.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),v.$slots.image||t.image?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(y)(e.unref(f)({padding:t.padding})))},[e.renderSlot(v.$slots,"image",{},()=>[t.image?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.image,alt:t.imageAlt,class:e.normalizeClass(qi)},null,8,Ri)):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),v.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(e.unref(y)(e.unref(i)({padding:t.padding})))},[e.renderSlot(v.$slots,"default")],2)):e.createCommentVNode("",!0),v.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(e.unref(y)(e.unref(c)({padding:t.padding})))},[e.renderSlot(v.$slots,"footer")],2)):e.createCommentVNode("",!0)],2))}},Un=Object.assign({inheritAttrs:!1},{__name:"CardHeader",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y)("flex flex-col space-y-1.5 p-6",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),Yn={__name:"CardBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=E.cva("p-6",{variants:{variant:{default:"p-6",compact:"p-4",spacious:"p-8"}}}),r=e.computed(()=>y(a({variant:n.variant})));return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},Wn={__name:"CardFooter",props:{variant:{type:String,default:"default",validator:t=>["default","compact","spacious"].includes(t)}},setup(t){const n=t,a=E.cva("flex items-center p-6 pt-0",{variants:{variant:{default:"p-6 pt-0",compact:"p-4 pt-0",spacious:"p-8 pt-0"}}}),r=e.computed(()=>y(a({variant:n.variant})));return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},Hn=Object.assign({inheritAttrs:!1},{__name:"CardContent",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y)("p-6 pt-0",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),Gn=Object.assign({inheritAttrs:!1},{__name:"CardTitle",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("h3",{class:e.normalizeClass(e.unref(y)("text-2xl font-semibold leading-none tracking-tight",n.$attrs.class))},[e.renderSlot(n.$slots,"default")],2))}}),Wi={class:"relative w-full"},Hi={class:"relative"},Gi=["id","value","disabled","placeholder","required","aria-describedby"],Ki={class:"flex items-center justify-between mb-4"},Xi={class:"text-base font-semibold text-slate-900"},Ji={class:"grid grid-cols-7 gap-1 mb-2"},Qi={class:"grid grid-cols-7 gap-1"},Zi=["disabled","onClick"],ec={key:0,class:"mt-4 pt-3 border-t border-slate-200"},et={__name:"DatePicker",props:{id:String,modelValue:[String,Date],disabled:Boolean,required:Boolean,min:[String,Date],max:[String,Date],placeholder:{type:String,default:"Select date"},format:{type:String,default:"MM/DD/YYYY"},clearable:{type:Boolean,default:!0},showToday:{type:Boolean,default:!0},calendarPosition:{type:String,default:"left-0 bottom-full"},ariaDescribedby:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(!1),s=new Date,l=e.ref(s.getMonth()),i=e.ref(s.getFullYear()),c=e.ref(null),f=["Su","Mo","Tu","We","Th","Fr","Sa"],v=e.computed(()=>new Date(i.value,l.value).toLocaleString("default",{month:"long"})),b=e.computed(()=>new Date(i.value,l.value+1,0).getDate()),N=e.computed(()=>new Date(i.value,l.value,1).getDay()),h=e.computed(()=>{const p=new Date(i.value,l.value,0).getDate(),C=N.value;return Array.from({length:C},(D,q)=>p-C+q+1)}),x=e.computed(()=>{const p=h.value.length+b.value,C=p%7===0?0:7-p%7;return Array.from({length:C},(D,q)=>q+1)}),u=e.computed(()=>c.value?m(c.value):"");function m(p){if(!p)return"";const C=new Date(p),D=String(C.getMonth()+1).padStart(2,"0"),q=String(C.getDate()).padStart(2,"0"),M=C.getFullYear();return a.format.replace("MM",D).replace("DD",q).replace("YYYY",M)}function d(p){if(!p)return null;if(p instanceof Date)return p;if(typeof p=="string"){const D=p.split("-");if(D.length===3){const q=parseInt(D[0],10),M=parseInt(D[1],10)-1,J=parseInt(D[2],10);return new Date(q,M,J)}}const C=new Date(p);return isNaN(C.getTime())?null:C}function g(p){return s.getDate()===p&&s.getMonth()===l.value&&s.getFullYear()===i.value}function V(p){if(!c.value)return!1;const C=new Date(c.value);return C.getDate()===p&&C.getMonth()===l.value&&C.getFullYear()===i.value}function B(p){const C=new Date(i.value,l.value,p);if(a.min){const D=d(a.min);if(D&&C<D)return!0}if(a.max){const D=d(a.max);if(D&&C>D)return!0}return!1}function k(){a.disabled||(o.value=!o.value)}function R(){o.value=!1}function T(){l.value===0?(l.value=11,i.value--):l.value--}function U(){l.value===11?(l.value=0,i.value++):l.value++}function W(p){if(B(p))return;const C=new Date(i.value,l.value,p);c.value=C;const D=C.getFullYear(),q=String(C.getMonth()+1).padStart(2,"0"),M=String(C.getDate()).padStart(2,"0"),J=`${D}-${q}-${M}`;r("update:modelValue",J),setTimeout(()=>{o.value=!1},150)}function z(){l.value=s.getMonth(),i.value=s.getFullYear(),W(s.getDate())}function L(){c.value=null,r("update:modelValue","")}e.watch(()=>a.modelValue,p=>{if(p){const C=d(p);C&&(c.value=C,l.value=C.getMonth(),i.value=C.getFullYear())}else c.value=null},{immediate:!0});function I(p){p.key==="Escape"&&o.value&&R()}return e.onMounted(()=>{document.addEventListener("keydown",I)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",I)}),(p,C)=>(e.openBlock(),e.createElementBlock("div",Wi,[e.createElementVNode("div",Hi,[e.createElementVNode("input",{id:t.id,type:"text",value:u.value,readonly:"",disabled:t.disabled,placeholder:t.placeholder,required:t.required,"aria-describedby":t.ariaDescribedby,class:"w-full px-3 py-2 pr-10 border border-slate-300 rounded-md bg-white text-slate-900 placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 cursor-pointer disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed",onClick:k},null,8,Gi),C[2]||(C[2]=e.createElementVNode("div",{class:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none"},[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})])],-1)),t.clearable&&u.value&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-9 top-1/2 -translate-y-1/2 p-1 hover:bg-slate-100 rounded","aria-label":"Clear date",onClick:e.withModifiers(L,["stop"])},[...C[1]||(C[1]=[e.createElementVNode("svg",{class:"w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute z-[9999] mb-2 bg-white border border-slate-200 rounded-lg shadow-lg p-4",t.calendarPosition]),onClick:C[0]||(C[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Ki,[e.createElementVNode("button",{type:"button",class:"p-2 rounded-lg hover:bg-slate-100 transition-colors","aria-label":"Previous Month",onClick:T},[...C[3]||(C[3]=[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-700",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 18l-6-6 6-6"})],-1)])]),e.createElementVNode("div",Xi,e.toDisplayString(v.value)+" "+e.toDisplayString(i.value),1),e.createElementVNode("button",{type:"button",class:"p-2 rounded-lg hover:bg-slate-100 transition-colors","aria-label":"Next Month",onClick:U},[...C[4]||(C[4]=[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-700",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 18l6-6-6-6"})],-1)])])]),e.createElementVNode("div",Ji,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(f,D=>e.createElementVNode("div",{key:D,class:"text-center text-xs font-medium text-slate-600 py-1"},e.toDisplayString(D),1)),64))]),e.createElementVNode("div",Qi,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(D,q)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+q,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(D),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,D=>(e.openBlock(),e.createElementBlock("button",{key:D,type:"button",disabled:B(D),class:e.normalizeClass(["w-9 h-9 rounded-lg text-sm font-medium transition-colors",g(D)&&!V(D)?"bg-blue-50 text-blue-600 border border-blue-200":"",V(D)?"bg-blue-500 text-white hover:bg-blue-600":"text-slate-700 hover:bg-slate-100",B(D)?"text-slate-300 cursor-not-allowed hover:bg-transparent":"cursor-pointer"]),onClick:q=>W(D)},e.toDisplayString(D),11,Zi))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(D,q)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+q,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(D),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",ec,[e.createElementVNode("button",{type:"button",class:"w-full px-3 py-2 text-sm font-medium text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",onClick:z}," Today ")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-[9998]",onClick:R})):e.createCommentVNode("",!0)]))}},tc=["aria-expanded"],Kn={__name:"Dropdown",props:{triggerText:{type:String,default:"Options"},placement:{type:String,default:"bottom-start",validator:t=>["bottom-start","bottom-end","top-start","top-end"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","outline","ghost"].includes(t)}},setup(t){const n=t,a=e.ref(!1),r=e.ref(null),o=E.cva("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",ghost:"hover:bg-accent hover:text-accent-foreground"}}}),s=E.cva("absolute z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md",{variants:{placement:{"bottom-start":"top-full left-0 mt-1","bottom-end":"top-full right-0 mt-1","top-start":"bottom-full left-0 mb-1","top-end":"bottom-full right-0 mb-1"}}}),l=e.computed(()=>y(o({variant:n.variant}),"h-10 px-4 py-2")),i=e.computed(()=>y(s({placement:n.placement}))),c=()=>{a.value=!a.value},f=v=>{r.value&&!r.value.contains(v.target)&&(a.value=!1)};return e.onMounted(()=>{document.addEventListener("click",f)}),e.onUnmounted(()=>{document.removeEventListener("click",f)}),(v,b)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdownRef",ref:r,class:"relative"},[e.createElementVNode("button",{class:e.normalizeClass(l.value),"aria-expanded":a.value,"aria-haspopup":!0,onClick:c},[e.renderSlot(v.$slots,"trigger",{},()=>[e.createElementVNode("span",null,e.toDisplayString(t.triggerText),1),e.createVNode(_,{name:"chevron-down",class:"ml-2 h-4 w-4"})])],10,tc),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(i.value),role:"menu","aria-orientation":"vertical"},[e.renderSlot(v.$slots,"default")],2)):e.createCommentVNode("",!0)]),_:3})],512))}},ac={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},Xn={__name:"DropdownItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,variant:{type:String,default:"default",validator:t=>["default","destructive"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=E.cva("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",{variants:{variant:{default:"hover:bg-accent hover:text-accent-foreground",destructive:"text-destructive hover:bg-destructive hover:text-destructive-foreground"}}}),s=e.computed(()=>y(o({variant:a.variant}))),l=i=>{a.disabled||r("click",i)};return(i,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"button"),{href:t.href,class:e.normalizeClass(s.value),disabled:t.disabled,role:"menuitem",onClick:l},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(_,{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",ac,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},nc={class:"w-full"},rc=["multiple","accept"],oc={class:"flex flex-col items-center justify-center py-6"},lc={key:0,class:"text-xs text-muted-foreground mt-1"},sc={key:0,class:"mt-4 space-y-2"},ic={class:"flex items-center space-x-2"},cc={class:"text-sm"},dc={class:"text-xs text-muted-foreground"},uc=["onClick"],Jn={__name:"FileUpload",props:{multiple:Boolean,accept:String,maxSize:Number,variant:{type:String,default:"default",validator:t=>["default","dashed"].includes(t)}},emits:["files-selected","file-removed"],setup(t,{emit:n}){const a=t,r=n,o=e.ref([]),s=e.ref(!1),l=e.ref(null),i=E.cva("border-2 border-dashed rounded-lg cursor-pointer transition-colors hover:bg-muted/50",{variants:{variant:{default:"border-muted-foreground/25",dashed:"border-primary/50"}}}),c=e.computed(()=>y(i({variant:a.variant}),s.value&&"border-primary bg-primary/5")),f=g=>{g.preventDefault(),s.value=!1;const V=Array.from(g.dataTransfer.files);u(V)},v=g=>{g.preventDefault()},b=g=>{g.preventDefault(),s.value=!0},N=g=>{g.preventDefault(),s.value=!1},h=()=>{l.value?.click()},x=g=>{const V=Array.from(g.target.files);u(V)},u=g=>{const V=g.filter(B=>!(a.maxSize&&B.size>a.maxSize));a.multiple?o.value.push(...V):o.value=V.slice(0,1),r("files-selected",o.value)},m=g=>{o.value.splice(g,1),r("file-removed",o.value)},d=g=>{if(g===0)return"0 Bytes";const V=1024,B=["Bytes","KB","MB","GB"],k=Math.floor(Math.log(g)/Math.log(V));return parseFloat((g/Math.pow(V,k)).toFixed(2))+" "+B[k]};return(g,V)=>(e.openBlock(),e.createElementBlock("div",nc,[e.createElementVNode("div",{class:e.normalizeClass(c.value),onDrop:f,onDragover:v,onDragenter:b,onDragleave:N,onClick:h},[e.createElementVNode("input",{ref_key:"fileInput",ref:l,type:"file",multiple:t.multiple,accept:t.accept,class:"hidden",onChange:x},null,40,rc),e.createElementVNode("div",oc,[e.createVNode(_,{name:"upload",class:"h-8 w-8 text-muted-foreground mb-2"}),V[0]||(V[0]=e.createElementVNode("p",{class:"text-sm text-muted-foreground text-center"},[e.createElementVNode("span",{class:"font-semibold"},"Click to upload"),e.createTextVNode(" or drag and drop ")],-1)),t.accept?(e.openBlock(),e.createElementBlock("p",lc,e.toDisplayString(t.accept),1)):e.createCommentVNode("",!0)])],34),o.value.length>0?(e.openBlock(),e.createElementBlock("div",sc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(B,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"flex items-center justify-between p-2 bg-muted rounded-md"},[e.createElementVNode("div",ic,[e.createVNode(_,{name:"file",class:"h-4 w-4 text-muted-foreground"}),e.createElementVNode("span",cc,e.toDisplayString(B.name),1),e.createElementVNode("span",dc,"("+e.toDisplayString(d(B.size))+")",1)]),e.createElementVNode("button",{class:"text-muted-foreground hover:text-foreground",onClick:R=>m(k)},[e.createVNode(_,{name:"x",class:"h-4 w-4"})],8,uc)]))),128))])):e.createCommentVNode("",!0)]))}},mc=["for"],fc={key:0,class:"text-red-500 ml-1","aria-label":"required"},gc={class:"relative"},vc=["aria-label"],pc=["id"],yc=["id"],_t={__name:"FormField",props:{label:String,description:String,error:String,success:String,helpText:String,required:{type:Boolean,default:!1},type:{type:String,default:"text"},modelValue:[String,Date],size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},id:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,r=n,o=`field-${Math.random().toString(36).slice(2,9)}`,s=e.computed(()=>`${a.id||o}-${Math.random().toString(36).slice(2,5)}`),l=e.computed(()=>!!a.error),i=e.ref(!1),c=()=>{i.value=!i.value},f=e.computed(()=>{const u=[];return a.error?u.push(`${s.value}-error`):a.helpText&&u.push(`${s.value}-help`),u.length>0?u.join(" "):void 0}),v=E.cva("",{variants:{size:{sm:"space-y-1",md:"space-y-2",lg:"space-y-3"}},defaultVariants:{size:"md"}}),b=E.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"}}),N=E.cva("text-slate-600",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),h=E.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=E.cva("text-slate-500",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-sm"}},defaultVariants:{size:"md"}});return(u,m)=>{const d=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y)(e.unref(v)({size:t.size}),u.$attrs.class))},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:s.value,class:e.normalizeClass(e.unref(y)(e.unref(b)({size:t.size})))},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",fc,"*")):e.createCommentVNode("",!0)],10,mc)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(e.unref(y)(e.unref(N)({size:t.size})))},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0),e.createElementVNode("div",gc,[t.type==="date"?(e.openBlock(),e.createBlock(et,{key:0,id:s.value,"model-value":t.modelValue,disabled:!1,required:t.required,class:e.normalizeClass(l.value?"border-red-500":""),"onUpdate:modelValue":m[0]||(m[0]=g=>r("update:modelValue",g))},null,8,["id","model-value","required","class"])):e.renderSlot(u.$slots,"default",{key:1,fieldId:s.value,hasError:l.value,ariaDescribedBy:f.value,showPassword:i.value,togglePasswordVisibility:c}),t.type==="password"?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:"absolute inset-y-0 right-0 pr-3 flex items-center text-slate-400 hover:text-slate-600 transition-colors","aria-label":i.value?"Hide password":"Show password",onClick:c},[e.createVNode(d,{icon:i.value?"eye-slash":"eye",class:"w-4 h-4"},null,8,["icon"])],8,vc)):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(()=>[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:`${s.value}-error`,class:e.normalizeClass(e.unref(y)(e.unref(h)({size:t.size,intent:"error"}))),role:"alert","aria-live":"polite"},[e.createVNode(d,{icon:"exclamation-triangle",class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.error),1)],10,pc)):e.createCommentVNode("",!0)]),_:1}),t.helpText&&!l.value?(e.openBlock(),e.createElementBlock("p",{key:2,id:`${s.value}-help`,class:e.normalizeClass(e.unref(y)(e.unref(x)({size:t.size})))},e.toDisplayString(t.helpText),11,yc)):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&&!l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(y)(e.unref(h)({size:t.size,intent:"success"})))},[e.createVNode(d,{icon:"check",class:"w-4 h-4 flex-shrink-0 mt-0.5"}),e.createElementVNode("span",null,e.toDisplayString(t.success),1)],2)):e.createCommentVNode("",!0)]),_:1})],2)}}},bc={key:0,class:"flex items-center px-3 bg-muted border border-r-0 rounded-l-md"},hc={key:1,class:"flex items-center px-3 bg-muted border border-l-0 rounded-r-md"},Qn={__name:"InputGroup",props:{variant:{type:String,default:"default",validator:t=>["default","outline"].includes(t)}},setup(t){const n=t,a=E.cva("flex w-full",{variants:{variant:{default:"[&>input]:rounded-none [&>input:first-child]:rounded-l-md [&>input:last-child]:rounded-r-md",outline:"border border-input rounded-md [&>input]:border-0 [&>input]:rounded-none"}}}),r=e.computed(()=>y(a({variant:n.variant})));return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[o.$slots.prefix?(e.openBlock(),e.createElementBlock("div",bc,[e.renderSlot(o.$slots,"prefix")])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default"),o.$slots.suffix?(e.openBlock(),e.createElementBlock("div",hc,[e.renderSlot(o.$slots,"suffix")])):e.createCommentVNode("",!0)],2))}},xc=["role"],kc={key:0,class:"flex-shrink-0"},wc={class:"flex-1 min-w-0"},Cc={key:0,class:"text-sm font-medium text-foreground"},Bc={key:1,class:"text-sm text-muted-foreground"},Sc={key:1,class:"flex-shrink-0"},Zn={__name:"ListItem",props:{title:String,description:String,icon:String,href:String,role:String,variant:{type:String,default:"default",validator:t=>["default","interactive"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=E.cva("",{variants:{variant:{default:"",interactive:"hover:bg-accent/50 cursor-pointer"}}}),s=E.cva("flex items-center space-x-3 p-3",{variants:{variant:{default:"",interactive:"transition-colors rounded-md"}}}),l=e.computed(()=>y(o({variant:a.variant}))),i=e.computed(()=>y(s({variant:a.variant}))),c=f=>{r("click",f)};return(f,v)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(l.value),role:t.role},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"div"),{href:t.href,class:e.normalizeClass(i.value),onClick:c},{default:e.withCtx(()=>[f.$slots.icon||t.icon?(e.openBlock(),e.createElementBlock("div",kc,[e.renderSlot(f.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createBlock(_,{key:0,name:t.icon,class:"h-5 w-5"},null,8,["name"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",wc,[t.title?(e.openBlock(),e.createElementBlock("div",Cc,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("div",Bc,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"default")]),f.$slots.action?(e.openBlock(),e.createElementBlock("div",Sc,[e.renderSlot(f.$slots,"action")])):e.createCommentVNode("",!0)]),_:3},8,["href","class"]))],10,xc))}},Vc={key:1,class:"ml-auto text-xs tracking-widest opacity-60"},er={__name:"MenuItem",props:{href:String,icon:String,shortcut:String,disabled:Boolean,hasSubmenu:Boolean,variant:{type:String,default:"default",validator:t=>["default","destructive"].includes(t)}},emits:["click"],setup(t,{emit:n}){const a=t,r=n,o=E.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"}}}),s=e.computed(()=>y(o({variant:a.variant}))),l=i=>{a.disabled||r("click",i)};return(i,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.href?"a":"button"),{href:t.href,class:e.normalizeClass(s.value),disabled:t.disabled,role:"menuitem",onClick:l},{default:e.withCtx(()=>[t.icon?(e.openBlock(),e.createBlock(_,{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",Vc,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.hasSubmenu?(e.openBlock(),e.createBlock(_,{key:2,name:"chevron-right",class:"ml-auto h-4 w-4"})):e.createCommentVNode("",!0)]),_:3},8,["href","class","disabled"]))}},Rt={__name:"Modal",props:{modelValue:Boolean,showClose:{type:Boolean,default:!0},closeOnBackdrop:{type:Boolean,default:!0},size:{type:String,default:"4xl",validator:t=>["sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","full"].includes(t)},resizable:{type:Boolean,default:!1}},emits:["update:modelValue","close"],setup(t,{emit:n}){const a=E.cva("relative w-full overflow-y-auto border bg-white p-6 shadow-lg duration-200 sm:rounded-lg",{variants:{size:{sm:"max-w-sm max-h-[50vh]",md:"max-w-md max-h-[70vh]",lg:"max-w-lg max-h-[80vh]",xl:"max-w-xl max-h-[90vh]","2xl":"max-w-2xl max-h-[90vh]","3xl":"max-w-3xl max-h-[90vh]","4xl":"max-w-4xl max-h-[100vh]","5xl":"max-w-5xl max-h-[100vh]","6xl":"max-w-6xl max-h-[100vh]","7xl":"max-w-7xl max-h-[100vh]",full:"max-w-full max-h-[100vh]"}},defaultVariants:{size:"4xl"}}),r=t,o=n,s=()=>{o("update:modelValue",!1),o("close")},l=c=>{r.closeOnBackdrop&&c.target===c.currentTarget&&s()};let i=null;return e.watch(()=>r.modelValue,c=>{c?(i=f=>{f.key==="Escape"&&s()},document.addEventListener("keydown",i)):i&&(document.removeEventListener("keydown",i),i=null)},{immediate:!0}),e.onUnmounted(()=>{i&&(document.removeEventListener("keydown",i),i=null)}),(c,f)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-300","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[t.modelValue?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm flex items-center justify-center",onClick:l},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)(e.unref(a)({size:t.size}),t.resizable?"resize":"")),style:e.normalizeStyle(t.resizable?"min-width: 400px; min-height: 200px;":"")},[t.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,"aria-label":"Close",class:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:s},[e.createVNode(_,{icon:"x",class:"h-4 w-4"}),f[0]||(f[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default")],6)])):e.createCommentVNode("",!0)]),_:3})]))}},Nc={class:"flex flex-col space-y-1.5 text-center sm:text-left"},Ec={key:0,class:"text-lg font-semibold leading-none tracking-tight"},$c={key:1,class:"text-sm text-muted-foreground"},tr={__name:"ModalHeader",props:{title:String,description:String},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",Nc,[t.title?(e.openBlock(),e.createElementBlock("h2",Ec,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("p",$c,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default")]))}},ar={__name:"ModalBody",props:{variant:{type:String,default:"default",validator:t=>["default","compact"].includes(t)}},setup(t){const n=t,a=E.cva("",{variants:{variant:{default:"py-4",compact:"py-2"}}}),r=e.computed(()=>y(a({variant:n.variant})));return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},nr={__name:"ModalFooter",props:{variant:{type:String,default:"default",validator:t=>["default","center"].includes(t)}},setup(t){const n=t,a=E.cva("flex gap-2 pt-4",{variants:{variant:{default:"flex-col-reverse sm:flex-row sm:justify-end",center:"justify-center"}}}),r=e.computed(()=>y(a({variant:n.variant})));return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[e.renderSlot(o.$slots,"default")],2))}},zc=["aria-live"],Dc={class:"flex items-start space-x-3"},Tc={key:0,class:"flex-shrink-0"},Ac={class:"flex-1 min-w-0"},Ic={key:0,class:"text-sm font-medium"},rr={__name:"Notification",props:{title:String,message:String,variant:{type:String,default:"default",validator:t=>["default","success","warning","destructive"].includes(t)},dismissible:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},autoClose:{type:Number,default:0}},emits:["dismiss"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(!0),s=E.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"}}}),l={default:"info",success:"check-circle",warning:"alert-triangle",destructive:"alert-circle"},i=E.cva("h-5 w-5",{variants:{variant:{default:"text-primary",success:"text-green-500",warning:"text-yellow-500",destructive:"text-destructive"}}}),c=e.computed(()=>y(s({variant:a.variant}),"p-4")),f=e.computed(()=>l[a.variant]),v=e.computed(()=>i({variant:a.variant})),b=()=>{o.value=!1,r("dismiss")};return e.onMounted(()=>{a.autoClose>0&&setTimeout(()=>{b()},a.autoClose)}),(N,h)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"transform translate-x-full opacity-0","enter-to-class":"transform translate-x-0 opacity-100","leave-active-class":"transition-all duration-300 ease-in","leave-from-class":"transform translate-x-0 opacity-100","leave-to-class":"transform translate-x-full opacity-0"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(c.value),role:"alert","aria-live":t.variant==="destructive"?"assertive":"polite"},[e.createElementVNode("div",Dc,[t.showIcon?(e.openBlock(),e.createElementBlock("div",Tc,[e.createVNode(_,{name:f.value,class:e.normalizeClass(v.value)},null,8,["name","class"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Ac,[t.title?(e.openBlock(),e.createElementBlock("div",Ic,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(N.$slots,"default")]),t.dismissible?(e.openBlock(),e.createElementBlock("button",{key:1,class:"flex-shrink-0 rounded-md p-1.5 hover:bg-black/5 focus:outline-none focus:ring-2 focus:ring-offset-2",onClick:b},[e.createVNode(_,{name:"x",class:"h-4 w-4"})])):e.createCommentVNode("",!0)])],10,zc)):e.createCommentVNode("",!0)]),_:3}))}},Ve=e.ref([]);let Pc=0;const jc={duration:3e3,position:"top-center",dismissible:!0,closeButton:!1},Fc=()=>`toast-${++Pc}-${Date.now()}`,ne=(t,n={})=>{const a=Fc(),r={id:a,message:t,...jc,...n,createdAt:Date.now()};return Ve.value.push(e.markRaw(r)),r.duration&&r.duration>0&&setTimeout(()=>{Be(a)},r.duration),a},Be=t=>{const n=Ve.value.findIndex(a=>a.id===t);n>-1&&Ve.value.splice(n,1)},or=()=>{Ve.value=[]},Ye=Object.assign((t,n)=>ne(t,{...n}),{success:(t,n)=>ne(t,{...n,variant:"success"}),error:(t,n)=>ne(t,{...n,variant:"error"}),warning:(t,n)=>ne(t,{...n,variant:"warning"}),info:(t,n)=>ne(t,{...n,variant:"info"}),promise:(t,n={})=>{const{loading:a="Loading...",success:r="Success",error:o="Error",...s}=n,l=ne(a,{...s,variant:"loading",duration:0,dismissible:!1});return t.then(i=>{Be(l);const c=typeof r=="function"?r(i):r;return ne(c,{...s,variant:"success"}),i}).catch(i=>{Be(l);const c=typeof o=="function"?o(i):o;throw ne(c,{...s,variant:"error"}),i})},dismiss:Be,dismissAll:or,custom:(t,n={})=>ne("",{...n,component:e.markRaw(t)})}),lr=()=>({toasts:Ve,dismiss:Be,dismissAll:or}),Lc=["aria-live"],Mc={class:"flex-1 grid gap-1"},Oc={key:0,class:"text-lg font-extrabold"},_c={key:1,class:"text-md opacity-90"},Rc={key:2,class:"text-md opacity-90"},qc=["onClick"],Uc=["onClick"],sr={__name:"Toast",props:{position:{type:String,default:"top-center",validator:t=>["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"].includes(t)},hotkey:{type:Array,default:()=>["altKey","KeyT"]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},visibleToasts:{type:Number,default:3},closeButton:{type:Boolean,default:!1}},setup(t){const n=t,{toasts:a,dismiss:r}=lr(),o={"top-left":"top-0 left-0 flex-col","top-center":"top-0 left-1/2 -translate-x-1/2 flex-col","top-right":"top-0 right-0 flex-col","bottom-left":"bottom-0 left-0 flex-col-reverse","bottom-center":"bottom-0 left-1/2 -translate-x-1/2 flex-col-reverse","bottom-right":"bottom-0 right-0 flex-col-reverse"},s=e.computed(()=>y(o[n.position])),l=E.cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all",{variants:{variant:{default:"border border-gray-300 bg-gray-50 text-gray-800 dark:border-gray-800 dark:bg-gray-500 dark:text-gray-50",info:"border-blue-500/20 bg-blue-50 text-blue-900 dark:border-blue-500/30 dark:bg-blue-950 dark:text-blue-50",success:"border border-green-200 bg-green-50 text-green-800 dark:border-green-200 dark:bg-green-50 dark:text-green-900",warning:"border-yellow-500/20 bg-yellow-50 text-yellow-900 dark:border-yellow-500/30 dark:bg-yellow-950 dark:text-yellow-50",error:"border-red-500/30 bg-red-50 text-red-900 dark:border-red-500/40 dark:bg-red-950 dark:text-red-50 ring-1 ring-red-500/20 dark:ring-red-500/30",loading:"border border-border animate-pulse bg-gray-800 text-gray-800 dark:border-gray-800 dark:bg-gray-700 dark:text-gray-50"}},defaultVariants:{variant:"default"}}),i=x=>y(l({variant:x.variant})),c={default:"bell",info:"info",success:"check-circle",warning:"triangle-exclamation",error:"circle-exclamation",loading:"loader"},f={default:"text-muted-foreground",info:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",loading:"text-muted-foreground animate-spin"},v=x=>x.icon||c[x.variant]||c.default,b=x=>{const u=f[x.variant]||f.default;return x.variant==="loading"?`${u} animate-spin`:u},N=x=>x.icon!==!1,h=x=>x.dismissible!==!1&&(x.closeButton||n.closeButton||x.dismissible);return(x,u)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)(s.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),m=>(e.openBlock(),e.createElementBlock("div",{key:m.id,class:e.normalizeClass([i(m),"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":m.variant==="error"?"assertive":"polite"},[N(m)?(e.openBlock(),e.createBlock(_,{key:0,icon:v(m),class:e.normalizeClass([b(m),"h-4 w-4 shrink-0"])},null,8,["icon","class"])):e.createCommentVNode("",!0),e.createElementVNode("div",Mc,[m.title?(e.openBlock(),e.createElementBlock("div",Oc,e.toDisplayString(m.title),1)):e.createCommentVNode("",!0),m.message?(e.openBlock(),e.createElementBlock("div",_c,e.toDisplayString(m.message),1)):e.createCommentVNode("",!0),m.description?(e.openBlock(),e.createElementBlock("div",Rc,e.toDisplayString(m.description),1)):e.createCommentVNode("",!0),m.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.component),e.mergeProps({key:3,ref_for:!0},m.componentProps),null,16)):e.createCommentVNode("",!0)]),m.action?(e.openBlock(),e.createElementBlock("button",{key:1,class:"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-xs font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",onClick:m.action.onClick},e.toDisplayString(m.action.label),9,qc)):e.createCommentVNode("",!0),h(m)?(e.openBlock(),e.createElementBlock("button",{key:2,class:"absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100",onClick:d=>e.unref(r)(m.id)},[e.createVNode(_,{icon:"x",class:"h-4 w-4"})],8,Uc)):e.createCommentVNode("",!0)],10,Lc))),128))]),_:1})],2)]))}},Yc={class:"relative"},Wc={class:"absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none"},Hc=["value","placeholder","disabled"],Gc={key:0,class:"absolute right-3 top-1/2 transform -translate-y-1/2"},Kc=["aria-label"],Xc={key:1,class:"animate-spin"},Jc={key:0,class:"max-h-64 overflow-y-auto"},Qc=["onClick","onMouseenter"],Zc={class:"flex-1 text-left"},ed={class:"font-medium text-slate-900"},td={key:0,class:"text-sm text-slate-500 truncate"},ad={key:1,class:"text-xs text-slate-400 ml-3"},nd={key:1,class:"px-4 py-3 text-sm text-slate-500 text-center"},rd={key:2,class:"border-t border-slate-200 p-2"},ir={__name:"Search",props:{modelValue:{type:String,default:""},results:{type:Array,default:()=>[]},placeholder:{type:String,default:"Search..."},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},clearLabel:{type:String,default:"Clear search"},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},debounce:{type:Number,default:300},minLength:{type:Number,default:1},showNoResults:{type:Boolean,default:!0},noResultsText:{type:String,default:"No results found"},highlightMatches:{type:Boolean,default:!0}},emits:["update:modelValue","search","select","clear","focus","blur"],setup(t,{emit:n}){const a={template:`<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
597
597
|
<path stroke-linecap="round" stroke-linejoin="round" d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"/>
|
598
598
|
</svg>`},r={template:`<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
599
599
|
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12"/>
|
600
600
|
</svg>`},o={template:`<svg fill="none" viewBox="0 0 24 24" class="animate-spin">
|
601
601
|
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"/>
|
602
602
|
<path class="opacity-75" fill="currentColor" d="m4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"/>
|
603
|
-
</svg>`},s=t,l=n,i=e.ref(null),c=e.ref(null),f=e.ref(!1),v=e.ref(-1),b=e.ref(null),N=z=>{const L=z.target.value;l("update:modelValue",L),b.value&&clearTimeout(b.value),b.value=setTimeout(()=>{L.length>=s.minLength?(l("search",L),f.value=!0):f.value=!1},s.debounce)},h=z=>{l("focus",z),s.modelValue.length>=s.minLength&&(f.value=!0)},x=z=>{l("blur",z),setTimeout(()=>{f.value=!1,v.value=-1},150)},u=()=>{l("update:modelValue",""),l("clear"),f.value=!1,c.value?.focus()},m=z=>{l("select",z),f.value=!1,v.value=-1},d=z=>{if(!(!f.value||s.results.length===0))switch(z.key){case"ArrowDown":z.preventDefault(),v.value=Math.min(v.value+1,s.results.length-1);break;case"ArrowUp":z.preventDefault(),v.value=Math.max(v.value-1,-1);break;case"Enter":z.preventDefault(),v.value>=0&&m(s.results[v.value]);break;case"Escape":z.preventDefault(),f.value=!1,v.value=-1;break}},g=z=>{if(!s.highlightMatches||!s.modelValue||!z)return z;const L=new RegExp(`(${s.modelValue})`,"gi");return z.replace(L,"$1")},V=E.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"}}),B=E.cva("text-slate-400",{variants:{size:{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}},defaultVariants:{size:"md"}}),k=e.computed(()=>y(V({size:s.size}))),R=e.computed(()=>y(B({size:s.size}))),T=e.computed(()=>y("absolute z-50 w-full mt-1 bg-white rounded-lg shadow-lg border border-slate-200 max-h-96 overflow-hidden")),U=z=>y("flex items-center w-full px-4 py-3 text-left transition-colors duration-150 hover:bg-slate-50 focus:bg-slate-50 focus:outline-none",{"bg-slate-50":v.value===z}),W=z=>{i.value&&!i.value.contains(z.target)&&(f.value=!1,v.value=-1)};return e.onMounted(()=>document.addEventListener("click",W)),e.onUnmounted(()=>{document.removeEventListener("click",W),b.value&&clearTimeout(b.value)}),e.watch(()=>s.results,()=>v.value=-1),(z,L)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"searchRef",ref:i,class:"relative"},[e.createElementVNode("div",
|
603
|
+
</svg>`},s=t,l=n,i=e.ref(null),c=e.ref(null),f=e.ref(!1),v=e.ref(-1),b=e.ref(null),N=z=>{const L=z.target.value;l("update:modelValue",L),b.value&&clearTimeout(b.value),b.value=setTimeout(()=>{L.length>=s.minLength?(l("search",L),f.value=!0):f.value=!1},s.debounce)},h=z=>{l("focus",z),s.modelValue.length>=s.minLength&&(f.value=!0)},x=z=>{l("blur",z),setTimeout(()=>{f.value=!1,v.value=-1},150)},u=()=>{l("update:modelValue",""),l("clear"),f.value=!1,c.value?.focus()},m=z=>{l("select",z),f.value=!1,v.value=-1},d=z=>{if(!(!f.value||s.results.length===0))switch(z.key){case"ArrowDown":z.preventDefault(),v.value=Math.min(v.value+1,s.results.length-1);break;case"ArrowUp":z.preventDefault(),v.value=Math.max(v.value-1,-1);break;case"Enter":z.preventDefault(),v.value>=0&&m(s.results[v.value]);break;case"Escape":z.preventDefault(),f.value=!1,v.value=-1;break}},g=z=>{if(!s.highlightMatches||!s.modelValue||!z)return z;const L=new RegExp(`(${s.modelValue})`,"gi");return z.replace(L,"$1")},V=E.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"}}),B=E.cva("text-slate-400",{variants:{size:{sm:"w-4 h-4",md:"w-4 h-4",lg:"w-5 h-5"}},defaultVariants:{size:"md"}}),k=e.computed(()=>y(V({size:s.size}))),R=e.computed(()=>y(B({size:s.size}))),T=e.computed(()=>y("absolute z-50 w-full mt-1 bg-white rounded-lg shadow-lg border border-slate-200 max-h-96 overflow-hidden")),U=z=>y("flex items-center w-full px-4 py-3 text-left transition-colors duration-150 hover:bg-slate-50 focus:bg-slate-50 focus:outline-none",{"bg-slate-50":v.value===z}),W=z=>{i.value&&!i.value.contains(z.target)&&(f.value=!1,v.value=-1)};return e.onMounted(()=>document.addEventListener("click",W)),e.onUnmounted(()=>{document.removeEventListener("click",W),b.value&&clearTimeout(b.value)}),e.watch(()=>s.results,()=>v.value=-1),(z,L)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"searchRef",ref:i,class:"relative"},[e.createElementVNode("div",Yc,[e.createElementVNode("div",Wc,[e.createVNode(a,{class:e.normalizeClass(R.value)},null,8,["class"])]),e.createElementVNode("input",{ref_key:"inputRef",ref:c,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,class:e.normalizeClass(k.value),onInput:N,onFocus:h,onBlur:x,onKeydown:d},null,42,Hc),t.modelValue||t.loading?(e.openBlock(),e.createElementBlock("div",Gc,[!t.loading&&t.clearable?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-slate-400 hover:text-slate-600 transition-colors p-1 rounded-full hover:bg-slate-100","aria-label":t.clearLabel,onClick:u},[e.createVNode(r,{class:"w-4 h-4"})],8,Kc)):t.loading?(e.openBlock(),e.createElementBlock("div",Xc,[e.createVNode(o,{class:"w-4 h-4 text-slate-400"})])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200","enter-from-class":"opacity-0 scale-95 translate-y-1","enter-to-class":"opacity-100 scale-100 translate-y-0","leave-active-class":"transition-all duration-150","leave-from-class":"opacity-100 scale-100 translate-y-0","leave-to-class":"opacity-0 scale-95 translate-y-1"},{default:e.withCtx(()=>[f.value&&(t.results.length>0||t.showNoResults)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(T.value)},[t.results.length>0?(e.openBlock(),e.createElementBlock("div",Jc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.results,(I,p)=>(e.openBlock(),e.createElementBlock("button",{key:I.id||p,class:e.normalizeClass(U(p)),onClick:C=>m(I),onMouseenter:C=>v.value=p},[I.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(I.icon),{key:0,class:"w-4 h-4 mr-3 flex-shrink-0"})):e.createCommentVNode("",!0),e.createElementVNode("div",Zc,[e.createElementVNode("div",ed,e.toDisplayString(g(I.title)),1),I.description?(e.openBlock(),e.createElementBlock("div",td,e.toDisplayString(g(I.description)),1)):e.createCommentVNode("",!0)]),I.category?(e.openBlock(),e.createElementBlock("div",ad,e.toDisplayString(I.category),1)):e.createCommentVNode("",!0)],42,Qc))),128))])):t.showNoResults?(e.openBlock(),e.createElementBlock("div",nd,e.toDisplayString(t.noResultsText),1)):e.createCommentVNode("",!0),z.$slots.footer?(e.openBlock(),e.createElementBlock("div",rd,[e.renderSlot(z.$slots,"footer")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:3})],512))}},od={class:"w-full"},ld=["min","max","step","value"],sd={class:"flex justify-between text-xs text-slate-500 mt-1"},qt={__name:"Slider",props:{modelValue:{type:[Number,String],default:0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1}},emits:["update:modelValue"],setup(t,{emit:n}){const a=n,r=o=>{a("update:modelValue",Number(o.target.value))};return(o,s)=>(e.openBlock(),e.createElementBlock("div",od,[e.createElementVNode("input",{type:"range",min:t.min,max:t.max,step:t.step,value:t.modelValue,class:"w-full accent-blue-500 cursor-pointer",onInput:r},null,40,ld),e.createElementVNode("div",sd,[e.createElementVNode("span",null,e.toDisplayString(t.min),1),e.createElementVNode("span",null,e.toDisplayString(t.modelValue),1),e.createElementVNode("span",null,e.toDisplayString(t.max),1)])]))}},id={class:"flex items-center space-x-4"},cr={__name:"Stepper",setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",id,[e.renderSlot(n.$slots,"default")]))}},cd={class:"flex items-center"},dd={class:"ml-2"},ud={class:"font-medium"},md={key:0,class:"text-sm text-slate-400"},dr={__name:"StepperItem",props:{step:{type:Number,required:!0},title:{type:String,required:!0},description:{type:String,default:""},active:{type:Boolean,default:!1},completed:{type:Boolean,default:!1}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",cd,[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center justify-center w-8 h-8 rounded-full border-2",t.active?"bg-blue-500 border-blue-500 text-white":t.completed?"bg-green-500 border-green-500 text-white":"border-slate-300 text-slate-500"])},[e.createElementVNode("span",null,e.toDisplayString(t.step),1)],2),e.createElementVNode("div",dd,[e.createElementVNode("div",ud,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("div",md,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)])]))}},fd={class:"w-full"},gd={class:"flex space-x-1 border-b border-slate-200",role:"tablist"},vd=["id","disabled","aria-selected","aria-controls","onClick"],pd={class:"mt-4"},ur={__name:"Tab",props:{defaultIndex:{type:Number,default:0},size:{type:String,default:"md"},variant:{type:String,default:"default"},loading:{type:Boolean,default:!1}},emits:["tab-change"],setup(t,{emit:n}){const a=t,r=E.cva("font-medium transition-colors border-b-2 -mb-px",{variants:{size:{sm:"px-3 py-1.5 text-xs",md:"px-4 py-2 text-sm",lg:"px-5 py-2.5 text-base"},variant:{default:""}},defaultVariants:{size:"md",variant:"default"}}),o=e.ref(a.defaultIndex),s=e.ref([]),l=c=>{o.value=c,i("tab-change",c)},i=n;return e.provide("tabsContext",{activeIndex:o,tabs:s,registerTab:c=>(s.value.push({label:c}),s.value.length-1),unregisterTab:c=>{s.value.splice(c,1)}}),(c,f)=>(e.openBlock(),e.createElementBlock("div",fd,[e.createElementVNode("div",gd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(v,b)=>(e.openBlock(),e.createElementBlock("button",{id:`tab-${b}`,key:b,disabled:a.loading,class:e.normalizeClass(e.unref(y)(e.unref(r)({size:a.size,variant:a.variant}),o.value===b?"border-blue-500 text-blue-600 bg-blue-50":"border-transparent text-slate-500 hover:text-slate-700 hover:border-slate-300",a.loading&&"cursor-not-allowed opacity-50")),"aria-selected":o.value===b,"aria-controls":`panel-${b}`,role:"tab",onClick:N=>!a.loading&&l(b)},e.toDisplayString(v.label),11,vd))),128))]),e.createElementVNode("div",pd,[e.renderSlot(c.$slots,"default")])]))}},yd=["id","aria-labelledby"],bd={key:0,class:"flex items-center justify-center p-8"},mr={__name:"TabPanel",props:{label:{type:String,required:!0},loading:{type:Boolean,default:!1}},setup(t){const n=t,a=e.inject("tabsContext");if(!a)throw new Error("TabPanel must be used within a Tab component");const r=e.ref(null),o=e.ref(!1);return e.onMounted(()=>{r.value=a.registerTab(n.label),o.value=a.activeIndex.value===r.value,e.watch(a.activeIndex,s=>{o.value=s===r.value})}),e.onUnmounted(()=>{r.value!==null&&a.unregisterTab(r.value)}),(s,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{id:`panel-${r.value}`,role:"tabpanel","aria-labelledby":`tab-${r.value}`},[t.loading?(e.openBlock(),e.createElementBlock("div",bd,[e.createVNode(Qe,{size:"lg",label:`Loading ${n.label}`},null,8,["label"])])):e.renderSlot(s.$slots,"default",{key:1})],8,yd)),[[e.vShow,o.value]])}},hd=["id","aria-expanded","aria-controls","onClick"],xd={class:"flex items-center flex-1 min-w-0"},kd={key:0},wd=["id","aria-labelledby"],Cd={key:0},fr={__name:"Accordion",props:{items:{type:Array,required:!0},modelValue:{type:[Number,Array],default:null},multiple:Boolean,variant:{type:String,default:"default",validator:t=>["default","bordered","filled","flush"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)},disabled:Boolean},emits:["update:modelValue","change"],setup(t,{emit:n}){const a={template:`
|
604
604
|
<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
605
605
|
<path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" />
|
606
606
|
</svg>
|
607
|
-
`},r=t,o=n,s=e.ref(r.multiple?Array.isArray(r.modelValue)?[...r.modelValue]:[]:typeof r.modelValue=="number"?[r.modelValue]:[]),l=g=>{if(!(r.disabled||r.items[g]?.disabled)){if(r.multiple){const V=s.value.indexOf(g);V>-1?s.value.splice(V,1):s.value.push(g),o("update:modelValue",[...s.value])}else{const V=s.value.includes(g)?null:g;s.value=V!==null?[V]:[],o("update:modelValue",V)}o("change",{index:g,expanded:s.value.includes(g)})}},i=g=>s.value.includes(g),c=E.cva("w-full",{variants:{variant:{default:"space-y-1",bordered:"space-y-3",filled:"space-y-3",flush:"divide-y divide-slate-200"}}}),f=E.cva("transition-all duration-200",{variants:{variant:{default:"bg-white border border-slate-200 rounded-lg overflow-hidden shadow-sm hover:shadow-md",bordered:"border-2 border-slate-200 rounded-xl overflow-hidden hover:border-blue-300",filled:"bg-gradient-to-br from-slate-50 to-white border border-slate-200 rounded-xl overflow-hidden shadow-sm",flush:""}}}),v=E.cva("flex items-center justify-between w-full text-left transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",{variants:{variant:{default:"hover:bg-slate-50",bordered:"hover:bg-blue-50/50",filled:"hover:bg-white/70",flush:"hover:bg-slate-50"},size:{sm:"px-4 py-3",md:"px-5 py-4",lg:"px-6 py-5"}}}),b=E.cva("ml-4 flex-shrink-0 text-slate-400 transition-all duration-200",{variants:{expanded:{true:"rotate-180 text-blue-500",false:""}}}),N=E.cva("overflow-hidden text-slate-600 bg-white",{variants:{size:{sm:"px-4 py-3 text-sm",md:"px-5 py-4 text-sm",lg:"px-6 py-5 text-base"}}}),h=e.computed(()=>y(c({variant:r.variant}))),x=e.computed(()=>y(f({variant:r.variant}))),u=g=>y(v({variant:r.variant,size:r.size}),i(g)&&r.variant==="bordered"&&"bg-blue-50/30 border-blue-300",i(g)&&r.variant==="filled"&&"bg-white",i(g)&&r.variant==="default"&&"bg-slate-50",(r.disabled||r.items[g]?.disabled)&&"cursor-not-allowed opacity-50"),m=g=>y(b({expanded:i(g)})),d=e.computed(()=>y(N({size:r.size})));return e.watch(()=>r.modelValue,g=>{r.multiple?s.value=Array.isArray(g)?[...g]:[]:s.value=typeof g=="number"?[g]:[]}),(g,V)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(h.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(B,k)=>(e.openBlock(),e.createElementBlock("div",{key:B.id||k,class:e.normalizeClass(x.value)},[e.createElementVNode("button",{id:`header-${B.id||k}`,class:e.normalizeClass(u(k)),"aria-expanded":i(k),"aria-controls":`panel-${B.id||k}`,onClick:R=>l(k)},[e.createElementVNode("div",
|
607
|
+
`},r=t,o=n,s=e.ref(r.multiple?Array.isArray(r.modelValue)?[...r.modelValue]:[]:typeof r.modelValue=="number"?[r.modelValue]:[]),l=g=>{if(!(r.disabled||r.items[g]?.disabled)){if(r.multiple){const V=s.value.indexOf(g);V>-1?s.value.splice(V,1):s.value.push(g),o("update:modelValue",[...s.value])}else{const V=s.value.includes(g)?null:g;s.value=V!==null?[V]:[],o("update:modelValue",V)}o("change",{index:g,expanded:s.value.includes(g)})}},i=g=>s.value.includes(g),c=E.cva("w-full",{variants:{variant:{default:"space-y-1",bordered:"space-y-3",filled:"space-y-3",flush:"divide-y divide-slate-200"}}}),f=E.cva("transition-all duration-200",{variants:{variant:{default:"bg-white border border-slate-200 rounded-lg overflow-hidden shadow-sm hover:shadow-md",bordered:"border-2 border-slate-200 rounded-xl overflow-hidden hover:border-blue-300",filled:"bg-gradient-to-br from-slate-50 to-white border border-slate-200 rounded-xl overflow-hidden shadow-sm",flush:""}}}),v=E.cva("flex items-center justify-between w-full text-left transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",{variants:{variant:{default:"hover:bg-slate-50",bordered:"hover:bg-blue-50/50",filled:"hover:bg-white/70",flush:"hover:bg-slate-50"},size:{sm:"px-4 py-3",md:"px-5 py-4",lg:"px-6 py-5"}}}),b=E.cva("ml-4 flex-shrink-0 text-slate-400 transition-all duration-200",{variants:{expanded:{true:"rotate-180 text-blue-500",false:""}}}),N=E.cva("overflow-hidden text-slate-600 bg-white",{variants:{size:{sm:"px-4 py-3 text-sm",md:"px-5 py-4 text-sm",lg:"px-6 py-5 text-base"}}}),h=e.computed(()=>y(c({variant:r.variant}))),x=e.computed(()=>y(f({variant:r.variant}))),u=g=>y(v({variant:r.variant,size:r.size}),i(g)&&r.variant==="bordered"&&"bg-blue-50/30 border-blue-300",i(g)&&r.variant==="filled"&&"bg-white",i(g)&&r.variant==="default"&&"bg-slate-50",(r.disabled||r.items[g]?.disabled)&&"cursor-not-allowed opacity-50"),m=g=>y(b({expanded:i(g)})),d=e.computed(()=>y(N({size:r.size})));return e.watch(()=>r.modelValue,g=>{r.multiple?s.value=Array.isArray(g)?[...g]:[]:s.value=typeof g=="number"?[g]:[]}),(g,V)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(h.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(B,k)=>(e.openBlock(),e.createElementBlock("div",{key:B.id||k,class:e.normalizeClass(x.value)},[e.createElementVNode("button",{id:`header-${B.id||k}`,class:e.normalizeClass(u(k)),"aria-expanded":i(k),"aria-controls":`panel-${B.id||k}`,onClick:R=>l(k)},[e.createElementVNode("div",xd,[e.renderSlot(g.$slots,`header-${k}`,{item:B,index:k,isExpanded:i(k)},()=>[B.title?(e.openBlock(),e.createElementBlock("div",kd,e.toDisplayString(B.title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(m(k))},[e.createVNode(a,{class:"w-5 h-5 transition-transform duration-200"})],2)],10,hd),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"opacity-0 max-h-0","enter-to-class":"opacity-100 max-h-[600px]","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"opacity-100 max-h-[600px]","leave-to-class":"opacity-0 max-h-0"},{default:e.withCtx(()=>[i(k)?(e.openBlock(),e.createElementBlock("div",{key:0,id:`panel-${B.id||k}`,class:e.normalizeClass(d.value),"aria-labelledby":`header-${B.id||k}`,role:"region"},[e.renderSlot(g.$slots,`content-${k}`,{item:B,index:k},()=>[e.renderSlot(g.$slots,"content",{item:B,index:k},()=>[B.content?(e.openBlock(),e.createElementBlock("div",Cd,e.toDisplayString(B.content),1)):e.createCommentVNode("",!0)])])],10,wd)):e.createCommentVNode("",!0)]),_:2},1024)],2))),128))],2))}},gr={__name:"AccordionItem",props:{variant:{type:String,default:"default",validator:t=>["default","bordered","filled","flush"].includes(t)},size:{type:String,default:"md",validator:t=>["sm","md","lg"].includes(t)}},setup(t){const n={template:`
|
608
608
|
<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
609
609
|
<path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" />
|
610
610
|
</svg>
|
611
|
-
`},a=t,r=e.ref(!1),o=()=>r.value=!r.value,s=E.cva("",{variants:{variant:{default:"",bordered:"border border-slate-200 rounded-lg overflow-hidden",filled:"bg-slate-50 border border-slate-200 rounded-lg overflow-hidden",flush:""}}}),l=E.cva("flex items-center justify-between w-full text-left transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",{variants:{size:{sm:"p-3 text-sm",md:"p-4 text-base",lg:"p-6 text-lg"}}}),i=E.cva("overflow-hidden text-slate-600 border-t border-slate-200",{variants:{size:{sm:"p-3 text-sm",md:"p-4 text-base",lg:"p-6 text-lg"}}}),c=e.computed(()=>y(s({variant:a.variant}))),f=e.computed(()=>y(l({size:a.size}))),v=e.computed(()=>y(i({size:a.size})));return(b,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value)},[e.createVNode(ae,{class:e.normalizeClass(f.value),"aria-expanded":r.value,onClick:o},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"header",{isOpen:r.value}),e.createVNode(n,{class:e.normalizeClass(e.unref(y)("w-5 h-5 transition-transform ml-2",{"rotate-180":r.value}))},null,8,["class"])]),_:3},8,["class","aria-expanded"]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"opacity-0 max-h-0","enter-to-class":"opacity-100 max-h-96","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"opacity-100 max-h-96","leave-to-class":"opacity-0 max-h-0"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(v.value)},[e.renderSlot(b.$slots,"content",{isOpen:r.value})],2)):e.createCommentVNode("",!0)]),_:3})],2))}},Fd={class:"relative w-full"},Ld={class:"relative"},Md=["id","value","disabled","placeholder","required","aria-describedby"],Od={class:"flex items-center justify-between mb-3"},_d={class:"text-sm font-medium"},Rd={class:"grid grid-cols-7 gap-1 mb-2"},qd={class:"grid grid-cols-7 gap-1"},Ud=["disabled","onClick"],Yd={key:0,class:"mt-4 pt-3 border-t border-slate-200"},vr={__name:"Calendar",props:{id:String,modelValue:[String,Date],disabled:Boolean,required:Boolean,min:[String,Date],max:[String,Date],placeholder:{type:String,default:"Select date"},format:{type:String,default:"MM/DD/YYYY"},clearable:{type:Boolean,default:!0},showToday:{type:Boolean,default:!0},calendarPosition:{type:String,default:"left-0"},ariaDescribedby:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(!1),s=new Date,l=e.ref(s.getMonth()),i=e.ref(s.getFullYear()),c=e.ref(null),f=["Su","Mo","Tu","We","Th","Fr","Sa"],v=e.computed(()=>new Date(i.value,l.value).toLocaleString("default",{month:"long"})),b=e.computed(()=>new Date(i.value,l.value+1,0).getDate()),N=e.computed(()=>new Date(i.value,l.value,1).getDay()),h=e.computed(()=>{const I=new Date(i.value,l.value,0).getDate(),p=N.value;return Array.from({length:p},(C,D)=>I-p+D+1)}),x=e.computed(()=>{const I=h.value.length+b.value,p=I%7===0?0:7-I%7;return Array.from({length:p},(C,D)=>D+1)}),u=e.computed(()=>c.value?m(c.value):"");function m(I){if(!I)return"";const p=new Date(I),C=String(p.getMonth()+1).padStart(2,"0"),D=String(p.getDate()).padStart(2,"0"),q=p.getFullYear();return a.format.replace("MM",C).replace("DD",D).replace("YYYY",q)}function d(I){if(!I)return null;if(I instanceof Date)return I;const p=new Date(I);return isNaN(p.getTime())?null:p}function g(I){if(!c.value)return!1;const p=new Date(c.value);return p.getDate()===I&&p.getMonth()===l.value&&p.getFullYear()===i.value}function V(I){const p=new Date(i.value,l.value,I);if(a.min){const C=d(a.min);if(C&&p<C)return!0}if(a.max){const C=d(a.max);if(C&&p>C)return!0}return!1}function B(){a.disabled||(o.value=!o.value)}function k(){o.value=!1}function R(){l.value===0?(l.value=11,i.value--):l.value--}function T(){l.value===11?(l.value=0,i.value++):l.value++}function U(I){if(V(I))return;const p=new Date(i.value,l.value,I);c.value=p,r("update:modelValue",p.toISOString().split("T")[0]),o.value=!1}function W(){l.value=s.getMonth(),i.value=s.getFullYear(),U(s.getDate())}function z(){c.value=null,r("update:modelValue","")}e.watch(()=>a.modelValue,I=>{if(I){const p=d(I);p&&(c.value=p,l.value=p.getMonth(),i.value=p.getFullYear())}else c.value=null},{immediate:!0});function L(I){I.key==="Escape"&&o.value&&k()}return e.onMounted(()=>{document.addEventListener("keydown",L)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",L)}),(I,p)=>(e.openBlock(),e.createElementBlock("div",Fd,[e.createElementVNode("div",Ld,[e.createElementVNode("input",{id:t.id,type:"text",value:u.value,readonly:"",disabled:t.disabled,placeholder:t.placeholder,required:t.required,"aria-describedby":t.ariaDescribedby,class:"w-full px-3 py-2 pr-10 border border-slate-300 rounded-md bg-white text-slate-900 placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 cursor-pointer disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed",onClick:B},null,8,Md),p[2]||(p[2]=e.createElementVNode("div",{class:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none"},[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})])],-1)),t.clearable&&u.value&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-9 top-1/2 -translate-y-1/2 p-1 hover:bg-slate-100 rounded","aria-label":"Clear date",onClick:e.withModifiers(z,["stop"])},[...p[1]||(p[1]=[e.createElementVNode("svg",{class:"w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute z-[99999] mt-2 bg-white border border-slate-200 rounded-lg shadow-lg p-4",t.calendarPosition]),onClick:p[0]||(p[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Od,[e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-gray-100 rounded","aria-label":"Previous Month",onClick:R},[...p[3]||(p[3]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 18l-6-6 6-6"})],-1)])]),e.createElementVNode("div",_d,e.toDisplayString(v.value)+" "+e.toDisplayString(i.value),1),e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-gray-100 rounded","aria-label":"Next Month",onClick:T},[...p[4]||(p[4]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 18l6-6-6-6"})],-1)])])]),e.createElementVNode("div",Rd,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(f,C=>e.createElementVNode("div",{key:C,class:"text-center text-xs font-medium text-slate-600 py-1"},e.toDisplayString(C),1)),64))]),e.createElementVNode("div",qd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(C,D)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+D,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(C),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,C=>(e.openBlock(),e.createElementBlock("button",{key:C,type:"button",disabled:V(C),class:e.normalizeClass(["w-8 h-8 text-sm rounded flex items-center justify-center",g(C)?"bg-blue-500 text-white":"hover:bg-gray-100",V(C)?"text-gray-300 cursor-not-allowed":""]),onClick:D=>U(C)},e.toDisplayString(C),11,Ud))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(C,D)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+D,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(C),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",Yd,[e.createElementVNode("button",{type:"button",class:"w-full px-3 py-2 text-sm font-medium text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",onClick:W}," Today ")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-[99998]",onClick:k})):e.createCommentVNode("",!0)]))}},Wd={class:"flex items-start justify-between"},Hd={key:0,class:"flex items-center gap-2"},Ut={__name:"DataTableHeader",props:{title:{type:String,default:null},description:{type:String,default:null},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},setup(t){const n=t,a=E.cva("border-b border-slate-200",{variants:{variant:{default:"bg-white",minimal:"bg-transparent border-none",bordered:"bg-slate-50 border-2"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),r=E.cva("font-semibold text-slate-900",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),o=E.cva("text-slate-600 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),s=e.computed(()=>y(a({variant:n.variant,padding:n.padding}))),l=e.computed(()=>y(r({size:"md"}))),i=e.computed(()=>y(o({size:"md"})));return(c,f)=>t.title||t.description||c.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(s.value)},[e.renderSlot(c.$slots,"header",{},()=>[e.createElementVNode("div",Wd,[e.createElementVNode("div",null,[t.title?(e.openBlock(),e.createBlock(Ue,{key:0,class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1},8,["class"])):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createBlock(Ue,{key:1,class:e.normalizeClass(i.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.description),1)]),_:1},8,["class"])):e.createCommentVNode("",!0)]),c.$slots.filters?(e.openBlock(),e.createElementBlock("div",Hd,[e.renderSlot(c.$slots,"filters")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)}},Yt={__name:"DataTableRow",props:{item:{type:Object,required:!0},columns:{type:Array,required:!0},index:{type:Number,required:!0},selectable:{type:Boolean,default:!1},isSelected:{type:Boolean,default:!1},striped:{type:Boolean,default:!1},hoverable:{type:Boolean,default:!0},clickableRows:{type:Boolean,default:!1},density:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","bordered","minimal"].includes(t)}},emits:["toggle-selection","row-click"],setup(t,{emit:n}){const a=t,r=n,o=E.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"}}),s=E.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"}}),l=u=>typeof u=="string"?u:u?.key||u?.field||"unknown",i=(u,m)=>{const d=l(m);return typeof m=="object"&&m.accessor?m.accessor(u):d&&d.includes(".")?d.split(".").reduce((g,V)=>g?.[V],u):u?.[d]},c=(u,m)=>{const d=i(u,m);return typeof m=="object"&&m.formatter?m.formatter(d,u):d==null?"":d instanceof Date?d.toLocaleDateString():Array.isArray(d)?d.join(", "):d},f=()=>{a.clickableRows&&r("row-click",{item:a.item,index:a.index})},v=u=>typeof u=="object"&&u.align?u.align:"left",b=e.computed(()=>y(o({striped:a.striped,hoverable:a.hoverable&&!a.clickableRows,clickable:a.clickableRows,selected:a.isSelected,variant:a.variant}))),N=u=>{const m=v(u);return y(s({density:a.density,align:m}),u.cellClasses)},h=e.computed(()=>y(s({density:a.density}),"w-12")),x=e.computed(()=>y(s({density:a.density,align:"right"}),"font-medium"));return(u,m)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(b.value),onClick:f},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(h.value)},[e.createVNode(Je,{"model-value":t.isSelected,"onUpdate:modelValue":m[0]||(m[0]=d=>u.$emit("toggle-selection",t.item))},null,8,["model-value"])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,d=>(e.openBlock(),e.createElementBlock("td",{key:l(d),class:e.normalizeClass(N(d))},[e.renderSlot(u.$slots,`cell-${l(d)}`,{item:t.item,value:i(t.item,d),column:d,index:t.index},()=>[e.createTextVNode(e.toDisplayString(c(t.item,d)),1)])],2))),128)),u.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(x.value)},[e.renderSlot(u.$slots,"actions",{item:t.item,index:t.index})],2)):e.createCommentVNode("",!0)],2))}},Gd={class:"flex items-center justify-between"},Kd={key:0,class:"text-sm text-slate-600"},Xd={key:1,class:"text-sm text-slate-600"},Jd={key:2,class:"flex items-center gap-4"},Qd={key:3,class:"flex items-center gap-4"},Zd={class:"flex items-center gap-2"},eu={class:"flex items-center gap-1"},tu=["disabled"],au=["disabled"],nu={class:"flex items-center gap-1"},ru=["onClick"],ou=["disabled"],lu=["disabled"],su={class:"text-sm text-slate-600 ml-4"},Wt={__name:"DataTablePagination",props:{currentPage:{type:Number,required:!0},totalPages:{type:Number,required:!0},total:{type:Number,required:!0},pageSize:{type:Number,required:!0},showPagination:{type:Boolean,default:!0},selectable:{type:Boolean,default:!1},selectedCount:{type:Number,default:0},pageSizeOptions:{type:Array,default:()=>[5,10,25,50,100]},maxVisiblePages:{type:Number,default:7},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:currentPage","update:pageSize"],setup(t){const n=t,a=E.cva("border-t border-slate-200",{variants:{variant:{default:"bg-slate-50",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-100 border-t-2 border-slate-300"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),r=E.cva("text-sm font-medium border rounded-md transition-colors duration-200",{variants:{state:{active:"bg-blue-600 text-white border-blue-600",inactive:"bg-white text-slate-700 border-slate-300 hover:bg-slate-50",disabled:"bg-slate-100 text-slate-400 border-slate-200 cursor-not-allowed"},size:{sm:"px-2 py-1",md:"px-3 py-2",lg:"px-4 py-3"}},defaultVariants:{state:"inactive",size:"md"}}),o=E.cva("text-slate-700",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"}},defaultVariants:{size:"md"}}),s=E.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"}}),l=e.computed(()=>(n.currentPage-1)*n.pageSize+1),i=e.computed(()=>Math.min(n.currentPage*n.pageSize,n.total)),c=e.computed(()=>{const h=[],x=n.totalPages,u=n.currentPage,m=n.maxVisiblePages;if(x<=m)for(let d=1;d<=x;d++)h.push(d);else{const d=Math.floor(m/2);let g=Math.max(1,u-d),V=Math.min(x,g+m-1);V-g+1<m&&(g=Math.max(1,V-m+1));for(let B=g;B<=V;B++)h.push(B)}return h}),f=e.computed(()=>y(a({variant:n.variant,padding:n.padding}))),v=e.computed(()=>y(o({size:"md"}))),b=e.computed(()=>y(s({size:"sm"}))),N=(h,x)=>{let u="inactive";return x?u="disabled":h&&(u="active"),y(r({state:u,size:"md"}))};return(h,x)=>t.showPagination||h.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(f.value)},[e.createElementVNode("div",Gd,[t.selectable&&t.selectedCount>0?(e.openBlock(),e.createElementBlock("div",Kd,e.toDisplayString(t.selectedCount)+" of "+e.toDisplayString(t.total)+" selected ",1)):(e.openBlock(),e.createElementBlock("div",Xd," Showing "+e.toDisplayString(l.value)+" to "+e.toDisplayString(i.value)+" of "+e.toDisplayString(t.total)+" entries ",1)),h.$slots.footer?(e.openBlock(),e.createElementBlock("div",Jd,[e.renderSlot(h.$slots,"footer")])):e.createCommentVNode("",!0),t.showPagination?(e.openBlock(),e.createElementBlock("div",Qd,[e.createElementVNode("div",Zd,[e.createVNode(Ze,{for:"pageSize",class:e.normalizeClass(v.value),inline:!0},{default:e.withCtx(()=>[...x[5]||(x[5]=[e.createTextVNode("Show:",-1)])]),_:1},8,["class"]),e.createVNode(ze,{id:"pageSize","model-value":t.pageSize.toString(),class:e.normalizeClass(b.value),"onUpdate:modelValue":x[0]||(x[0]=u=>h.$emit("update:pageSize",parseInt(u)))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizeOptions,u=>(e.openBlock(),e.createBlock(Mt,{key:u,value:u.toString(),label:u.toString()},null,8,["value","label"]))),128))]),_:1},8,["model-value","class"])]),e.createElementVNode("div",eu,[e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass(N(!1,t.currentPage===1)),title:"First page",onClick:x[1]||(x[1]=u=>h.$emit("update:currentPage",1))},[...x[6]||(x[6]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m18.75 4.5-7.5 7.5 7.5 7.5m-6-15L5.25 12l7.5 7.5"})],-1)])],10,tu),e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass(N(!1,t.currentPage===1)),title:"Previous page",onClick:x[2]||(x[2]=u=>h.$emit("update:currentPage",t.currentPage-1))},[...x[7]||(x[7]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5L8.25 12l7.5-7.5"})],-1)])],10,au),e.createElementVNode("div",nu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,u=>(e.openBlock(),e.createElementBlock("button",{key:u,class:e.normalizeClass(N(u===t.currentPage,!1)),onClick:m=>h.$emit("update:currentPage",u)},e.toDisplayString(u),11,ru))),128))]),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass(N(!1,t.currentPage===t.totalPages)),title:"Next page",onClick:x[3]||(x[3]=u=>h.$emit("update:currentPage",t.currentPage+1))},[...x[8]||(x[8]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})],-1)])],10,ou),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass(N(!1,t.currentPage===t.totalPages)),title:"Last page",onClick:x[4]||(x[4]=u=>h.$emit("update:currentPage",t.totalPages))},[...x[9]||(x[9]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m5.25 4.5 7.5 7.5-7.5 7.5m6-15 7.5 7.5-7.5 7.5"})],-1)])],10,lu)]),e.createElementVNode("div",su," Page "+e.toDisplayString(t.currentPage)+" of "+e.toDisplayString(t.totalPages),1)])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)}},iu={class:"relative"},cu={class:"flex items-center justify-center"},du=["onClick"],uu={class:"flex items-center gap-2"},mu={key:1,class:"flex flex-col"},fu={key:0},gu=["colspan"],vu={class:"flex justify-center items-center"},pu={key:2},yu=["colspan"],bu={class:"text-center"},hu={class:"text-slate-400 mb-4"},xu={class:"text-slate-600 text-lg font-medium mb-2"},ku={__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"},loading:{type:Boolean,default:!1},dataLoading:{type:Boolean,default:!1},sortLoading:{type:Boolean,default:!1},paginationLoading:{type:Boolean,default:!1},bulkLoading:{type:Boolean,default:!1},rowLoading:{type:Object,default:()=>({})},loadingType:{type:String,default:"dots",validator:t=>["spin","pulse","bounce","ripple","bars","dots","ring"].includes(t)},loadingSize:{type:String,default:"medium",validator:t=>["small","medium","large","xl"].includes(t)},loadingColor:{type:String,default:"#3b82f6"},loadingText:{type:String,default:"Loading..."},loadingTextPosition:{type:String,default:"bottom",validator:t=>["top","bottom"].includes(t)},loadingBackground:{type:String,default:"rgba(255, 255, 255, 0.95)"},showSkeleton:{type:Boolean,default:!0},skeletonRows:{type:Number,default:5},hasLoaded:{type:Boolean,default:!1}},emits:["selection-change","sort-change","row-click","page-change","page-size-change","refresh"],setup(t,{expose:n,emit:a}){const r=t,o=a,s=e.ref(1),l=e.ref(r.pageSize),i=e.ref(r.sortBy),c=e.ref(r.sortOrder),f=E.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=E.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"}}),b=E.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"}}),N=E.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"}}),h=e.computed(()=>{let w=[...r.data];if(i.value){const $=r.columns.find(F=>F.key===i.value);$&&w.sort((F,K)=>{const de=V(F,$),Te=V(K,$);return de<Te?c.value==="asc"?-1:1:de>Te?c.value==="asc"?1:-1:0})}return w}),x=e.computed(()=>Math.ceil(h.value.length/l.value)),u=e.computed(()=>{if(!r.showPagination)return h.value;const w=(s.value-1)*l.value,$=w+l.value;return h.value.slice(w,$)}),m=e.computed(()=>{let w=r.columns.length;return r.selectable&&w++,r.$slots?.actions&&w++,w}),d=e.computed(()=>h.value.length>0&&h.value.every(w=>k(w))),g=e.computed(()=>{const w=h.value.filter($=>k($)).length;return w>0&&w<h.value.length}),V=(w,$)=>$.accessor?$.accessor(w):$.key.split(".").reduce((F,K)=>F?.[K],w),B=(w,$)=>w[r.rowKey]||$,k=w=>r.selectedItems.some($=>B($)===B(w)),R=w=>{const $=[...r.selectedItems],F=$.findIndex(K=>B(K)===B(w));F>-1?$.splice(F,1):$.push(w),o("selection-change",$)},T=()=>{if(r.loading||r.dataLoading)return;const w=d.value?[]:[...h.value];o("selection-change",w)},U=async w=>{!w.sortable||r.loading||r.sortLoading||(i.value===w.key?c.value=c.value==="asc"?"desc":"asc":(i.value=w.key,c.value="asc"),o("sort-change",{column:w.key,direction:c.value}))},W=w=>{r.loading||o("row-click",w)},z=async w=>{r.paginationLoading||r.loading||(s.value=w,o("page-change",w))},L=async w=>{r.paginationLoading||r.loading||(l.value=w,s.value=1,o("page-size-change",w))},I=e.computed(()=>y(f({variant:r.variant}))),p=e.computed(()=>y(v({variant:r.variant}))),C=e.computed(()=>y(b({variant:r.variant}))),D=e.computed(()=>y(N({variant:r.variant}))),q=w=>y({compact:"px-4 py-2",normal:"px-6 py-3",comfortable:"px-8 py-4"}[r.density],"text-left text-xs font-medium text-slate-500 uppercase tracking-wider",{"cursor-pointer hover:bg-slate-100 transition-colors":w.sortable&&!r.loading&&!r.sortLoading,"cursor-not-allowed opacity-50":r.loading||r.sortLoading&&i.value===w.key}),M=()=>y({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm text-slate-900"),J=e.computed(()=>y({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm text-slate-900 w-12")),De=e.computed(()=>y({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm font-medium text-center")),j=e.computed(()=>y({compact:"px-4 py-4",normal:"px-6 py-6",comfortable:"px-8 py-8"}[r.density],"text-center")),A=(w,$)=>y({"text-blue-600":i.value===w.key&&c.value===$,"text-slate-300":i.value!==w.key||c.value!==$});return e.watch(()=>r.selectedItems,()=>{},{deep:!0}),e.watch(()=>r.pageSize,w=>{l.value=w}),n({refresh:()=>{o("refresh")},goToPage:w=>{z(w)},selectAll:()=>{T()},clearSelection:()=>{o("selection-change",[])},getCurrentPage:()=>s.value,getTotalPages:()=>x.value,getSelectedItems:()=>r.selectedItems}),(w,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(I.value)},[t.title||t.description||w.$slots.header?(e.openBlock(),e.createBlock(Ut,{key:0,title:t.title,description:t.description,variant:t.headerVariant,padding:t.headerPadding},{header:e.withCtx(()=>[e.renderSlot(w.$slots,"header",{},void 0,!0)]),filters:e.withCtx(()=>[e.renderSlot(w.$slots,"filters",{},void 0,!0)]),_:3},8,["title","description","variant","padding"])):e.createCommentVNode("",!0),e.createElementVNode("div",iu,[t.loading?(e.openBlock(),e.createBlock(pe,{key:0,loading:!0,type:t.loadingType,size:t.loadingSize,color:t.loadingColor,overlay:!0,text:t.loadingText,"text-position":t.loadingTextPosition,"background-color":t.loadingBackground,class:"table-loading-overlay"},null,8,["type","size","color","text","text-position","background-color"])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["overflow-x-auto",{"opacity-50":t.loading}])},[e.createElementVNode("table",{class:e.normalizeClass(p.value)},[e.createElementVNode("thead",{class:e.normalizeClass(C.value)},[e.createElementVNode("tr",null,[t.selectable?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(J.value)},[e.createElementVNode("div",cu,[t.bulkLoading?(e.openBlock(),e.createBlock(pe,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):(e.openBlock(),e.createBlock(Je,{key:1,"model-value":d.value,indeterminate:g.value,disabled:t.loading||t.dataLoading,"onUpdate:modelValue":T},null,8,["model-value","indeterminate","disabled"]))])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,F=>(e.openBlock(),e.createElementBlock("th",{key:F.key,class:e.normalizeClass(q(F)),onClick:K=>U(F)},[e.createElementVNode("div",uu,[e.createElementVNode("span",null,e.toDisplayString(F.label),1),t.sortLoading&&i.value===F.key?(e.openBlock(),e.createBlock(pe,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):F.sortable?(e.openBlock(),e.createElementBlock("div",mu,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([A(F,"asc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...$[0]||($[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 15.75 7.5-7.5 7.5 7.5"},null,-1)])],2)),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([A(F,"desc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...$[1]||($[1]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"},null,-1)])],2))])):e.createCommentVNode("",!0)])],10,du))),128)),w.$slots.actions?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass(De.value)}," Actions ",2)):e.createCommentVNode("",!0)])],2),e.createElementVNode("tbody",{class:e.normalizeClass(D.value)},[t.dataLoading&&!t.loading?(e.openBlock(),e.createElementBlock("tr",fu,[e.createElementVNode("td",{colspan:m.value,class:e.normalizeClass(j.value)},[e.createElementVNode("div",vu,[e.createVNode(pe,{loading:!0,type:"dots",size:"medium",color:t.loadingColor},null,8,["color"])])],10,gu)])):u.value.length>0&&!t.loading?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(u.value,(F,K)=>(e.openBlock(),e.createBlock(Yt,{key:B(F,K),item:F,columns:t.columns,index:K,selectable:t.selectable,"is-selected":k(F),striped:t.striped,hoverable:t.hoverable,"clickable-rows":t.clickableRows,density:t.density,"row-loading":t.rowLoading[B(F,K)],"loading-color":t.loadingColor,onToggleSelection:R,onRowClick:W},e.createSlots({actions:e.withCtx(de=>[e.renderSlot(w.$slots,"actions",e.mergeProps({ref_for:!0},de),void 0,!0)]),_:2},[e.renderList(t.columns,de=>({name:`cell-${de.key}`,fn:e.withCtx(Te=>[e.renderSlot(w.$slots,`cell-${de.key}`,e.mergeProps({ref_for:!0},Te),void 0,!0)])}))]),1032,["item","columns","index","selectable","is-selected","striped","hoverable","clickable-rows","density","row-loading","loading-color"]))),128)):!t.loading&&!t.dataLoading&&t.hasLoaded?(e.openBlock(),e.createElementBlock("tr",pu,[e.createElementVNode("td",{colspan:m.value,class:e.normalizeClass(j.value)},[e.renderSlot(w.$slots,"empty",{},()=>[e.createElementVNode("div",bu,[e.createElementVNode("div",hu,[e.createVNode(_,{name:"search",class:"w-12 h-12"})]),e.createElementVNode("p",xu,e.toDisplayString(t.emptyText),1),$[2]||($[2]=e.createElementVNode("p",{class:"text-slate-500 text-sm"}," Try adjusting your search or filter criteria ",-1))])],!0)],10,yu)])):e.createCommentVNode("",!0),t.showSkeleton&&(t.loading||t.dataLoading)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:3},e.renderList(t.skeletonRows,F=>(e.openBlock(),e.createElementBlock("tr",{key:`skeleton-${F}`,class:"animate-pulse"},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(J.value)},[...$[3]||($[3]=[e.createElementVNode("div",{class:"w-4 h-4 bg-slate-200 rounded"},null,-1)])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,K=>(e.openBlock(),e.createElementBlock("td",{key:K.key,class:e.normalizeClass(M())},[...$[4]||($[4]=[e.createElementVNode("div",{class:"h-4 bg-slate-200 rounded w-3/4"},null,-1)])],2))),128)),w.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(De.value)},[...$[5]||($[5]=[e.createElementVNode("div",{class:"flex gap-2 justify-center"},[e.createElementVNode("div",{class:"w-6 h-6 bg-slate-200 rounded"}),e.createElementVNode("div",{class:"w-6 h-6 bg-slate-200 rounded"})],-1)])],2)):e.createCommentVNode("",!0)]))),128)):e.createCommentVNode("",!0)],2)],2)],2)]),t.showPagination||w.$slots.footer?(e.openBlock(),e.createBlock(Wt,{key:1,"current-page":s.value,"total-pages":x.value,total:h.value.length,"page-size":l.value,"show-pagination":t.showPagination,selectable:t.selectable,"selected-count":t.selectedItems.length,variant:t.paginationVariant,padding:t.paginationPadding,loading:t.paginationLoading,disabled:t.loading||t.dataLoading,"onUpdate:currentPage":z,"onUpdate:pageSize":L},{footer:e.withCtx(()=>[e.renderSlot(w.$slots,"footer",{},void 0,!0)]),_:3},8,["current-page","total-pages","total","page-size","show-pagination","selectable","selected-count","variant","padding","loading","disabled"])):e.createCommentVNode("",!0)],2))}},pr=et(ku,[["__scopeId","data-v-788cdc84"]]),yr={__name:"DataTableCell",props:{item:{type:Object,required:!0},column:{type:Object,required:!0},value:{type:[String,Number,Boolean,Object,Array],default:null},align:{type:String,default:"left",validator:t=>["left","center","right"].includes(t)},width:{type:String,default:null},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},textSize:{type:String,default:"sm",validator:t=>["xs","sm","base","lg"].includes(t)},textColor:{type:String,default:"slate-900"}},setup(t){const n=t,a=e.computed(()=>{const l=n.value??r();return n.column.formatter?n.column.formatter(l,n.item):l}),r=()=>n.column.accessor?n.column.accessor(n.item):n.column.key.split(".").reduce((l,i)=>l?.[i],n.item),o=E.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"}}),s=e.computed(()=>{const l=n.align||n.column.align||"left",i=`text-${n.textColor}`,c=n.width?`w-${n.width}`:"";return y(o({align:l,padding:n.padding,textSize:n.textSize}),i,c,n.column.cellClasses)});return(l,i)=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(s.value)},[e.renderSlot(l.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])],2))}},wu={class:"bg-white border-b border-gray-200"},Cu={class:"flex-1 min-w-80 max-w-md"},Bu={class:"relative group"},Su=["model-value","placeholder"],Vu={key:0,class:"min-w-36"},Nu={class:"relative"},Eu=["value"],$u={key:1,class:"flex items-center gap-2"},zu={class:"flex items-center gap-3 ml-auto"},Du={class:"grid grid-cols-1 lg:grid-cols-3 gap-6"},Tu={class:"flex items-center justify-between"},Au={class:"flex items-center gap-3"},Iu={class:"relative flex-1"},Pu=["model-value","placeholder","onInput"],ju={class:"relative flex-1"},Fu=["model-value","placeholder","onInput"],Lu=["onClick"],Mu={class:"flex items-center gap-3 flex-wrap"},Ou=["onClick"],_u={key:2,class:"px-6 py-3 bg-gray-50 border-t border-gray-200"},Ru={class:"flex items-center justify-between"},qu={class:"flex items-center gap-4"},Uu={class:"text-sm text-gray-600"},Yu={class:"font-medium"},br={__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:""},dateFilters:{type:Array,default:()=>[],validator:t=>t.every(n=>Object.prototype.hasOwnProperty.call(n,"key")&&Object.prototype.hasOwnProperty.call(n,"label")&&Object.prototype.hasOwnProperty.call(n,"from")&&Object.prototype.hasOwnProperty.call(n,"to"))},showExport:{type:Boolean,default:!1},showAdd:{type:Boolean,default:!1},showTableInfo:{type:Boolean,default:!0},totalItems:{type:Number,default:0},itemLabel:{type:String,default:"items"},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:searchQuery","update:selectedStatus","update:dateFrom","update:dateTo","update:dateFilters","export","add","clear-filters"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(!1),s=E.cva("flex flex-wrap items-center gap-4",{variants:{variant:{default:"bg-white",minimal:"bg-transparent",bordered:"bg-gray-50"},padding:{compact:"px-4 py-3",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),l=E.cva("border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all text-sm",{variants:{size:{sm:"px-2 py-1.5",md:"px-3 py-2.5",lg:"px-4 py-3"}},defaultVariants:{size:"md"}}),i=E.cva("rounded-lg flex items-center font-medium transition-all",{variants:{variant:{default:"text-gray-700 hover:text-gray-900 border border-gray-200 hover:bg-gray-50 hover:border-gray-300 bg-white",primary:"text-white bg-blue-600 hover:bg-blue-700 border border-blue-600 shadow-sm",success:"text-white bg-green-600 hover:bg-green-700 border border-green-600 shadow-sm",ghost:"text-gray-600 hover:text-gray-800 hover:bg-gray-100"},size:{sm:"px-2 py-1.5 text-xs",md:"px-3 py-2 text-sm",lg:"px-4 py-2.5 text-sm"}},defaultVariants:{variant:"default",size:"md"}}),c=j=>!!(j.from||j.to),f=j=>{const A=[...a.dateFilters],w=A.findIndex($=>$.key===j);w>=0&&(A[w]={...A[w],from:"",to:""},r("update:dateFilters",A))},v=j=>`text-xs px-2 py-1 rounded ${c(j)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,b=()=>{o.value=!o.value},N=(j,A,w)=>{const $=[...a.dateFilters],F=$.findIndex(K=>K.key===j);F>=0&&($[F]={...$[F],[A]:w},r("update:dateFilters",$))},h=e.computed(()=>{const j=a.searchQuery,A=a.selectedStatus,w=a.dateFrom||a.dateTo,$=a.dateFilters.some(F=>F.from||F.to);return j||A||w||$}),x=e.computed(()=>{let j=0;return a.searchQuery&&j++,a.selectedStatus&&j++,(a.dateFrom||a.dateTo)&&j++,j+=a.dateFilters.filter(A=>A.from||A.to).length,j}),u=e.computed(()=>{const j=[];if(a.searchQuery&&a.searchQuery.trim()&&j.push({key:"search",label:"Search",value:`"${a.searchQuery}"`,icon:"magnifying-glass"}),a.selectedStatus){const A=a.statusOptions.find(w=>w.value===a.selectedStatus);j.push({key:"status",label:"Status",value:A?.label||a.selectedStatus,icon:"filter"})}if(a.dateFrom||a.dateTo){let A="";a.dateFrom&&a.dateTo?A=`${a.dateFrom} to ${a.dateTo}`:a.dateFrom?A=`From ${a.dateFrom}`:a.dateTo&&(A=`Until ${a.dateTo}`),A&&j.push({key:"date",label:"Date Range",value:A,icon:"calendar"})}return a.dateFilters.forEach(A=>{if(A.from||A.to){let w="";A.from&&A.to?w=`${A.from} to ${A.to}`:A.from?w=`From ${A.from}`:A.to&&(w=`Until ${A.to}`),w&&j.push({key:`date-${A.key}`,label:A.label,value:w,icon:"calendar"})}}),j}),m=e.computed(()=>y(s({variant:a.variant,padding:a.padding}))),d=e.computed(()=>"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 group-hover:text-gray-600 transition-colors"),g=e.computed(()=>y(l({size:"md"}),"w-full pl-10 pr-10 hover:border-gray-300")),V=e.computed(()=>"absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-gray-600 p-1 hover:bg-gray-100 rounded-full transition-all"),B=e.computed(()=>y(l({size:"md"}),"w-full pr-8 appearance-none hover:border-gray-300")),k=e.computed(()=>{const j=o.value||h.value;return y(i({variant:j?"primary":"default",size:"lg"}),"gap-2")}),R=e.computed(()=>"bg-white text-blue-600 text-xs px-1.5 py-0.5 rounded-full min-w-[20px] text-center font-semibold"),T=e.computed(()=>"px-6 py-4 border-t border-gray-100 bg-gray-50"),U=e.computed(()=>y(l({size:"md"}),"pl-10 pr-3")),W=e.computed(()=>"text-sm font-semibold text-gray-700"),z=e.computed(()=>"text-gray-500 text-sm font-medium"),L=e.computed(()=>"text-gray-400 hover:text-gray-600 p-1.5 hover:bg-gray-200 rounded-full transition-all"),I=e.computed(()=>y(i({variant:"ghost",size:"md"}))),p=e.computed(()=>y(i({variant:"default",size:"lg"}))),C=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),D=e.computed(()=>"text-sm font-semibold text-blue-800"),q=e.computed(()=>"flex items-center gap-1.5 bg-white border border-blue-200 text-blue-800 px-3 py-1.5 rounded-full text-sm font-medium"),M=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),J=()=>{r("update:searchQuery",""),r("update:selectedStatus",""),r("update:dateFrom",""),r("update:dateTo","");const j=a.dateFilters.map(A=>({...A,from:"",to:""}));r("update:dateFilters",j),r("clear-filters")},De=j=>{switch(j){case"search":r("update:searchQuery","");break;case"status":r("update:selectedStatus","");break;case"date":r("update:dateFrom",""),r("update:dateTo","");break;default:if(j.startsWith("date-")){const A=j.replace("date-",""),w=a.dateFilters.map($=>$.key===A?{...$,from:"",to:""}:$);r("update:dateFilters",w)}break}};return(j,A)=>{const w=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",wu,[e.createElementVNode("div",{class:e.normalizeClass(m.value)},[e.createElementVNode("div",Cu,[e.createElementVNode("div",Bu,[e.createVNode(w,{icon:"magnifying-glass",class:e.normalizeClass(d.value)},null,8,["class"]),e.createElementVNode("input",{"model-value":t.searchQuery,placeholder:t.searchPlaceholder,class:e.normalizeClass(g.value),onInput:A[0]||(A[0]=$=>j.$emit("update:searchQuery",$.target.value))},null,42,Su),t.searchQuery?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(V.value),onClick:A[1]||(A[1]=$=>j.$emit("update:searchQuery",""))},[e.createVNode(w,{icon:"xmark",class:"w-3 h-3"})],2)):e.createCommentVNode("",!0)])]),t.statusOptions.length>0?(e.openBlock(),e.createElementBlock("div",Vu,[e.createElementVNode("div",Nu,[e.createVNode(ze,{"model-value":t.selectedStatus,class:e.normalizeClass(B.value),onChange:A[2]||(A[2]=$=>j.$emit("update:selectedStatus",$.target.value))},{default:e.withCtx(()=>[A[5]||(A[5]=e.createElementVNode("option",{value:""}," All Status ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.statusOptions,$=>(e.openBlock(),e.createElementBlock("option",{key:$.value,value:$.value},e.toDisplayString($.label),9,Eu))),128))]),_:1},8,["model-value","class"]),e.createVNode(w,{icon:"chevron-down",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})])])):e.createCommentVNode("",!0),e.createElementVNode("button",{class:e.normalizeClass(k.value),onClick:b},[e.createVNode(w,{icon:"filter",class:"w-4 h-4"}),A[6]||(A[6]=e.createTextVNode(" Filters ",-1)),x.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(R.value)},e.toDisplayString(x.value),3)):e.createCommentVNode("",!0),e.createVNode(w,{icon:o.value?"chevron-up":"chevron-down",class:"w-4 h-4 ml-1"},null,8,["icon"])],2),j.$slots.filters?(e.openBlock(),e.createElementBlock("div",$u,[e.renderSlot(j.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",zu,[h.value?(e.openBlock(),e.createBlock(ae,{key:0,class:e.normalizeClass(I.value),onClick:J},{default:e.withCtx(()=>[e.createVNode(w,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),A[7]||(A[7]=e.createTextVNode(" Clear All ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(ae,{key:1,class:e.normalizeClass(p.value),onClick:A[3]||(A[3]=$=>j.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(w,{icon:"download",class:"w-4 h-4 mr-2"}),A[8]||(A[8]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),e.renderSlot(j.$slots,"actions",{},()=>[t.showAdd?(e.openBlock(),e.createBlock(ae,{key:0,variant:"success",size:"lg",onClick:A[4]||(A[4]=$=>j.$emit("add"))},{default:e.withCtx(()=>[e.createVNode(w,{icon:"plus",class:"w-4 h-4 mr-2"}),A[9]||(A[9]=e.createTextVNode(" Add ",-1))]),_:1})):e.createCommentVNode("",!0)])])],2),o.value&&t.dateFilters.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(T.value)},[e.createElementVNode("div",Du,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dateFilters,$=>(e.openBlock(),e.createElementBlock("div",{key:$.key,class:"space-y-3"},[e.createElementVNode("div",Tu,[e.createElementVNode("label",{class:e.normalizeClass(W.value)},e.toDisplayString($.label),3),e.createElementVNode("span",{class:e.normalizeClass(v($))},e.toDisplayString(c($)?"Active":"Inactive"),3)]),e.createElementVNode("div",Au,[e.createElementVNode("div",Iu,[e.createVNode(w,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":$.from,class:e.normalizeClass(U.value),placeholder:`From ${$.label}`,onInput:F=>N($.key,"from",F.target.value)},null,42,Pu)]),e.createElementVNode("span",{class:e.normalizeClass(z.value)},"to",2),e.createElementVNode("div",ju,[e.createVNode(w,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":$.to,class:e.normalizeClass(U.value),placeholder:`To ${$.label}`,onInput:F=>N($.key,"to",F.target.value)},null,42,Fu)]),c($)?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(L.value),title:"Clear this filter",onClick:F=>f($.key)},[e.createVNode(w,{icon:"xmark",class:"w-4 h-4"})],10,Lu)):e.createCommentVNode("",!0)])]))),128))])],2)):e.createCommentVNode("",!0),u.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(C.value)},[e.createElementVNode("div",Mu,[e.createElementVNode("span",{class:e.normalizeClass(D.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,$=>(e.openBlock(),e.createElementBlock("div",{key:$.key,class:e.normalizeClass(q.value)},[e.createVNode(w,{icon:$.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString($.label)+": "+e.toDisplayString($.value),1),e.createElementVNode("button",{class:e.normalizeClass(M.value),onClick:F=>De($.key)},[e.createVNode(w,{icon:"xmark",class:"w-3 h-3"})],10,Ou)],2))),128))])],2)):e.createCommentVNode("",!0),t.showTableInfo?(e.openBlock(),e.createElementBlock("div",_u,[e.createElementVNode("div",Ru,[e.createElementVNode("div",qu,[e.createElementVNode("span",Uu,[e.createElementVNode("span",Yu,e.toDisplayString(t.totalItems||0),1),e.createTextVNode(" "+e.toDisplayString(t.itemLabel||"items")+" found ",1)])])])])):e.createCommentVNode("",!0)])}}},Wu={class:"flex items-center gap-3"},Hu={key:0,class:"flex items-center gap-3"},Gu={class:"text-sm text-slate-600"},Ku={class:"flex items-center gap-2"},Xu={class:"flex items-center gap-3"},Ju=["title","onClick"],Qu={key:1,class:"relative"},Zu={class:"p-3"},em={class:"space-y-1"},tm={class:"flex items-center gap-2 cursor-pointer w-full"},am=["checked","onChange"],nm=["disabled"],rm={key:3,class:"flex items-center gap-2"},om=[{key:"delete",label:"Delete",icon:{template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" /></svg>'},variant:"destructive"},{key:"edit",label:"Edit",icon:{template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10" /></svg>'},variant:"primary"}],lm={name:"DataTableToolBar"},hr=Object.assign(lm,{props:{selectedItems:{type:Array,default:()=>[]},totalItems:{type:Number,default:0},bulkActions:{type:Array,default:()=>om},showDensityToggle:{type:Boolean,default:!0},showColumnToggle:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},isRefreshing:{type:Boolean,default:!1},density:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},toggleableColumns:{type:Array,default:()=>[]},visibleColumns:{type:Array,default:()=>[]},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["bulk-action","update:density","toggle-column","refresh"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(!1),s=e.ref(null),l=e.ref(null),i=e.computed(()=>a.selectedItems.length),c=[{value:"compact",label:"Compact",icon:["fas","minus"]},{value:"normal",label:"Normal",icon:["fas","bars"]},{value:"comfortable",label:"Comfortable",icon:["fas","bars-staggered"]}],f=E.cva("flex items-center justify-between border-b border-slate-200",{variants:{variant:{default:"bg-white",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-50 border-slate-300"},padding:{compact:"p-2",normal:"p-4",comfortable:"p-6"}},defaultVariants:{variant:"default",padding:"normal"}}),v=E.cva("px-3 py-1.5 text-sm font-medium rounded-md flex items-center gap-1 transition-colors",{variants:{variant:{danger:"text-red-700 bg-red-500 hover:bg-red-400 border border-red-200",primary:"text-blue-700 bg-blue-50 hover:bg-blue-100 border border-blue-200",secondary:"text-slate-700 bg-slate-500 hover:bg-slate-400 border border-slate-200"}},defaultVariants:{variant:"secondary"}}),b=E.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"}}),N=E.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"}}),h=e.computed(()=>y(f({variant:a.variant,padding:a.padding}))),x=e.computed(()=>"text-sm text-slate-600"),u=e.computed(()=>"flex items-center"),m=e.computed(()=>"flex items-center gap-2 px-3 py-2 text-sm text-slate-600 hover:text-slate-800 border border-slate-300 rounded-md hover:bg-slate-50 transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1"),d=e.computed(()=>"absolute right-0 top-full mt-1 w-56 bg-white border border-slate-200 rounded-lg shadow-lg z-50 max-h-64 overflow-y-auto"),g=e.computed(()=>"text-xs font-medium text-slate-500 uppercase tracking-wider mb-2 border-b border-slate-100 pb-2"),V=e.computed(()=>"py-1 hover:bg-slate-50 rounded transition-colors"),B=e.computed(()=>"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 focus:ring-2 focus:ring-offset-1"),k=e.computed(()=>"text-sm text-slate-700 flex-1 select-none"),R=C=>{s.value&&l.value&&!s.value.contains(C.target)&&!l.value.contains(C.target)&&(o.value=!1)},T=()=>{o.value=!o.value},U=C=>y(v({variant:C.variant||"secondary"})),W=C=>{let D="middle";return C==="compact"?D="first":C==="comfortable"&&(D="last"),y(b({active:a.density===C,position:D}))},z=()=>y(N({state:a.isRefreshing?"refreshing":"normal"})),L=()=>y("w-4 h-4",{"animate-spin":a.isRefreshing}),I=C=>a.visibleColumns.includes(C),p=(C,D)=>{r("toggle-column",{column:C,visible:D})};return e.onMounted(()=>{document.addEventListener("click",R)}),e.onUnmounted(()=>{document.removeEventListener("click",R)}),(C,D)=>{const q=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(h.value)},[e.createElementVNode("div",Wu,[i.value>0?(e.openBlock(),e.createElementBlock("div",Hu,[e.createElementVNode("span",Gu,e.toDisplayString(i.value)+" selected ",1),e.createElementVNode("div",Ku,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bulkActions,M=>(e.openBlock(),e.createBlock(ae,{key:M.key,class:e.normalizeClass(U(M)),onClick:J=>C.$emit("bulk-action",{action:M.key,items:t.selectedItems})},{default:e.withCtx(()=>[M.icon?(e.openBlock(),e.createBlock(q,{key:0,icon:M.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(M.label),1)]),_:2},1032,["class","onClick"]))),128))])])):t.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(x.value)},e.toDisplayString(t.totalItems)+" "+e.toDisplayString(t.totalItems===1?"item":"items"),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Xu,[t.showDensityToggle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(u.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(c,M=>e.createElementVNode("button",{key:M.value,class:e.normalizeClass(W(M.value)),title:M.label,type:"button",onClick:J=>C.$emit("update:density",M.value)},[e.createVNode(q,{icon:M.icon,class:"w-4 h-4"},null,8,["icon"])],10,Ju)),64))],2)):e.createCommentVNode("",!0),t.showColumnToggle?(e.openBlock(),e.createElementBlock("div",Qu,[e.createElementVNode("button",{ref_key:"columnToggleButton",ref:s,class:e.normalizeClass(m.value),type:"button",onClick:e.withModifiers(T,["stop"])},[e.createVNode(q,{icon:"columns",class:"w-4 h-4"}),D[2]||(D[2]=e.createElementVNode("span",null,"Columns",-1))],2),e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:l,class:e.normalizeClass(d.value),onClick:D[0]||(D[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Zu,[e.createElementVNode("div",{class:e.normalizeClass(g.value)}," Show Columns ",2),e.createElementVNode("div",em,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toggleableColumns,M=>(e.openBlock(),e.createElementBlock("div",{key:M.key,class:e.normalizeClass(V.value)},[e.createElementVNode("label",tm,[e.createElementVNode("input",{type:"checkbox",checked:I(M.key),class:e.normalizeClass(B.value),onChange:J=>p(M.key,J.target.checked)},null,42,am),e.createElementVNode("span",{class:e.normalizeClass(k.value)},e.toDisplayString(M.label),3)])],2))),128))])])],2),[[e.vShow,o.value]])])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:t.isRefreshing,class:e.normalizeClass(z()),type:"button",onClick:D[1]||(D[1]=M=>C.$emit("refresh"))},[e.createVNode(q,{icon:"sync",class:e.normalizeClass(L())},null,8,["class"]),D[3]||(D[3]=e.createElementVNode("span",null,"Refresh",-1))],10,nm)):e.createCommentVNode("",!0),C.$slots.actions?(e.openBlock(),e.createElementBlock("div",rm,[e.renderSlot(C.$slots,"actions")])):e.createCommentVNode("",!0)])],2)}}}),sm={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"},im={class:"grid grid-cols-1 md:grid-cols-4 gap-8"},cm={class:"col-span-1 md:col-span-2"},dm={class:"space-y-2"},um={class:"flex space-x-4"},mm={class:"flex flex-col md:flex-row justify-between items-center"},fm={class:"flex space-x-6 mt-4 md:mt-0"},xr={__name:"Footer",props:{className:{type:String,default:""}},setup(t){return(n,a)=>{const r=e.resolveComponent("Logo"),o=e.resolveComponent("Text"),s=e.resolveComponent("Typography"),l=e.resolveComponent("Link"),i=e.resolveComponent("Icon"),c=e.resolveComponent("Divider");return e.openBlock(),e.createElementBlock("footer",{class:e.normalizeClass(e.unref(y)("bg-gray-50 border-t border-gray-200",t.className))},[e.createElementVNode("div",sm,[e.createElementVNode("div",im,[e.createElementVNode("div",cm,[e.renderSlot(n.$slots,"brand",{},()=>[e.createVNode(r,{class:"mb-4"}),e.createVNode(o,{class:"text-gray-600 max-w-md"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" Building beautiful applications with modern Vue.js components. ",-1)])]),_:1})])]),e.createElementVNode("div",null,[e.renderSlot(n.$slots,"links",{},()=>[e.createVNode(s,{variant:"h6",class:"mb-4"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode(" Quick Links ",-1)])]),_:1}),e.createElementVNode("div",dm,[e.createVNode(l,{href:"#",class:"block text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" About ",-1)])]),_:1}),e.createVNode(l,{href:"#",class:"block text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[3]||(a[3]=[e.createTextVNode(" Services ",-1)])]),_:1}),e.createVNode(l,{href:"#",class:"block text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[4]||(a[4]=[e.createTextVNode(" Contact ",-1)])]),_:1})])])]),e.createElementVNode("div",null,[e.renderSlot(n.$slots,"social",{},()=>[e.createVNode(s,{variant:"h6",class:"mb-4"},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode(" Follow Us ",-1)])]),_:1}),e.createElementVNode("div",um,[e.createVNode(l,{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(l,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[e.createVNode(i,{name:"github",class:"h-5 w-5"})]),_:1})])])])]),e.createVNode(c,{class:"my-8"}),e.createElementVNode("div",mm,[e.renderSlot(n.$slots,"copyright",{},()=>[e.createVNode(o,{class:"text-gray-600"},{default:e.withCtx(()=>[e.createTextVNode(" © "+e.toDisplayString(new Date().getFullYear())+" Your Company. All rights reserved. ",1)]),_:1})]),e.renderSlot(n.$slots,"legal",{},()=>[e.createElementVNode("div",fm,[e.createVNode(l,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[6]||(a[6]=[e.createTextVNode(" Privacy ",-1)])]),_:1}),e.createVNode(l,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[7]||(a[7]=[e.createTextVNode(" Terms ",-1)])]),_:1})])])])])],2)}}},gm={class:"flex items-center justify-between h-16 px-4 md:px-6"},vm={class:"flex items-center"},pm={key:0,class:"mr-4 flex-shrink-0 bg-gradient-to-r from-blue-50 to-indigo-50 px-3 py-2 rounded-lg border border-blue-100"},ym={class:"text-lg font-bold text-blue-900 truncate max-w-[200px]"},bm={key:0,class:"text-xs text-blue-600 truncate font-medium"},hm={class:"hidden md:flex items-center space-x-2 text-sm truncate"},xm={class:"text-gray-500 truncate"},km={class:"text-gray-900 font-medium truncate"},wm={class:"flex items-center space-x-3 md:space-x-4"},Cm={key:1,class:"relative"},Bm={key:0,class:"absolute -top-1 -right-1 w-4 h-4 bg-red-500 text-white text-xs rounded-full flex items-center justify-center"},Sm={key:0,class:"absolute right-4 md:right-6 top-16 mt-2 w-72 md:w-80 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},Vm={class:"max-h-96 overflow-y-auto"},Nm={class:"flex items-start space-x-3"},Em={class:"flex-1"},$m={class:"text-sm text-gray-900"},zm={class:"text-xs text-gray-500 mt-1"},Dm={class:"relative"},Tm={class:"w-8 h-8 bg-gradient-to-br from-blue-100 to-indigo-100 rounded-full flex items-center justify-center transition-colors shadow-sm"},Am={class:"text-blue-700 text-sm font-medium"},Im={class:"hidden md:block text-left max-w-[160px] truncate"},Pm={class:"text-sm font-medium text-gray-900 truncate"},jm={class:"text-xs text-gray-500 truncate leading-tight"},Fm={key:0,class:"absolute right-0 mt-2 w-58 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},Lm={class:"p-4 border-b border-gray-200"},Mm={class:"text-sm font-medium text-gray-900"},Om={class:"text-xs text-gray-500"},_m={class:"py-2"},Rm={key:0,class:"absolute left-0 top-1/2 transform -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-blue-600 rounded-r-full"},qm=["onClick"],Um={class:"flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2 bg-gray-100 text-gray-600 group-hover:bg-gray-200"},Ym={class:"flex-1 truncate font-semibold text-gray-700"},kr={__name:"Header",props:{sidebarWidth:{type:Number,default:256},currentSection:{type:String,default:"Dashboard"},currentPage:{type:String,default:"Overview"},currentRoute:{type:String,default:""},user:{type:Object,required:!0},notifications:{type:Array,default:()=>[]},profileMenuItems:{type:Array,required:!0},mobileOpen:{type:Boolean,default:!1},organisationName:{type:String,default:""},companyLogo:{type:String,default:""}},emits:["search","profile-action","logout","navigate","toggle-mobile-sidebar"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(""),s=e.ref(!1),l=e.ref(!1),i=e.ref(a.notifications.length),c=e.ref(!1),f=e.ref(!1),v=e.computed(()=>(a.user?.name||"Guest").split(" ").map(k=>k[0]||"").join("").toUpperCase()),b=e.computed(()=>a.user?.roles?.length?a.user.roles.map(B=>B.name).join(", "):"No role"),N=()=>{s.value=!s.value,l.value=!1},h=()=>{l.value=!l.value,s.value=!1},x=B=>{r("navigate",B),l.value=!1},u=B=>B.route?!!(a.currentRoute===B.route||a.currentRoute.startsWith(B.route+"/")):!1,m=B=>{r("profile-action",B),l.value=!1},d=()=>{r("logout"),l.value=!1},g=B=>{!B.target.closest(".absolute")&&!B.target.closest("button")&&(s.value=!1,l.value=!1)},V=()=>{f.value=window.innerWidth<768};return e.onMounted(()=>{document.addEventListener("click",g),V(),window.addEventListener("resize",V)}),e.onUnmounted(()=>{document.removeEventListener("click",g),window.removeEventListener("resize",V)}),e.watch(o,B=>r("search",B)),(B,k)=>{const R=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(y)("fixed top-0 z-50 bg-white border-b border-gray-200 transition-all duration-300 ease-in-out w-full")),style:{left:"0"}},[e.createElementVNode("div",gm,[e.createElementVNode("div",vm,[t.organisationName?(e.openBlock(),e.createElementBlock("div",pm,[e.createElementVNode("p",ym,e.toDisplayString(t.organisationName),1),t.user.organisation?.role?(e.openBlock(),e.createElementBlock("p",bm,e.toDisplayString(t.user.organisation.role),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("nav",hm,[e.createElementVNode("span",xm,e.toDisplayString(t.currentSection),1),k[4]||(k[4]=e.createElementVNode("svg",{class:"w-4 h-4 text-gray-400 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"})],-1)),e.createElementVNode("span",km,e.toDisplayString(t.currentPage),1)])]),e.createElementVNode("div",wm,[f.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors",onClick:k[0]||(k[0]=T=>r("toggle-mobile-sidebar"))},[...k[5]||(k[5]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])])):e.createCommentVNode("",!0),!f.value||c.value?(e.openBlock(),e.createElementBlock("div",Cm,[k[6]||(k[6]=e.createElementVNode("div",{class:"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none"},[e.createElementVNode("svg",{class:"w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})])],-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":k[1]||(k[1]=T=>o.value=T),type:"text",placeholder:"Search...",class:"pl-10 pr-4 py-2 w-48 md:w-64 text-sm border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none"},null,512),[[e.vModelText,o.value]]),f.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",onClick:k[2]||(k[2]=T=>c.value=!1)}," ✕ ")):e.createCommentVNode("",!0)])):f.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:"p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors",onClick:k[3]||(k[3]=T=>c.value=!0)},[...k[7]||(k[7]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)])])):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"relative p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors",onClick:N},[k[8]||(k[8]=e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 17h5l-5 5v-5z"}),e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 3h2.586a1 1 0 01.707.293l6.414 6.414a1 1 0 01.293.707V19a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h4L13 3z"})],-1)),i.value>0?(e.openBlock(),e.createElementBlock("span",Bm,e.toDisplayString(i.value),1)):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-300 ease-in","enter-from-class":"opacity-0 translate-y-2 scale-95","enter-to-class":"opacity-100 translate-y-0 scale-100","leave-from-class":"opacity-100 translate-y-0 scale-100","leave-to-class":"opacity-0 translate-y-2 scale-95"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",Sm,[k[10]||(k[10]=e.createElementVNode("div",{class:"p-4 border-b border-gray-200"},[e.createElementVNode("h3",{class:"text-lg font-semibold text-gray-900"}," Notifications ")],-1)),e.createElementVNode("div",Vm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.notifications,T=>(e.openBlock(),e.createElementBlock("div",{key:T.id,class:"p-4 border-b border-gray-100 hover:bg-gray-50 cursor-pointer"},[e.createElementVNode("div",Nm,[k[9]||(k[9]=e.createElementVNode("div",{class:"flex-shrink-0 w-2 h-2 mt-2 bg-blue-500 rounded-full"},null,-1)),e.createElementVNode("div",Em,[e.createElementVNode("p",$m,e.toDisplayString(T.title),1),e.createElementVNode("p",zm,e.toDisplayString(T.time),1)])])]))),128))]),k[11]||(k[11]=e.createElementVNode("div",{class:"p-4 text-center"},[e.createElementVNode("button",{class:"text-sm text-blue-600 hover:text-blue-800"}," View all notifications ")],-1))])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",Dm,[e.createElementVNode("button",{class:"flex items-center space-x-2 md:space-x-3 p-2 rounded-lg hover:bg-gray-50 transition-colors",onClick:h},[e.createElementVNode("div",Tm,[e.createElementVNode("span",Am,e.toDisplayString(v.value),1)]),e.createElementVNode("div",Im,[e.createElementVNode("p",Pm,e.toDisplayString(t.user.name),1),e.createElementVNode("p",jm,e.toDisplayString(b.value),1)]),k[12]||(k[12]=e.createElementVNode("svg",{class:"w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200 ease-out","leave-active-class":"transition-all duration-200 ease-in","enter-from-class":"opacity-0 translate-y-2 scale-95","enter-to-class":"opacity-100 translate-y-0 scale-100","leave-from-class":"opacity-100 translate-y-0 scale-100","leave-to-class":"opacity-0 translate-y-2 scale-95"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",Fm,[e.createElementVNode("div",Lm,[e.createElementVNode("p",Mm,e.toDisplayString(t.user.name),1),e.createElementVNode("p",Om,e.toDisplayString(t.user.email),1)]),e.createElementVNode("div",_m,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.profileMenuItems,T=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:T.name},[T.route?(e.openBlock(),e.createBlock(R,{key:0,to:T.route,class:e.normalizeClass(e.unref(y)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",u(T)?"bg-gradient-to-br from-blue-50 to-blue-100 text-blue-700 shadow-sm border border-blue-200":"text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent")),onClick:U=>x(T)},{default:e.withCtx(()=>[u(T)?(e.openBlock(),e.createElementBlock("div",Rm)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",u(T)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"bg-gray-100 text-gray-600 group-hover:bg-gray-200"))},[T.icon?(e.openBlock(),e.createBlock(_,{key:0,icon:T.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(y)("flex-1 truncate font-semibold",u(T)?"text-blue-700":"text-gray-700"))},e.toDisplayString(T.label),3)]),_:2},1032,["to","class","onClick"])):(e.openBlock(),e.createElementBlock("button",{key:1,class:"flex items-center w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent",onClick:U=>m(T)},[e.createElementVNode("div",Um,[T.icon?(e.openBlock(),e.createBlock(_,{key:0,icon:T.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)]),e.createElementVNode("span",Ym,e.toDisplayString(T.label),1)],8,qm))],64))),128))]),e.createElementVNode("div",{class:"border-t border-gray-200 py-2"},[e.createElementVNode("button",{class:"flex items-center w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative text-red-600 hover:bg-red-50 border border-transparent",onClick:d},[...k[13]||(k[13]=[e.createElementVNode("div",{class:"flex items-center justify-center w-8 h-8 rounded-lg mr-1 flex-shrink-0 transition-colors ml-2 bg-red-100 text-red-600 group-hover:bg-red-200"},[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a2 2 0 013-3h4a3 3 0 013 3v1"})])],-1),e.createElementVNode("span",{class:"truncate font-semibold text-red-600"}," Sign out ",-1)])])])])):e.createCommentVNode("",!0)]),_:1})])])])],2)}}},Wm={class:"mb-4"},Hm={class:"text-lg font-semibold text-gray-900"},Gm={class:"text-sm text-gray-600"},Km={value:"",disabled:""},Xm=["value"],Jm={key:3,class:"flex items-center"},Qm={class:"flex justify-end gap-3 pt-4"},wr={__name:"ReusableFormModal",props:{modelValue:{type:Boolean,default:!1},modalType:{type:String,required:!0,validator:t=>["create","edit"].includes(t)},entityName:{type:String,default:"Item"},fields:{type:Array,required:!0,validator:t=>t.every(n=>n.name&&n.label&&n.type&&["text","number","password","textarea","select","checkbox","slider","date","color"].includes(n.type))},initialData:{type:Object,default:null},loading:{type:Boolean,default:!1},customValidation:{type:Function,default:null},modalSize:{type:String,default:"4xl",validator:t=>["sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","full"].includes(t)},modalResizable:{type:Boolean,default:!1}},emits:["update:modelValue","submit","close"],setup(t,{emit:n}){const a=t,r=n,o=e.computed({get:()=>a.modelValue,set:u=>r("update:modelValue",u)}),s=e.computed(()=>a.loading),l=e.ref({}),i=e.ref({}),c=e.ref(!1),f=()=>{const u={};return a.fields.forEach(m=>{m.type==="checkbox"?u[m.name]=!1:m.type==="number"||m.type==="slider"?u[m.name]=m.min!==void 0?m.min:0:u[m.name]=""}),u};e.watch(()=>a.initialData,u=>{if(a.modalType==="edit"&&u){const m={};a.fields.forEach(d=>{d.type==="checkbox"?m[d.name]=u[d.name]??!1:d.type==="number"||d.type==="slider"?m[d.name]=u[d.name]??(d.min!==void 0?d.min:0):m[d.name]=u[d.name]??""}),l.value=m,c.value=!0}else if(a.modalType==="create"&&u&&!c.value){const m={};a.fields.forEach(d=>{u[d.name]!==void 0&&u[d.name]!==null?m[d.name]=u[d.name]:d.type==="checkbox"?m[d.name]=!1:d.type==="number"||d.type==="slider"?m[d.name]=d.min!==void 0?d.min:0:m[d.name]=""}),l.value=m,c.value=!0}else a.modalType==="create"&&!u&&(l.value=f(),c.value=!1)},{immediate:!0,deep:!0}),e.watch(()=>a.modelValue,u=>{if(u&&(i.value={},a.modalType==="create")){if(c.value=!1,a.initialData){const m={};a.fields.forEach(d=>{a.initialData[d.name]!==void 0&&a.initialData[d.name]!==null?m[d.name]=a.initialData[d.name]:d.type==="checkbox"?m[d.name]=!1:d.type==="number"||d.type==="slider"?m[d.name]=d.min!==void 0?d.min:0:m[d.name]=""}),l.value=m}else l.value=f();c.value=!0}}),e.watch(()=>a.initialData,u=>{c.value&&u&&Object.keys(u).forEach(m=>{Object.prototype.hasOwnProperty.call(l.value,m)&&u[m]!==void 0&&u[m]!==null&&(l.value[m]=u[m])})},{deep:!0});const v=()=>{if(i.value={},a.fields.forEach(u=>{if(u.required&&!u.disabled){const m=l.value[u.name];u.type==="checkbox"?u.required&&!m&&(i.value[u.name]=u.errorMessage||`${u.label} is required`):u.type==="number"||u.type==="slider"?m===""||m===null||m===void 0?i.value[u.name]=u.errorMessage||`${u.label} is required`:u.min!==void 0&&Number(m)<u.min?i.value[u.name]=`${u.label} must be at least ${u.min}`:u.max!==void 0&&Number(m)>u.max&&(i.value[u.name]=`${u.label} must be at most ${u.max}`):u.type==="date"?(!m||typeof m=="string"&&!m.trim())&&(i.value[u.name]=u.errorMessage||`${u.label} is required`):u.type==="password"?(!m||typeof m=="string"&&!m.trim())&&(i.value[u.name]=u.errorMessage||`${u.label} is required`):(!m||typeof m=="string"&&!m.trim())&&(i.value[u.name]=u.errorMessage||`${u.label} is required`)}if(u.validate&&typeof u.validate=="function"){const m=u.validate(l.value[u.name],l.value);m&&(i.value[u.name]=m)}}),a.customValidation){const u=a.customValidation(l.value);u&&Object.keys(u).length>0&&(i.value={...i.value,...u})}return Object.keys(i.value).length===0},b=async(u,m)=>{l.value[u.name]=m,u.onChange&&typeof u.onChange=="function"&&await u.onChange(m,l.value)},N=(u,m)=>{l.value[u.name]=m,u.onChange&&typeof u.onChange=="function"&&u.onChange(m,l.value)},h=async()=>{if(!v()){Ye.error("Please fix the validation errors before submitting");return}const u={};a.fields.forEach(m=>{const d=l.value[m.name];m.type==="number"||m.type==="slider"?u[m.name]=Number(d):m.type==="text"||m.type==="textarea"||m.type==="date"?u[m.name]=typeof d=="string"?d.trim():d:(m.type,u[m.name]=d)}),r("submit",{formData:u,modalType:a.modalType,originalData:a.initialData})},x=()=>{l.value=f(),i.value={},c.value=!1,r("close")};return(u,m)=>(e.openBlock(),e.createBlock(Rt,{modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=d=>o.value=d),"show-close":!0,"close-on-backdrop":!0,size:t.modalSize,resizable:t.modalResizable,onClose:x},{default:e.withCtx(()=>[e.createElementVNode("div",Wm,[e.createElementVNode("h2",Hm,e.toDisplayString(t.modalType==="create"?`Add New ${t.entityName}`:`Edit ${t.entityName}`),1),e.createElementVNode("p",Gm,e.toDisplayString(t.modalType==="create"?`Fill in the details to create a new ${t.entityName.toLowerCase()}.`:`Update the ${t.entityName.toLowerCase()} information below.`),1)]),e.createElementVNode("form",{class:"space-y-4",onSubmit:e.withModifiers(h,["prevent"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,d=>(e.openBlock(),e.createElementBlock("div",{key:d.name},[e.createVNode(_t,{id:`form-${t.entityName}-${d.name}-${Math.random().toString(36).slice(2,5)}`,label:d.label,required:d.required&&!d.disabled,error:i.value[d.name],"error-message":i.value[d.name]},{default:e.withCtx(({fieldId:g,hasError:V,ariaDescribedBy:B})=>[d.type==="text"||d.type==="number"||d.type==="password"||d.type==="color"?(e.openBlock(),e.createBlock(qe,{key:0,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":k=>l.value[d.name]=k,type:d.type,placeholder:d.placeholder,disabled:s.value||d.disabled,readonly:d.disabled,class:e.normalizeClass(V?"border-red-500":"border-slate-300"),"aria-describedby":B},null,8,["id","modelValue","onUpdate:modelValue","type","placeholder","disabled","readonly","class","aria-describedby"])):d.type==="textarea"?(e.openBlock(),e.createBlock(Ot,{key:1,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":k=>l.value[d.name]=k,placeholder:d.placeholder,disabled:s.value||d.disabled,rows:d.rows||3,class:e.normalizeClass(["w-full px-3 py-2 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",V?"border-red-500":"border-slate-300"]),"aria-describedby":B},null,8,["id","modelValue","onUpdate:modelValue","placeholder","disabled","rows","class","aria-describedby"])):d.type==="select"?(e.openBlock(),e.createBlock(ze,{key:2,id:g,"model-value":l.value[d.name],disabled:s.value||d.disabled,class:e.normalizeClass(["w-full px-3 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",V?"border-red-500":"border-slate-300"]),"aria-describedby":B,"onUpdate:modelValue":k=>b(d,k)},{default:e.withCtx(()=>[e.createElementVNode("option",Km,e.toDisplayString(d.placeholder||"Select an option"),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.options,k=>(e.openBlock(),e.createElementBlock("option",{key:k.value,value:k.value},e.toDisplayString(k.label),9,Xm))),128))]),_:2},1032,["id","model-value","disabled","class","aria-describedby","onUpdate:modelValue"])):d.type==="checkbox"?(e.openBlock(),e.createElementBlock("div",Jm,[e.createVNode(qe,{id:g,modelValue:l.value[d.name],"onUpdate:modelValue":k=>l.value[d.name]=k,type:"checkbox",disabled:s.value||d.disabled,class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded","aria-describedby":B},null,8,["id","modelValue","onUpdate:modelValue","disabled","aria-describedby"]),e.createVNode(Ze,{for:g,class:"ml-2 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.checkboxLabel),1)]),_:2},1032,["for"])])):d.type==="slider"?(e.openBlock(),e.createBlock(qt,{key:4,"model-value":l.value[d.name],min:d.min,max:d.max,step:d.step,disabled:s.value||d.disabled,"onUpdate:modelValue":k=>N(d,k)},null,8,["model-value","min","max","step","disabled","onUpdate:modelValue"])):d.type==="date"?(e.openBlock(),e.createBlock(tt,{key:5,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":k=>l.value[d.name]=k,disabled:s.value||d.disabled,required:d.required,min:d.min,max:d.max,placeholder:d.placeholder||"Select date",format:d.format||"MM/DD/YYYY",clearable:d.clearable!==!1,"show-today":d.showToday!==!1,"calendar-position":d.calendarPosition||"left-0 bottom-full","aria-describedby":B},null,8,["id","modelValue","onUpdate:modelValue","disabled","required","min","max","placeholder","format","clearable","show-today","calendar-position","aria-describedby"])):e.createCommentVNode("",!0)]),_:2},1032,["id","label","required","error","error-message"])]))),128)),e.createElementVNode("div",Qm,[e.createVNode(ae,{type:"button",variant:"outline",disabled:s.value,onClick:x},{default:e.withCtx(()=>[...m[1]||(m[1]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["disabled"]),e.createVNode(ae,{type:"submit",disabled:s.value,loading:s.value,variant:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.modalType==="create"?`Create ${t.entityName}`:`Update ${t.entityName}`),1)]),_:1},8,["disabled","loading"])])],32)]),_:1},8,["modelValue","size","resizable"]))}},Zm={key:0,class:"flex items-center justify-between p-4 border-b border-gray-200 flex-shrink-0 lg:hidden"},ef={class:"text-lg font-bold text-gray-900"},tf={class:"flex-1 overflow-y-auto overflow-x-hidden p-4"},af={class:"space-y-2"},nf={key:0},rf={key:0,class:"absolute top-2 right-2 inline-flex items-center justify-center w-5 h-5 text-xs font-bold rounded-full bg-red-500 text-white"},of=["onClick"],lf={key:0,class:"absolute top-2 right-2 inline-flex items-center justify-center w-5 h-5 text-xs font-bold rounded-full bg-red-500 text-white"},sf={key:1,class:"absolute top-1.5 right-1.5 w-2 h-2 bg-blue-500 rounded-full"},cf={key:1,class:"border-t border-gray-200 p-4 flex-shrink-0"},df={key:0,class:"absolute top-1.5 right-1.5 w-2 h-2 bg-blue-500 rounded-full"},uf={class:"sticky top-0 bg-white border-b border-gray-200 z-10"},mf={class:"flex items-center justify-between p-4"},ff={class:"flex-1 text-sm font-bold text-gray-900 ml-2"},gf={class:"p-3"},vf={class:"space-y-1"},pf={key:0,class:"absolute left-0 top-1/2 transform -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-blue-600 rounded-r-full"},yf={key:1,class:"ml-2 inline-flex items-center justify-center px-2 py-0.5 text-xs font-bold rounded-full bg-red-500 text-white"},bf={class:"p-3"},hf={class:"space-y-1"},xf={key:0,class:"px-3 py-2 text-xs font-semibold text-gray-500 uppercase tracking-wider"},kf={key:0,class:"absolute left-0 top-1/2 transform -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-blue-600 rounded-r-full"},Cr={__name:"Sidebar",props:{sidebarWidth:{type:Number,default:130},header:{type:Object,default:null},navigationItems:{type:Array,required:!0},managementSettings:{type:Array,default:()=>[]},showManagementSettings:{type:Boolean,default:!0},mobileOpen:{type:Boolean,default:!1},isManagementSettingsActive:{type:Boolean,default:!1},currentPath:{type:String,default:""}},emits:["navigate","update:mobileOpen"],setup(t,{expose:n,emit:a}){const r=t,o=a,s=e.ref(!1),l=e.ref(!1),i=e.ref(null),c=e.ref(!1),f=e.computed(()=>r.mobileOpen),v=e.computed(()=>s.value?{}:{left:`${r.sidebarWidth}px`}),b=e.computed(()=>s.value?{}:{left:`${r.sidebarWidth}px`}),N=e.computed(()=>{if(s.value)return 0;let z=r.sidebarWidth;return l.value&&(z+=220),c.value&&(z+=220),z}),h=z=>{o("navigate",z),s.value&&x();const L=l.value&&i.value&&i.value.subItems.some(p=>p.route===z.route),I=c.value&&r.managementSettings.some(p=>p.route===z.route);(s.value||!(L||I))&&B()},x=()=>{o("update:mobileOpen",!1)},u=z=>z.subItems&&z.subItems.length>0,m=z=>{c.value&&V(),l.value&&i.value!==z?(g(),setTimeout(()=>{i.value=z,l.value=!0},300)):l.value?i.value===z&&g():(i.value=z,l.value=!0),s.value&&x()},d=()=>{l.value&&g(),c.value?V():c.value=!0,s.value&&x()},g=()=>{l.value=!1,setTimeout(()=>{i.value=null},300)},V=()=>{c.value=!1},B=()=>{g(),V()},k=z=>{h(z)},R=z=>{h(z)},T=z=>{const L=r.currentPath;return z.route?!!(L===z.route||L.startsWith(z.route+"/")):z.subItems&&z.subItems.length>0?z.subItems.some(I=>I.route?L===I.route||L.startsWith(I.route+"/"):!1):!1},U=()=>{const z=s.value;s.value=window.innerWidth<1024,z&&!s.value&&f.value&&x()},W=z=>{z.key==="Escape"&&(l.value||c.value?B():s.value&&f.value&&x())};return e.onMounted(()=>{U(),window.addEventListener("resize",U),document.addEventListener("keydown",W)}),e.onUnmounted(()=>{window.removeEventListener("resize",U),document.removeEventListener("keydown",W)}),n({isMobile:s,isMobileOpen:f,submenuOpen:l,managementSettingsOpen:c,contentMarginLeft:N,closeAllMenus:B}),(z,L)=>{const I=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","leave-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[f.value&&s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-30 lg:hidden",onClick:x})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("aside",{class:e.normalizeClass(e.unref(y)("fixed left-0 z-40 border-r overflow-hidden flex flex-col","transition-all duration-300 ease-in-out","bg-white border-gray-200",s.value?e.unref(y)("transform h-screen",f.value?"translate-x-0":"-translate-x-full"):"translate-x-0 h-[calc(100vh-4rem)]")),style:e.normalizeStyle({width:t.sidebarWidth+"px",top:s.value?"0px":"4rem"})},[s.value?(e.openBlock(),e.createElementBlock("div",Zm,[e.createElementVNode("h2",ef,e.toDisplayString(t.header?.title),1),e.createElementVNode("button",{class:"p-2 rounded-lg text-gray-500 hover:text-gray-900 hover:bg-gray-100 transition-colors","aria-label":"Close sidebar",onClick:x},[...L[0]||(L[0]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])])):e.createCommentVNode("",!0),e.createElementVNode("nav",tf,[e.createElementVNode("div",af,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.navigationItems,p=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:p.name||p.label},[p.type==="link"?(e.openBlock(),e.createElementBlock("div",nf,[u(p)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(y)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 cursor-pointer group relative py-4 px-3",T(p)?"bg-gradient-to-br from-blue-50 to-blue-100 border border-blue-200 shadow-sm":"text-gray-500 hover:bg-gray-100 hover:text-gray-900 border border-transparent")),onClick:C=>m(p)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",T(p)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"text-gray-500 group-hover:text-gray-900 bg-gray-100 group-hover:bg-gray-200"))},[e.createVNode(_,{icon:p.icon,class:"w-6 h-6"},null,8,["icon"])],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(y)("text-xs font-medium text-center",T(p)?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))},e.toDisplayString(p.label),3),p.badge?(e.openBlock(),e.createElementBlock("span",lf,e.toDisplayString(p.badge),1)):e.createCommentVNode("",!0),T(p)&&u(p)?(e.openBlock(),e.createElementBlock("div",sf)):e.createCommentVNode("",!0)],10,of)):(e.openBlock(),e.createBlock(I,{key:0,to:p.route,class:e.normalizeClass(e.unref(y)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 group relative py-4 px-3",T(p)?"bg-gradient-to-br from-blue-50 to-blue-100 border border-blue-200 shadow-sm":"text-gray-500 hover:bg-gray-100 hover:text-gray-900 border border-transparent")),onClick:C=>h(p)},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",T(p)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"text-gray-500 group-hover:text-gray-900 bg-gray-100 group-hover:bg-gray-200"))},[e.createVNode(_,{icon:p.icon,class:"w-6 h-6"},null,8,["icon"])],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(y)("text-xs font-medium text-center",T(p)?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))},e.toDisplayString(p.label),3),p.badge?(e.openBlock(),e.createElementBlock("span",rf,e.toDisplayString(p.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","class","onClick"]))])):e.createCommentVNode("",!0)],64))),128))])]),t.showManagementSettings?(e.openBlock(),e.createElementBlock("div",cf,[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 cursor-pointer group relative py-4 px-3",t.isManagementSettingsActive?"bg-gradient-to-br from-blue-50 to-blue-100 border border-blue-200 shadow-sm":"text-gray-500 hover:bg-gray-100 hover:text-gray-900 border border-transparent")),onClick:d},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",t.isManagementSettingsActive?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"text-gray-500 group-hover:text-gray-900 bg-gray-100 group-hover:bg-gray-200"))},[e.createVNode(_,{icon:"cog",class:"w-6 h-6"})],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(y)("text-xs font-medium text-center",t.isManagementSettingsActive?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))}," Settings ",2),t.isManagementSettingsActive?(e.openBlock(),e.createElementBlock("div",df)):e.createCommentVNode("",!0)],2)])):e.createCommentVNode("",!0)],6),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-300 ease-in","enter-from-class":"opacity-0 -translate-x-full","enter-to-class":"opacity-100 translate-x-0","leave-from-class":"opacity-100 translate-x-0","leave-to-class":"opacity-0 -translate-x-full"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:e.normalizeClass(e.unref(y)("fixed z-40 bg-white border-r border-gray-200 overflow-y-auto shadow-lg",s.value?"left-0 w-52 top-20 h-screen":"w-56 top-16 h-[calc(100vh-4rem)]")),style:e.normalizeStyle(v.value)},[e.createElementVNode("div",uf,[e.createElementVNode("div",mf,[e.createElementVNode("button",{class:"p-2 -ml-2 rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 transition-colors","aria-label":"Close submenu",onClick:g},[...L[1]||(L[1]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])]),e.createElementVNode("h3",ff,e.toDisplayString(i.value?.label),1)])]),e.createElementVNode("nav",gf,[e.createElementVNode("div",vf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value?.subItems,p=>(e.openBlock(),e.createBlock(I,{key:p.name,to:p.route,class:e.normalizeClass(e.unref(y)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",T(p)?"bg-gradient-to-br from-blue-50 to-blue-100 text-blue-700 shadow-sm border border-blue-200":"text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent")),onClick:C=>k(p)},{default:e.withCtx(()=>[T(p)?(e.openBlock(),e.createElementBlock("div",pf)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",T(p)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"bg-gray-100 text-gray-600 group-hover:bg-gray-200"))},[p.icon?(e.openBlock(),e.createBlock(_,{key:0,icon:p.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(y)("flex-1 truncate font-semibold",T(p)?"text-blue-700":"text-gray-700"))},e.toDisplayString(p.label),3),p.badge?(e.openBlock(),e.createElementBlock("span",yf,e.toDisplayString(p.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","class","onClick"]))),128))])])],6)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-300 ease-in","enter-from-class":"opacity-0 -translate-x-full","enter-to-class":"opacity-100 translate-x-0","leave-from-class":"opacity-100 translate-x-0","leave-to-class":"opacity-0 -translate-x-full"},{default:e.withCtx(()=>[c.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:e.normalizeClass(e.unref(y)("fixed z-40 bg-white border-r border-gray-200 overflow-y-auto shadow-lg",s.value?"left-0 w-52 top-20 h-full":"w-58 h-[calc(100vh-4rem)]")),style:e.normalizeStyle({...b.value,top:s.value?"55px":"4rem"})},[e.createElementVNode("div",{class:"sticky top-0 z-10 bg-white border-b border-gray-200"},[e.createElementVNode("div",{class:"flex items-center justify-between p-4"},[e.createElementVNode("button",{class:"p-2 -ml-2 rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 transition-colors","aria-label":"Close management settings",onClick:V},[...L[2]||(L[2]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])]),L[3]||(L[3]=e.createElementVNode("h3",{class:"flex-1 text-sm font-bold text-gray-900 ml-2"}," Management Settings ",-1))])]),e.createElementVNode("nav",bf,[e.createElementVNode("div",hf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.managementSettings,p=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:p.name},[p.type==="section"?(e.openBlock(),e.createElementBlock("div",xf,e.toDisplayString(p.label),1)):p.route?(e.openBlock(),e.createBlock(I,{key:1,to:p.route,class:e.normalizeClass(e.unref(y)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",T(p)?"bg-gradient-to-br from-blue-50 to-blue-100 text-blue-700 shadow-sm border border-blue-200":"text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent")),onClick:C=>R(p)},{default:e.withCtx(()=>[T(p)?(e.openBlock(),e.createElementBlock("div",kf)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors",T(p)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"bg-gray-100 text-gray-600 group-hover:bg-gray-200"))},[p.icon?(e.openBlock(),e.createBlock(_,{key:0,icon:p.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(y)("flex-1 truncate font-semibold",T(p)?"text-blue-700":"text-gray-700"))},e.toDisplayString(p.label),3)]),_:2},1032,["to","class","onClick"])):e.createCommentVNode("",!0)],64))),128))])])],6)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","leave-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[(l.value||c.value)&&s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-30 bg-transparent",onClick:B})):e.createCommentVNode("",!0)]),_:1})])}}},Br={__name:"Timeline",props:{orientation:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex",t.orientation==="vertical"?"flex-col":"flex-row"])},[e.renderSlot(n.$slots,"default")],2))}},wf={key:0,class:"absolute left-3 top-0 w-0.5 h-full bg-slate-200"},Cf={class:"z-10 flex items-center justify-center w-6 h-6 rounded-full border-2 border-blue-500 bg-white text-blue-500"},Bf={class:"text-slate-900 font-medium"},Sf={key:0,class:"text-slate-500 text-sm"},Vf={class:"mt-2 text-slate-600 text-sm"},Sr={__name:"TimelineItem",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},orientation:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex",t.orientation==="vertical"?"items-start mb-8 last:mb-0":"flex-col items-center mx-8 last:mx-0"])},[t.orientation==="vertical"?(e.openBlock(),e.createElementBlock("div",wf)):e.createCommentVNode("",!0),e.createElementVNode("div",Cf,[e.renderSlot(n.$slots,"icon",{},()=>[a[0]||(a[0]=e.createElementVNode("div",{class:"w-2 h-2 rounded-full bg-blue-500"},null,-1))])]),e.createElementVNode("div",{class:e.normalizeClass(["ml-6",t.orientation==="horizontal"?"mt-2 text-center":""])},[e.createElementVNode("h3",Bf,[e.renderSlot(n.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),t.subtitle?(e.openBlock(),e.createElementBlock("p",Sf,[e.renderSlot(n.$slots,"subtitle",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Vf,[e.renderSlot(n.$slots,"default")])],2)],2))}},Nf={name:"AuthLayout",props:{title:{type:String,default:null},subtitle:{type:String,default:null},primaryLogoPrefix:{type:String,default:"e"},primaryLogoText:{type:String,default:"HORIZON"},secondaryLogoPrefix:{type:String,default:"e"},secondaryLogoText:{type:String,default:"Risk & Compliance"},quote:{type:String,default:""},primaryColor:{type:String,default:"#e74c3c"},backgroundColor:{type:String,default:"#2c2c2c"},backgroundImage:{type:String,default:"https://images.unsplash.com/photo-1497366216548-37526070297c?ixlib=rb-4.0.3&auto=format&fit=crop&w=2069&q=80"},backgroundOpacity:{type:Number,default:.4},companyName:{type:String,default:"SOFTWARE"},companyType:{type:String,default:"TECHNOLOGIES"},companyTagline:{type:String,default:"People | Processes | Governance"},companyInitials:{type:String,default:"ST"},appName:{type:String,default:"eHorizon eBoard X"},appVersion:{type:String,default:"Version 2.0"},copyright:{type:String,default:"Copyright © 2025 Software Technologies Limited"},socialLinks:{type:Array,default:()=>[{name:"linkedin",url:"#",icon:"linkedin-in",variant:"primary"},{name:"facebook",url:"#",icon:"facebook-f",variant:"primary"},{name:"twitter",url:"#",icon:"twitter",variant:"info"}]}},setup(){return{currentYear:e.computed(()=>new Date().getFullYear())}}},Ef={class:"container mx-auto px-4 relative z-10"},$f={class:"grid lg:grid-cols-10 gap-8 items-center min-h-screen"},zf={class:"lg:col-span-6 text-white text-center lg:text-left space-y-6"},Df={class:"mb-6"},Tf={class:"text-4xl lg:text-6xl font-bold mb-2"},Af={class:"text-white"},If={class:"flex items-center justify-center lg:justify-start mb-6"},Pf={class:"text-3xl lg:text-4xl font-bold text-white"},jf={class:"lg:col-span-4"},Ff={class:"bg-white rounded-lg shadow-xl p-6 lg:p-8 max-w-md mx-auto"},Lf={key:0,class:"mb-6"},Mf={class:"text-center"},Of={class:"text-2xl font-bold text-gray-900"},_f={key:0,class:"text-gray-600 mt-2"},Rf={class:"space-y-6"},qf={key:1,class:"mt-6"},Uf={key:0,class:"mt-6 text-center"},Yf={class:"absolute bottom-4 right-4 text-right"},Wf={class:"flex items-end justify-end mb-2"},Hf={class:"text-right mr-3"},Gf={class:"text-red-500 font-bold text-xs"},Kf={class:"text-white text-xs"},Xf={class:"text-white/70 text-xs"},Jf={class:"w-8 h-8 bg-red-500 rounded flex items-center justify-center text-white font-bold text-xs"},Qf={class:"text-white/70 text-xs"},Zf={class:"absolute bottom-4 left-4 flex gap-2"},eg=["href"];function tg(t,n,a,r,o,s){const l=e.resolveComponent("router-view"),i=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:"min-h-screen relative flex items-center justify-center",style:e.normalizeStyle({backgroundColor:a.backgroundColor})},[e.createElementVNode("div",{class:"absolute inset-0 bg-cover bg-center",style:e.normalizeStyle({backgroundImage:`url('${a.backgroundImage}')`,opacity:a.backgroundOpacity})},null,4),e.createElementVNode("div",Ef,[e.createElementVNode("div",$f,[e.createElementVNode("div",zf,[e.createElementVNode("div",Df,[e.createElementVNode("div",Tf,[e.createElementVNode("span",{style:e.normalizeStyle({color:a.primaryColor})},e.toDisplayString(a.primaryLogoPrefix),5),e.createElementVNode("span",Af,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",If,[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",Pf,e.toDisplayString(a.secondaryLogoText),1)]),n[0]||(n[0]=e.createElementVNode("div",{class:"max-w-md mx-auto lg:mx-0"},[e.createElementVNode("p",{class:"text-sm lg:text-base font-light text-white/70 italic leading-relaxed"})],-1))]),e.createElementVNode("div",jf,[e.createElementVNode("div",Ff,[t.$slots["card-header"]||a.title?(e.openBlock(),e.createElementBlock("div",Lf,[e.renderSlot(t.$slots,"card-header",{},()=>[e.createElementVNode("div",Mf,[e.createElementVNode("h1",Of,e.toDisplayString(a.title),1),a.subtitle?(e.openBlock(),e.createElementBlock("p",_f,e.toDisplayString(a.subtitle),1)):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Rf,[e.createVNode(l)]),t.$slots["card-footer"]?(e.openBlock(),e.createElementBlock("div",qf,[e.renderSlot(t.$slots,"card-footer")])):e.createCommentVNode("",!0)]),t.$slots.links?(e.openBlock(),e.createElementBlock("div",Uf,[e.renderSlot(t.$slots,"links")])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",Yf,[e.createElementVNode("div",Wf,[e.createElementVNode("div",Hf,[e.createElementVNode("div",Gf,e.toDisplayString(a.companyName),1),e.createElementVNode("div",Kf,e.toDisplayString(a.companyType),1),e.createElementVNode("div",Xf,e.toDisplayString(a.companyTagline),1)]),e.createElementVNode("div",Jf,e.toDisplayString(a.companyInitials),1)]),e.createElementVNode("div",Qf,[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",Zf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.socialLinks,c=>(e.openBlock(),e.createElementBlock("a",{key:c.name,href:c.url,class:e.normalizeClass(["w-8 h-7 flex items-center justify-center rounded text-xs transition-colors",c.variant==="primary"?"bg-blue-600 hover:bg-blue-700 text-white":c.variant==="info"?"bg-cyan-500 hover:bg-cyan-600 text-white":"bg-gray-600 hover:bg-gray-700 text-white"])},[e.createVNode(i,{icon:["fab",c.icon]},null,8,["icon"])],10,eg))),128))])],4)}const Vr=et(Nf,[["render",tg]]),ag={class:"min-h-screen bg-gray-50"},ng={class:"flex-1"},rg={key:0,class:"bg-white border-b border-gray-200"},og={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},lg={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},Nr={__name:"DefaultLayout",props:{navigationItems:{type:Array,default:()=>[{label:"Home",href:"/",active:!0},{label:"About",href:"/about"},{label:"Services",href:"/services"},{label:"Contact",href:"/contact"}]},breadcrumbItems:{type:Array,default:()=>[]},showBreadcrumb:{type:Boolean,default:!1}},setup(t){return(n,a)=>{const r=e.resolveComponent("Logo"),o=e.resolveComponent("MainNavigation"),s=e.resolveComponent("Button"),l=e.resolveComponent("Header"),i=e.resolveComponent("Breadcrumb"),c=e.resolveComponent("Text"),f=e.resolveComponent("Footer");return e.openBlock(),e.createElementBlock("div",ag,[e.createVNode(l,null,{logo:e.withCtx(()=>[e.renderSlot(n.$slots,"logo",{},()=>[e.createVNode(r)])]),navigation:e.withCtx(()=>[e.renderSlot(n.$slots,"navigation",{},()=>[e.createVNode(o,{items:t.navigationItems},null,8,["items"])])]),actions:e.withCtx(()=>[e.renderSlot(n.$slots,"header-actions",{},()=>[e.createVNode(s,{variant:"ghost",size:"sm"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" Sign In ",-1)])]),_:1}),e.createVNode(s,{size:"sm"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode(" Get Started ",-1)])]),_:1})])]),_:3}),e.createElementVNode("main",ng,[t.showBreadcrumb?(e.openBlock(),e.createElementBlock("div",rg,[e.createElementVNode("div",og,[e.renderSlot(n.$slots,"breadcrumb",{},()=>[e.createVNode(i,{items:t.breadcrumbItems},null,8,["items"])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",lg,[e.renderSlot(n.$slots,"default")])]),e.createVNode(f,null,{brand:e.withCtx(()=>[e.renderSlot(n.$slots,"footer-brand",{},()=>[e.createVNode(r,{class:"mb-4"}),e.createVNode(c,{class:"text-gray-600 max-w-md"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" Your application description goes here. ",-1)])]),_:1})])]),_:3})])}}},sg={name:"ErrorLayout",props:{errorType:{type:[String,Number],default:"404"},errorCode:{type:[String,Number],default:null},errorTitle:{type:String,default:null},errorMessage:{type:String,default:null},brandName:{type:String,default:"Software Technologies"},showLogo:{type:Boolean,default:!0},showBackground:{type:Boolean,default:!0},showDefaultIllustration:{type:Boolean,default:!0},showDefaultActions:{type:Boolean,default:!0},showHomeButton:{type:Boolean,default:!0},showBackButton:{type:Boolean,default:!0},showRetryButton:{type:Boolean,default:!1},showSupportButton:{type:Boolean,default:!1},showAdditionalInfo:{type:Boolean,default:!1},homeUrl:{type:String,default:"/"},homeButtonText:{type:String,default:"Go Home"},backButtonText:{type:String,default:"Go Back"},retryButtonText:{type:String,default:"Try Again"},helpText:{type:String,default:null},supportUrl:{type:String,default:null}},emits:["retry","back","contact-support"],setup(t,{emit:n}){const a=e.getCurrentInstance(),r=e.inject("$router",null)||a?.appContext.app.config.globalProperties?.$router,o=e.ref(!1),s=e.ref(!1),l=e.ref(navigator.onLine),i=e.ref(`err_${Date.now()}_${Math.random().toString(36).substr(2,9)}`),c=e.ref(!1),f=()=>{l.value=navigator.onLine};e.onMounted(()=>{window.addEventListener("online",f),window.addEventListener("offline",f)}),e.onUnmounted(()=>{window.removeEventListener("online",f),window.removeEventListener("offline",f)});const v=e.computed(()=>{const M={404:{title:"Page Not Found",message:"Sorry, we couldn't find the page you're looking for.",icon:"🔍",color:"#64748b",homeButtonIcon:"🏠",additionalInfo:{title:"What can you do?",items:[{icon:"✓",iconColor:"green-500",text:"Check the URL for typos"},{icon:"✓",iconColor:"green-500",text:"Go back to the previous page"},{icon:"✓",iconColor:"green-500",text:"Visit our homepage"}]}},403:{title:"Unauthorized Access",message:"You are not authorized to view this page.",icon:"🚫",color:"#ef4444",homeButtonIcon:"🔐",additionalInfo:{title:"Why am I seeing this?",items:[{icon:"⚠️",iconColor:"yellow-500",text:"You may need to log in to access this page"},{icon:"⚠️",iconColor:"yellow-500",text:"Your account might not have the required permissions"},{icon:"⚠️",iconColor:"yellow-500",text:"Contact support if you believe this is an error"}]}},401:{title:"Authentication Required",message:"You need to log in to access this resource.",icon:"🔐",color:"#f59e0b",homeButtonIcon:"🔐",additionalInfo:{title:"How to proceed?",items:[{icon:"✓",iconColor:"blue-500",text:"Log in with your credentials"},{icon:"✓",iconColor:"blue-500",text:"Create an account if you don't have one"},{icon:"✓",iconColor:"blue-500",text:"Reset your password if you forgot it"}]}},500:{title:"Internal Server Error",message:"Something went wrong on our end. Please try again later.",icon:"🔧",color:"#ef4444",homeButtonIcon:"🏠",additionalInfo:{title:"What happened?",items:[{icon:"⚠️",iconColor:"red-500",text:"Our servers are experiencing issues"},{icon:"⚠️",iconColor:"red-500",text:"The problem is temporary"},{icon:"⚠️",iconColor:"red-500",text:"Try refreshing the page or come back later"}]}},503:{title:"Service Unavailable",message:"The service is temporarily unavailable. Please try again later.",icon:"🔧",color:"#f59e0b",homeButtonIcon:"🏠",additionalInfo:{title:"Service Status",items:[{icon:"⚠️",iconColor:"amber-500",text:"We're performing scheduled maintenance"},{icon:"⚠️",iconColor:"amber-500",text:"Normal service will resume shortly"},{icon:"⚠️",iconColor:"amber-500",text:"Check our status page for updates"}]}},network:{title:"Network Error",message:"Unable to connect to the server. Please check your internet connection.",icon:"📶",color:"#ef4444",homeButtonIcon:"🏠",additionalInfo:{title:"Connection Issues",items:[{icon:"⚠️",iconColor:"red-500",text:"Check your internet connection"},{icon:"⚠️",iconColor:"red-500",text:"Try refreshing the page"},{icon:"⚠️",iconColor:"red-500",text:"Contact your network administrator"}]}}};return M[t.errorType]||M[404]}),b=e.computed(()=>v.value),N=e.computed(()=>t.errorTitle||b.value.title),h=e.computed(()=>t.errorMessage||b.value.message),x=e.computed(()=>b.value.homeButtonIcon||"🏠"),u=e.computed(()=>t.showAdditionalInfo?b.value.additionalInfo:null),m=()=>{r?r.push(t.homeUrl):window.location.href=t.homeUrl},d=()=>{r&&window.history.length>1?r.back():window.history.length>1?window.history.back():m(),n("back")},g=async()=>{o.value=!0;try{await new Promise(M=>setTimeout(M,1e3)),window.location.reload()}catch(M){console.error("Retry failed:",M)}finally{o.value=!1}n("retry")},V=e.computed(()=>["min-h-screen relative flex items-center justify-center","px-4 sm:px-6 lg:px-8"]),B=e.computed(()=>["absolute inset-0 -z-10"]),k=e.computed(()=>["w-full max-w-2xl mx-auto text-center"]),R=e.computed(()=>["mb-8"]),T=e.computed(()=>["space-y-8"]),U=e.computed(()=>["flex justify-center mb-6"]),W=e.computed(()=>["w-32 h-32 flex items-center justify-center"]),z=e.computed(()=>["space-y-4"]),L=e.computed(()=>["text-6xl font-bold text-slate-300 mb-4"]),I=e.computed(()=>["text-3xl font-bold text-slate-900"]),p=e.computed(()=>["text-lg text-slate-600 max-w-lg mx-auto"]),C=e.computed(()=>["mt-8"]),D=e.computed(()=>["mt-8"]),q=e.computed(()=>["mt-6"]);return{isRetrying:o,reportSent:s,isOnline:l,errorId:i,isDev:c,errorConfig:b,title:N,message:h,homeButtonIcon:x,additionalInfoConfig:u,goHome:m,goBack:d,retry:g,layoutClasses:V,backgroundClasses:B,contentClasses:k,headerClasses:R,errorContentClasses:T,illustrationClasses:U,iconContainerClasses:W,detailsClasses:z,codeClasses:L,titleClasses:I,messageClasses:p,actionsClasses:C,additionalInfoClasses:D,helpClasses:q}}},ig={class:"flex justify-center"},cg={class:"flex items-center gap-3"},dg={class:"text-2xl font-bold text-slate-900"},ug={key:1,class:"bg-red-100 border border-red-200 rounded-lg p-4 mx-auto max-w-md mb-6"},mg={class:"flex flex-col sm:flex-row gap-4 justify-center"},fg=["disabled"],gg={key:0,class:"animate-spin"},vg={key:1},pg=["disabled"],yg={key:0},bg={key:1},hg={key:0,class:"mt-8 max-w-md mx-auto"},xg={class:"bg-white rounded-lg border border-slate-200 shadow-sm p-6"},kg={class:"text-lg font-semibold text-slate-900 mb-4"},wg={class:"space-y-3"},Cg={class:"text-sm text-slate-600"},Bg=["href"],Sg={key:5,class:"text-xs text-slate-400 font-mono mt-4"};function Vg(t,n,a,r,o,s){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.layoutClasses)},[a.showBackground?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.backgroundClasses)},[e.renderSlot(t.$slots,"background",{},()=>[n[4]||(n[4]=e.createElementVNode("div",{class:"absolute inset-0 bg-gradient-to-br from-slate-50 to-slate-100"},null,-1))])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.contentClasses)},[t.$slots.header||a.showLogo?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.headerClasses)},[e.renderSlot(t.$slots,"header",{},()=>[e.createElementVNode("div",ig,[e.renderSlot(t.$slots,"logo",{},()=>[e.createElementVNode("div",cg,[n[5]||(n[5]=e.createElementVNode("div",{class:"w-10 h-10 bg-blue-600 rounded-xl flex items-center justify-center"},[e.createElementVNode("span",{class:"text-white font-bold text-lg"},"STL")],-1)),e.createElementVNode("span",dg,e.toDisplayString(a.brandName),1)])])])])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.errorContentClasses)},[t.$slots.illustration||a.showDefaultIllustration?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.illustrationClasses)},[e.renderSlot(t.$slots,"illustration",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(r.iconContainerClasses)},[e.createElementVNode("div",{class:"text-8xl",style:e.normalizeStyle({color:r.errorConfig.color})},e.toDisplayString(r.errorConfig.icon),5)],2)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.detailsClasses)},[a.errorCode?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.codeClasses)},e.toDisplayString(a.errorCode),3)):e.createCommentVNode("",!0),e.createElementVNode("h1",{class:e.normalizeClass(r.titleClasses)},[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(r.title),1)])],2),e.createElementVNode("p",{class:e.normalizeClass(r.messageClasses)},[e.renderSlot(t.$slots,"message",{},()=>[e.createTextVNode(e.toDisplayString(r.message),1)])],2)],2),r.isOnline?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ug,[...n[6]||(n[6]=[e.createElementVNode("div",{class:"flex items-center justify-center gap-2 text-red-700"},[e.createElementVNode("span",{class:"w-3 h-3 bg-red-500 rounded-full animate-pulse"}),e.createElementVNode("span",{class:"font-medium"},"No Internet Connection")],-1)])])),t.$slots.actions||a.showDefaultActions?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(r.actionsClasses)},[e.renderSlot(t.$slots,"actions",{},()=>[e.createElementVNode("div",mg,[a.showHomeButton?(e.openBlock(),e.createElementBlock("button",{key:0,class:"bg-blue-600 text-white px-6 py-3 rounded-lg font-medium hover:bg-blue-700 transition-colors flex items-center justify-center gap-2",onClick:n[0]||(n[0]=(...l)=>r.goHome&&r.goHome(...l))},[e.createElementVNode("span",null,e.toDisplayString(r.homeButtonIcon),1),e.createTextVNode(" "+e.toDisplayString(a.homeButtonText),1)])):e.createCommentVNode("",!0),a.showBackButton?(e.openBlock(),e.createElementBlock("button",{key:1,class:"border border-slate-300 text-slate-700 px-6 py-3 rounded-lg font-medium hover:bg-slate-50 transition-colors flex items-center justify-center gap-2",onClick:n[1]||(n[1]=(...l)=>r.goBack&&r.goBack(...l))},[n[7]||(n[7]=e.createElementVNode("span",null,"←",-1)),e.createTextVNode(" "+e.toDisplayString(a.backButtonText),1)])):e.createCommentVNode("",!0),a.showRetryButton?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:r.isRetrying||!r.isOnline,class:"border border-slate-300 text-slate-700 px-6 py-3 rounded-lg font-medium hover:bg-slate-50 transition-colors flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",onClick:n[2]||(n[2]=(...l)=>r.retry&&r.retry(...l))},[r.isRetrying?(e.openBlock(),e.createElementBlock("span",gg,"↻")):(e.openBlock(),e.createElementBlock("span",vg,"🔄")),e.createTextVNode(" "+e.toDisplayString(r.isRetrying?"Retrying...":a.retryButtonText),1)],8,fg)):e.createCommentVNode("",!0),a.showSupportButton?(e.openBlock(),e.createElementBlock("button",{key:3,disabled:r.reportSent,class:"bg-slate-600 text-white px-6 py-3 rounded-lg font-medium hover:bg-slate-700 transition-colors flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",onClick:n[3]||(n[3]=l=>t.$emit("contact-support"))},[r.reportSent?(e.openBlock(),e.createElementBlock("span",yg,"✓")):(e.openBlock(),e.createElementBlock("span",bg,"📝")),e.createTextVNode(" "+e.toDisplayString(r.reportSent?"Report Sent":"Contact Support"),1)],8,pg)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),t.$slots["additional-info"]||a.showAdditionalInfo?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(r.additionalInfoClasses)},[e.renderSlot(t.$slots,"additional-info",{},()=>[r.additionalInfoConfig?(e.openBlock(),e.createElementBlock("div",hg,[e.createElementVNode("div",xg,[e.createElementVNode("h3",kg,e.toDisplayString(r.additionalInfoConfig.title),1),e.createElementVNode("ul",wg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.additionalInfoConfig.items,(l,i)=>(e.openBlock(),e.createElementBlock("li",{key:i,class:"flex items-start gap-3 text-sm text-slate-600"},[e.createElementVNode("span",{class:e.normalizeClass(`w-4 h-4 text-${l.iconColor||"slate-400"} flex-shrink-0 mt-0.5`)},e.toDisplayString(l.icon),3),e.createElementVNode("span",null,e.toDisplayString(l.text),1)]))),128))])])])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),t.$slots.help||a.helpText?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(r.helpClasses)},[e.renderSlot(t.$slots,"help",{},()=>[e.createElementVNode("p",Cg,[e.createTextVNode(e.toDisplayString(a.helpText)+" ",1),a.supportUrl?(e.openBlock(),e.createElementBlock("a",{key:0,href:a.supportUrl,class:"text-blue-600 hover:text-blue-700 underline ml-1"},[...n[8]||(n[8]=[e.createElementVNode("span",{class:"inline-block w-4 h-4 mr-1"},"❓",-1),e.createTextVNode(" Get Help ",-1)])],8,Bg)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),r.isDev?(e.openBlock(),e.createElementBlock("div",Sg," Error ID: "+e.toDisplayString(r.errorId),1)):e.createCommentVNode("",!0)],2)],2)],2)}const Er=et(sg,[["render",Vg]]),Sa={Avatar:En,Badge:$n,Button:ae,Checkbox:Je,Divider:zn,Icon:_,Image:Dn,Input:qe,Label:Ze,Link:Tn,Logo:An,Option:Mt,Progress:In,ProgressBar:Pn,Radio:jn,Select:ze,Spinner:Qe,Switch:Fn,Text:Ln,Textarea:Ot,Tooltip:Mn,Typography:Ue,STLLoader:pe,Alert:On,Breadcrumb:_n,ButtonGroup:Rn,Card:qn,CardHeader:Un,CardBody:Yn,CardFooter:Wn,CardContent:Hn,CardTitle:Gn,DatePicker:tt,Dropdown:Kn,DropdownItem:Xn,FileUpload:Jn,FormField:_t,InputGroup:Qn,ListItem:Zn,MenuItem:er,Modal:Rt,ModalHeader:tr,ModalBody:ar,ModalFooter:nr,Notification:rr,Toast:sr,Search:ir,Slider:qt,Stepper:cr,StepperItem:dr,Tab:ur,TabPanel:mr,Accordion:fr,AccordionItem:gr,Calendar:vr,DataTable:pr,DataTableHeader:Ut,DataTableRow:Yt,DataTableCell:yr,DataTablePagination:Wt,DataTableFilters:br,DataTableToolBar:hr,Footer:xr,Header:kr,ReusableFormModal:wr,Sidebar:Cr,Timeline:Br,TimelineItem:Sr,AuthLayout:Vr,DefaultLayout:Nr,ErrorLayout:Er},Ng={install(t,n={}){const{prefix:a=""}=n;Object.keys(Sa).forEach(r=>{const o=a?`${a}${r}`:r;t.component(o,Sa[r])}),t.config.globalProperties.$toast=Ye,t.provide("toast",Ye)}};exports.Accordion=fr;exports.AccordionItem=gr;exports.Alert=On;exports.AuthLayout=Vr;exports.Avatar=En;exports.Badge=$n;exports.Breadcrumb=_n;exports.Button=ae;exports.ButtonGroup=Rn;exports.Calendar=vr;exports.Card=qn;exports.CardBody=Yn;exports.CardContent=Hn;exports.CardFooter=Wn;exports.CardHeader=Un;exports.CardTitle=Gn;exports.Checkbox=Je;exports.DataTable=pr;exports.DataTableCell=yr;exports.DataTableFilters=br;exports.DataTableHeader=Ut;exports.DataTablePagination=Wt;exports.DataTableRow=Yt;exports.DataTableToolBar=hr;exports.DatePicker=tt;exports.DefaultLayout=Nr;exports.Divider=zn;exports.Dropdown=Kn;exports.DropdownItem=Xn;exports.ErrorLayout=Er;exports.FileUpload=Jn;exports.Footer=xr;exports.FormField=_t;exports.Header=kr;exports.Icon=_;exports.Image=Dn;exports.Input=qe;exports.InputGroup=Qn;exports.Label=Ze;exports.Link=Tn;exports.ListItem=Zn;exports.Logo=An;exports.MenuItem=er;exports.Modal=Rt;exports.ModalBody=ar;exports.ModalFooter=nr;exports.ModalHeader=tr;exports.Notification=rr;exports.Option=Mt;exports.Progress=In;exports.ProgressBar=Pn;exports.Radio=jn;exports.ReusableFormModal=wr;exports.STLLoader=pe;exports.Search=ir;exports.Select=ze;exports.Sidebar=Cr;exports.Slider=qt;exports.Spinner=Qe;exports.Stepper=cr;exports.StepperItem=dr;exports.Switch=Fn;exports.Tab=ur;exports.TabPanel=mr;exports.Text=Ln;exports.Textarea=Ot;exports.Timeline=Br;exports.TimelineItem=Sr;exports.Toast=sr;exports.Tooltip=Mn;exports.Typography=Ue;exports.cn=y;exports.default=Ng;exports.toast=Ye;exports.useToaster=lr;
|
611
|
+
`},a=t,r=e.ref(!1),o=()=>r.value=!r.value,s=E.cva("",{variants:{variant:{default:"",bordered:"border border-slate-200 rounded-lg overflow-hidden",filled:"bg-slate-50 border border-slate-200 rounded-lg overflow-hidden",flush:""}}}),l=E.cva("flex items-center justify-between w-full text-left transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",{variants:{size:{sm:"p-3 text-sm",md:"p-4 text-base",lg:"p-6 text-lg"}}}),i=E.cva("overflow-hidden text-slate-600 border-t border-slate-200",{variants:{size:{sm:"p-3 text-sm",md:"p-4 text-base",lg:"p-6 text-lg"}}}),c=e.computed(()=>y(s({variant:a.variant}))),f=e.computed(()=>y(l({size:a.size}))),v=e.computed(()=>y(i({size:a.size})));return(b,N)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value)},[e.createVNode(ae,{class:e.normalizeClass(f.value),"aria-expanded":r.value,onClick:o},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"header",{isOpen:r.value}),e.createVNode(n,{class:e.normalizeClass(e.unref(y)("w-5 h-5 transition-transform ml-2",{"rotate-180":r.value}))},null,8,["class"])]),_:3},8,["class","aria-expanded"]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","enter-from-class":"opacity-0 max-h-0","enter-to-class":"opacity-100 max-h-96","leave-active-class":"transition-all duration-200 ease-in","leave-from-class":"opacity-100 max-h-96","leave-to-class":"opacity-0 max-h-0"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(v.value)},[e.renderSlot(b.$slots,"content",{isOpen:r.value})],2)):e.createCommentVNode("",!0)]),_:3})],2))}},Bd={class:"relative w-full"},Sd={class:"relative"},Vd=["id","value","disabled","placeholder","required","aria-describedby"],Nd={class:"flex items-center justify-between mb-3"},Ed={class:"text-sm font-medium"},$d={class:"grid grid-cols-7 gap-1 mb-2"},zd={class:"grid grid-cols-7 gap-1"},Dd=["disabled","onClick"],Td={key:0,class:"mt-4 pt-3 border-t border-slate-200"},vr={__name:"Calendar",props:{id:String,modelValue:[String,Date],disabled:Boolean,required:Boolean,min:[String,Date],max:[String,Date],placeholder:{type:String,default:"Select date"},format:{type:String,default:"MM/DD/YYYY"},clearable:{type:Boolean,default:!0},showToday:{type:Boolean,default:!0},calendarPosition:{type:String,default:"left-0"},ariaDescribedby:String},emits:["update:modelValue"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(!1),s=new Date,l=e.ref(s.getMonth()),i=e.ref(s.getFullYear()),c=e.ref(null),f=["Su","Mo","Tu","We","Th","Fr","Sa"],v=e.computed(()=>new Date(i.value,l.value).toLocaleString("default",{month:"long"})),b=e.computed(()=>new Date(i.value,l.value+1,0).getDate()),N=e.computed(()=>new Date(i.value,l.value,1).getDay()),h=e.computed(()=>{const I=new Date(i.value,l.value,0).getDate(),p=N.value;return Array.from({length:p},(C,D)=>I-p+D+1)}),x=e.computed(()=>{const I=h.value.length+b.value,p=I%7===0?0:7-I%7;return Array.from({length:p},(C,D)=>D+1)}),u=e.computed(()=>c.value?m(c.value):"");function m(I){if(!I)return"";const p=new Date(I),C=String(p.getMonth()+1).padStart(2,"0"),D=String(p.getDate()).padStart(2,"0"),q=p.getFullYear();return a.format.replace("MM",C).replace("DD",D).replace("YYYY",q)}function d(I){if(!I)return null;if(I instanceof Date)return I;const p=new Date(I);return isNaN(p.getTime())?null:p}function g(I){if(!c.value)return!1;const p=new Date(c.value);return p.getDate()===I&&p.getMonth()===l.value&&p.getFullYear()===i.value}function V(I){const p=new Date(i.value,l.value,I);if(a.min){const C=d(a.min);if(C&&p<C)return!0}if(a.max){const C=d(a.max);if(C&&p>C)return!0}return!1}function B(){a.disabled||(o.value=!o.value)}function k(){o.value=!1}function R(){l.value===0?(l.value=11,i.value--):l.value--}function T(){l.value===11?(l.value=0,i.value++):l.value++}function U(I){if(V(I))return;const p=new Date(i.value,l.value,I);c.value=p,r("update:modelValue",p.toISOString().split("T")[0]),o.value=!1}function W(){l.value=s.getMonth(),i.value=s.getFullYear(),U(s.getDate())}function z(){c.value=null,r("update:modelValue","")}e.watch(()=>a.modelValue,I=>{if(I){const p=d(I);p&&(c.value=p,l.value=p.getMonth(),i.value=p.getFullYear())}else c.value=null},{immediate:!0});function L(I){I.key==="Escape"&&o.value&&k()}return e.onMounted(()=>{document.addEventListener("keydown",L)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",L)}),(I,p)=>(e.openBlock(),e.createElementBlock("div",Bd,[e.createElementVNode("div",Sd,[e.createElementVNode("input",{id:t.id,type:"text",value:u.value,readonly:"",disabled:t.disabled,placeholder:t.placeholder,required:t.required,"aria-describedby":t.ariaDescribedby,class:"w-full px-3 py-2 pr-10 border border-slate-300 rounded-md bg-white text-slate-900 placeholder-slate-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 cursor-pointer disabled:bg-slate-50 disabled:text-slate-500 disabled:cursor-not-allowed",onClick:B},null,8,Vd),p[2]||(p[2]=e.createElementVNode("div",{class:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none"},[e.createElementVNode("svg",{class:"w-5 h-5 text-slate-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})])],-1)),t.clearable&&u.value&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-9 top-1/2 -translate-y-1/2 p-1 hover:bg-slate-100 rounded","aria-label":"Clear date",onClick:e.withModifiers(z,["stop"])},[...p[1]||(p[1]=[e.createElementVNode("svg",{class:"w-4 h-4 text-slate-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute z-[99999] mt-2 bg-white border border-slate-200 rounded-lg shadow-lg p-4",t.calendarPosition]),onClick:p[0]||(p[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Nd,[e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-gray-100 rounded","aria-label":"Previous Month",onClick:R},[...p[3]||(p[3]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 18l-6-6 6-6"})],-1)])]),e.createElementVNode("div",Ed,e.toDisplayString(v.value)+" "+e.toDisplayString(i.value),1),e.createElementVNode("button",{type:"button",class:"p-1 hover:bg-gray-100 rounded","aria-label":"Next Month",onClick:T},[...p[4]||(p[4]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 18l6-6-6-6"})],-1)])])]),e.createElementVNode("div",$d,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(f,C=>e.createElementVNode("div",{key:C,class:"text-center text-xs font-medium text-slate-600 py-1"},e.toDisplayString(C),1)),64))]),e.createElementVNode("div",zd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(C,D)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+D,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(C),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,C=>(e.openBlock(),e.createElementBlock("button",{key:C,type:"button",disabled:V(C),class:e.normalizeClass(["w-8 h-8 text-sm rounded flex items-center justify-center",g(C)?"bg-blue-500 text-white":"hover:bg-gray-100",V(C)?"text-gray-300 cursor-not-allowed":""]),onClick:D=>U(C)},e.toDisplayString(C),11,Dd))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(C,D)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+D,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(C),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",Td,[e.createElementVNode("button",{type:"button",class:"w-full px-3 py-2 text-sm font-medium text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",onClick:W}," Today ")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-[99998]",onClick:k})):e.createCommentVNode("",!0)]))}},Ad={class:"flex items-start justify-between"},Id={key:0,class:"flex items-center gap-2"},Ut={__name:"DataTableHeader",props:{title:{type:String,default:null},description:{type:String,default:null},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},setup(t){const n=t,a=E.cva("border-b border-slate-200",{variants:{variant:{default:"bg-white",minimal:"bg-transparent border-none",bordered:"bg-slate-50 border-2"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),r=E.cva("font-semibold text-slate-900",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),o=E.cva("text-slate-600 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),s=e.computed(()=>y(a({variant:n.variant,padding:n.padding}))),l=e.computed(()=>y(r({size:"md"}))),i=e.computed(()=>y(o({size:"md"})));return(c,f)=>t.title||t.description||c.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(s.value)},[e.renderSlot(c.$slots,"header",{},()=>[e.createElementVNode("div",Ad,[e.createElementVNode("div",null,[t.title?(e.openBlock(),e.createBlock(Ue,{key:0,class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1},8,["class"])):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createBlock(Ue,{key:1,class:e.normalizeClass(i.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.description),1)]),_:1},8,["class"])):e.createCommentVNode("",!0)]),c.$slots.filters?(e.openBlock(),e.createElementBlock("div",Id,[e.renderSlot(c.$slots,"filters")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)}},Yt={__name:"DataTableRow",props:{item:{type:Object,required:!0},columns:{type:Array,required:!0},index:{type:Number,required:!0},selectable:{type:Boolean,default:!1},isSelected:{type:Boolean,default:!1},striped:{type:Boolean,default:!1},hoverable:{type:Boolean,default:!0},clickableRows:{type:Boolean,default:!1},density:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},variant:{type:String,default:"default",validator:t=>["default","bordered","minimal"].includes(t)}},emits:["toggle-selection","row-click"],setup(t,{emit:n}){const a=t,r=n,o=E.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"}}),s=E.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"}}),l=u=>typeof u=="string"?u:u?.key||u?.field||"unknown",i=(u,m)=>{const d=l(m);return typeof m=="object"&&m.accessor?m.accessor(u):d&&d.includes(".")?d.split(".").reduce((g,V)=>g?.[V],u):u?.[d]},c=(u,m)=>{const d=i(u,m);return typeof m=="object"&&m.formatter?m.formatter(d,u):d==null?"":d instanceof Date?d.toLocaleDateString():Array.isArray(d)?d.join(", "):d},f=()=>{a.clickableRows&&r("row-click",{item:a.item,index:a.index})},v=u=>typeof u=="object"&&u.align?u.align:"left",b=e.computed(()=>y(o({striped:a.striped,hoverable:a.hoverable&&!a.clickableRows,clickable:a.clickableRows,selected:a.isSelected,variant:a.variant}))),N=u=>{const m=v(u);return y(s({density:a.density,align:m}),u.cellClasses)},h=e.computed(()=>y(s({density:a.density}),"w-12")),x=e.computed(()=>y(s({density:a.density,align:"right"}),"font-medium"));return(u,m)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(b.value),onClick:f},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(h.value)},[e.createVNode(Je,{"model-value":t.isSelected,"onUpdate:modelValue":m[0]||(m[0]=d=>u.$emit("toggle-selection",t.item))},null,8,["model-value"])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,d=>(e.openBlock(),e.createElementBlock("td",{key:l(d),class:e.normalizeClass(N(d))},[e.renderSlot(u.$slots,`cell-${l(d)}`,{item:t.item,value:i(t.item,d),column:d,index:t.index},()=>[e.createTextVNode(e.toDisplayString(c(t.item,d)),1)])],2))),128)),u.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(x.value)},[e.renderSlot(u.$slots,"actions",{item:t.item,index:t.index})],2)):e.createCommentVNode("",!0)],2))}},Pd={class:"flex items-center justify-between"},jd={key:0,class:"text-sm text-slate-600"},Fd={key:1,class:"text-sm text-slate-600"},Ld={key:2,class:"flex items-center gap-4"},Md={key:3,class:"flex items-center gap-4"},Od={class:"flex items-center gap-2"},_d={class:"flex items-center gap-1"},Rd=["disabled"],qd=["disabled"],Ud={class:"flex items-center gap-1"},Yd=["onClick"],Wd=["disabled"],Hd=["disabled"],Gd={class:"text-sm text-slate-600 ml-4"},Wt={__name:"DataTablePagination",props:{currentPage:{type:Number,required:!0},totalPages:{type:Number,required:!0},total:{type:Number,required:!0},pageSize:{type:Number,required:!0},showPagination:{type:Boolean,default:!0},selectable:{type:Boolean,default:!1},selectedCount:{type:Number,default:0},pageSizeOptions:{type:Array,default:()=>[5,10,25,50,100]},maxVisiblePages:{type:Number,default:7},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:currentPage","update:pageSize"],setup(t){const n=t,a=E.cva("border-t border-slate-200",{variants:{variant:{default:"bg-slate-50",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-100 border-t-2 border-slate-300"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),r=E.cva("text-sm font-medium border rounded-md transition-colors duration-200",{variants:{state:{active:"bg-blue-600 text-white border-blue-600",inactive:"bg-white text-slate-700 border-slate-300 hover:bg-slate-50",disabled:"bg-slate-100 text-slate-400 border-slate-200 cursor-not-allowed"},size:{sm:"px-2 py-1",md:"px-3 py-2",lg:"px-4 py-3"}},defaultVariants:{state:"inactive",size:"md"}}),o=E.cva("text-slate-700",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"}},defaultVariants:{size:"md"}}),s=E.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"}}),l=e.computed(()=>(n.currentPage-1)*n.pageSize+1),i=e.computed(()=>Math.min(n.currentPage*n.pageSize,n.total)),c=e.computed(()=>{const h=[],x=n.totalPages,u=n.currentPage,m=n.maxVisiblePages;if(x<=m)for(let d=1;d<=x;d++)h.push(d);else{const d=Math.floor(m/2);let g=Math.max(1,u-d),V=Math.min(x,g+m-1);V-g+1<m&&(g=Math.max(1,V-m+1));for(let B=g;B<=V;B++)h.push(B)}return h}),f=e.computed(()=>y(a({variant:n.variant,padding:n.padding}))),v=e.computed(()=>y(o({size:"md"}))),b=e.computed(()=>y(s({size:"sm"}))),N=(h,x)=>{let u="inactive";return x?u="disabled":h&&(u="active"),y(r({state:u,size:"md"}))};return(h,x)=>t.showPagination||h.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(f.value)},[e.createElementVNode("div",Pd,[t.selectable&&t.selectedCount>0?(e.openBlock(),e.createElementBlock("div",jd,e.toDisplayString(t.selectedCount)+" of "+e.toDisplayString(t.total)+" selected ",1)):(e.openBlock(),e.createElementBlock("div",Fd," Showing "+e.toDisplayString(l.value)+" to "+e.toDisplayString(i.value)+" of "+e.toDisplayString(t.total)+" entries ",1)),h.$slots.footer?(e.openBlock(),e.createElementBlock("div",Ld,[e.renderSlot(h.$slots,"footer")])):e.createCommentVNode("",!0),t.showPagination?(e.openBlock(),e.createElementBlock("div",Md,[e.createElementVNode("div",Od,[e.createVNode(Ze,{for:"pageSize",class:e.normalizeClass(v.value),inline:!0},{default:e.withCtx(()=>[...x[5]||(x[5]=[e.createTextVNode("Show:",-1)])]),_:1},8,["class"]),e.createVNode(ze,{id:"pageSize","model-value":t.pageSize.toString(),class:e.normalizeClass(b.value),"onUpdate:modelValue":x[0]||(x[0]=u=>h.$emit("update:pageSize",parseInt(u)))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizeOptions,u=>(e.openBlock(),e.createBlock(Mt,{key:u,value:u.toString(),label:u.toString()},null,8,["value","label"]))),128))]),_:1},8,["model-value","class"])]),e.createElementVNode("div",_d,[e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass(N(!1,t.currentPage===1)),title:"First page",onClick:x[1]||(x[1]=u=>h.$emit("update:currentPage",1))},[...x[6]||(x[6]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m18.75 4.5-7.5 7.5 7.5 7.5m-6-15L5.25 12l7.5 7.5"})],-1)])],10,Rd),e.createElementVNode("button",{disabled:t.currentPage===1,class:e.normalizeClass(N(!1,t.currentPage===1)),title:"Previous page",onClick:x[2]||(x[2]=u=>h.$emit("update:currentPage",t.currentPage-1))},[...x[7]||(x[7]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5L8.25 12l7.5-7.5"})],-1)])],10,qd),e.createElementVNode("div",Ud,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,u=>(e.openBlock(),e.createElementBlock("button",{key:u,class:e.normalizeClass(N(u===t.currentPage,!1)),onClick:m=>h.$emit("update:currentPage",u)},e.toDisplayString(u),11,Yd))),128))]),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass(N(!1,t.currentPage===t.totalPages)),title:"Next page",onClick:x[3]||(x[3]=u=>h.$emit("update:currentPage",t.currentPage+1))},[...x[8]||(x[8]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m8.25 4.5 7.5 7.5-7.5 7.5"})],-1)])],10,Wd),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,class:e.normalizeClass(N(!1,t.currentPage===t.totalPages)),title:"Last page",onClick:x[4]||(x[4]=u=>h.$emit("update:currentPage",t.totalPages))},[...x[9]||(x[9]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m5.25 4.5 7.5 7.5-7.5 7.5m6-15 7.5 7.5-7.5 7.5"})],-1)])],10,Hd)]),e.createElementVNode("div",Gd," Page "+e.toDisplayString(t.currentPage)+" of "+e.toDisplayString(t.totalPages),1)])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0)}},tt=(t,n)=>{const a=t.__vccOpts||t;for(const[r,o]of n)a[r]=o;return a},Kd={class:"relative"},Xd={class:"flex items-center justify-center"},Jd=["onClick"],Qd={class:"flex items-center gap-2"},Zd={key:1,class:"flex flex-col"},eu={key:0},tu=["colspan"],au={class:"flex justify-center items-center"},nu={key:2},ru=["colspan"],ou={class:"text-center"},lu={class:"text-slate-400 mb-4"},su={class:"text-slate-600 text-lg font-medium mb-2"},iu={__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"},loading:{type:Boolean,default:!1},dataLoading:{type:Boolean,default:!1},sortLoading:{type:Boolean,default:!1},paginationLoading:{type:Boolean,default:!1},bulkLoading:{type:Boolean,default:!1},rowLoading:{type:Object,default:()=>({})},loadingType:{type:String,default:"dots",validator:t=>["spin","pulse","bounce","ripple","bars","dots","ring"].includes(t)},loadingSize:{type:String,default:"medium",validator:t=>["small","medium","large","xl"].includes(t)},loadingColor:{type:String,default:"#3b82f6"},loadingText:{type:String,default:"Loading..."},loadingTextPosition:{type:String,default:"bottom",validator:t=>["top","bottom"].includes(t)},loadingBackground:{type:String,default:"rgba(255, 255, 255, 0.95)"},showSkeleton:{type:Boolean,default:!0},skeletonRows:{type:Number,default:5},hasLoaded:{type:Boolean,default:!1}},emits:["selection-change","sort-change","row-click","page-change","page-size-change","refresh"],setup(t,{expose:n,emit:a}){const r=t,o=a,s=e.ref(1),l=e.ref(r.pageSize),i=e.ref(r.sortBy),c=e.ref(r.sortOrder),f=E.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=E.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"}}),b=E.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"}}),N=E.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"}}),h=e.computed(()=>{let w=[...r.data];if(i.value){const $=r.columns.find(F=>F.key===i.value);$&&w.sort((F,K)=>{const de=V(F,$),Te=V(K,$);return de<Te?c.value==="asc"?-1:1:de>Te?c.value==="asc"?1:-1:0})}return w}),x=e.computed(()=>Math.ceil(h.value.length/l.value)),u=e.computed(()=>{if(!r.showPagination)return h.value;const w=(s.value-1)*l.value,$=w+l.value;return h.value.slice(w,$)}),m=e.computed(()=>{let w=r.columns.length;return r.selectable&&w++,r.$slots?.actions&&w++,w}),d=e.computed(()=>h.value.length>0&&h.value.every(w=>k(w))),g=e.computed(()=>{const w=h.value.filter($=>k($)).length;return w>0&&w<h.value.length}),V=(w,$)=>$.accessor?$.accessor(w):$.key.split(".").reduce((F,K)=>F?.[K],w),B=(w,$)=>w[r.rowKey]||$,k=w=>r.selectedItems.some($=>B($)===B(w)),R=w=>{const $=[...r.selectedItems],F=$.findIndex(K=>B(K)===B(w));F>-1?$.splice(F,1):$.push(w),o("selection-change",$)},T=()=>{if(r.loading||r.dataLoading)return;const w=d.value?[]:[...h.value];o("selection-change",w)},U=async w=>{!w.sortable||r.loading||r.sortLoading||(i.value===w.key?c.value=c.value==="asc"?"desc":"asc":(i.value=w.key,c.value="asc"),o("sort-change",{column:w.key,direction:c.value}))},W=w=>{r.loading||o("row-click",w)},z=async w=>{r.paginationLoading||r.loading||(s.value=w,o("page-change",w))},L=async w=>{r.paginationLoading||r.loading||(l.value=w,s.value=1,o("page-size-change",w))},I=e.computed(()=>y(f({variant:r.variant}))),p=e.computed(()=>y(v({variant:r.variant}))),C=e.computed(()=>y(b({variant:r.variant}))),D=e.computed(()=>y(N({variant:r.variant}))),q=w=>y({compact:"px-4 py-2",normal:"px-6 py-3",comfortable:"px-8 py-4"}[r.density],"text-left text-xs font-medium text-slate-500 uppercase tracking-wider",{"cursor-pointer hover:bg-slate-100 transition-colors":w.sortable&&!r.loading&&!r.sortLoading,"cursor-not-allowed opacity-50":r.loading||r.sortLoading&&i.value===w.key}),M=()=>y({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm text-slate-900"),J=e.computed(()=>y({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm text-slate-900 w-12")),De=e.computed(()=>y({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm font-medium text-center")),j=e.computed(()=>y({compact:"px-4 py-4",normal:"px-6 py-6",comfortable:"px-8 py-8"}[r.density],"text-center")),A=(w,$)=>y({"text-blue-600":i.value===w.key&&c.value===$,"text-slate-300":i.value!==w.key||c.value!==$});return e.watch(()=>r.selectedItems,()=>{},{deep:!0}),e.watch(()=>r.pageSize,w=>{l.value=w}),n({refresh:()=>{o("refresh")},goToPage:w=>{z(w)},selectAll:()=>{T()},clearSelection:()=>{o("selection-change",[])},getCurrentPage:()=>s.value,getTotalPages:()=>x.value,getSelectedItems:()=>r.selectedItems}),(w,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(I.value)},[t.title||t.description||w.$slots.header?(e.openBlock(),e.createBlock(Ut,{key:0,title:t.title,description:t.description,variant:t.headerVariant,padding:t.headerPadding},{header:e.withCtx(()=>[e.renderSlot(w.$slots,"header",{},void 0,!0)]),filters:e.withCtx(()=>[e.renderSlot(w.$slots,"filters",{},void 0,!0)]),_:3},8,["title","description","variant","padding"])):e.createCommentVNode("",!0),e.createElementVNode("div",Kd,[t.loading?(e.openBlock(),e.createBlock(e.unref(pe),{key:0,loading:!0,type:t.loadingType,size:t.loadingSize,color:t.loadingColor,overlay:!0,text:t.loadingText,"text-position":t.loadingTextPosition,"background-color":t.loadingBackground,class:"table-loading-overlay"},null,8,["type","size","color","text","text-position","background-color"])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["overflow-x-auto",{"opacity-50":t.loading}])},[e.createElementVNode("table",{class:e.normalizeClass(p.value)},[e.createElementVNode("thead",{class:e.normalizeClass(C.value)},[e.createElementVNode("tr",null,[t.selectable?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(J.value)},[e.createElementVNode("div",Xd,[t.bulkLoading?(e.openBlock(),e.createBlock(e.unref(pe),{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):(e.openBlock(),e.createBlock(Je,{key:1,"model-value":d.value,indeterminate:g.value,disabled:t.loading||t.dataLoading,"onUpdate:modelValue":T},null,8,["model-value","indeterminate","disabled"]))])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,F=>(e.openBlock(),e.createElementBlock("th",{key:F.key,class:e.normalizeClass(q(F)),onClick:K=>U(F)},[e.createElementVNode("div",Qd,[e.createElementVNode("span",null,e.toDisplayString(F.label),1),t.sortLoading&&i.value===F.key?(e.openBlock(),e.createBlock(e.unref(pe),{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):F.sortable?(e.openBlock(),e.createElementBlock("div",Zd,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([A(F,"asc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...$[0]||($[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 15.75 7.5-7.5 7.5 7.5"},null,-1)])],2)),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([A(F,"desc"),"w-3 h-3 transition-colors"]),fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[...$[1]||($[1]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"},null,-1)])],2))])):e.createCommentVNode("",!0)])],10,Jd))),128)),w.$slots.actions?(e.openBlock(),e.createElementBlock("th",{key:1,class:e.normalizeClass(De.value)}," Actions ",2)):e.createCommentVNode("",!0)])],2),e.createElementVNode("tbody",{class:e.normalizeClass(D.value)},[t.dataLoading&&!t.loading?(e.openBlock(),e.createElementBlock("tr",eu,[e.createElementVNode("td",{colspan:m.value,class:e.normalizeClass(j.value)},[e.createElementVNode("div",au,[e.createVNode(e.unref(pe),{loading:!0,type:"dots",size:"medium",color:t.loadingColor},null,8,["color"])])],10,tu)])):u.value.length>0&&!t.loading?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(u.value,(F,K)=>(e.openBlock(),e.createBlock(Yt,{key:B(F,K),item:F,columns:t.columns,index:K,selectable:t.selectable,"is-selected":k(F),striped:t.striped,hoverable:t.hoverable,"clickable-rows":t.clickableRows,density:t.density,"row-loading":t.rowLoading[B(F,K)],"loading-color":t.loadingColor,onToggleSelection:R,onRowClick:W},e.createSlots({actions:e.withCtx(de=>[e.renderSlot(w.$slots,"actions",e.mergeProps({ref_for:!0},de),void 0,!0)]),_:2},[e.renderList(t.columns,de=>({name:`cell-${de.key}`,fn:e.withCtx(Te=>[e.renderSlot(w.$slots,`cell-${de.key}`,e.mergeProps({ref_for:!0},Te),void 0,!0)])}))]),1032,["item","columns","index","selectable","is-selected","striped","hoverable","clickable-rows","density","row-loading","loading-color"]))),128)):!t.loading&&!t.dataLoading&&t.hasLoaded?(e.openBlock(),e.createElementBlock("tr",nu,[e.createElementVNode("td",{colspan:m.value,class:e.normalizeClass(j.value)},[e.renderSlot(w.$slots,"empty",{},()=>[e.createElementVNode("div",ou,[e.createElementVNode("div",lu,[e.createVNode(_,{name:"search",class:"w-12 h-12"})]),e.createElementVNode("p",su,e.toDisplayString(t.emptyText),1),$[2]||($[2]=e.createElementVNode("p",{class:"text-slate-500 text-sm"}," Try adjusting your search or filter criteria ",-1))])],!0)],10,ru)])):e.createCommentVNode("",!0),t.showSkeleton&&(t.loading||t.dataLoading)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:3},e.renderList(t.skeletonRows,F=>(e.openBlock(),e.createElementBlock("tr",{key:`skeleton-${F}`,class:"animate-pulse"},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(J.value)},[...$[3]||($[3]=[e.createElementVNode("div",{class:"w-4 h-4 bg-slate-200 rounded"},null,-1)])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,K=>(e.openBlock(),e.createElementBlock("td",{key:K.key,class:e.normalizeClass(M())},[...$[4]||($[4]=[e.createElementVNode("div",{class:"h-4 bg-slate-200 rounded w-3/4"},null,-1)])],2))),128)),w.$slots.actions?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass(De.value)},[...$[5]||($[5]=[e.createElementVNode("div",{class:"flex gap-2 justify-center"},[e.createElementVNode("div",{class:"w-6 h-6 bg-slate-200 rounded"}),e.createElementVNode("div",{class:"w-6 h-6 bg-slate-200 rounded"})],-1)])],2)):e.createCommentVNode("",!0)]))),128)):e.createCommentVNode("",!0)],2)],2)],2)]),t.showPagination||w.$slots.footer?(e.openBlock(),e.createBlock(Wt,{key:1,"current-page":s.value,"total-pages":x.value,total:h.value.length,"page-size":l.value,"show-pagination":t.showPagination,selectable:t.selectable,"selected-count":t.selectedItems.length,variant:t.paginationVariant,padding:t.paginationPadding,loading:t.paginationLoading,disabled:t.loading||t.dataLoading,"onUpdate:currentPage":z,"onUpdate:pageSize":L},{footer:e.withCtx(()=>[e.renderSlot(w.$slots,"footer",{},void 0,!0)]),_:3},8,["current-page","total-pages","total","page-size","show-pagination","selectable","selected-count","variant","padding","loading","disabled"])):e.createCommentVNode("",!0)],2))}},pr=tt(iu,[["__scopeId","data-v-1d159ea7"]]),yr={__name:"DataTableCell",props:{item:{type:Object,required:!0},column:{type:Object,required:!0},value:{type:[String,Number,Boolean,Object,Array],default:null},align:{type:String,default:"left",validator:t=>["left","center","right"].includes(t)},width:{type:String,default:null},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},textSize:{type:String,default:"sm",validator:t=>["xs","sm","base","lg"].includes(t)},textColor:{type:String,default:"slate-900"}},setup(t){const n=t,a=e.computed(()=>{const l=n.value??r();return n.column.formatter?n.column.formatter(l,n.item):l}),r=()=>n.column.accessor?n.column.accessor(n.item):n.column.key.split(".").reduce((l,i)=>l?.[i],n.item),o=E.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"}}),s=e.computed(()=>{const l=n.align||n.column.align||"left",i=`text-${n.textColor}`,c=n.width?`w-${n.width}`:"";return y(o({align:l,padding:n.padding,textSize:n.textSize}),i,c,n.column.cellClasses)});return(l,i)=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(s.value)},[e.renderSlot(l.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])],2))}},cu={class:"bg-white border-b border-gray-200"},du={class:"flex-1 min-w-80 max-w-md"},uu={class:"relative group"},mu=["model-value","placeholder"],fu={key:0,class:"min-w-36"},gu={class:"relative"},vu=["value"],pu={key:1,class:"flex items-center gap-2"},yu={class:"flex items-center gap-3 ml-auto"},bu={class:"grid grid-cols-1 lg:grid-cols-3 gap-6"},hu={class:"flex items-center justify-between"},xu={class:"flex items-center gap-3"},ku={class:"relative flex-1"},wu=["model-value","placeholder","onInput"],Cu={class:"relative flex-1"},Bu=["model-value","placeholder","onInput"],Su=["onClick"],Vu={class:"flex items-center gap-3 flex-wrap"},Nu=["onClick"],Eu={key:2,class:"px-6 py-3 bg-gray-50 border-t border-gray-200"},$u={class:"flex items-center justify-between"},zu={class:"flex items-center gap-4"},Du={class:"text-sm text-gray-600"},Tu={class:"font-medium"},br={__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:""},dateFilters:{type:Array,default:()=>[],validator:t=>t.every(n=>Object.prototype.hasOwnProperty.call(n,"key")&&Object.prototype.hasOwnProperty.call(n,"label")&&Object.prototype.hasOwnProperty.call(n,"from")&&Object.prototype.hasOwnProperty.call(n,"to"))},showExport:{type:Boolean,default:!1},showAdd:{type:Boolean,default:!1},showTableInfo:{type:Boolean,default:!0},totalItems:{type:Number,default:0},itemLabel:{type:String,default:"items"},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:searchQuery","update:selectedStatus","update:dateFrom","update:dateTo","update:dateFilters","export","add","clear-filters"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(!1),s=E.cva("flex flex-wrap items-center gap-4",{variants:{variant:{default:"bg-white",minimal:"bg-transparent",bordered:"bg-gray-50"},padding:{compact:"px-4 py-3",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),l=E.cva("border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all text-sm",{variants:{size:{sm:"px-2 py-1.5",md:"px-3 py-2.5",lg:"px-4 py-3"}},defaultVariants:{size:"md"}}),i=E.cva("rounded-lg flex items-center font-medium transition-all",{variants:{variant:{default:"text-gray-700 hover:text-gray-900 border border-gray-200 hover:bg-gray-50 hover:border-gray-300 bg-white",primary:"text-white bg-blue-600 hover:bg-blue-700 border border-blue-600 shadow-sm",success:"text-white bg-green-600 hover:bg-green-700 border border-green-600 shadow-sm",ghost:"text-gray-600 hover:text-gray-800 hover:bg-gray-100"},size:{sm:"px-2 py-1.5 text-xs",md:"px-3 py-2 text-sm",lg:"px-4 py-2.5 text-sm"}},defaultVariants:{variant:"default",size:"md"}}),c=j=>!!(j.from||j.to),f=j=>{const A=[...a.dateFilters],w=A.findIndex($=>$.key===j);w>=0&&(A[w]={...A[w],from:"",to:""},r("update:dateFilters",A))},v=j=>`text-xs px-2 py-1 rounded ${c(j)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,b=()=>{o.value=!o.value},N=(j,A,w)=>{const $=[...a.dateFilters],F=$.findIndex(K=>K.key===j);F>=0&&($[F]={...$[F],[A]:w},r("update:dateFilters",$))},h=e.computed(()=>{const j=a.searchQuery,A=a.selectedStatus,w=a.dateFrom||a.dateTo,$=a.dateFilters.some(F=>F.from||F.to);return j||A||w||$}),x=e.computed(()=>{let j=0;return a.searchQuery&&j++,a.selectedStatus&&j++,(a.dateFrom||a.dateTo)&&j++,j+=a.dateFilters.filter(A=>A.from||A.to).length,j}),u=e.computed(()=>{const j=[];if(a.searchQuery&&a.searchQuery.trim()&&j.push({key:"search",label:"Search",value:`"${a.searchQuery}"`,icon:"magnifying-glass"}),a.selectedStatus){const A=a.statusOptions.find(w=>w.value===a.selectedStatus);j.push({key:"status",label:"Status",value:A?.label||a.selectedStatus,icon:"filter"})}if(a.dateFrom||a.dateTo){let A="";a.dateFrom&&a.dateTo?A=`${a.dateFrom} to ${a.dateTo}`:a.dateFrom?A=`From ${a.dateFrom}`:a.dateTo&&(A=`Until ${a.dateTo}`),A&&j.push({key:"date",label:"Date Range",value:A,icon:"calendar"})}return a.dateFilters.forEach(A=>{if(A.from||A.to){let w="";A.from&&A.to?w=`${A.from} to ${A.to}`:A.from?w=`From ${A.from}`:A.to&&(w=`Until ${A.to}`),w&&j.push({key:`date-${A.key}`,label:A.label,value:w,icon:"calendar"})}}),j}),m=e.computed(()=>y(s({variant:a.variant,padding:a.padding}))),d=e.computed(()=>"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 group-hover:text-gray-600 transition-colors"),g=e.computed(()=>y(l({size:"md"}),"w-full pl-10 pr-10 hover:border-gray-300")),V=e.computed(()=>"absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-gray-600 p-1 hover:bg-gray-100 rounded-full transition-all"),B=e.computed(()=>y(l({size:"md"}),"w-full pr-8 appearance-none hover:border-gray-300")),k=e.computed(()=>{const j=o.value||h.value;return y(i({variant:j?"primary":"default",size:"lg"}),"gap-2")}),R=e.computed(()=>"bg-white text-blue-600 text-xs px-1.5 py-0.5 rounded-full min-w-[20px] text-center font-semibold"),T=e.computed(()=>"px-6 py-4 border-t border-gray-100 bg-gray-50"),U=e.computed(()=>y(l({size:"md"}),"pl-10 pr-3")),W=e.computed(()=>"text-sm font-semibold text-gray-700"),z=e.computed(()=>"text-gray-500 text-sm font-medium"),L=e.computed(()=>"text-gray-400 hover:text-gray-600 p-1.5 hover:bg-gray-200 rounded-full transition-all"),I=e.computed(()=>y(i({variant:"ghost",size:"md"}))),p=e.computed(()=>y(i({variant:"default",size:"lg"}))),C=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),D=e.computed(()=>"text-sm font-semibold text-blue-800"),q=e.computed(()=>"flex items-center gap-1.5 bg-white border border-blue-200 text-blue-800 px-3 py-1.5 rounded-full text-sm font-medium"),M=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),J=()=>{r("update:searchQuery",""),r("update:selectedStatus",""),r("update:dateFrom",""),r("update:dateTo","");const j=a.dateFilters.map(A=>({...A,from:"",to:""}));r("update:dateFilters",j),r("clear-filters")},De=j=>{switch(j){case"search":r("update:searchQuery","");break;case"status":r("update:selectedStatus","");break;case"date":r("update:dateFrom",""),r("update:dateTo","");break;default:if(j.startsWith("date-")){const A=j.replace("date-",""),w=a.dateFilters.map($=>$.key===A?{...$,from:"",to:""}:$);r("update:dateFilters",w)}break}};return(j,A)=>{const w=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",cu,[e.createElementVNode("div",{class:e.normalizeClass(m.value)},[e.createElementVNode("div",du,[e.createElementVNode("div",uu,[e.createVNode(w,{icon:"magnifying-glass",class:e.normalizeClass(d.value)},null,8,["class"]),e.createElementVNode("input",{"model-value":t.searchQuery,placeholder:t.searchPlaceholder,class:e.normalizeClass(g.value),onInput:A[0]||(A[0]=$=>j.$emit("update:searchQuery",$.target.value))},null,42,mu),t.searchQuery?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(V.value),onClick:A[1]||(A[1]=$=>j.$emit("update:searchQuery",""))},[e.createVNode(w,{icon:"xmark",class:"w-3 h-3"})],2)):e.createCommentVNode("",!0)])]),t.statusOptions.length>0?(e.openBlock(),e.createElementBlock("div",fu,[e.createElementVNode("div",gu,[e.createVNode(ze,{"model-value":t.selectedStatus,class:e.normalizeClass(B.value),onChange:A[2]||(A[2]=$=>j.$emit("update:selectedStatus",$.target.value))},{default:e.withCtx(()=>[A[5]||(A[5]=e.createElementVNode("option",{value:""}," All Status ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.statusOptions,$=>(e.openBlock(),e.createElementBlock("option",{key:$.value,value:$.value},e.toDisplayString($.label),9,vu))),128))]),_:1},8,["model-value","class"]),e.createVNode(w,{icon:"chevron-down",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})])])):e.createCommentVNode("",!0),e.createElementVNode("button",{class:e.normalizeClass(k.value),onClick:b},[e.createVNode(w,{icon:"filter",class:"w-4 h-4"}),A[6]||(A[6]=e.createTextVNode(" Filters ",-1)),x.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(R.value)},e.toDisplayString(x.value),3)):e.createCommentVNode("",!0),e.createVNode(w,{icon:o.value?"chevron-up":"chevron-down",class:"w-4 h-4 ml-1"},null,8,["icon"])],2),j.$slots.filters?(e.openBlock(),e.createElementBlock("div",pu,[e.renderSlot(j.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",yu,[h.value?(e.openBlock(),e.createBlock(ae,{key:0,class:e.normalizeClass(I.value),onClick:J},{default:e.withCtx(()=>[e.createVNode(w,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),A[7]||(A[7]=e.createTextVNode(" Clear All ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(ae,{key:1,class:e.normalizeClass(p.value),onClick:A[3]||(A[3]=$=>j.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(w,{icon:"download",class:"w-4 h-4 mr-2"}),A[8]||(A[8]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),e.renderSlot(j.$slots,"actions",{},()=>[t.showAdd?(e.openBlock(),e.createBlock(ae,{key:0,variant:"success",size:"lg",onClick:A[4]||(A[4]=$=>j.$emit("add"))},{default:e.withCtx(()=>[e.createVNode(w,{icon:"plus",class:"w-4 h-4 mr-2"}),A[9]||(A[9]=e.createTextVNode(" Add ",-1))]),_:1})):e.createCommentVNode("",!0)])])],2),o.value&&t.dateFilters.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(T.value)},[e.createElementVNode("div",bu,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.dateFilters,$=>(e.openBlock(),e.createElementBlock("div",{key:$.key,class:"space-y-3"},[e.createElementVNode("div",hu,[e.createElementVNode("label",{class:e.normalizeClass(W.value)},e.toDisplayString($.label),3),e.createElementVNode("span",{class:e.normalizeClass(v($))},e.toDisplayString(c($)?"Active":"Inactive"),3)]),e.createElementVNode("div",xu,[e.createElementVNode("div",ku,[e.createVNode(w,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":$.from,class:e.normalizeClass(U.value),placeholder:`From ${$.label}`,onInput:F=>N($.key,"from",F.target.value)},null,42,wu)]),e.createElementVNode("span",{class:e.normalizeClass(z.value)},"to",2),e.createElementVNode("div",Cu,[e.createVNode(w,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":$.to,class:e.normalizeClass(U.value),placeholder:`To ${$.label}`,onInput:F=>N($.key,"to",F.target.value)},null,42,Bu)]),c($)?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(L.value),title:"Clear this filter",onClick:F=>f($.key)},[e.createVNode(w,{icon:"xmark",class:"w-4 h-4"})],10,Su)):e.createCommentVNode("",!0)])]))),128))])],2)):e.createCommentVNode("",!0),u.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(C.value)},[e.createElementVNode("div",Vu,[e.createElementVNode("span",{class:e.normalizeClass(D.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,$=>(e.openBlock(),e.createElementBlock("div",{key:$.key,class:e.normalizeClass(q.value)},[e.createVNode(w,{icon:$.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString($.label)+": "+e.toDisplayString($.value),1),e.createElementVNode("button",{class:e.normalizeClass(M.value),onClick:F=>De($.key)},[e.createVNode(w,{icon:"xmark",class:"w-3 h-3"})],10,Nu)],2))),128))])],2)):e.createCommentVNode("",!0),t.showTableInfo?(e.openBlock(),e.createElementBlock("div",Eu,[e.createElementVNode("div",$u,[e.createElementVNode("div",zu,[e.createElementVNode("span",Du,[e.createElementVNode("span",Tu,e.toDisplayString(t.totalItems||0),1),e.createTextVNode(" "+e.toDisplayString(t.itemLabel||"items")+" found ",1)])])])])):e.createCommentVNode("",!0)])}}},Au={class:"flex items-center gap-3"},Iu={key:0,class:"flex items-center gap-3"},Pu={class:"text-sm text-slate-600"},ju={class:"flex items-center gap-2"},Fu={class:"flex items-center gap-3"},Lu=["title","onClick"],Mu={key:1,class:"relative"},Ou={class:"p-3"},_u={class:"space-y-1"},Ru={class:"flex items-center gap-2 cursor-pointer w-full"},qu=["checked","onChange"],Uu=["disabled"],Yu={key:3,class:"flex items-center gap-2"},Wu=[{key:"delete",label:"Delete",icon:{template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0" /></svg>'},variant:"destructive"},{key:"edit",label:"Edit",icon:{template:'<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10" /></svg>'},variant:"primary"}],Hu={name:"DataTableToolBar"},hr=Object.assign(Hu,{props:{selectedItems:{type:Array,default:()=>[]},totalItems:{type:Number,default:0},bulkActions:{type:Array,default:()=>Wu},showDensityToggle:{type:Boolean,default:!0},showColumnToggle:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},isRefreshing:{type:Boolean,default:!1},density:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)},toggleableColumns:{type:Array,default:()=>[]},visibleColumns:{type:Array,default:()=>[]},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["bulk-action","update:density","toggle-column","refresh"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(!1),s=e.ref(null),l=e.ref(null),i=e.computed(()=>a.selectedItems.length),c=[{value:"compact",label:"Compact",icon:["fas","minus"]},{value:"normal",label:"Normal",icon:["fas","bars"]},{value:"comfortable",label:"Comfortable",icon:["fas","bars-staggered"]}],f=E.cva("flex items-center justify-between border-b border-slate-200",{variants:{variant:{default:"bg-white",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-50 border-slate-300"},padding:{compact:"p-2",normal:"p-4",comfortable:"p-6"}},defaultVariants:{variant:"default",padding:"normal"}}),v=E.cva("px-3 py-1.5 text-sm font-medium rounded-md flex items-center gap-1 transition-colors",{variants:{variant:{danger:"text-red-700 bg-red-500 hover:bg-red-400 border border-red-200",primary:"text-blue-700 bg-blue-50 hover:bg-blue-100 border border-blue-200",secondary:"text-slate-700 bg-slate-500 hover:bg-slate-400 border border-slate-200"}},defaultVariants:{variant:"secondary"}}),b=E.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"}}),N=E.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"}}),h=e.computed(()=>y(f({variant:a.variant,padding:a.padding}))),x=e.computed(()=>"text-sm text-slate-600"),u=e.computed(()=>"flex items-center"),m=e.computed(()=>"flex items-center gap-2 px-3 py-2 text-sm text-slate-600 hover:text-slate-800 border border-slate-300 rounded-md hover:bg-slate-50 transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-1"),d=e.computed(()=>"absolute right-0 top-full mt-1 w-56 bg-white border border-slate-200 rounded-lg shadow-lg z-50 max-h-64 overflow-y-auto"),g=e.computed(()=>"text-xs font-medium text-slate-500 uppercase tracking-wider mb-2 border-b border-slate-100 pb-2"),V=e.computed(()=>"py-1 hover:bg-slate-50 rounded transition-colors"),B=e.computed(()=>"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 focus:ring-2 focus:ring-offset-1"),k=e.computed(()=>"text-sm text-slate-700 flex-1 select-none"),R=C=>{s.value&&l.value&&!s.value.contains(C.target)&&!l.value.contains(C.target)&&(o.value=!1)},T=()=>{o.value=!o.value},U=C=>y(v({variant:C.variant||"secondary"})),W=C=>{let D="middle";return C==="compact"?D="first":C==="comfortable"&&(D="last"),y(b({active:a.density===C,position:D}))},z=()=>y(N({state:a.isRefreshing?"refreshing":"normal"})),L=()=>y("w-4 h-4",{"animate-spin":a.isRefreshing}),I=C=>a.visibleColumns.includes(C),p=(C,D)=>{r("toggle-column",{column:C,visible:D})};return e.onMounted(()=>{document.addEventListener("click",R)}),e.onUnmounted(()=>{document.removeEventListener("click",R)}),(C,D)=>{const q=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(h.value)},[e.createElementVNode("div",Au,[i.value>0?(e.openBlock(),e.createElementBlock("div",Iu,[e.createElementVNode("span",Pu,e.toDisplayString(i.value)+" selected ",1),e.createElementVNode("div",ju,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bulkActions,M=>(e.openBlock(),e.createBlock(ae,{key:M.key,class:e.normalizeClass(U(M)),onClick:J=>C.$emit("bulk-action",{action:M.key,items:t.selectedItems})},{default:e.withCtx(()=>[M.icon?(e.openBlock(),e.createBlock(q,{key:0,icon:M.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(M.label),1)]),_:2},1032,["class","onClick"]))),128))])])):t.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(x.value)},e.toDisplayString(t.totalItems)+" "+e.toDisplayString(t.totalItems===1?"item":"items"),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Fu,[t.showDensityToggle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(u.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(c,M=>e.createElementVNode("button",{key:M.value,class:e.normalizeClass(W(M.value)),title:M.label,type:"button",onClick:J=>C.$emit("update:density",M.value)},[e.createVNode(q,{icon:M.icon,class:"w-4 h-4"},null,8,["icon"])],10,Lu)),64))],2)):e.createCommentVNode("",!0),t.showColumnToggle?(e.openBlock(),e.createElementBlock("div",Mu,[e.createElementVNode("button",{ref_key:"columnToggleButton",ref:s,class:e.normalizeClass(m.value),type:"button",onClick:e.withModifiers(T,["stop"])},[e.createVNode(q,{icon:"columns",class:"w-4 h-4"}),D[2]||(D[2]=e.createElementVNode("span",null,"Columns",-1))],2),e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:l,class:e.normalizeClass(d.value),onClick:D[0]||(D[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Ou,[e.createElementVNode("div",{class:e.normalizeClass(g.value)}," Show Columns ",2),e.createElementVNode("div",_u,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toggleableColumns,M=>(e.openBlock(),e.createElementBlock("div",{key:M.key,class:e.normalizeClass(V.value)},[e.createElementVNode("label",Ru,[e.createElementVNode("input",{type:"checkbox",checked:I(M.key),class:e.normalizeClass(B.value),onChange:J=>p(M.key,J.target.checked)},null,42,qu),e.createElementVNode("span",{class:e.normalizeClass(k.value)},e.toDisplayString(M.label),3)])],2))),128))])])],2),[[e.vShow,o.value]])])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:t.isRefreshing,class:e.normalizeClass(z()),type:"button",onClick:D[1]||(D[1]=M=>C.$emit("refresh"))},[e.createVNode(q,{icon:"sync",class:e.normalizeClass(L())},null,8,["class"]),D[3]||(D[3]=e.createElementVNode("span",null,"Refresh",-1))],10,Uu)):e.createCommentVNode("",!0),C.$slots.actions?(e.openBlock(),e.createElementBlock("div",Yu,[e.renderSlot(C.$slots,"actions")])):e.createCommentVNode("",!0)])],2)}}}),Gu={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"},Ku={class:"grid grid-cols-1 md:grid-cols-4 gap-8"},Xu={class:"col-span-1 md:col-span-2"},Ju={class:"space-y-2"},Qu={class:"flex space-x-4"},Zu={class:"flex flex-col md:flex-row justify-between items-center"},em={class:"flex space-x-6 mt-4 md:mt-0"},xr={__name:"Footer",props:{className:{type:String,default:""}},setup(t){return(n,a)=>{const r=e.resolveComponent("Logo"),o=e.resolveComponent("Text"),s=e.resolveComponent("Typography"),l=e.resolveComponent("Link"),i=e.resolveComponent("Icon"),c=e.resolveComponent("Divider");return e.openBlock(),e.createElementBlock("footer",{class:e.normalizeClass(e.unref(y)("bg-gray-50 border-t border-gray-200",t.className))},[e.createElementVNode("div",Gu,[e.createElementVNode("div",Ku,[e.createElementVNode("div",Xu,[e.renderSlot(n.$slots,"brand",{},()=>[e.createVNode(r,{class:"mb-4"}),e.createVNode(o,{class:"text-gray-600 max-w-md"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" Building beautiful applications with modern Vue.js components. ",-1)])]),_:1})])]),e.createElementVNode("div",null,[e.renderSlot(n.$slots,"links",{},()=>[e.createVNode(s,{variant:"h6",class:"mb-4"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode(" Quick Links ",-1)])]),_:1}),e.createElementVNode("div",Ju,[e.createVNode(l,{href:"#",class:"block text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" About ",-1)])]),_:1}),e.createVNode(l,{href:"#",class:"block text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[3]||(a[3]=[e.createTextVNode(" Services ",-1)])]),_:1}),e.createVNode(l,{href:"#",class:"block text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[4]||(a[4]=[e.createTextVNode(" Contact ",-1)])]),_:1})])])]),e.createElementVNode("div",null,[e.renderSlot(n.$slots,"social",{},()=>[e.createVNode(s,{variant:"h6",class:"mb-4"},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode(" Follow Us ",-1)])]),_:1}),e.createElementVNode("div",Qu,[e.createVNode(l,{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(l,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[e.createVNode(i,{name:"github",class:"h-5 w-5"})]),_:1})])])])]),e.createVNode(c,{class:"my-8"}),e.createElementVNode("div",Zu,[e.renderSlot(n.$slots,"copyright",{},()=>[e.createVNode(o,{class:"text-gray-600"},{default:e.withCtx(()=>[e.createTextVNode(" © "+e.toDisplayString(new Date().getFullYear())+" Your Company. All rights reserved. ",1)]),_:1})]),e.renderSlot(n.$slots,"legal",{},()=>[e.createElementVNode("div",em,[e.createVNode(l,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[6]||(a[6]=[e.createTextVNode(" Privacy ",-1)])]),_:1}),e.createVNode(l,{href:"#",class:"text-gray-600 hover:text-gray-900"},{default:e.withCtx(()=>[...a[7]||(a[7]=[e.createTextVNode(" Terms ",-1)])]),_:1})])])])])],2)}}},tm={class:"flex items-center justify-between h-16 px-4 md:px-6"},am={class:"flex items-center"},nm={key:0,class:"mr-4 flex-shrink-0 bg-gradient-to-r from-blue-50 to-indigo-50 px-3 py-2 rounded-lg border border-blue-100"},rm={class:"text-lg font-bold text-blue-900 truncate max-w-[200px]"},om={key:0,class:"text-xs text-blue-600 truncate font-medium"},lm={class:"hidden md:flex items-center space-x-2 text-sm truncate"},sm={class:"text-gray-500 truncate"},im={class:"text-gray-900 font-medium truncate"},cm={class:"flex items-center space-x-3 md:space-x-4"},dm={key:1,class:"relative"},um={key:0,class:"absolute -top-1 -right-1 w-4 h-4 bg-red-500 text-white text-xs rounded-full flex items-center justify-center"},mm={key:0,class:"absolute right-4 md:right-6 top-16 mt-2 w-72 md:w-80 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},fm={class:"max-h-96 overflow-y-auto"},gm={class:"flex items-start space-x-3"},vm={class:"flex-1"},pm={class:"text-sm text-gray-900"},ym={class:"text-xs text-gray-500 mt-1"},bm={class:"relative"},hm={class:"w-8 h-8 bg-gradient-to-br from-blue-100 to-indigo-100 rounded-full flex items-center justify-center transition-colors shadow-sm"},xm={class:"text-blue-700 text-sm font-medium"},km={class:"hidden md:block text-left max-w-[160px] truncate"},wm={class:"text-sm font-medium text-gray-900 truncate"},Cm={class:"text-xs text-gray-500 truncate leading-tight"},Bm={key:0,class:"absolute right-0 mt-2 w-58 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},Sm={class:"p-4 border-b border-gray-200"},Vm={class:"text-sm font-medium text-gray-900"},Nm={class:"text-xs text-gray-500"},Em={class:"py-2"},$m={key:0,class:"absolute left-0 top-1/2 transform -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-blue-600 rounded-r-full"},zm=["onClick"],Dm={class:"flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2 bg-gray-100 text-gray-600 group-hover:bg-gray-200"},Tm={class:"flex-1 truncate font-semibold text-gray-700"},kr={__name:"Header",props:{sidebarWidth:{type:Number,default:256},currentSection:{type:String,default:"Dashboard"},currentPage:{type:String,default:"Overview"},currentRoute:{type:String,default:""},user:{type:Object,required:!0},notifications:{type:Array,default:()=>[]},profileMenuItems:{type:Array,required:!0},mobileOpen:{type:Boolean,default:!1},organisationName:{type:String,default:""},companyLogo:{type:String,default:""}},emits:["search","profile-action","logout","navigate","toggle-mobile-sidebar"],setup(t,{emit:n}){const a=t,r=n,o=e.ref(""),s=e.ref(!1),l=e.ref(!1),i=e.ref(a.notifications.length),c=e.ref(!1),f=e.ref(!1),v=e.computed(()=>(a.user?.name||"Guest").split(" ").map(k=>k[0]||"").join("").toUpperCase()),b=e.computed(()=>a.user?.roles?.length?a.user.roles.map(B=>B.name).join(", "):"No role"),N=()=>{s.value=!s.value,l.value=!1},h=()=>{l.value=!l.value,s.value=!1},x=B=>{r("navigate",B),l.value=!1},u=B=>B.route?!!(a.currentRoute===B.route||a.currentRoute.startsWith(B.route+"/")):!1,m=B=>{r("profile-action",B),l.value=!1},d=()=>{r("logout"),l.value=!1},g=B=>{!B.target.closest(".absolute")&&!B.target.closest("button")&&(s.value=!1,l.value=!1)},V=()=>{f.value=window.innerWidth<768};return e.onMounted(()=>{document.addEventListener("click",g),V(),window.addEventListener("resize",V)}),e.onUnmounted(()=>{document.removeEventListener("click",g),window.removeEventListener("resize",V)}),e.watch(o,B=>r("search",B)),(B,k)=>{const R=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(y)("fixed top-0 z-50 bg-white border-b border-gray-200 transition-all duration-300 ease-in-out w-full")),style:{left:"0"}},[e.createElementVNode("div",tm,[e.createElementVNode("div",am,[t.organisationName?(e.openBlock(),e.createElementBlock("div",nm,[e.createElementVNode("p",rm,e.toDisplayString(t.organisationName),1),t.user.organisation?.role?(e.openBlock(),e.createElementBlock("p",om,e.toDisplayString(t.user.organisation.role),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("nav",lm,[e.createElementVNode("span",sm,e.toDisplayString(t.currentSection),1),k[4]||(k[4]=e.createElementVNode("svg",{class:"w-4 h-4 text-gray-400 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"})],-1)),e.createElementVNode("span",im,e.toDisplayString(t.currentPage),1)])]),e.createElementVNode("div",cm,[f.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors",onClick:k[0]||(k[0]=T=>r("toggle-mobile-sidebar"))},[...k[5]||(k[5]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])])):e.createCommentVNode("",!0),!f.value||c.value?(e.openBlock(),e.createElementBlock("div",dm,[k[6]||(k[6]=e.createElementVNode("div",{class:"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none"},[e.createElementVNode("svg",{class:"w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})])],-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":k[1]||(k[1]=T=>o.value=T),type:"text",placeholder:"Search...",class:"pl-10 pr-4 py-2 w-48 md:w-64 text-sm border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none"},null,512),[[e.vModelText,o.value]]),f.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",onClick:k[2]||(k[2]=T=>c.value=!1)}," ✕ ")):e.createCommentVNode("",!0)])):f.value?(e.openBlock(),e.createElementBlock("button",{key:2,class:"p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors",onClick:k[3]||(k[3]=T=>c.value=!0)},[...k[7]||(k[7]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)])])):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"relative p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors",onClick:N},[k[8]||(k[8]=e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 17h5l-5 5v-5z"}),e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 3h2.586a1 1 0 01.707.293l6.414 6.414a1 1 0 01.293.707V19a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h4L13 3z"})],-1)),i.value>0?(e.openBlock(),e.createElementBlock("span",um,e.toDisplayString(i.value),1)):e.createCommentVNode("",!0)]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-300 ease-in","enter-from-class":"opacity-0 translate-y-2 scale-95","enter-to-class":"opacity-100 translate-y-0 scale-100","leave-from-class":"opacity-100 translate-y-0 scale-100","leave-to-class":"opacity-0 translate-y-2 scale-95"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",mm,[k[10]||(k[10]=e.createElementVNode("div",{class:"p-4 border-b border-gray-200"},[e.createElementVNode("h3",{class:"text-lg font-semibold text-gray-900"}," Notifications ")],-1)),e.createElementVNode("div",fm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.notifications,T=>(e.openBlock(),e.createElementBlock("div",{key:T.id,class:"p-4 border-b border-gray-100 hover:bg-gray-50 cursor-pointer"},[e.createElementVNode("div",gm,[k[9]||(k[9]=e.createElementVNode("div",{class:"flex-shrink-0 w-2 h-2 mt-2 bg-blue-500 rounded-full"},null,-1)),e.createElementVNode("div",vm,[e.createElementVNode("p",pm,e.toDisplayString(T.title),1),e.createElementVNode("p",ym,e.toDisplayString(T.time),1)])])]))),128))]),k[11]||(k[11]=e.createElementVNode("div",{class:"p-4 text-center"},[e.createElementVNode("button",{class:"text-sm text-blue-600 hover:text-blue-800"}," View all notifications ")],-1))])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",bm,[e.createElementVNode("button",{class:"flex items-center space-x-2 md:space-x-3 p-2 rounded-lg hover:bg-gray-50 transition-colors",onClick:h},[e.createElementVNode("div",hm,[e.createElementVNode("span",xm,e.toDisplayString(v.value),1)]),e.createElementVNode("div",km,[e.createElementVNode("p",wm,e.toDisplayString(t.user.name),1),e.createElementVNode("p",Cm,e.toDisplayString(b.value),1)]),k[12]||(k[12]=e.createElementVNode("svg",{class:"w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))]),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200 ease-out","leave-active-class":"transition-all duration-200 ease-in","enter-from-class":"opacity-0 translate-y-2 scale-95","enter-to-class":"opacity-100 translate-y-0 scale-100","leave-from-class":"opacity-100 translate-y-0 scale-100","leave-to-class":"opacity-0 translate-y-2 scale-95"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",Bm,[e.createElementVNode("div",Sm,[e.createElementVNode("p",Vm,e.toDisplayString(t.user.name),1),e.createElementVNode("p",Nm,e.toDisplayString(t.user.email),1)]),e.createElementVNode("div",Em,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.profileMenuItems,T=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:T.name},[T.route?(e.openBlock(),e.createBlock(R,{key:0,to:T.route,class:e.normalizeClass(e.unref(y)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",u(T)?"bg-gradient-to-br from-blue-50 to-blue-100 text-blue-700 shadow-sm border border-blue-200":"text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent")),onClick:U=>x(T)},{default:e.withCtx(()=>[u(T)?(e.openBlock(),e.createElementBlock("div",$m)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",u(T)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"bg-gray-100 text-gray-600 group-hover:bg-gray-200"))},[T.icon?(e.openBlock(),e.createBlock(_,{key:0,icon:T.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(y)("flex-1 truncate font-semibold",u(T)?"text-blue-700":"text-gray-700"))},e.toDisplayString(T.label),3)]),_:2},1032,["to","class","onClick"])):(e.openBlock(),e.createElementBlock("button",{key:1,class:"flex items-center w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent",onClick:U=>m(T)},[e.createElementVNode("div",Dm,[T.icon?(e.openBlock(),e.createBlock(_,{key:0,icon:T.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)]),e.createElementVNode("span",Tm,e.toDisplayString(T.label),1)],8,zm))],64))),128))]),e.createElementVNode("div",{class:"border-t border-gray-200 py-2"},[e.createElementVNode("button",{class:"flex items-center w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative text-red-600 hover:bg-red-50 border border-transparent",onClick:d},[...k[13]||(k[13]=[e.createElementVNode("div",{class:"flex items-center justify-center w-8 h-8 rounded-lg mr-1 flex-shrink-0 transition-colors ml-2 bg-red-100 text-red-600 group-hover:bg-red-200"},[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a2 2 0 013-3h4a3 3 0 013 3v1"})])],-1),e.createElementVNode("span",{class:"truncate font-semibold text-red-600"}," Sign out ",-1)])])])])):e.createCommentVNode("",!0)]),_:1})])])])],2)}}},Am={class:"mb-4"},Im={class:"text-lg font-semibold text-gray-900"},Pm={class:"text-sm text-gray-600"},jm={value:"",disabled:""},Fm=["value"],Lm={key:3,class:"flex items-center"},Mm={class:"flex justify-end gap-3 pt-4"},wr={__name:"ReusableFormModal",props:{modelValue:{type:Boolean,default:!1},modalType:{type:String,required:!0,validator:t=>["create","edit"].includes(t)},entityName:{type:String,default:"Item"},fields:{type:Array,required:!0,validator:t=>t.every(n=>n.name&&n.label&&n.type&&["text","number","password","textarea","select","checkbox","slider","date","color"].includes(n.type))},initialData:{type:Object,default:null},loading:{type:Boolean,default:!1},customValidation:{type:Function,default:null},modalSize:{type:String,default:"4xl",validator:t=>["sm","md","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","full"].includes(t)},modalResizable:{type:Boolean,default:!1}},emits:["update:modelValue","submit","close"],setup(t,{emit:n}){const a=t,r=n,o=e.computed({get:()=>a.modelValue,set:u=>r("update:modelValue",u)}),s=e.computed(()=>a.loading),l=e.ref({}),i=e.ref({}),c=e.ref(!1),f=()=>{const u={};return a.fields.forEach(m=>{m.type==="checkbox"?u[m.name]=!1:m.type==="number"||m.type==="slider"?u[m.name]=m.min!==void 0?m.min:0:u[m.name]=""}),u};e.watch(()=>a.initialData,u=>{if(a.modalType==="edit"&&u){const m={};a.fields.forEach(d=>{d.type==="checkbox"?m[d.name]=u[d.name]??!1:d.type==="number"||d.type==="slider"?m[d.name]=u[d.name]??(d.min!==void 0?d.min:0):m[d.name]=u[d.name]??""}),l.value=m,c.value=!0}else if(a.modalType==="create"&&u&&!c.value){const m={};a.fields.forEach(d=>{u[d.name]!==void 0&&u[d.name]!==null?m[d.name]=u[d.name]:d.type==="checkbox"?m[d.name]=!1:d.type==="number"||d.type==="slider"?m[d.name]=d.min!==void 0?d.min:0:m[d.name]=""}),l.value=m,c.value=!0}else a.modalType==="create"&&!u&&(l.value=f(),c.value=!1)},{immediate:!0,deep:!0}),e.watch(()=>a.modelValue,u=>{if(u&&(i.value={},a.modalType==="create")){if(c.value=!1,a.initialData){const m={};a.fields.forEach(d=>{a.initialData[d.name]!==void 0&&a.initialData[d.name]!==null?m[d.name]=a.initialData[d.name]:d.type==="checkbox"?m[d.name]=!1:d.type==="number"||d.type==="slider"?m[d.name]=d.min!==void 0?d.min:0:m[d.name]=""}),l.value=m}else l.value=f();c.value=!0}}),e.watch(()=>a.initialData,u=>{c.value&&u&&Object.keys(u).forEach(m=>{Object.prototype.hasOwnProperty.call(l.value,m)&&u[m]!==void 0&&u[m]!==null&&(l.value[m]=u[m])})},{deep:!0});const v=()=>{if(i.value={},a.fields.forEach(u=>{if(u.required&&!u.disabled){const m=l.value[u.name];u.type==="checkbox"?u.required&&!m&&(i.value[u.name]=u.errorMessage||`${u.label} is required`):u.type==="number"||u.type==="slider"?m===""||m===null||m===void 0?i.value[u.name]=u.errorMessage||`${u.label} is required`:u.min!==void 0&&Number(m)<u.min?i.value[u.name]=`${u.label} must be at least ${u.min}`:u.max!==void 0&&Number(m)>u.max&&(i.value[u.name]=`${u.label} must be at most ${u.max}`):u.type==="date"?(!m||typeof m=="string"&&!m.trim())&&(i.value[u.name]=u.errorMessage||`${u.label} is required`):u.type==="password"?(!m||typeof m=="string"&&!m.trim())&&(i.value[u.name]=u.errorMessage||`${u.label} is required`):(!m||typeof m=="string"&&!m.trim())&&(i.value[u.name]=u.errorMessage||`${u.label} is required`)}if(u.validate&&typeof u.validate=="function"){const m=u.validate(l.value[u.name],l.value);m&&(i.value[u.name]=m)}}),a.customValidation){const u=a.customValidation(l.value);u&&Object.keys(u).length>0&&(i.value={...i.value,...u})}return Object.keys(i.value).length===0},b=async(u,m)=>{l.value[u.name]=m,u.onChange&&typeof u.onChange=="function"&&await u.onChange(m,l.value)},N=(u,m)=>{l.value[u.name]=m,u.onChange&&typeof u.onChange=="function"&&u.onChange(m,l.value)},h=async()=>{if(!v()){Ye.error("Please fix the validation errors before submitting");return}const u={};a.fields.forEach(m=>{const d=l.value[m.name];m.type==="number"||m.type==="slider"?u[m.name]=Number(d):m.type==="text"||m.type==="textarea"||m.type==="date"?u[m.name]=typeof d=="string"?d.trim():d:(m.type,u[m.name]=d)}),r("submit",{formData:u,modalType:a.modalType,originalData:a.initialData})},x=()=>{l.value=f(),i.value={},c.value=!1,r("close")};return(u,m)=>(e.openBlock(),e.createBlock(Rt,{modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=d=>o.value=d),"show-close":!0,"close-on-backdrop":!0,size:t.modalSize,resizable:t.modalResizable,onClose:x},{default:e.withCtx(()=>[e.createElementVNode("div",Am,[e.createElementVNode("h2",Im,e.toDisplayString(t.modalType==="create"?`Add New ${t.entityName}`:`Edit ${t.entityName}`),1),e.createElementVNode("p",Pm,e.toDisplayString(t.modalType==="create"?`Fill in the details to create a new ${t.entityName.toLowerCase()}.`:`Update the ${t.entityName.toLowerCase()} information below.`),1)]),e.createElementVNode("form",{class:"space-y-4",onSubmit:e.withModifiers(h,["prevent"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,d=>(e.openBlock(),e.createElementBlock("div",{key:d.name},[e.createVNode(_t,{id:`form-${t.entityName}-${d.name}-${Math.random().toString(36).slice(2,5)}`,label:d.label,required:d.required&&!d.disabled,error:i.value[d.name],"error-message":i.value[d.name]},{default:e.withCtx(({fieldId:g,hasError:V,ariaDescribedBy:B})=>[d.type==="text"||d.type==="number"||d.type==="password"||d.type==="color"?(e.openBlock(),e.createBlock(qe,{key:0,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":k=>l.value[d.name]=k,type:d.type,placeholder:d.placeholder,disabled:s.value||d.disabled,readonly:d.disabled,class:e.normalizeClass(V?"border-red-500":"border-slate-300"),"aria-describedby":B},null,8,["id","modelValue","onUpdate:modelValue","type","placeholder","disabled","readonly","class","aria-describedby"])):d.type==="textarea"?(e.openBlock(),e.createBlock(Ot,{key:1,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":k=>l.value[d.name]=k,placeholder:d.placeholder,disabled:s.value||d.disabled,rows:d.rows||3,class:e.normalizeClass(["w-full px-3 py-2 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",V?"border-red-500":"border-slate-300"]),"aria-describedby":B},null,8,["id","modelValue","onUpdate:modelValue","placeholder","disabled","rows","class","aria-describedby"])):d.type==="select"?(e.openBlock(),e.createBlock(ze,{key:2,id:g,"model-value":l.value[d.name],disabled:s.value||d.disabled,class:e.normalizeClass(["w-full px-3 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",V?"border-red-500":"border-slate-300"]),"aria-describedby":B,"onUpdate:modelValue":k=>b(d,k)},{default:e.withCtx(()=>[e.createElementVNode("option",jm,e.toDisplayString(d.placeholder||"Select an option"),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.options,k=>(e.openBlock(),e.createElementBlock("option",{key:k.value,value:k.value},e.toDisplayString(k.label),9,Fm))),128))]),_:2},1032,["id","model-value","disabled","class","aria-describedby","onUpdate:modelValue"])):d.type==="checkbox"?(e.openBlock(),e.createElementBlock("div",Lm,[e.createVNode(qe,{id:g,modelValue:l.value[d.name],"onUpdate:modelValue":k=>l.value[d.name]=k,type:"checkbox",disabled:s.value||d.disabled,class:"h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded","aria-describedby":B},null,8,["id","modelValue","onUpdate:modelValue","disabled","aria-describedby"]),e.createVNode(Ze,{for:g,class:"ml-2 text-sm text-gray-700"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.checkboxLabel),1)]),_:2},1032,["for"])])):d.type==="slider"?(e.openBlock(),e.createBlock(qt,{key:4,"model-value":l.value[d.name],min:d.min,max:d.max,step:d.step,disabled:s.value||d.disabled,"onUpdate:modelValue":k=>N(d,k)},null,8,["model-value","min","max","step","disabled","onUpdate:modelValue"])):d.type==="date"?(e.openBlock(),e.createBlock(et,{key:5,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":k=>l.value[d.name]=k,disabled:s.value||d.disabled,required:d.required,min:d.min,max:d.max,placeholder:d.placeholder||"Select date",format:d.format||"MM/DD/YYYY",clearable:d.clearable!==!1,"show-today":d.showToday!==!1,"calendar-position":d.calendarPosition||"left-0 bottom-full","aria-describedby":B},null,8,["id","modelValue","onUpdate:modelValue","disabled","required","min","max","placeholder","format","clearable","show-today","calendar-position","aria-describedby"])):e.createCommentVNode("",!0)]),_:2},1032,["id","label","required","error","error-message"])]))),128)),e.createElementVNode("div",Mm,[e.createVNode(ae,{type:"button",variant:"outline",disabled:s.value,onClick:x},{default:e.withCtx(()=>[...m[1]||(m[1]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["disabled"]),e.createVNode(ae,{type:"submit",disabled:s.value,loading:s.value,variant:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.modalType==="create"?`Create ${t.entityName}`:`Update ${t.entityName}`),1)]),_:1},8,["disabled","loading"])])],32)]),_:1},8,["modelValue","size","resizable"]))}},Om={key:0,class:"flex items-center justify-between p-4 border-b border-gray-200 flex-shrink-0 lg:hidden"},_m={class:"text-lg font-bold text-gray-900"},Rm={class:"flex-1 overflow-y-auto overflow-x-hidden p-4"},qm={class:"space-y-2"},Um={key:0},Ym={key:0,class:"absolute top-2 right-2 inline-flex items-center justify-center w-5 h-5 text-xs font-bold rounded-full bg-red-500 text-white"},Wm=["onClick"],Hm={key:0,class:"absolute top-2 right-2 inline-flex items-center justify-center w-5 h-5 text-xs font-bold rounded-full bg-red-500 text-white"},Gm={key:1,class:"absolute top-1.5 right-1.5 w-2 h-2 bg-blue-500 rounded-full"},Km={key:1,class:"border-t border-gray-200 p-4 flex-shrink-0"},Xm={key:0,class:"absolute top-1.5 right-1.5 w-2 h-2 bg-blue-500 rounded-full"},Jm={class:"sticky top-0 bg-white border-b border-gray-200 z-10"},Qm={class:"flex items-center justify-between p-4"},Zm={class:"flex-1 text-sm font-bold text-gray-900 ml-2"},ef={class:"p-3"},tf={class:"space-y-1"},af={key:0,class:"absolute left-0 top-1/2 transform -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-blue-600 rounded-r-full"},nf={key:1,class:"ml-2 inline-flex items-center justify-center px-2 py-0.5 text-xs font-bold rounded-full bg-red-500 text-white"},rf={class:"p-3"},of={class:"space-y-1"},lf={key:0,class:"px-3 py-2 text-xs font-semibold text-gray-500 uppercase tracking-wider"},sf={key:0,class:"absolute left-0 top-1/2 transform -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-blue-600 rounded-r-full"},Cr={__name:"Sidebar",props:{sidebarWidth:{type:Number,default:130},header:{type:Object,default:null},navigationItems:{type:Array,required:!0},managementSettings:{type:Array,default:()=>[]},showManagementSettings:{type:Boolean,default:!0},mobileOpen:{type:Boolean,default:!1},isManagementSettingsActive:{type:Boolean,default:!1},currentPath:{type:String,default:""}},emits:["navigate","update:mobileOpen"],setup(t,{expose:n,emit:a}){const r=t,o=a,s=e.ref(!1),l=e.ref(!1),i=e.ref(null),c=e.ref(!1),f=e.computed(()=>r.mobileOpen),v=e.computed(()=>s.value?{}:{left:`${r.sidebarWidth}px`}),b=e.computed(()=>s.value?{}:{left:`${r.sidebarWidth}px`}),N=e.computed(()=>{if(s.value)return 0;let z=r.sidebarWidth;return l.value&&(z+=220),c.value&&(z+=220),z}),h=z=>{o("navigate",z),s.value&&x();const L=l.value&&i.value&&i.value.subItems.some(p=>p.route===z.route),I=c.value&&r.managementSettings.some(p=>p.route===z.route);(s.value||!(L||I))&&B()},x=()=>{o("update:mobileOpen",!1)},u=z=>z.subItems&&z.subItems.length>0,m=z=>{c.value&&V(),l.value&&i.value!==z?(g(),setTimeout(()=>{i.value=z,l.value=!0},300)):l.value?i.value===z&&g():(i.value=z,l.value=!0),s.value&&x()},d=()=>{l.value&&g(),c.value?V():c.value=!0,s.value&&x()},g=()=>{l.value=!1,setTimeout(()=>{i.value=null},300)},V=()=>{c.value=!1},B=()=>{g(),V()},k=z=>{h(z)},R=z=>{h(z)},T=z=>{const L=r.currentPath;return z.route?!!(L===z.route||L.startsWith(z.route+"/")):z.subItems&&z.subItems.length>0?z.subItems.some(I=>I.route?L===I.route||L.startsWith(I.route+"/"):!1):!1},U=()=>{const z=s.value;s.value=window.innerWidth<1024,z&&!s.value&&f.value&&x()},W=z=>{z.key==="Escape"&&(l.value||c.value?B():s.value&&f.value&&x())};return e.onMounted(()=>{U(),window.addEventListener("resize",U),document.addEventListener("keydown",W)}),e.onUnmounted(()=>{window.removeEventListener("resize",U),document.removeEventListener("keydown",W)}),n({isMobile:s,isMobileOpen:f,submenuOpen:l,managementSettingsOpen:c,contentMarginLeft:N,closeAllMenus:B}),(z,L)=>{const I=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","leave-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[f.value&&s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-30 lg:hidden",onClick:x})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("aside",{class:e.normalizeClass(e.unref(y)("fixed left-0 z-40 border-r overflow-hidden flex flex-col","transition-all duration-300 ease-in-out","bg-white border-gray-200",s.value?e.unref(y)("transform h-screen",f.value?"translate-x-0":"-translate-x-full"):"translate-x-0 h-[calc(100vh-4rem)]")),style:e.normalizeStyle({width:t.sidebarWidth+"px",top:s.value?"0px":"4rem"})},[s.value?(e.openBlock(),e.createElementBlock("div",Om,[e.createElementVNode("h2",_m,e.toDisplayString(t.header?.title),1),e.createElementVNode("button",{class:"p-2 rounded-lg text-gray-500 hover:text-gray-900 hover:bg-gray-100 transition-colors","aria-label":"Close sidebar",onClick:x},[...L[0]||(L[0]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])])):e.createCommentVNode("",!0),e.createElementVNode("nav",Rm,[e.createElementVNode("div",qm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.navigationItems,p=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:p.name||p.label},[p.type==="link"?(e.openBlock(),e.createElementBlock("div",Um,[u(p)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(y)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 cursor-pointer group relative py-4 px-3",T(p)?"bg-gradient-to-br from-blue-50 to-blue-100 border border-blue-200 shadow-sm":"text-gray-500 hover:bg-gray-100 hover:text-gray-900 border border-transparent")),onClick:C=>m(p)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",T(p)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"text-gray-500 group-hover:text-gray-900 bg-gray-100 group-hover:bg-gray-200"))},[e.createVNode(_,{icon:p.icon,class:"w-6 h-6"},null,8,["icon"])],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(y)("text-xs font-medium text-center",T(p)?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))},e.toDisplayString(p.label),3),p.badge?(e.openBlock(),e.createElementBlock("span",Hm,e.toDisplayString(p.badge),1)):e.createCommentVNode("",!0),T(p)&&u(p)?(e.openBlock(),e.createElementBlock("div",Gm)):e.createCommentVNode("",!0)],10,Wm)):(e.openBlock(),e.createBlock(I,{key:0,to:p.route,class:e.normalizeClass(e.unref(y)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 group relative py-4 px-3",T(p)?"bg-gradient-to-br from-blue-50 to-blue-100 border border-blue-200 shadow-sm":"text-gray-500 hover:bg-gray-100 hover:text-gray-900 border border-transparent")),onClick:C=>h(p)},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",T(p)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"text-gray-500 group-hover:text-gray-900 bg-gray-100 group-hover:bg-gray-200"))},[e.createVNode(_,{icon:p.icon,class:"w-6 h-6"},null,8,["icon"])],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(y)("text-xs font-medium text-center",T(p)?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))},e.toDisplayString(p.label),3),p.badge?(e.openBlock(),e.createElementBlock("span",Ym,e.toDisplayString(p.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","class","onClick"]))])):e.createCommentVNode("",!0)],64))),128))])]),t.showManagementSettings?(e.openBlock(),e.createElementBlock("div",Km,[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 cursor-pointer group relative py-4 px-3",t.isManagementSettingsActive?"bg-gradient-to-br from-blue-50 to-blue-100 border border-blue-200 shadow-sm":"text-gray-500 hover:bg-gray-100 hover:text-gray-900 border border-transparent")),onClick:d},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",t.isManagementSettingsActive?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"text-gray-500 group-hover:text-gray-900 bg-gray-100 group-hover:bg-gray-200"))},[e.createVNode(_,{icon:"cog",class:"w-6 h-6"})],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(y)("text-xs font-medium text-center",t.isManagementSettingsActive?"text-blue-700 font-semibold":"text-gray-500 group-hover:text-gray-900"))}," Settings ",2),t.isManagementSettingsActive?(e.openBlock(),e.createElementBlock("div",Xm)):e.createCommentVNode("",!0)],2)])):e.createCommentVNode("",!0)],6),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-300 ease-in","enter-from-class":"opacity-0 -translate-x-full","enter-to-class":"opacity-100 translate-x-0","leave-from-class":"opacity-100 translate-x-0","leave-to-class":"opacity-0 -translate-x-full"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:e.normalizeClass(e.unref(y)("fixed z-40 bg-white border-r border-gray-200 overflow-y-auto shadow-lg",s.value?"left-0 w-52 top-20 h-screen":"w-56 top-16 h-[calc(100vh-4rem)]")),style:e.normalizeStyle(v.value)},[e.createElementVNode("div",Jm,[e.createElementVNode("div",Qm,[e.createElementVNode("button",{class:"p-2 -ml-2 rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 transition-colors","aria-label":"Close submenu",onClick:g},[...L[1]||(L[1]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])]),e.createElementVNode("h3",Zm,e.toDisplayString(i.value?.label),1)])]),e.createElementVNode("nav",ef,[e.createElementVNode("div",tf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value?.subItems,p=>(e.openBlock(),e.createBlock(I,{key:p.name,to:p.route,class:e.normalizeClass(e.unref(y)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",T(p)?"bg-gradient-to-br from-blue-50 to-blue-100 text-blue-700 shadow-sm border border-blue-200":"text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent")),onClick:C=>k(p)},{default:e.withCtx(()=>[T(p)?(e.openBlock(),e.createElementBlock("div",af)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",T(p)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"bg-gray-100 text-gray-600 group-hover:bg-gray-200"))},[p.icon?(e.openBlock(),e.createBlock(_,{key:0,icon:p.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(y)("flex-1 truncate font-semibold",T(p)?"text-blue-700":"text-gray-700"))},e.toDisplayString(p.label),3),p.badge?(e.openBlock(),e.createElementBlock("span",nf,e.toDisplayString(p.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","class","onClick"]))),128))])])],6)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-300 ease-in","enter-from-class":"opacity-0 -translate-x-full","enter-to-class":"opacity-100 translate-x-0","leave-from-class":"opacity-100 translate-x-0","leave-to-class":"opacity-0 -translate-x-full"},{default:e.withCtx(()=>[c.value?(e.openBlock(),e.createElementBlock("aside",{key:0,class:e.normalizeClass(e.unref(y)("fixed z-40 bg-white border-r border-gray-200 overflow-y-auto shadow-lg",s.value?"left-0 w-52 top-20 h-full":"w-58 h-[calc(100vh-4rem)]")),style:e.normalizeStyle({...b.value,top:s.value?"55px":"4rem"})},[e.createElementVNode("div",{class:"sticky top-0 z-10 bg-white border-b border-gray-200"},[e.createElementVNode("div",{class:"flex items-center justify-between p-4"},[e.createElementVNode("button",{class:"p-2 -ml-2 rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 transition-colors","aria-label":"Close management settings",onClick:V},[...L[2]||(L[2]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])]),L[3]||(L[3]=e.createElementVNode("h3",{class:"flex-1 text-sm font-bold text-gray-900 ml-2"}," Management Settings ",-1))])]),e.createElementVNode("nav",rf,[e.createElementVNode("div",of,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.managementSettings,p=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:p.name},[p.type==="section"?(e.openBlock(),e.createElementBlock("div",lf,e.toDisplayString(p.label),1)):p.route?(e.openBlock(),e.createBlock(I,{key:1,to:p.route,class:e.normalizeClass(e.unref(y)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",T(p)?"bg-gradient-to-br from-blue-50 to-blue-100 text-blue-700 shadow-sm border border-blue-200":"text-gray-700 hover:bg-gray-50 hover:text-gray-900 border border-transparent")),onClick:C=>R(p)},{default:e.withCtx(()=>[T(p)?(e.openBlock(),e.createElementBlock("div",sf)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors",T(p)?"bg-gradient-to-br from-blue-500 to-blue-600 text-white shadow-md":"bg-gray-100 text-gray-600 group-hover:bg-gray-200"))},[p.icon?(e.openBlock(),e.createBlock(_,{key:0,icon:p.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(y)("flex-1 truncate font-semibold",T(p)?"text-blue-700":"text-gray-700"))},e.toDisplayString(p.label),3)]),_:2},1032,["to","class","onClick"])):e.createCommentVNode("",!0)],64))),128))])])],6)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-300","leave-active-class":"transition-opacity duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[(l.value||c.value)&&s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-30 bg-transparent",onClick:B})):e.createCommentVNode("",!0)]),_:1})])}}},Br={__name:"Timeline",props:{orientation:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex",t.orientation==="vertical"?"flex-col":"flex-row"])},[e.renderSlot(n.$slots,"default")],2))}},cf={key:0,class:"absolute left-3 top-0 w-0.5 h-full bg-slate-200"},df={class:"z-10 flex items-center justify-center w-6 h-6 rounded-full border-2 border-blue-500 bg-white text-blue-500"},uf={class:"text-slate-900 font-medium"},mf={key:0,class:"text-slate-500 text-sm"},ff={class:"mt-2 text-slate-600 text-sm"},Sr={__name:"TimelineItem",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},orientation:{type:String,default:"vertical",validator:t=>["vertical","horizontal"].includes(t)}},setup(t){return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex",t.orientation==="vertical"?"items-start mb-8 last:mb-0":"flex-col items-center mx-8 last:mx-0"])},[t.orientation==="vertical"?(e.openBlock(),e.createElementBlock("div",cf)):e.createCommentVNode("",!0),e.createElementVNode("div",df,[e.renderSlot(n.$slots,"icon",{},()=>[a[0]||(a[0]=e.createElementVNode("div",{class:"w-2 h-2 rounded-full bg-blue-500"},null,-1))])]),e.createElementVNode("div",{class:e.normalizeClass(["ml-6",t.orientation==="horizontal"?"mt-2 text-center":""])},[e.createElementVNode("h3",uf,[e.renderSlot(n.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),t.subtitle?(e.openBlock(),e.createElementBlock("p",mf,[e.renderSlot(n.$slots,"subtitle",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",ff,[e.renderSlot(n.$slots,"default")])],2)],2))}},gf={name:"AuthLayout",props:{title:{type:String,default:null},subtitle:{type:String,default:null},primaryLogoPrefix:{type:String,default:"e"},primaryLogoText:{type:String,default:"HORIZON"},secondaryLogoPrefix:{type:String,default:"e"},secondaryLogoText:{type:String,default:"Risk & Compliance"},quote:{type:String,default:""},primaryColor:{type:String,default:"#e74c3c"},backgroundColor:{type:String,default:"#2c2c2c"},backgroundImage:{type:String,default:"https://images.unsplash.com/photo-1497366216548-37526070297c?ixlib=rb-4.0.3&auto=format&fit=crop&w=2069&q=80"},backgroundOpacity:{type:Number,default:.4},companyName:{type:String,default:"SOFTWARE"},companyType:{type:String,default:"TECHNOLOGIES"},companyTagline:{type:String,default:"People | Processes | Governance"},companyInitials:{type:String,default:"ST"},appName:{type:String,default:"eHorizon eBoard X"},appVersion:{type:String,default:"Version 2.0"},copyright:{type:String,default:"Copyright © 2025 Software Technologies Limited"},socialLinks:{type:Array,default:()=>[{name:"linkedin",url:"#",icon:"linkedin-in",variant:"primary"},{name:"facebook",url:"#",icon:"facebook-f",variant:"primary"},{name:"twitter",url:"#",icon:"twitter",variant:"info"}]}},setup(){return{currentYear:e.computed(()=>new Date().getFullYear())}}},vf={class:"container mx-auto px-4 relative z-10"},pf={class:"grid lg:grid-cols-10 gap-8 items-center min-h-screen"},yf={class:"lg:col-span-6 text-white text-center lg:text-left space-y-6"},bf={class:"mb-6"},hf={class:"text-4xl lg:text-6xl font-bold mb-2"},xf={class:"text-white"},kf={class:"flex items-center justify-center lg:justify-start mb-6"},wf={class:"text-3xl lg:text-4xl font-bold text-white"},Cf={class:"lg:col-span-4"},Bf={class:"bg-white rounded-lg shadow-xl p-6 lg:p-8 max-w-md mx-auto"},Sf={key:0,class:"mb-6"},Vf={class:"text-center"},Nf={class:"text-2xl font-bold text-gray-900"},Ef={key:0,class:"text-gray-600 mt-2"},$f={class:"space-y-6"},zf={key:1,class:"mt-6"},Df={key:0,class:"mt-6 text-center"},Tf={class:"absolute bottom-4 right-4 text-right"},Af={class:"flex items-end justify-end mb-2"},If={class:"text-right mr-3"},Pf={class:"text-red-500 font-bold text-xs"},jf={class:"text-white text-xs"},Ff={class:"text-white/70 text-xs"},Lf={class:"w-8 h-8 bg-red-500 rounded flex items-center justify-center text-white font-bold text-xs"},Mf={class:"text-white/70 text-xs"},Of={class:"absolute bottom-4 left-4 flex gap-2"},_f=["href"];function Rf(t,n,a,r,o,s){const l=e.resolveComponent("router-view"),i=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:"min-h-screen relative flex items-center justify-center",style:e.normalizeStyle({backgroundColor:a.backgroundColor})},[e.createElementVNode("div",{class:"absolute inset-0 bg-cover bg-center",style:e.normalizeStyle({backgroundImage:`url('${a.backgroundImage}')`,opacity:a.backgroundOpacity})},null,4),e.createElementVNode("div",vf,[e.createElementVNode("div",pf,[e.createElementVNode("div",yf,[e.createElementVNode("div",bf,[e.createElementVNode("div",hf,[e.createElementVNode("span",{style:e.normalizeStyle({color:a.primaryColor})},e.toDisplayString(a.primaryLogoPrefix),5),e.createElementVNode("span",xf,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",kf,[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",wf,e.toDisplayString(a.secondaryLogoText),1)]),n[0]||(n[0]=e.createElementVNode("div",{class:"max-w-md mx-auto lg:mx-0"},[e.createElementVNode("p",{class:"text-sm lg:text-base font-light text-white/70 italic leading-relaxed"})],-1))]),e.createElementVNode("div",Cf,[e.createElementVNode("div",Bf,[t.$slots["card-header"]||a.title?(e.openBlock(),e.createElementBlock("div",Sf,[e.renderSlot(t.$slots,"card-header",{},()=>[e.createElementVNode("div",Vf,[e.createElementVNode("h1",Nf,e.toDisplayString(a.title),1),a.subtitle?(e.openBlock(),e.createElementBlock("p",Ef,e.toDisplayString(a.subtitle),1)):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",$f,[e.createVNode(l)]),t.$slots["card-footer"]?(e.openBlock(),e.createElementBlock("div",zf,[e.renderSlot(t.$slots,"card-footer")])):e.createCommentVNode("",!0)]),t.$slots.links?(e.openBlock(),e.createElementBlock("div",Df,[e.renderSlot(t.$slots,"links")])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",Tf,[e.createElementVNode("div",Af,[e.createElementVNode("div",If,[e.createElementVNode("div",Pf,e.toDisplayString(a.companyName),1),e.createElementVNode("div",jf,e.toDisplayString(a.companyType),1),e.createElementVNode("div",Ff,e.toDisplayString(a.companyTagline),1)]),e.createElementVNode("div",Lf,e.toDisplayString(a.companyInitials),1)]),e.createElementVNode("div",Mf,[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",Of,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.socialLinks,c=>(e.openBlock(),e.createElementBlock("a",{key:c.name,href:c.url,class:e.normalizeClass(["w-8 h-7 flex items-center justify-center rounded text-xs transition-colors",c.variant==="primary"?"bg-blue-600 hover:bg-blue-700 text-white":c.variant==="info"?"bg-cyan-500 hover:bg-cyan-600 text-white":"bg-gray-600 hover:bg-gray-700 text-white"])},[e.createVNode(i,{icon:["fab",c.icon]},null,8,["icon"])],10,_f))),128))])],4)}const Vr=tt(gf,[["render",Rf]]),qf={class:"min-h-screen bg-gray-50"},Uf={class:"flex-1"},Yf={key:0,class:"bg-white border-b border-gray-200"},Wf={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},Hf={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},Nr={__name:"DefaultLayout",props:{navigationItems:{type:Array,default:()=>[{label:"Home",href:"/",active:!0},{label:"About",href:"/about"},{label:"Services",href:"/services"},{label:"Contact",href:"/contact"}]},breadcrumbItems:{type:Array,default:()=>[]},showBreadcrumb:{type:Boolean,default:!1}},setup(t){return(n,a)=>{const r=e.resolveComponent("Logo"),o=e.resolveComponent("MainNavigation"),s=e.resolveComponent("Button"),l=e.resolveComponent("Header"),i=e.resolveComponent("Breadcrumb"),c=e.resolveComponent("Text"),f=e.resolveComponent("Footer");return e.openBlock(),e.createElementBlock("div",qf,[e.createVNode(l,null,{logo:e.withCtx(()=>[e.renderSlot(n.$slots,"logo",{},()=>[e.createVNode(r)])]),navigation:e.withCtx(()=>[e.renderSlot(n.$slots,"navigation",{},()=>[e.createVNode(o,{items:t.navigationItems},null,8,["items"])])]),actions:e.withCtx(()=>[e.renderSlot(n.$slots,"header-actions",{},()=>[e.createVNode(s,{variant:"ghost",size:"sm"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createTextVNode(" Sign In ",-1)])]),_:1}),e.createVNode(s,{size:"sm"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode(" Get Started ",-1)])]),_:1})])]),_:3}),e.createElementVNode("main",Uf,[t.showBreadcrumb?(e.openBlock(),e.createElementBlock("div",Yf,[e.createElementVNode("div",Wf,[e.renderSlot(n.$slots,"breadcrumb",{},()=>[e.createVNode(i,{items:t.breadcrumbItems},null,8,["items"])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",Hf,[e.renderSlot(n.$slots,"default")])]),e.createVNode(f,null,{brand:e.withCtx(()=>[e.renderSlot(n.$slots,"footer-brand",{},()=>[e.createVNode(r,{class:"mb-4"}),e.createVNode(c,{class:"text-gray-600 max-w-md"},{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode(" Your application description goes here. ",-1)])]),_:1})])]),_:3})])}}},Gf={name:"ErrorLayout",props:{errorType:{type:[String,Number],default:"404"},errorCode:{type:[String,Number],default:null},errorTitle:{type:String,default:null},errorMessage:{type:String,default:null},brandName:{type:String,default:"Software Technologies"},showLogo:{type:Boolean,default:!0},showBackground:{type:Boolean,default:!0},showDefaultIllustration:{type:Boolean,default:!0},showDefaultActions:{type:Boolean,default:!0},showHomeButton:{type:Boolean,default:!0},showBackButton:{type:Boolean,default:!0},showRetryButton:{type:Boolean,default:!1},showSupportButton:{type:Boolean,default:!1},showAdditionalInfo:{type:Boolean,default:!1},homeUrl:{type:String,default:"/"},homeButtonText:{type:String,default:"Go Home"},backButtonText:{type:String,default:"Go Back"},retryButtonText:{type:String,default:"Try Again"},helpText:{type:String,default:null},supportUrl:{type:String,default:null}},emits:["retry","back","contact-support"],setup(t,{emit:n}){const a=e.getCurrentInstance(),r=e.inject("$router",null)||a?.appContext.app.config.globalProperties?.$router,o=e.ref(!1),s=e.ref(!1),l=e.ref(navigator.onLine),i=e.ref(`err_${Date.now()}_${Math.random().toString(36).substr(2,9)}`),c=e.ref(!1),f=()=>{l.value=navigator.onLine};e.onMounted(()=>{window.addEventListener("online",f),window.addEventListener("offline",f)}),e.onUnmounted(()=>{window.removeEventListener("online",f),window.removeEventListener("offline",f)});const v=e.computed(()=>{const M={404:{title:"Page Not Found",message:"Sorry, we couldn't find the page you're looking for.",icon:"🔍",color:"#64748b",homeButtonIcon:"🏠",additionalInfo:{title:"What can you do?",items:[{icon:"✓",iconColor:"green-500",text:"Check the URL for typos"},{icon:"✓",iconColor:"green-500",text:"Go back to the previous page"},{icon:"✓",iconColor:"green-500",text:"Visit our homepage"}]}},403:{title:"Unauthorized Access",message:"You are not authorized to view this page.",icon:"🚫",color:"#ef4444",homeButtonIcon:"🔐",additionalInfo:{title:"Why am I seeing this?",items:[{icon:"⚠️",iconColor:"yellow-500",text:"You may need to log in to access this page"},{icon:"⚠️",iconColor:"yellow-500",text:"Your account might not have the required permissions"},{icon:"⚠️",iconColor:"yellow-500",text:"Contact support if you believe this is an error"}]}},401:{title:"Authentication Required",message:"You need to log in to access this resource.",icon:"🔐",color:"#f59e0b",homeButtonIcon:"🔐",additionalInfo:{title:"How to proceed?",items:[{icon:"✓",iconColor:"blue-500",text:"Log in with your credentials"},{icon:"✓",iconColor:"blue-500",text:"Create an account if you don't have one"},{icon:"✓",iconColor:"blue-500",text:"Reset your password if you forgot it"}]}},500:{title:"Internal Server Error",message:"Something went wrong on our end. Please try again later.",icon:"🔧",color:"#ef4444",homeButtonIcon:"🏠",additionalInfo:{title:"What happened?",items:[{icon:"⚠️",iconColor:"red-500",text:"Our servers are experiencing issues"},{icon:"⚠️",iconColor:"red-500",text:"The problem is temporary"},{icon:"⚠️",iconColor:"red-500",text:"Try refreshing the page or come back later"}]}},503:{title:"Service Unavailable",message:"The service is temporarily unavailable. Please try again later.",icon:"🔧",color:"#f59e0b",homeButtonIcon:"🏠",additionalInfo:{title:"Service Status",items:[{icon:"⚠️",iconColor:"amber-500",text:"We're performing scheduled maintenance"},{icon:"⚠️",iconColor:"amber-500",text:"Normal service will resume shortly"},{icon:"⚠️",iconColor:"amber-500",text:"Check our status page for updates"}]}},network:{title:"Network Error",message:"Unable to connect to the server. Please check your internet connection.",icon:"📶",color:"#ef4444",homeButtonIcon:"🏠",additionalInfo:{title:"Connection Issues",items:[{icon:"⚠️",iconColor:"red-500",text:"Check your internet connection"},{icon:"⚠️",iconColor:"red-500",text:"Try refreshing the page"},{icon:"⚠️",iconColor:"red-500",text:"Contact your network administrator"}]}}};return M[t.errorType]||M[404]}),b=e.computed(()=>v.value),N=e.computed(()=>t.errorTitle||b.value.title),h=e.computed(()=>t.errorMessage||b.value.message),x=e.computed(()=>b.value.homeButtonIcon||"🏠"),u=e.computed(()=>t.showAdditionalInfo?b.value.additionalInfo:null),m=()=>{r?r.push(t.homeUrl):window.location.href=t.homeUrl},d=()=>{r&&window.history.length>1?r.back():window.history.length>1?window.history.back():m(),n("back")},g=async()=>{o.value=!0;try{await new Promise(M=>setTimeout(M,1e3)),window.location.reload()}catch(M){console.error("Retry failed:",M)}finally{o.value=!1}n("retry")},V=e.computed(()=>["min-h-screen relative flex items-center justify-center","px-4 sm:px-6 lg:px-8"]),B=e.computed(()=>["absolute inset-0 -z-10"]),k=e.computed(()=>["w-full max-w-2xl mx-auto text-center"]),R=e.computed(()=>["mb-8"]),T=e.computed(()=>["space-y-8"]),U=e.computed(()=>["flex justify-center mb-6"]),W=e.computed(()=>["w-32 h-32 flex items-center justify-center"]),z=e.computed(()=>["space-y-4"]),L=e.computed(()=>["text-6xl font-bold text-slate-300 mb-4"]),I=e.computed(()=>["text-3xl font-bold text-slate-900"]),p=e.computed(()=>["text-lg text-slate-600 max-w-lg mx-auto"]),C=e.computed(()=>["mt-8"]),D=e.computed(()=>["mt-8"]),q=e.computed(()=>["mt-6"]);return{isRetrying:o,reportSent:s,isOnline:l,errorId:i,isDev:c,errorConfig:b,title:N,message:h,homeButtonIcon:x,additionalInfoConfig:u,goHome:m,goBack:d,retry:g,layoutClasses:V,backgroundClasses:B,contentClasses:k,headerClasses:R,errorContentClasses:T,illustrationClasses:U,iconContainerClasses:W,detailsClasses:z,codeClasses:L,titleClasses:I,messageClasses:p,actionsClasses:C,additionalInfoClasses:D,helpClasses:q}}},Kf={class:"flex justify-center"},Xf={class:"flex items-center gap-3"},Jf={class:"text-2xl font-bold text-slate-900"},Qf={key:1,class:"bg-red-100 border border-red-200 rounded-lg p-4 mx-auto max-w-md mb-6"},Zf={class:"flex flex-col sm:flex-row gap-4 justify-center"},eg=["disabled"],tg={key:0,class:"animate-spin"},ag={key:1},ng=["disabled"],rg={key:0},og={key:1},lg={key:0,class:"mt-8 max-w-md mx-auto"},sg={class:"bg-white rounded-lg border border-slate-200 shadow-sm p-6"},ig={class:"text-lg font-semibold text-slate-900 mb-4"},cg={class:"space-y-3"},dg={class:"text-sm text-slate-600"},ug=["href"],mg={key:5,class:"text-xs text-slate-400 font-mono mt-4"};function fg(t,n,a,r,o,s){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.layoutClasses)},[a.showBackground?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.backgroundClasses)},[e.renderSlot(t.$slots,"background",{},()=>[n[4]||(n[4]=e.createElementVNode("div",{class:"absolute inset-0 bg-gradient-to-br from-slate-50 to-slate-100"},null,-1))])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.contentClasses)},[t.$slots.header||a.showLogo?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.headerClasses)},[e.renderSlot(t.$slots,"header",{},()=>[e.createElementVNode("div",Kf,[e.renderSlot(t.$slots,"logo",{},()=>[e.createElementVNode("div",Xf,[n[5]||(n[5]=e.createElementVNode("div",{class:"w-10 h-10 bg-blue-600 rounded-xl flex items-center justify-center"},[e.createElementVNode("span",{class:"text-white font-bold text-lg"},"STL")],-1)),e.createElementVNode("span",Jf,e.toDisplayString(a.brandName),1)])])])])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.errorContentClasses)},[t.$slots.illustration||a.showDefaultIllustration?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.illustrationClasses)},[e.renderSlot(t.$slots,"illustration",{},()=>[e.createElementVNode("div",{class:e.normalizeClass(r.iconContainerClasses)},[e.createElementVNode("div",{class:"text-8xl",style:e.normalizeStyle({color:r.errorConfig.color})},e.toDisplayString(r.errorConfig.icon),5)],2)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(r.detailsClasses)},[a.errorCode?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.codeClasses)},e.toDisplayString(a.errorCode),3)):e.createCommentVNode("",!0),e.createElementVNode("h1",{class:e.normalizeClass(r.titleClasses)},[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(r.title),1)])],2),e.createElementVNode("p",{class:e.normalizeClass(r.messageClasses)},[e.renderSlot(t.$slots,"message",{},()=>[e.createTextVNode(e.toDisplayString(r.message),1)])],2)],2),r.isOnline?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Qf,[...n[6]||(n[6]=[e.createElementVNode("div",{class:"flex items-center justify-center gap-2 text-red-700"},[e.createElementVNode("span",{class:"w-3 h-3 bg-red-500 rounded-full animate-pulse"}),e.createElementVNode("span",{class:"font-medium"},"No Internet Connection")],-1)])])),t.$slots.actions||a.showDefaultActions?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(r.actionsClasses)},[e.renderSlot(t.$slots,"actions",{},()=>[e.createElementVNode("div",Zf,[a.showHomeButton?(e.openBlock(),e.createElementBlock("button",{key:0,class:"bg-blue-600 text-white px-6 py-3 rounded-lg font-medium hover:bg-blue-700 transition-colors flex items-center justify-center gap-2",onClick:n[0]||(n[0]=(...l)=>r.goHome&&r.goHome(...l))},[e.createElementVNode("span",null,e.toDisplayString(r.homeButtonIcon),1),e.createTextVNode(" "+e.toDisplayString(a.homeButtonText),1)])):e.createCommentVNode("",!0),a.showBackButton?(e.openBlock(),e.createElementBlock("button",{key:1,class:"border border-slate-300 text-slate-700 px-6 py-3 rounded-lg font-medium hover:bg-slate-50 transition-colors flex items-center justify-center gap-2",onClick:n[1]||(n[1]=(...l)=>r.goBack&&r.goBack(...l))},[n[7]||(n[7]=e.createElementVNode("span",null,"←",-1)),e.createTextVNode(" "+e.toDisplayString(a.backButtonText),1)])):e.createCommentVNode("",!0),a.showRetryButton?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:r.isRetrying||!r.isOnline,class:"border border-slate-300 text-slate-700 px-6 py-3 rounded-lg font-medium hover:bg-slate-50 transition-colors flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",onClick:n[2]||(n[2]=(...l)=>r.retry&&r.retry(...l))},[r.isRetrying?(e.openBlock(),e.createElementBlock("span",tg,"↻")):(e.openBlock(),e.createElementBlock("span",ag,"🔄")),e.createTextVNode(" "+e.toDisplayString(r.isRetrying?"Retrying...":a.retryButtonText),1)],8,eg)):e.createCommentVNode("",!0),a.showSupportButton?(e.openBlock(),e.createElementBlock("button",{key:3,disabled:r.reportSent,class:"bg-slate-600 text-white px-6 py-3 rounded-lg font-medium hover:bg-slate-700 transition-colors flex items-center justify-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",onClick:n[3]||(n[3]=l=>t.$emit("contact-support"))},[r.reportSent?(e.openBlock(),e.createElementBlock("span",rg,"✓")):(e.openBlock(),e.createElementBlock("span",og,"📝")),e.createTextVNode(" "+e.toDisplayString(r.reportSent?"Report Sent":"Contact Support"),1)],8,ng)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),t.$slots["additional-info"]||a.showAdditionalInfo?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(r.additionalInfoClasses)},[e.renderSlot(t.$slots,"additional-info",{},()=>[r.additionalInfoConfig?(e.openBlock(),e.createElementBlock("div",lg,[e.createElementVNode("div",sg,[e.createElementVNode("h3",ig,e.toDisplayString(r.additionalInfoConfig.title),1),e.createElementVNode("ul",cg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.additionalInfoConfig.items,(l,i)=>(e.openBlock(),e.createElementBlock("li",{key:i,class:"flex items-start gap-3 text-sm text-slate-600"},[e.createElementVNode("span",{class:e.normalizeClass(`w-4 h-4 text-${l.iconColor||"slate-400"} flex-shrink-0 mt-0.5`)},e.toDisplayString(l.icon),3),e.createElementVNode("span",null,e.toDisplayString(l.text),1)]))),128))])])])):e.createCommentVNode("",!0)])],2)):e.createCommentVNode("",!0),t.$slots.help||a.helpText?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(r.helpClasses)},[e.renderSlot(t.$slots,"help",{},()=>[e.createElementVNode("p",dg,[e.createTextVNode(e.toDisplayString(a.helpText)+" ",1),a.supportUrl?(e.openBlock(),e.createElementBlock("a",{key:0,href:a.supportUrl,class:"text-blue-600 hover:text-blue-700 underline ml-1"},[...n[8]||(n[8]=[e.createElementVNode("span",{class:"inline-block w-4 h-4 mr-1"},"❓",-1),e.createTextVNode(" Get Help ",-1)])],8,ug)):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),r.isDev?(e.openBlock(),e.createElementBlock("div",mg," Error ID: "+e.toDisplayString(r.errorId),1)):e.createCommentVNode("",!0)],2)],2)],2)}const Er=tt(Gf,[["render",fg]]),gg={key:0,class:"stl-loader__backdrop"},vg={class:"stl-loader__container"},pg={key:0,class:"stl-loader__text stl-loader__text--top"},yg={key:1,class:"stl-loader__spin"},bg={key:2,class:"stl-loader__pulse"},hg={key:3,class:"stl-loader__bounce"},xg={key:4,class:"stl-loader__ripple"},kg={key:5,class:"stl-loader__bars"},wg={key:6,class:"stl-loader__dots"},Cg={key:7,class:"stl-loader__ring"},Bg={key:8,class:"stl-loader__spinner-text"},Sg={key:9,class:"stl-loader__text stl-loader__text--bottom"},Vg={__name:"StlLoader",props:{loading:{type:Boolean,default:!0},type:{type:String,default:"spin",validator:t=>["spin","pulse","bounce","ripple","bars","dots","ring","spinner-text"].includes(t)},size:{type:String,default:"medium",validator:t=>["small","medium","large","xl"].includes(t)},color:{type:String,default:"#3b82f6"},backgroundColor:{type:String,default:"rgba(255, 255, 255, 0.9)"},text:{type:String,default:""},textPosition:{type:String,default:"bottom",validator:t=>["top","bottom"].includes(t)},overlay:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1}},setup(t){return(n,a)=>t.loading?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["stl-loader",`stl-loader--${t.type}`,`stl-loader--${t.size}`,t.overlay?"stl-loader--overlay":"",t.fullscreen?"stl-loader--fullscreen":""]),style:e.normalizeStyle({"--loader-color":t.color,"--loader-bg":t.backgroundColor})},[t.overlay?(e.openBlock(),e.createElementBlock("div",gg)):e.createCommentVNode("",!0),e.createElementVNode("div",vg,[t.text&&t.textPosition==="top"?(e.openBlock(),e.createElementBlock("div",pg,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0),t.type==="spin"?(e.openBlock(),e.createElementBlock("div",yg)):t.type==="pulse"?(e.openBlock(),e.createElementBlock("div",bg)):t.type==="bounce"?(e.openBlock(),e.createElementBlock("div",hg,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,r=>e.createElementVNode("div",{key:r,class:"stl-loader__bounce-dot",style:e.normalizeStyle({animationDelay:`${(r-1)*.1}s`})},null,4)),64))])):t.type==="ripple"?(e.openBlock(),e.createElementBlock("div",xg,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(2,r=>e.createElementVNode("div",{key:r,class:"stl-loader__ripple-ring",style:e.normalizeStyle({animationDelay:`${(r-1)*.5}s`})},null,4)),64))])):t.type==="bars"?(e.openBlock(),e.createElementBlock("div",kg,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(5,r=>e.createElementVNode("div",{key:r,class:"stl-loader__bar",style:e.normalizeStyle({animationDelay:`${(r-1)*.1}s`})},null,4)),64))])):t.type==="dots"?(e.openBlock(),e.createElementBlock("div",wg,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,r=>e.createElementVNode("div",{key:r,class:"stl-loader__dot",style:e.normalizeStyle({animationDelay:`${(r-1)*.16}s`})},null,4)),64))])):t.type==="ring"?(e.openBlock(),e.createElementBlock("div",Cg,[...a[0]||(a[0]=[e.createElementVNode("div",{class:"stl-loader__ring-track"},null,-1),e.createElementVNode("div",{class:"stl-loader__ring-fill"},null,-1)])])):t.type==="spinner-text"?(e.openBlock(),e.createElementBlock("div",Bg,[...a[1]||(a[1]=[e.createElementVNode("div",{class:"stl-loader__spinner"},null,-1)])])):e.createCommentVNode("",!0),t.text&&t.textPosition==="bottom"?(e.openBlock(),e.createElementBlock("div",Sg,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0)])],6)):e.createCommentVNode("",!0)}},pe=tt(Vg,[["__scopeId","data-v-671e75e9"]]),Sa={Avatar:En,Badge:$n,Button:ae,Checkbox:Je,Divider:zn,Icon:_,Image:Dn,Input:qe,Label:Ze,Link:Tn,Logo:An,Option:Mt,Progress:In,ProgressBar:Pn,Radio:jn,Select:ze,Spinner:Qe,Switch:Fn,Text:Ln,Textarea:Ot,Tooltip:Mn,Typography:Ue,STLLoader:pe,Alert:On,Breadcrumb:_n,ButtonGroup:Rn,Card:qn,CardHeader:Un,CardBody:Yn,CardFooter:Wn,CardContent:Hn,CardTitle:Gn,DatePicker:et,Dropdown:Kn,DropdownItem:Xn,FileUpload:Jn,FormField:_t,InputGroup:Qn,ListItem:Zn,MenuItem:er,Modal:Rt,ModalHeader:tr,ModalBody:ar,ModalFooter:nr,Notification:rr,Toast:sr,Search:ir,Slider:qt,Stepper:cr,StepperItem:dr,Tab:ur,TabPanel:mr,Accordion:fr,AccordionItem:gr,Calendar:vr,DataTable:pr,DataTableHeader:Ut,DataTableRow:Yt,DataTableCell:yr,DataTablePagination:Wt,DataTableFilters:br,DataTableToolBar:hr,Footer:xr,Header:kr,ReusableFormModal:wr,Sidebar:Cr,Timeline:Br,TimelineItem:Sr,AuthLayout:Vr,DefaultLayout:Nr,ErrorLayout:Er},Ng={install(t,n={}){const{prefix:a=""}=n;Object.keys(Sa).forEach(r=>{const o=a?`${a}${r}`:r;t.component(o,Sa[r])}),t.config.globalProperties.$toast=Ye,t.provide("toast",Ye)}};exports.Accordion=fr;exports.AccordionItem=gr;exports.Alert=On;exports.AuthLayout=Vr;exports.Avatar=En;exports.Badge=$n;exports.Breadcrumb=_n;exports.Button=ae;exports.ButtonGroup=Rn;exports.Calendar=vr;exports.Card=qn;exports.CardBody=Yn;exports.CardContent=Hn;exports.CardFooter=Wn;exports.CardHeader=Un;exports.CardTitle=Gn;exports.Checkbox=Je;exports.DataTable=pr;exports.DataTableCell=yr;exports.DataTableFilters=br;exports.DataTableHeader=Ut;exports.DataTablePagination=Wt;exports.DataTableRow=Yt;exports.DataTableToolBar=hr;exports.DatePicker=et;exports.DefaultLayout=Nr;exports.Divider=zn;exports.Dropdown=Kn;exports.DropdownItem=Xn;exports.ErrorLayout=Er;exports.FileUpload=Jn;exports.Footer=xr;exports.FormField=_t;exports.Header=kr;exports.Icon=_;exports.Image=Dn;exports.Input=qe;exports.InputGroup=Qn;exports.Label=Ze;exports.Link=Tn;exports.ListItem=Zn;exports.Logo=An;exports.MenuItem=er;exports.Modal=Rt;exports.ModalBody=ar;exports.ModalFooter=nr;exports.ModalHeader=tr;exports.Notification=rr;exports.Option=Mt;exports.Progress=In;exports.ProgressBar=Pn;exports.Radio=jn;exports.ReusableFormModal=wr;exports.STLLoader=pe;exports.Search=ir;exports.Select=ze;exports.Sidebar=Cr;exports.Slider=qt;exports.Spinner=Qe;exports.Stepper=cr;exports.StepperItem=dr;exports.Switch=Fn;exports.Tab=ur;exports.TabPanel=mr;exports.Text=Ln;exports.Textarea=Ot;exports.Timeline=Br;exports.TimelineItem=Sr;exports.Toast=sr;exports.Tooltip=Mn;exports.Typography=Ue;exports.cn=y;exports.default=Ng;exports.toast=Ye;exports.useToaster=lr;
|