UNPKG

ri-platform-ui-library

Version:

Shared UI components library for Recruiter Intelligence Platform

1 lines 472 kB
(function(w,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-chartjs"),require("chart.js"),require("@tiptap/vue-3"),require("@tiptap/starter-kit"),require("@tiptap/extension-underline"),require("@tiptap/extension-text-align"),require("@tiptap/extension-link"),require("@tiptap/extension-character-count"),require("@tiptap/extension-text-style"),require("@tiptap/extension-color"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-chartjs","chart.js","@tiptap/vue-3","@tiptap/starter-kit","@tiptap/extension-underline","@tiptap/extension-text-align","@tiptap/extension-link","@tiptap/extension-character-count","@tiptap/extension-text-style","@tiptap/extension-color","vue-router"],e):(w=typeof globalThis<"u"?globalThis:w||self,e(w.RIUILibrary={},w.Vue,w.VueChartJS,w.Chart,w.TiptapVue3,w.StarterKit,w.Underline,w.TextAlign,w.Link,w.CharacterCount,w.TextStyle,w.Color,w.VueRouter))})(this,function(w,e,Y,A,Be,Ke,Qe,Xe,Ze,Ye,ve,et,Ce){"use strict";const tt=["type","disabled"],rt={key:3},P=e.defineComponent({__name:"BaseButton",props:{variant:{default:"primary"},size:{default:"md"},type:{default:"button"},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},fullWidth:{type:Boolean,default:!1},text:{default:""},leftIcon:{default:void 0},rightIcon:{default:void 0},className:{default:""}},emits:["click"],setup(d,{emit:o}){const r=d,t=o,a=computed(()=>({xs:"px-2.5 py-1.5 text-xs",sm:"px-3 py-2 text-sm",md:"px-4 py-2 text-sm",lg:"px-4 py-2 text-base",xl:"px-6 py-3 text-lg"})[r.size]),n=computed(()=>({xs:"xs",sm:"sm",md:"sm",lg:"md",xl:"lg"})[r.size]),i=computed(()=>({primary:"bg-blue-600 hover:bg-blue-700 text-white focus:ring-blue-500 dark:bg-blue-500 dark:hover:bg-blue-600",secondary:"bg-gray-600 hover:bg-gray-700 text-white focus:ring-gray-500 dark:bg-gray-500 dark:hover:bg-gray-600",success:"bg-green-600 hover:bg-green-700 text-white focus:ring-green-500 dark:bg-green-500 dark:hover:bg-green-600",danger:"bg-red-600 hover:bg-red-700 text-white focus:ring-red-500 dark:bg-red-500 dark:hover:bg-red-600",warning:"bg-yellow-600 hover:bg-yellow-700 text-white focus:ring-yellow-500 dark:bg-yellow-500 dark:hover:bg-yellow-600",info:"bg-purple-600 hover:bg-purple-700 text-white focus:ring-purple-500 dark:bg-purple-500 dark:hover:bg-purple-600",ghost:"bg-transparent hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300 focus:ring-gray-500",outline:"bg-transparent border border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300 focus:ring-gray-500"})[r.variant]),l=computed(()=>`text-current ${n.value==="xs"?"w-3 h-3":n.value==="sm"?"w-4 h-4":n.value==="md"?"w-5 h-5":n.value==="lg"?"w-6 h-6":"w-8 h-8"}`),s=c=>{!r.disabled&&!r.loading&&t("click",c)};return(c,g)=>{const p=e.resolveComponent("BaseSpinner"),m=e.resolveComponent("BaseIcon");return e.openBlock(),e.createElementBlock("button",{type:c.type,disabled:c.disabled||c.loading,class:e.normalizeClass(["inline-flex items-center justify-center font-medium rounded-lg transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed",e.unref(a),e.unref(i),c.fullWidth?"w-full":"",c.disabled||c.loading?"opacity-50 cursor-not-allowed":"",c.className]),onClick:s},[c.loading?(e.openBlock(),e.createBlock(p,{key:0,size:e.unref(n)==="2xl"?"xl":e.unref(n),color:"current",class:"-ml-1 mr-2"},null,8,["size"])):e.createCommentVNode("",!0),c.$slots["left-icon"]&&!c.loading?e.renderSlot(c.$slots,"left-icon",{key:1,iconSize:e.unref(n),iconClass:e.unref(l)}):c.leftIcon&&!c.loading?(e.openBlock(),e.createBlock(m,{key:2,icon:c.leftIcon,size:e.unref(n),class:"mr-2"},null,8,["icon","size"])):e.createCommentVNode("",!0),c.text||c.$slots.default?(e.openBlock(),e.createElementBlock("span",rt,[e.renderSlot(c.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(c.text),1)])])):e.createCommentVNode("",!0),c.$slots["right-icon"]&&!c.loading?e.renderSlot(c.$slots,"right-icon",{key:4,iconSize:e.unref(n),iconClass:e.unref(l)}):c.rightIcon&&!c.loading?(e.openBlock(),e.createBlock(m,{key:5,icon:c.rightIcon,size:e.unref(n),class:"ml-2"},null,8,["icon","size"])):e.createCommentVNode("",!0)],10,tt)}}}),Z=e.defineComponent({__name:"ChevronDownIcon",props:{iconClass:{default:"h-5 w-5"}},setup(d){return(o,r)=>(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(o.iconClass),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},r[0]||(r[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)]),2))}});let ot=0;function be(d="id"){return`${d}-${++ot}`}const at=["for"],lt={key:0,class:"text-red-500 ml-1"},nt={class:"relative"},st=["id","type","value","placeholder","disabled","readonly","required","autocomplete","min","max"],dt=["id","value","placeholder","disabled","readonly","required","rows"],it={key:2,class:"relative"},ct=["id","value","disabled","required"],mt={key:0,value:"",disabled:"",class:"text-gray-500 dark:text-dark-400"},pt=["value"],gt={class:"absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none"},ie={__name:"BaseInput",props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text",validator:d=>["text","email","password","number","tel","url","search","textarea","select"].includes(d)},label:{type:String,default:""},placeholder:{type:String,default:""},helpText:{type:String,default:""},errorMessage:{type:String,default:""},size:{type:String,default:"md",validator:d=>["sm","md","lg"].includes(d)},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},rows:{type:Number,default:3},min:{type:[String,Number],default:void 0},max:{type:[String,Number],default:void 0},options:{type:Array,default:()=>[]},optionValue:{type:String,default:"value"},optionLabel:{type:String,default:"label"},leftIcon:{type:[Object,Function],default:null},rightIcon:{type:[Object,Function],default:null},autocomplete:{type:String,default:void 0}},emits:["update:modelValue","focus","blur","change"],setup(d,{emit:o}){const r=o,t=d,a=be("input"),n=e.computed(()=>t.id||a.value),i=e.computed(()=>!!t.errorMessage),l=e.computed(()=>{const y=t.leftIcon?"pl-10":"pl-3",S=t.rightIcon||t.type==="select"?"pr-10":"pr-3";switch(t.size){case"sm":return`${y} ${S} py-2 text-sm`;case"lg":return`${y} ${S} py-4 text-lg`;default:return`${y} ${S} py-3 text-base`}}),s=e.computed(()=>{switch(t.size){case"sm":return"text-sm";case"lg":return"text-base";default:return"text-sm"}}),c=e.computed(()=>{switch(t.size){case"sm":return"text-xs";case"lg":return"text-sm";default:return"text-sm"}}),g=e.computed(()=>{switch(t.size){case"sm":return"h-4 w-4";case"lg":return"h-6 w-6";default:return"h-5 w-5"}}),p=e.computed(()=>"border-gray-300 dark:border-dark-600 bg-white dark:bg-dark-700 text-gray-900 dark:text-dark-100 focus:border-blue-500 dark:focus:border-blue-400 focus:ring-blue-500 dark:focus:ring-blue-400 hover:border-gray-400 dark:hover:border-dark-500 shadow-sm focus:shadow-md"),m=e.computed(()=>"border-red-300 dark:border-red-600 bg-red-50 dark:bg-red-900/20 text-gray-900 dark:text-dark-100 focus:border-red-500 focus:ring-red-500"),u=e.computed(()=>{var y,S;if(t.autocomplete)return t.autocomplete;switch(t.type){case"email":return"email";case"password":return(y=t.label)!=null&&y.toLowerCase().includes("new")||(S=t.label)!=null&&S.toLowerCase().includes("confirm")?"new-password":"current-password";default:return}}),N=y=>{r("update:modelValue",y.target.value)},b=y=>{r("update:modelValue",y.target.value),r("change",y.target.value)},E=y=>{r("focus",y)},f=y=>{r("blur",y)},M=y=>typeof y=="object"?y[t.optionValue]:y,$=y=>typeof y=="object"?y[t.optionLabel]:y;return(y,S)=>(e.openBlock(),e.createElementBlock("div",null,[d.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:n.value,class:e.normalizeClass(["block font-semibold mb-2",s.value,"text-gray-800 dark:text-dark-200"])},[e.createTextVNode(e.toDisplayString(d.label)+" ",1),d.required?(e.openBlock(),e.createElementBlock("span",lt,"*")):e.createCommentVNode("",!0)],10,at)):e.createCommentVNode("",!0),e.createElementVNode("div",nt,[d.type!=="textarea"&&d.type!=="select"?(e.openBlock(),e.createElementBlock("input",{key:0,id:n.value,type:d.type,value:d.modelValue,placeholder:d.placeholder,disabled:d.disabled,readonly:d.readonly,required:d.required,autocomplete:u.value,min:d.type==="number"?d.min:void 0,max:d.type==="number"?d.max:void 0,class:e.normalizeClass(["block w-full rounded-md transition-all duration-200","border focus:outline-none focus:ring-2 focus:ring-offset-0","text-ellipsis overflow-hidden",l.value,i.value?m.value:p.value,d.disabled?"opacity-50 cursor-not-allowed":"",d.readonly?"bg-gray-50 dark:bg-dark-700/50":""]),onInput:N,onBlur:f,onFocus:E},null,42,st)):d.type==="textarea"?(e.openBlock(),e.createElementBlock("textarea",{key:1,id:n.value,value:d.modelValue,placeholder:d.placeholder,disabled:d.disabled,readonly:d.readonly,required:d.required,rows:d.rows,class:e.normalizeClass(["block w-full min-w-0 rounded-md transition-colors duration-200","border focus:outline-none focus:ring-2 focus:ring-offset-0 resize-vertical",l.value,i.value?m.value:p.value,d.disabled?"opacity-50 cursor-not-allowed":"",d.readonly?"bg-gray-50 dark:bg-dark-700/50":""]),onInput:N,onBlur:f,onFocus:E},null,42,dt)):d.type==="select"?(e.openBlock(),e.createElementBlock("div",it,[e.createElementVNode("select",{id:n.value,value:d.modelValue,disabled:d.disabled,required:d.required,class:e.normalizeClass(["block w-full min-w-0 rounded-md transition-all duration-200 appearance-none","border focus:outline-none focus:ring-2 focus:ring-offset-0","pr-10",l.value,i.value?m.value:p.value,d.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer"]),onChange:b,onBlur:f,onFocus:E},[d.placeholder?(e.openBlock(),e.createElementBlock("option",mt,e.toDisplayString(d.placeholder),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.options,_=>(e.openBlock(),e.createElementBlock("option",{key:M(_),value:M(_),class:"text-gray-900 dark:text-dark-100 bg-white dark:bg-dark-700"},e.toDisplayString($(_)),9,pt))),128))],42,ct),e.createElementVNode("div",gt,[e.createVNode(Z,{"icon-class":"h-4 w-4 text-gray-400 dark:text-dark-500"})])])):e.createCommentVNode("",!0),d.leftIcon?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(["absolute left-3 top-1/2 transform -translate-y-1/2 pointer-events-none",g.value,"text-gray-400 dark:text-dark-500"])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.leftIcon)))],2)):e.createCommentVNode("",!0),d.rightIcon?(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(["absolute right-3 top-1/2 transform -translate-y-1/2 pointer-events-none",g.value,"text-gray-400 dark:text-dark-500"])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.rightIcon)))],2)):e.createCommentVNode("",!0)]),d.helpText&&!i.value?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(["mt-1 text-gray-500 dark:text-dark-400",c.value])},e.toDisplayString(d.helpText),3)):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createElementBlock("p",{key:2,class:e.normalizeClass(["mt-1 text-red-600 dark:text-red-400",c.value])},e.toDisplayString(d.errorMessage),3)):e.createCommentVNode("",!0)]))}},ut={class:"flex items-center justify-between"},bt={key:0,class:"flex items-center space-x-2"},v={__name:"BaseCard",props:{title:{type:String,default:""},variant:{type:String,default:"default",validator:d=>["default","elevated"].includes(d)},size:{type:String,default:"md",validator:d=>["sm","md","lg"].includes(d)},padding:{type:String,default:"default",validator:d=>["none","sm","default","lg"].includes(d)},hoverable:{type:Boolean,default:!1}},emits:["click"],setup(d,{emit:o}){const r=o,t=d,a=e.computed(()=>{switch(t.padding){case"sm":return"p-3";case"lg":return"p-8";default:return"p-6"}}),n=e.computed(()=>{switch(t.padding){case"sm":return"px-3 py-2";case"lg":return"px-8 py-6";default:return"px-6 py-4"}}),i=e.computed(()=>t.padding==="none"?"":a.value),l=e.computed(()=>{switch(t.padding){case"sm":return"px-3 py-2";case"lg":return"px-8 py-4";default:return"px-6 py-4"}}),s=e.computed(()=>{switch(t.size){case"sm":return"text-sm";case"lg":return"text-xl";default:return"text-lg"}}),c=g=>{t.hoverable&&r("click",g)};return(g,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bg-white dark:bg-dark-800 rounded-lg border border-gray-200 dark:border-dark-700 transition-all duration-200",d.variant==="elevated"?"shadow-lg dark:shadow-black/20":"shadow-sm",d.hoverable?"hover:shadow-md dark:hover:shadow-black/30 cursor-pointer":"",d.padding==="none"?"":a.value]),onClick:c},[d.title||g.$slots.header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["border-b border-gray-200 dark:border-dark-700",n.value])},[e.renderSlot(g.$slots,"header",{},()=>[e.createElementVNode("div",ut,[e.createElementVNode("h3",{class:e.normalizeClass(["font-semibold text-gray-900 dark:text-dark-100",s.value])},e.toDisplayString(d.title),3),g.$slots.actions?(e.openBlock(),e.createElementBlock("div",bt,[e.renderSlot(g.$slots,"actions")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(i.value)},[e.renderSlot(g.$slots,"default")],2),g.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["border-t border-gray-200 dark:border-dark-700",l.value])},[e.renderSlot(g.$slots,"footer")],2)):e.createCommentVNode("",!0)],2))}},ft=e.defineComponent({__name:"BaseBadge",props:{variant:{default:"default"},size:{default:"sm"},text:{default:""},rounded:{type:Boolean,default:!1},leftIcon:{default:void 0},rightIcon:{default:void 0},className:{default:""}},setup(d){const o=d,r=computed(()=>({xs:"px-1.5 py-0.5 text-xs",sm:"px-2 py-1 text-xs",md:"px-2.5 py-1.5 text-sm",lg:"px-3 py-2 text-sm"})[o.size]),t=computed(()=>({xs:"xs",sm:"xs",md:"sm",lg:"sm"})[o.size]),a=computed(()=>({default:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-200",primary:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300",secondary:"bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-300",success:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",warning:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-300",danger:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300",info:"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300"})[o.variant]);return(n,i)=>{const l=e.resolveComponent("BaseIcon");return e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["inline-flex items-center font-medium",e.unref(r),e.unref(a),n.rounded?"rounded-full":"rounded",n.className])},[n.leftIcon?(e.openBlock(),e.createBlock(l,{key:0,icon:n.leftIcon,size:e.unref(t),class:"mr-1"},null,8,["icon","size"])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(n.text),1)]),n.rightIcon?(e.openBlock(),e.createBlock(l,{key:1,icon:n.rightIcon,size:e.unref(t),class:"ml-1"},null,8,["icon","size"])):e.createCommentVNode("",!0)],2)}}}),kt=["width","height"],yt=e.defineComponent({__name:"ProfileIcon",props:{size:{default:24},class:{}},setup(d){const o=d,r=e.computed(()=>o.class||"");return(t,a)=>(e.openBlock(),e.createElementBlock("svg",{width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(r.value)},a[0]||(a[0]=[e.createElementVNode("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"},null,-1),e.createElementVNode("circle",{cx:"12",cy:"7",r:"4"},null,-1)]),10,kt))}}),ht=["src","alt"],xt=e.defineComponent({__name:"BaseAvatar",props:{src:{default:""},alt:{default:"Avatar"},size:{default:"md"},shape:{default:"circle"},initials:{default:""},fallbackIcon:{default:yt},status:{default:void 0},className:{default:""}},setup(d){const o=d,r=ref(!1),t=computed(()=>({xs:"w-6 h-6",sm:"w-8 h-8",md:"w-10 h-10",lg:"w-12 h-12",xl:"w-16 h-16","2xl":"w-20 h-20"})[o.size]),a=computed(()=>({circle:"rounded-full",square:"rounded-none",rounded:"rounded-lg"})[o.shape]),n=computed(()=>({xs:"xs",sm:"sm",md:"sm",lg:"md",xl:"lg","2xl":"xl"})[o.size]),i=computed(()=>({xs:"text-xs",sm:"text-xs",md:"text-sm",lg:"text-base",xl:"text-lg","2xl":"text-xl"})[o.size]),l=computed(()=>{if(o.initials){const m=["bg-blue-500","bg-green-500","bg-purple-500","bg-pink-500","bg-indigo-500","bg-yellow-500","bg-red-500"],u=o.initials.charCodeAt(0)%m.length;return m[u]}return"bg-gray-500"}),s=computed(()=>({xs:"w-1.5 h-1.5",sm:"w-2 h-2",md:"w-2.5 h-2.5",lg:"w-3 h-3",xl:"w-4 h-4","2xl":"w-5 h-5"})[o.size]),c=computed(()=>({xs:"bottom-0 right-0",sm:"bottom-0 right-0",md:"bottom-0 right-0",lg:"bottom-0.5 right-0.5",xl:"bottom-1 right-1","2xl":"bottom-1 right-1"})[o.size]),g=computed(()=>o.status?{online:"bg-green-500",offline:"bg-gray-400",away:"bg-yellow-500",busy:"bg-red-500"}[o.status]:""),p=()=>{r.value=!0};return(m,u)=>{const N=e.resolveComponent("BaseIcon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative inline-flex items-center justify-center overflow-hidden",e.unref(t),e.unref(a),m.className])},[m.src&&!e.unref(r)?(e.openBlock(),e.createElementBlock("img",{key:0,src:m.src,alt:m.alt,class:e.normalizeClass(["object-cover",e.unref(t)]),onError:p},null,42,ht)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["flex items-center justify-center font-medium text-white",e.unref(t),e.unref(l)])},[m.initials?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(i))},e.toDisplayString(m.initials),3)):(e.openBlock(),e.createBlock(N,{key:0,icon:m.fallbackIcon,size:e.unref(n)},null,8,["icon","size"]))],2)),m.status?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["absolute rounded-full border-2 border-white dark:border-gray-800",e.unref(s),e.unref(c),e.unref(g)])},null,2)):e.createCommentVNode("",!0)],2)}}}),Vt=e.defineComponent({__name:"BaseSpinner",props:{size:{default:"md"},color:{default:"current"},className:{default:""}},setup(d){const o=d,r=computed(()=>({xs:"w-3 h-3",sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6",xl:"w-8 h-8"})[o.size]),t=computed(()=>({current:"text-current",primary:"text-blue-600 dark:text-blue-400",secondary:"text-gray-600 dark:text-gray-400",white:"text-white"})[o.color]);return(a,n)=>(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(["animate-spin",e.unref(r),e.unref(t),a.className]),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},n[0]||(n[0]=[e.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e.createElementVNode("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)]),2))}}),wt=e.defineComponent({inheritAttrs:!1,__name:"BaseIcon",props:{icon:{},size:{default:"md"},color:{default:"current"},className:{default:""}},setup(d){const o=d,r=computed(()=>({xs:"w-3 h-3",sm:"w-4 h-4",md:"w-5 h-5",lg:"w-6 h-6",xl:"w-8 h-8","2xl":"w-10 h-10"})[o.size]),t=computed(()=>({current:"text-current",primary:"text-blue-600 dark:text-blue-400",secondary:"text-gray-700 dark:text-gray-300",muted:"text-gray-500 dark:text-gray-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",error:"text-red-600 dark:text-red-400",info:"text-purple-600 dark:text-purple-400"})[o.color]);return(a,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.icon),e.mergeProps({class:["transition-colors duration-200",e.unref(r),e.unref(t),a.className]},a.$attrs),null,16,["class"]))}}),Nt=e.defineComponent({__name:"BaseText",props:{text:{default:""},variant:{default:"primary"},size:{default:"sm"},className:{default:""}},setup(d){const o=d,r=computed(()=>({primary:"text-gray-900 dark:text-gray-100",secondary:"text-gray-700 dark:text-gray-300",muted:"text-gray-600 dark:text-gray-400",error:"text-red-600 dark:text-red-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",info:"text-blue-600 dark:text-blue-400"})[o.variant]),t=computed(()=>({xs:"text-xs",sm:"text-sm",base:"text-base",lg:"text-lg",xl:"text-xl"})[o.size]);return(a,n)=>(e.openBlock(),e.createElementBlock("p",{class:e.normalizeClass(["text-sm leading-relaxed transition-colors duration-200",e.unref(r),e.unref(t),a.className])},[e.renderSlot(a.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.text),1)])],2))}}),Et=["for"],Bt={key:0,class:"text-red-500 dark:text-red-400 ml-1","aria-label":"required"},Ct=e.defineComponent({__name:"BaseLabel",props:{label:{default:""},htmlFor:{default:""},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},error:{type:Boolean,default:!1},className:{default:""}},setup(d){return(o,r)=>o.label||o.required||o.$slots.default?(e.openBlock(),e.createElementBlock("label",{key:0,for:o.htmlFor,class:e.normalizeClass(["block text-sm font-medium transition-colors duration-200",o.error?"text-red-600 dark:text-red-400":"text-gray-700 dark:text-gray-300",o.disabled?"opacity-50 cursor-not-allowed":"cursor-pointer",o.className])},[e.renderSlot(o.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)]),o.required?(e.openBlock(),e.createElementBlock("span",Bt,"*")):e.createCommentVNode("",!0)],10,Et)):e.createCommentVNode("",!0)}}),$t=["id","value","disabled","required","multiple"],St=["selected"],zt=["value","disabled"],_t="block w-full border rounded-lg transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 bg-white dark:bg-gray-900",Dt=e.defineComponent({inheritAttrs:!1,__name:"BaseSelect",props:{id:{default:""},modelValue:{default:""},placeholder:{default:""},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},error:{type:Boolean,default:!1},size:{default:"md"},options:{default:()=>[]},className:{default:""}},emits:["update:modelValue","blur","focus"],setup(d,{emit:o}){const r=d,t=o,a=computed(()=>({sm:"px-3 py-1.5 text-sm",md:"px-3 py-2 text-sm",lg:"px-4 py-3 text-base"})[r.size]),n=computed(()=>r.disabled?"bg-gray-50 dark:bg-gray-800 border-gray-200 dark:border-gray-700 text-gray-500 dark:text-gray-400 cursor-not-allowed":r.error?"border-red-300 dark:border-red-600 text-gray-900 dark:text-gray-100 focus:border-red-500 focus:ring-red-500":"border-gray-300 dark:border-gray-600 text-gray-900 dark:text-gray-100 focus:border-blue-500 focus:ring-blue-500 hover:border-gray-400 dark:hover:border-gray-500"),i=c=>{const g=c.target;if(r.multiple){const p=Array.from(g.selectedOptions).map(m=>m.value);t("update:modelValue",p)}else t("update:modelValue",g.value)},l=c=>{t("blur",c)},s=c=>{t("focus",c)};return(c,g)=>(e.openBlock(),e.createElementBlock("select",e.mergeProps({id:c.id,value:c.modelValue,disabled:c.disabled,required:c.required,multiple:c.multiple,class:[_t,e.unref(a),e.unref(n),c.className]},c.$attrs,{onChange:i,onBlur:l,onFocus:s}),[c.placeholder&&!c.multiple?(e.openBlock(),e.createElementBlock("option",{key:0,value:"",disabled:"",selected:!c.modelValue},e.toDisplayString(c.placeholder),9,St)):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.options,p=>(e.openBlock(),e.createElementBlock("option",{key:p.value,value:p.value,disabled:p.disabled},e.toDisplayString(p.label),9,zt))),128))])],16,$t))}}),Mt=["id","value","placeholder","disabled","readonly","required","rows","cols","maxlength"],jt="block w-full border rounded-lg transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 placeholder-gray-400 dark:placeholder-gray-500",Tt=e.defineComponent({inheritAttrs:!1,__name:"BaseTextarea",props:{id:{default:""},modelValue:{default:""},placeholder:{default:""},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},error:{type:Boolean,default:!1},size:{default:"md"},rows:{default:4},cols:{default:void 0},maxlength:{default:void 0},resize:{default:"vertical"},className:{default:""}},emits:["update:modelValue","blur","focus"],setup(d,{emit:o}){const r=d,t=o,a=computed(()=>({sm:"px-3 py-1.5 text-sm",md:"px-3 py-2 text-sm",lg:"px-4 py-3 text-base"})[r.size]),n=computed(()=>r.disabled?"bg-gray-50 dark:bg-gray-800 border-gray-200 dark:border-gray-700 text-gray-500 dark:text-gray-400 cursor-not-allowed":r.error?"bg-white dark:bg-gray-900 border-red-300 dark:border-red-600 text-gray-900 dark:text-gray-100 focus:border-red-500 focus:ring-red-500":"bg-white dark:bg-gray-900 border-gray-300 dark:border-gray-600 text-gray-900 dark:text-gray-100 focus:border-blue-500 focus:ring-blue-500 hover:border-gray-400 dark:hover:border-gray-500"),i=computed(()=>({none:"resize-none",vertical:"resize-y",horizontal:"resize-x",both:"resize"})[r.resize]),l=g=>{const p=g.target;t("update:modelValue",p.value)},s=g=>{t("blur",g)},c=g=>{t("focus",g)};return(g,p)=>(e.openBlock(),e.createElementBlock("textarea",e.mergeProps({id:g.id,value:g.modelValue,placeholder:g.placeholder,disabled:g.disabled,readonly:g.readonly,required:g.required,rows:g.rows,cols:g.cols,maxlength:g.maxlength,class:[jt,e.unref(a),e.unref(n),e.unref(i),g.className]},g.$attrs,{onInput:l,onBlur:s,onFocus:c}),null,16,Mt))}});function At(){return{getStatusColor:a=>({active:"green",inactive:"gray",pending:"yellow",processing:"blue",completed:"green",failed:"red",cancelled:"gray"})[a]||"gray",getStatusText:a=>({active:"Active",inactive:"Inactive",pending:"Pending",processing:"Processing",completed:"Completed",failed:"Failed",cancelled:"Cancelled"})[a]||a,isActiveStatus:a=>["active","processing","pending"].includes(a),isCompleteStatus:a=>["completed","failed","cancelled"].includes(a)}}const Lt=["title"],Ft=["d"],It=e.defineComponent({__name:"BaseStatusBadge",props:{status:{default:void 0},text:{default:void 0},type:{default:"status"},score:{default:void 0},showIcon:{type:Boolean,default:!0}},setup(d){const o=d,{getStatusConfig:r,getScoreConfig:t}=At(),a=e.computed(()=>o.type==="score"&&o.score!==void 0?t(o.score):r(o.status)),n=e.computed(()=>o.text?o.text:o.type==="score"&&o.score!==void 0?`${o.score}%`:a.value.label),i=e.computed(()=>{var s;switch((s=o.status)==null?void 0:s.toLowerCase()){case"active":return"text-green-600";case"draft":return"text-gray-500";case"paused":return"text-yellow-600";case"closed":return"text-red-600";default:return"text-gray-500"}}),l=e.computed(()=>{var s;switch((s=o.status)==null?void 0:s.toLowerCase()){case"active":return"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z";case"draft":return"M4 3a2 2 0 100 4h12a2 2 0 100-4H4z M3 8a2 2 0 00-2 2v6a2 2 0 002 2h14a2 2 0 002-2v-6a2 2 0 00-2-2H3z M5 12a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z";case"paused":return"M18 10a8 8 0 11-16 0 8 8 0 0116 0zM7 8a1 1 0 012 0v4a1 1 0 11-2 0V8zM11 8a1 1 0 112 0v4a1 1 0 11-2 0V8z";case"closed":return"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z";default:return"M10 18a8 8 0 100-16 8 8 0 000 16zm-1-13a1 1 0 112 0v4a1 1 0 01-.293.707l-2 2a1 1 0 01-1.414-1.414L9 8.586V5z"}});return(s,c)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["inline-flex items-center px-3 py-1.5 rounded-full text-xs font-semibold transition-all duration-200",a.value.class]),title:a.value.label},[s.showIcon?(e.openBlock(),e.createElementBlock("svg",{key:0,class:e.normalizeClass(["w-3 h-3 mr-1.5 flex-shrink-0",i.value]),fill:"currentColor",viewBox:"0 0 20 20"},[e.createElementVNode("path",{d:l.value},null,8,Ft)],2)):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"icon"),e.createTextVNode(" "+e.toDisplayString(n.value),1)],10,Lt))}}),Pt={key:0,class:"flex items-center justify-center h-full text-xs font-medium text-white"},Ut=e.defineComponent({__name:"BaseProgress",props:{value:{default:0},max:{default:100},variant:{default:"primary"},size:{default:"md"},shape:{default:"rounded"},animated:{type:Boolean,default:!1},showLabel:{type:Boolean,default:!1},labelText:{default:""},className:{default:""}},setup(d){const o=d,r=computed(()=>Math.max(0,Math.min(o.value,o.max))/o.max*100),t=computed(()=>({xs:"h-1",sm:"h-2",md:"h-3",lg:"h-4"})[o.size]),a=computed(()=>({rounded:"rounded",square:"rounded-none",pill:"rounded-full"})[o.shape]),n=computed(()=>{const s={default:"bg-gray-400",primary:"bg-blue-600",success:"bg-green-600",warning:"bg-yellow-600",danger:"bg-red-600"};return o.animated?{default:"from-gray-400 to-gray-500",primary:"from-blue-500 to-blue-600",success:"from-green-500 to-green-600",warning:"from-yellow-500 to-yellow-600",danger:"from-red-500 to-red-600"}[o.variant]:s[o.variant]}),i=computed(()=>({default:"text-gray-600 dark:text-gray-400",primary:"text-blue-600 dark:text-blue-400",success:"text-green-600 dark:text-green-400",warning:"text-yellow-600 dark:text-yellow-400",danger:"text-red-600 dark:text-red-400"})[o.variant]),l=computed(()=>o.labelText||`${Math.round(r.value)}%`);return(s,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-full bg-gray-200 dark:bg-gray-700 overflow-hidden",e.unref(t),e.unref(a),s.className])},[e.createElementVNode("div",{class:e.normalizeClass(["h-full transition-all duration-300 ease-out",e.unref(n),s.animated?"bg-gradient-to-r":""]),style:e.normalizeStyle({width:`${e.unref(r)}%`})},[s.showLabel&&e.unref(r)>15?(e.openBlock(),e.createElementBlock("div",Pt,[e.renderSlot(s.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(l)),1)])])):e.createCommentVNode("",!0)],6),s.showLabel&&e.unref(r)<=15?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["mt-1 text-xs font-medium",e.unref(i)])},[e.renderSlot(s.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(l)),1)])],2)):e.createCommentVNode("",!0)],2))}}),Ht=["width","height"],$e=e.defineComponent({__name:"SunIcon",props:{size:{default:24},class:{}},setup(d){const o=d,r=e.computed(()=>o.class||"");return(t,a)=>(e.openBlock(),e.createElementBlock("svg",{width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(r.value)},a[0]||(a[0]=[e.createStaticVNode('<circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>',9)]),10,Ht))}}),Rt=["width","height"],qt=e.defineComponent({__name:"MoonIcon",props:{size:{default:24},class:{}},setup(d){const o=d,r=e.computed(()=>o.class||"");return(t,a)=>(e.openBlock(),e.createElementBlock("svg",{width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(r.value)},a[0]||(a[0]=[e.createElementVNode("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"},null,-1)]),10,Rt))}}),Ot=["title"],Jt={class:"relative inline-flex items-center justify-center p-2 rounded-lg transition-all duration-200 hover:bg-gray-100 dark:hover:bg-dark-700/50 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 dark:focus:ring-offset-dark-800",title:"Dark mode toggle"},Se=e.defineComponent({__name:"BaseDarkModeToggle",setup(d){const{isDark:o,toggleDarkMode:r}=useDarkMode();return(t,a)=>{const n=e.resolveComponent("ClientOnly");return e.openBlock(),e.createBlock(n,null,{fallback:e.withCtx(()=>[e.createElementVNode("button",Jt,[e.createVNode($e,{"icon-class":"w-5 h-5 text-gray-600 dark:text-dark-300 transition-transform duration-300 hover:scale-110"})])]),default:e.withCtx(()=>[e.createElementVNode("button",{class:"relative inline-flex items-center justify-center p-2 rounded-lg transition-all duration-200 hover:bg-gray-100 dark:hover:bg-dark-700/50 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 dark:focus:ring-offset-dark-800",title:e.unref(o)?"Switch to light mode":"Switch to dark mode",onClick:a[0]||(a[0]=(...i)=>e.unref(r)&&e.unref(r)(...i))},[e.withDirectives(e.createVNode($e,{"icon-class":"w-5 h-5 text-gray-600 dark:text-dark-300 transition-transform duration-300 hover:scale-110"},null,512),[[e.vShow,!e.unref(o)]]),e.withDirectives(e.createVNode(qt,{"icon-class":"w-5 h-5 text-gray-600 dark:text-dark-300 transition-transform duration-300 hover:scale-110"},null,512),[[e.vShow,e.unref(o)]])],8,Ot)]),_:1})}}}),Wt=["id","aria-checked","disabled"],Gt={class:"sr-only"},Kt=e.defineComponent({__name:"BaseToggleSwitch",props:{id:{default:void 0},modelValue:{type:Boolean},label:{default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(d,{emit:o}){const r=d,t=o,a=()=>{r.disabled||t("update:modelValue",!r.modelValue)};return(n,i)=>(e.openBlock(),e.createElementBlock("button",{id:n.id,type:"button",role:"switch","aria-checked":n.modelValue,class:e.normalizeClass(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",n.modelValue?"bg-blue-600":"bg-gray-200 dark:bg-gray-700",n.disabled?"opacity-50 cursor-not-allowed":""]),disabled:n.disabled,onClick:a},[e.createElementVNode("span",Gt,e.toDisplayString(n.label),1),e.createElementVNode("span",{class:e.normalizeClass(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",n.modelValue?"translate-x-5":"translate-x-0"])},null,2)],10,Wt))}}),Qt=["width","height"],ee=e.defineComponent({__name:"SearchIcon",props:{size:{default:24},class:{}},setup(d){const o=d,r=e.computed(()=>o.class||"");return(t,a)=>(e.openBlock(),e.createElementBlock("svg",{width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(r.value)},a[0]||(a[0]=[e.createElementVNode("circle",{cx:"11",cy:"11",r:"8"},null,-1),e.createElementVNode("path",{d:"M21 21l-4.35-4.35"},null,-1)]),10,Qt))}}),Xt=["width","height"],ze=e.defineComponent({__name:"CloseIcon",props:{size:{default:24},class:{}},setup(d){const o=d,r=e.computed(()=>o.class||"");return(t,a)=>(e.openBlock(),e.createElementBlock("svg",{width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(r.value)},a[0]||(a[0]=[e.createElementVNode("path",{d:"M18 6L6 18"},null,-1),e.createElementVNode("path",{d:"M6 6l12 12"},null,-1)]),10,Xt))}}),Zt={class:"absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none"},Yt={key:1,class:"absolute inset-y-0 right-0 flex items-center pr-3"},vt={key:2,class:"absolute z-10 w-full mt-1 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-md shadow-lg max-h-60 overflow-auto"},er={class:"py-1"},tr=["onClick"],rr=e.defineComponent({__name:"SearchBar",props:{id:{default:""},modelValue:{default:""},type:{default:"search"},placeholder:{default:"Search..."},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},error:{type:Boolean,default:!1},size:{default:"md"},autocomplete:{default:"off"},fullWidth:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},suggestions:{default:()=>[]},showSuggestions:{type:Boolean,default:!1},className:{default:""}},emits:["update:modelValue","search","clear","suggestion-click","focus","blur"],setup(d,{emit:o}){const r=d,t=o,a=computed(()=>({sm:"sm",md:"sm",lg:"md"})[r.size]),n=g=>{t("update:modelValue",String(g))},i=()=>{t("search",r.modelValue)},l=()=>{t("update:modelValue",""),t("clear")},s=()=>{r.modelValue&&l()},c=g=>{t("update:modelValue",g),t("suggestion-click",g),t("search",g)};return(g,p)=>{const m=e.resolveComponent("BaseInputField"),u=e.resolveComponent("BaseIcon"),N=e.resolveComponent("BaseSpinner");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative",g.fullWidth?"w-full":"",g.className])},[e.createVNode(m,{id:g.id,"model-value":g.modelValue,type:g.type,placeholder:g.placeholder,disabled:g.disabled,readonly:g.readonly,required:g.required,error:g.error,size:g.size,autocomplete:g.autocomplete,class:e.normalizeClass(["pr-10",g.clearable&&g.modelValue?"pr-16":""]),"onUpdate:modelValue":n,onFocus:p[0]||(p[0]=b=>g.$emit("focus",b)),onBlur:p[1]||(p[1]=b=>g.$emit("blur",b)),onKeydown:[e.withKeys(i,["enter"]),e.withKeys(s,["escape"])]},null,8,["id","model-value","type","placeholder","disabled","readonly","required","error","size","autocomplete","class"]),e.createElementVNode("div",Zt,[e.createVNode(u,{icon:ee,size:e.unref(a),class:"text-gray-400"},null,8,["size"])]),g.clearable&&g.modelValue?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute inset-y-0 right-8 flex items-center pr-3 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors",onClick:l},[e.createVNode(u,{icon:ze,size:e.unref(a)},null,8,["size"])])):e.createCommentVNode("",!0),g.loading?(e.openBlock(),e.createElementBlock("div",Yt,[e.createVNode(N,{size:e.unref(a)==="2xl"?"xl":e.unref(a),color:"current"},null,8,["size"])])):e.createCommentVNode("",!0),g.showSuggestions&&g.suggestions.length>0?(e.openBlock(),e.createElementBlock("div",vt,[e.createElementVNode("ul",er,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.suggestions,(b,E)=>(e.openBlock(),e.createElementBlock("li",{key:E,class:"px-3 py-2 text-sm cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",onClick:f=>c(b)},[e.renderSlot(g.$slots,"suggestion",{suggestion:b,index:E},()=>[e.createTextVNode(e.toDisplayString(b),1)])],8,tr))),128))])])):e.createCommentVNode("",!0)],2)}}}),or={class:"flex items-start justify-between mb-4"},ar={class:"flex items-center space-x-3"},lr={class:"font-semibold text-gray-900 text-lg"},nr={class:"text-gray-600 text-sm"},sr={class:"text-gray-500 text-xs"},dr={key:0,class:"mb-4"},ir={class:"flex flex-wrap gap-2"},cr={class:"text-gray-600 text-sm mb-4 line-clamp-2"},mr={class:"flex items-center justify-between text-sm text-gray-500"},pr={class:"flex items-center space-x-4"},gr={class:"flex items-center"},ur={class:"flex items-center"},br={class:"flex items-center space-x-2"},fr={key:1,class:"mt-4 pt-4 border-t border-gray-200"},kr={class:"flex items-center justify-between"},yr={class:"flex items-center"},hr={class:"text-sm font-semibold"},xr=e.defineComponent({__name:"TalentCard",props:{talent:{},variant:{default:"default"},maxSkills:{default:5},matchScore:{}},emits:["click"],setup(d,{emit:o}){const r=d,t=e.computed(()=>{var g;return((g=r.talent.skills)==null?void 0:g.slice(0,r.maxSkills))||[]}),a=g=>g.split(" ").map(p=>p.charAt(0)).join("").toUpperCase().slice(0,2),n=g=>({active:"success",inactive:"warning",archived:"secondary"})[g]||"secondary",i=g=>g>=80?"success":g>=60?"warning":"error",l=()=>{r.talent.linkedin&&window.open(r.talent.linkedin,"_blank")},s=()=>{r.talent.github&&window.open(r.talent.github,"_blank")},c=()=>{r.talent.portfolio&&window.open(r.talent.portfolio,"_blank")};return(g,p)=>{const m=e.resolveComponent("BaseAvatar"),u=e.resolveComponent("BaseStatusBadge"),N=e.resolveComponent("BaseBadge"),b=e.resolveComponent("BaseIcon"),E=e.resolveComponent("BaseProgress"),f=e.resolveComponent("BaseCard");return e.openBlock(),e.createBlock(f,{class:e.normalizeClass(["talent-card group cursor-pointer transition-all duration-200","hover:shadow-lg hover:-translate-y-1",g.variant==="compact"?"p-4":"p-6"]),onClick:p[0]||(p[0]=M=>g.$emit("click",g.talent))},{default:e.withCtx(()=>{var M;return[e.createElementVNode("div",or,[e.createElementVNode("div",ar,[e.createVNode(m,{src:g.talent.avatar,alt:g.talent.name,initials:a(g.talent.name),size:g.variant==="compact"?"md":"lg"},null,8,["src","alt","initials","size"]),e.createElementVNode("div",null,[e.createElementVNode("h3",lr,e.toDisplayString(g.talent.name),1),e.createElementVNode("p",nr,e.toDisplayString(g.talent.currentRole),1),e.createElementVNode("p",sr,e.toDisplayString(g.talent.company),1)])]),e.createVNode(u,{status:g.talent.status,variant:n(g.talent.status)},null,8,["status","variant"])]),(M=g.talent.skills)!=null&&M.length?(e.openBlock(),e.createElementBlock("div",dr,[e.createElementVNode("div",ir,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,$=>(e.openBlock(),e.createBlock(N,{key:$,variant:"secondary",size:"sm"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString($),1)]),_:2},1024))),128)),g.talent.skills.length>(g.maxSkills||5)?(e.openBlock(),e.createBlock(N,{key:0,variant:"outline",size:"sm"},{default:e.withCtx(()=>[e.createTextVNode(" +"+e.toDisplayString(g.talent.skills.length-(g.maxSkills||5))+" more ",1)]),_:1})):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("p",cr,e.toDisplayString(g.talent.summary),1),e.createElementVNode("div",mr,[e.createElementVNode("div",pr,[e.createElementVNode("span",gr,[e.createVNode(b,{name:"map-pin",class:"w-4 h-4 mr-1"}),e.createTextVNode(" "+e.toDisplayString(g.talent.location),1)]),e.createElementVNode("span",ur,[e.createVNode(b,{name:"briefcase",class:"w-4 h-4 mr-1"}),e.createTextVNode(" "+e.toDisplayString(g.talent.experience)+"+ years ",1)])]),e.createElementVNode("div",br,[g.talent.linkedin?(e.openBlock(),e.createBlock(b,{key:0,name:"linkedin",class:"w-4 h-4 text-blue-600 hover:text-blue-800 cursor-pointer",onClick:e.withModifiers(l,["stop"])})):e.createCommentVNode("",!0),g.talent.github?(e.openBlock(),e.createBlock(b,{key:1,name:"github",class:"w-4 h-4 text-gray-600 hover:text-gray-800 cursor-pointer",onClick:e.withModifiers(s,["stop"])})):e.createCommentVNode("",!0),g.talent.portfolio?(e.openBlock(),e.createBlock(b,{key:2,name:"external-link",class:"w-4 h-4 text-gray-600 hover:text-gray-800 cursor-pointer",onClick:e.withModifiers(c,["stop"])})):e.createCommentVNode("",!0)])]),g.matchScore!==void 0?(e.openBlock(),e.createElementBlock("div",fr,[e.createElementVNode("div",kr,[p[1]||(p[1]=e.createElementVNode("span",{class:"text-sm text-gray-600"},"Match Score",-1)),e.createElementVNode("div",yr,[e.createVNode(E,{value:g.matchScore,max:100,color:i(g.matchScore),class:"w-20 mr-2"},null,8,["value","color"]),e.createElementVNode("span",hr,e.toDisplayString(g.matchScore)+"%",1)])])])):e.createCommentVNode("",!0)]}),_:1},8,["class"])}}}),U=(d,o)=>{const r=d.__vccOpts||d;for(const[t,a]of o)r[t]=a;return r},Vr=U(xr,[["__scopeId","data-v-eb951572"]]),wr=["width","height"],O=e.defineComponent({__name:"XIcon",props:{size:{default:24},class:{}},setup(d){const o=d,r=e.computed(()=>o.class||"");return(t,a)=>(e.openBlock(),e.createElementBlock("svg",{width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(r.value)},a[0]||(a[0]=[e.createElementVNode("path",{d:"M18 6L6 18"},null,-1),e.createElementVNode("path",{d:"M6 6l12 12"},null,-1)]),10,wr))}}),Nr=["for"],Er={key:0,class:"text-red-500 ml-1"},Br={class:"relative"},Cr={key:0,class:"absolute inset-y-0 left-0 flex items-center pointer-events-none"},$r={class:"pl-3"},Sr=["id","type","value","placeholder","disabled","readonly","required","autocomplete","min","max","step"],zr=["id","value","placeholder","disabled","readonly","required","rows"],_r=["id","value","disabled","required"],Dr={key:0,value:"",disabled:""},Mr=["value"],jr=e.defineComponent({__name:"FormField",props:{modelValue:{default:""},type:{default:"text"},label:{default:void 0},placeholder:{default:void 0},help:{default:void 0},error:{default:void 0},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},size:{default:"md"},icon:{default:void 0},autocomplete:{default:void 0},min:{default:void 0},max:{default:void 0},step:{default:void 0},rows:{default:4},options:{default:()=>[]},class:{default:""}},emits:["update:modelValue","focus","blur"],setup(d,{emit:o}){const r=d,t=o,a=useId(),n=computed(()=>{const f="space-y-2";return r.class?`${f} ${r.class}`:f}),i=computed(()=>`block font-medium text-gray-700 dark:text-gray-300 ${{sm:"text-sm",md:"text-sm",lg:"text-base"}[r.size]}`),l=computed(()=>{const f="block w-full border-0 rounded-lg transition-all duration-200 focus:ring-2 focus:ring-blue-500 focus:bg-white dark:focus:bg-gray-700",M={sm:"px-3 py-2 text-sm",md:"px-4 py-3 text-base",lg:"px-4 py-4 text-lg"},$=r.icon||p.icon?"pl-10":"",y=r.clearable&&r.modelValue?"pr-10":"",S=r.readonly?"bg-gray-50 dark:bg-gray-700/50":"bg-gray-50/80 dark:bg-gray-700/50",_="text-gray-900 dark:text-gray-100 placeholder-gray-500 dark:placeholder-gray-400",D=r.error?"ring-2 ring-red-500 bg-red-50 dark:bg-red-900/20":"",L=r.disabled?"opacity-50 cursor-not-allowed":"";return`${f} ${M[r.size]} ${$} ${y} ${S} ${_} ${D} ${L} shadow-sm`}),s=computed(()=>`${l.value} appearance-none cursor-pointer`),c=computed(()=>"text-sm text-gray-500 dark:text-gray-400"),g=computed(()=>"text-sm text-red-600 dark:text-red-400"),p=useSlots(),m=f=>{const M=f.target,$=r.type==="number"?Number(M.value):M.value;t("update:modelValue",$)},u=f=>{const M=f.target,$=r.type==="number"?Number(M.value):M.value;t("update:modelValue",$)},N=f=>{t("focus",f)},b=f=>{t("blur",f)},E=()=>{t("update:modelValue","")};return(f,M)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(n))},[f.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(a),class:e.normalizeClass(e.unref(i))},[e.createTextVNode(e.toDisplayString(f.label)+" ",1),f.required?(e.openBlock(),e.createElementBlock("span",Er,"*")):e.createCommentVNode("",!0)],10,Nr)):e.createCommentVNode("",!0),e.createElementVNode("div",Br,[f.icon||f.$slots.icon?(e.openBlock(),e.createElementBlock("div",Cr,[e.createElementVNode("div",$r,[e.renderSlot(f.$slots,"icon",{},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.icon),{class:"h-5 w-5 text-gray-400 dark:text-gray-500"}))])])])):e.createCommentVNode("",!0),f.type!=="textarea"&&f.type!=="select"?(e.openBlock(),e.createElementBlock("input",{key:1,id:e.unref(a),type:f.type,value:f.modelValue,placeholder:f.placeholder,disabled:f.disabled,readonly:f.readonly,required:f.required,autocomplete:f.autocomplete,min:f.min,max:f.max,step:f.step,class:e.normalizeClass(e.unref(l)),onInput:m,onBlur:b,onFocus:N},null,42,Sr)):f.type==="textarea"?(e.openBlock(),e.createElementBlock("textarea",{key:2,id:e.unref(a),value:f.modelValue,placeholder:f.placeholder,disabled:f.disabled,readonly:f.readonly,required:f.required,rows:f.rows,class:e.normalizeClass(e.unref(l)),onInput:m,onBlur:b,onFocus:N},null,42,zr)):f.type==="select"?(e.openBlock(),e.createElementBlock("select",{key:3,id:e.unref(a),value:f.modelValue,disabled:f.disabled,required:f.required,class:e.normalizeClass(e.unref(s)),onChange:u,onBlur:b,onFocus:N},[f.placeholder?(e.openBlock(),e.createElementBlock("option",Dr,e.toDisplayString(f.placeholder),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.options,$=>(e.openBlock(),e.createElementBlock("option",{key:$.value,value:$.value},e.toDisplayString($.label),9,Mr))),128))],42,_r)):e.createCommentVNode("",!0),f.clearable&&f.modelValue&&!f.disabled&&!f.readonly?(e.openBlock(),e.createElementBlock("button",{key:4,type:"button",class:"absolute inset-y-0 right-0 flex items-center pr-3 hover:bg-gray-100 dark:hover:bg-gray-600 rounded-r-lg transition-colors",onClick:E},[e.createVNode(O,{class:"h-4 w-4 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300"})])):e.createCommentVNode("",!0)]),f.help&&!f.error?(e.openBlock(),e.createElementBlock("p",{key:1,class:e.normalizeClass(e.unref(c))},e.toDisplayString(f.help),3)):e.createCommentVNode("",!0),f.error?(e.openBlock(),e.createElementBlock("p",{key:2,class:e.normalizeClass(e.unref(g))},e.toDisplayString(f.error),3)):e.createCommentVNode("",!0)],2))}}),Tr=["width","height"],J=e.defineComponent({__name:"DocumentIcon",props:{size:{default:24},class:{}},setup(d){const o=d,r=e.computed(()=>o.class||"");return(t,a)=>(e.openBlock(),e.createElementBlock("svg",{width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(r.value)},a[0]||(a[0]=[e.createStaticVNode('<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14,2 14,8 20,8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10,9 9,9 8,9"></polyline>',5)]),10,Tr))}}),Ar=["width","height"],R=e.defineComponent({__name:"CheckIcon",props:{size:{default:24},class:{}},setup(d){const o=d,r=e.computed(()=>o.class||"");return(t,a)=>(e.openBlock(),e.createElementBlock("svg",{width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(r.