@stlhorizon/vue-ui 2.4.5 → 2.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -608,4 +608,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
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=N.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=N.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=N.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(()=>b(s({variant:a.variant}))),f=e.computed(()=>b(l({size:a.size}))),v=e.computed(()=>b(i({size:a.size})));return(y,E)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value)},[e.createVNode(te,{class:e.normalizeClass(f.value),"aria-expanded":r.value,onClick:o},{default:e.withCtx(()=>[e.renderSlot(y.$slots,"header",{isOpen:r.value}),e.createVNode(n,{class:e.normalizeClass(e.unref(b)("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(y.$slots,"content",{isOpen:r.value})],2)):e.createCommentVNode("",!0)]),_:3})],2))}},Ld={class:"relative w-full"},Md={class:"relative"},Fd=["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=["onClick","disabled"],Wd={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"})),y=e.computed(()=>new Date(i.value,l.value+1,0).getDate()),E=e.computed(()=>new Date(i.value,l.value,1).getDay()),x=e.computed(()=>{const I=new Date(i.value,l.value,0).getDate(),p=E.value;return Array.from({length:p},(B,A)=>I-p+A+1)}),k=e.computed(()=>{const I=x.value.length+y.value,p=I%7===0?0:7-I%7;return Array.from({length:p},(B,A)=>A+1)}),u=e.computed(()=>c.value?m(c.value):"");function m(I){if(!I)return"";const p=new Date(I),B=String(p.getMonth()+1).padStart(2,"0"),A=String(p.getDate()).padStart(2,"0"),W=p.getFullYear();return a.format.replace("MM",B).replace("DD",A).replace("YYYY",W)}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 B=d(a.min);if(B&&p<B)return!0}if(a.max){const B=d(a.max);if(B&&p>B)return!0}return!1}function C(){a.disabled||(o.value=!o.value)}function h(){o.value=!1}function R(){l.value===0?(l.value=11,i.value--):l.value--}function D(){l.value===11?(l.value=0,i.value++):l.value++}function q(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 Y(){l.value=s.getMonth(),i.value=s.getFullYear(),q(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 M(I){I.key==="Escape"&&o.value&&h()}return e.onMounted(()=>{document.addEventListener("keydown",M)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",M)}),(I,p)=>(e.openBlock(),e.createElementBlock("div",Ld,[e.createElementVNode("div",Md,[e.createElementVNode("input",{id:t.id,type:"text",value:u.value,onClick:C,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"},null,8,Fd),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",onClick:e.withModifiers(z,["stop"]),class:"absolute right-9 top-1/2 -translate-y-1/2 p-1 hover:bg-slate-100 rounded","aria-label":"Clear date"},[...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-[10000] 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",onClick:R,"aria-label":"Previous Month"},[...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",onClick:D,"aria-label":"Next Month"},[...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,B=>e.createElementVNode("div",{key:B,class:"text-center text-xs font-medium text-slate-600 py-1"},e.toDisplayString(B),1)),64))]),e.createElementVNode("div",qd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(B,A)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+A,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(B),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,B=>(e.openBlock(),e.createElementBlock("button",{key:B,type:"button",onClick:A=>q(B),disabled:V(B),class:e.normalizeClass(["w-8 h-8 text-sm rounded flex items-center justify-center",g(B)?"bg-blue-500 text-white":"hover:bg-gray-100",V(B)?"text-gray-300 cursor-not-allowed":""])},e.toDisplayString(B),11,Ud))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,(B,A)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+A,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(B),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",Wd,[e.createElementVNode("button",{type:"button",onClick:Y,class:"w-full px-3 py-2 text-sm font-medium text-blue-600 hover:bg-blue-50 rounded-lg transition-colors"}," Today ")])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),_:1}),o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-[9999]",onClick:h})):e.createCommentVNode("",!0)]))}},Yd={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=N.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=N.cva("font-semibold text-slate-900",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),o=N.cva("text-slate-600 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),s=e.computed(()=>b(a({variant:n.variant,padding:n.padding}))),l=e.computed(()=>b(r({size:"md"}))),i=e.computed(()=>b(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",Yd,[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)}},Wt={__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=N.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=N.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",y=e.computed(()=>b(o({striped:a.striped,hoverable:a.hoverable&&!a.clickableRows,clickable:a.clickableRows,selected:a.isSelected,variant:a.variant}))),E=u=>{const m=v(u);return b(s({density:a.density,align:m}),u.cellClasses)},x=e.computed(()=>b(s({density:a.density}),"w-12")),k=e.computed(()=>b(s({density:a.density,align:"right"}),"font-medium"));return(u,m)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(y.value),onClick:f},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(x.value)},[e.createVNode(Je,{modelValue:t.isSelected,"onUpdate:modelValue":m[0]||(m[0]=d=>u.$emit("toggle-selection",t.item))},null,8,["modelValue"])],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(E(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(k.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"},Yt={__name:"DataTablePagination",props:{currentPage:{type:Number,required:!0},totalPages:{type:Number,required:!0},total:{type:Number,required:!0},pageSize:{type:Number,required:!0},showPagination:{type:Boolean,default:!0},selectable:{type:Boolean,default:!1},selectedCount:{type:Number,default:0},pageSizeOptions:{type:Array,default:()=>[5,10,25,50,100]},maxVisiblePages:{type:Number,default:7},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:currentPage","update:pageSize"],setup(t,{emit:n}){const a=t,r=N.cva("border-t border-slate-200",{variants:{variant:{default:"bg-slate-50",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-100 border-t-2 border-slate-300"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),o=N.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"}}),s=N.cva("text-slate-700",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"}},defaultVariants:{size:"md"}}),l=N.cva("border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 text-sm min-w-[60px] focus:border-transparent",{variants:{size:{sm:"px-2 py-1",md:"px-3 py-2",lg:"px-4 py-3"}},defaultVariants:{size:"sm"}}),i=e.computed(()=>(a.currentPage-1)*a.pageSize+1),c=e.computed(()=>Math.min(a.currentPage*a.pageSize,a.total)),f=e.computed(()=>{const k=[],u=a.totalPages,m=a.currentPage,d=a.maxVisiblePages;if(u<=d)for(let g=1;g<=u;g++)k.push(g);else{const g=Math.floor(d/2);let V=Math.max(1,m-g),C=Math.min(u,V+d-1);C-V+1<d&&(V=Math.max(1,C-d+1));for(let h=V;h<=C;h++)k.push(h)}return k}),v=e.computed(()=>b(r({variant:a.variant,padding:a.padding}))),y=e.computed(()=>b(s({size:"md"}))),E=e.computed(()=>b(l({size:"sm"}))),x=(k,u)=>{let m="inactive";return u?m="disabled":k&&(m="active"),b(o({state:m,size:"md"}))};return(k,u)=>t.showPagination||k.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(v.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(i.value)+" to "+e.toDisplayString(c.value)+" of "+e.toDisplayString(t.total)+" entries ",1)),k.$slots.footer?(e.openBlock(),e.createElementBlock("div",Jd,[e.renderSlot(k.$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(y.value),inline:!0},{default:e.withCtx(()=>[...u[5]||(u[5]=[e.createTextVNode("Show:",-1)])]),_:1},8,["class"]),e.createVNode(ze,{id:"pageSize","model-value":t.pageSize.toString(),"onUpdate:modelValue":u[0]||(u[0]=m=>k.$emit("update:pageSize",parseInt(m))),class:e.normalizeClass(E.value)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizeOptions,m=>(e.openBlock(),e.createBlock(Mt,{key:m,value:m.toString(),label:m.toString()},null,8,["value","label"]))),128))]),_:1},8,["model-value","class"])]),e.createElementVNode("div",eu,[e.createElementVNode("button",{disabled:t.currentPage===1,onClick:u[1]||(u[1]=m=>k.$emit("update:currentPage",1)),class:e.normalizeClass(x(!1,t.currentPage===1)),title:"First page"},[...u[6]||(u[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,onClick:u[2]||(u[2]=m=>k.$emit("update:currentPage",t.currentPage-1)),class:e.normalizeClass(x(!1,t.currentPage===1)),title:"Previous page"},[...u[7]||(u[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(f.value,m=>(e.openBlock(),e.createElementBlock("button",{key:m,onClick:d=>k.$emit("update:currentPage",m),class:e.normalizeClass(x(m===t.currentPage,!1))},e.toDisplayString(m),11,ru))),128))]),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,onClick:u[3]||(u[3]=m=>k.$emit("update:currentPage",t.currentPage+1)),class:e.normalizeClass(x(!1,t.currentPage===t.totalPages)),title:"Next page"},[...u[8]||(u[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,onClick:u[4]||(u[4]=m=>k.$emit("update:currentPage",t.totalPages)),class:e.normalizeClass(x(!1,t.currentPage===t.totalPages)),title:"Last page"},[...u[9]||(u[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},bu=["colspan"],yu={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"],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=N.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=N.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"}}),y=N.cva("",{variants:{variant:{default:"bg-slate-50",bordered:"bg-slate-100 border-b-2 border-slate-300",minimal:"bg-transparent border-b border-slate-200"}},defaultVariants:{variant:"default"}}),E=N.cva("divide-y",{variants:{variant:{default:"bg-white divide-slate-200",bordered:"bg-white divide-slate-300",minimal:"bg-transparent divide-slate-100"}},defaultVariants:{variant:"default"}}),x=e.computed(()=>{let w=[...r.data];if(i.value){const $=r.columns.find(L=>L.key===i.value);$&&w.sort((L,K)=>{const de=V(L,$),Te=V(K,$);return de<Te?c.value==="asc"?-1:1:de>Te?c.value==="asc"?1:-1:0})}return w}),k=e.computed(()=>Math.ceil(x.value.length/l.value)),u=e.computed(()=>{if(!r.showPagination)return x.value;const w=(s.value-1)*l.value,$=w+l.value;return x.value.slice(w,$)}),m=e.computed(()=>{let w=r.columns.length;return r.selectable&&w++,r.$slots?.actions&&w++,w}),d=e.computed(()=>x.value.length>0&&x.value.every(w=>h(w))),g=e.computed(()=>{const w=x.value.filter($=>h($)).length;return w>0&&w<x.value.length}),V=(w,$)=>$.accessor?$.accessor(w):$.key.split(".").reduce((L,K)=>L?.[K],w),C=(w,$)=>w[r.rowKey]||$,h=w=>r.selectedItems.some($=>C($)===C(w)),R=w=>{const $=[...r.selectedItems],L=$.findIndex(K=>C(K)===C(w));L>-1?$.splice(L,1):$.push(w),o("selection-change",$)},D=()=>{if(r.loading||r.dataLoading)return;const w=d.value?[]:[...x.value];o("selection-change",w)},q=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}))},Y=w=>{r.loading||o("row-click",w)},z=async w=>{r.paginationLoading||r.loading||(s.value=w,o("page-change",w))},M=async w=>{r.paginationLoading||r.loading||(l.value=w,s.value=1,o("page-size-change",w))},I=e.computed(()=>b(f({variant:r.variant}))),p=e.computed(()=>b(v({variant:r.variant}))),B=e.computed(()=>b(y({variant:r.variant}))),A=e.computed(()=>b(E({variant:r.variant}))),W=w=>b({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}),O=()=>b({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm text-slate-900"),le=e.computed(()=>b({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(()=>b({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(()=>b({compact:"px-4 py-4",normal:"px-6 py-6",comfortable:"px-8 py-8"}[r.density],"text-center")),T=(w,$)=>b({"text-blue-600":i.value===w.key&&c.value===$,"text-slate-300":i.value!==w.key||c.value!==$});return e.watch(()=>r.selectedItems,w=>{},{deep:!0}),e.watch(()=>r.pageSize,w=>{l.value=w}),n({refresh:()=>{o("refresh")},goToPage:w=>{z(w)},selectAll:()=>{D()},clearSelection:()=>{o("selection-change",[])},getCurrentPage:()=>s.value,getTotalPages:()=>k.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(B.value)},[e.createElementVNode("tr",null,[t.selectable?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(le.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,modelValue:d.value,indeterminate:g.value,disabled:t.loading||t.dataLoading,"onUpdate:modelValue":D},null,8,["modelValue","indeterminate","disabled"]))])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,L=>(e.openBlock(),e.createElementBlock("th",{key:L.key,class:e.normalizeClass(W(L)),onClick:K=>q(L)},[e.createElementVNode("div",uu,[e.createElementVNode("span",null,e.toDisplayString(L.label),1),t.sortLoading&&i.value===L.key?(e.openBlock(),e.createBlock(pe,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):L.sortable?(e.openBlock(),e.createElementBlock("div",mu,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([T(L,"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([T(L,"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(A.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,(L,K)=>(e.openBlock(),e.createBlock(Wt,{key:C(L,K),item:L,columns:t.columns,index:K,selectable:t.selectable,"is-selected":h(L),striped:t.striped,hoverable:t.hoverable,"clickable-rows":t.clickableRows,density:t.density,"row-loading":t.rowLoading[C(L,K)],"loading-color":t.loadingColor,onToggleSelection:R,onRowClick:Y},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",yu,[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,bu)])):e.createCommentVNode("",!0),t.showSkeleton&&(t.loading||t.dataLoading)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:3},e.renderList(t.skeletonRows,L=>(e.openBlock(),e.createElementBlock("tr",{key:`skeleton-${L}`,class:"animate-pulse"},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(le.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(O())},[...$[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(Yt,{key:1,"current-page":s.value,"total-pages":k.value,total:x.value.length,"page-size":l.value,"show-pagination":t.showPagination,selectable:t.selectable,"selected-count":t.selectedItems.length,variant:t.paginationVariant,padding:t.paginationPadding,loading:t.paginationLoading,disabled:t.loading||t.dataLoading,"onUpdate:currentPage":z,"onUpdate:pageSize":M},{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-8fda8771"]]),br={__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=N.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 b(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","onInput","placeholder"],ju={class:"relative flex-1"},Lu=["model-value","onInput","placeholder"],Mu=["onClick"],Fu={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"},Wu={class:"font-medium"},yr={__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=>n.hasOwnProperty("key")&&n.hasOwnProperty("label")&&n.hasOwnProperty("from")&&n.hasOwnProperty("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=N.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=N.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=N.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 T=[...a.dateFilters],w=T.findIndex($=>$.key===j);w>=0&&(T[w]={...T[w],from:"",to:""},r("update:dateFilters",T))},v=j=>`text-xs px-2 py-1 rounded ${c(j)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,y=()=>{o.value=!o.value},E=(j,T,w)=>{const $=[...a.dateFilters],L=$.findIndex(K=>K.key===j);L>=0&&($[L]={...$[L],[T]:w},r("update:dateFilters",$))},x=e.computed(()=>{const j=a.searchQuery,T=a.selectedStatus,w=a.dateFrom||a.dateTo,$=a.dateFilters.some(L=>L.from||L.to);return j||T||w||$}),k=e.computed(()=>{let j=0;return a.searchQuery&&j++,a.selectedStatus&&j++,(a.dateFrom||a.dateTo)&&j++,j+=a.dateFilters.filter(T=>T.from||T.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 T=a.statusOptions.find(w=>w.value===a.selectedStatus);j.push({key:"status",label:"Status",value:T?.label||a.selectedStatus,icon:"filter"})}if(a.dateFrom||a.dateTo){let T="";a.dateFrom&&a.dateTo?T=`${a.dateFrom} to ${a.dateTo}`:a.dateFrom?T=`From ${a.dateFrom}`:a.dateTo&&(T=`Until ${a.dateTo}`),T&&j.push({key:"date",label:"Date Range",value:T,icon:"calendar"})}return a.dateFilters.forEach(T=>{if(T.from||T.to){let w="";T.from&&T.to?w=`${T.from} to ${T.to}`:T.from?w=`From ${T.from}`:T.to&&(w=`Until ${T.to}`),w&&j.push({key:`date-${T.key}`,label:T.label,value:w,icon:"calendar"})}}),j}),m=e.computed(()=>b(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(()=>b(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"),C=e.computed(()=>b(l({size:"md"}),"w-full pr-8 appearance-none hover:border-gray-300")),h=e.computed(()=>{const j=o.value||x.value;return b(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"),D=e.computed(()=>"px-6 py-4 border-t border-gray-100 bg-gray-50"),q=e.computed(()=>b(l({size:"md"}),"pl-10 pr-3")),Y=e.computed(()=>"text-sm font-semibold text-gray-700"),z=e.computed(()=>"text-gray-500 text-sm font-medium"),M=e.computed(()=>"text-gray-400 hover:text-gray-600 p-1.5 hover:bg-gray-200 rounded-full transition-all"),I=e.computed(()=>b(i({variant:"ghost",size:"md"}))),p=e.computed(()=>b(i({variant:"default",size:"lg"}))),B=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),A=e.computed(()=>"text-sm font-semibold text-blue-800"),W=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"),O=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),le=()=>{r("update:searchQuery",""),r("update:selectedStatus",""),r("update:dateFrom",""),r("update:dateTo","");const j=a.dateFilters.map(T=>({...T,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 T=j.replace("date-",""),w=a.dateFilters.map($=>$.key===T?{...$,from:"",to:""}:$);r("update:dateFilters",w)}break}};return(j,T)=>{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,onInput:T[0]||(T[0]=$=>j.$emit("update:searchQuery",$.target.value)),placeholder:t.searchPlaceholder,class:e.normalizeClass(g.value)},null,42,Su),t.searchQuery?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:T[1]||(T[1]=$=>j.$emit("update:searchQuery","")),class:e.normalizeClass(V.value)},[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,onChange:T[2]||(T[2]=$=>j.$emit("update:selectedStatus",$.target.value)),class:e.normalizeClass(C.value)},{default:e.withCtx(()=>[T[5]||(T[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",{onClick:y,class:e.normalizeClass(h.value)},[e.createVNode(w,{icon:"filter",class:"w-4 h-4"}),T[6]||(T[6]=e.createTextVNode(" Filters ",-1)),k.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(R.value)},e.toDisplayString(k.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,[x.value?(e.openBlock(),e.createBlock(te,{key:0,onClick:le,class:e.normalizeClass(I.value)},{default:e.withCtx(()=>[e.createVNode(w,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),T[7]||(T[7]=e.createTextVNode(" Clear All ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(te,{key:1,onClick:T[3]||(T[3]=$=>j.$emit("export")),class:e.normalizeClass(p.value)},{default:e.withCtx(()=>[e.createVNode(w,{icon:"download",class:"w-4 h-4 mr-2"}),T[8]||(T[8]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),e.renderSlot(j.$slots,"actions",{},()=>[t.showAdd?(e.openBlock(),e.createBlock(te,{key:0,variant:"success",size:"lg",onClick:T[4]||(T[4]=$=>j.$emit("add"))},{default:e.withCtx(()=>[e.createVNode(w,{icon:"plus",class:"w-4 h-4 mr-2"}),T[9]||(T[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(D.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(Y.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,onInput:L=>E($.key,"from",L.target.value),class:e.normalizeClass(q.value),placeholder:`From ${$.label}`},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,onInput:L=>E($.key,"to",L.target.value),class:e.normalizeClass(q.value),placeholder:`To ${$.label}`},null,42,Lu)]),c($)?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:L=>f($.key),class:e.normalizeClass(M.value),title:"Clear this filter"},[e.createVNode(w,{icon:"xmark",class:"w-4 h-4"})],10,Mu)):e.createCommentVNode("",!0)])]))),128))])],2)):e.createCommentVNode("",!0),u.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(B.value)},[e.createElementVNode("div",Fu,[e.createElementVNode("span",{class:e.normalizeClass(A.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(W.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",{onClick:L=>De($.key),class:e.normalizeClass(O.value)},[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",Wu,e.toDisplayString(t.totalItems||0),1),e.createTextVNode(" "+e.toDisplayString(t.itemLabel||"items")+" found ",1)])])])])):e.createCommentVNode("",!0)])}}},Yu={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=["onClick","title"],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=N.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=N.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"}}),y=N.cva("p-2 border border-slate-300 transition-colors",{variants:{active:{true:"bg-blue-50 text-blue-600 border-blue-300",false:"bg-white text-slate-600 hover:bg-slate-50"},position:{first:"rounded-l-md border-r-0",middle:"border-x-0",last:"rounded-r-md border-l-0"}},defaultVariants:{active:!1,position:"middle"}}),E=N.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"}}),x=e.computed(()=>b(f({variant:a.variant,padding:a.padding}))),k=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"),C=e.computed(()=>"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 focus:ring-2 focus:ring-offset-1"),h=e.computed(()=>"text-sm text-slate-700 flex-1 select-none"),R=B=>{s.value&&l.value&&!s.value.contains(B.target)&&!l.value.contains(B.target)&&(o.value=!1)},D=()=>{o.value=!o.value},q=B=>b(v({variant:B.variant||"secondary"})),Y=B=>{let A="middle";return B==="compact"?A="first":B==="comfortable"&&(A="last"),b(y({active:a.density===B,position:A}))},z=()=>b(E({state:a.isRefreshing?"refreshing":"normal"})),M=()=>b("w-4 h-4",{"animate-spin":a.isRefreshing}),I=B=>a.visibleColumns.includes(B),p=(B,A)=>{r("toggle-column",{column:B,visible:A})};return e.onMounted(()=>{document.addEventListener("click",R)}),e.onUnmounted(()=>{document.removeEventListener("click",R)}),(B,A)=>{const W=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(x.value)},[e.createElementVNode("div",Yu,[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,O=>(e.openBlock(),e.createBlock(te,{key:O.key,onClick:le=>B.$emit("bulk-action",{action:O.key,items:t.selectedItems}),class:e.normalizeClass(q(O))},{default:e.withCtx(()=>[O.icon?(e.openBlock(),e.createBlock(W,{key:0,icon:O.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(O.label),1)]),_:2},1032,["onClick","class"]))),128))])])):t.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(k.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,O=>e.createElementVNode("button",{key:O.value,onClick:le=>B.$emit("update:density",O.value),class:e.normalizeClass(Y(O.value)),title:O.label,type:"button"},[e.createVNode(W,{icon:O.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",{onClick:e.withModifiers(D,["stop"]),class:e.normalizeClass(m.value),type:"button",ref_key:"columnToggleButton",ref:s},[e.createVNode(W,{icon:"columns",class:"w-4 h-4"}),A[2]||(A[2]=e.createElementVNode("span",null,"Columns",-1))],2),e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:l,class:e.normalizeClass(d.value),onClick:A[0]||(A[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,O=>(e.openBlock(),e.createElementBlock("div",{key:O.key,class:e.normalizeClass(V.value)},[e.createElementVNode("label",tm,[e.createElementVNode("input",{type:"checkbox",checked:I(O.key),onChange:le=>p(O.key,le.target.checked),class:e.normalizeClass(C.value)},null,42,am),e.createElementVNode("span",{class:e.normalizeClass(h.value)},e.toDisplayString(O.label),3)])],2))),128))])])],2),[[e.vShow,o.value]])])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:A[1]||(A[1]=O=>B.$emit("refresh")),disabled:t.isRefreshing,class:e.normalizeClass(z()),type:"button"},[e.createVNode(W,{icon:"sync",class:e.normalizeClass(M())},null,8,["class"]),A[3]||(A[3]=e.createElementVNode("span",null,"Refresh",-1))],10,nm)):e.createCommentVNode("",!0),B.$slots.actions?(e.openBlock(),e.createElementBlock("div",rm,[e.renderSlot(B.$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(b)("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"},bm={class:"text-lg font-bold text-blue-900 truncate max-w-[200px]"},ym={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"},Lm={key:0,class:"absolute right-0 mt-2 w-58 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},Mm={class:"p-4 border-b border-gray-200"},Fm={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"},Wm={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(h=>h[0]||"").join("").toUpperCase()),y=e.computed(()=>a.user?.roles?.length?a.user.roles.map(C=>C.name).join(", "):"No role"),E=()=>{s.value=!s.value,l.value=!1},x=()=>{l.value=!l.value,s.value=!1},k=C=>{r("navigate",C),l.value=!1},u=C=>C.route?!!(a.currentRoute===C.route||a.currentRoute.startsWith(C.route+"/")):!1,m=C=>{r("profile-action",C),l.value=!1},d=()=>{r("logout"),l.value=!1},g=C=>{!C.target.closest(".absolute")&&!C.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,C=>r("search",C)),(C,h)=>{const R=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(b)("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",bm,e.toDisplayString(t.organisationName),1),t.user.organisation?.role?(e.openBlock(),e.createElementBlock("p",ym,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),h[4]||(h[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,onClick:h[0]||(h[0]=D=>r("toggle-mobile-sidebar")),class:"p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors"},[...h[5]||(h[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,[h[6]||(h[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",{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","onUpdate:modelValue":h[1]||(h[1]=D=>o.value=D)},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:h[2]||(h[2]=D=>c.value=!1)}," ✕ ")):e.createCommentVNode("",!0)])):f.value?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:h[3]||(h[3]=D=>c.value=!0),class:"p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors"},[...h[7]||(h[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",{onClick:E,class:"relative p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors"},[h[8]||(h[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,[h[10]||(h[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,D=>(e.openBlock(),e.createElementBlock("div",{key:D.id,class:"p-4 border-b border-gray-100 hover:bg-gray-50 cursor-pointer"},[e.createElementVNode("div",Nm,[h[9]||(h[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(D.title),1),e.createElementVNode("p",zm,e.toDisplayString(D.time),1)])])]))),128))]),h[11]||(h[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",{onClick:x,class:"flex items-center space-x-2 md:space-x-3 p-2 rounded-lg hover:bg-gray-50 transition-colors"},[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(y.value),1)]),h[12]||(h[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",Lm,[e.createElementVNode("div",Mm,[e.createElementVNode("p",Fm,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,D=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:D.name},[D.route?(e.openBlock(),e.createBlock(R,{key:0,to:D.route,class:e.normalizeClass(e.unref(b)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",u(D)?"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:q=>k(D)},{default:e.withCtx(()=>[u(D)?(e.openBlock(),e.createElementBlock("div",Rm)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(b)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",u(D)?"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"))},[D.icon?(e.openBlock(),e.createBlock(_,{key:0,icon:D.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(b)("flex-1 truncate font-semibold",u(D)?"text-blue-700":"text-gray-700"))},e.toDisplayString(D.label),3)]),_:2},1032,["to","class","onClick"])):(e.openBlock(),e.createElementBlock("button",{key:1,onClick:q=>m(D),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"},[e.createElementVNode("div",Um,[D.icon?(e.openBlock(),e.createBlock(_,{key:0,icon:D.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)]),e.createElementVNode("span",Wm,e.toDisplayString(D.label),1)],8,qm))],64))),128))]),e.createElementVNode("div",{class:"border-t border-gray-200 py-2"},[e.createElementVNode("button",{onClick:d,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"},[...h[13]||(h[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)}}},Ym={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,required:!0,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"].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=>{l.value.hasOwnProperty(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},y=async(u,m)=>{l.value[u.name]=m,u.onChange&&typeof u.onChange=="function"&&await u.onChange(m,l.value)},E=(u,m)=>{l.value[u.name]=m,u.onChange&&typeof u.onChange=="function"&&u.onChange(m,l.value)},x=async()=>{if(!v()){We.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})},k=()=>{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),showClose:!0,closeOnBackdrop:!0,size:t.modalSize,resizable:t.modalResizable,onClose:k},{default:e.withCtx(()=>[e.createElementVNode("div",Ym,[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",{onSubmit:e.withModifiers(x,["prevent"]),class:"space-y-4"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,d=>(e.openBlock(),e.createElementBlock("div",{key:d.name},[e.createVNode(_t,{label:d.label,required:d.required&&!d.disabled,error:i.value[d.name],errorMessage:i.value[d.name],id:`form-${t.entityName}-${d.name}-${Math.random().toString(36).slice(2,5)}`},{default:e.withCtx(({fieldId:g,hasError:V,ariaDescribedBy:C})=>[d.type==="text"||d.type==="number"||d.type==="password"?(e.openBlock(),e.createBlock(qe,{key:0,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":h=>l.value[d.name]=h,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":C},null,8,["id","modelValue","onUpdate:modelValue","type","placeholder","disabled","readonly","class","aria-describedby"])):d.type==="textarea"?(e.openBlock(),e.createBlock(Ft,{key:1,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":h=>l.value[d.name]=h,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":C},null,8,["id","modelValue","onUpdate:modelValue","placeholder","disabled","rows","class","aria-describedby"])):d.type==="select"?(e.openBlock(),e.createBlock(ze,{key:2,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":h=>y(d,h),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":C},{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,h=>(e.openBlock(),e.createElementBlock("option",{key:h.value,value:h.value},e.toDisplayString(h.label),9,Xm))),128))]),_:2},1032,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):d.type==="checkbox"?(e.openBlock(),e.createElementBlock("div",Jm,[e.createVNode(qe,{id:g,modelValue:l.value[d.name],"onUpdate:modelValue":h=>l.value[d.name]=h,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":C},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,modelValue:l.value[d.name],"onUpdate:modelValue":h=>E(d,h),min:d.min,max:d.max,step:d.step,disabled:s.value||d.disabled},null,8,["modelValue","onUpdate:modelValue","min","max","step","disabled"])):d.type==="date"?(e.openBlock(),e.createBlock(Ot,{key:5,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":h=>l.value[d.name]=h,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,showToday:d.showToday!==!1,calendarPosition:d.calendarPosition||"left-0","aria-describedby":C},null,8,["id","modelValue","onUpdate:modelValue","disabled","required","min","max","placeholder","format","clearable","showToday","calendarPosition","aria-describedby"])):e.createCommentVNode("",!0)]),_:2},1032,["label","required","error","errorMessage","id"])]))),128)),e.createElementVNode("div",Qm,[e.createVNode(te,{type:"button",onClick:k,variant:"outline",disabled:s.value},{default:e.withCtx(()=>[...m[1]||(m[1]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["disabled"]),e.createVNode(te,{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"},bf={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"},yf={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`}),y=e.computed(()=>s.value?{}:{left:`${r.sidebarWidth}px`}),E=e.computed(()=>{if(s.value)return 0;let z=r.sidebarWidth;return l.value&&(z+=220),c.value&&(z+=220),z}),x=z=>{o("navigate",z),s.value&&k();const M=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||!(M||I))&&C()},k=()=>{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&&k()},d=()=>{l.value&&g(),c.value?V():c.value=!0,s.value&&k()},g=()=>{l.value=!1,setTimeout(()=>{i.value=null},300)},V=()=>{c.value=!1},C=()=>{g(),V()},h=z=>{x(z)},R=z=>{x(z)},D=z=>{const M=r.currentPath;return z.route?!!(M===z.route||M.startsWith(z.route+"/")):z.subItems&&z.subItems.length>0?z.subItems.some(I=>I.route?M===I.route||M.startsWith(I.route+"/"):!1):!1},q=()=>{const z=s.value;s.value=window.innerWidth<1024,z&&!s.value&&f.value&&k()},Y=z=>{z.key==="Escape"&&(l.value||c.value?C():s.value&&f.value&&k())};return e.onMounted(()=>{q(),window.addEventListener("resize",q),document.addEventListener("keydown",Y)}),e.onUnmounted(()=>{window.removeEventListener("resize",q),document.removeEventListener("keydown",Y)}),n({isMobile:s,isMobileOpen:f,submenuOpen:l,managementSettingsOpen:c,contentMarginLeft:E,closeAllMenus:C}),(z,M)=>{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:k})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("aside",{class:e.normalizeClass(e.unref(b)("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(b)("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",{onClick:k,class:"p-2 rounded-lg text-gray-500 hover:text-gray-900 hover:bg-gray-100 transition-colors","aria-label":"Close sidebar"},[...M[0]||(M[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,onClick:B=>m(p),class:e.normalizeClass(e.unref(b)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 cursor-pointer group relative py-4 px-3",D(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"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(b)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",D(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(b)("text-xs font-medium text-center",D(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),D(p)&&u(p)?(e.openBlock(),e.createElementBlock("div",sf)):e.createCommentVNode("",!0)],10,of)):(e.openBlock(),e.createBlock(I,{key:0,to:p.route,onClick:B=>x(p),class:e.normalizeClass(e.unref(b)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 group relative py-4 px-3",D(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"))},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(b)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",D(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(b)("text-xs font-medium text-center",D(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","onClick","class"]))])):e.createCommentVNode("",!0)],64))),128))])]),t.showManagementSettings?(e.openBlock(),e.createElementBlock("div",cf,[e.createElementVNode("div",{onClick:d,class:e.normalizeClass(e.unref(b)("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"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(b)("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(b)("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(b)("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",{onClick:g,class:"p-2 -ml-2 rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 transition-colors","aria-label":"Close submenu"},[...M[1]||(M[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,onClick:B=>h(p),class:e.normalizeClass(e.unref(b)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",D(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"))},{default:e.withCtx(()=>[D(p)?(e.openBlock(),e.createElementBlock("div",pf)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(b)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",D(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(b)("flex-1 truncate font-semibold",D(p)?"text-blue-700":"text-gray-700"))},e.toDisplayString(p.label),3),p.badge?(e.openBlock(),e.createElementBlock("span",bf,e.toDisplayString(p.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","onClick","class"]))),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(b)("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({...y.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",{onClick:V,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"},[...M[2]||(M[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)])]),M[3]||(M[3]=e.createElementVNode("h3",{class:"flex-1 text-sm font-bold text-gray-900 ml-2"},"Management Settings",-1))])]),e.createElementVNode("nav",yf,[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,onClick:B=>R(p),class:e.normalizeClass(e.unref(b)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",D(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"))},{default:e.withCtx(()=>[D(p)?(e.openBlock(),e.createElementBlock("div",kf)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(b)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors",D(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(b)("flex-1 truncate font-semibold",D(p)?"text-blue-700":"text-gray-700"))},e.toDisplayString(p.label),3)]),_:2},1032,["to","onClick","class"])):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:C})):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(t){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"},Lf={class:"bg-white rounded-lg shadow-xl p-6 lg:p-8 max-w-md mx-auto"},Mf={key:0,class:"mb-6"},Ff={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"},Wf={class:"absolute bottom-4 right-4 text-right"},Yf={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",Lf,[t.$slots["card-header"]||a.title?(e.openBlock(),e.createElementBlock("div",Mf,[e.renderSlot(t.$slots,"card-header",{},()=>[e.createElementVNode("div",Ff,[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",Wf,[e.createElementVNode("div",Yf,[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 O={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 O[t.errorType]||O[404]}),y=e.computed(()=>v.value),E=e.computed(()=>t.errorTitle||y.value.title),x=e.computed(()=>t.errorMessage||y.value.message),k=e.computed(()=>y.value.homeButtonIcon||"🏠"),u=e.computed(()=>t.showAdditionalInfo?y.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(O=>setTimeout(O,1e3)),window.location.reload()}catch(O){console.error("Retry failed:",O)}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"]),C=e.computed(()=>["absolute inset-0 -z-10"]),h=e.computed(()=>["w-full max-w-2xl mx-auto text-center"]),R=e.computed(()=>["mb-8"]),D=e.computed(()=>["space-y-8"]),q=e.computed(()=>["flex justify-center mb-6"]),Y=e.computed(()=>["w-32 h-32 flex items-center justify-center"]),z=e.computed(()=>["space-y-4"]),M=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"]),B=e.computed(()=>["mt-8"]),A=e.computed(()=>["mt-8"]),W=e.computed(()=>["mt-6"]);return{isRetrying:o,reportSent:s,isOnline:l,errorId:i,isDev:c,errorConfig:y,errorTitle:E,errorMessage:x,homeButtonIcon:k,additionalInfoConfig:u,goHome:m,goBack:d,retry:g,layoutClasses:V,backgroundClasses:C,contentClasses:h,headerClasses:R,errorContentClasses:D,illustrationClasses:q,iconContainerClasses:Y,detailsClasses:z,codeClasses:M,titleClasses:I,messageClasses:p,actionsClasses:B,additionalInfoClasses:A,helpClasses:W}}},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"],bg={key:0},yg={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.errorTitle),1)])],2),e.createElementVNode("p",{class:e.normalizeClass(r.messageClasses)},[e.renderSlot(t.$slots,"message",{},()=>[e.createTextVNode(e.toDisplayString(r.errorMessage),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,onClick:n[0]||(n[0]=(...l)=>r.goHome&&r.goHome(...l)),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"},[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,onClick:n[1]||(n[1]=(...l)=>r.goBack&&r.goBack(...l)),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"},[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,onClick:n[2]||(n[2]=(...l)=>r.retry&&r.retry(...l)),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"},[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,onClick:n[3]||(n[3]=l=>t.$emit("contact-support")),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"},[r.reportSent?(e.openBlock(),e.createElementBlock("span",bg,"✓")):(e.openBlock(),e.createElementBlock("span",yg,"📝")),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:te,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:Ln,Text:Mn,Textarea:Ft,Tooltip:Fn,Typography:Ue,STLLoader:pe,Alert:On,Breadcrumb:_n,ButtonGroup:Rn,Card:qn,CardHeader:Un,CardBody:Wn,CardFooter:Yn,CardContent:Hn,CardTitle:Gn,DatePicker:Ot,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:Wt,DataTableCell:br,DataTablePagination:Yt,DataTableFilters:yr,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=We,t.provide("toast",We)}};exports.Accordion=fr;exports.AccordionItem=gr;exports.Alert=On;exports.AuthLayout=Vr;exports.Avatar=En;exports.Badge=$n;exports.Breadcrumb=_n;exports.Button=te;exports.ButtonGroup=Rn;exports.Calendar=vr;exports.Card=qn;exports.CardBody=Wn;exports.CardContent=Hn;exports.CardFooter=Yn;exports.CardHeader=Un;exports.CardTitle=Gn;exports.Checkbox=Je;exports.DataTable=pr;exports.DataTableCell=br;exports.DataTableFilters=yr;exports.DataTableHeader=Ut;exports.DataTablePagination=Yt;exports.DataTableRow=Wt;exports.DataTableToolBar=hr;exports.DatePicker=Ot;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=Ln;exports.Tab=ur;exports.TabPanel=mr;exports.Text=Mn;exports.Textarea=Ft;exports.Timeline=Br;exports.TimelineItem=Sr;exports.Toast=sr;exports.Tooltip=Fn;exports.Typography=Ue;exports.cn=b;exports.default=Ng;exports.toast=We;exports.useToaster=lr;
611
+ `},a=t,r=e.ref(!1),o=()=>r.value=!r.value,s=N.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=N.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=N.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(()=>b(s({variant:a.variant}))),f=e.computed(()=>b(l({size:a.size}))),v=e.computed(()=>b(i({size:a.size})));return(y,E)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value)},[e.createVNode(te,{class:e.normalizeClass(f.value),"aria-expanded":r.value,onClick:o},{default:e.withCtx(()=>[e.renderSlot(y.$slots,"header",{isOpen:r.value}),e.createVNode(n,{class:e.normalizeClass(e.unref(b)("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(y.$slots,"content",{isOpen:r.value})],2)):e.createCommentVNode("",!0)]),_:3})],2))}},Ld={class:"relative w-full"},Md={class:"relative"},Fd=["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=["onClick","disabled"],Wd={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"})),y=e.computed(()=>new Date(i.value,l.value+1,0).getDate()),E=e.computed(()=>new Date(i.value,l.value,1).getDay()),x=e.computed(()=>{const I=new Date(i.value,l.value,0).getDate(),p=E.value;return Array.from({length:p},(B,A)=>I-p+A+1)}),k=e.computed(()=>{const I=x.value.length+y.value,p=I%7===0?0:7-I%7;return Array.from({length:p},(B,A)=>A+1)}),u=e.computed(()=>c.value?m(c.value):"");function m(I){if(!I)return"";const p=new Date(I),B=String(p.getMonth()+1).padStart(2,"0"),A=String(p.getDate()).padStart(2,"0"),W=p.getFullYear();return a.format.replace("MM",B).replace("DD",A).replace("YYYY",W)}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 B=d(a.min);if(B&&p<B)return!0}if(a.max){const B=d(a.max);if(B&&p>B)return!0}return!1}function C(){a.disabled||(o.value=!o.value)}function h(){o.value=!1}function R(){l.value===0?(l.value=11,i.value--):l.value--}function D(){l.value===11?(l.value=0,i.value++):l.value++}function q(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 Y(){l.value=s.getMonth(),i.value=s.getFullYear(),q(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 M(I){I.key==="Escape"&&o.value&&h()}return e.onMounted(()=>{document.addEventListener("keydown",M)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",M)}),(I,p)=>(e.openBlock(),e.createElementBlock("div",Ld,[e.createElementVNode("div",Md,[e.createElementVNode("input",{id:t.id,type:"text",value:u.value,onClick:C,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"},null,8,Fd),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",onClick:e.withModifiers(z,["stop"]),class:"absolute right-9 top-1/2 -translate-y-1/2 p-1 hover:bg-slate-100 rounded","aria-label":"Clear date"},[...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",onClick:R,"aria-label":"Previous Month"},[...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",onClick:D,"aria-label":"Next Month"},[...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,B=>e.createElementVNode("div",{key:B,class:"text-center text-xs font-medium text-slate-600 py-1"},e.toDisplayString(B),1)),64))]),e.createElementVNode("div",qd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(B,A)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+A,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(B),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,B=>(e.openBlock(),e.createElementBlock("button",{key:B,type:"button",onClick:A=>q(B),disabled:V(B),class:e.normalizeClass(["w-8 h-8 text-sm rounded flex items-center justify-center",g(B)?"bg-blue-500 text-white":"hover:bg-gray-100",V(B)?"text-gray-300 cursor-not-allowed":""])},e.toDisplayString(B),11,Ud))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,(B,A)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+A,class:"text-center text-sm text-slate-300 py-2"},e.toDisplayString(B),1))),128))]),t.showToday?(e.openBlock(),e.createElementBlock("div",Wd,[e.createElementVNode("button",{type:"button",onClick:Y,class:"w-full px-3 py-2 text-sm font-medium text-blue-600 hover:bg-blue-50 rounded-lg transition-colors"}," 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:h})):e.createCommentVNode("",!0)]))}},Yd={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=N.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=N.cva("font-semibold text-slate-900",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),o=N.cva("text-slate-600 mt-1",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),s=e.computed(()=>b(a({variant:n.variant,padding:n.padding}))),l=e.computed(()=>b(r({size:"md"}))),i=e.computed(()=>b(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",Yd,[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)}},Wt={__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=N.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=N.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",y=e.computed(()=>b(o({striped:a.striped,hoverable:a.hoverable&&!a.clickableRows,clickable:a.clickableRows,selected:a.isSelected,variant:a.variant}))),E=u=>{const m=v(u);return b(s({density:a.density,align:m}),u.cellClasses)},x=e.computed(()=>b(s({density:a.density}),"w-12")),k=e.computed(()=>b(s({density:a.density,align:"right"}),"font-medium"));return(u,m)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(y.value),onClick:f},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(x.value)},[e.createVNode(Je,{modelValue:t.isSelected,"onUpdate:modelValue":m[0]||(m[0]=d=>u.$emit("toggle-selection",t.item))},null,8,["modelValue"])],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(E(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(k.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"},Yt={__name:"DataTablePagination",props:{currentPage:{type:Number,required:!0},totalPages:{type:Number,required:!0},total:{type:Number,required:!0},pageSize:{type:Number,required:!0},showPagination:{type:Boolean,default:!0},selectable:{type:Boolean,default:!1},selectedCount:{type:Number,default:0},pageSizeOptions:{type:Array,default:()=>[5,10,25,50,100]},maxVisiblePages:{type:Number,default:7},variant:{type:String,default:"default",validator:t=>["default","minimal","bordered"].includes(t)},padding:{type:String,default:"normal",validator:t=>["compact","normal","comfortable"].includes(t)}},emits:["update:currentPage","update:pageSize"],setup(t,{emit:n}){const a=t,r=N.cva("border-t border-slate-200",{variants:{variant:{default:"bg-slate-50",minimal:"bg-transparent border-slate-100",bordered:"bg-slate-100 border-t-2 border-slate-300"},padding:{compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),o=N.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"}}),s=N.cva("text-slate-700",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"}},defaultVariants:{size:"md"}}),l=N.cva("border border-slate-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 text-sm min-w-[60px] focus:border-transparent",{variants:{size:{sm:"px-2 py-1",md:"px-3 py-2",lg:"px-4 py-3"}},defaultVariants:{size:"sm"}}),i=e.computed(()=>(a.currentPage-1)*a.pageSize+1),c=e.computed(()=>Math.min(a.currentPage*a.pageSize,a.total)),f=e.computed(()=>{const k=[],u=a.totalPages,m=a.currentPage,d=a.maxVisiblePages;if(u<=d)for(let g=1;g<=u;g++)k.push(g);else{const g=Math.floor(d/2);let V=Math.max(1,m-g),C=Math.min(u,V+d-1);C-V+1<d&&(V=Math.max(1,C-d+1));for(let h=V;h<=C;h++)k.push(h)}return k}),v=e.computed(()=>b(r({variant:a.variant,padding:a.padding}))),y=e.computed(()=>b(s({size:"md"}))),E=e.computed(()=>b(l({size:"sm"}))),x=(k,u)=>{let m="inactive";return u?m="disabled":k&&(m="active"),b(o({state:m,size:"md"}))};return(k,u)=>t.showPagination||k.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(v.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(i.value)+" to "+e.toDisplayString(c.value)+" of "+e.toDisplayString(t.total)+" entries ",1)),k.$slots.footer?(e.openBlock(),e.createElementBlock("div",Jd,[e.renderSlot(k.$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(y.value),inline:!0},{default:e.withCtx(()=>[...u[5]||(u[5]=[e.createTextVNode("Show:",-1)])]),_:1},8,["class"]),e.createVNode(ze,{id:"pageSize","model-value":t.pageSize.toString(),"onUpdate:modelValue":u[0]||(u[0]=m=>k.$emit("update:pageSize",parseInt(m))),class:e.normalizeClass(E.value)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pageSizeOptions,m=>(e.openBlock(),e.createBlock(Mt,{key:m,value:m.toString(),label:m.toString()},null,8,["value","label"]))),128))]),_:1},8,["model-value","class"])]),e.createElementVNode("div",eu,[e.createElementVNode("button",{disabled:t.currentPage===1,onClick:u[1]||(u[1]=m=>k.$emit("update:currentPage",1)),class:e.normalizeClass(x(!1,t.currentPage===1)),title:"First page"},[...u[6]||(u[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,onClick:u[2]||(u[2]=m=>k.$emit("update:currentPage",t.currentPage-1)),class:e.normalizeClass(x(!1,t.currentPage===1)),title:"Previous page"},[...u[7]||(u[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(f.value,m=>(e.openBlock(),e.createElementBlock("button",{key:m,onClick:d=>k.$emit("update:currentPage",m),class:e.normalizeClass(x(m===t.currentPage,!1))},e.toDisplayString(m),11,ru))),128))]),e.createElementVNode("button",{disabled:t.currentPage===t.totalPages,onClick:u[3]||(u[3]=m=>k.$emit("update:currentPage",t.currentPage+1)),class:e.normalizeClass(x(!1,t.currentPage===t.totalPages)),title:"Next page"},[...u[8]||(u[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,onClick:u[4]||(u[4]=m=>k.$emit("update:currentPage",t.totalPages)),class:e.normalizeClass(x(!1,t.currentPage===t.totalPages)),title:"Last page"},[...u[9]||(u[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},bu=["colspan"],yu={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"],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=N.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=N.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"}}),y=N.cva("",{variants:{variant:{default:"bg-slate-50",bordered:"bg-slate-100 border-b-2 border-slate-300",minimal:"bg-transparent border-b border-slate-200"}},defaultVariants:{variant:"default"}}),E=N.cva("divide-y",{variants:{variant:{default:"bg-white divide-slate-200",bordered:"bg-white divide-slate-300",minimal:"bg-transparent divide-slate-100"}},defaultVariants:{variant:"default"}}),x=e.computed(()=>{let w=[...r.data];if(i.value){const $=r.columns.find(L=>L.key===i.value);$&&w.sort((L,K)=>{const de=V(L,$),Te=V(K,$);return de<Te?c.value==="asc"?-1:1:de>Te?c.value==="asc"?1:-1:0})}return w}),k=e.computed(()=>Math.ceil(x.value.length/l.value)),u=e.computed(()=>{if(!r.showPagination)return x.value;const w=(s.value-1)*l.value,$=w+l.value;return x.value.slice(w,$)}),m=e.computed(()=>{let w=r.columns.length;return r.selectable&&w++,r.$slots?.actions&&w++,w}),d=e.computed(()=>x.value.length>0&&x.value.every(w=>h(w))),g=e.computed(()=>{const w=x.value.filter($=>h($)).length;return w>0&&w<x.value.length}),V=(w,$)=>$.accessor?$.accessor(w):$.key.split(".").reduce((L,K)=>L?.[K],w),C=(w,$)=>w[r.rowKey]||$,h=w=>r.selectedItems.some($=>C($)===C(w)),R=w=>{const $=[...r.selectedItems],L=$.findIndex(K=>C(K)===C(w));L>-1?$.splice(L,1):$.push(w),o("selection-change",$)},D=()=>{if(r.loading||r.dataLoading)return;const w=d.value?[]:[...x.value];o("selection-change",w)},q=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}))},Y=w=>{r.loading||o("row-click",w)},z=async w=>{r.paginationLoading||r.loading||(s.value=w,o("page-change",w))},M=async w=>{r.paginationLoading||r.loading||(l.value=w,s.value=1,o("page-size-change",w))},I=e.computed(()=>b(f({variant:r.variant}))),p=e.computed(()=>b(v({variant:r.variant}))),B=e.computed(()=>b(y({variant:r.variant}))),A=e.computed(()=>b(E({variant:r.variant}))),W=w=>b({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}),O=()=>b({compact:"px-4 py-2",normal:"px-6 py-4",comfortable:"px-8 py-6"}[r.density],"whitespace-nowrap text-sm text-slate-900"),le=e.computed(()=>b({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(()=>b({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(()=>b({compact:"px-4 py-4",normal:"px-6 py-6",comfortable:"px-8 py-8"}[r.density],"text-center")),T=(w,$)=>b({"text-blue-600":i.value===w.key&&c.value===$,"text-slate-300":i.value!==w.key||c.value!==$});return e.watch(()=>r.selectedItems,w=>{},{deep:!0}),e.watch(()=>r.pageSize,w=>{l.value=w}),n({refresh:()=>{o("refresh")},goToPage:w=>{z(w)},selectAll:()=>{D()},clearSelection:()=>{o("selection-change",[])},getCurrentPage:()=>s.value,getTotalPages:()=>k.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(B.value)},[e.createElementVNode("tr",null,[t.selectable?(e.openBlock(),e.createElementBlock("th",{key:0,class:e.normalizeClass(le.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,modelValue:d.value,indeterminate:g.value,disabled:t.loading||t.dataLoading,"onUpdate:modelValue":D},null,8,["modelValue","indeterminate","disabled"]))])],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,L=>(e.openBlock(),e.createElementBlock("th",{key:L.key,class:e.normalizeClass(W(L)),onClick:K=>q(L)},[e.createElementVNode("div",uu,[e.createElementVNode("span",null,e.toDisplayString(L.label),1),t.sortLoading&&i.value===L.key?(e.openBlock(),e.createBlock(pe,{key:0,loading:!0,type:"spin",size:"small",color:t.loadingColor},null,8,["color"])):L.sortable?(e.openBlock(),e.createElementBlock("div",mu,[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass([T(L,"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([T(L,"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(A.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,(L,K)=>(e.openBlock(),e.createBlock(Wt,{key:C(L,K),item:L,columns:t.columns,index:K,selectable:t.selectable,"is-selected":h(L),striped:t.striped,hoverable:t.hoverable,"clickable-rows":t.clickableRows,density:t.density,"row-loading":t.rowLoading[C(L,K)],"loading-color":t.loadingColor,onToggleSelection:R,onRowClick:Y},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",yu,[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,bu)])):e.createCommentVNode("",!0),t.showSkeleton&&(t.loading||t.dataLoading)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:3},e.renderList(t.skeletonRows,L=>(e.openBlock(),e.createElementBlock("tr",{key:`skeleton-${L}`,class:"animate-pulse"},[t.selectable?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass(le.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(O())},[...$[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(Yt,{key:1,"current-page":s.value,"total-pages":k.value,total:x.value.length,"page-size":l.value,"show-pagination":t.showPagination,selectable:t.selectable,"selected-count":t.selectedItems.length,variant:t.paginationVariant,padding:t.paginationPadding,loading:t.paginationLoading,disabled:t.loading||t.dataLoading,"onUpdate:currentPage":z,"onUpdate:pageSize":M},{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-8fda8771"]]),br={__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=N.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 b(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","onInput","placeholder"],ju={class:"relative flex-1"},Lu=["model-value","onInput","placeholder"],Mu=["onClick"],Fu={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"},Wu={class:"font-medium"},yr={__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=>n.hasOwnProperty("key")&&n.hasOwnProperty("label")&&n.hasOwnProperty("from")&&n.hasOwnProperty("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=N.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=N.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=N.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 T=[...a.dateFilters],w=T.findIndex($=>$.key===j);w>=0&&(T[w]={...T[w],from:"",to:""},r("update:dateFilters",T))},v=j=>`text-xs px-2 py-1 rounded ${c(j)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,y=()=>{o.value=!o.value},E=(j,T,w)=>{const $=[...a.dateFilters],L=$.findIndex(K=>K.key===j);L>=0&&($[L]={...$[L],[T]:w},r("update:dateFilters",$))},x=e.computed(()=>{const j=a.searchQuery,T=a.selectedStatus,w=a.dateFrom||a.dateTo,$=a.dateFilters.some(L=>L.from||L.to);return j||T||w||$}),k=e.computed(()=>{let j=0;return a.searchQuery&&j++,a.selectedStatus&&j++,(a.dateFrom||a.dateTo)&&j++,j+=a.dateFilters.filter(T=>T.from||T.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 T=a.statusOptions.find(w=>w.value===a.selectedStatus);j.push({key:"status",label:"Status",value:T?.label||a.selectedStatus,icon:"filter"})}if(a.dateFrom||a.dateTo){let T="";a.dateFrom&&a.dateTo?T=`${a.dateFrom} to ${a.dateTo}`:a.dateFrom?T=`From ${a.dateFrom}`:a.dateTo&&(T=`Until ${a.dateTo}`),T&&j.push({key:"date",label:"Date Range",value:T,icon:"calendar"})}return a.dateFilters.forEach(T=>{if(T.from||T.to){let w="";T.from&&T.to?w=`${T.from} to ${T.to}`:T.from?w=`From ${T.from}`:T.to&&(w=`Until ${T.to}`),w&&j.push({key:`date-${T.key}`,label:T.label,value:w,icon:"calendar"})}}),j}),m=e.computed(()=>b(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(()=>b(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"),C=e.computed(()=>b(l({size:"md"}),"w-full pr-8 appearance-none hover:border-gray-300")),h=e.computed(()=>{const j=o.value||x.value;return b(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"),D=e.computed(()=>"px-6 py-4 border-t border-gray-100 bg-gray-50"),q=e.computed(()=>b(l({size:"md"}),"pl-10 pr-3")),Y=e.computed(()=>"text-sm font-semibold text-gray-700"),z=e.computed(()=>"text-gray-500 text-sm font-medium"),M=e.computed(()=>"text-gray-400 hover:text-gray-600 p-1.5 hover:bg-gray-200 rounded-full transition-all"),I=e.computed(()=>b(i({variant:"ghost",size:"md"}))),p=e.computed(()=>b(i({variant:"default",size:"lg"}))),B=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),A=e.computed(()=>"text-sm font-semibold text-blue-800"),W=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"),O=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),le=()=>{r("update:searchQuery",""),r("update:selectedStatus",""),r("update:dateFrom",""),r("update:dateTo","");const j=a.dateFilters.map(T=>({...T,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 T=j.replace("date-",""),w=a.dateFilters.map($=>$.key===T?{...$,from:"",to:""}:$);r("update:dateFilters",w)}break}};return(j,T)=>{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,onInput:T[0]||(T[0]=$=>j.$emit("update:searchQuery",$.target.value)),placeholder:t.searchPlaceholder,class:e.normalizeClass(g.value)},null,42,Su),t.searchQuery?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:T[1]||(T[1]=$=>j.$emit("update:searchQuery","")),class:e.normalizeClass(V.value)},[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,onChange:T[2]||(T[2]=$=>j.$emit("update:selectedStatus",$.target.value)),class:e.normalizeClass(C.value)},{default:e.withCtx(()=>[T[5]||(T[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",{onClick:y,class:e.normalizeClass(h.value)},[e.createVNode(w,{icon:"filter",class:"w-4 h-4"}),T[6]||(T[6]=e.createTextVNode(" Filters ",-1)),k.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(R.value)},e.toDisplayString(k.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,[x.value?(e.openBlock(),e.createBlock(te,{key:0,onClick:le,class:e.normalizeClass(I.value)},{default:e.withCtx(()=>[e.createVNode(w,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),T[7]||(T[7]=e.createTextVNode(" Clear All ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),t.showExport?(e.openBlock(),e.createBlock(te,{key:1,onClick:T[3]||(T[3]=$=>j.$emit("export")),class:e.normalizeClass(p.value)},{default:e.withCtx(()=>[e.createVNode(w,{icon:"download",class:"w-4 h-4 mr-2"}),T[8]||(T[8]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),e.renderSlot(j.$slots,"actions",{},()=>[t.showAdd?(e.openBlock(),e.createBlock(te,{key:0,variant:"success",size:"lg",onClick:T[4]||(T[4]=$=>j.$emit("add"))},{default:e.withCtx(()=>[e.createVNode(w,{icon:"plus",class:"w-4 h-4 mr-2"}),T[9]||(T[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(D.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(Y.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,onInput:L=>E($.key,"from",L.target.value),class:e.normalizeClass(q.value),placeholder:`From ${$.label}`},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,onInput:L=>E($.key,"to",L.target.value),class:e.normalizeClass(q.value),placeholder:`To ${$.label}`},null,42,Lu)]),c($)?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:L=>f($.key),class:e.normalizeClass(M.value),title:"Clear this filter"},[e.createVNode(w,{icon:"xmark",class:"w-4 h-4"})],10,Mu)):e.createCommentVNode("",!0)])]))),128))])],2)):e.createCommentVNode("",!0),u.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(B.value)},[e.createElementVNode("div",Fu,[e.createElementVNode("span",{class:e.normalizeClass(A.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(W.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",{onClick:L=>De($.key),class:e.normalizeClass(O.value)},[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",Wu,e.toDisplayString(t.totalItems||0),1),e.createTextVNode(" "+e.toDisplayString(t.itemLabel||"items")+" found ",1)])])])])):e.createCommentVNode("",!0)])}}},Yu={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=["onClick","title"],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=N.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=N.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"}}),y=N.cva("p-2 border border-slate-300 transition-colors",{variants:{active:{true:"bg-blue-50 text-blue-600 border-blue-300",false:"bg-white text-slate-600 hover:bg-slate-50"},position:{first:"rounded-l-md border-r-0",middle:"border-x-0",last:"rounded-r-md border-l-0"}},defaultVariants:{active:!1,position:"middle"}}),E=N.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"}}),x=e.computed(()=>b(f({variant:a.variant,padding:a.padding}))),k=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"),C=e.computed(()=>"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500 focus:ring-2 focus:ring-offset-1"),h=e.computed(()=>"text-sm text-slate-700 flex-1 select-none"),R=B=>{s.value&&l.value&&!s.value.contains(B.target)&&!l.value.contains(B.target)&&(o.value=!1)},D=()=>{o.value=!o.value},q=B=>b(v({variant:B.variant||"secondary"})),Y=B=>{let A="middle";return B==="compact"?A="first":B==="comfortable"&&(A="last"),b(y({active:a.density===B,position:A}))},z=()=>b(E({state:a.isRefreshing?"refreshing":"normal"})),M=()=>b("w-4 h-4",{"animate-spin":a.isRefreshing}),I=B=>a.visibleColumns.includes(B),p=(B,A)=>{r("toggle-column",{column:B,visible:A})};return e.onMounted(()=>{document.addEventListener("click",R)}),e.onUnmounted(()=>{document.removeEventListener("click",R)}),(B,A)=>{const W=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(x.value)},[e.createElementVNode("div",Yu,[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,O=>(e.openBlock(),e.createBlock(te,{key:O.key,onClick:le=>B.$emit("bulk-action",{action:O.key,items:t.selectedItems}),class:e.normalizeClass(q(O))},{default:e.withCtx(()=>[O.icon?(e.openBlock(),e.createBlock(W,{key:0,icon:O.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(O.label),1)]),_:2},1032,["onClick","class"]))),128))])])):t.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(k.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,O=>e.createElementVNode("button",{key:O.value,onClick:le=>B.$emit("update:density",O.value),class:e.normalizeClass(Y(O.value)),title:O.label,type:"button"},[e.createVNode(W,{icon:O.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",{onClick:e.withModifiers(D,["stop"]),class:e.normalizeClass(m.value),type:"button",ref_key:"columnToggleButton",ref:s},[e.createVNode(W,{icon:"columns",class:"w-4 h-4"}),A[2]||(A[2]=e.createElementVNode("span",null,"Columns",-1))],2),e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:l,class:e.normalizeClass(d.value),onClick:A[0]||(A[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,O=>(e.openBlock(),e.createElementBlock("div",{key:O.key,class:e.normalizeClass(V.value)},[e.createElementVNode("label",tm,[e.createElementVNode("input",{type:"checkbox",checked:I(O.key),onChange:le=>p(O.key,le.target.checked),class:e.normalizeClass(C.value)},null,42,am),e.createElementVNode("span",{class:e.normalizeClass(h.value)},e.toDisplayString(O.label),3)])],2))),128))])])],2),[[e.vShow,o.value]])])):e.createCommentVNode("",!0),t.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:A[1]||(A[1]=O=>B.$emit("refresh")),disabled:t.isRefreshing,class:e.normalizeClass(z()),type:"button"},[e.createVNode(W,{icon:"sync",class:e.normalizeClass(M())},null,8,["class"]),A[3]||(A[3]=e.createElementVNode("span",null,"Refresh",-1))],10,nm)):e.createCommentVNode("",!0),B.$slots.actions?(e.openBlock(),e.createElementBlock("div",rm,[e.renderSlot(B.$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(b)("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"},bm={class:"text-lg font-bold text-blue-900 truncate max-w-[200px]"},ym={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"},Lm={key:0,class:"absolute right-0 mt-2 w-58 bg-white rounded-lg shadow-lg border border-gray-200 z-50"},Mm={class:"p-4 border-b border-gray-200"},Fm={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"},Wm={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(h=>h[0]||"").join("").toUpperCase()),y=e.computed(()=>a.user?.roles?.length?a.user.roles.map(C=>C.name).join(", "):"No role"),E=()=>{s.value=!s.value,l.value=!1},x=()=>{l.value=!l.value,s.value=!1},k=C=>{r("navigate",C),l.value=!1},u=C=>C.route?!!(a.currentRoute===C.route||a.currentRoute.startsWith(C.route+"/")):!1,m=C=>{r("profile-action",C),l.value=!1},d=()=>{r("logout"),l.value=!1},g=C=>{!C.target.closest(".absolute")&&!C.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,C=>r("search",C)),(C,h)=>{const R=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(e.unref(b)("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",bm,e.toDisplayString(t.organisationName),1),t.user.organisation?.role?(e.openBlock(),e.createElementBlock("p",ym,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),h[4]||(h[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,onClick:h[0]||(h[0]=D=>r("toggle-mobile-sidebar")),class:"p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors"},[...h[5]||(h[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,[h[6]||(h[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",{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","onUpdate:modelValue":h[1]||(h[1]=D=>o.value=D)},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:h[2]||(h[2]=D=>c.value=!1)}," ✕ ")):e.createCommentVNode("",!0)])):f.value?(e.openBlock(),e.createElementBlock("button",{key:2,onClick:h[3]||(h[3]=D=>c.value=!0),class:"p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors"},[...h[7]||(h[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",{onClick:E,class:"relative p-2 text-gray-400 hover:text-gray-600 rounded-lg hover:bg-gray-50 transition-colors"},[h[8]||(h[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,[h[10]||(h[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,D=>(e.openBlock(),e.createElementBlock("div",{key:D.id,class:"p-4 border-b border-gray-100 hover:bg-gray-50 cursor-pointer"},[e.createElementVNode("div",Nm,[h[9]||(h[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(D.title),1),e.createElementVNode("p",zm,e.toDisplayString(D.time),1)])])]))),128))]),h[11]||(h[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",{onClick:x,class:"flex items-center space-x-2 md:space-x-3 p-2 rounded-lg hover:bg-gray-50 transition-colors"},[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(y.value),1)]),h[12]||(h[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",Lm,[e.createElementVNode("div",Mm,[e.createElementVNode("p",Fm,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,D=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:D.name},[D.route?(e.openBlock(),e.createBlock(R,{key:0,to:D.route,class:e.normalizeClass(e.unref(b)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",u(D)?"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:q=>k(D)},{default:e.withCtx(()=>[u(D)?(e.openBlock(),e.createElementBlock("div",Rm)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(b)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",u(D)?"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"))},[D.icon?(e.openBlock(),e.createBlock(_,{key:0,icon:D.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(b)("flex-1 truncate font-semibold",u(D)?"text-blue-700":"text-gray-700"))},e.toDisplayString(D.label),3)]),_:2},1032,["to","class","onClick"])):(e.openBlock(),e.createElementBlock("button",{key:1,onClick:q=>m(D),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"},[e.createElementVNode("div",Um,[D.icon?(e.openBlock(),e.createBlock(_,{key:0,icon:D.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0)]),e.createElementVNode("span",Wm,e.toDisplayString(D.label),1)],8,qm))],64))),128))]),e.createElementVNode("div",{class:"border-t border-gray-200 py-2"},[e.createElementVNode("button",{onClick:d,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"},[...h[13]||(h[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)}}},Ym={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,required:!0,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"].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=>{l.value.hasOwnProperty(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},y=async(u,m)=>{l.value[u.name]=m,u.onChange&&typeof u.onChange=="function"&&await u.onChange(m,l.value)},E=(u,m)=>{l.value[u.name]=m,u.onChange&&typeof u.onChange=="function"&&u.onChange(m,l.value)},x=async()=>{if(!v()){We.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})},k=()=>{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),showClose:!0,closeOnBackdrop:!0,size:t.modalSize,resizable:t.modalResizable,onClose:k},{default:e.withCtx(()=>[e.createElementVNode("div",Ym,[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",{onSubmit:e.withModifiers(x,["prevent"]),class:"space-y-4"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,d=>(e.openBlock(),e.createElementBlock("div",{key:d.name},[e.createVNode(_t,{label:d.label,required:d.required&&!d.disabled,error:i.value[d.name],errorMessage:i.value[d.name],id:`form-${t.entityName}-${d.name}-${Math.random().toString(36).slice(2,5)}`},{default:e.withCtx(({fieldId:g,hasError:V,ariaDescribedBy:C})=>[d.type==="text"||d.type==="number"||d.type==="password"?(e.openBlock(),e.createBlock(qe,{key:0,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":h=>l.value[d.name]=h,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":C},null,8,["id","modelValue","onUpdate:modelValue","type","placeholder","disabled","readonly","class","aria-describedby"])):d.type==="textarea"?(e.openBlock(),e.createBlock(Ft,{key:1,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":h=>l.value[d.name]=h,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":C},null,8,["id","modelValue","onUpdate:modelValue","placeholder","disabled","rows","class","aria-describedby"])):d.type==="select"?(e.openBlock(),e.createBlock(ze,{key:2,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":h=>y(d,h),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":C},{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,h=>(e.openBlock(),e.createElementBlock("option",{key:h.value,value:h.value},e.toDisplayString(h.label),9,Xm))),128))]),_:2},1032,["id","modelValue","onUpdate:modelValue","disabled","class","aria-describedby"])):d.type==="checkbox"?(e.openBlock(),e.createElementBlock("div",Jm,[e.createVNode(qe,{id:g,modelValue:l.value[d.name],"onUpdate:modelValue":h=>l.value[d.name]=h,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":C},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,modelValue:l.value[d.name],"onUpdate:modelValue":h=>E(d,h),min:d.min,max:d.max,step:d.step,disabled:s.value||d.disabled},null,8,["modelValue","onUpdate:modelValue","min","max","step","disabled"])):d.type==="date"?(e.openBlock(),e.createBlock(Ot,{key:5,id:g,modelValue:l.value[d.name],"onUpdate:modelValue":h=>l.value[d.name]=h,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,showToday:d.showToday!==!1,calendarPosition:d.calendarPosition||"left-0","aria-describedby":C},null,8,["id","modelValue","onUpdate:modelValue","disabled","required","min","max","placeholder","format","clearable","showToday","calendarPosition","aria-describedby"])):e.createCommentVNode("",!0)]),_:2},1032,["label","required","error","errorMessage","id"])]))),128)),e.createElementVNode("div",Qm,[e.createVNode(te,{type:"button",onClick:k,variant:"outline",disabled:s.value},{default:e.withCtx(()=>[...m[1]||(m[1]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["disabled"]),e.createVNode(te,{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"},bf={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"},yf={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`}),y=e.computed(()=>s.value?{}:{left:`${r.sidebarWidth}px`}),E=e.computed(()=>{if(s.value)return 0;let z=r.sidebarWidth;return l.value&&(z+=220),c.value&&(z+=220),z}),x=z=>{o("navigate",z),s.value&&k();const M=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||!(M||I))&&C()},k=()=>{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&&k()},d=()=>{l.value&&g(),c.value?V():c.value=!0,s.value&&k()},g=()=>{l.value=!1,setTimeout(()=>{i.value=null},300)},V=()=>{c.value=!1},C=()=>{g(),V()},h=z=>{x(z)},R=z=>{x(z)},D=z=>{const M=r.currentPath;return z.route?!!(M===z.route||M.startsWith(z.route+"/")):z.subItems&&z.subItems.length>0?z.subItems.some(I=>I.route?M===I.route||M.startsWith(I.route+"/"):!1):!1},q=()=>{const z=s.value;s.value=window.innerWidth<1024,z&&!s.value&&f.value&&k()},Y=z=>{z.key==="Escape"&&(l.value||c.value?C():s.value&&f.value&&k())};return e.onMounted(()=>{q(),window.addEventListener("resize",q),document.addEventListener("keydown",Y)}),e.onUnmounted(()=>{window.removeEventListener("resize",q),document.removeEventListener("keydown",Y)}),n({isMobile:s,isMobileOpen:f,submenuOpen:l,managementSettingsOpen:c,contentMarginLeft:E,closeAllMenus:C}),(z,M)=>{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:k})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("aside",{class:e.normalizeClass(e.unref(b)("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(b)("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",{onClick:k,class:"p-2 rounded-lg text-gray-500 hover:text-gray-900 hover:bg-gray-100 transition-colors","aria-label":"Close sidebar"},[...M[0]||(M[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,onClick:B=>m(p),class:e.normalizeClass(e.unref(b)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 cursor-pointer group relative py-4 px-3",D(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"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(b)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",D(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(b)("text-xs font-medium text-center",D(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),D(p)&&u(p)?(e.openBlock(),e.createElementBlock("div",sf)):e.createCommentVNode("",!0)],10,of)):(e.openBlock(),e.createBlock(I,{key:0,to:p.route,onClick:B=>x(p),class:e.normalizeClass(e.unref(b)("flex flex-col items-center justify-center rounded-xl transition-all duration-200 group relative py-4 px-3",D(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"))},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(b)("flex items-center justify-center rounded-lg transition-colors mb-2","w-12 h-12",D(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(b)("text-xs font-medium text-center",D(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","onClick","class"]))])):e.createCommentVNode("",!0)],64))),128))])]),t.showManagementSettings?(e.openBlock(),e.createElementBlock("div",cf,[e.createElementVNode("div",{onClick:d,class:e.normalizeClass(e.unref(b)("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"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(b)("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(b)("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(b)("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",{onClick:g,class:"p-2 -ml-2 rounded-lg text-gray-500 hover:text-gray-700 hover:bg-gray-100 transition-colors","aria-label":"Close submenu"},[...M[1]||(M[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,onClick:B=>h(p),class:e.normalizeClass(e.unref(b)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",D(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"))},{default:e.withCtx(()=>[D(p)?(e.openBlock(),e.createElementBlock("div",pf)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(b)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors ml-2",D(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(b)("flex-1 truncate font-semibold",D(p)?"text-blue-700":"text-gray-700"))},e.toDisplayString(p.label),3),p.badge?(e.openBlock(),e.createElementBlock("span",bf,e.toDisplayString(p.badge),1)):e.createCommentVNode("",!0)]),_:2},1032,["to","onClick","class"]))),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(b)("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({...y.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",{onClick:V,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"},[...M[2]||(M[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)])]),M[3]||(M[3]=e.createElementVNode("h3",{class:"flex-1 text-sm font-bold text-gray-900 ml-2"},"Management Settings",-1))])]),e.createElementVNode("nav",yf,[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,onClick:B=>R(p),class:e.normalizeClass(e.unref(b)("flex items-center px-3 py-2.5 rounded-lg text-sm font-medium transition-all duration-200 group relative",D(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"))},{default:e.withCtx(()=>[D(p)?(e.openBlock(),e.createElementBlock("div",kf)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(b)("flex items-center justify-center w-8 h-8 rounded-lg mr-3 flex-shrink-0 transition-colors",D(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(b)("flex-1 truncate font-semibold",D(p)?"text-blue-700":"text-gray-700"))},e.toDisplayString(p.label),3)]),_:2},1032,["to","onClick","class"])):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:C})):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(t){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"},Lf={class:"bg-white rounded-lg shadow-xl p-6 lg:p-8 max-w-md mx-auto"},Mf={key:0,class:"mb-6"},Ff={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"},Wf={class:"absolute bottom-4 right-4 text-right"},Yf={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",Lf,[t.$slots["card-header"]||a.title?(e.openBlock(),e.createElementBlock("div",Mf,[e.renderSlot(t.$slots,"card-header",{},()=>[e.createElementVNode("div",Ff,[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",Wf,[e.createElementVNode("div",Yf,[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 O={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 O[t.errorType]||O[404]}),y=e.computed(()=>v.value),E=e.computed(()=>t.errorTitle||y.value.title),x=e.computed(()=>t.errorMessage||y.value.message),k=e.computed(()=>y.value.homeButtonIcon||"🏠"),u=e.computed(()=>t.showAdditionalInfo?y.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(O=>setTimeout(O,1e3)),window.location.reload()}catch(O){console.error("Retry failed:",O)}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"]),C=e.computed(()=>["absolute inset-0 -z-10"]),h=e.computed(()=>["w-full max-w-2xl mx-auto text-center"]),R=e.computed(()=>["mb-8"]),D=e.computed(()=>["space-y-8"]),q=e.computed(()=>["flex justify-center mb-6"]),Y=e.computed(()=>["w-32 h-32 flex items-center justify-center"]),z=e.computed(()=>["space-y-4"]),M=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"]),B=e.computed(()=>["mt-8"]),A=e.computed(()=>["mt-8"]),W=e.computed(()=>["mt-6"]);return{isRetrying:o,reportSent:s,isOnline:l,errorId:i,isDev:c,errorConfig:y,errorTitle:E,errorMessage:x,homeButtonIcon:k,additionalInfoConfig:u,goHome:m,goBack:d,retry:g,layoutClasses:V,backgroundClasses:C,contentClasses:h,headerClasses:R,errorContentClasses:D,illustrationClasses:q,iconContainerClasses:Y,detailsClasses:z,codeClasses:M,titleClasses:I,messageClasses:p,actionsClasses:B,additionalInfoClasses:A,helpClasses:W}}},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"],bg={key:0},yg={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.errorTitle),1)])],2),e.createElementVNode("p",{class:e.normalizeClass(r.messageClasses)},[e.renderSlot(t.$slots,"message",{},()=>[e.createTextVNode(e.toDisplayString(r.errorMessage),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,onClick:n[0]||(n[0]=(...l)=>r.goHome&&r.goHome(...l)),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"},[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,onClick:n[1]||(n[1]=(...l)=>r.goBack&&r.goBack(...l)),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"},[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,onClick:n[2]||(n[2]=(...l)=>r.retry&&r.retry(...l)),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"},[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,onClick:n[3]||(n[3]=l=>t.$emit("contact-support")),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"},[r.reportSent?(e.openBlock(),e.createElementBlock("span",bg,"✓")):(e.openBlock(),e.createElementBlock("span",yg,"📝")),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:te,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:Ln,Text:Mn,Textarea:Ft,Tooltip:Fn,Typography:Ue,STLLoader:pe,Alert:On,Breadcrumb:_n,ButtonGroup:Rn,Card:qn,CardHeader:Un,CardBody:Wn,CardFooter:Yn,CardContent:Hn,CardTitle:Gn,DatePicker:Ot,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:Wt,DataTableCell:br,DataTablePagination:Yt,DataTableFilters:yr,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=We,t.provide("toast",We)}};exports.Accordion=fr;exports.AccordionItem=gr;exports.Alert=On;exports.AuthLayout=Vr;exports.Avatar=En;exports.Badge=$n;exports.Breadcrumb=_n;exports.Button=te;exports.ButtonGroup=Rn;exports.Calendar=vr;exports.Card=qn;exports.CardBody=Wn;exports.CardContent=Hn;exports.CardFooter=Yn;exports.CardHeader=Un;exports.CardTitle=Gn;exports.Checkbox=Je;exports.DataTable=pr;exports.DataTableCell=br;exports.DataTableFilters=yr;exports.DataTableHeader=Ut;exports.DataTablePagination=Yt;exports.DataTableRow=Wt;exports.DataTableToolBar=hr;exports.DatePicker=Ot;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=Ln;exports.Tab=ur;exports.TabPanel=mr;exports.Text=Mn;exports.Textarea=Ft;exports.Timeline=Br;exports.TimelineItem=Sr;exports.Toast=sr;exports.Tooltip=Fn;exports.Typography=Ue;exports.cn=b;exports.default=Ng;exports.toast=We;exports.useToaster=lr;