@sakoa/ui 0.2.1 → 0.2.3

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.
@@ -24,7 +24,7 @@
24
24
  transition-all duration-300 ease-out
25
25
  focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2
26
26
  `,h={default:"hover:bg-accent",bordered:"hover:bg-accent",separated:"bg-background hover:bg-accent",card:"hover:bg-accent",minimal:"hover:text-primary"},x=s.value?"opacity-50 cursor-not-allowed":"",y=r.value&&!s.value?"bg-accent/50":"";return j(p,i.value?.header,h[m],x,y,l.triggerClass,a.class??"")}),f=e.computed(()=>({transform:`rotate(${r.value?n?.iconRotation??180:0}deg)`,transition:"transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)",color:r.value&&!s.value?n?.color:void 0})),g=e.computed(()=>n?.iconPlacement??"right");return(m,p)=>(e.openBlock(),e.createElementBlock("button",e.mergeProps({...m.$attrs,class:void 0},{type:"button",role:"button","aria-expanded":r.value,"aria-disabled":s.value,disabled:s.value,class:u.value,style:{justifyContent:g.value==="left"?"flex-start":"space-between"},onClick:c,onKeydown:d}),[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center gap-3 flex-1 min-w-0",g.value==="left"?"flex-row-reverse":""])},[e.renderSlot(m.$slots,"icon",{expanded:r.value,disabled:s.value},void 0,!0),e.createElementVNode("div",Jn,[e.createElementVNode("span",{class:e.normalizeClass([i.value?.title,"font-medium text-foreground truncate w-full text-left"])},[e.renderSlot(m.$slots,"default",{expanded:r.value,disabled:s.value},void 0,!0)],2)])],2),t.hideArrow?e.createCommentVNode("",!0):e.renderSlot(m.$slots,"arrow",{key:0,expanded:r.value,disabled:s.value},()=>[(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(e.unref(j)("shrink-0 text-muted-foreground",i.value?.expandIcon)),style:e.normalizeStyle(f.value)},[...p[0]||(p[0]=[e.createElementVNode("path",{d:"m6 9 6 6 6-6"},null,-1)])],6))],!0)],16,Xn))}}),[["__scopeId","data-v-e7c21eb1"]]),Qn={key:0,class:"border-b border-border"},_n=["aria-hidden"],er={key:1,class:"border-b border-border"},tr=e.defineComponent({inheritAttrs:!1,__name:"SAccordionContent",props:{contentClass:{default:""}},setup(t){const l=t,a=e.inject(Bt),o=e.inject(nt);a||console.warn("[SAccordionContent] Must be used inside SAccordionItem");const n=e.computed(()=>a?.isExpanded.value??!1),r=e.computed(()=>a?.shouldRender.value??!0),s=e.computed(()=>a?.sizeConfig.value),i=e.computed(()=>o?.animated?{maxHeight:n.value?`${a?.contentHeight.value??0}px`:"0px",opacity:n.value?"1":"0",overflow:"hidden",transition:"max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease"}:n.value?{}:{display:"none"});e.watch(n,()=>{e.nextTick(()=>a?.updateContentHeight())}),e.onMounted(()=>{a?.updateContentHeight()});const c=e.computed(()=>{if(!o?.divider)return!1;const d=o?.type??"default";return d==="default"||d==="bordered"});return(d,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[c.value&&!n.value?(e.openBlock(),e.createElementBlock("div",Qn)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref:f=>{e.unref(a)&&(e.unref(a).contentRef.value=f)},style:e.normalizeStyle(i.value),role:"region","aria-hidden":!n.value},[r.value?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0},{...d.$attrs,class:void 0},{class:e.unref(j)(s.value?.content,"text-muted-foreground",l.contentClass,d.$attrs.class??"")}),[e.renderSlot(d.$slots,"default")],16)):e.createCommentVNode("",!0)],12,_n),c.value&&n.value?(e.openBlock(),e.createElementBlock("div",er)):e.createCommentVNode("",!0)],64))}}),or=["aria-expanded","aria-disabled"],ar={key:0,class:"flex-1 truncate text-foreground"},lr={key:1,class:"flex-1 text-muted-foreground"},nr={class:"flex items-center justify-between px-4 py-3 border-b border-border bg-muted"},rr={class:"flex items-center gap-1 relative"},sr={key:0,class:"absolute top-full left-0 mt-1 z-10 bg-background border border-border rounded-lg shadow-xl p-2 grid grid-cols-3 gap-1 w-48"},ir=["onClick"],cr=["data-current-year","onClick"],dr={class:"grid grid-cols-7 px-3 py-2 border-b border-border"},ur={class:"p-3"},mr=["disabled","onClick","onMouseenter"],fr={key:0,class:"px-4 py-3 border-t border-border bg-muted"},pr={class:"flex items-center justify-center gap-3"},gr=["value"],br=["value"],hr={key:0,class:"flex flex-col gap-1 ml-2"},yr={key:1,class:"flex items-center justify-between px-4 py-2 border-t border-border"},kr={key:1},xr=le(e.defineComponent({inheritAttrs:!1,__name:"SDatePicker",props:{modelValue:{default:null},mode:{default:"single"},variant:{default:"outlined"},size:{default:"medium"},color:{default:"var(--s-primary)"},rounded:{default:"md"},format:{default:"MMM dd, yyyy"},placeholder:{default:"Select date..."},minDate:{default:void 0},maxDate:{default:void 0},disabledDates:{type:[Array,Function],default:void 0},disabledWeekdays:{default:()=>[]},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!0},teleport:{type:[Boolean,String],default:!0},showWeekNumbers:{type:Boolean,default:!1},firstDayOfWeek:{default:0},monthsToShow:{default:1},showToday:{type:Boolean,default:!0},enableTime:{type:Boolean,default:!1},timeFormat:{default:"24h"},minuteStep:{default:5},label:{default:void 0},labelPlacement:{default:"top"}},emits:["update:modelValue","open","close","clear","monthChange","yearChange"],setup(t,{emit:l}){const a=t,o=l,n=e.computed(()=>a.color==="var(--s-primary)"?"text-primary-foreground":"text-white"),r=e.ref(null),s=e.ref(null),i=e.ref(!1),c=e.ref(!1),d=e.ref(new Date),u=e.ref(null),f=e.ref(null),g=e.ref(!1),m=e.ref(!1),p=e.ref(null),h=e.ref(0),x=e.ref(0),y=e.ref(!0),S=e.ref([]);let R=0;const H=e.ref({top:0,left:0,width:0,placement:"bottom"}),X=["January","February","March","April","May","June","July","August","September","October","November","December"],$=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],K=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],A=e.computed(()=>{const L=[...K];for(let W=0;W<a.firstDayOfWeek;W++)L.push(L.shift());return L}),Z=e.computed(()=>{if(!a.modelValue)return"";if(a.mode==="single"&&a.modelValue instanceof Date)return J(a.modelValue);if(a.mode==="range"&&Array.isArray(a.modelValue)&&a.modelValue.length===2){const[L,W]=a.modelValue;return`${J(L)} - ${J(W)}`}if(a.mode==="multiple"&&Array.isArray(a.modelValue)){const L=a.modelValue;return L.length<=2?L.map(W=>J(W)).join(", "):`${L.length} dates selected`}return""}),G=e.computed(()=>a.modelValue?Array.isArray(a.modelValue)?a.modelValue.length>0:!0:!1),I=e.computed(()=>{const L=d.value.getFullYear(),W=d.value.getMonth(),ne=new Date(L,W,1),pe=new Date(L,W+1,0),fe=[];let we=ne.getDay()-a.firstDayOfWeek;we<0&&(we+=7);for(let Be=we-1;Be>=0;Be--){const xe=new Date(L,W,-Be);fe.push({date:xe,isCurrentMonth:!1,isToday:k(xe),isSelected:b(xe),isInRange:w(xe),isRangeStart:N(xe),isRangeEnd:D(xe),isDisabled:V(xe)})}for(let Be=1;Be<=pe.getDate();Be++){const xe=new Date(L,W,Be);fe.push({date:xe,isCurrentMonth:!0,isToday:k(xe),isSelected:b(xe),isInRange:w(xe),isRangeStart:N(xe),isRangeEnd:D(xe),isDisabled:V(xe)})}const gt=42-fe.length;for(let Be=1;Be<=gt;Be++){const xe=new Date(L,W+1,Be);fe.push({date:xe,isCurrentMonth:!1,isToday:k(xe),isSelected:b(xe),isInRange:w(xe),isRangeStart:N(xe),isRangeEnd:D(xe),isDisabled:V(xe)})}return fe}),z=e.computed(()=>{const L=[];for(let W=0;W<I.value.length;W+=7)L.push(I.value.slice(W,W+7));return L}),Q=e.computed(()=>{const L=new Date().getFullYear(),W=[];let ne=L-100,pe=L+50;a.maxDate&&(pe=Math.min(pe,a.maxDate.getFullYear())),a.minDate&&(ne=Math.max(ne,a.minDate.getFullYear()));for(let fe=ne;fe<=pe;fe++)W.push(fe);return W});function J(L){if(a.enableTime){const W=L.getHours(),ne=L.getMinutes(),pe=a.timeFormat==="12h"?`${W%12||12}:${String(ne).padStart(2,"0")} ${W>=12?"PM":"AM"}`:`${String(W).padStart(2,"0")}:${String(ne).padStart(2,"0")}`;return`${$[L.getMonth()]} ${L.getDate()}, ${L.getFullYear()} ${pe}`}return`${$[L.getMonth()]} ${L.getDate()}, ${L.getFullYear()}`}function ae(L,W){return L.getFullYear()===W.getFullYear()&&L.getMonth()===W.getMonth()&&L.getDate()===W.getDate()}function k(L){return ae(L,new Date)}function b(L){if(!a.modelValue)return!1;if(a.mode==="single"&&a.modelValue instanceof Date)return ae(L,a.modelValue);if(a.mode==="range"&&Array.isArray(a.modelValue)){const[W,ne]=a.modelValue;return!!(W&&ae(L,W)||ne&&ae(L,ne))}return a.mode==="multiple"&&Array.isArray(a.modelValue)?a.modelValue.some(W=>ae(L,W)):!1}function w(L){if(a.mode!=="range")return!1;let W=null,ne=null;return f.value&&u.value?(W=f.value<u.value?f.value:u.value,ne=f.value<u.value?u.value:f.value):Array.isArray(a.modelValue)&&a.modelValue.length===2&&([W,ne]=a.modelValue),!W||!ne?!1:L>W&&L<ne}function N(L){if(a.mode!=="range")return!1;if(f.value&&!u.value)return ae(L,f.value);if(Array.isArray(a.modelValue)&&a.modelValue.length>=1){const W=a.modelValue[0];return ae(L,W)}return!1}function D(L){if(a.mode!=="range")return!1;if(Array.isArray(a.modelValue)&&a.modelValue.length===2){const W=a.modelValue[1];return ae(L,W)}return!1}function V(L){if(a.disabledWeekdays?.includes(L.getDay()))return!0;if(a.minDate){const W=new Date(a.minDate);W.setHours(0,0,0,0);const ne=new Date(L);if(ne.setHours(0,0,0,0),ne<W)return!0}if(a.maxDate){const W=new Date(a.maxDate);W.setHours(0,0,0,0);const ne=new Date(L);if(ne.setHours(0,0,0,0),ne>W)return!0}return a.disabledDates?typeof a.disabledDates=="function"?a.disabledDates(L):a.disabledDates.some(W=>ae(L,W)):!1}function v(L,W){const ne=W.getBoundingClientRect(),pe=Math.max(ne.width,ne.height)*2,fe=L.clientX-ne.left-pe/2,we=L.clientY-ne.top-pe/2,gt=R++;S.value.push({id:gt,x:fe,y:we,size:pe}),setTimeout(()=>{S.value=S.value.filter(Be=>Be.id!==gt)},600)}function E(L,W){if(V(L))return;W?.currentTarget&&v(W,W.currentTarget);const ne=new Date(L);if(a.enableTime&&ne.setHours(h.value,x.value),a.mode==="single")o("update:modelValue",ne),a.closeOnSelect&&!a.enableTime&&C();else if(a.mode==="range")if(!f.value)f.value=ne,o("update:modelValue",[ne]);else{const pe=f.value,fe=ne,we=pe<fe?[pe,fe]:[fe,pe];o("update:modelValue",we),f.value=null,a.closeOnSelect&&!a.enableTime&&C()}else if(a.mode==="multiple"){const pe=a.modelValue||[],fe=pe.findIndex(we=>ae(we,ne));if(fe>=0){const we=[...pe];we.splice(fe,1),o("update:modelValue",we)}else o("update:modelValue",[...pe,ne])}}function te(){const L=new Date(d.value);L.setMonth(L.getMonth()-1),d.value=L,o("monthChange",L.getMonth(),L.getFullYear())}function oe(){const L=new Date(d.value);L.setMonth(L.getMonth()+1),d.value=L,o("monthChange",L.getMonth(),L.getFullYear())}function re(L){const W=new Date(d.value);W.setMonth(L),d.value=W,o("monthChange",L,W.getFullYear())}function U(L){const W=new Date(d.value);W.setFullYear(L),d.value=W,o("yearChange",L)}function M(){d.value=new Date}function F(L){L?.stopPropagation(),o("update:modelValue",null),f.value=null,o("clear")}function de(){if(!r.value)return;const L=r.value.getBoundingClientRect(),W=window.innerHeight,ne=W-L.bottom,pe=L.top;ne>=380||ne>=pe?H.value={top:L.bottom+8,left:L.left,width:Math.max(L.width,320),placement:"bottom"}:H.value={bottom:W-L.top+8,left:L.left,width:Math.max(L.width,320),placement:"top"}}function ue(){a.disabled||a.readonly||(i.value=!0,de(),o("open"),a.modelValue instanceof Date?(d.value=new Date(a.modelValue),a.enableTime&&(h.value=a.modelValue.getHours(),x.value=a.modelValue.getMinutes())):Array.isArray(a.modelValue)&&a.modelValue.length>0?(d.value=new Date(a.modelValue[0]),a.enableTime&&a.modelValue[0]instanceof Date&&(h.value=a.modelValue[0].getHours(),x.value=a.modelValue[0].getMinutes())):d.value=new Date,e.nextTick(()=>{window.addEventListener("scroll",de,!0),window.addEventListener("resize",de)}))}function C(){i.value=!1,a.mode==="range"&&f.value&&(f.value=null),o("close"),window.removeEventListener("scroll",de,!0),window.removeEventListener("resize",de)}function T(){i.value?C():ue()}function O(){c.value=!0}function _(L){const W=L.relatedTarget;s.value?.contains(W)||(c.value=!1)}function ge(L){const W=L.target;r.value?.contains(W)||s.value?.contains(W)||C()}function ke(L){L.key==="Escape"?(C(),r.value?.focus()):(L.key==="Enter"||L.key===" ")&&(i.value||(L.preventDefault(),ue()))}function Se(L){a.mode==="range"&&f.value&&(u.value=L)}function je(){u.value=null}function Ne(L){h.value=(h.value+L+24)%24,y.value=h.value<12,tt()}function ee(L){x.value=(x.value+L+60)%60,tt()}function se(L){const ne=L.target.value.replace(/\D/g,"");if(!ne)return;let pe=parseInt(ne,10);a.timeFormat==="12h"?(pe=Math.max(1,Math.min(12,pe)),y.value?h.value=pe===12?0:pe:h.value=pe===12?12:pe+12):(pe=Math.max(0,Math.min(23,pe)),h.value=pe),tt()}function P(L){const ne=L.target.value.replace(/\D/g,"");if(!ne)return;let pe=parseInt(ne,10);pe=Math.max(0,Math.min(59,pe)),x.value=pe,tt()}function q(L){L.preventDefault();const W=L.deltaY<0?1:-1;Ne(W)}function Y(L){L.preventDefault();const W=L.deltaY<0?a.minuteStep:-a.minuteStep;ee(W)}function me(){y.value=!y.value,y.value&&h.value>=12?h.value-=12:!y.value&&h.value<12&&(h.value+=12),tt()}function he(){if(a.timeFormat==="12h"){const L=h.value%12||12;return String(L).padStart(2,"0")}return String(h.value).padStart(2,"0")}function Oe(L){re(L),g.value=!1}function ep(L){U(L),m.value=!1}function tp(){m.value=!1,g.value=!g.value}function op(){g.value=!1,m.value=!m.value,m.value&&e.nextTick(()=>{if(p.value){const L=p.value.querySelector("[data-current-year]");L&&L.scrollIntoView({block:"center"})}})}function tt(){if(a.mode==="single"&&a.modelValue instanceof Date){const L=new Date(a.modelValue);L.setHours(h.value,x.value),o("update:modelValue",L)}}e.watch(i,L=>{L?e.nextTick(()=>{document.addEventListener("mousedown",ge)}):document.removeEventListener("mousedown",ge)}),e.onMounted(()=>{a.modelValue instanceof Date?d.value=new Date(a.modelValue):Array.isArray(a.modelValue)&&a.modelValue.length>0&&a.modelValue[0]instanceof Date&&(d.value=new Date(a.modelValue[0]))}),e.onBeforeUnmount(()=>{document.removeEventListener("mousedown",ge),window.removeEventListener("scroll",de,!0),window.removeEventListener("resize",de)});const Ye=e.computed(()=>({small:{trigger:"min-h-8 text-xs",padding:"px-2 py-0.5",icon:"text-sm",day:"w-7 h-7 text-xs",label:"text-xs mb-1"},medium:{trigger:"min-h-10 text-sm",padding:"px-2 py-0.5",icon:"text-base",day:"w-9 h-9 text-sm",label:"text-sm mb-1.5"},large:{trigger:"min-h-12 text-base",padding:"px-2.5 py-0.5",icon:"text-lg",day:"w-10 h-10 text-base",label:"text-base mb-2"}})[a.size]),ap=e.computed(()=>({none:"rounded-none",sm:"rounded",md:"rounded-lg",lg:"rounded-xl",full:"rounded-full"})[a.rounded]),lp=e.computed(()=>{const L=a.color;return a.variant==="filled"?{"--dp-bg":"var(--s-accent)","--dp-bg-focus":"var(--s-accent)","--dp-border":"transparent","--dp-border-focus":L}:a.variant==="ghost"?{"--dp-bg":"transparent","--dp-bg-focus":"var(--s-accent)","--dp-border":"transparent","--dp-border-focus":L}:{"--dp-bg":"var(--s-background)","--dp-bg-focus":"var(--s-background)","--dp-border":"var(--s-border)","--dp-border-focus":L}}),np=e.computed(()=>a.labelPlacement==="left"?"flex items-center gap-3":"flex flex-col"),rp=e.computed(()=>{if(a.teleport===!0)return"body";if(typeof a.teleport=="string")return a.teleport});return(L,W)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(L.$attrs,{class:e.unref(j)(np.value)}),[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(["font-medium text-foreground shrink-0",Ye.value.label,t.labelPlacement==="left"?"mb-0":""])},e.toDisplayString(t.label),3)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"triggerRef",ref:r,tabindex:"0",role:"combobox","aria-expanded":i.value,"aria-disabled":t.disabled,class:e.normalizeClass(["s-datepicker-trigger relative flex items-center cursor-pointer transition-all duration-200 w-full",[Ye.value.trigger,Ye.value.padding,ap.value,{"opacity-50 cursor-not-allowed":t.disabled,"cursor-default":t.readonly}]]),style:e.normalizeStyle(lp.value),onClick:T,onFocus:O,onBlur:_,onKeydown:ke},[e.createElementVNode("span",{class:e.normalizeClass(["mdi mdi-calendar-blank-outline mr-2 text-muted-foreground",Ye.value.icon])},null,2),G.value?(e.openBlock(),e.createElementBlock("span",ar,e.toDisplayString(Z.value),1)):(e.openBlock(),e.createElementBlock("span",lr,e.toDisplayString(t.placeholder),1)),t.loading?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi mdi-loading animate-spin text-muted-foreground",Ye.value.icon])},null,2)):t.clearable&&G.value&&!t.disabled&&!t.readonly?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"p-1 -mr-1 rounded-full hover:bg-accent transition-colors text-muted-foreground hover:text-foreground",onClick:F},[...W[10]||(W[10]=[e.createElementVNode("span",{class:"mdi mdi-close text-sm"},null,-1)])])):(e.openBlock(),e.createElementBlock("span",{key:4,class:e.normalizeClass(["mdi transition-transform duration-200 text-muted-foreground",[Ye.value.icon,i.value?"mdi-chevron-up":"mdi-chevron-down"]])},null,2))],46,or),(e.openBlock(),e.createBlock(e.Teleport,{to:rp.value,disabled:!t.teleport},[e.createVNode(e.Transition,{"enter-active-class":"transition duration-200 ease-out","enter-from-class":"opacity-0 scale-95","enter-to-class":"opacity-100 scale-100","leave-active-class":"transition duration-150 ease-in","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[i.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"calendarRef",ref:s,class:"s-datepicker-calendar fixed z-50 bg-background border border-border rounded-xl shadow-2xl overflow-hidden",style:e.normalizeStyle({top:H.value.top!==void 0?`${H.value.top}px`:"auto",bottom:H.value.bottom!==void 0?`${H.value.bottom}px`:"auto",left:`${H.value.left}px`,width:`${H.value.width}px`,minWidth:"320px",transformOrigin:H.value.placement==="bottom"?"top":"bottom"})},[e.createElementVNode("div",nr,[e.createElementVNode("button",{type:"button",class:"p-1.5 rounded-lg hover:bg-accent transition-colors text-muted-foreground hover:text-foreground",onClick:te},[...W[11]||(W[11]=[e.createElementVNode("span",{class:"mdi mdi-chevron-left text-lg"},null,-1)])]),e.createElementVNode("div",rr,[e.createElementVNode("button",{type:"button",class:"px-2 py-1 rounded-lg hover:bg-accent transition-colors text-foreground font-semibold flex items-center gap-1",onClick:tp},[e.createTextVNode(e.toDisplayString(X[d.value.getMonth()])+" ",1),W[12]||(W[12]=e.createElementVNode("span",{class:"mdi mdi-chevron-down text-sm text-muted-foreground"},null,-1))]),e.createVNode(e.Transition,{"enter-active-class":"transition duration-150 ease-out","enter-from-class":"opacity-0 translate-y-1","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition duration-100 ease-in","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 translate-y-1"},{default:e.withCtx(()=>[g.value?(e.openBlock(),e.createElementBlock("div",sr,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList($,(ne,pe)=>e.createElementVNode("button",{key:pe,type:"button",class:e.normalizeClass(["px-2 py-1.5 text-sm rounded-sm transition-colors",[d.value.getMonth()===pe?`${n.value} font-semibold`:"text-foreground hover:bg-accent"]]),style:e.normalizeStyle(d.value.getMonth()===pe?{backgroundColor:t.color}:void 0),onClick:fe=>Oe(pe)},e.toDisplayString(ne),15,ir)),64))])):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("button",{type:"button",class:"px-2 py-1 rounded-lg hover:bg-accent transition-colors text-foreground font-semibold flex items-center gap-1",onClick:op},[e.createTextVNode(e.toDisplayString(d.value.getFullYear())+" ",1),W[13]||(W[13]=e.createElementVNode("span",{class:"mdi mdi-chevron-down text-sm text-muted-foreground"},null,-1))]),e.createVNode(e.Transition,{"enter-active-class":"transition duration-150 ease-out","enter-from-class":"opacity-0 translate-y-1","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition duration-100 ease-in","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 translate-y-1"},{default:e.withCtx(()=>[m.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"yearPickerRef",ref:p,class:"absolute top-full right-0 mt-1 z-10 bg-background border border-border rounded-lg shadow-xl p-2 max-h-48 overflow-y-auto w-24 scrollbar-thin"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Q.value,ne=>(e.openBlock(),e.createElementBlock("button",{key:ne,type:"button",class:e.normalizeClass(["w-full px-2 py-1.5 text-sm rounded-sm transition-colors text-left",[d.value.getFullYear()===ne?`${n.value} font-semibold`:"text-foreground hover:bg-accent"]]),style:e.normalizeStyle(d.value.getFullYear()===ne?{backgroundColor:t.color}:void 0),"data-current-year":d.value.getFullYear()===ne?!0:void 0,onClick:pe=>ep(ne)},e.toDisplayString(ne),15,cr))),128))],512)):e.createCommentVNode("",!0)]),_:1})]),e.createElementVNode("button",{type:"button",class:"p-1.5 rounded-lg hover:bg-accent transition-colors text-muted-foreground hover:text-foreground",onClick:oe},[...W[14]||(W[14]=[e.createElementVNode("span",{class:"mdi mdi-chevron-right text-lg"},null,-1)])])]),e.createElementVNode("div",dr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,ne=>(e.openBlock(),e.createElementBlock("div",{key:ne,class:"text-center text-xs font-medium text-muted-foreground py-1"},e.toDisplayString(ne),1))),128))]),e.createElementVNode("div",ur,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(z.value,(ne,pe)=>(e.openBlock(),e.createElementBlock("div",{key:pe,class:"grid grid-cols-7 gap-0.5"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ne,fe=>(e.openBlock(),e.createElementBlock("button",{key:fe.date.toISOString(),type:"button",class:e.normalizeClass(["relative flex items-center justify-center rounded-lg transition-all duration-150 overflow-hidden",[Ye.value.day,{"text-muted-foreground":!fe.isCurrentMonth&&!fe.isSelected,"text-foreground":fe.isCurrentMonth&&!fe.isSelected&&!fe.isDisabled,"font-bold ring-2 ring-inset":fe.isToday&&!fe.isSelected,"opacity-40 cursor-not-allowed":fe.isDisabled,"cursor-pointer hover:bg-accent":!fe.isDisabled&&!fe.isSelected,[n.value+" font-semibold"]:fe.isSelected,"bg-primary/15":fe.isInRange&&!fe.isSelected,"rounded-l-lg":fe.isRangeStart,"rounded-r-lg":fe.isRangeEnd}]]),style:e.normalizeStyle({backgroundColor:fe.isSelected?t.color:void 0,"--tw-ring-color":fe.isToday&&!fe.isSelected?t.color:void 0}),disabled:fe.isDisabled,onClick:we=>E(fe.date,we),onMouseenter:we=>Se(fe.date),onMouseleave:je},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,we=>(e.openBlock(),e.createElementBlock("span",{key:we.id,class:"absolute rounded-full bg-white/30 animate-ripple pointer-events-none",style:e.normalizeStyle({left:`${we.x}px`,top:`${we.y}px`,width:`${we.size}px`,height:`${we.size}px`})},null,4))),128)),e.createTextVNode(" "+e.toDisplayString(fe.date.getDate()),1)],46,mr))),128))]))),128))]),t.enableTime?(e.openBlock(),e.createElementBlock("div",fr,[e.createElementVNode("div",pr,[e.createElementVNode("div",{class:"flex flex-col items-center",onWheel:q},[e.createElementVNode("button",{type:"button",class:"p-0.5 rounded hover:bg-accent text-muted-foreground",onClick:W[0]||(W[0]=ne=>Ne(1))},[...W[15]||(W[15]=[e.createElementVNode("span",{class:"mdi mdi-chevron-up text-lg"},null,-1)])]),e.createElementVNode("input",{type:"text",inputmode:"numeric",value:he(),class:"w-12 h-10 text-center font-mono text-xl bg-background text-foreground border border-border rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent",maxlength:"2",onKeydown:W[1]||(W[1]=ne=>{!/^[0-9]$/.test(ne.key)&&!["Backspace","Delete","Tab","Enter","ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(ne.key)&&ne.preventDefault()}),onChange:se,onFocus:W[2]||(W[2]=ne=>ne.target.select())},null,40,gr),e.createElementVNode("button",{type:"button",class:"p-0.5 rounded hover:bg-accent text-muted-foreground",onClick:W[3]||(W[3]=ne=>Ne(-1))},[...W[16]||(W[16]=[e.createElementVNode("span",{class:"mdi mdi-chevron-down text-lg"},null,-1)])])],32),W[19]||(W[19]=e.createElementVNode("span",{class:"text-2xl font-bold text-foreground pb-1"},":",-1)),e.createElementVNode("div",{class:"flex flex-col items-center",onWheel:Y},[e.createElementVNode("button",{type:"button",class:"p-0.5 rounded hover:bg-accent text-muted-foreground",onClick:W[4]||(W[4]=ne=>ee(t.minuteStep))},[...W[17]||(W[17]=[e.createElementVNode("span",{class:"mdi mdi-chevron-up text-lg"},null,-1)])]),e.createElementVNode("input",{type:"text",inputmode:"numeric",value:String(x.value).padStart(2,"0"),class:"w-12 h-10 text-center font-mono text-xl bg-background text-foreground border border-border rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent",maxlength:"2",onKeydown:W[5]||(W[5]=ne=>{!/^[0-9]$/.test(ne.key)&&!["Backspace","Delete","Tab","Enter","ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(ne.key)&&ne.preventDefault()}),onChange:P,onFocus:W[6]||(W[6]=ne=>ne.target.select())},null,40,br),e.createElementVNode("button",{type:"button",class:"p-0.5 rounded hover:bg-accent text-muted-foreground",onClick:W[7]||(W[7]=ne=>ee(-t.minuteStep))},[...W[18]||(W[18]=[e.createElementVNode("span",{class:"mdi mdi-chevron-down text-lg"},null,-1)])])],32),t.timeFormat==="12h"?(e.openBlock(),e.createElementBlock("div",hr,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["px-3 py-1.5 text-sm font-medium rounded-lg transition-colors",[y.value?n.value:"text-muted-foreground hover:bg-accent"]]),style:e.normalizeStyle(y.value?{backgroundColor:t.color}:void 0),onClick:W[8]||(W[8]=ne=>y.value||me())}," AM ",6),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["px-3 py-1.5 text-sm font-medium rounded-lg transition-colors",[y.value?"text-muted-foreground hover:bg-accent":n.value]]),style:e.normalizeStyle(y.value?void 0:{backgroundColor:t.color}),onClick:W[9]||(W[9]=ne=>y.value&&me())}," PM ",6)])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),t.showToday||t.enableTime?(e.openBlock(),e.createElementBlock("div",yr,[t.showToday?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"text-sm font-medium transition-colors hover:underline",style:e.normalizeStyle({color:t.color}),onClick:M}," Today ",4)):(e.openBlock(),e.createElementBlock("div",kr)),t.enableTime?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:e.normalizeClass(["px-4 py-1.5 text-sm font-medium rounded-lg transition-colors",n.value]),style:e.normalizeStyle({backgroundColor:t.color}),onClick:C}," Done ",6)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],4)):e.createCommentVNode("",!0)]),_:1})],8,["to","disabled"]))],16))}}),[["__scopeId","data-v-af876789"]]),St=le(e.defineComponent({__name:"SColorPickerSpectrum",setup(t){const l=e.inject(ve);l||console.warn("[SColorPickerSpectrum] Must be used inside SColorPicker");const a=e.ref(null),o=e.ref(!1),n=e.computed(()=>{if(!l)return"rgb(0,0,0)";const h=l.hsvToRgb(l.hsva.value.h,100,100);return`rgb(${h.r}, ${h.g}, ${h.b})`}),r=e.computed(()=>({background:`linear-gradient(to top, #000, transparent),
27
- linear-gradient(to right, #fff, ${n.value})`})),s=e.computed(()=>({left:`${l?.hsva.value.s??0}%`,top:`${100-(l?.hsva.value.v??0)}%`}));function i(h){if(!a.value||!l)return;const x=a.value.getBoundingClientRect(),y=Math.max(0,Math.min(h.clientX-x.left,x.width)),S=Math.max(0,Math.min(h.clientY-x.top,x.height));l.hsva.value.s=y/x.width*100,l.hsva.value.v=100-S/x.height*100,l.emitInput()}function c(h){if(!a.value||!l||!h.touches[0])return;const x=a.value.getBoundingClientRect(),y=Math.max(0,Math.min(h.touches[0].clientX-x.left,x.width)),S=Math.max(0,Math.min(h.touches[0].clientY-x.top,x.height));l.hsva.value.s=y/x.width*100,l.hsva.value.v=100-S/x.height*100,l.emitInput()}function d(h){l?.disabled.value||l?.readonly.value||(o.value=!0,i(h),document.addEventListener("mousemove",f),document.addEventListener("mouseup",m))}function u(h){l?.disabled.value||l?.readonly.value||(h.preventDefault(),o.value=!0,c(h),document.addEventListener("touchmove",g,{passive:!1}),document.addEventListener("touchend",p))}function f(h){o.value&&i(h)}function g(h){o.value&&(h.preventDefault(),c(h))}function m(){o.value=!1,document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",m),l?.emitChange()}function p(){o.value=!1,document.removeEventListener("touchmove",g),document.removeEventListener("touchend",p),l?.emitChange()}return e.onBeforeUnmount(()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",m),document.removeEventListener("touchmove",g),document.removeEventListener("touchend",p)}),(h,x)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"spectrumRef",ref:a,class:e.normalizeClass(["s-color-picker__spectrum w-full",e.unref(l)?.sizeConfig.value?.spectrumHeight]),style:e.normalizeStyle(r.value),onMousedown:d,onTouchstart:u},[e.createElementVNode("div",{class:e.normalizeClass(["s-color-picker__spectrum-cursor",{"s-color-picker__spectrum-cursor--dragging":o.value}]),style:e.normalizeStyle(s.value)},[e.createElementVNode("div",{class:"s-color-picker__spectrum-cursor-inner",style:e.normalizeStyle({backgroundColor:e.unref(l)?.currentHex.value})},null,4)],6)],38))}}),[["__scopeId","data-v-a6a633d1"]]),$t=le(e.defineComponent({__name:"SColorPickerHueSlider",setup(t){const l=e.inject(ve);l||console.warn("[SColorPickerHueSlider] Must be used inside SColorPicker");const a=e.ref(null),o=e.ref(!1),n=e.computed(()=>({left:`${(l?.hsva.value.h??0)/360*100}%`}));function r(m){if(!a.value||!l)return;const p=a.value.getBoundingClientRect(),h=Math.max(0,Math.min(m.clientX-p.left,p.width));l.hsva.value.h=h/p.width*360,l.emitInput()}function s(m){if(!a.value||!l||!m.touches[0])return;const p=a.value.getBoundingClientRect(),h=Math.max(0,Math.min(m.touches[0].clientX-p.left,p.width));l.hsva.value.h=h/p.width*360,l.emitInput()}function i(m){l?.disabled.value||l?.readonly.value||(o.value=!0,r(m),document.addEventListener("mousemove",d),document.addEventListener("mouseup",f))}function c(m){l?.disabled.value||l?.readonly.value||(m.preventDefault(),o.value=!0,s(m),document.addEventListener("touchmove",u,{passive:!1}),document.addEventListener("touchend",g))}function d(m){o.value&&r(m)}function u(m){o.value&&(m.preventDefault(),s(m))}function f(){o.value=!1,document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",f),l?.emitChange()}function g(){o.value=!1,document.removeEventListener("touchmove",u),document.removeEventListener("touchend",g),l?.emitChange()}return e.onBeforeUnmount(()=>{document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",f),document.removeEventListener("touchmove",u),document.removeEventListener("touchend",g)}),(m,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"sliderRef",ref:a,class:e.normalizeClass(["s-color-picker__slider s-color-picker__slider--hue",e.unref(l)?.sizeConfig.value?.slider]),onMousedown:i,onTouchstart:c},[e.createElementVNode("div",{class:e.normalizeClass(["s-color-picker__slider-cursor",{"s-color-picker__slider-cursor--dragging":o.value}]),style:e.normalizeStyle(n.value)},null,6)],34))}}),[["__scopeId","data-v-ab3e7411"]]),vt=le(e.defineComponent({__name:"SColorPickerAlphaSlider",setup(t){const l=e.inject(ve);l||console.warn("[SColorPickerAlphaSlider] Must be used inside SColorPicker");const a=e.ref(null),o=e.ref(!1),n=e.computed(()=>({left:`${(l?.hsva.value.a??1)*100}%`})),r=e.computed(()=>{if(!l)return"";const{r:p,g:h,b:x}=l.currentRgb.value;return`linear-gradient(to right, transparent, rgb(${p}, ${h}, ${x}))`});function s(p){if(!a.value||!l)return;const h=a.value.getBoundingClientRect(),x=Math.max(0,Math.min(p.clientX-h.left,h.width));l.hsva.value.a=x/h.width,l.emitInput()}function i(p){if(!a.value||!l||!p.touches[0])return;const h=a.value.getBoundingClientRect(),x=Math.max(0,Math.min(p.touches[0].clientX-h.left,h.width));l.hsva.value.a=x/h.width,l.emitInput()}function c(p){l?.disabled.value||l?.readonly.value||(o.value=!0,s(p),document.addEventListener("mousemove",u),document.addEventListener("mouseup",g))}function d(p){l?.disabled.value||l?.readonly.value||(p.preventDefault(),o.value=!0,i(p),document.addEventListener("touchmove",f,{passive:!1}),document.addEventListener("touchend",m))}function u(p){o.value&&s(p)}function f(p){o.value&&(p.preventDefault(),i(p))}function g(){o.value=!1,document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",g),l?.emitChange()}function m(){o.value=!1,document.removeEventListener("touchmove",f),document.removeEventListener("touchend",m),l?.emitChange()}return e.onBeforeUnmount(()=>{document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",g),document.removeEventListener("touchmove",f),document.removeEventListener("touchend",m)}),(p,h)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"sliderRef",ref:a,class:e.normalizeClass(["s-color-picker__slider s-color-picker__slider--alpha",e.unref(l)?.sizeConfig.value?.slider]),onMousedown:c,onTouchstart:d},[h[0]||(h[0]=e.createElementVNode("div",{class:"s-color-picker__slider-alpha-bg"},null,-1)),e.createElementVNode("div",{class:"s-color-picker__slider-alpha-gradient",style:e.normalizeStyle({background:r.value})},null,4),e.createElementVNode("div",{class:e.normalizeClass(["s-color-picker__slider-cursor",{"s-color-picker__slider-cursor--dragging":o.value}]),style:e.normalizeStyle(n.value)},null,6)],34))}}),[["__scopeId","data-v-5164991d"]]),wr={class:"s-color-picker__preview"},Et=le(e.defineComponent({__name:"SColorPickerPreview",setup(t){const l=e.inject(ve);l||console.warn("[SColorPickerPreview] Must be used inside SColorPicker");const a=e.computed(()=>{if(!l)return"#000";if(l.showAlpha.value){const{r:o,g:n,b:r}=l.currentRgb.value;return`rgba(${o}, ${n}, ${r}, ${l.hsva.value.a})`}return l.currentHex.value});return(o,n)=>(e.openBlock(),e.createElementBlock("div",wr,[e.createElementVNode("div",{class:"s-color-picker__preview-color",style:e.normalizeStyle({backgroundColor:a.value})},null,4)]))}}),[["__scopeId","data-v-1a4eaf85"]]),Cr=["disabled"],zt=le(e.defineComponent({__name:"SColorPickerEyeDropper",setup(t){const l=e.inject(ve);l||console.warn("[SColorPickerEyeDropper] Must be used inside SColorPicker");const a=e.ref(!1);e.onMounted(()=>{a.value=typeof window<"u"&&"EyeDropper"in window});async function o(){if(!(l?.disabled.value||l?.readonly.value||!a.value))try{const r=await new EyeDropper().open();l?.parseColor(r.sRGBHex),l?.emitChange()}catch{}}return(n,r)=>a.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"s-color-picker__tool-btn",title:"Pick color from screen",disabled:e.unref(l)?.disabled.value||e.unref(l)?.readonly.value,onClick:o},[e.renderSlot(n.$slots,"default",{},()=>[r[0]||(r[0]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"m2 22 1-1h3l9-9"}),e.createElementVNode("path",{d:"M3 21v-3l9-9"}),e.createElementVNode("path",{d:"m15 6 3.4-3.4a2.1 2.1 0 1 1 3 3L18 9l.4.4a2.1 2.1 0 1 1-3 3l-3.8-3.8a2.1 2.1 0 1 1 3-3l.4.4Z"})],-1))],!0)],8,Cr)):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-f8566df2"]]),Br={key:0,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Sr={key:1,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Vt=le(e.defineComponent({__name:"SColorPickerCopy",setup(t){const l=e.inject(ve);l||console.warn("[SColorPickerCopy] Must be used inside SColorPicker");const a=e.ref(!1);async function o(){if(l)try{await navigator.clipboard.writeText(l.displayValue.value),a.value=!0,setTimeout(()=>a.value=!1,1500)}catch{const n=document.createElement("textarea");n.value=l.displayValue.value,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n),a.value=!0,setTimeout(()=>a.value=!1,1500)}}return(n,r)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:e.normalizeClass(["s-color-picker__tool-btn",{"s-color-picker__tool-btn--copied":a.value}]),title:"Copy color",onClick:o},[e.renderSlot(n.$slots,"default",{copied:a.value},()=>[a.value?(e.openBlock(),e.createElementBlock("svg",Sr,[...r[1]||(r[1]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Br,[...r[0]||(r[0]=[e.createElementVNode("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"},null,-1),e.createElementVNode("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"},null,-1)])]))],!0)],2))}}),[["__scopeId","data-v-61a84c54"]]),$r={key:0,class:"s-color-picker__inputs"},vr={class:"s-color-picker__format-toggle"},Er={key:0,class:"s-color-picker__input-group s-color-picker__input-group--hex"},zr=["disabled"],Vr={key:1,class:"s-color-picker__input-group s-color-picker__input-group--rgb"},Nr={class:"s-color-picker__input-field"},Tr=["disabled"],Mr={class:"s-color-picker__input-field"},Dr=["disabled"],Pr={class:"s-color-picker__input-field"},Ar=["disabled"],Ir={key:0,class:"s-color-picker__input-field"},Rr=["disabled"],Lr={key:2,class:"s-color-picker__input-group s-color-picker__input-group--hsl"},Fr={class:"s-color-picker__input-field"},jr=["disabled"],Or={class:"s-color-picker__input-field"},Hr=["disabled"],Wr={class:"s-color-picker__input-field"},Kr=["disabled"],Ur={key:0,class:"s-color-picker__input-field"},Gr=["disabled"],Nt=le(e.defineComponent({__name:"SColorPickerInputs",setup(t){const l=e.inject(ve);l||console.warn("[SColorPickerInputs] Must be used inside SColorPicker");const a=e.ref(""),o=e.ref({r:0,g:0,b:0,a:100}),n=e.ref({h:0,s:0,l:0,a:100});e.watch([()=>l?.currentHex.value,()=>l?.currentRgb.value,()=>l?.currentHsl.value],()=>{l&&(a.value=l.currentHex.value.toUpperCase(),o.value={r:l.currentRgb.value.r,g:l.currentRgb.value.g,b:l.currentRgb.value.b,a:Math.round(l.hsva.value.a*100)},n.value={h:l.currentHsl.value.h,s:l.currentHsl.value.s,l:l.currentHsl.value.l,a:Math.round(l.hsva.value.a*100)})},{immediate:!0});function r(){if(!l)return;const c=a.value.startsWith("#")?a.value:"#"+a.value;/^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$/.test(c)&&(l.parseColor(c),l.emitChange())}function s(){if(!l)return;const{r:c,g:d,b:u,a:f}=o.value;if(c>=0&&c<=255&&d>=0&&d<=255&&u>=0&&u<=255){const g=l.rgbToHsv(c,d,u);l.hsva.value={...g,a:f/100},l.emitChange()}}function i(){if(!l)return;const{h:c,s:d,l:u,a:f}=n.value;if(c>=0&&c<=360&&d>=0&&d<=100&&u>=0&&u<=100){const g=d/100,m=u/100,p=m+g*Math.min(m,1-m),h=p===0?0:2*(1-m/p);l.hsva.value={h:c,s:h*100,v:p*100,a:f/100},l.emitChange()}}return(c,d)=>e.unref(l)?(e.openBlock(),e.createElementBlock("div",$r,[e.createElementVNode("div",vr,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["s-color-picker__format-btn",e.unref(l).sizeConfig.value?.input]),onClick:d[0]||(d[0]=u=>e.unref(l).cycleFormat())},e.toDisplayString(e.unref(l).activeFormat.value.toUpperCase()),3)]),e.unref(l).activeFormat.value==="hex"?(e.openBlock(),e.createElementBlock("div",Er,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[1]||(d[1]=u=>a.value=u),type:"text",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,maxlength:"9",onBlur:r,onKeydown:e.withKeys(r,["enter"])},null,42,zr),[[e.vModelText,a.value]])])):e.createCommentVNode("",!0),e.unref(l).activeFormat.value==="rgb"?(e.openBlock(),e.createElementBlock("div",Vr,[e.createElementVNode("div",Nr,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[2]||(d[2]=u=>o.value.r=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"255",onBlur:s,onKeydown:e.withKeys(s,["enter"])},null,42,Tr),[[e.vModelText,o.value.r,void 0,{number:!0}]]),d[10]||(d[10]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"R",-1))]),e.createElementVNode("div",Mr,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[3]||(d[3]=u=>o.value.g=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"255",onBlur:s,onKeydown:e.withKeys(s,["enter"])},null,42,Dr),[[e.vModelText,o.value.g,void 0,{number:!0}]]),d[11]||(d[11]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"G",-1))]),e.createElementVNode("div",Pr,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[4]||(d[4]=u=>o.value.b=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"255",onBlur:s,onKeydown:e.withKeys(s,["enter"])},null,42,Ar),[[e.vModelText,o.value.b,void 0,{number:!0}]]),d[12]||(d[12]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"B",-1))]),e.unref(l).showAlpha.value?(e.openBlock(),e.createElementBlock("div",Ir,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[5]||(d[5]=u=>o.value.a=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"100",onBlur:s,onKeydown:e.withKeys(s,["enter"])},null,42,Rr),[[e.vModelText,o.value.a,void 0,{number:!0}]]),d[13]||(d[13]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"A",-1))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.unref(l).activeFormat.value==="hsl"?(e.openBlock(),e.createElementBlock("div",Lr,[e.createElementVNode("div",Fr,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[6]||(d[6]=u=>n.value.h=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"360",onBlur:i,onKeydown:e.withKeys(i,["enter"])},null,42,jr),[[e.vModelText,n.value.h,void 0,{number:!0}]]),d[14]||(d[14]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"H",-1))]),e.createElementVNode("div",Or,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[7]||(d[7]=u=>n.value.s=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"100",onBlur:i,onKeydown:e.withKeys(i,["enter"])},null,42,Hr),[[e.vModelText,n.value.s,void 0,{number:!0}]]),d[15]||(d[15]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"S",-1))]),e.createElementVNode("div",Wr,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[8]||(d[8]=u=>n.value.l=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"100",onBlur:i,onKeydown:e.withKeys(i,["enter"])},null,42,Kr),[[e.vModelText,n.value.l,void 0,{number:!0}]]),d[16]||(d[16]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"L",-1))]),e.unref(l).showAlpha.value?(e.openBlock(),e.createElementBlock("div",Ur,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[9]||(d[9]=u=>n.value.a=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"100",onBlur:i,onKeydown:e.withKeys(i,["enter"])},null,42,Gr),[[e.vModelText,n.value.a,void 0,{number:!0}]]),d[17]||(d[17]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"A",-1))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-c02ada6d"]]),qr={key:0,class:"s-color-picker__presets"},Yr={class:"s-color-picker__presets-label"},Xr={class:"s-color-picker__swatches"},Jr=["title","disabled","onClick"],Tt=le(e.defineComponent({__name:"SColorPickerPresets",props:{presets:{default:()=>["#ef4444","#f97316","#f59e0b","#eab308","#84cc16","#22c55e","#10b981","#14b8a6","#06b6d4","#0ea5e9","#3b82f6","#6366f1","#8b5cf6","#a855f7","#d946ef","#ec4899","#f43f5e","#000000","#ffffff","#6b7280"]},label:{default:"Presets"}},setup(t){const l=e.inject(ve);return l||console.warn("[SColorPickerPresets] Must be used inside SColorPicker"),(a,o)=>e.unref(l)&&t.presets.length?(e.openBlock(),e.createElementBlock("div",qr,[e.createElementVNode("div",Yr,e.toDisplayString(t.label),1),e.createElementVNode("div",Xr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.presets,n=>(e.openBlock(),e.createElementBlock("button",{key:n,type:"button",class:e.normalizeClass(["s-color-picker__swatch",[e.unref(l).sizeConfig.value?.swatch,{"s-color-picker__swatch--active":e.unref(l).currentHex.value.toUpperCase()===n.toUpperCase()}]]),style:e.normalizeStyle({backgroundColor:n}),title:n,disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,onClick:r=>e.unref(l).selectPreset(n)},null,14,Jr))),128))])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-9c74d25d"]]),Zr={key:0,class:"s-color-picker__recent"},Qr={class:"s-color-picker__presets-label"},_r={class:"s-color-picker__swatches"},es=["title","disabled","onClick"],Mt=le(e.defineComponent({__name:"SColorPickerRecent",props:{label:{default:"Recent"}},setup(t){const l=e.inject(ve);return l||console.warn("[SColorPickerRecent] Must be used inside SColorPicker"),(a,o)=>e.unref(l)&&e.unref(l).recentColors.value.length?(e.openBlock(),e.createElementBlock("div",Zr,[e.createElementVNode("div",Qr,e.toDisplayString(t.label),1),e.createElementVNode("div",_r,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l).recentColors.value,n=>(e.openBlock(),e.createElementBlock("button",{key:n,type:"button",class:e.normalizeClass(["s-color-picker__swatch",[e.unref(l).sizeConfig.value?.swatch,{"s-color-picker__swatch--active":e.unref(l).currentHex.value.toUpperCase()===n.toUpperCase()}]]),style:e.normalizeStyle({backgroundColor:n}),title:n,disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,onClick:r=>e.unref(l).selectPreset(n)},null,14,es))),128))])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-63413e1c"]]),ts=["disabled"],os={class:"s-color-picker__trigger-value"},as=["disabled"],ls={key:1,class:"s-color-picker__sliders"},ns={key:2,class:"s-color-picker__preview-row"},rs={class:"s-color-picker__tools"},ve=Symbol("SColorPickerContext"),ss={components:{SColorPickerSpectrum:St,SColorPickerHueSlider:$t,SColorPickerAlphaSlider:vt,SColorPickerPreview:Et,SColorPickerEyeDropper:zt,SColorPickerCopy:Vt,SColorPickerInputs:Nt,SColorPickerPresets:Tt,SColorPickerRecent:Mt}},is=e.defineComponent({...ss,inheritAttrs:!1,__name:"SColorPicker",props:{modelValue:{default:"#3b82f6"},mode:{default:"inline"},format:{default:"hex"},showAlpha:{type:Boolean,default:!1},showSpectrum:{type:Boolean,default:!0},showSliders:{type:Boolean,default:!0},showPreview:{type:Boolean,default:!0},showInputs:{type:Boolean,default:!0},showPresets:{type:Boolean,default:!0},presets:{default:()=>["#ef4444","#f97316","#f59e0b","#eab308","#84cc16","#22c55e","#10b981","#14b8a6","#06b6d4","#0ea5e9","#3b82f6","#6366f1","#8b5cf6","#a855f7","#d946ef","#ec4899","#f43f5e","#000000","#ffffff","#6b7280"]},showEyeDropper:{type:Boolean,default:!0},showRecent:{type:Boolean,default:!0},maxRecent:{default:8},size:{default:"medium"},triggerStyle:{default:"button"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},label:{default:void 0}},emits:["update:modelValue","change","input"],setup(t,{emit:l}){const a=t,o=l,n=e.useSlots(),r=e.ref(!1),s=e.ref("hex"),i=e.ref([]),c=e.ref(null),d=e.ref({h:210,s:76,v:96,a:1}),u=e.computed(()=>({small:{panelWidth:"w-52 min-w-52 max-w-full",spectrumHeight:"h-32",slider:"h-3",swatch:"w-5 h-5",input:"text-xs px-2 py-1",label:"text-xs"},medium:{panelWidth:"w-72 min-w-64 max-w-full",spectrumHeight:"h-44",slider:"h-4",swatch:"w-6 h-6",input:"text-sm px-2.5 py-1.5",label:"text-sm"},large:{panelWidth:"w-80 min-w-72 max-w-full",spectrumHeight:"h-52",slider:"h-5",swatch:"w-7 h-7",input:"text-base px-3 py-2",label:"text-base"}})[a.size]);function f(k){const b=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(k);return b?{r:parseInt(b[1],16),g:parseInt(b[2],16),b:parseInt(b[3],16),a:b[4]?parseInt(b[4],16)/255:1}:{r:0,g:0,b:0,a:1}}function g(k,b,w,N){const D=v=>Math.round(v).toString(16).padStart(2,"0"),V=`#${D(k)}${D(b)}${D(w)}`;return N!==void 0&&N<1?V+D(N*255):V}function m(k,b,w){k/=255,b/=255,w/=255;const N=Math.max(k,b,w),D=Math.min(k,b,w),V=N-D;let v=0;const E=N===0?0:V/N*100,te=N*100;if(N!==D){switch(N){case k:v=(b-w)/V+(b<w?6:0);break;case b:v=(w-k)/V+2;break;case w:v=(k-b)/V+4;break}v*=60}return{h:v,s:E,v:te}}function p(k,b,w){b/=100,w/=100;const N=w*b,D=N*(1-Math.abs(k/60%2-1)),V=w-N;let v=0,E=0,te=0;return k>=0&&k<60?(v=N,E=D,te=0):k>=60&&k<120?(v=D,E=N,te=0):k>=120&&k<180?(v=0,E=N,te=D):k>=180&&k<240?(v=0,E=D,te=N):k>=240&&k<300?(v=D,E=0,te=N):(v=N,E=0,te=D),{r:Math.round((v+V)*255),g:Math.round((E+V)*255),b:Math.round((te+V)*255)}}function h(k,b,w){k/=255,b/=255,w/=255;const N=Math.max(k,b,w),D=Math.min(k,b,w);let V=0,v=0;const E=(N+D)/2;if(N!==D){const te=N-D;switch(v=E>.5?te/(2-N-D):te/(N+D),N){case k:V=((b-w)/te+(b<w?6:0))/6;break;case b:V=((w-k)/te+2)/6;break;case w:V=((k-b)/te+4)/6;break}}return{h:Math.round(V*360),s:Math.round(v*100),l:Math.round(E*100)}}const x=e.computed(()=>({...p(d.value.h,d.value.s,d.value.v),a:d.value.a})),y=e.computed(()=>{const{r:k,g:b,b:w}=x.value;return g(k,b,w,a.showAlpha?d.value.a:void 0)}),S=e.computed(()=>{const{r:k,g:b,b:w}=x.value;return{...h(k,b,w),a:d.value.a}}),R=e.computed(()=>{const{r:k,g:b,b:w,a:N}=x.value,{h:D,s:V,l:v}=S.value;switch(s.value){case"rgb":return a.showAlpha?`rgba(${k}, ${b}, ${w}, ${N.toFixed(2)})`:`rgb(${k}, ${b}, ${w})`;case"hsl":return a.showAlpha?`hsla(${D}, ${V}%, ${v}%, ${N.toFixed(2)})`:`hsl(${D}, ${V}%, ${v}%)`;default:return y.value.toUpperCase()}}),H=e.computed(()=>{const{r:k,g:b,b:w,a:N}=x.value,{h:D,s:V,l:v}=S.value;switch(a.format){case"rgb":return a.showAlpha?`rgba(${k}, ${b}, ${w}, ${N.toFixed(2)})`:`rgb(${k}, ${b}, ${w})`;case"hsl":return a.showAlpha?`hsla(${D}, ${V}%, ${v}%, ${N.toFixed(2)})`:`hsl(${D}, ${V}%, ${v}%)`;default:return y.value.toUpperCase()}});function X(k){if(!k)return;if(k.startsWith("#")){const N=f(k),D=m(N.r,N.g,N.b);d.value={...D,a:N.a};return}const b=k.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/);if(b){const N=parseInt(b[1]),D=parseInt(b[2]),V=parseInt(b[3]),v=b[4]?parseFloat(b[4]):1,E=m(N,D,V);d.value={...E,a:v};return}const w=k.match(/hsla?\((\d+),\s*(\d+)%?,\s*(\d+)%?(?:,\s*([\d.]+))?\)/);if(w){const N=parseInt(w[1]),D=parseInt(w[2]),V=parseInt(w[3]),v=w[4]?parseFloat(w[4]):1,E=D/100,te=V/100,oe=te+E*Math.min(te,1-te),re=oe===0?0:2*(1-te/oe);d.value={h:N,s:re*100,v:oe*100,a:v}}}e.watch(()=>a.modelValue,k=>{k&&X(k)},{immediate:!0});function $(){o("update:modelValue",H.value),o("change",H.value),Z(y.value)}function K(){o("input",H.value)}function A(k){a.disabled||a.readonly||(X(k),$())}function Z(k){const b=k.toUpperCase();i.value=[b,...i.value.filter(w=>w!==b)].slice(0,a.maxRecent);try{localStorage.setItem("s-color-picker-recent",JSON.stringify(i.value))}catch{}}function G(){try{const k=localStorage.getItem("s-color-picker-recent");k&&(i.value=JSON.parse(k))}catch{}}function I(){const k=["hex","rgb","hsl"],b=k.indexOf(s.value);s.value=k[(b+1)%k.length]}function z(){a.disabled||(r.value=!r.value)}function Q(k){if(a.mode!=="dropdown"||!r.value)return;const b=k.target;c.value&&!c.value.contains(b)&&(r.value=!1)}const J=e.computed(()=>!!n.default),ae={hsva:d,currentRgb:x,currentHex:y,currentHsl:S,displayValue:R,activeFormat:s,recentColors:i,showAlpha:e.computed(()=>a.showAlpha),disabled:e.computed(()=>a.disabled),readonly:e.computed(()=>a.readonly),size:e.computed(()=>a.size),sizeConfig:u,parseColor:X,emitChange:$,emitInput:K,cycleFormat:I,selectPreset:A,addToRecent:Z,hsvToRgb:p,rgbToHsv:m,rgbToHsl:h,hexToRgb:f,rgbToHex:g};return e.provide(ve,ae),e.onMounted(()=>{G(),document.addEventListener("click",Q)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",Q)}),(k,b)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({ref_key:"containerRef",ref:c},k.$attrs,{class:e.unref(j)("s-color-picker",`s-color-picker--${t.size}`,{"s-color-picker--disabled":t.disabled,"s-color-picker--readonly":t.readonly})}),[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(["s-color-picker__label",u.value.label])},e.toDisplayString(t.label),3)):e.createCommentVNode("",!0),t.mode==="dropdown"&&k.$slots.trigger?(e.openBlock(),e.createElementBlock("div",{key:1,class:"s-color-picker__trigger-custom",onClick:e.withModifiers(z,["stop"])},[e.renderSlot(k.$slots,"trigger",{color:y.value,displayValue:R.value,rgb:x.value,hsl:S.value,isOpen:r.value,toggle:z,disabled:t.disabled},void 0,!0)])):e.createCommentVNode("",!0),t.mode==="dropdown"&&!k.$slots.trigger&&t.triggerStyle==="button"&&!J.value?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:e.normalizeClass(["s-color-picker__trigger",u.value.input]),disabled:t.disabled,onClick:e.withModifiers(z,["stop"])},[e.createElementVNode("span",{class:"s-color-picker__trigger-swatch",style:e.normalizeStyle({backgroundColor:y.value})},null,4),e.createElementVNode("span",os,e.toDisplayString(R.value),1),(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(["s-color-picker__trigger-icon",{"rotate-180":r.value}])},[...b[0]||(b[0]=[e.createElementVNode("path",{d:"m6 9 6 6 6-6"},null,-1)])],2))],10,ts)):e.createCommentVNode("",!0),t.mode==="dropdown"&&!k.$slots.trigger&&t.triggerStyle==="swatch"&&!J.value?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"s-color-picker__trigger-swatch-bar",disabled:t.disabled,onClick:e.withModifiers(z,["stop"])},[e.createElementVNode("span",{class:"s-color-picker__trigger-swatch-bar-color",style:e.normalizeStyle({backgroundColor:t.showAlpha?`rgba(${x.value.r}, ${x.value.g}, ${x.value.b}, ${d.value.a})`:y.value})},null,4)],8,as)):e.createCommentVNode("",!0),J.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(["s-color-picker__panel",[u.value.panelWidth,{"s-color-picker__panel--dropdown":t.mode==="dropdown"}]])},[e.renderSlot(k.$slots,"default",{color:y.value,rgb:x.value,hsl:S.value,displayValue:R.value,hsva:d.value},void 0,!0)],2)),[[e.vShow,t.mode==="inline"||r.value]]):e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:5,class:e.normalizeClass(["s-color-picker__panel",[u.value.panelWidth,{"s-color-picker__panel--dropdown":t.mode==="dropdown"}]])},[e.renderSlot(k.$slots,"panel-before",{},void 0,!0),t.showSpectrum?(e.openBlock(),e.createBlock(St,{key:0})):e.createCommentVNode("",!0),t.showSliders?(e.openBlock(),e.createElementBlock("div",ls,[e.createVNode($t),t.showAlpha?(e.openBlock(),e.createBlock(vt,{key:0})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.showPreview?(e.openBlock(),e.createElementBlock("div",ns,[e.createVNode(Et),e.createElementVNode("div",rs,[t.showEyeDropper?(e.openBlock(),e.createBlock(zt,{key:0})):e.createCommentVNode("",!0),e.createVNode(Vt)])])):e.createCommentVNode("",!0),t.showInputs?(e.openBlock(),e.createBlock(Nt,{key:3})):e.createCommentVNode("",!0),t.showPresets&&t.presets.length?(e.openBlock(),e.createBlock(Tt,{key:4,presets:t.presets},null,8,["presets"])):e.createCommentVNode("",!0),t.showRecent?(e.openBlock(),e.createBlock(Mt,{key:5})):e.createCommentVNode("",!0),e.renderSlot(k.$slots,"panel-after",{},void 0,!0)],2)),[[e.vShow,t.mode==="inline"||r.value]])],16))}}),cs=le(is,[["__scopeId","data-v-e1189c1e"]]),ds=["for"],us={key:0,class:"text-red-500 ml-0.5"},ms={class:"flex-1 min-w-0"},fs={class:"s-input-container relative"},ps={key:2,class:"text-muted-foreground text-sm"},gs=["id","name","type","value","placeholder","disabled","readonly","required","autocomplete","spellcheck","inputmode","min","max","step","maxlength","aria-label","aria-describedby","aria-invalid","aria-required"],bs=["id","name","value","placeholder","disabled","readonly","required","autocomplete","spellcheck","rows","maxlength","aria-label","aria-describedby","aria-invalid","aria-required"],hs=["for"],ys={key:0,class:"text-red-500 ml-0.5"},ks={key:0,class:"mdi mdi-loading animate-spin text-muted-foreground"},xs={key:2,class:"text-muted-foreground text-sm"},ws=["aria-label"],Cs=["aria-selected","onMousedown","onMouseenter"],Bs={class:"text-muted-foreground"},Ss=["id"],$s={key:"error",class:"text-xs text-red-500 flex items-center gap-1"},vs={key:"success",class:"text-xs text-green-500 flex items-center gap-1"},Es={key:"warning",class:"text-xs text-amber-500 flex items-center gap-1"},zs={key:"hint",class:"text-xs text-muted-foreground"},Vs={key:"empty"},Ns=le(e.defineComponent({inheritAttrs:!1,__name:"SInput",props:{modelValue:{default:""},type:{default:"text"},variant:{default:"outlined"},size:{default:"medium"},color:{default:void 0},rounded:{default:"md"},label:{},placeholder:{},labelPlacement:{default:"top"},labelAnimation:{default:"morph"},iconLeft:{},iconRight:{},iconColor:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},error:{type:[String,Boolean]},success:{type:[String,Boolean]},warning:{type:[String,Boolean]},hint:{},required:{type:Boolean,default:!1},minLength:{},maxLength:{},pattern:{},validator:{},validateOn:{default:"blur"},autocomplete:{},autofocus:{type:Boolean,default:!1},spellcheck:{type:Boolean,default:!0},inputmode:{},max:{},min:{},step:{},clearable:{type:Boolean,default:!1},showPasswordToggle:{type:Boolean,default:!1},counter:{type:Boolean,default:!1},prefix:{},suffix:{},rows:{default:3},resize:{default:"vertical"},suggestions:{default:void 0},showSuggestionsOnFocus:{type:Boolean,default:!0},allowOnly:{type:[String,Function],default:void 0},decimalPlaces:{default:void 0},name:{},id:{},ariaLabel:{},ariaDescribedBy:{},inputClass:{},labelClass:{},wrapperClass:{}},emits:["update:modelValue","update:error","focus","blur","input","change","clear","enter","validate","select-suggestion"],setup(t,{expose:l,emit:a}){const o=t,n=a,r=e.ref(null),s=e.ref(!1),i=e.ref(!1),c=e.ref(null),d=e.ref(!1),u=e.computed(()=>o.id||`s-input-${Math.random().toString(36).slice(2,9)}`),f=e.computed(()=>`${u.value}-message`),g=e.ref(!1),m=e.ref(-1),p=e.ref(null);let h=null;const x=e.computed(()=>o.modelValue!==null&&o.modelValue!==void 0&&String(o.modelValue).length>0),y=e.computed(()=>String(o.modelValue||"").length),S=e.computed(()=>o.type==="password"&&i.value?"text":o.type),R=e.computed(()=>o.labelPlacement==="floating"||o.labelPlacement==="inside"),H=e.computed(()=>s.value||x.value),X=e.computed(()=>typeof o.error=="string"?o.error:o.error===!0?"Invalid value":c.value),$=e.computed(()=>typeof o.success=="string"?o.success:null),K=e.computed(()=>typeof o.warning=="string"?o.warning:null),A=e.computed(()=>X.value||o.error?"error":$.value||o.success?"success":K.value||o.warning?"warning":null),Z=e.computed(()=>{switch(A.value){case"error":return"alert-circle";case"success":return"check-circle";case"warning":return"alert";default:return null}}),G=e.computed(()=>{if(!o.suggestions||!o.suggestions.length)return[];const ee=String(o.modelValue||"");if(o.type==="email"){const se=ee.indexOf("@");if(se===-1)return[];const P=ee.slice(se);return o.suggestions.filter(q=>q.toLowerCase().startsWith(P.toLowerCase())&&q!==P)}return o.suggestions.filter(se=>se.toLowerCase().includes(ee.toLowerCase())&&se!==ee)}),I=e.computed(()=>g.value&&G.value.length>0&&!o.disabled&&!o.readonly),z=e.computed(()=>({small:{input:"min-h-8 text-xs",padding:"px-2.5 py-1.5",paddingWithIcon:"px-2.5",label:"text-xs",icon:"text-sm",floatLabel:"text-xs",floatLabelActive:"-top-2 text-[10px]"},medium:{input:"min-h-10 text-sm",padding:"px-3 py-2",paddingWithIcon:"px-3",label:"text-sm",icon:"text-base",floatLabel:"text-sm",floatLabelActive:"-top-2.5 text-xs"},large:{input:"min-h-12 text-base",padding:"px-4 py-2.5",paddingWithIcon:"px-4",label:"text-base",icon:"text-lg",floatLabel:"text-base",floatLabelActive:"-top-3 text-sm"}})[o.size]),Q=e.computed(()=>({none:"rounded-none",sm:"rounded",md:"rounded-lg",lg:"rounded-xl",full:"rounded-full"})[o.rounded]),J=e.computed(()=>({outlined:"border bg-background border-border hover:border-input",filled:"border-transparent bg-accent",underlined:"border-b border-t-0 border-l-0 border-r-0 rounded-none! bg-transparent border-border",ghost:"border-transparent bg-transparent hover:bg-accent"})[o.variant]),ae=e.computed(()=>!s.value||o.color?"":o.variant==="underlined"?"border-primary":"ring-2 ring-ring/20 border-primary"),k=e.computed(()=>{if(!(!s.value||!o.color))return o.variant==="underlined"?{borderColor:o.color}:{borderColor:o.color,boxShadow:`0 0 0 2px color-mix(in srgb, ${o.color} 20%, transparent)`}}),b=e.computed(()=>A.value?{error:"border-red-500 hover:border-red-500",success:"border-green-500 hover:border-green-500",warning:"border-amber-500 hover:border-amber-500"}[A.value]:""),w=e.computed(()=>{if(!o.maxLength)return"text-muted-foreground";const ee=y.value/o.maxLength;return ee>=1?"text-red-500":ee>=.9?"text-amber-500":ee>=.75?"text-amber-400":"text-muted-foreground"}),N=e.computed(()=>o.iconColor?"":s.value?o.color?"":"text-primary":"text-muted-foreground"),D=e.computed(()=>{if(!(!s.value||o.iconColor||!o.color))return{color:o.color}}),V=e.computed(()=>{if(R.value)return"flex flex-col w-full";const[ee,se]=o.labelPlacement.split("-"),P=["flex","w-full"];return ee==="top"||ee==="bottom"?(P.push("flex-col","gap-1.5"),ee==="bottom"&&P.push("flex-col-reverse")):(P.push("gap-3"),ee==="right"?P.push("flex-row-reverse"):P.push("flex-row"),se==="center"?P.push("items-center"):se==="bottom"?P.push("items-end"):P.push("items-start")),P.join(" ")}),v=e.computed(()=>{const ee=`font-medium text-muted-foreground ${z.value.label}`;if(R.value)return ee;const[se,P]=o.labelPlacement.split("-");if(se==="top"||se==="bottom"){if(P==="center")return`${ee} text-center`;if(P==="right")return`${ee} text-right`}return ee}),E=e.computed(()=>{const ee=!!o.iconLeft||!!o.prefix,se=!!o.iconRight||!!o.suffix||o.clearable||o.showPasswordToggle||o.loading||Z.value;let P=z.value.input;return o.size==="small"?(P+=ee?" pl-8":" pl-2.5",P+=se?" pr-8":" pr-2.5"):o.size==="large"?(P+=ee?" pl-12":" pl-4",P+=se?" pr-12":" pr-4"):(P+=ee?" pl-10":" pl-3",P+=se?" pr-10":" pr-3"),P}),te=ee=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(ee),oe=ee=>{try{return new URL(ee),!0}catch{return!1}},re=async ee=>{const se=String(ee);if(o.required&&se.trim()==="")return"This field is required";if(se==="")return null;if(o.minLength&&se.length<o.minLength)return`Minimum ${o.minLength} characters required`;if(o.maxLength&&se.length>o.maxLength)return`Maximum ${o.maxLength} characters allowed`;if(o.pattern&&!(typeof o.pattern=="string"?new RegExp(o.pattern):o.pattern).test(se))return"Invalid format";if(o.type==="email"&&se&&!te(se))return"Please enter a valid email address";if(o.type==="url"&&se&&!oe(se))return"Please enter a valid URL";if(o.type==="number"){const P=Number(ee);if(o.min!==void 0&&P<Number(o.min))return`Minimum value is ${o.min}`;if(o.max!==void 0&&P>Number(o.max))return`Maximum value is ${o.max}`}if(o.validator){d.value=!0;try{const P=await o.validator(ee);if(typeof P=="string")return P;if(P===!1)return"Invalid value"}finally{d.value=!1}}return null},U=async()=>{if(o.validateOn==="never")return;const ee=await re(o.modelValue??"");c.value=ee,n("update:error",ee),n("validate",ee===null,ee)},M=(ee,se)=>{const P=o.allowOnly;return P?P==="digits"?o.decimalPlaces!==void 0?/[\d.]/.test(ee)&&!(ee==="."&&se.includes(".")):/\d/.test(ee):P==="letters"?/[a-zA-Z]/.test(ee):P==="alphanumeric"?/[a-zA-Z0-9]/.test(ee):P instanceof RegExp?P.test(ee):typeof P=="function"?P(ee):!0:!0},F=ee=>{if(o.decimalPlaces===void 0)return ee;const se=ee.split(".");return se.length===2&&se[1].length>o.decimalPlaces?se[0]+"."+se[1].slice(0,o.decimalPlaces):ee},de=ee=>{if(!o.allowOnly&&o.decimalPlaces===void 0)return;const se=ee.data;if(!se)return;const P=ee.target,q=P.value+se;if(!M(se,P.value)){ee.preventDefault();return}if(o.decimalPlaces!==void 0&&se!=="."){const Y=q.split(".");if(Y.length===2&&Y[1].length>o.decimalPlaces){ee.preventDefault();return}}},ue=ee=>{const se=ee.target;let P=se.value;o.decimalPlaces!==void 0&&(P=F(String(P)),se.value=P),o.type==="number"&&P!==""&&(P=Number(P)),n("update:modelValue",P),n("input",ee),o.suggestions?.length&&(g.value=!0,m.value=-1),c.value&&o.validateOn==="input"?(h&&clearTimeout(h),h=setTimeout(()=>{U()},500)):o.validateOn==="input"&&(h&&clearTimeout(h),h=setTimeout(()=>{U()},35e4))},C=ee=>{s.value=!0,n("focus",ee),o.showSuggestionsOnFocus&&o.suggestions?.length&&(g.value=!0)},T=ee=>{s.value=!1,n("blur",ee),setTimeout(()=>{g.value=!1,m.value=-1},300),o.validateOn==="blur"&&U()},O=ee=>{n("change",o.modelValue??"",ee)},_=ee=>{if(I.value){if(ee.key==="ArrowDown"){ee.preventDefault(),m.value=Math.min(m.value+1,G.value.length-1);return}if(ee.key==="ArrowUp"){ee.preventDefault(),m.value=Math.max(m.value-1,-1);return}if(ee.key==="Enter"&&m.value>=0){ee.preventDefault(),ge(G.value[m.value]);return}if(ee.key==="Escape"){g.value=!1,m.value=-1;return}if(ee.key==="Tab"&&G.value.length>0){ee.preventDefault(),ge(G.value[0]);return}}ee.key==="Enter"&&o.type!=="textarea"&&n("enter",ee)},ge=ee=>{let se=ee;if(o.type==="email"){const P=String(o.modelValue||""),q=P.indexOf("@");q>=0&&(se=P.slice(0,q)+ee)}n("update:modelValue",se),n("select-suggestion",ee),g.value=!1,m.value=-1,e.nextTick(()=>{r.value?.focus()})},ke=()=>{n("update:modelValue",""),n("clear"),c.value=null,e.nextTick(()=>{r.value?.focus()})},Se=()=>{i.value=!i.value};return l({focus:()=>{r.value?.focus()},blur:()=>{r.value?.blur()},validate:U,inputElement:r}),e.onMounted(()=>{o.autofocus&&e.nextTick(()=>{r.value?.focus()})}),e.watch(()=>o.error,ee=>{ee&&(c.value=null)}),(ee,se)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(ee.$attrs,{class:e.unref(j)("s-input-wrapper relative w-full",V.value,t.wrapperClass,ee.$attrs.class)}),[t.label&&!R.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:u.value,class:e.normalizeClass(["shrink-0",[v.value,t.labelClass]])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",us,"*")):e.createCommentVNode("",!0)],10,ds)):e.createCommentVNode("",!0),e.createElementVNode("div",ms,[e.createElementVNode("div",fs,[t.iconLeft||t.prefix?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["absolute left-0 top-1/2 -translate-y-1/2 flex items-center gap-1 pointer-events-none transition-colors duration-200",[z.value.icon,N.value,t.size==="small"?"pl-2.5":t.size==="large"?"pl-4":"pl-3"]]),style:e.normalizeStyle(t.iconColor?{color:t.iconColor}:D.value)},[e.renderSlot(ee.$slots,"prefix",{},()=>[t.iconLeft&&e.unref(ye)(t.iconLeft)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconLeft),{key:0})):t.iconLeft?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi",`mdi-${t.iconLeft}`])},null,2)):e.createCommentVNode("",!0),t.prefix?(e.openBlock(),e.createElementBlock("span",ps,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0)],!0)],6)):e.createCommentVNode("",!0),t.type!=="textarea"?(e.openBlock(),e.createElementBlock("input",{key:1,ref_key:"inputRef",ref:r,id:u.value,name:t.name,type:S.value,value:t.modelValue,placeholder:R.value&&!H.value?"":t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,spellcheck:t.spellcheck,inputmode:t.inputmode,min:t.min,max:t.max,step:t.step,maxlength:t.maxLength,"aria-label":t.ariaLabel||t.label,"aria-describedby":X.value||$.value||K.value||t.hint?f.value:t.ariaDescribedBy,"aria-invalid":!!X.value,"aria-required":t.required,class:e.normalizeClass(["s-input w-full outline-none transition-all duration-200 text-foreground placeholder:text-muted-foreground",[E.value,Q.value,J.value,ae.value,b.value,t.inputClass,{"opacity-50 cursor-not-allowed":t.disabled,"cursor-wait":t.loading,"py-2":R.value}]]),style:e.normalizeStyle(k.value),onInput:ue,onFocus:C,onBlur:T,onChange:O,onKeydown:_,onBeforeinput:de},null,46,gs)):(e.openBlock(),e.createElementBlock("textarea",{key:2,ref_key:"inputRef",ref:r,id:u.value,name:t.name,value:t.modelValue,placeholder:R.value&&!H.value?"":t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,spellcheck:t.spellcheck,rows:t.rows,maxlength:t.maxLength,"aria-label":t.ariaLabel||t.label,"aria-describedby":X.value||$.value||K.value||t.hint?f.value:t.ariaDescribedBy,"aria-invalid":!!X.value,"aria-required":t.required,class:e.normalizeClass(["s-input w-full outline-none transition-all duration-200 text-foreground placeholder:text-muted-foreground",[z.value.input,t.size==="small"?"px-2.5 py-1.5":t.size==="large"?"px-4 py-2.5":"px-3 py-2",Q.value,J.value,ae.value,b.value,t.inputClass,{"opacity-50 cursor-not-allowed":t.disabled,"cursor-wait":t.loading,"resize-none":t.resize==="none","resize-y":t.resize==="vertical","resize-x":t.resize==="horizontal",resize:t.resize==="both"}]]),style:e.normalizeStyle({...k.value,minHeight:t.type==="textarea"?`${t.rows*1.5+1}rem`:void 0}),onInput:ue,onFocus:C,onBlur:T,onChange:O},null,46,bs)),t.label&&R.value?(e.openBlock(),e.createElementBlock("label",{key:3,for:u.value,class:e.normalizeClass(["s-input-label-floating absolute left-0 pointer-events-none transition-all duration-200 ease-out origin-left",[t.labelClass,t.size==="small"?"left-2.5":t.size==="large"?"left-4":"left-3",t.iconLeft||t.prefix?t.size==="small"?"left-8":t.size==="large"?"left-12":"left-10":"",H.value?[z.value.floatLabelActive,t.color?"":"text-primary","bg-background px-1 -ml-1"]:["top-1/2 -translate-y-1/2",z.value.floatLabel,"text-muted-foreground"]]]),style:e.normalizeStyle(H.value&&t.color?{color:t.color}:void 0)},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",ys,"*")):e.createCommentVNode("",!0)],14,hs)):e.createCommentVNode("",!0),t.iconRight||t.suffix||t.clearable||t.showPasswordToggle||t.loading||Z.value?(e.openBlock(),e.createElementBlock("span",{key:4,class:e.normalizeClass(["absolute right-0 top-1/2 -translate-y-1/2 flex items-center gap-1 transition-colors duration-200",[z.value.icon,t.size==="small"?"pr-2.5":t.size==="large"?"pr-4":"pr-3"]])},[t.loading?(e.openBlock(),e.createElementBlock("span",ks)):t.clearable&&x.value&&!t.disabled&&!t.readonly?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"mdi mdi-close-circle text-muted-foreground hover:text-foreground transition-colors cursor-pointer",tabindex:"-1",onClick:ke})):Z.value&&!t.iconRight?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi",`mdi-${Z.value}`,A.value==="error"?"text-red-500":"",A.value==="success"?"text-green-500":"",A.value==="warning"?"text-amber-500":""])},null,2)):e.createCommentVNode("",!0),t.type==="password"&&t.showPasswordToggle&&!t.loading?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:e.normalizeClass(["mdi transition-colors cursor-pointer text-muted-foreground hover:text-foreground",i.value?"mdi-eye-off":"mdi-eye"]),tabindex:"-1",onClick:Se},null,2)):e.createCommentVNode("",!0),e.renderSlot(ee.$slots,"suffix",{},()=>[t.iconRight&&e.unref(ye)(t.iconRight)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconRight),{key:0,class:e.normalizeClass([N.value]),style:e.normalizeStyle(t.iconColor?{color:t.iconColor}:D.value)},null,8,["class","style"])):t.iconRight?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi",`mdi-${t.iconRight}`,N.value]),style:e.normalizeStyle(t.iconColor?{color:t.iconColor}:D.value)},null,6)):e.createCommentVNode("",!0),t.suffix?(e.openBlock(),e.createElementBlock("span",xs,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0)],!0)],2)):e.createCommentVNode("",!0),t.variant==="underlined"?(e.openBlock(),e.createElementBlock("div",{key:5,class:e.normalizeClass(["s-input-border-animated absolute bottom-0 left-1/2 h-0.5 transition-all duration-200 ease-out",[t.color?"":"bg-primary",s.value?"w-full -translate-x-1/2":"w-0 -translate-x-1/2"]]),style:e.normalizeStyle(t.color?{backgroundColor:t.color}:void 0)},null,6)):e.createCommentVNode("",!0),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-150 ease-out","enter-from-class":"opacity-0 -translate-y-2 scale-95","enter-to-class":"opacity-100 translate-y-0 scale-100","leave-active-class":"transition-all duration-100 ease-in","leave-from-class":"opacity-100 translate-y-0 scale-100","leave-to-class":"opacity-0 -translate-y-2 scale-95"},{default:e.withCtx(()=>[I.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"suggestionsRef",ref:p,class:"s-input-suggestions absolute left-0 right-0 top-full mt-1 z-50 rounded-lg border border-border bg-background shadow-lg overflow-hidden",role:"listbox","aria-label":`Suggestions for ${t.label||"input"}`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(G.value,(P,q)=>(e.openBlock(),e.createElementBlock("li",{key:P,role:"option","aria-selected":q===m.value,class:e.normalizeClass(["px-3 py-2 text-sm cursor-pointer transition-colors",[q===m.value?"bg-primary text-primary-foreground":"text-foreground hover:bg-accent"]]),onMousedown:e.withModifiers(Y=>ge(P),["prevent"]),onMouseenter:Y=>m.value=q},[t.type==="email"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",Bs,e.toDisplayString(String(t.modelValue||"").split("@")[0]),1),e.createElementVNode("span",{class:e.normalizeClass(q===m.value?"text-primary-foreground":"text-primary font-medium")},e.toDisplayString(P),3)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(P),1)],64))],42,Cs))),128))],8,ws)):e.createCommentVNode("",!0)]),_:1})]),X.value||$.value||K.value||t.hint||t.counter&&t.maxLength?(e.openBlock(),e.createElementBlock("div",{key:0,id:f.value,class:"s-input-messages flex items-start justify-between gap-2 mt-1.5"},[e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200 ease-out","enter-from-class":"opacity-0 -translate-y-1","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition-all duration-150 ease-in","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 -translate-y-1",mode:"out-in"},{default:e.withCtx(()=>[X.value?(e.openBlock(),e.createElementBlock("p",$s,[se[0]||(se[0]=e.createElementVNode("span",{class:"mdi mdi-alert-circle text-sm"},null,-1)),e.createTextVNode(" "+e.toDisplayString(X.value),1)])):$.value?(e.openBlock(),e.createElementBlock("p",vs,[se[1]||(se[1]=e.createElementVNode("span",{class:"mdi mdi-check-circle text-sm"},null,-1)),e.createTextVNode(" "+e.toDisplayString($.value),1)])):K.value?(e.openBlock(),e.createElementBlock("p",Es,[se[2]||(se[2]=e.createElementVNode("span",{class:"mdi mdi-alert text-sm"},null,-1)),e.createTextVNode(" "+e.toDisplayString(K.value),1)])):t.hint?(e.openBlock(),e.createElementBlock("p",zs,e.toDisplayString(t.hint),1)):(e.openBlock(),e.createElementBlock("span",Vs))]),_:1}),t.counter&&t.maxLength?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["text-xs shrink-0 tabular-nums transition-colors duration-200",w.value])},e.toDisplayString(y.value)+" / "+e.toDisplayString(t.maxLength),3)):e.createCommentVNode("",!0)],8,Ss)):e.createCommentVNode("",!0)])],16))}}),[["__scopeId","data-v-5c224d3c"]]),wo=Ie("inline-flex items-center justify-center font-mono font-medium select-none whitespace-nowrap leading-none",{variants:{variant:{default:"border border-border bg-muted text-foreground rounded-md shadow-[0_-1px_0_0_rgba(255,255,255,0.06)_inset,0_2px_0_0_var(--s-border)]",outlined:"border border-border text-foreground bg-transparent rounded-md",flat:"bg-muted text-foreground rounded-md",ghost:"text-muted-foreground"},size:{xs:"text-[10px] px-1 py-0.5 min-w-4 h-4 rounded",sm:"text-xs px-1.5 py-0.5 min-w-5 h-5 rounded-md",md:"text-xs px-1.5 py-1 min-w-6 h-6 rounded-md",lg:"text-sm px-2 py-1 min-w-7 h-7 rounded-md"}},defaultVariants:{variant:"default",size:"md"}}),rt=e.defineComponent({inheritAttrs:!1,__name:"SKbd",props:{variant:{default:"default"},size:{default:"md"},color:{default:void 0}},setup(t){const l=e.useAttrs(),a=t,o=e.computed(()=>{if(!a.color)return;const r=a.color;if(a.variant==="default")return{backgroundColor:`color-mix(in srgb, ${r} 15%, transparent)`,color:r,borderColor:r,boxShadow:`0 -1px 0 0 rgba(255,255,255,0.06) inset, 0 2px 0 0 color-mix(in srgb, ${r} 25%, transparent)`};if(a.variant==="outlined")return{borderColor:r,color:r};if(a.variant==="flat")return{backgroundColor:`color-mix(in srgb, ${r} 15%, transparent)`,color:r};if(a.variant==="ghost")return{color:r}}),n=e.computed(()=>j(wo({variant:a.variant,size:a.size}),l.class));return(r,s)=>(e.openBlock(),e.createElementBlock("kbd",e.mergeProps(r.$attrs,{class:n.value,style:o.value}),[e.renderSlot(r.$slots,"default")],16))}}),Ts=e.defineComponent({inheritAttrs:!1,__name:"SSkeleton",props:{shape:{default:"rectangular"},animation:{default:"wave"},width:{default:void 0},height:{default:void 0},size:{default:void 0},borderRadius:{default:void 0},lines:{default:1},lineGap:{default:"0.75rem"},skeletonClass:{}},setup(t){const l=Ie("block bg-muted",{variants:{shape:{rectangular:"rounded-md",circular:"rounded-full",rounded:"rounded-full"},animation:{wave:"s-skeleton-wave",pulse:"s-skeleton-pulse",none:""}},defaultVariants:{shape:"rectangular",animation:"wave"}}),a=t,o=e.computed(()=>{const s={};return a.size?(s.width=a.size,s.height=a.size):(a.width&&(s.width=a.width),a.height&&(s.height=a.height)),!a.size&&!a.height&&(s.height=a.shape==="circular"?a.width??"3rem":"1rem"),!a.size&&!a.width&&(s.width=a.shape==="circular"?a.height??"3rem":"100%"),a.borderRadius&&(s.borderRadius=a.borderRadius),s}),n=e.computed(()=>j(l({shape:a.shape,animation:a.animation}),a.skeletonClass)),r=e.computed(()=>a.lines<=1?["100%"]:Array.from({length:a.lines},(s,i)=>i===a.lines-1?"60%":"100%"));return(s,i)=>t.lines>1?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0},s.$attrs,{class:"flex flex-col",style:{gap:t.lineGap}}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(c,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:e.normalizeClass(n.value),style:e.normalizeStyle({...o.value,width:c})},null,6))),128))],16)):(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:1},s.$attrs,{class:n.value,style:o.value}),null,16))}}),Ms={key:0,class:"text-xs text-muted-foreground"},Ds=e.defineComponent({inheritAttrs:!1,__name:"SKbdShortcut",props:{keys:{},separator:{default:"+"},size:{default:"md"},variant:{default:"default"},color:{default:void 0}},setup(t){const l=e.useAttrs();return(a,o)=>(e.openBlock(),e.createElementBlock("span",e.mergeProps(a.$attrs,{class:e.unref(j)("inline-flex items-center gap-1",e.unref(l).class)}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.keys,(n,r)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:r},[r>0?(e.openBlock(),e.createElementBlock("span",Ms,e.toDisplayString(t.separator),1)):e.createCommentVNode("",!0),e.createVNode(rt,{size:t.size,variant:t.variant,color:t.color},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n),1)]),_:2},1032,["size","variant","color"])],64))),128))],16))}}),Ps=["aria-expanded","aria-disabled"],As=["disabled"],Is={key:2},Rs={key:1,class:"p-2 border-b border-border"},Ls={class:"relative"},Fs=["placeholder"],js={key:0,class:"my-1 h-px bg-border/60"},Os={key:1,class:"px-2.5 pt-2 pb-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground"},Hs=["tabindex","onClick","onMouseenter"],Ws={class:"flex-1 min-w-0"},Ks={class:"truncate"},Us={class:"flex items-center gap-2 ml-4 shrink-0"},Gs={key:0,class:"px-1.5 py-0.5 text-[10px] font-mono rounded bg-accent text-muted-foreground border border-border"},qs={key:2,class:"px-4 py-8 text-center"},Dt=Symbol("SDropdownContext"),Ys=le(e.defineComponent({inheritAttrs:!1,__name:"SDropdown",props:{items:{default:void 0},trigger:{default:"click"},placement:{default:"bottom-start"},size:{default:"medium"},variant:{default:"default"},color:{default:"var(--s-primary)"},animation:{default:"scale"},closeOnSelect:{type:Boolean,default:!0},arrow:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},maxHeight:{default:"320px"},width:{default:void 0},minWidth:{default:"180px"},teleport:{type:[Boolean,String],default:!0},zIndex:{default:1e3},showDelay:{default:100},hideDelay:{default:150},visible:{type:Boolean,default:void 0},searchable:{type:Boolean,default:!1},searchPlaceholder:{default:"Search..."},offset:{default:6},label:{default:void 0},icon:{default:void 0},hideArrow:{type:Boolean,default:!1}},emits:["update:visible","open","close","select"],setup(t,{expose:l,emit:a}){const o=t,n=a,r=e.ref(null),s=e.ref(null),i=e.ref(null),c=e.ref(!1),d=e.ref(""),u=e.ref(-1),f=e.ref([]),g=e.ref({placement:o.placement});let m=null,p=null;const h=e.computed(()=>o.trigger==="manual"),x=e.computed(()=>{if(!o.items||!d.value)return o.items;const V=d.value.toLowerCase();return o.items.filter(v=>v.divider||v.header?!0:v.label.toLowerCase().includes(V))}),y=e.computed(()=>{if(o.teleport===!0)return"body";if(typeof o.teleport=="string")return o.teleport}),S=e.computed(()=>{const V={zIndex:o.zIndex.toString(),maxHeight:o.maxHeight};return o.width&&(V.width=typeof o.width=="number"?`${o.width}px`:o.width),o.minWidth&&(V.minWidth=o.minWidth),g.value.top!==void 0&&(V.top=`${g.value.top}px`),g.value.bottom!==void 0&&(V.bottom=`${g.value.bottom}px`),g.value.left!==void 0&&(V.left=`${g.value.left}px`),g.value.right!==void 0&&(V.right=`${g.value.right}px`),V}),R=e.computed(()=>({small:{trigger:"px-2 py-0.5 text-xs gap-1.5",menu:"py-1 px-1",item:"px-2 py-0.5 text-xs",icon:"text-sm",search:"text-xs px-2 py-0.5"},medium:{trigger:"px-2 py-0.5 text-sm gap-2",menu:"py-1 px-1",item:"px-2 py-0.5 text-sm",icon:"text-base",search:"text-sm px-2 py-0.5"},large:{trigger:"px-2.5 py-0.5 text-base gap-2.5",menu:"py-1.5 px-1.5",item:"px-2.5 py-0.5 text-base",icon:"text-lg",search:"text-base px-2.5 py-0.5"}})[o.size]),H=e.computed(()=>({default:"bg-background border border-border shadow-xl",filled:"bg-muted border border-border shadow-lg",glass:"bg-background/80 backdrop-blur-xl border border-border/50 shadow-2xl"})[o.variant]),X=e.computed(()=>{const V=g.value.placement,v=V.startsWith("top"),E=V.startsWith("bottom"),te=V.startsWith("left");return V.startsWith("right"),{fade:{enter:"transition-opacity duration-200 ease-out",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"transition-opacity duration-150 ease-in",leaveFrom:"opacity-100",leaveTo:"opacity-0"},slide:{enter:"transition-all duration-200 ease-out",enterFrom:`opacity-0 ${v?"translate-y-2":E?"-translate-y-2":te?"translate-x-2":"-translate-x-2"}`,enterTo:"opacity-100 translate-x-0 translate-y-0",leave:"transition-all duration-150 ease-in",leaveFrom:"opacity-100 translate-x-0 translate-y-0",leaveTo:`opacity-0 ${v?"translate-y-2":E?"-translate-y-2":te?"translate-x-2":"-translate-x-2"}`},scale:{enter:"transition-all duration-200 ease-out",enterFrom:"opacity-0 scale-95",enterTo:"opacity-100 scale-100",leave:"transition-all duration-150 ease-in",leaveFrom:"opacity-100 scale-100",leaveTo:"opacity-0 scale-95"},reveal:{enter:"transition-all duration-250 ease-out",enterFrom:"opacity-0 scale-90 blur-sm",enterTo:"opacity-100 scale-100 blur-0",leave:"transition-all duration-150 ease-in",leaveFrom:"opacity-100 scale-100 blur-0",leaveTo:"opacity-0 scale-90 blur-sm"}}[o.animation]}),$=()=>{if(!r.value)return;const V=r.value.getBoundingClientRect(),v={width:window.innerWidth,height:window.innerHeight},E=o.offset;let te=o.placement,oe,re,U,M;({top:()=>{re=v.height-V.top+E,U=V.left+V.width/2},"top-start":()=>{re=v.height-V.top+E,U=V.left},"top-end":()=>{re=v.height-V.top+E,M=v.width-V.right},bottom:()=>{oe=V.bottom+E,U=V.left+V.width/2},"bottom-start":()=>{oe=V.bottom+E,U=V.left},"bottom-end":()=>{oe=V.bottom+E,M=v.width-V.right},left:()=>{oe=V.top+V.height/2,M=v.width-V.left+E},"left-start":()=>{oe=V.top,M=v.width-V.left+E},"left-end":()=>{re=v.height-V.bottom,M=v.width-V.left+E},right:()=>{oe=V.top+V.height/2,U=V.right+E},"right-start":()=>{oe=V.top,U=V.right+E},"right-end":()=>{re=v.height-V.bottom,U=V.right+E}})[te]();const de=parseInt(o.maxHeight)||320,ue=o.width&&typeof o.width=="number"?o.width:200;te.startsWith("bottom")&&oe!==void 0&&oe+de>v.height-10?(te=te.replace("bottom","top"),oe=void 0,re=v.height-V.top+E):te.startsWith("top")&&re!==void 0&&v.height-re+de>v.height-10&&(te=te.replace("top","bottom"),re=void 0,oe=V.bottom+E),U!==void 0&&U+ue>v.width-10&&(U=v.width-ue-10),U!==void 0&&U<10&&(U=10),g.value={top:oe,bottom:re,left:U,right:M,placement:te}},K=async()=>{o.disabled||c.value||(p&&(clearTimeout(p),p=null),c.value=!0,n("update:visible",!0),n("open"),await e.nextTick(),$(),o.searchable&&i.value&&i.value.focus())},A=()=>{c.value&&(m&&(clearTimeout(m),m=null),c.value=!1,d.value="",u.value=-1,n("update:visible",!1),n("close"))},Z=()=>{c.value?A():K()},G=V=>{o.trigger==="click"&&!o.disabled&&(V.preventDefault(),Z())},I=V=>{o.trigger==="context"&&!o.disabled&&(V.preventDefault(),Z())},z=()=>{o.trigger==="hover"&&!o.disabled&&(m=setTimeout(K,o.showDelay))},Q=()=>{o.trigger==="hover"&&!o.disabled&&(p=setTimeout(A,o.hideDelay))},J=()=>{o.trigger==="hover"&&p&&(clearTimeout(p),p=null)},ae=()=>{o.trigger==="hover"&&(p=setTimeout(A,o.hideDelay))},k=V=>{const v=V.target;r.value&&s.value&&!r.value.contains(v)&&!s.value.contains(v)&&A()},b=V=>{if(!c.value){(V.key==="Enter"||V.key===" "||V.key==="ArrowDown")&&(V.preventDefault(),K());return}const v=f.value.filter(E=>!E.disabled);switch(V.key){case"Escape":V.preventDefault(),A(),r.value?.focus();break;case"ArrowDown":V.preventDefault(),u.value=Math.min(u.value+1,v.length-1),u.value<0&&(u.value=0);break;case"ArrowUp":V.preventDefault(),u.value=Math.max(u.value-1,0);break;case"Home":V.preventDefault(),u.value=0;break;case"End":V.preventDefault(),u.value=v.length-1;break;case"Enter":case" ":V.preventDefault(),u.value>=0&&v[u.value]&&D(v[u.value].key);break;case"Tab":A();break}},w=V=>{const v=f.value.findIndex(E=>E.key===V.key);return v>=0?(f.value[v]=V,v):(f.value.push(V),f.value.length-1)},N=V=>{const v=f.value.findIndex(E=>E.key===V);v>=0&&f.value.splice(v,1)},D=V=>{const v=o.items?.find(E=>E.key===V);n("select",V,v),v?.onClick&&v.onClick(),o.closeOnSelect&&A()};return e.watch(()=>o.visible,V=>{h.value&&V!==void 0&&(V?K():A())}),e.watch(c,V=>{V?(window.addEventListener("scroll",$,!0),window.addEventListener("resize",$)):(window.removeEventListener("scroll",$,!0),window.removeEventListener("resize",$))}),e.onMounted(()=>{document.addEventListener("mousedown",k)}),e.onBeforeUnmount(()=>{m&&clearTimeout(m),p&&clearTimeout(p),document.removeEventListener("mousedown",k),window.removeEventListener("scroll",$,!0),window.removeEventListener("resize",$)}),e.provide(Dt,{size:o.size,color:o.color,closeOnSelect:o.closeOnSelect,highlightedIndex:u,registerItem:w,unregisterItem:N,selectItem:D,close:A}),l({open:K,close:A,toggle:Z}),(V,v)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:e.unref(j)("s-dropdown relative inline-block",V.$attrs.class??"")},V.$attrs),[e.createElementVNode("div",{ref_key:"triggerRef",ref:r,class:"s-dropdown-trigger outline-none",tabindex:"0","aria-expanded":c.value,"aria-haspopup":!0,"aria-disabled":t.disabled,onClick:G,onContextmenu:I,onMouseenter:z,onMouseleave:Q,onKeydown:b},[e.renderSlot(V.$slots,"trigger",{},()=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["s-dropdown-btn inline-flex items-center justify-center font-medium rounded-lg border transition-all duration-200 outline-none select-none",[R.value.trigger,t.disabled?"opacity-50 cursor-not-allowed bg-accent border-border text-muted-foreground":"bg-muted border-border text-foreground hover:bg-accent hover:border-input focus:ring-2 focus:ring-primary/20"]]),disabled:t.disabled},[t.icon&&e.unref(ye)(t.icon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:0,class:e.normalizeClass([R.value.icon])},null,8,["class"])):t.icon?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi",`mdi-${t.icon}`,R.value.icon])},null,2)):e.createCommentVNode("",!0),t.label?(e.openBlock(),e.createElementBlock("span",Is,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),t.hideArrow?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(["mdi mdi-chevron-down transition-transform duration-200",[R.value.icon,{"rotate-180":c.value}]])},null,2))],10,As)],!0)],40,Ps),y.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:y.value,disabled:!y.value},[e.createVNode(e.Transition,{"enter-active-class":X.value.enter,"enter-from-class":X.value.enterFrom,"enter-to-class":X.value.enterTo,"leave-active-class":X.value.leave,"leave-from-class":X.value.leaveFrom,"leave-to-class":X.value.leaveTo},{default:e.withCtx(()=>[c.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:s,role:"menu",class:e.normalizeClass(["s-dropdown-menu fixed rounded-xl overflow-hidden",[R.value.menu,H.value]]),style:e.normalizeStyle(S.value),onMouseenter:J,onMouseleave:ae},[t.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["s-dropdown-arrow absolute w-2.5 h-2.5 rotate-45 bg-background border border-border",{"bottom-full left-4 -mb-1 border-b-0 border-r-0":g.value.placement.startsWith("bottom"),"top-full left-4 -mt-1 border-t-0 border-l-0":g.value.placement.startsWith("top"),"left-full top-4 -ml-1 border-l-0 border-b-0":g.value.placement.startsWith("right"),"right-full top-4 -mr-1 border-r-0 border-t-0":g.value.placement.startsWith("left")}])},null,2)):e.createCommentVNode("",!0),t.searchable?(e.openBlock(),e.createElementBlock("div",Rs,[e.createElementVNode("div",Ls,[v[1]||(v[1]=e.createElementVNode("span",{class:"absolute left-3 top-1/2 -translate-y-1/2 mdi mdi-magnify text-muted-foreground"},null,-1)),e.withDirectives(e.createElementVNode("input",{ref_key:"searchInputRef",ref:i,"onUpdate:modelValue":v[0]||(v[0]=E=>d.value=E),type:"text",placeholder:t.searchPlaceholder,class:e.normalizeClass([R.value.search,"w-full pl-9 pr-3 bg-accent border border-border rounded-lg outline-none focus:border-primary focus:ring-2 focus:ring-primary/20 transition-all text-foreground placeholder:text-muted-foreground"]),onKeydown:b},null,42,Fs),[[e.vModelText,d.value]])])])):e.createCommentVNode("",!0),e.renderSlot(V.$slots,"header",{},void 0,!0),e.createElementVNode("div",{class:"overflow-y-auto overflow-x-hidden overscroll-contain",style:e.normalizeStyle({maxHeight:t.searchable?`calc(${t.maxHeight} - 60px)`:t.maxHeight})},[x.value&&x.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(x.value,(E,te)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:E.key||`item-${te}`},[E.divider?(e.openBlock(),e.createElementBlock("div",js)):E.header?(e.openBlock(),e.createElementBlock("div",Os,e.toDisplayString(E.header),1)):(e.openBlock(),e.createElementBlock("div",{key:2,role:"menuitem",tabindex:E.disabled?-1:0,class:e.normalizeClass(["s-dropdown-item relative flex items-center cursor-pointer transition-all duration-150 select-none rounded-lg",[R.value.item,{"opacity-50 cursor-not-allowed":E.disabled,"text-red-500 hover:bg-red-500/10":E.danger&&!E.disabled,"text-foreground hover:bg-accent":!E.danger&&!E.disabled,"bg-accent":u.value===te&&!E.disabled}]]),onClick:oe=>!E.disabled&&D(E.key),onMouseenter:oe=>u.value=te},[E.checked!==void 0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["mdi mr-2 transition-all duration-150",[E.checked?"mdi-checkbox-marked":"mdi-checkbox-blank-outline",R.value.icon,E.checked?"":"text-muted-foreground"]]),style:e.normalizeStyle(E.checked?{color:t.color}:{})},null,6)):E.icon&&e.unref(ye)(E.icon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E.icon),{key:1,class:e.normalizeClass([R.value.icon,"mr-2.5",E.danger?"":"text-muted-foreground"])},null,8,["class"])):E.icon?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi",`mdi-${E.icon}`,R.value.icon,"mr-2.5",E.danger?"":"text-muted-foreground"])},null,2)):e.createCommentVNode("",!0),e.createElementVNode("div",Ws,[e.createElementVNode("div",Ks,e.toDisplayString(E.label),1),E.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["text-xs truncate mt-0.5",E.danger?"text-red-400":"text-muted-foreground"])},e.toDisplayString(E.description),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Us,[E.shortcut?(e.openBlock(),e.createElementBlock("kbd",Gs,e.toDisplayString(E.shortcut),1)):e.createCommentVNode("",!0),E.trailingIcon&&e.unref(ye)(E.trailingIcon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E.trailingIcon),{key:1,class:e.normalizeClass([R.value.icon,"text-muted-foreground"])},null,8,["class"])):E.trailingIcon?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi",`mdi-${E.trailingIcon}`,R.value.icon,"text-muted-foreground"])},null,2)):e.createCommentVNode("",!0),E.children&&E.children.length>0?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(["mdi mdi-chevron-right text-muted-foreground",R.value.icon])},null,2)):e.createCommentVNode("",!0)])],42,Hs))],64))),128)):e.renderSlot(V.$slots,"default",{key:1},void 0,!0),t.searchable&&d.value&&(!x.value||x.value.length===0)?(e.openBlock(),e.createElementBlock("div",qs,[...v[2]||(v[2]=[e.createElementVNode("span",{class:"mdi mdi-magnify-close text-3xl text-muted-foreground mb-2 block"},null,-1),e.createElementVNode("p",{class:"text-sm text-muted-foreground"},"No results found",-1)])])):e.createCommentVNode("",!0)],4),e.renderSlot(V.$slots,"footer",{},void 0,!0)],38)):e.createCommentVNode("",!0)]),_:3},8,["enter-active-class","enter-from-class","enter-to-class","leave-active-class","leave-from-class","leave-to-class"])],8,["to","disabled"])):(e.openBlock(),e.createBlock(e.Transition,{key:1,"enter-active-class":X.value.enter,"enter-from-class":X.value.enterFrom,"enter-to-class":X.value.enterTo,"leave-active-class":X.value.leave,"leave-from-class":X.value.leaveFrom,"leave-to-class":X.value.leaveTo},{default:e.withCtx(()=>[c.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:s,role:"menu",class:e.normalizeClass(["s-dropdown-menu absolute mt-1.5 rounded-xl overflow-hidden",[R.value.menu,H.value]]),style:e.normalizeStyle({minWidth:t.minWidth,maxHeight:t.maxHeight,zIndex:t.zIndex}),onMouseenter:J,onMouseleave:ae},[e.createElementVNode("div",{class:"overflow-y-auto overscroll-contain",style:e.normalizeStyle({maxHeight:t.maxHeight})},[e.renderSlot(V.$slots,"default",{},void 0,!0)],4)],38)):e.createCommentVNode("",!0)]),_:3},8,["enter-active-class","enter-from-class","enter-to-class","leave-active-class","leave-from-class","leave-to-class"]))],16))}}),[["__scopeId","data-v-a5e5bffb"]]),Xs=e.defineComponent({inheritAttrs:!1,__name:"SDropdownDivider",props:{margin:{default:"4px"}},setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:e.unref(j)("s-dropdown-divider h-px bg-border/60",l.$attrs.class??""),role:"separator",style:{marginTop:t.margin,marginBottom:t.margin}},l.$attrs),null,16))}}),Js={class:"s-dropdown-group-content"},Zs=le(e.defineComponent({inheritAttrs:!1,__name:"SDropdownGroup",props:{label:{},icon:{default:void 0}},setup(t){const l=e.inject(Dt),a=e.computed(()=>({small:"px-2 pt-1.5 pb-0.5 text-[10px]",medium:"px-2.5 pt-2 pb-1 text-[11px]",large:"px-3 pt-2.5 pb-1 text-xs"})[l?.size??"medium"]);return(o,n)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:e.unref(j)("s-dropdown-group",o.$attrs.class??"")},o.$attrs),[e.createElementVNode("div",{class:e.normalizeClass(["font-semibold uppercase tracking-wider text-muted-foreground flex items-center gap-2 sticky top-0 bg-background/95 backdrop-blur-sm",a.value])},[t.icon&&e.unref(ye)(t.icon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:0,class:"text-xs"})):t.icon?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi",`mdi-${t.icon}`,"text-xs"])},null,2)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(t.label),1)],2),e.createElementVNode("div",Js,[e.renderSlot(o.$slots,"default",{},void 0,!0)])],16))}}),[["__scopeId","data-v-61cf95ee"]]),Qs=["tabindex"],_s={class:"flex-1 min-w-0"},ei={class:"truncate"},ti={class:"flex items-center gap-2 ml-4 shrink-0"},oi={key:0,class:"px-1.5 py-0.5 text-[10px] font-mono rounded bg-background text-muted-foreground border border-border"},ai=le(e.defineComponent({inheritAttrs:!1,__name:"SDropdownItem",props:{itemKey:{},label:{default:void 0},icon:{default:void 0},trailingIcon:{default:void 0},description:{default:void 0},shortcut:{default:void 0},disabled:{type:Boolean,default:!1},danger:{type:Boolean,default:!1},checked:{type:Boolean,default:void 0},color:{default:void 0}},emits:["click","update:checked"],setup(t,{emit:l}){const a=t,o=l,n=e.inject(Dt),r=e.ref(-1);e.onMounted(()=>{n&&(r.value=n.registerItem({key:a.itemKey,disabled:a.disabled}))}),e.onBeforeUnmount(()=>{n&&n.unregisterItem(a.itemKey)});const s=e.computed(()=>({small:{item:"px-2 py-1 text-xs",icon:"text-sm"},medium:{item:"px-2.5 py-1.5 text-sm",icon:"text-base"},large:{item:"px-3 py-2 text-base",icon:"text-lg"}})[n?.size??"medium"]),i=e.computed(()=>a.color??n?.color??"var(--s-primary)"),c=e.computed(()=>!n||r.value<0?!1:n.highlightedIndex.value===r.value),d=u=>{a.disabled||(o("click",u),a.checked!==void 0&&o("update:checked",!a.checked),n&&n.selectItem(a.itemKey))};return(u,f)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:"menuitem",tabindex:t.disabled?-1:0,class:e.unref(j)("s-dropdown-item relative flex items-center cursor-pointer transition-all duration-150 select-none rounded-lg group",s.value.item,{"opacity-50 cursor-not-allowed":t.disabled,"text-red-500 hover:bg-red-500/10":t.danger&&!t.disabled,"text-foreground hover:bg-accent":!t.danger&&!t.disabled,"bg-accent":c.value&&!t.disabled},u.$attrs.class??"")},u.$attrs,{onClick:d}),[t.checked!==void 0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["mdi mr-2.5 transition-all duration-150",[t.checked?"mdi-checkbox-marked":"mdi-checkbox-blank-outline",s.value.icon,t.checked?"":"text-muted-foreground"]]),style:e.normalizeStyle(t.checked?{color:i.value}:{})},null,6)):t.icon&&e.unref(ye)(t.icon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:1,class:e.normalizeClass([s.value.icon,"mr-2.5",t.danger?"":"text-muted-foreground group-hover:text-foreground"])},null,8,["class"])):t.icon?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi",`mdi-${t.icon}`,s.value.icon,"mr-2.5",t.danger?"":"text-muted-foreground group-hover:text-foreground"])},null,2)):e.createCommentVNode("",!0),e.createElementVNode("div",_s,[e.renderSlot(u.$slots,"default",{},()=>[e.createElementVNode("div",ei,e.toDisplayString(t.label),1)],!0),t.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["text-xs truncate mt-0.5",t.danger?"text-red-400":"text-muted-foreground"])},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",ti,[t.shortcut?(e.openBlock(),e.createElementBlock("kbd",oi,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.trailingIcon&&e.unref(ye)(t.trailingIcon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.trailingIcon),{key:1,class:e.normalizeClass([s.value.icon,"text-muted-foreground"])},null,8,["class"])):t.trailingIcon?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi",`mdi-${t.trailingIcon}`,s.value.icon,"text-muted-foreground"])},null,2)):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"trailing",{},void 0,!0)])],16,Qs))}}),[["__scopeId","data-v-c37f9faa"]]),li=["aria-label"],ni=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumb",props:{label:{default:"Breadcrumb"}},setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("nav",e.mergeProps({...l.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb w-full",l.$attrs.class),"aria-label":t.label}),[e.renderSlot(l.$slots,"default")],16,li))}}),ri=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumbList",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("ol",e.mergeProps({...l.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb-list m-0 flex list-none flex-wrap items-center gap-1.5 break-words p-0 text-sm text-muted-foreground sm:gap-2.5",l.$attrs.class)}),[e.renderSlot(l.$slots,"default")],16))}}),si=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumbItem",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("li",e.mergeProps({...l.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb-item inline-flex min-w-0 items-center gap-1.5",l.$attrs.class)}),[e.renderSlot(l.$slots,"default")],16))}}),ii=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumbLink",props:{tag:{default:"a"},href:{default:void 0},to:{default:void 0}},setup(t){const l=t,a=e.computed(()=>l.to?"router-link":l.href?"a":l.tag),o=e.computed(()=>{const n={};return l.to&&(n.to=l.to),l.href&&(n.href=l.href),n});return(n,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),e.mergeProps({...o.value,...n.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb-link inline-flex items-center gap-1 rounded-md text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2",n.$attrs.class)}),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16,["class"]))}}),ci=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumbPage",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("span",e.mergeProps({...l.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb-page inline-flex items-center gap-1 rounded-md font-medium text-foreground",l.$attrs.class),"aria-current":"page"}),[e.renderSlot(l.$slots,"default")],16))}}),di=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumbSeparator",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("li",e.mergeProps({...l.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb-separator inline-flex items-center justify-center text-muted-foreground/70",l.$attrs.class),role:"presentation","aria-hidden":"true"}),[e.renderSlot(l.$slots,"default",{},()=>[a[0]||(a[0]=e.createElementVNode("span",{class:"mdi mdi-chevron-right text-sm"},null,-1))])],16))}}),ui=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumbEllipsis",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("span",e.mergeProps({...l.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb-ellipsis inline-flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground/70",l.$attrs.class)}),[e.renderSlot(l.$slots,"default",{},()=>[a[0]||(a[0]=e.createElementVNode("span",{class:"mdi mdi-dots-horizontal","aria-hidden":"true"},null,-1)),a[1]||(a[1]=e.createElementVNode("span",{class:"sr-only"},"More breadcrumb items",-1))])],16))}}),mi={key:0,class:"shrink-0"},fi={key:0,class:"w-10 h-10 rounded-full overflow-hidden ring-2 ring-border"},pi=["src","alt"],gi={key:1,class:"w-10 h-10 rounded-full bg-accent flex items-center justify-center text-sm font-semibold text-muted-foreground"},bi={key:2,class:"w-10 h-10 rounded-xl bg-primary/15 flex items-center justify-center"},hi={class:"flex-1 min-w-0"},yi={key:0,class:"text-base font-semibold text-foreground leading-tight truncate"},ki={key:0,class:"text-sm text-muted-foreground mt-0.5 truncate"},xi={key:1,class:"shrink-0 flex items-center gap-2"},wi=le(e.defineComponent({inheritAttrs:!1,__name:"SCardHeader",props:{title:{default:void 0},subtitle:{default:void 0},avatar:{default:void 0},avatarFallback:{default:void 0},icon:{default:void 0},iconColor:{default:"var(--s-primary)"},divider:{type:Boolean,default:!1},layout:{default:"horizontal"},align:{default:"start"},padding:{}},setup(t){const l=t;e.inject(Ge,{variant:"elevated",hoverable:!1,loading:!1,horizontal:!1});const a=e.computed(()=>l.layout==="vertical"?{start:"items-start text-left",center:"items-center text-center",end:"items-end text-right"}[l.align]:""),o=e.computed(()=>{const n={};return l.padding&&(n.padding=l.padding),n});return(n,r)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(n.$attrs,{class:e.unref(j)("s-card-header",{"flex items-center gap-3":t.layout==="horizontal","flex flex-col gap-2":t.layout==="vertical","pb-4 border-b border-border":t.divider},a.value,n.$attrs.class),style:o.value}),[t.avatar||t.avatarFallback||t.icon||n.$slots.avatar?(e.openBlock(),e.createElementBlock("div",mi,[e.renderSlot(n.$slots,"avatar",{},()=>[t.avatar?(e.openBlock(),e.createElementBlock("div",fi,[e.createElementVNode("img",{src:t.avatar,alt:t.title||"Avatar",class:"w-full h-full object-cover"},null,8,pi)])):t.avatarFallback?(e.openBlock(),e.createElementBlock("div",gi,e.toDisplayString(t.avatarFallback),1)):t.icon?(e.openBlock(),e.createElementBlock("div",bi,[e.unref(ye)(t.icon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:0,style:e.normalizeStyle({color:t.iconColor})},null,8,["style"])):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi text-xl",`mdi-${t.icon}`]),style:e.normalizeStyle({color:t.iconColor})},null,6))])):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",hi,[e.renderSlot(n.$slots,"title",{},()=>[t.title?(e.openBlock(),e.createElementBlock("h3",yi,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0)],!0),e.renderSlot(n.$slots,"subtitle",{},()=>[t.subtitle?(e.openBlock(),e.createElementBlock("p",ki,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)],!0)]),n.$slots.actions?(e.openBlock(),e.createElementBlock("div",xi,[e.renderSlot(n.$slots,"actions",{},void 0,!0)])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default",{},void 0,!0)],16))}}),[["__scopeId","data-v-5f17bf33"]]),Ci={key:0,class:"space-y-3 animate-pulse"},Bi=le(e.defineComponent({inheritAttrs:!1,__name:"SCardContent",props:{padding:{default:void 0},align:{default:"left"},maxHeight:{default:void 0},skeleton:{type:Boolean,default:!1},skeletonLines:{default:3}},setup(t){const l=t,a=e.inject(Ge,{variant:"elevated",hoverable:!1,loading:!1,horizontal:!1}),o=e.computed(()=>({left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"})[l.align]),n=e.computed(()=>{const s={};return l.padding&&(s.padding=l.padding),l.maxHeight&&(s.maxHeight=l.maxHeight,s.overflowY="auto"),s}),r=e.computed(()=>{const s=["100%","80%","90%","70%","85%","75%","95%"];return Array.from({length:l.skeletonLines},(i,c)=>s[c%s.length])});return(s,i)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(s.$attrs,{class:e.unref(j)("s-card-content text-muted-foreground",o.value,s.$attrs.class),style:n.value}),[t.skeleton||e.unref(a).loading?(e.openBlock(),e.createElementBlock("div",Ci,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(c,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:"h-4 bg-accent rounded",style:e.normalizeStyle({width:c})},null,4))),128))])):e.renderSlot(s.$slots,"default",{key:1},void 0,!0)],16))}}),[["__scopeId","data-v-5275ff4c"]]),Si=le(e.defineComponent({inheritAttrs:!1,__name:"SCardFooter",props:{divider:{type:Boolean,default:!1},justify:{default:"end"},align:{default:"center"},gap:{default:"md"},padding:{default:void 0},stackOnMobile:{type:Boolean,default:!1}},setup(t){const l=t;e.inject(Ge,{variant:"elevated",hoverable:!1,loading:!1,horizontal:!1});const a=e.computed(()=>({start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"})[l.justify]),o=e.computed(()=>({start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"})[l.align]),n=e.computed(()=>({none:"gap-0",sm:"gap-2",md:"gap-3",lg:"gap-4"})[l.gap]),r=e.computed(()=>{const s={};return l.padding&&(s.padding=l.padding),s});return(s,i)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(s.$attrs,{class:e.unref(j)("s-card-footer flex flex-wrap",a.value,o.value,n.value,{"pt-4 mt-4 border-t border-border":t.divider,"flex-col sm:flex-row":t.stackOnMobile},s.$attrs.class),style:r.value}),[e.renderSlot(s.$slots,"default",{},void 0,!0)],16))}}),[["__scopeId","data-v-2f119c83"]]),$i={key:0,class:"absolute inset-0 bg-accent animate-pulse"},vi=["src","alt"],Ei=["src","alt","loading"],zi=["src","autoplay","loop","muted","controls"],Vi={key:4,class:"absolute inset-0 flex flex-col items-center justify-center bg-accent text-muted-foreground"},Ni={key:6,class:"absolute inset-0 flex items-center justify-center p-4"},Ti={key:7,class:"absolute top-3 right-3 z-10"},Mi=le(e.defineComponent({inheritAttrs:!1,__name:"SCardMedia",props:{src:{default:void 0},video:{default:void 0},alt:{default:""},ratio:{default:"auto"},height:{default:void 0},fit:{default:"cover"},zoom:{type:Boolean,default:!1},zoomScale:{default:1.1},overlay:{default:void 0},overlayOpacity:{default:.5},overlayMode:{default:"always"},position:{default:"top"},rounded:{default:"inherit"},autoplay:{type:Boolean,default:!1},loop:{type:Boolean,default:!0},muted:{type:Boolean,default:!0},controls:{type:Boolean,default:!1},lazy:{type:Boolean,default:!0},placeholder:{default:void 0},skeleton:{type:Boolean,default:!1}},setup(t){const l=t,a=e.inject(Ge,{variant:"elevated",hoverable:!1,loading:!1,horizontal:!1}),o=e.ref(!l.lazy),n=e.ref(!1),r=e.ref(!1),s=e.computed(()=>l.height||l.ratio==="auto"?"":{"1/1":"aspect-square","4/3":"aspect-[4/3]","16/9":"aspect-video","21/9":"aspect-[21/9]","3/4":"aspect-[3/4]","9/16":"aspect-[9/16]",auto:""}[l.ratio]),i=e.computed(()=>({cover:"object-cover",contain:"object-contain",fill:"object-fill",none:"object-none","scale-down":"object-scale-down"})[l.fit]),c=e.computed(()=>({none:"rounded-none",inherit:"",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",xl:"rounded-xl"})[l.rounded]),d=e.computed(()=>({top:"-mx-4 -mt-4 sm:-mx-5 sm:-mt-5 mb-4",bottom:"-mx-4 -mb-4 sm:-mx-5 sm:-mb-5 mt-4",left:"",right:"",background:"absolute inset-0 -z-10"})[l.position]),u=e.computed(()=>{const p={};return l.height&&(p.height=l.height),p}),f=e.computed(()=>l.overlay?{background:(l.overlay.includes("gradient"),l.overlay),opacity:String(l.overlayOpacity)}:{}),g=()=>{o.value=!0},m=()=>{r.value=!0,o.value=!0};return(p,h)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(p.$attrs,{class:e.unref(j)("s-card-media relative overflow-hidden",s.value,c.value,d.value,{"rounded-t-lg":t.position==="top"&&t.rounded==="inherit","rounded-b-lg":t.position==="bottom"&&t.rounded==="inherit","w-1/3 shrink-0":e.unref(a).horizontal&&(t.position==="left"||t.position==="right")},p.$attrs.class),style:u.value,onMouseenter:h[0]||(h[0]=x=>n.value=!0),onMouseleave:h[1]||(h[1]=x=>n.value=!1)}),[t.skeleton||e.unref(a).loading||!o.value&&!r.value?(e.openBlock(),e.createElementBlock("div",$i,[...h[2]||(h[2]=[e.createElementVNode("div",{class:"absolute inset-0 s-card-media-shimmer"},null,-1)])])):e.createCommentVNode("",!0),t.placeholder&&!o.value?(e.openBlock(),e.createElementBlock("img",{key:1,src:t.placeholder,alt:t.alt,class:e.normalizeClass(["absolute inset-0 w-full h-full blur-lg scale-110",i.value])},null,10,vi)):e.createCommentVNode("",!0),t.src&&!r.value?(e.openBlock(),e.createElementBlock("img",{key:2,src:t.src,alt:t.alt,loading:t.lazy?"lazy":"eager",class:e.normalizeClass(["w-full h-full transition-all duration-500",[i.value,{"opacity-0":!o.value,"opacity-100":o.value,"scale-100":!n.value||!t.zoom,"scale-110":n.value&&t.zoom}]]),style:e.normalizeStyle({transform:t.zoom&&n.value?`scale(${t.zoomScale})`:void 0}),onLoad:g,onError:m},null,46,Ei)):e.createCommentVNode("",!0),t.video?(e.openBlock(),e.createElementBlock("video",{key:3,src:t.video,autoplay:t.autoplay,loop:t.loop,muted:t.muted,controls:t.controls,playsinline:"",class:e.normalizeClass(["w-full h-full transition-transform duration-500",[i.value,{"scale-100":!n.value||!t.zoom,"scale-110":n.value&&t.zoom}]]),onLoadeddata:g,onError:m},null,42,zi)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock("div",Vi,[...h[3]||(h[3]=[e.createElementVNode("span",{class:"mdi mdi-image-broken-variant text-4xl mb-2"},null,-1),e.createElementVNode("span",{class:"text-sm"},"Failed to load media",-1)])])):e.createCommentVNode("",!0),t.overlay||p.$slots.overlay?(e.openBlock(),e.createElementBlock("div",{key:5,class:e.normalizeClass(["absolute inset-0 flex items-end transition-opacity duration-300",{"opacity-0":t.overlayMode==="hover"&&!n.value,"opacity-100":t.overlayMode==="always"||n.value}]),style:e.normalizeStyle(f.value)},[e.renderSlot(p.$slots,"overlay",{},void 0,!0)],6)):e.createCommentVNode("",!0),p.$slots.default?(e.openBlock(),e.createElementBlock("div",Ni,[e.renderSlot(p.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0),p.$slots.badge?(e.openBlock(),e.createElementBlock("div",Ti,[e.renderSlot(p.$slots,"badge",{},void 0,!0)])):e.createCommentVNode("",!0),p.$slots.actions?(e.openBlock(),e.createElementBlock("div",{key:8,class:e.normalizeClass(["absolute bottom-0 left-0 right-0 p-4 bg-gradient-to-t from-black/60 to-transparent transition-opacity duration-300",{"opacity-0":t.overlayMode==="hover"&&!n.value,"opacity-100":t.overlayMode==="always"||n.value}])},[e.renderSlot(p.$slots,"actions",{},void 0,!0)],2)):e.createCommentVNode("",!0)],16))}}),[["__scopeId","data-v-c3c12fa8"]]),Di=le(e.defineComponent({inheritAttrs:!1,__name:"SCardActions",props:{justify:{default:"start"},align:{default:"center"},gap:{default:"sm"},direction:{default:"row"},padding:{default:void 0},fullWidth:{type:Boolean,default:!1},stackOnMobile:{type:Boolean,default:!1},reverse:{type:Boolean,default:!1}},setup(t){const l=t;e.inject(Ge,{variant:"elevated",hoverable:!1,loading:!1,horizontal:!1});const a=e.computed(()=>({start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"})[l.justify]),o=e.computed(()=>({start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"})[l.align]),n=e.computed(()=>({none:"gap-0",xs:"gap-1",sm:"gap-2",md:"gap-3",lg:"gap-4"})[l.gap]),r=e.computed(()=>l.stackOnMobile?l.direction==="row"?l.reverse?"flex-col-reverse sm:flex-row-reverse":"flex-col sm:flex-row":l.reverse?"flex-row-reverse sm:flex-col-reverse":"flex-row sm:flex-col":{row:l.reverse?"flex-row-reverse":"flex-row",column:l.reverse?"flex-col-reverse":"flex-col"}[l.direction]),s=e.computed(()=>{const i={};return l.padding&&(i.padding=l.padding),i});return(i,c)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(i.$attrs,{class:e.unref(j)("s-card-actions flex flex-wrap",a.value,o.value,n.value,r.value,{"w-full":t.fullWidth},i.$attrs.class),style:s.value}),[e.renderSlot(i.$slots,"default",{},void 0,!0)],16))}}),[["__scopeId","data-v-b2887d81"]]),Pi=le(e.defineComponent({inheritAttrs:!1,__name:"SGlassCard",props:{size:{default:"default"},rounded:{default:"lg"},hoverable:{type:Boolean,default:!1},pressable:{type:Boolean,default:!1},clickable:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},spotlight:{type:Boolean,default:!1},spotlightColor:{default:"var(--s-primary)"},horizontal:{type:Boolean,default:!1},mediaRight:{type:Boolean,default:!1},width:{default:void 0},height:{default:void 0},maxWidth:{default:void 0},padding:{default:void 0},tilt:{type:Boolean,default:!1},tag:{default:"div"},href:{default:void 0},to:{default:void 0},tint:{default:"auto"},blur:{default:12},saturation:{default:150},highlightIntensity:{default:.3},color:{default:void 0}},emits:["click"],setup(t,{expose:l,emit:a}){const o=t,n=a;e.provide(Ge,{variant:"glass",hoverable:o.hoverable,loading:o.loading,horizontal:o.horizontal});const{theme:r}=ho(),s=e.ref(!1);let i=null;e.onMounted(()=>{if(typeof window<"u"){i=window.matchMedia("(prefers-color-scheme: dark)"),s.value=i.matches;const I=z=>{s.value=z.matches};i.addEventListener("change",I),e.onUnmounted(()=>i?.removeEventListener("change",I))}if(typeof document<"u"&&!document.getElementById("s-glass-filters")){const I=document.createElement("canvas"),z=256,Q=256;I.width=z,I.height=Q;const J=I.getContext("2d"),ae=J.createImageData(z,Q),k=.7;for(let N=0;N<Q;N++)for(let D=0;D<z;D++){const V=D/(z-1)*2-1,v=N/(Q-1)*2-1,E=1-Math.abs(V),te=1-Math.abs(v),oe=Math.pow(E,1.5)*Math.pow(te,1.5),re=Math.round(128+V*k*oe*127),U=Math.round(128+v*k*oe*127),M=(N*z+D)*4;ae.data[M]=re,ae.data[M+1]=U,ae.data[M+2]=128,ae.data[M+3]=255}J.putImageData(ae,0,0);const b=I.toDataURL("image/png"),w=document.createElementNS("http://www.w3.org/2000/svg","svg");w.id="s-glass-filters",w.setAttribute("style","position:absolute;width:0;height:0;overflow:hidden;pointer-events:none"),w.setAttribute("aria-hidden","true"),w.innerHTML=`<defs>
27
+ linear-gradient(to right, #fff, ${n.value})`})),s=e.computed(()=>({left:`${l?.hsva.value.s??0}%`,top:`${100-(l?.hsva.value.v??0)}%`}));function i(h){if(!a.value||!l)return;const x=a.value.getBoundingClientRect(),y=Math.max(0,Math.min(h.clientX-x.left,x.width)),S=Math.max(0,Math.min(h.clientY-x.top,x.height));l.hsva.value.s=y/x.width*100,l.hsva.value.v=100-S/x.height*100,l.emitInput()}function c(h){if(!a.value||!l||!h.touches[0])return;const x=a.value.getBoundingClientRect(),y=Math.max(0,Math.min(h.touches[0].clientX-x.left,x.width)),S=Math.max(0,Math.min(h.touches[0].clientY-x.top,x.height));l.hsva.value.s=y/x.width*100,l.hsva.value.v=100-S/x.height*100,l.emitInput()}function d(h){l?.disabled.value||l?.readonly.value||(o.value=!0,i(h),document.addEventListener("mousemove",f),document.addEventListener("mouseup",m))}function u(h){l?.disabled.value||l?.readonly.value||(h.preventDefault(),o.value=!0,c(h),document.addEventListener("touchmove",g,{passive:!1}),document.addEventListener("touchend",p))}function f(h){o.value&&i(h)}function g(h){o.value&&(h.preventDefault(),c(h))}function m(){o.value=!1,document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",m),l?.emitChange()}function p(){o.value=!1,document.removeEventListener("touchmove",g),document.removeEventListener("touchend",p),l?.emitChange()}return e.onBeforeUnmount(()=>{document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",m),document.removeEventListener("touchmove",g),document.removeEventListener("touchend",p)}),(h,x)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"spectrumRef",ref:a,class:e.normalizeClass(["s-color-picker__spectrum w-full",e.unref(l)?.sizeConfig.value?.spectrumHeight]),style:e.normalizeStyle(r.value),onMousedown:d,onTouchstart:u},[e.createElementVNode("div",{class:e.normalizeClass(["s-color-picker__spectrum-cursor",{"s-color-picker__spectrum-cursor--dragging":o.value}]),style:e.normalizeStyle(s.value)},[e.createElementVNode("div",{class:"s-color-picker__spectrum-cursor-inner",style:e.normalizeStyle({backgroundColor:e.unref(l)?.currentHex.value})},null,4)],6)],38))}}),[["__scopeId","data-v-a6a633d1"]]),$t=le(e.defineComponent({__name:"SColorPickerHueSlider",setup(t){const l=e.inject(ve);l||console.warn("[SColorPickerHueSlider] Must be used inside SColorPicker");const a=e.ref(null),o=e.ref(!1),n=e.computed(()=>({left:`${(l?.hsva.value.h??0)/360*100}%`}));function r(m){if(!a.value||!l)return;const p=a.value.getBoundingClientRect(),h=Math.max(0,Math.min(m.clientX-p.left,p.width));l.hsva.value.h=h/p.width*360,l.emitInput()}function s(m){if(!a.value||!l||!m.touches[0])return;const p=a.value.getBoundingClientRect(),h=Math.max(0,Math.min(m.touches[0].clientX-p.left,p.width));l.hsva.value.h=h/p.width*360,l.emitInput()}function i(m){l?.disabled.value||l?.readonly.value||(o.value=!0,r(m),document.addEventListener("mousemove",d),document.addEventListener("mouseup",f))}function c(m){l?.disabled.value||l?.readonly.value||(m.preventDefault(),o.value=!0,s(m),document.addEventListener("touchmove",u,{passive:!1}),document.addEventListener("touchend",g))}function d(m){o.value&&r(m)}function u(m){o.value&&(m.preventDefault(),s(m))}function f(){o.value=!1,document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",f),l?.emitChange()}function g(){o.value=!1,document.removeEventListener("touchmove",u),document.removeEventListener("touchend",g),l?.emitChange()}return e.onBeforeUnmount(()=>{document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",f),document.removeEventListener("touchmove",u),document.removeEventListener("touchend",g)}),(m,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"sliderRef",ref:a,class:e.normalizeClass(["s-color-picker__slider s-color-picker__slider--hue",e.unref(l)?.sizeConfig.value?.slider]),onMousedown:i,onTouchstart:c},[e.createElementVNode("div",{class:e.normalizeClass(["s-color-picker__slider-cursor",{"s-color-picker__slider-cursor--dragging":o.value}]),style:e.normalizeStyle(n.value)},null,6)],34))}}),[["__scopeId","data-v-ab3e7411"]]),vt=le(e.defineComponent({__name:"SColorPickerAlphaSlider",setup(t){const l=e.inject(ve);l||console.warn("[SColorPickerAlphaSlider] Must be used inside SColorPicker");const a=e.ref(null),o=e.ref(!1),n=e.computed(()=>({left:`${(l?.hsva.value.a??1)*100}%`})),r=e.computed(()=>{if(!l)return"";const{r:p,g:h,b:x}=l.currentRgb.value;return`linear-gradient(to right, transparent, rgb(${p}, ${h}, ${x}))`});function s(p){if(!a.value||!l)return;const h=a.value.getBoundingClientRect(),x=Math.max(0,Math.min(p.clientX-h.left,h.width));l.hsva.value.a=x/h.width,l.emitInput()}function i(p){if(!a.value||!l||!p.touches[0])return;const h=a.value.getBoundingClientRect(),x=Math.max(0,Math.min(p.touches[0].clientX-h.left,h.width));l.hsva.value.a=x/h.width,l.emitInput()}function c(p){l?.disabled.value||l?.readonly.value||(o.value=!0,s(p),document.addEventListener("mousemove",u),document.addEventListener("mouseup",g))}function d(p){l?.disabled.value||l?.readonly.value||(p.preventDefault(),o.value=!0,i(p),document.addEventListener("touchmove",f,{passive:!1}),document.addEventListener("touchend",m))}function u(p){o.value&&s(p)}function f(p){o.value&&(p.preventDefault(),i(p))}function g(){o.value=!1,document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",g),l?.emitChange()}function m(){o.value=!1,document.removeEventListener("touchmove",f),document.removeEventListener("touchend",m),l?.emitChange()}return e.onBeforeUnmount(()=>{document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",g),document.removeEventListener("touchmove",f),document.removeEventListener("touchend",m)}),(p,h)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"sliderRef",ref:a,class:e.normalizeClass(["s-color-picker__slider s-color-picker__slider--alpha",e.unref(l)?.sizeConfig.value?.slider]),onMousedown:c,onTouchstart:d},[h[0]||(h[0]=e.createElementVNode("div",{class:"s-color-picker__slider-alpha-bg"},null,-1)),e.createElementVNode("div",{class:"s-color-picker__slider-alpha-gradient",style:e.normalizeStyle({background:r.value})},null,4),e.createElementVNode("div",{class:e.normalizeClass(["s-color-picker__slider-cursor",{"s-color-picker__slider-cursor--dragging":o.value}]),style:e.normalizeStyle(n.value)},null,6)],34))}}),[["__scopeId","data-v-5164991d"]]),wr={class:"s-color-picker__preview"},Et=le(e.defineComponent({__name:"SColorPickerPreview",setup(t){const l=e.inject(ve);l||console.warn("[SColorPickerPreview] Must be used inside SColorPicker");const a=e.computed(()=>{if(!l)return"#000";if(l.showAlpha.value){const{r:o,g:n,b:r}=l.currentRgb.value;return`rgba(${o}, ${n}, ${r}, ${l.hsva.value.a})`}return l.currentHex.value});return(o,n)=>(e.openBlock(),e.createElementBlock("div",wr,[e.createElementVNode("div",{class:"s-color-picker__preview-color",style:e.normalizeStyle({backgroundColor:a.value})},null,4)]))}}),[["__scopeId","data-v-1a4eaf85"]]),Cr=["disabled"],zt=le(e.defineComponent({__name:"SColorPickerEyeDropper",setup(t){const l=e.inject(ve);l||console.warn("[SColorPickerEyeDropper] Must be used inside SColorPicker");const a=e.ref(!1);e.onMounted(()=>{a.value=typeof window<"u"&&"EyeDropper"in window});async function o(){if(!(l?.disabled.value||l?.readonly.value||!a.value))try{const r=await new EyeDropper().open();l?.parseColor(r.sRGBHex),l?.emitChange()}catch{}}return(n,r)=>a.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"s-color-picker__tool-btn",title:"Pick color from screen",disabled:e.unref(l)?.disabled.value||e.unref(l)?.readonly.value,onClick:o},[e.renderSlot(n.$slots,"default",{},()=>[r[0]||(r[0]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e.createElementVNode("path",{d:"m2 22 1-1h3l9-9"}),e.createElementVNode("path",{d:"M3 21v-3l9-9"}),e.createElementVNode("path",{d:"m15 6 3.4-3.4a2.1 2.1 0 1 1 3 3L18 9l.4.4a2.1 2.1 0 1 1-3 3l-3.8-3.8a2.1 2.1 0 1 1 3-3l.4.4Z"})],-1))],!0)],8,Cr)):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-f8566df2"]]),Br={key:0,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Sr={key:1,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Vt=le(e.defineComponent({__name:"SColorPickerCopy",setup(t){const l=e.inject(ve);l||console.warn("[SColorPickerCopy] Must be used inside SColorPicker");const a=e.ref(!1);async function o(){if(l)try{await navigator.clipboard.writeText(l.displayValue.value),a.value=!0,setTimeout(()=>a.value=!1,1500)}catch{const n=document.createElement("textarea");n.value=l.displayValue.value,document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n),a.value=!0,setTimeout(()=>a.value=!1,1500)}}return(n,r)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:e.normalizeClass(["s-color-picker__tool-btn",{"s-color-picker__tool-btn--copied":a.value}]),title:"Copy color",onClick:o},[e.renderSlot(n.$slots,"default",{copied:a.value},()=>[a.value?(e.openBlock(),e.createElementBlock("svg",Sr,[...r[1]||(r[1]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Br,[...r[0]||(r[0]=[e.createElementVNode("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"},null,-1),e.createElementVNode("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"},null,-1)])]))],!0)],2))}}),[["__scopeId","data-v-61a84c54"]]),$r={key:0,class:"s-color-picker__inputs"},vr={class:"s-color-picker__format-toggle"},Er={key:0,class:"s-color-picker__input-group s-color-picker__input-group--hex"},zr=["disabled"],Vr={key:1,class:"s-color-picker__input-group s-color-picker__input-group--rgb"},Nr={class:"s-color-picker__input-field"},Tr=["disabled"],Mr={class:"s-color-picker__input-field"},Dr=["disabled"],Pr={class:"s-color-picker__input-field"},Ar=["disabled"],Ir={key:0,class:"s-color-picker__input-field"},Rr=["disabled"],Lr={key:2,class:"s-color-picker__input-group s-color-picker__input-group--hsl"},Fr={class:"s-color-picker__input-field"},jr=["disabled"],Or={class:"s-color-picker__input-field"},Hr=["disabled"],Wr={class:"s-color-picker__input-field"},Kr=["disabled"],Ur={key:0,class:"s-color-picker__input-field"},Gr=["disabled"],Nt=le(e.defineComponent({__name:"SColorPickerInputs",setup(t){const l=e.inject(ve);l||console.warn("[SColorPickerInputs] Must be used inside SColorPicker");const a=e.ref(""),o=e.ref({r:0,g:0,b:0,a:100}),n=e.ref({h:0,s:0,l:0,a:100});e.watch([()=>l?.currentHex.value,()=>l?.currentRgb.value,()=>l?.currentHsl.value],()=>{l&&(a.value=l.currentHex.value.toUpperCase(),o.value={r:l.currentRgb.value.r,g:l.currentRgb.value.g,b:l.currentRgb.value.b,a:Math.round(l.hsva.value.a*100)},n.value={h:l.currentHsl.value.h,s:l.currentHsl.value.s,l:l.currentHsl.value.l,a:Math.round(l.hsva.value.a*100)})},{immediate:!0});function r(){if(!l)return;const c=a.value.startsWith("#")?a.value:"#"+a.value;/^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$/.test(c)&&(l.parseColor(c),l.emitChange())}function s(){if(!l)return;const{r:c,g:d,b:u,a:f}=o.value;if(c>=0&&c<=255&&d>=0&&d<=255&&u>=0&&u<=255){const g=l.rgbToHsv(c,d,u);l.hsva.value={...g,a:f/100},l.emitChange()}}function i(){if(!l)return;const{h:c,s:d,l:u,a:f}=n.value;if(c>=0&&c<=360&&d>=0&&d<=100&&u>=0&&u<=100){const g=d/100,m=u/100,p=m+g*Math.min(m,1-m),h=p===0?0:2*(1-m/p);l.hsva.value={h:c,s:h*100,v:p*100,a:f/100},l.emitChange()}}return(c,d)=>e.unref(l)?(e.openBlock(),e.createElementBlock("div",$r,[e.createElementVNode("div",vr,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["s-color-picker__format-btn",e.unref(l).sizeConfig.value?.input]),onClick:d[0]||(d[0]=u=>e.unref(l).cycleFormat())},e.toDisplayString(e.unref(l).activeFormat.value.toUpperCase()),3)]),e.unref(l).activeFormat.value==="hex"?(e.openBlock(),e.createElementBlock("div",Er,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[1]||(d[1]=u=>a.value=u),type:"text",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,maxlength:"9",onBlur:r,onKeydown:e.withKeys(r,["enter"])},null,42,zr),[[e.vModelText,a.value]])])):e.createCommentVNode("",!0),e.unref(l).activeFormat.value==="rgb"?(e.openBlock(),e.createElementBlock("div",Vr,[e.createElementVNode("div",Nr,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[2]||(d[2]=u=>o.value.r=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"255",onBlur:s,onKeydown:e.withKeys(s,["enter"])},null,42,Tr),[[e.vModelText,o.value.r,void 0,{number:!0}]]),d[10]||(d[10]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"R",-1))]),e.createElementVNode("div",Mr,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[3]||(d[3]=u=>o.value.g=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"255",onBlur:s,onKeydown:e.withKeys(s,["enter"])},null,42,Dr),[[e.vModelText,o.value.g,void 0,{number:!0}]]),d[11]||(d[11]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"G",-1))]),e.createElementVNode("div",Pr,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[4]||(d[4]=u=>o.value.b=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"255",onBlur:s,onKeydown:e.withKeys(s,["enter"])},null,42,Ar),[[e.vModelText,o.value.b,void 0,{number:!0}]]),d[12]||(d[12]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"B",-1))]),e.unref(l).showAlpha.value?(e.openBlock(),e.createElementBlock("div",Ir,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[5]||(d[5]=u=>o.value.a=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"100",onBlur:s,onKeydown:e.withKeys(s,["enter"])},null,42,Rr),[[e.vModelText,o.value.a,void 0,{number:!0}]]),d[13]||(d[13]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"A",-1))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.unref(l).activeFormat.value==="hsl"?(e.openBlock(),e.createElementBlock("div",Lr,[e.createElementVNode("div",Fr,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[6]||(d[6]=u=>n.value.h=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"360",onBlur:i,onKeydown:e.withKeys(i,["enter"])},null,42,jr),[[e.vModelText,n.value.h,void 0,{number:!0}]]),d[14]||(d[14]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"H",-1))]),e.createElementVNode("div",Or,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[7]||(d[7]=u=>n.value.s=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"100",onBlur:i,onKeydown:e.withKeys(i,["enter"])},null,42,Hr),[[e.vModelText,n.value.s,void 0,{number:!0}]]),d[15]||(d[15]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"S",-1))]),e.createElementVNode("div",Wr,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[8]||(d[8]=u=>n.value.l=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"100",onBlur:i,onKeydown:e.withKeys(i,["enter"])},null,42,Kr),[[e.vModelText,n.value.l,void 0,{number:!0}]]),d[16]||(d[16]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"L",-1))]),e.unref(l).showAlpha.value?(e.openBlock(),e.createElementBlock("div",Ur,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":d[9]||(d[9]=u=>n.value.a=u),type:"number",class:e.normalizeClass(["s-color-picker__input",e.unref(l).sizeConfig.value?.input]),disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,min:"0",max:"100",onBlur:i,onKeydown:e.withKeys(i,["enter"])},null,42,Gr),[[e.vModelText,n.value.a,void 0,{number:!0}]]),d[17]||(d[17]=e.createElementVNode("span",{class:"s-color-picker__input-label"},"A",-1))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-c02ada6d"]]),qr={key:0,class:"s-color-picker__presets"},Yr={class:"s-color-picker__presets-label"},Xr={class:"s-color-picker__swatches"},Jr=["title","disabled","onClick"],Tt=le(e.defineComponent({__name:"SColorPickerPresets",props:{presets:{default:()=>["#ef4444","#f97316","#f59e0b","#eab308","#84cc16","#22c55e","#10b981","#14b8a6","#06b6d4","#0ea5e9","#3b82f6","#6366f1","#8b5cf6","#a855f7","#d946ef","#ec4899","#f43f5e","#000000","#ffffff","#6b7280"]},label:{default:"Presets"}},setup(t){const l=e.inject(ve);return l||console.warn("[SColorPickerPresets] Must be used inside SColorPicker"),(a,o)=>e.unref(l)&&t.presets.length?(e.openBlock(),e.createElementBlock("div",qr,[e.createElementVNode("div",Yr,e.toDisplayString(t.label),1),e.createElementVNode("div",Xr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.presets,n=>(e.openBlock(),e.createElementBlock("button",{key:n,type:"button",class:e.normalizeClass(["s-color-picker__swatch",[e.unref(l).sizeConfig.value?.swatch,{"s-color-picker__swatch--active":e.unref(l).currentHex.value.toUpperCase()===n.toUpperCase()}]]),style:e.normalizeStyle({backgroundColor:n}),title:n,disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,onClick:r=>e.unref(l).selectPreset(n)},null,14,Jr))),128))])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-9c74d25d"]]),Zr={key:0,class:"s-color-picker__recent"},Qr={class:"s-color-picker__presets-label"},_r={class:"s-color-picker__swatches"},es=["title","disabled","onClick"],Mt=le(e.defineComponent({__name:"SColorPickerRecent",props:{label:{default:"Recent"}},setup(t){const l=e.inject(ve);return l||console.warn("[SColorPickerRecent] Must be used inside SColorPicker"),(a,o)=>e.unref(l)&&e.unref(l).recentColors.value.length?(e.openBlock(),e.createElementBlock("div",Zr,[e.createElementVNode("div",Qr,e.toDisplayString(t.label),1),e.createElementVNode("div",_r,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l).recentColors.value,n=>(e.openBlock(),e.createElementBlock("button",{key:n,type:"button",class:e.normalizeClass(["s-color-picker__swatch",[e.unref(l).sizeConfig.value?.swatch,{"s-color-picker__swatch--active":e.unref(l).currentHex.value.toUpperCase()===n.toUpperCase()}]]),style:e.normalizeStyle({backgroundColor:n}),title:n,disabled:e.unref(l).disabled.value||e.unref(l).readonly.value,onClick:r=>e.unref(l).selectPreset(n)},null,14,es))),128))])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-63413e1c"]]),ts=["disabled"],os={class:"s-color-picker__trigger-value"},as=["disabled"],ls={key:1,class:"s-color-picker__sliders"},ns={key:2,class:"s-color-picker__preview-row"},rs={class:"s-color-picker__tools"},ve=Symbol("SColorPickerContext"),ss={components:{SColorPickerSpectrum:St,SColorPickerHueSlider:$t,SColorPickerAlphaSlider:vt,SColorPickerPreview:Et,SColorPickerEyeDropper:zt,SColorPickerCopy:Vt,SColorPickerInputs:Nt,SColorPickerPresets:Tt,SColorPickerRecent:Mt}},is=e.defineComponent({...ss,inheritAttrs:!1,__name:"SColorPicker",props:{modelValue:{default:"#3b82f6"},mode:{default:"inline"},format:{default:"hex"},showAlpha:{type:Boolean,default:!1},showSpectrum:{type:Boolean,default:!0},showSliders:{type:Boolean,default:!0},showPreview:{type:Boolean,default:!0},showInputs:{type:Boolean,default:!0},showPresets:{type:Boolean,default:!0},presets:{default:()=>["#ef4444","#f97316","#f59e0b","#eab308","#84cc16","#22c55e","#10b981","#14b8a6","#06b6d4","#0ea5e9","#3b82f6","#6366f1","#8b5cf6","#a855f7","#d946ef","#ec4899","#f43f5e","#000000","#ffffff","#6b7280"]},showEyeDropper:{type:Boolean,default:!0},showRecent:{type:Boolean,default:!0},maxRecent:{default:8},size:{default:"medium"},triggerStyle:{default:"button"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},label:{default:void 0}},emits:["update:modelValue","change","input"],setup(t,{emit:l}){const a=t,o=l,n=e.useSlots(),r=e.ref(!1),s=e.ref("hex"),i=e.ref([]),c=e.ref(null),d=e.ref({h:210,s:76,v:96,a:1}),u=e.computed(()=>({small:{panelWidth:"w-52 min-w-52 max-w-full",spectrumHeight:"h-32",slider:"h-3",swatch:"w-5 h-5",input:"text-xs px-2 py-1",label:"text-xs"},medium:{panelWidth:"w-72 min-w-64 max-w-full",spectrumHeight:"h-44",slider:"h-4",swatch:"w-6 h-6",input:"text-sm px-2.5 py-1.5",label:"text-sm"},large:{panelWidth:"w-80 min-w-72 max-w-full",spectrumHeight:"h-52",slider:"h-5",swatch:"w-7 h-7",input:"text-base px-3 py-2",label:"text-base"}})[a.size]);function f(k){const b=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(k);return b?{r:parseInt(b[1],16),g:parseInt(b[2],16),b:parseInt(b[3],16),a:b[4]?parseInt(b[4],16)/255:1}:{r:0,g:0,b:0,a:1}}function g(k,b,w,N){const D=v=>Math.round(v).toString(16).padStart(2,"0"),V=`#${D(k)}${D(b)}${D(w)}`;return N!==void 0&&N<1?V+D(N*255):V}function m(k,b,w){k/=255,b/=255,w/=255;const N=Math.max(k,b,w),D=Math.min(k,b,w),V=N-D;let v=0;const E=N===0?0:V/N*100,te=N*100;if(N!==D){switch(N){case k:v=(b-w)/V+(b<w?6:0);break;case b:v=(w-k)/V+2;break;case w:v=(k-b)/V+4;break}v*=60}return{h:v,s:E,v:te}}function p(k,b,w){b/=100,w/=100;const N=w*b,D=N*(1-Math.abs(k/60%2-1)),V=w-N;let v=0,E=0,te=0;return k>=0&&k<60?(v=N,E=D,te=0):k>=60&&k<120?(v=D,E=N,te=0):k>=120&&k<180?(v=0,E=N,te=D):k>=180&&k<240?(v=0,E=D,te=N):k>=240&&k<300?(v=D,E=0,te=N):(v=N,E=0,te=D),{r:Math.round((v+V)*255),g:Math.round((E+V)*255),b:Math.round((te+V)*255)}}function h(k,b,w){k/=255,b/=255,w/=255;const N=Math.max(k,b,w),D=Math.min(k,b,w);let V=0,v=0;const E=(N+D)/2;if(N!==D){const te=N-D;switch(v=E>.5?te/(2-N-D):te/(N+D),N){case k:V=((b-w)/te+(b<w?6:0))/6;break;case b:V=((w-k)/te+2)/6;break;case w:V=((k-b)/te+4)/6;break}}return{h:Math.round(V*360),s:Math.round(v*100),l:Math.round(E*100)}}const x=e.computed(()=>({...p(d.value.h,d.value.s,d.value.v),a:d.value.a})),y=e.computed(()=>{const{r:k,g:b,b:w}=x.value;return g(k,b,w,a.showAlpha?d.value.a:void 0)}),S=e.computed(()=>{const{r:k,g:b,b:w}=x.value;return{...h(k,b,w),a:d.value.a}}),R=e.computed(()=>{const{r:k,g:b,b:w,a:N}=x.value,{h:D,s:V,l:v}=S.value;switch(s.value){case"rgb":return a.showAlpha?`rgba(${k}, ${b}, ${w}, ${N.toFixed(2)})`:`rgb(${k}, ${b}, ${w})`;case"hsl":return a.showAlpha?`hsla(${D}, ${V}%, ${v}%, ${N.toFixed(2)})`:`hsl(${D}, ${V}%, ${v}%)`;default:return y.value.toUpperCase()}}),H=e.computed(()=>{const{r:k,g:b,b:w,a:N}=x.value,{h:D,s:V,l:v}=S.value;switch(a.format){case"rgb":return a.showAlpha?`rgba(${k}, ${b}, ${w}, ${N.toFixed(2)})`:`rgb(${k}, ${b}, ${w})`;case"hsl":return a.showAlpha?`hsla(${D}, ${V}%, ${v}%, ${N.toFixed(2)})`:`hsl(${D}, ${V}%, ${v}%)`;default:return y.value.toUpperCase()}});function X(k){if(!k)return;if(k.startsWith("#")){const N=f(k),D=m(N.r,N.g,N.b);d.value={...D,a:N.a};return}const b=k.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/);if(b){const N=parseInt(b[1]),D=parseInt(b[2]),V=parseInt(b[3]),v=b[4]?parseFloat(b[4]):1,E=m(N,D,V);d.value={...E,a:v};return}const w=k.match(/hsla?\((\d+),\s*(\d+)%?,\s*(\d+)%?(?:,\s*([\d.]+))?\)/);if(w){const N=parseInt(w[1]),D=parseInt(w[2]),V=parseInt(w[3]),v=w[4]?parseFloat(w[4]):1,E=D/100,te=V/100,oe=te+E*Math.min(te,1-te),re=oe===0?0:2*(1-te/oe);d.value={h:N,s:re*100,v:oe*100,a:v}}}e.watch(()=>a.modelValue,k=>{k&&X(k)},{immediate:!0});function $(){o("update:modelValue",H.value),o("change",H.value),Z(y.value)}function K(){o("input",H.value)}function A(k){a.disabled||a.readonly||(X(k),$())}function Z(k){const b=k.toUpperCase();i.value=[b,...i.value.filter(w=>w!==b)].slice(0,a.maxRecent);try{localStorage.setItem("s-color-picker-recent",JSON.stringify(i.value))}catch{}}function G(){try{const k=localStorage.getItem("s-color-picker-recent");k&&(i.value=JSON.parse(k))}catch{}}function I(){const k=["hex","rgb","hsl"],b=k.indexOf(s.value);s.value=k[(b+1)%k.length]}function z(){a.disabled||(r.value=!r.value)}function Q(k){if(a.mode!=="dropdown"||!r.value)return;const b=k.target;c.value&&!c.value.contains(b)&&(r.value=!1)}const J=e.computed(()=>!!n.default),ae={hsva:d,currentRgb:x,currentHex:y,currentHsl:S,displayValue:R,activeFormat:s,recentColors:i,showAlpha:e.computed(()=>a.showAlpha),disabled:e.computed(()=>a.disabled),readonly:e.computed(()=>a.readonly),size:e.computed(()=>a.size),sizeConfig:u,parseColor:X,emitChange:$,emitInput:K,cycleFormat:I,selectPreset:A,addToRecent:Z,hsvToRgb:p,rgbToHsv:m,rgbToHsl:h,hexToRgb:f,rgbToHex:g};return e.provide(ve,ae),e.onMounted(()=>{G(),document.addEventListener("click",Q)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",Q)}),(k,b)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({ref_key:"containerRef",ref:c},k.$attrs,{class:e.unref(j)("s-color-picker",`s-color-picker--${t.size}`,{"s-color-picker--disabled":t.disabled,"s-color-picker--readonly":t.readonly})}),[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(["s-color-picker__label",u.value.label])},e.toDisplayString(t.label),3)):e.createCommentVNode("",!0),t.mode==="dropdown"&&k.$slots.trigger?(e.openBlock(),e.createElementBlock("div",{key:1,class:"s-color-picker__trigger-custom",onClick:e.withModifiers(z,["stop"])},[e.renderSlot(k.$slots,"trigger",{color:y.value,displayValue:R.value,rgb:x.value,hsl:S.value,isOpen:r.value,toggle:z,disabled:t.disabled},void 0,!0)])):e.createCommentVNode("",!0),t.mode==="dropdown"&&!k.$slots.trigger&&t.triggerStyle==="button"&&!J.value?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:e.normalizeClass(["s-color-picker__trigger",u.value.input]),disabled:t.disabled,onClick:e.withModifiers(z,["stop"])},[e.createElementVNode("span",{class:"s-color-picker__trigger-swatch",style:e.normalizeStyle({backgroundColor:y.value})},null,4),e.createElementVNode("span",os,e.toDisplayString(R.value),1),(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:e.normalizeClass(["s-color-picker__trigger-icon",{"rotate-180":r.value}])},[...b[0]||(b[0]=[e.createElementVNode("path",{d:"m6 9 6 6 6-6"},null,-1)])],2))],10,ts)):e.createCommentVNode("",!0),t.mode==="dropdown"&&!k.$slots.trigger&&t.triggerStyle==="swatch"&&!J.value?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"s-color-picker__trigger-swatch-bar",disabled:t.disabled,onClick:e.withModifiers(z,["stop"])},[e.createElementVNode("span",{class:"s-color-picker__trigger-swatch-bar-color",style:e.normalizeStyle({backgroundColor:t.showAlpha?`rgba(${x.value.r}, ${x.value.g}, ${x.value.b}, ${d.value.a})`:y.value})},null,4)],8,as)):e.createCommentVNode("",!0),J.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(["s-color-picker__panel",[u.value.panelWidth,{"s-color-picker__panel--dropdown":t.mode==="dropdown"}]])},[e.renderSlot(k.$slots,"default",{color:y.value,rgb:x.value,hsl:S.value,displayValue:R.value,hsva:d.value},void 0,!0)],2)),[[e.vShow,t.mode==="inline"||r.value]]):e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:5,class:e.normalizeClass(["s-color-picker__panel",[u.value.panelWidth,{"s-color-picker__panel--dropdown":t.mode==="dropdown"}]])},[e.renderSlot(k.$slots,"panel-before",{},void 0,!0),t.showSpectrum?(e.openBlock(),e.createBlock(St,{key:0})):e.createCommentVNode("",!0),t.showSliders?(e.openBlock(),e.createElementBlock("div",ls,[e.createVNode($t),t.showAlpha?(e.openBlock(),e.createBlock(vt,{key:0})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.showPreview?(e.openBlock(),e.createElementBlock("div",ns,[e.createVNode(Et),e.createElementVNode("div",rs,[t.showEyeDropper?(e.openBlock(),e.createBlock(zt,{key:0})):e.createCommentVNode("",!0),e.createVNode(Vt)])])):e.createCommentVNode("",!0),t.showInputs?(e.openBlock(),e.createBlock(Nt,{key:3})):e.createCommentVNode("",!0),t.showPresets&&t.presets.length?(e.openBlock(),e.createBlock(Tt,{key:4,presets:t.presets},null,8,["presets"])):e.createCommentVNode("",!0),t.showRecent?(e.openBlock(),e.createBlock(Mt,{key:5})):e.createCommentVNode("",!0),e.renderSlot(k.$slots,"panel-after",{},void 0,!0)],2)),[[e.vShow,t.mode==="inline"||r.value]])],16))}}),cs=le(is,[["__scopeId","data-v-e1189c1e"]]),ds=["for"],us={key:0,class:"text-red-500 ml-0.5"},ms={class:"flex-1 min-w-0"},fs={class:"s-input-container relative"},ps={key:2,class:"text-muted-foreground text-sm"},gs=["id","name","type","value","placeholder","disabled","readonly","required","autocomplete","spellcheck","inputmode","min","max","step","maxlength","aria-label","aria-describedby","aria-invalid","aria-required"],bs=["id","name","value","placeholder","disabled","readonly","required","autocomplete","spellcheck","rows","maxlength","aria-label","aria-describedby","aria-invalid","aria-required"],hs=["for"],ys={key:0,class:"text-red-500 ml-0.5"},ks={key:0,class:"mdi mdi-loading animate-spin text-muted-foreground"},xs={key:2,class:"text-muted-foreground text-sm"},ws=["aria-label"],Cs=["aria-selected","onMousedown","onMouseenter"],Bs={class:"text-muted-foreground"},Ss=["id"],$s={key:"error",class:"text-xs text-red-500 flex items-center gap-1"},vs={key:"success",class:"text-xs text-green-500 flex items-center gap-1"},Es={key:"warning",class:"text-xs text-amber-500 flex items-center gap-1"},zs={key:"hint",class:"text-xs text-muted-foreground"},Vs={key:"empty"},Ns=le(e.defineComponent({inheritAttrs:!1,__name:"SInput",props:{modelValue:{default:""},type:{default:"text"},variant:{default:"outlined"},size:{default:"medium"},color:{default:void 0},rounded:{default:"md"},label:{},placeholder:{},labelPlacement:{default:"top"},labelAnimation:{default:"morph"},iconLeft:{},iconRight:{},iconColor:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},error:{type:[String,Boolean]},success:{type:[String,Boolean]},warning:{type:[String,Boolean]},hint:{},required:{type:Boolean,default:!1},minLength:{},maxLength:{},pattern:{},validator:{},validateOn:{default:"blur"},autocomplete:{},autofocus:{type:Boolean,default:!1},spellcheck:{type:Boolean,default:!0},inputmode:{},max:{},min:{},step:{},clearable:{type:Boolean,default:!1},showPasswordToggle:{type:Boolean,default:!1},counter:{type:Boolean,default:!1},prefix:{},suffix:{},rows:{default:3},resize:{default:"vertical"},suggestions:{default:void 0},showSuggestionsOnFocus:{type:Boolean,default:!0},allowOnly:{type:[String,Function],default:void 0},decimalPlaces:{default:void 0},name:{},id:{},ariaLabel:{},ariaDescribedBy:{},inputClass:{},labelClass:{},wrapperClass:{}},emits:["update:modelValue","update:error","focus","blur","input","change","clear","enter","validate","select-suggestion"],setup(t,{expose:l,emit:a}){const o=t,n=a,r=e.ref(null),s=e.ref(!1),i=e.ref(!1),c=e.ref(null),d=e.ref(!1),u=e.computed(()=>o.id||`s-input-${Math.random().toString(36).slice(2,9)}`),f=e.computed(()=>`${u.value}-message`),g=e.ref(!1),m=e.ref(-1),p=e.ref(null);let h=null;const x=e.computed(()=>o.modelValue!==null&&o.modelValue!==void 0&&String(o.modelValue).length>0),y=e.computed(()=>String(o.modelValue||"").length),S=e.computed(()=>o.type==="password"&&i.value?"text":o.type),R=e.computed(()=>o.labelPlacement==="floating"||o.labelPlacement==="inside"),H=e.computed(()=>s.value||x.value),X=e.computed(()=>typeof o.error=="string"?o.error:o.error===!0?"Invalid value":c.value),$=e.computed(()=>typeof o.success=="string"?o.success:null),K=e.computed(()=>typeof o.warning=="string"?o.warning:null),A=e.computed(()=>X.value||o.error?"error":$.value||o.success?"success":K.value||o.warning?"warning":null),Z=e.computed(()=>{switch(A.value){case"error":return"alert-circle";case"success":return"check-circle";case"warning":return"alert";default:return null}}),G=e.computed(()=>{if(!o.suggestions||!o.suggestions.length)return[];const ee=String(o.modelValue||"");if(o.type==="email"){const se=ee.indexOf("@");if(se===-1)return[];const P=ee.slice(se);return o.suggestions.filter(q=>q.toLowerCase().startsWith(P.toLowerCase())&&q!==P)}return o.suggestions.filter(se=>se.toLowerCase().includes(ee.toLowerCase())&&se!==ee)}),I=e.computed(()=>g.value&&G.value.length>0&&!o.disabled&&!o.readonly),z=e.computed(()=>({small:{input:"min-h-8 text-xs",padding:"px-2.5 py-1.5",paddingWithIcon:"px-2.5",label:"text-xs",icon:"text-sm",floatLabel:"text-xs",floatLabelActive:"-top-2 text-[10px]"},medium:{input:"min-h-10 text-sm",padding:"px-3 py-2",paddingWithIcon:"px-3",label:"text-sm",icon:"text-base",floatLabel:"text-sm",floatLabelActive:"-top-2.5 text-xs"},large:{input:"min-h-12 text-base",padding:"px-4 py-2.5",paddingWithIcon:"px-4",label:"text-base",icon:"text-lg",floatLabel:"text-base",floatLabelActive:"-top-3 text-sm"}})[o.size]),Q=e.computed(()=>({none:"rounded-none",sm:"rounded",md:"rounded-lg",lg:"rounded-xl",full:"rounded-full"})[o.rounded]),J=e.computed(()=>({outlined:"border bg-background border-border hover:border-input",filled:"border-transparent bg-accent",underlined:"border-b border-t-0 border-l-0 border-r-0 rounded-none! bg-transparent border-border",ghost:"border-transparent bg-transparent hover:bg-accent"})[o.variant]),ae=e.computed(()=>!s.value||o.color?"":o.variant==="underlined"?"border-primary":"ring-2 ring-ring/20 border-primary"),k=e.computed(()=>{if(!(!s.value||!o.color))return o.variant==="underlined"?{borderColor:o.color}:{borderColor:o.color,boxShadow:`0 0 0 2px color-mix(in srgb, ${o.color} 20%, transparent)`}}),b=e.computed(()=>A.value?{error:"border-red-500 hover:border-red-500",success:"border-green-500 hover:border-green-500",warning:"border-amber-500 hover:border-amber-500"}[A.value]:""),w=e.computed(()=>{if(!o.maxLength)return"text-muted-foreground";const ee=y.value/o.maxLength;return ee>=1?"text-red-500":ee>=.9?"text-amber-500":ee>=.75?"text-amber-400":"text-muted-foreground"}),N=e.computed(()=>o.iconColor?"":s.value?o.color?"":"text-primary":"text-muted-foreground"),D=e.computed(()=>{if(!(!s.value||o.iconColor||!o.color))return{color:o.color}}),V=e.computed(()=>{if(R.value)return"flex flex-col w-full";const[ee,se]=o.labelPlacement.split("-"),P=["flex","w-full"];return ee==="top"||ee==="bottom"?(P.push("flex-col","gap-1.5"),ee==="bottom"&&P.push("flex-col-reverse")):(P.push("gap-3"),ee==="right"?P.push("flex-row-reverse"):P.push("flex-row"),se==="center"?P.push("items-center"):se==="bottom"?P.push("items-end"):P.push("items-start")),P.join(" ")}),v=e.computed(()=>{const ee=`font-medium text-muted-foreground ${z.value.label}`;if(R.value)return ee;const[se,P]=o.labelPlacement.split("-");if(se==="top"||se==="bottom"){if(P==="center")return`${ee} text-center`;if(P==="right")return`${ee} text-right`}return ee}),E=e.computed(()=>{const ee=!!o.iconLeft||!!o.prefix,se=!!o.iconRight||!!o.suffix||o.clearable||o.showPasswordToggle||o.loading||Z.value;let P=z.value.input;return o.size==="small"?(P+=ee?" pl-8":" pl-2.5",P+=se?" pr-8":" pr-2.5"):o.size==="large"?(P+=ee?" pl-12":" pl-4",P+=se?" pr-12":" pr-4"):(P+=ee?" pl-10":" pl-3",P+=se?" pr-10":" pr-3"),P}),te=ee=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(ee),oe=ee=>{try{return new URL(ee),!0}catch{return!1}},re=async ee=>{const se=String(ee);if(o.required&&se.trim()==="")return"This field is required";if(se==="")return null;if(o.minLength&&se.length<o.minLength)return`Minimum ${o.minLength} characters required`;if(o.maxLength&&se.length>o.maxLength)return`Maximum ${o.maxLength} characters allowed`;if(o.pattern&&!(typeof o.pattern=="string"?new RegExp(o.pattern):o.pattern).test(se))return"Invalid format";if(o.type==="email"&&se&&!te(se))return"Please enter a valid email address";if(o.type==="url"&&se&&!oe(se))return"Please enter a valid URL";if(o.type==="number"){const P=Number(ee);if(o.min!==void 0&&P<Number(o.min))return`Minimum value is ${o.min}`;if(o.max!==void 0&&P>Number(o.max))return`Maximum value is ${o.max}`}if(o.validator){d.value=!0;try{const P=await o.validator(ee);if(typeof P=="string")return P;if(P===!1)return"Invalid value"}finally{d.value=!1}}return null},U=async()=>{if(o.validateOn==="never")return;const ee=await re(o.modelValue??"");c.value=ee,n("update:error",ee),n("validate",ee===null,ee)},M=(ee,se)=>{const P=o.allowOnly;return P?P==="digits"?o.decimalPlaces!==void 0?/[\d.]/.test(ee)&&!(ee==="."&&se.includes(".")):/\d/.test(ee):P==="letters"?/[a-zA-Z]/.test(ee):P==="alphanumeric"?/[a-zA-Z0-9]/.test(ee):P instanceof RegExp?P.test(ee):typeof P=="function"?P(ee):!0:!0},F=ee=>{if(o.decimalPlaces===void 0)return ee;const se=ee.split(".");return se.length===2&&se[1].length>o.decimalPlaces?se[0]+"."+se[1].slice(0,o.decimalPlaces):ee},de=ee=>{if(!o.allowOnly&&o.decimalPlaces===void 0)return;const se=ee.data;if(!se)return;const P=ee.target,q=P.value+se;if(!M(se,P.value)){ee.preventDefault();return}if(o.decimalPlaces!==void 0&&se!=="."){const Y=q.split(".");if(Y.length===2&&Y[1].length>o.decimalPlaces){ee.preventDefault();return}}},ue=ee=>{const se=ee.target;let P=se.value;o.decimalPlaces!==void 0&&(P=F(String(P)),se.value=P),o.type==="number"&&P!==""&&(P=Number(P)),n("update:modelValue",P),n("input",ee),o.suggestions?.length&&(g.value=!0,m.value=-1),c.value&&o.validateOn==="input"?(h&&clearTimeout(h),h=setTimeout(()=>{U()},500)):o.validateOn==="input"&&(h&&clearTimeout(h),h=setTimeout(()=>{U()},35e4))},C=ee=>{s.value=!0,n("focus",ee),o.showSuggestionsOnFocus&&o.suggestions?.length&&(g.value=!0)},T=ee=>{s.value=!1,n("blur",ee),setTimeout(()=>{g.value=!1,m.value=-1},300),o.validateOn==="blur"&&U()},O=ee=>{n("change",o.modelValue??"",ee)},_=ee=>{if(I.value){if(ee.key==="ArrowDown"){ee.preventDefault(),m.value=Math.min(m.value+1,G.value.length-1);return}if(ee.key==="ArrowUp"){ee.preventDefault(),m.value=Math.max(m.value-1,-1);return}if(ee.key==="Enter"&&m.value>=0){ee.preventDefault(),ge(G.value[m.value]);return}if(ee.key==="Escape"){g.value=!1,m.value=-1;return}if(ee.key==="Tab"&&G.value.length>0){ee.preventDefault(),ge(G.value[0]);return}}ee.key==="Enter"&&o.type!=="textarea"&&n("enter",ee)},ge=ee=>{let se=ee;if(o.type==="email"){const P=String(o.modelValue||""),q=P.indexOf("@");q>=0&&(se=P.slice(0,q)+ee)}n("update:modelValue",se),n("select-suggestion",ee),g.value=!1,m.value=-1,e.nextTick(()=>{r.value?.focus()})},ke=()=>{n("update:modelValue",""),n("clear"),c.value=null,e.nextTick(()=>{r.value?.focus()})},Se=()=>{i.value=!i.value};return l({focus:()=>{r.value?.focus()},blur:()=>{r.value?.blur()},validate:U,inputElement:r}),e.onMounted(()=>{o.autofocus&&e.nextTick(()=>{r.value?.focus()})}),e.watch(()=>o.error,ee=>{ee&&(c.value=null)}),(ee,se)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(ee.$attrs,{class:e.unref(j)("s-input-wrapper relative w-full",V.value,t.wrapperClass,ee.$attrs.class)}),[t.label&&!R.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:u.value,class:e.normalizeClass(["shrink-0",[v.value,t.labelClass]])},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",us,"*")):e.createCommentVNode("",!0)],10,ds)):e.createCommentVNode("",!0),e.createElementVNode("div",ms,[e.createElementVNode("div",fs,[t.iconLeft||t.prefix?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["absolute left-0 top-1/2 -translate-y-1/2 flex items-center gap-1 pointer-events-none transition-colors duration-200",[z.value.icon,N.value,t.size==="small"?"pl-2.5":t.size==="large"?"pl-4":"pl-3"]]),style:e.normalizeStyle(t.iconColor?{color:t.iconColor}:D.value)},[e.renderSlot(ee.$slots,"prefix",{},()=>[t.iconLeft&&e.unref(ye)(t.iconLeft)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconLeft),{key:0})):t.iconLeft?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi",`mdi-${t.iconLeft}`])},null,2)):e.createCommentVNode("",!0),t.prefix?(e.openBlock(),e.createElementBlock("span",ps,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0)],!0)],6)):e.createCommentVNode("",!0),t.type!=="textarea"?(e.openBlock(),e.createElementBlock("input",{key:1,ref_key:"inputRef",ref:r,id:u.value,name:t.name,type:S.value,value:t.modelValue,placeholder:R.value&&!H.value?"":t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,spellcheck:t.spellcheck,inputmode:t.inputmode,min:t.min,max:t.max,step:t.step,maxlength:t.maxLength,"aria-label":t.ariaLabel||t.label,"aria-describedby":X.value||$.value||K.value||t.hint?f.value:t.ariaDescribedBy,"aria-invalid":!!X.value,"aria-required":t.required,class:e.normalizeClass(["s-input w-full outline-none transition-all duration-200 text-foreground placeholder:text-muted-foreground",[E.value,Q.value,J.value,ae.value,b.value,t.inputClass,{"opacity-50 cursor-not-allowed":t.disabled,"cursor-wait":t.loading,"py-2":R.value}]]),style:e.normalizeStyle(k.value),onInput:ue,onFocus:C,onBlur:T,onChange:O,onKeydown:_,onBeforeinput:de},null,46,gs)):(e.openBlock(),e.createElementBlock("textarea",{key:2,ref_key:"inputRef",ref:r,id:u.value,name:t.name,value:t.modelValue,placeholder:R.value&&!H.value?"":t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,spellcheck:t.spellcheck,rows:t.rows,maxlength:t.maxLength,"aria-label":t.ariaLabel||t.label,"aria-describedby":X.value||$.value||K.value||t.hint?f.value:t.ariaDescribedBy,"aria-invalid":!!X.value,"aria-required":t.required,class:e.normalizeClass(["s-input w-full outline-none transition-all duration-200 text-foreground placeholder:text-muted-foreground",[z.value.input,t.size==="small"?"px-2.5 py-1.5":t.size==="large"?"px-4 py-2.5":"px-3 py-2",Q.value,J.value,ae.value,b.value,t.inputClass,{"opacity-50 cursor-not-allowed":t.disabled,"cursor-wait":t.loading,"resize-none":t.resize==="none","resize-y":t.resize==="vertical","resize-x":t.resize==="horizontal",resize:t.resize==="both"}]]),style:e.normalizeStyle({...k.value,minHeight:t.type==="textarea"?`${t.rows*1.5+1}rem`:void 0}),onInput:ue,onFocus:C,onBlur:T,onChange:O},null,46,bs)),t.label&&R.value?(e.openBlock(),e.createElementBlock("label",{key:3,for:u.value,class:e.normalizeClass(["s-input-label-floating absolute left-0 pointer-events-none transition-all duration-200 ease-out origin-left",[t.labelClass,t.size==="small"?"left-2.5":t.size==="large"?"left-4":"left-3",t.iconLeft||t.prefix?t.size==="small"?"left-8":t.size==="large"?"left-12":"left-10":"",H.value?[z.value.floatLabelActive,t.color?"":"text-primary","bg-background px-1 -ml-1"]:["top-1/2 -translate-y-1/2",z.value.floatLabel,"text-muted-foreground"]]]),style:e.normalizeStyle(H.value&&t.color?{color:t.color}:void 0)},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",ys,"*")):e.createCommentVNode("",!0)],14,hs)):e.createCommentVNode("",!0),t.iconRight||t.suffix||t.clearable||t.showPasswordToggle||t.loading||Z.value?(e.openBlock(),e.createElementBlock("span",{key:4,class:e.normalizeClass(["absolute right-0 top-1/2 -translate-y-1/2 flex items-center gap-1 transition-colors duration-200",[z.value.icon,t.size==="small"?"pr-2.5":t.size==="large"?"pr-4":"pr-3"]])},[t.loading?(e.openBlock(),e.createElementBlock("span",ks)):t.clearable&&x.value&&!t.disabled&&!t.readonly?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"mdi mdi-close-circle text-muted-foreground hover:text-foreground transition-colors cursor-pointer",tabindex:"-1",onClick:ke})):Z.value&&!t.iconRight?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi",`mdi-${Z.value}`,A.value==="error"?"text-red-500":"",A.value==="success"?"text-green-500":"",A.value==="warning"?"text-amber-500":""])},null,2)):e.createCommentVNode("",!0),t.type==="password"&&t.showPasswordToggle&&!t.loading?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:e.normalizeClass(["mdi transition-colors cursor-pointer text-muted-foreground hover:text-foreground",i.value?"mdi-eye-off":"mdi-eye"]),tabindex:"-1",onClick:Se},null,2)):e.createCommentVNode("",!0),e.renderSlot(ee.$slots,"suffix",{},()=>[t.iconRight&&e.unref(ye)(t.iconRight)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.iconRight),{key:0,class:e.normalizeClass([N.value]),style:e.normalizeStyle(t.iconColor?{color:t.iconColor}:D.value)},null,8,["class","style"])):t.iconRight?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi",`mdi-${t.iconRight}`,N.value]),style:e.normalizeStyle(t.iconColor?{color:t.iconColor}:D.value)},null,6)):e.createCommentVNode("",!0),t.suffix?(e.openBlock(),e.createElementBlock("span",xs,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0)],!0)],2)):e.createCommentVNode("",!0),t.variant==="underlined"?(e.openBlock(),e.createElementBlock("div",{key:5,class:e.normalizeClass(["s-input-border-animated absolute bottom-0 left-1/2 h-0.5 transition-all duration-200 ease-out",[t.color?"":"bg-primary",s.value?"w-full -translate-x-1/2":"w-0 -translate-x-1/2"]]),style:e.normalizeStyle(t.color?{backgroundColor:t.color}:void 0)},null,6)):e.createCommentVNode("",!0),e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-150 ease-out","enter-from-class":"opacity-0 -translate-y-2 scale-95","enter-to-class":"opacity-100 translate-y-0 scale-100","leave-active-class":"transition-all duration-100 ease-in","leave-from-class":"opacity-100 translate-y-0 scale-100","leave-to-class":"opacity-0 -translate-y-2 scale-95"},{default:e.withCtx(()=>[I.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"suggestionsRef",ref:p,class:"s-input-suggestions absolute left-0 right-0 top-full mt-1 z-50 rounded-lg border border-border bg-background shadow-lg overflow-hidden",role:"listbox","aria-label":`Suggestions for ${t.label||"input"}`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(G.value,(P,q)=>(e.openBlock(),e.createElementBlock("li",{key:P,role:"option","aria-selected":q===m.value,class:e.normalizeClass(["px-3 py-2 text-sm cursor-pointer transition-colors",[q===m.value?"bg-primary text-primary-foreground":"text-foreground hover:bg-accent"]]),onMousedown:e.withModifiers(Y=>ge(P),["prevent"]),onMouseenter:Y=>m.value=q},[t.type==="email"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",Bs,e.toDisplayString(String(t.modelValue||"").split("@")[0]),1),e.createElementVNode("span",{class:e.normalizeClass(q===m.value?"text-primary-foreground":"text-primary font-medium")},e.toDisplayString(P),3)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(P),1)],64))],42,Cs))),128))],8,ws)):e.createCommentVNode("",!0)]),_:1})]),X.value||$.value||K.value||t.hint||t.counter&&t.maxLength?(e.openBlock(),e.createElementBlock("div",{key:0,id:f.value,class:"s-input-messages flex items-start justify-between gap-2 mt-1.5"},[e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200 ease-out","enter-from-class":"opacity-0 -translate-y-1","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition-all duration-150 ease-in","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 -translate-y-1",mode:"out-in"},{default:e.withCtx(()=>[X.value?(e.openBlock(),e.createElementBlock("p",$s,[se[0]||(se[0]=e.createElementVNode("span",{class:"mdi mdi-alert-circle text-sm"},null,-1)),e.createTextVNode(" "+e.toDisplayString(X.value),1)])):$.value?(e.openBlock(),e.createElementBlock("p",vs,[se[1]||(se[1]=e.createElementVNode("span",{class:"mdi mdi-check-circle text-sm"},null,-1)),e.createTextVNode(" "+e.toDisplayString($.value),1)])):K.value?(e.openBlock(),e.createElementBlock("p",Es,[se[2]||(se[2]=e.createElementVNode("span",{class:"mdi mdi-alert text-sm"},null,-1)),e.createTextVNode(" "+e.toDisplayString(K.value),1)])):t.hint?(e.openBlock(),e.createElementBlock("p",zs,e.toDisplayString(t.hint),1)):(e.openBlock(),e.createElementBlock("span",Vs))]),_:1}),t.counter&&t.maxLength?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["text-xs shrink-0 tabular-nums transition-colors duration-200",w.value])},e.toDisplayString(y.value)+" / "+e.toDisplayString(t.maxLength),3)):e.createCommentVNode("",!0)],8,Ss)):e.createCommentVNode("",!0)])],16))}}),[["__scopeId","data-v-5c224d3c"]]),wo=Ie("inline-flex items-center justify-center font-mono font-medium select-none whitespace-nowrap leading-none",{variants:{variant:{default:"border border-border bg-muted text-foreground rounded-md shadow-[0_-1px_0_0_rgba(255,255,255,0.06)_inset,0_2px_0_0_var(--s-border)]",outlined:"border border-border text-foreground bg-transparent rounded-md",flat:"bg-muted text-foreground rounded-md",ghost:"text-muted-foreground"},size:{xs:"text-[10px] px-1 py-0.5 min-w-4 h-4 rounded",sm:"text-xs px-1.5 py-0.5 min-w-5 h-5 rounded-md",md:"text-xs px-1.5 py-1 min-w-6 h-6 rounded-md",lg:"text-sm px-2 py-1 min-w-7 h-7 rounded-md"}},defaultVariants:{variant:"default",size:"md"}}),rt=e.defineComponent({inheritAttrs:!1,__name:"SKbd",props:{variant:{default:"default"},size:{default:"md"},color:{default:void 0}},setup(t){const l=e.useAttrs(),a=t,o=e.computed(()=>{if(!a.color)return;const r=a.color;if(a.variant==="default")return{backgroundColor:`color-mix(in srgb, ${r} 15%, transparent)`,color:r,borderColor:r,boxShadow:`0 -1px 0 0 rgba(255,255,255,0.06) inset, 0 2px 0 0 color-mix(in srgb, ${r} 25%, transparent)`};if(a.variant==="outlined")return{borderColor:r,color:r};if(a.variant==="flat")return{backgroundColor:`color-mix(in srgb, ${r} 15%, transparent)`,color:r};if(a.variant==="ghost")return{color:r}}),n=e.computed(()=>j(wo({variant:a.variant,size:a.size}),l.class));return(r,s)=>(e.openBlock(),e.createElementBlock("kbd",e.mergeProps(r.$attrs,{class:n.value,style:o.value}),[e.renderSlot(r.$slots,"default")],16))}}),Ts=e.defineComponent({inheritAttrs:!1,__name:"SSkeleton",props:{shape:{default:"rectangular"},animation:{default:"wave"},width:{default:void 0},height:{default:void 0},size:{default:void 0},borderRadius:{default:void 0},lines:{default:1},lineGap:{default:"0.75rem"},skeletonClass:{}},setup(t){const l=Ie("block bg-muted",{variants:{shape:{rectangular:"rounded-md",circular:"rounded-full",rounded:"rounded-full"},animation:{wave:"s-skeleton-wave",pulse:"s-skeleton-pulse",none:""}},defaultVariants:{shape:"rectangular",animation:"wave"}}),a=t,o=e.computed(()=>{const s={};return a.size?(s.width=a.size,s.height=a.size):(a.width&&(s.width=a.width),a.height&&(s.height=a.height)),!a.size&&!a.height&&(s.height=a.shape==="circular"?a.width??"3rem":"1rem"),!a.size&&!a.width&&(s.width=a.shape==="circular"?a.height??"3rem":"100%"),a.borderRadius&&(s.borderRadius=a.borderRadius),s}),n=e.computed(()=>j(l({shape:a.shape,animation:a.animation}),a.skeletonClass)),r=e.computed(()=>a.lines<=1?["100%"]:Array.from({length:a.lines},(s,i)=>i===a.lines-1?"60%":"100%"));return(s,i)=>t.lines>1?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0},s.$attrs,{class:"flex flex-col",style:{gap:t.lineGap}}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(c,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:e.normalizeClass(n.value),style:e.normalizeStyle({...o.value,width:c})},null,6))),128))],16)):(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:1},s.$attrs,{class:n.value,style:o.value}),null,16))}}),Ms={key:0,class:"text-xs text-muted-foreground"},Ds=e.defineComponent({inheritAttrs:!1,__name:"SKbdShortcut",props:{keys:{},separator:{default:"+"},size:{default:"md"},variant:{default:"default"},color:{default:void 0}},setup(t){const l=e.useAttrs();return(a,o)=>(e.openBlock(),e.createElementBlock("span",e.mergeProps(a.$attrs,{class:e.unref(j)("inline-flex items-center gap-1",e.unref(l).class)}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.keys,(n,r)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:r},[r>0?(e.openBlock(),e.createElementBlock("span",Ms,e.toDisplayString(t.separator),1)):e.createCommentVNode("",!0),e.createVNode(rt,{size:t.size,variant:t.variant,color:t.color},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n),1)]),_:2},1032,["size","variant","color"])],64))),128))],16))}}),Ps=["aria-expanded","aria-disabled"],As=["disabled"],Is={key:2},Rs={key:1,class:"p-2 border-b border-border"},Ls={class:"relative"},Fs=["placeholder"],js={key:0,class:"my-1 h-px bg-border/60"},Os={key:1,class:"px-2.5 pt-2 pb-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground"},Hs=["tabindex","onClick","onMouseenter"],Ws={class:"flex-1 min-w-0"},Ks={class:"truncate"},Us={class:"flex items-center gap-2 ml-4 shrink-0"},Gs={key:0,class:"px-1.5 py-0.5 text-[10px] font-mono rounded bg-accent text-muted-foreground border border-border"},qs={key:2,class:"px-4 py-8 text-center"},Dt=Symbol("SDropdownContext"),Ys=le(e.defineComponent({inheritAttrs:!1,__name:"SDropdown",props:{items:{default:void 0},trigger:{default:"click"},placement:{default:"bottom-start"},size:{default:"medium"},variant:{default:"default"},color:{default:"var(--s-primary)"},animation:{default:"scale"},closeOnSelect:{type:Boolean,default:!0},arrow:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},maxHeight:{default:"320px"},width:{default:void 0},minWidth:{default:"180px"},teleport:{type:[Boolean,String],default:!0},zIndex:{default:1e3},showDelay:{default:100},hideDelay:{default:150},visible:{type:Boolean,default:void 0},searchable:{type:Boolean,default:!1},searchPlaceholder:{default:"Search..."},offset:{default:6},label:{default:void 0},icon:{default:void 0},hideArrow:{type:Boolean,default:!1}},emits:["update:visible","open","close","select"],setup(t,{expose:l,emit:a}){const o=t,n=a,r=e.ref(null),s=e.ref(null),i=e.ref(null),c=e.ref(!1),d=e.ref(""),u=e.ref(-1),f=e.ref([]),g=e.ref({placement:o.placement});let m=null,p=null;const h=e.computed(()=>o.trigger==="manual"),x=e.computed(()=>{if(!o.items||!d.value)return o.items;const V=d.value.toLowerCase();return o.items.filter(v=>v.divider||v.header?!0:v.label.toLowerCase().includes(V))}),y=e.computed(()=>{if(o.teleport===!0)return"body";if(typeof o.teleport=="string")return o.teleport}),S=e.computed(()=>{const V={zIndex:o.zIndex.toString(),maxHeight:o.maxHeight};return o.width&&(V.width=typeof o.width=="number"?`${o.width}px`:o.width),o.minWidth&&(V.minWidth=o.minWidth),g.value.top!==void 0&&(V.top=`${g.value.top}px`),g.value.bottom!==void 0&&(V.bottom=`${g.value.bottom}px`),g.value.left!==void 0&&(V.left=`${g.value.left}px`),g.value.right!==void 0&&(V.right=`${g.value.right}px`),V}),R=e.computed(()=>({small:{trigger:"px-2 py-0.5 text-xs gap-1.5",menu:"py-1 px-1",item:"px-2 py-0.5 text-xs",icon:"text-sm",search:"text-xs px-2 py-0.5"},medium:{trigger:"px-2 py-0.5 text-sm gap-2",menu:"py-1 px-1",item:"px-2 py-0.5 text-sm",icon:"text-base",search:"text-sm px-2 py-0.5"},large:{trigger:"px-2.5 py-0.5 text-base gap-2.5",menu:"py-1.5 px-1.5",item:"px-2.5 py-0.5 text-base",icon:"text-lg",search:"text-base px-2.5 py-0.5"}})[o.size]),H=e.computed(()=>({default:"bg-background border border-border shadow-xl",filled:"bg-muted border border-border shadow-lg",glass:"bg-background/80 backdrop-blur-xl border border-border/50 shadow-2xl"})[o.variant]),X=e.computed(()=>{const V=g.value.placement,v=V.startsWith("top"),E=V.startsWith("bottom"),te=V.startsWith("left");return V.startsWith("right"),{fade:{enter:"transition-opacity duration-200 ease-out",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"transition-opacity duration-150 ease-in",leaveFrom:"opacity-100",leaveTo:"opacity-0"},slide:{enter:"transition-all duration-200 ease-out",enterFrom:`opacity-0 ${v?"translate-y-2":E?"-translate-y-2":te?"translate-x-2":"-translate-x-2"}`,enterTo:"opacity-100 translate-x-0 translate-y-0",leave:"transition-all duration-150 ease-in",leaveFrom:"opacity-100 translate-x-0 translate-y-0",leaveTo:`opacity-0 ${v?"translate-y-2":E?"-translate-y-2":te?"translate-x-2":"-translate-x-2"}`},scale:{enter:"transition-all duration-200 ease-out",enterFrom:"opacity-0 scale-95",enterTo:"opacity-100 scale-100",leave:"transition-all duration-150 ease-in",leaveFrom:"opacity-100 scale-100",leaveTo:"opacity-0 scale-95"},reveal:{enter:"transition-all duration-250 ease-out",enterFrom:"opacity-0 scale-90 blur-sm",enterTo:"opacity-100 scale-100 blur-0",leave:"transition-all duration-150 ease-in",leaveFrom:"opacity-100 scale-100 blur-0",leaveTo:"opacity-0 scale-90 blur-sm"}}[o.animation]}),$=()=>{if(!r.value)return;const V=r.value.getBoundingClientRect(),v={width:window.innerWidth,height:window.innerHeight},E=o.offset;let te=o.placement,oe,re,U,M;({top:()=>{re=v.height-V.top+E,U=V.left+V.width/2},"top-start":()=>{re=v.height-V.top+E,U=V.left},"top-end":()=>{re=v.height-V.top+E,M=v.width-V.right},bottom:()=>{oe=V.bottom+E,U=V.left+V.width/2},"bottom-start":()=>{oe=V.bottom+E,U=V.left},"bottom-end":()=>{oe=V.bottom+E,M=v.width-V.right},left:()=>{oe=V.top+V.height/2,M=v.width-V.left+E},"left-start":()=>{oe=V.top,M=v.width-V.left+E},"left-end":()=>{re=v.height-V.bottom,M=v.width-V.left+E},right:()=>{oe=V.top+V.height/2,U=V.right+E},"right-start":()=>{oe=V.top,U=V.right+E},"right-end":()=>{re=v.height-V.bottom,U=V.right+E}})[te]();const de=parseInt(o.maxHeight)||320,ue=o.width&&typeof o.width=="number"?o.width:200;te.startsWith("bottom")&&oe!==void 0&&oe+de>v.height-10?(te=te.replace("bottom","top"),oe=void 0,re=v.height-V.top+E):te.startsWith("top")&&re!==void 0&&v.height-re+de>v.height-10&&(te=te.replace("top","bottom"),re=void 0,oe=V.bottom+E),U!==void 0&&U+ue>v.width-10&&(U=v.width-ue-10),U!==void 0&&U<10&&(U=10),g.value={top:oe,bottom:re,left:U,right:M,placement:te}},K=async()=>{o.disabled||c.value||(p&&(clearTimeout(p),p=null),c.value=!0,n("update:visible",!0),n("open"),await e.nextTick(),$(),o.searchable&&i.value&&i.value.focus())},A=()=>{c.value&&(m&&(clearTimeout(m),m=null),c.value=!1,d.value="",u.value=-1,n("update:visible",!1),n("close"))},Z=()=>{c.value?A():K()},G=V=>{o.trigger==="click"&&!o.disabled&&(V.preventDefault(),Z())},I=V=>{o.trigger==="context"&&!o.disabled&&(V.preventDefault(),Z())},z=()=>{o.trigger==="hover"&&!o.disabled&&(m=setTimeout(K,o.showDelay))},Q=()=>{o.trigger==="hover"&&!o.disabled&&(p=setTimeout(A,o.hideDelay))},J=()=>{o.trigger==="hover"&&p&&(clearTimeout(p),p=null)},ae=()=>{o.trigger==="hover"&&(p=setTimeout(A,o.hideDelay))},k=V=>{const v=V.target;r.value&&s.value&&!r.value.contains(v)&&!s.value.contains(v)&&A()},b=V=>{if(!c.value){(V.key==="Enter"||V.key===" "||V.key==="ArrowDown")&&(V.preventDefault(),K());return}const v=f.value.filter(E=>!E.disabled);switch(V.key){case"Escape":V.preventDefault(),A(),r.value?.focus();break;case"ArrowDown":V.preventDefault(),u.value=Math.min(u.value+1,v.length-1),u.value<0&&(u.value=0);break;case"ArrowUp":V.preventDefault(),u.value=Math.max(u.value-1,0);break;case"Home":V.preventDefault(),u.value=0;break;case"End":V.preventDefault(),u.value=v.length-1;break;case"Enter":case" ":V.preventDefault(),u.value>=0&&v[u.value]&&D(v[u.value].key);break;case"Tab":A();break}},w=V=>{const v=f.value.findIndex(E=>E.key===V.key);return v>=0?(f.value[v]=V,v):(f.value.push(V),f.value.length-1)},N=V=>{const v=f.value.findIndex(E=>E.key===V);v>=0&&f.value.splice(v,1)},D=V=>{const v=o.items?.find(E=>E.key===V);n("select",V,v),v?.onClick&&v.onClick(),o.closeOnSelect&&A()};return e.watch(()=>o.visible,V=>{h.value&&V!==void 0&&(V?K():A())}),e.watch(c,V=>{V?(window.addEventListener("scroll",$,!0),window.addEventListener("resize",$)):(window.removeEventListener("scroll",$,!0),window.removeEventListener("resize",$))}),e.onMounted(()=>{document.addEventListener("mousedown",k)}),e.onBeforeUnmount(()=>{m&&clearTimeout(m),p&&clearTimeout(p),document.removeEventListener("mousedown",k),window.removeEventListener("scroll",$,!0),window.removeEventListener("resize",$)}),e.provide(Dt,{size:o.size,color:o.color,closeOnSelect:o.closeOnSelect,highlightedIndex:u,registerItem:w,unregisterItem:N,selectItem:D,close:A}),l({open:K,close:A,toggle:Z}),(V,v)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:e.unref(j)("s-dropdown relative inline-block",V.$attrs.class??"")},V.$attrs),[e.createElementVNode("div",{ref_key:"triggerRef",ref:r,class:"s-dropdown-trigger outline-none",tabindex:"0","aria-expanded":c.value,"aria-haspopup":!0,"aria-disabled":t.disabled,onClick:G,onContextmenu:I,onMouseenter:z,onMouseleave:Q,onKeydown:b},[e.renderSlot(V.$slots,"trigger",{},()=>[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["s-dropdown-btn inline-flex items-center justify-center font-medium rounded-lg border transition-all duration-200 outline-none select-none",[R.value.trigger,t.disabled?"opacity-50 cursor-not-allowed bg-accent border-border text-muted-foreground":"bg-muted border-border text-foreground hover:bg-accent hover:border-input focus:ring-2 focus:ring-primary/20"]]),disabled:t.disabled},[t.icon&&e.unref(ye)(t.icon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:0,class:e.normalizeClass([R.value.icon])},null,8,["class"])):t.icon?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi",`mdi-${t.icon}`,R.value.icon])},null,2)):e.createCommentVNode("",!0),t.label?(e.openBlock(),e.createElementBlock("span",Is,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),t.hideArrow?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(["mdi mdi-chevron-down transition-transform duration-200",[R.value.icon,{"rotate-180":c.value}]])},null,2))],10,As)],!0)],40,Ps),y.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:y.value,disabled:!y.value},[e.createVNode(e.Transition,{"enter-active-class":X.value.enter,"enter-from-class":X.value.enterFrom,"enter-to-class":X.value.enterTo,"leave-active-class":X.value.leave,"leave-from-class":X.value.leaveFrom,"leave-to-class":X.value.leaveTo},{default:e.withCtx(()=>[c.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:s,role:"menu",class:e.normalizeClass(["s-dropdown-menu fixed rounded-xl overflow-hidden",[R.value.menu,H.value]]),style:e.normalizeStyle(S.value),onMouseenter:J,onMouseleave:ae},[t.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["s-dropdown-arrow absolute w-2.5 h-2.5 rotate-45 bg-background border border-border",{"bottom-full left-4 -mb-1 border-b-0 border-r-0":g.value.placement.startsWith("bottom"),"top-full left-4 -mt-1 border-t-0 border-l-0":g.value.placement.startsWith("top"),"left-full top-4 -ml-1 border-l-0 border-b-0":g.value.placement.startsWith("right"),"right-full top-4 -mr-1 border-r-0 border-t-0":g.value.placement.startsWith("left")}])},null,2)):e.createCommentVNode("",!0),t.searchable?(e.openBlock(),e.createElementBlock("div",Rs,[e.createElementVNode("div",Ls,[v[1]||(v[1]=e.createElementVNode("span",{class:"absolute left-3 top-1/2 -translate-y-1/2 mdi mdi-magnify text-muted-foreground"},null,-1)),e.withDirectives(e.createElementVNode("input",{ref_key:"searchInputRef",ref:i,"onUpdate:modelValue":v[0]||(v[0]=E=>d.value=E),type:"text",placeholder:t.searchPlaceholder,class:e.normalizeClass([R.value.search,"w-full pl-9 pr-3 bg-accent border border-border rounded-lg outline-none focus:border-primary focus:ring-2 focus:ring-primary/20 transition-all text-foreground placeholder:text-muted-foreground"]),onKeydown:b},null,42,Fs),[[e.vModelText,d.value]])])])):e.createCommentVNode("",!0),e.renderSlot(V.$slots,"header",{},void 0,!0),e.createElementVNode("div",{class:"overflow-y-auto overflow-x-hidden overscroll-contain",style:e.normalizeStyle({maxHeight:t.searchable?`calc(${t.maxHeight} - 60px)`:t.maxHeight})},[x.value&&x.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(x.value,(E,te)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:E.key||`item-${te}`},[E.divider?(e.openBlock(),e.createElementBlock("div",js)):E.header?(e.openBlock(),e.createElementBlock("div",Os,e.toDisplayString(E.header),1)):(e.openBlock(),e.createElementBlock("div",{key:2,role:"menuitem",tabindex:E.disabled?-1:0,class:e.normalizeClass(["s-dropdown-item relative flex items-center cursor-pointer transition-all duration-150 select-none rounded-lg",[R.value.item,{"opacity-50 cursor-not-allowed":E.disabled,"text-red-500 hover:bg-red-500/10":E.danger&&!E.disabled,"text-foreground hover:bg-accent":!E.danger&&!E.disabled,"bg-accent":u.value===te&&!E.disabled}]]),onClick:oe=>!E.disabled&&D(E.key),onMouseenter:oe=>u.value=te},[E.checked!==void 0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["mdi mr-2 transition-all duration-150",[E.checked?"mdi-checkbox-marked":"mdi-checkbox-blank-outline",R.value.icon,E.checked?"":"text-muted-foreground"]]),style:e.normalizeStyle(E.checked?{color:t.color}:{})},null,6)):E.icon&&e.unref(ye)(E.icon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E.icon),{key:1,class:e.normalizeClass([R.value.icon,"mr-2.5",E.danger?"":"text-muted-foreground"])},null,8,["class"])):E.icon?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi",`mdi-${E.icon}`,R.value.icon,"mr-2.5",E.danger?"":"text-muted-foreground"])},null,2)):e.createCommentVNode("",!0),e.createElementVNode("div",Ws,[e.createElementVNode("div",Ks,e.toDisplayString(E.label),1),E.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["text-xs truncate mt-0.5",E.danger?"text-red-400":"text-muted-foreground"])},e.toDisplayString(E.description),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Us,[E.shortcut?(e.openBlock(),e.createElementBlock("kbd",Gs,e.toDisplayString(E.shortcut),1)):e.createCommentVNode("",!0),E.trailingIcon&&e.unref(ye)(E.trailingIcon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E.trailingIcon),{key:1,class:e.normalizeClass([R.value.icon,"text-muted-foreground"])},null,8,["class"])):E.trailingIcon?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi",`mdi-${E.trailingIcon}`,R.value.icon,"text-muted-foreground"])},null,2)):e.createCommentVNode("",!0),E.children&&E.children.length>0?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(["mdi mdi-chevron-right text-muted-foreground",R.value.icon])},null,2)):e.createCommentVNode("",!0)])],42,Hs))],64))),128)):e.renderSlot(V.$slots,"default",{key:1},void 0,!0),t.searchable&&d.value&&(!x.value||x.value.length===0)?(e.openBlock(),e.createElementBlock("div",qs,[...v[2]||(v[2]=[e.createElementVNode("span",{class:"mdi mdi-magnify-close text-3xl text-muted-foreground mb-2 block"},null,-1),e.createElementVNode("p",{class:"text-sm text-muted-foreground"},"No results found",-1)])])):e.createCommentVNode("",!0)],4),e.renderSlot(V.$slots,"footer",{},void 0,!0)],38)):e.createCommentVNode("",!0)]),_:3},8,["enter-active-class","enter-from-class","enter-to-class","leave-active-class","leave-from-class","leave-to-class"])],8,["to","disabled"])):(e.openBlock(),e.createBlock(e.Transition,{key:1,"enter-active-class":X.value.enter,"enter-from-class":X.value.enterFrom,"enter-to-class":X.value.enterTo,"leave-active-class":X.value.leave,"leave-from-class":X.value.leaveFrom,"leave-to-class":X.value.leaveTo},{default:e.withCtx(()=>[c.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:s,role:"menu",class:e.normalizeClass(["s-dropdown-menu absolute mt-1.5 rounded-xl overflow-hidden",[R.value.menu,H.value]]),style:e.normalizeStyle({minWidth:t.minWidth,maxHeight:t.maxHeight,zIndex:t.zIndex}),onMouseenter:J,onMouseleave:ae},[e.createElementVNode("div",{class:"overflow-y-auto overscroll-contain",style:e.normalizeStyle({maxHeight:t.maxHeight})},[e.renderSlot(V.$slots,"default",{},void 0,!0)],4)],38)):e.createCommentVNode("",!0)]),_:3},8,["enter-active-class","enter-from-class","enter-to-class","leave-active-class","leave-from-class","leave-to-class"]))],16))}}),[["__scopeId","data-v-a5e5bffb"]]),Xs=e.defineComponent({inheritAttrs:!1,__name:"SDropdownDivider",props:{margin:{default:"4px"}},setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:e.unref(j)("s-dropdown-divider h-px bg-border/60",l.$attrs.class??""),role:"separator",style:{marginTop:t.margin,marginBottom:t.margin}},l.$attrs),null,16))}}),Js={class:"s-dropdown-group-content"},Zs=le(e.defineComponent({inheritAttrs:!1,__name:"SDropdownGroup",props:{label:{},icon:{default:void 0}},setup(t){const l=e.inject(Dt),a=e.computed(()=>({small:"px-2 pt-1.5 pb-0.5 text-[10px]",medium:"px-2.5 pt-2 pb-1 text-[11px]",large:"px-3 pt-2.5 pb-1 text-xs"})[l?.size??"medium"]);return(o,n)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:e.unref(j)("s-dropdown-group",o.$attrs.class??"")},o.$attrs),[e.createElementVNode("div",{class:e.normalizeClass(["font-semibold uppercase tracking-wider text-muted-foreground flex items-center gap-2 sticky top-0 bg-background/95 backdrop-blur-sm",a.value])},[t.icon&&e.unref(ye)(t.icon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:0,class:"text-xs"})):t.icon?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi",`mdi-${t.icon}`,"text-xs"])},null,2)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(t.label),1)],2),e.createElementVNode("div",Js,[e.renderSlot(o.$slots,"default",{},void 0,!0)])],16))}}),[["__scopeId","data-v-61cf95ee"]]),Qs=["tabindex"],_s={class:"flex-1 min-w-0"},ei={class:"truncate"},ti={class:"flex items-center gap-2 ml-4 shrink-0"},oi={key:0,class:"px-1.5 py-0.5 text-[10px] font-mono rounded bg-background text-muted-foreground border border-border"},ai=le(e.defineComponent({inheritAttrs:!1,__name:"SDropdownItem",props:{itemKey:{},label:{default:void 0},icon:{default:void 0},trailingIcon:{default:void 0},description:{default:void 0},shortcut:{default:void 0},disabled:{type:Boolean,default:!1},danger:{type:Boolean,default:!1},checked:{type:Boolean,default:void 0},color:{default:void 0},iconColor:{default:void 0}},emits:["click","update:checked"],setup(t,{emit:l}){const a=t,o=l,n=e.inject(Dt),r=e.ref(-1);e.onMounted(()=>{n&&(r.value=n.registerItem({key:a.itemKey,disabled:a.disabled}))}),e.onBeforeUnmount(()=>{n&&n.unregisterItem(a.itemKey)});const s=e.computed(()=>({small:{item:"px-2 py-1 text-xs",icon:"text-sm",iconSize:"w-3.5 h-3.5",iconPx:14},medium:{item:"px-2.5 py-1.5 text-sm",icon:"text-base",iconSize:"w-4 h-4",iconPx:16},large:{item:"px-3 py-2 text-base",icon:"text-lg",iconSize:"w-5 h-5",iconPx:20}})[n?.size??"medium"]),i=e.computed(()=>a.color??n?.color??"var(--s-primary)"),c=e.computed(()=>!n||r.value<0?!1:n.highlightedIndex.value===r.value),d=u=>{a.disabled||(o("click",u),a.checked!==void 0&&o("update:checked",!a.checked),n&&n.selectItem(a.itemKey))};return(u,f)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:"menuitem",tabindex:t.disabled?-1:0,class:e.unref(j)("s-dropdown-item relative flex items-center cursor-pointer transition-all duration-150 select-none rounded-lg group",s.value.item,{"opacity-50 cursor-not-allowed":t.disabled,"text-red-500 hover:bg-red-500/10":t.danger&&!t.disabled,"text-foreground hover:bg-accent":!t.danger&&!t.disabled,"bg-accent":c.value&&!t.disabled},u.$attrs.class??"")},u.$attrs,{onClick:d}),[t.checked!==void 0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["mdi mr-2.5 transition-all duration-150",[t.checked?"mdi-checkbox-marked":"mdi-checkbox-blank-outline",s.value.icon,t.checked?"":"text-muted-foreground"]]),style:e.normalizeStyle(t.checked?{color:i.value}:{})},null,6)):t.icon&&e.unref(ye)(t.icon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:1,size:s.value.iconPx,class:e.normalizeClass(["mr-2.5 shrink-0",!t.iconColor&&!t.danger?"text-muted-foreground group-hover:text-foreground":""]),style:e.normalizeStyle(t.iconColor?{color:t.iconColor}:{})},null,8,["size","class","style"])):t.icon?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi",`mdi-${t.icon}`,s.value.icon,"mr-2.5",t.danger?"":"text-muted-foreground group-hover:text-foreground"])},null,2)):e.createCommentVNode("",!0),e.createElementVNode("div",_s,[e.renderSlot(u.$slots,"default",{},()=>[e.createElementVNode("div",ei,e.toDisplayString(t.label),1)],!0),t.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["text-xs truncate mt-0.5",t.danger?"text-red-400":"text-muted-foreground"])},e.toDisplayString(t.description),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",ti,[t.shortcut?(e.openBlock(),e.createElementBlock("kbd",oi,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.trailingIcon&&e.unref(ye)(t.trailingIcon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.trailingIcon),{key:1,size:s.value.iconPx,class:"text-muted-foreground"},null,8,["size"])):t.trailingIcon?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi",`mdi-${t.trailingIcon}`,s.value.icon,"text-muted-foreground"])},null,2)):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"trailing",{},void 0,!0)])],16,Qs))}}),[["__scopeId","data-v-c46f1d8b"]]),li=["aria-label"],ni=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumb",props:{label:{default:"Breadcrumb"}},setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("nav",e.mergeProps({...l.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb w-full",l.$attrs.class),"aria-label":t.label}),[e.renderSlot(l.$slots,"default")],16,li))}}),ri=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumbList",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("ol",e.mergeProps({...l.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb-list m-0 flex list-none flex-wrap items-center gap-1.5 break-words p-0 text-sm text-muted-foreground sm:gap-2.5",l.$attrs.class)}),[e.renderSlot(l.$slots,"default")],16))}}),si=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumbItem",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("li",e.mergeProps({...l.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb-item inline-flex min-w-0 items-center gap-1.5",l.$attrs.class)}),[e.renderSlot(l.$slots,"default")],16))}}),ii=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumbLink",props:{tag:{default:"a"},href:{default:void 0},to:{default:void 0}},setup(t){const l=t,a=e.computed(()=>l.to?"router-link":l.href?"a":l.tag),o=e.computed(()=>{const n={};return l.to&&(n.to=l.to),l.href&&(n.href=l.href),n});return(n,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),e.mergeProps({...o.value,...n.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb-link inline-flex items-center gap-1 rounded-md text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2",n.$attrs.class)}),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16,["class"]))}}),ci=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumbPage",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("span",e.mergeProps({...l.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb-page inline-flex items-center gap-1 rounded-md font-medium text-foreground",l.$attrs.class),"aria-current":"page"}),[e.renderSlot(l.$slots,"default")],16))}}),di=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumbSeparator",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("li",e.mergeProps({...l.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb-separator inline-flex items-center justify-center text-muted-foreground/70",l.$attrs.class),role:"presentation","aria-hidden":"true"}),[e.renderSlot(l.$slots,"default",{},()=>[a[0]||(a[0]=e.createElementVNode("span",{class:"mdi mdi-chevron-right text-sm"},null,-1))])],16))}}),ui=e.defineComponent({inheritAttrs:!1,__name:"SBreadcrumbEllipsis",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("span",e.mergeProps({...l.$attrs,class:void 0},{class:e.unref(j)("s-breadcrumb-ellipsis inline-flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground/70",l.$attrs.class)}),[e.renderSlot(l.$slots,"default",{},()=>[a[0]||(a[0]=e.createElementVNode("span",{class:"mdi mdi-dots-horizontal","aria-hidden":"true"},null,-1)),a[1]||(a[1]=e.createElementVNode("span",{class:"sr-only"},"More breadcrumb items",-1))])],16))}}),mi={key:0,class:"shrink-0"},fi={key:0,class:"w-10 h-10 rounded-full overflow-hidden ring-2 ring-border"},pi=["src","alt"],gi={key:1,class:"w-10 h-10 rounded-full bg-accent flex items-center justify-center text-sm font-semibold text-muted-foreground"},bi={key:2,class:"w-10 h-10 rounded-xl bg-primary/15 flex items-center justify-center"},hi={class:"flex-1 min-w-0"},yi={key:0,class:"text-base font-semibold text-foreground leading-tight truncate"},ki={key:0,class:"text-sm text-muted-foreground mt-0.5 truncate"},xi={key:1,class:"shrink-0 flex items-center gap-2"},wi=le(e.defineComponent({inheritAttrs:!1,__name:"SCardHeader",props:{title:{default:void 0},subtitle:{default:void 0},avatar:{default:void 0},avatarFallback:{default:void 0},icon:{default:void 0},iconColor:{default:"var(--s-primary)"},divider:{type:Boolean,default:!1},layout:{default:"horizontal"},align:{default:"start"},padding:{}},setup(t){const l=t;e.inject(Ge,{variant:"elevated",hoverable:!1,loading:!1,horizontal:!1});const a=e.computed(()=>l.layout==="vertical"?{start:"items-start text-left",center:"items-center text-center",end:"items-end text-right"}[l.align]:""),o=e.computed(()=>{const n={};return l.padding&&(n.padding=l.padding),n});return(n,r)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(n.$attrs,{class:e.unref(j)("s-card-header",{"flex items-center gap-3":t.layout==="horizontal","flex flex-col gap-2":t.layout==="vertical","pb-4 border-b border-border":t.divider},a.value,n.$attrs.class),style:o.value}),[t.avatar||t.avatarFallback||t.icon||n.$slots.avatar?(e.openBlock(),e.createElementBlock("div",mi,[e.renderSlot(n.$slots,"avatar",{},()=>[t.avatar?(e.openBlock(),e.createElementBlock("div",fi,[e.createElementVNode("img",{src:t.avatar,alt:t.title||"Avatar",class:"w-full h-full object-cover"},null,8,pi)])):t.avatarFallback?(e.openBlock(),e.createElementBlock("div",gi,e.toDisplayString(t.avatarFallback),1)):t.icon?(e.openBlock(),e.createElementBlock("div",bi,[e.unref(ye)(t.icon)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:0,style:e.normalizeStyle({color:t.iconColor})},null,8,["style"])):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi text-xl",`mdi-${t.icon}`]),style:e.normalizeStyle({color:t.iconColor})},null,6))])):e.createCommentVNode("",!0)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",hi,[e.renderSlot(n.$slots,"title",{},()=>[t.title?(e.openBlock(),e.createElementBlock("h3",yi,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0)],!0),e.renderSlot(n.$slots,"subtitle",{},()=>[t.subtitle?(e.openBlock(),e.createElementBlock("p",ki,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)],!0)]),n.$slots.actions?(e.openBlock(),e.createElementBlock("div",xi,[e.renderSlot(n.$slots,"actions",{},void 0,!0)])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default",{},void 0,!0)],16))}}),[["__scopeId","data-v-5f17bf33"]]),Ci={key:0,class:"space-y-3 animate-pulse"},Bi=le(e.defineComponent({inheritAttrs:!1,__name:"SCardContent",props:{padding:{default:void 0},align:{default:"left"},maxHeight:{default:void 0},skeleton:{type:Boolean,default:!1},skeletonLines:{default:3}},setup(t){const l=t,a=e.inject(Ge,{variant:"elevated",hoverable:!1,loading:!1,horizontal:!1}),o=e.computed(()=>({left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"})[l.align]),n=e.computed(()=>{const s={};return l.padding&&(s.padding=l.padding),l.maxHeight&&(s.maxHeight=l.maxHeight,s.overflowY="auto"),s}),r=e.computed(()=>{const s=["100%","80%","90%","70%","85%","75%","95%"];return Array.from({length:l.skeletonLines},(i,c)=>s[c%s.length])});return(s,i)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(s.$attrs,{class:e.unref(j)("s-card-content text-muted-foreground",o.value,s.$attrs.class),style:n.value}),[t.skeleton||e.unref(a).loading?(e.openBlock(),e.createElementBlock("div",Ci,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(c,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:"h-4 bg-accent rounded",style:e.normalizeStyle({width:c})},null,4))),128))])):e.renderSlot(s.$slots,"default",{key:1},void 0,!0)],16))}}),[["__scopeId","data-v-5275ff4c"]]),Si=le(e.defineComponent({inheritAttrs:!1,__name:"SCardFooter",props:{divider:{type:Boolean,default:!1},justify:{default:"end"},align:{default:"center"},gap:{default:"md"},padding:{default:void 0},stackOnMobile:{type:Boolean,default:!1}},setup(t){const l=t;e.inject(Ge,{variant:"elevated",hoverable:!1,loading:!1,horizontal:!1});const a=e.computed(()=>({start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"})[l.justify]),o=e.computed(()=>({start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"})[l.align]),n=e.computed(()=>({none:"gap-0",sm:"gap-2",md:"gap-3",lg:"gap-4"})[l.gap]),r=e.computed(()=>{const s={};return l.padding&&(s.padding=l.padding),s});return(s,i)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(s.$attrs,{class:e.unref(j)("s-card-footer flex flex-wrap",a.value,o.value,n.value,{"pt-4 mt-4 border-t border-border":t.divider,"flex-col sm:flex-row":t.stackOnMobile},s.$attrs.class),style:r.value}),[e.renderSlot(s.$slots,"default",{},void 0,!0)],16))}}),[["__scopeId","data-v-2f119c83"]]),$i={key:0,class:"absolute inset-0 bg-accent animate-pulse"},vi=["src","alt"],Ei=["src","alt","loading"],zi=["src","autoplay","loop","muted","controls"],Vi={key:4,class:"absolute inset-0 flex flex-col items-center justify-center bg-accent text-muted-foreground"},Ni={key:6,class:"absolute inset-0 flex items-center justify-center p-4"},Ti={key:7,class:"absolute top-3 right-3 z-10"},Mi=le(e.defineComponent({inheritAttrs:!1,__name:"SCardMedia",props:{src:{default:void 0},video:{default:void 0},alt:{default:""},ratio:{default:"auto"},height:{default:void 0},fit:{default:"cover"},zoom:{type:Boolean,default:!1},zoomScale:{default:1.1},overlay:{default:void 0},overlayOpacity:{default:.5},overlayMode:{default:"always"},position:{default:"top"},rounded:{default:"inherit"},autoplay:{type:Boolean,default:!1},loop:{type:Boolean,default:!0},muted:{type:Boolean,default:!0},controls:{type:Boolean,default:!1},lazy:{type:Boolean,default:!0},placeholder:{default:void 0},skeleton:{type:Boolean,default:!1}},setup(t){const l=t,a=e.inject(Ge,{variant:"elevated",hoverable:!1,loading:!1,horizontal:!1}),o=e.ref(!l.lazy),n=e.ref(!1),r=e.ref(!1),s=e.computed(()=>l.height||l.ratio==="auto"?"":{"1/1":"aspect-square","4/3":"aspect-[4/3]","16/9":"aspect-video","21/9":"aspect-[21/9]","3/4":"aspect-[3/4]","9/16":"aspect-[9/16]",auto:""}[l.ratio]),i=e.computed(()=>({cover:"object-cover",contain:"object-contain",fill:"object-fill",none:"object-none","scale-down":"object-scale-down"})[l.fit]),c=e.computed(()=>({none:"rounded-none",inherit:"",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",xl:"rounded-xl"})[l.rounded]),d=e.computed(()=>({top:"-mx-4 -mt-4 sm:-mx-5 sm:-mt-5 mb-4",bottom:"-mx-4 -mb-4 sm:-mx-5 sm:-mb-5 mt-4",left:"",right:"",background:"absolute inset-0 -z-10"})[l.position]),u=e.computed(()=>{const p={};return l.height&&(p.height=l.height),p}),f=e.computed(()=>l.overlay?{background:(l.overlay.includes("gradient"),l.overlay),opacity:String(l.overlayOpacity)}:{}),g=()=>{o.value=!0},m=()=>{r.value=!0,o.value=!0};return(p,h)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(p.$attrs,{class:e.unref(j)("s-card-media relative overflow-hidden",s.value,c.value,d.value,{"rounded-t-lg":t.position==="top"&&t.rounded==="inherit","rounded-b-lg":t.position==="bottom"&&t.rounded==="inherit","w-1/3 shrink-0":e.unref(a).horizontal&&(t.position==="left"||t.position==="right")},p.$attrs.class),style:u.value,onMouseenter:h[0]||(h[0]=x=>n.value=!0),onMouseleave:h[1]||(h[1]=x=>n.value=!1)}),[t.skeleton||e.unref(a).loading||!o.value&&!r.value?(e.openBlock(),e.createElementBlock("div",$i,[...h[2]||(h[2]=[e.createElementVNode("div",{class:"absolute inset-0 s-card-media-shimmer"},null,-1)])])):e.createCommentVNode("",!0),t.placeholder&&!o.value?(e.openBlock(),e.createElementBlock("img",{key:1,src:t.placeholder,alt:t.alt,class:e.normalizeClass(["absolute inset-0 w-full h-full blur-lg scale-110",i.value])},null,10,vi)):e.createCommentVNode("",!0),t.src&&!r.value?(e.openBlock(),e.createElementBlock("img",{key:2,src:t.src,alt:t.alt,loading:t.lazy?"lazy":"eager",class:e.normalizeClass(["w-full h-full transition-all duration-500",[i.value,{"opacity-0":!o.value,"opacity-100":o.value,"scale-100":!n.value||!t.zoom,"scale-110":n.value&&t.zoom}]]),style:e.normalizeStyle({transform:t.zoom&&n.value?`scale(${t.zoomScale})`:void 0}),onLoad:g,onError:m},null,46,Ei)):e.createCommentVNode("",!0),t.video?(e.openBlock(),e.createElementBlock("video",{key:3,src:t.video,autoplay:t.autoplay,loop:t.loop,muted:t.muted,controls:t.controls,playsinline:"",class:e.normalizeClass(["w-full h-full transition-transform duration-500",[i.value,{"scale-100":!n.value||!t.zoom,"scale-110":n.value&&t.zoom}]]),onLoadeddata:g,onError:m},null,42,zi)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock("div",Vi,[...h[3]||(h[3]=[e.createElementVNode("span",{class:"mdi mdi-image-broken-variant text-4xl mb-2"},null,-1),e.createElementVNode("span",{class:"text-sm"},"Failed to load media",-1)])])):e.createCommentVNode("",!0),t.overlay||p.$slots.overlay?(e.openBlock(),e.createElementBlock("div",{key:5,class:e.normalizeClass(["absolute inset-0 flex items-end transition-opacity duration-300",{"opacity-0":t.overlayMode==="hover"&&!n.value,"opacity-100":t.overlayMode==="always"||n.value}]),style:e.normalizeStyle(f.value)},[e.renderSlot(p.$slots,"overlay",{},void 0,!0)],6)):e.createCommentVNode("",!0),p.$slots.default?(e.openBlock(),e.createElementBlock("div",Ni,[e.renderSlot(p.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0),p.$slots.badge?(e.openBlock(),e.createElementBlock("div",Ti,[e.renderSlot(p.$slots,"badge",{},void 0,!0)])):e.createCommentVNode("",!0),p.$slots.actions?(e.openBlock(),e.createElementBlock("div",{key:8,class:e.normalizeClass(["absolute bottom-0 left-0 right-0 p-4 bg-gradient-to-t from-black/60 to-transparent transition-opacity duration-300",{"opacity-0":t.overlayMode==="hover"&&!n.value,"opacity-100":t.overlayMode==="always"||n.value}])},[e.renderSlot(p.$slots,"actions",{},void 0,!0)],2)):e.createCommentVNode("",!0)],16))}}),[["__scopeId","data-v-c3c12fa8"]]),Di=le(e.defineComponent({inheritAttrs:!1,__name:"SCardActions",props:{justify:{default:"start"},align:{default:"center"},gap:{default:"sm"},direction:{default:"row"},padding:{default:void 0},fullWidth:{type:Boolean,default:!1},stackOnMobile:{type:Boolean,default:!1},reverse:{type:Boolean,default:!1}},setup(t){const l=t;e.inject(Ge,{variant:"elevated",hoverable:!1,loading:!1,horizontal:!1});const a=e.computed(()=>({start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"})[l.justify]),o=e.computed(()=>({start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"})[l.align]),n=e.computed(()=>({none:"gap-0",xs:"gap-1",sm:"gap-2",md:"gap-3",lg:"gap-4"})[l.gap]),r=e.computed(()=>l.stackOnMobile?l.direction==="row"?l.reverse?"flex-col-reverse sm:flex-row-reverse":"flex-col sm:flex-row":l.reverse?"flex-row-reverse sm:flex-col-reverse":"flex-row sm:flex-col":{row:l.reverse?"flex-row-reverse":"flex-row",column:l.reverse?"flex-col-reverse":"flex-col"}[l.direction]),s=e.computed(()=>{const i={};return l.padding&&(i.padding=l.padding),i});return(i,c)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(i.$attrs,{class:e.unref(j)("s-card-actions flex flex-wrap",a.value,o.value,n.value,r.value,{"w-full":t.fullWidth},i.$attrs.class),style:s.value}),[e.renderSlot(i.$slots,"default",{},void 0,!0)],16))}}),[["__scopeId","data-v-b2887d81"]]),Pi=le(e.defineComponent({inheritAttrs:!1,__name:"SGlassCard",props:{size:{default:"default"},rounded:{default:"lg"},hoverable:{type:Boolean,default:!1},pressable:{type:Boolean,default:!1},clickable:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},spotlight:{type:Boolean,default:!1},spotlightColor:{default:"var(--s-primary)"},horizontal:{type:Boolean,default:!1},mediaRight:{type:Boolean,default:!1},width:{default:void 0},height:{default:void 0},maxWidth:{default:void 0},padding:{default:void 0},tilt:{type:Boolean,default:!1},tag:{default:"div"},href:{default:void 0},to:{default:void 0},tint:{default:"auto"},blur:{default:12},saturation:{default:150},highlightIntensity:{default:.3},color:{default:void 0}},emits:["click"],setup(t,{expose:l,emit:a}){const o=t,n=a;e.provide(Ge,{variant:"glass",hoverable:o.hoverable,loading:o.loading,horizontal:o.horizontal});const{theme:r}=ho(),s=e.ref(!1);let i=null;e.onMounted(()=>{if(typeof window<"u"){i=window.matchMedia("(prefers-color-scheme: dark)"),s.value=i.matches;const I=z=>{s.value=z.matches};i.addEventListener("change",I),e.onUnmounted(()=>i?.removeEventListener("change",I))}if(typeof document<"u"&&!document.getElementById("s-glass-filters")){const I=document.createElement("canvas"),z=256,Q=256;I.width=z,I.height=Q;const J=I.getContext("2d"),ae=J.createImageData(z,Q),k=.7;for(let N=0;N<Q;N++)for(let D=0;D<z;D++){const V=D/(z-1)*2-1,v=N/(Q-1)*2-1,E=1-Math.abs(V),te=1-Math.abs(v),oe=Math.pow(E,1.5)*Math.pow(te,1.5),re=Math.round(128+V*k*oe*127),U=Math.round(128+v*k*oe*127),M=(N*z+D)*4;ae.data[M]=re,ae.data[M+1]=U,ae.data[M+2]=128,ae.data[M+3]=255}J.putImageData(ae,0,0);const b=I.toDataURL("image/png"),w=document.createElementNS("http://www.w3.org/2000/svg","svg");w.id="s-glass-filters",w.setAttribute("style","position:absolute;width:0;height:0;overflow:hidden;pointer-events:none"),w.setAttribute("aria-hidden","true"),w.innerHTML=`<defs>
28
28
  <filter id="s-glass-refract" primitiveUnits="objectBoundingBox">
29
29
  <feImage href="${b}" x="0" y="0" width="1" height="1" result="lens" />
30
30
  <feDisplacementMap in="SourceGraphic" in2="lens" scale="0.3" xChannelSelector="R" yChannelSelector="G" />