@sakoa/ui 0.1.0 → 0.1.1

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"},w=s.value?"opacity-50 cursor-not-allowed":"",y=r.value&&!s.value?"bg-accent/50":"";return j(p,i.value?.header,h[m],w,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",Xn,[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,Yn))}}),[["__scopeId","data-v-e7c21eb1"]]),Zn={key:0,class:"border-b border-border"},Qn=["aria-hidden"],_n={key:1,class:"border-b border-border"},er=e.defineComponent({inheritAttrs:!1,__name:"SAccordionContent",props:{contentClass:{default:""}},setup(t){const l=t,a=e.inject(Ct),o=e.inject(lt);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",Zn)):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,Qn),c.value&&n.value?(e.openBlock(),e.createElementBlock("div",_n)):e.createCommentVNode("",!0)],64))}}),tr=["aria-expanded","aria-disabled"],or={key:0,class:"flex-1 truncate text-foreground"},ar={key:1,class:"flex-1 text-muted-foreground"},lr={class:"flex items-center justify-between px-4 py-3 border-b border-border bg-muted"},nr={class:"flex items-center gap-1 relative"},rr={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"},sr=["onClick"],ir=["data-current-year","onClick"],cr={class:"grid grid-cols-7 px-3 py-2 border-b border-border"},dr={class:"p-3"},ur=["disabled","onClick","onMouseenter"],mr={key:0,class:"px-4 py-3 border-t border-border bg-muted"},fr={class:"flex items-center justify-center gap-3"},pr=["value"],gr=["value"],br={key:0,class:"flex flex-col gap-1 ml-2"},hr={key:1,class:"flex items-center justify-between px-4 py-2 border-t border-border"},yr={key:1},kr=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),w=e.ref(0),y=e.ref(!0),S=e.ref([]);let F=0;const H=e.ref({top:0,left:0,width:0,placement:"bottom"}),Y=["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 R=[...K];for(let W=0;W<a.firstDayOfWeek;W++)R.push(R.shift());return R}),J=e.computed(()=>{if(!a.modelValue)return"";if(a.mode==="single"&&a.modelValue instanceof Date)return Z(a.modelValue);if(a.mode==="range"&&Array.isArray(a.modelValue)&&a.modelValue.length===2){const[R,W]=a.modelValue;return`${Z(R)} - ${Z(W)}`}if(a.mode==="multiple"&&Array.isArray(a.modelValue)){const R=a.modelValue;return R.length<=2?R.map(W=>Z(W)).join(", "):`${R.length} dates selected`}return""}),G=e.computed(()=>a.modelValue?Array.isArray(a.modelValue)?a.modelValue.length>0:!0:!1),I=e.computed(()=>{const R=d.value.getFullYear(),W=d.value.getMonth(),ne=new Date(R,W,1),pe=new Date(R,W+1,0),fe=[];let xe=ne.getDay()-a.firstDayOfWeek;xe<0&&(xe+=7);for(let Ce=xe-1;Ce>=0;Ce--){const ke=new Date(R,W,-Ce);fe.push({date:ke,isCurrentMonth:!1,isToday:k(ke),isSelected:b(ke),isInRange:x(ke),isRangeStart:z(ke),isRangeEnd:D(ke),isDisabled:E(ke)})}for(let Ce=1;Ce<=pe.getDate();Ce++){const ke=new Date(R,W,Ce);fe.push({date:ke,isCurrentMonth:!0,isToday:k(ke),isSelected:b(ke),isInRange:x(ke),isRangeStart:z(ke),isRangeEnd:D(ke),isDisabled:E(ke)})}const pt=42-fe.length;for(let Ce=1;Ce<=pt;Ce++){const ke=new Date(R,W+1,Ce);fe.push({date:ke,isCurrentMonth:!1,isToday:k(ke),isSelected:b(ke),isInRange:x(ke),isRangeStart:z(ke),isRangeEnd:D(ke),isDisabled:E(ke)})}return fe}),V=e.computed(()=>{const R=[];for(let W=0;W<I.value.length;W+=7)R.push(I.value.slice(W,W+7));return R}),Q=e.computed(()=>{const R=new Date().getFullYear(),W=[];let ne=R-100,pe=R+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 Z(R){if(a.enableTime){const W=R.getHours(),ne=R.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`${$[R.getMonth()]} ${R.getDate()}, ${R.getFullYear()} ${pe}`}return`${$[R.getMonth()]} ${R.getDate()}, ${R.getFullYear()}`}function ae(R,W){return R.getFullYear()===W.getFullYear()&&R.getMonth()===W.getMonth()&&R.getDate()===W.getDate()}function k(R){return ae(R,new Date)}function b(R){if(!a.modelValue)return!1;if(a.mode==="single"&&a.modelValue instanceof Date)return ae(R,a.modelValue);if(a.mode==="range"&&Array.isArray(a.modelValue)){const[W,ne]=a.modelValue;return!!(W&&ae(R,W)||ne&&ae(R,ne))}return a.mode==="multiple"&&Array.isArray(a.modelValue)?a.modelValue.some(W=>ae(R,W)):!1}function x(R){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:R>W&&R<ne}function z(R){if(a.mode!=="range")return!1;if(f.value&&!u.value)return ae(R,f.value);if(Array.isArray(a.modelValue)&&a.modelValue.length>=1){const W=a.modelValue[0];return ae(R,W)}return!1}function D(R){if(a.mode!=="range")return!1;if(Array.isArray(a.modelValue)&&a.modelValue.length===2){const W=a.modelValue[1];return ae(R,W)}return!1}function E(R){if(a.disabledWeekdays?.includes(R.getDay()))return!0;if(a.minDate){const W=new Date(a.minDate);W.setHours(0,0,0,0);const ne=new Date(R);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(R);if(ne.setHours(0,0,0,0),ne>W)return!0}return a.disabledDates?typeof a.disabledDates=="function"?a.disabledDates(R):a.disabledDates.some(W=>ae(R,W)):!1}function v(R,W){const ne=W.getBoundingClientRect(),pe=Math.max(ne.width,ne.height)*2,fe=R.clientX-ne.left-pe/2,xe=R.clientY-ne.top-pe/2,pt=F++;S.value.push({id:pt,x:fe,y:xe,size:pe}),setTimeout(()=>{S.value=S.value.filter(Ce=>Ce.id!==pt)},600)}function N(R,W){if(E(R))return;W?.currentTarget&&v(W,W.currentTarget);const ne=new Date(R);if(a.enableTime&&ne.setHours(h.value,w.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,xe=pe<fe?[pe,fe]:[fe,pe];o("update:modelValue",xe),f.value=null,a.closeOnSelect&&!a.enableTime&&C()}else if(a.mode==="multiple"){const pe=a.modelValue||[],fe=pe.findIndex(xe=>ae(xe,ne));if(fe>=0){const xe=[...pe];xe.splice(fe,1),o("update:modelValue",xe)}else o("update:modelValue",[...pe,ne])}}function te(){const R=new Date(d.value);R.setMonth(R.getMonth()-1),d.value=R,o("monthChange",R.getMonth(),R.getFullYear())}function oe(){const R=new Date(d.value);R.setMonth(R.getMonth()+1),d.value=R,o("monthChange",R.getMonth(),R.getFullYear())}function re(R){const W=new Date(d.value);W.setMonth(R),d.value=W,o("monthChange",R,W.getFullYear())}function U(R){const W=new Date(d.value);W.setFullYear(R),d.value=W,o("yearChange",R)}function M(){d.value=new Date}function L(R){R?.stopPropagation(),o("update:modelValue",null),f.value=null,o("clear")}function de(){if(!r.value)return;const R=r.value.getBoundingClientRect(),W=window.innerHeight,ne=W-R.bottom,pe=R.top;ne>=380||ne>=pe?H.value={top:R.bottom+8,left:R.left,width:Math.max(R.width,320),placement:"bottom"}:H.value={bottom:W-R.top+8,left:R.left,width:Math.max(R.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(),w.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(),w.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 _(R){const W=R.relatedTarget;s.value?.contains(W)||(c.value=!1)}function ge(R){const W=R.target;r.value?.contains(W)||s.value?.contains(W)||C()}function ye(R){R.key==="Escape"?(C(),r.value?.focus()):(R.key==="Enter"||R.key===" ")&&(i.value||(R.preventDefault(),ue()))}function Be(R){a.mode==="range"&&f.value&&(u.value=R)}function Fe(){u.value=null}function Ve(R){h.value=(h.value+R+24)%24,y.value=h.value<12,et()}function ee(R){w.value=(w.value+R+60)%60,et()}function se(R){const ne=R.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),et()}function P(R){const ne=R.target.value.replace(/\D/g,"");if(!ne)return;let pe=parseInt(ne,10);pe=Math.max(0,Math.min(59,pe)),w.value=pe,et()}function q(R){R.preventDefault();const W=R.deltaY<0?1:-1;Ve(W)}function X(R){R.preventDefault();const W=R.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),et()}function he(){if(a.timeFormat==="12h"){const R=h.value%12||12;return String(R).padStart(2,"0")}return String(h.value).padStart(2,"0")}function je(R){re(R),g.value=!1}function _f(R){U(R),m.value=!1}function ep(){m.value=!1,g.value=!g.value}function tp(){g.value=!1,m.value=!m.value,m.value&&e.nextTick(()=>{if(p.value){const R=p.value.querySelector("[data-current-year]");R&&R.scrollIntoView({block:"center"})}})}function et(){if(a.mode==="single"&&a.modelValue instanceof Date){const R=new Date(a.modelValue);R.setHours(h.value,w.value),o("update:modelValue",R)}}e.watch(i,R=>{R?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 qe=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]),op=e.computed(()=>({none:"rounded-none",sm:"rounded",md:"rounded-lg",lg:"rounded-xl",full:"rounded-full"})[a.rounded]),ap=e.computed(()=>{const R=a.color;return a.variant==="filled"?{"--dp-bg":"var(--s-accent)","--dp-bg-focus":"var(--s-accent)","--dp-border":"transparent","--dp-border-focus":R}:a.variant==="ghost"?{"--dp-bg":"transparent","--dp-bg-focus":"var(--s-accent)","--dp-border":"transparent","--dp-border-focus":R}:{"--dp-bg":"var(--s-background)","--dp-bg-focus":"var(--s-background)","--dp-border":"var(--s-border)","--dp-border-focus":R}}),lp=e.computed(()=>a.labelPlacement==="left"?"flex items-center gap-3":"flex flex-col"),np=e.computed(()=>{if(a.teleport===!0)return"body";if(typeof a.teleport=="string")return a.teleport});return(R,W)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps(R.$attrs,{class:e.unref(j)(lp.value)}),[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:e.normalizeClass(["font-medium text-foreground shrink-0",qe.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",[qe.value.trigger,qe.value.padding,op.value,{"opacity-50 cursor-not-allowed":t.disabled,"cursor-default":t.readonly}]]),style:e.normalizeStyle(ap.value),onClick:T,onFocus:O,onBlur:_,onKeydown:ye},[e.createElementVNode("span",{class:e.normalizeClass(["mdi mdi-calendar-blank-outline mr-2 text-muted-foreground",qe.value.icon])},null,2),G.value?(e.openBlock(),e.createElementBlock("span",or,e.toDisplayString(J.value),1)):(e.openBlock(),e.createElementBlock("span",ar,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",qe.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:L},[...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",[qe.value.icon,i.value?"mdi-chevron-up":"mdi-chevron-down"]])},null,2))],46,tr),(e.openBlock(),e.createBlock(e.Teleport,{to:np.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",lr,[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",nr,[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:ep},[e.createTextVNode(e.toDisplayString(Y[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",rr,[(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=>je(pe)},e.toDisplayString(ne),15,sr)),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:tp},[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=>_f(ne)},e.toDisplayString(ne),15,ir))),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",cr,[(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",dr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.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",[qe.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:xe=>N(fe.date,xe),onMouseenter:xe=>Be(fe.date),onMouseleave:Fe},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,xe=>(e.openBlock(),e.createElementBlock("span",{key:xe.id,class:"absolute rounded-full bg-white/30 animate-ripple pointer-events-none",style:e.normalizeStyle({left:`${xe.x}px`,top:`${xe.y}px`,width:`${xe.size}px`,height:`${xe.size}px`})},null,4))),128)),e.createTextVNode(" "+e.toDisplayString(fe.date.getDate()),1)],46,ur))),128))]))),128))]),t.enableTime?(e.openBlock(),e.createElementBlock("div",mr,[e.createElementVNode("div",fr,[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=>Ve(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,pr),e.createElementVNode("button",{type:"button",class:"p-0.5 rounded hover:bg-accent text-muted-foreground",onClick:W[3]||(W[3]=ne=>Ve(-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:X},[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(w.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,gr),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",br,[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",hr,[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",yr)),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"]]),Bt=le(e.defineComponent({__name:"SColorPickerSpectrum",setup(t){const l=e.inject($e);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 w=a.value.getBoundingClientRect(),y=Math.max(0,Math.min(h.clientX-w.left,w.width)),S=Math.max(0,Math.min(h.clientY-w.top,w.height));l.hsva.value.s=y/w.width*100,l.hsva.value.v=100-S/w.height*100,l.emitInput()}function c(h){if(!a.value||!l||!h.touches[0])return;const w=a.value.getBoundingClientRect(),y=Math.max(0,Math.min(h.touches[0].clientX-w.left,w.width)),S=Math.max(0,Math.min(h.touches[0].clientY-w.top,w.height));l.hsva.value.s=y/w.width*100,l.hsva.value.v=100-S/w.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,w)=>(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"]]),St=le(e.defineComponent({__name:"SColorPickerHueSlider",setup(t){const l=e.inject($e);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"]]),$t=le(e.defineComponent({__name:"SColorPickerAlphaSlider",setup(t){const l=e.inject($e);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:w}=l.currentRgb.value;return`linear-gradient(to right, transparent, rgb(${p}, ${h}, ${w}))`});function s(p){if(!a.value||!l)return;const h=a.value.getBoundingClientRect(),w=Math.max(0,Math.min(p.clientX-h.left,h.width));l.hsva.value.a=w/h.width,l.emitInput()}function i(p){if(!a.value||!l||!p.touches[0])return;const h=a.value.getBoundingClientRect(),w=Math.max(0,Math.min(p.touches[0].clientX-h.left,h.width));l.hsva.value.a=w/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"]]),xr={class:"s-color-picker__preview"},vt=le(e.defineComponent({__name:"SColorPickerPreview",setup(t){const l=e.inject($e);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",xr,[e.createElementVNode("div",{class:"s-color-picker__preview-color",style:e.normalizeStyle({backgroundColor:a.value})},null,4)]))}}),[["__scopeId","data-v-1a4eaf85"]]),wr=["disabled"],Et=le(e.defineComponent({__name:"SColorPickerEyeDropper",setup(t){const l=e.inject($e);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,wr)):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-f8566df2"]]),Cr={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"},Br={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"},zt=le(e.defineComponent({__name:"SColorPickerCopy",setup(t){const l=e.inject($e);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",Br,[...r[1]||(r[1]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Cr,[...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"]]),Sr={key:0,class:"s-color-picker__inputs"},$r={class:"s-color-picker__format-toggle"},vr={key:0,class:"s-color-picker__input-group s-color-picker__input-group--hex"},Er=["disabled"],zr={key:1,class:"s-color-picker__input-group s-color-picker__input-group--rgb"},Vr={class:"s-color-picker__input-field"},Nr=["disabled"],Tr={class:"s-color-picker__input-field"},Mr=["disabled"],Dr={class:"s-color-picker__input-field"},Pr=["disabled"],Ar={key:0,class:"s-color-picker__input-field"},Ir=["disabled"],Rr={key:2,class:"s-color-picker__input-group s-color-picker__input-group--hsl"},Lr={class:"s-color-picker__input-field"},Fr=["disabled"],jr={class:"s-color-picker__input-field"},Or=["disabled"],Hr={class:"s-color-picker__input-field"},Wr=["disabled"],Kr={key:0,class:"s-color-picker__input-field"},Ur=["disabled"],Vt=le(e.defineComponent({__name:"SColorPickerInputs",setup(t){const l=e.inject($e);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",Sr,[e.createElementVNode("div",$r,[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",vr,[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,Er),[[e.vModelText,a.value]])])):e.createCommentVNode("",!0),e.unref(l).activeFormat.value==="rgb"?(e.openBlock(),e.createElementBlock("div",zr,[e.createElementVNode("div",Vr,[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,Nr),[[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",Tr,[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,Mr),[[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",Dr,[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,Pr),[[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",Ar,[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,Ir),[[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",Rr,[e.createElementVNode("div",Lr,[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,Fr),[[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",jr,[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,Or),[[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",Hr,[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,Wr),[[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",Kr,[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,Ur),[[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"]]),Gr={key:0,class:"s-color-picker__presets"},qr={class:"s-color-picker__presets-label"},Yr={class:"s-color-picker__swatches"},Xr=["title","disabled","onClick"],Nt=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($e);return l||console.warn("[SColorPickerPresets] Must be used inside SColorPicker"),(a,o)=>e.unref(l)&&t.presets.length?(e.openBlock(),e.createElementBlock("div",Gr,[e.createElementVNode("div",qr,e.toDisplayString(t.label),1),e.createElementVNode("div",Yr,[(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,Xr))),128))])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-9c74d25d"]]),Jr={key:0,class:"s-color-picker__recent"},Zr={class:"s-color-picker__presets-label"},Qr={class:"s-color-picker__swatches"},_r=["title","disabled","onClick"],Tt=le(e.defineComponent({__name:"SColorPickerRecent",props:{label:{default:"Recent"}},setup(t){const l=e.inject($e);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",Jr,[e.createElementVNode("div",Zr,e.toDisplayString(t.label),1),e.createElementVNode("div",Qr,[(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,_r))),128))])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-63413e1c"]]),es=["disabled"],ts={class:"s-color-picker__trigger-value"},os=["disabled"],as={key:1,class:"s-color-picker__sliders"},ls={key:2,class:"s-color-picker__preview-row"},ns={class:"s-color-picker__tools"},$e=Symbol("SColorPickerContext"),rs={components:{SColorPickerSpectrum:Bt,SColorPickerHueSlider:St,SColorPickerAlphaSlider:$t,SColorPickerPreview:vt,SColorPickerEyeDropper:Et,SColorPickerCopy:zt,SColorPickerInputs:Vt,SColorPickerPresets:Nt,SColorPickerRecent:Tt}},ss=e.defineComponent({...rs,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,x,z){const D=v=>Math.round(v).toString(16).padStart(2,"0"),E=`#${D(k)}${D(b)}${D(x)}`;return z!==void 0&&z<1?E+D(z*255):E}function m(k,b,x){k/=255,b/=255,x/=255;const z=Math.max(k,b,x),D=Math.min(k,b,x),E=z-D;let v=0;const N=z===0?0:E/z*100,te=z*100;if(z!==D){switch(z){case k:v=(b-x)/E+(b<x?6:0);break;case b:v=(x-k)/E+2;break;case x:v=(k-b)/E+4;break}v*=60}return{h:v,s:N,v:te}}function p(k,b,x){b/=100,x/=100;const z=x*b,D=z*(1-Math.abs(k/60%2-1)),E=x-z;let v=0,N=0,te=0;return k>=0&&k<60?(v=z,N=D,te=0):k>=60&&k<120?(v=D,N=z,te=0):k>=120&&k<180?(v=0,N=z,te=D):k>=180&&k<240?(v=0,N=D,te=z):k>=240&&k<300?(v=D,N=0,te=z):(v=z,N=0,te=D),{r:Math.round((v+E)*255),g:Math.round((N+E)*255),b:Math.round((te+E)*255)}}function h(k,b,x){k/=255,b/=255,x/=255;const z=Math.max(k,b,x),D=Math.min(k,b,x);let E=0,v=0;const N=(z+D)/2;if(z!==D){const te=z-D;switch(v=N>.5?te/(2-z-D):te/(z+D),z){case k:E=((b-x)/te+(b<x?6:0))/6;break;case b:E=((x-k)/te+2)/6;break;case x:E=((k-b)/te+4)/6;break}}return{h:Math.round(E*360),s:Math.round(v*100),l:Math.round(N*100)}}const w=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:x}=w.value;return g(k,b,x,a.showAlpha?d.value.a:void 0)}),S=e.computed(()=>{const{r:k,g:b,b:x}=w.value;return{...h(k,b,x),a:d.value.a}}),F=e.computed(()=>{const{r:k,g:b,b:x,a:z}=w.value,{h:D,s:E,l:v}=S.value;switch(s.value){case"rgb":return a.showAlpha?`rgba(${k}, ${b}, ${x}, ${z.toFixed(2)})`:`rgb(${k}, ${b}, ${x})`;case"hsl":return a.showAlpha?`hsla(${D}, ${E}%, ${v}%, ${z.toFixed(2)})`:`hsl(${D}, ${E}%, ${v}%)`;default:return y.value.toUpperCase()}}),H=e.computed(()=>{const{r:k,g:b,b:x,a:z}=w.value,{h:D,s:E,l:v}=S.value;switch(a.format){case"rgb":return a.showAlpha?`rgba(${k}, ${b}, ${x}, ${z.toFixed(2)})`:`rgb(${k}, ${b}, ${x})`;case"hsl":return a.showAlpha?`hsla(${D}, ${E}%, ${v}%, ${z.toFixed(2)})`:`hsl(${D}, ${E}%, ${v}%)`;default:return y.value.toUpperCase()}});function Y(k){if(!k)return;if(k.startsWith("#")){const z=f(k),D=m(z.r,z.g,z.b);d.value={...D,a:z.a};return}const b=k.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/);if(b){const z=parseInt(b[1]),D=parseInt(b[2]),E=parseInt(b[3]),v=b[4]?parseFloat(b[4]):1,N=m(z,D,E);d.value={...N,a:v};return}const x=k.match(/hsla?\((\d+),\s*(\d+)%?,\s*(\d+)%?(?:,\s*([\d.]+))?\)/);if(x){const z=parseInt(x[1]),D=parseInt(x[2]),E=parseInt(x[3]),v=x[4]?parseFloat(x[4]):1,N=D/100,te=E/100,oe=te+N*Math.min(te,1-te),re=oe===0?0:2*(1-te/oe);d.value={h:z,s:re*100,v:oe*100,a:v}}}e.watch(()=>a.modelValue,k=>{k&&Y(k)},{immediate:!0});function $(){o("update:modelValue",H.value),o("change",H.value),J(y.value)}function K(){o("input",H.value)}function A(k){a.disabled||a.readonly||(Y(k),$())}function J(k){const b=k.toUpperCase();i.value=[b,...i.value.filter(x=>x!==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 V(){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 Z=e.computed(()=>!!n.default),ae={hsva:d,currentRgb:w,currentHex:y,currentHsl:S,displayValue:F,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:Y,emitChange:$,emitInput:K,cycleFormat:I,selectPreset:A,addToRecent:J,hsvToRgb:p,rgbToHsv:m,rgbToHsl:h,hexToRgb:f,rgbToHex:g};return e.provide($e,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(V,["stop"])},[e.renderSlot(k.$slots,"trigger",{color:y.value,displayValue:F.value,rgb:w.value,hsl:S.value,isOpen:r.value,toggle:V,disabled:t.disabled},void 0,!0)])):e.createCommentVNode("",!0),t.mode==="dropdown"&&!k.$slots.trigger&&t.triggerStyle==="button"&&!Z.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(V,["stop"])},[e.createElementVNode("span",{class:"s-color-picker__trigger-swatch",style:e.normalizeStyle({backgroundColor:y.value})},null,4),e.createElementVNode("span",ts,e.toDisplayString(F.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,es)):e.createCommentVNode("",!0),t.mode==="dropdown"&&!k.$slots.trigger&&t.triggerStyle==="swatch"&&!Z.value?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"s-color-picker__trigger-swatch-bar",disabled:t.disabled,onClick:e.withModifiers(V,["stop"])},[e.createElementVNode("span",{class:"s-color-picker__trigger-swatch-bar-color",style:e.normalizeStyle({backgroundColor:t.showAlpha?`rgba(${w.value.r}, ${w.value.g}, ${w.value.b}, ${d.value.a})`:y.value})},null,4)],8,os)):e.createCommentVNode("",!0),Z.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:w.value,hsl:S.value,displayValue:F.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(Bt,{key:0})):e.createCommentVNode("",!0),t.showSliders?(e.openBlock(),e.createElementBlock("div",as,[e.createVNode(St),t.showAlpha?(e.openBlock(),e.createBlock($t,{key:0})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.showPreview?(e.openBlock(),e.createElementBlock("div",ls,[e.createVNode(vt),e.createElementVNode("div",ns,[t.showEyeDropper?(e.openBlock(),e.createBlock(Et,{key:0})):e.createCommentVNode("",!0),e.createVNode(zt)])])):e.createCommentVNode("",!0),t.showInputs?(e.openBlock(),e.createBlock(Vt,{key:3})):e.createCommentVNode("",!0),t.showPresets&&t.presets.length?(e.openBlock(),e.createBlock(Nt,{key:4,presets:t.presets},null,8,["presets"])):e.createCommentVNode("",!0),t.showRecent?(e.openBlock(),e.createBlock(Tt,{key:5})):e.createCommentVNode("",!0),e.renderSlot(k.$slots,"panel-after",{},void 0,!0)],2)),[[e.vShow,t.mode==="inline"||r.value]])],16))}}),is=le(ss,[["__scopeId","data-v-e1189c1e"]]),cs=["for"],ds={key:0,class:"text-red-500 ml-0.5"},us={class:"flex-1 min-w-0"},ms={class:"s-input-container relative"},fs={key:1,class:"text-muted-foreground text-sm"},ps=["id","name","type","value","placeholder","disabled","readonly","required","autocomplete","spellcheck","inputmode","min","max","step","maxlength","aria-label","aria-describedby","aria-invalid","aria-required"],gs=["id","name","value","placeholder","disabled","readonly","required","autocomplete","spellcheck","rows","maxlength","aria-label","aria-describedby","aria-invalid","aria-required"],bs=["for"],hs={key:0,class:"text-red-500 ml-0.5"},ys={key:0,class:"mdi mdi-loading animate-spin text-muted-foreground"},ks={key:1,class:"text-muted-foreground text-sm"},xs=["aria-label"],ws=["aria-selected","onMousedown","onMouseenter"],Cs={class:"text-muted-foreground"},Bs=["id"],Ss={key:"error",class:"text-xs text-red-500 flex items-center gap-1"},$s={key:"success",class:"text-xs text-green-500 flex items-center gap-1"},vs={key:"warning",class:"text-xs text-amber-500 flex items-center gap-1"},Es={key:"hint",class:"text-xs text-muted-foreground"},zs={key:"empty"},Vs=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 w=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),F=e.computed(()=>o.labelPlacement==="floating"||o.labelPlacement==="inside"),H=e.computed(()=>s.value||w.value),Y=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(()=>Y.value||o.error?"error":$.value||o.success?"success":K.value||o.warning?"warning":null),J=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),V=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]),Z=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]:""),x=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"}),z=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}}),E=e.computed(()=>{if(F.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 ${V.value.label}`;if(F.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}),N=e.computed(()=>{const ee=!!o.iconLeft||!!o.prefix,se=!!o.iconRight||!!o.suffix||o.clearable||o.showPasswordToggle||o.loading||J.value;let P=V.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},L=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 X=q.split(".");if(X.length===2&&X[1].length>o.decimalPlaces){ee.preventDefault();return}}},ue=ee=>{const se=ee.target;let P=se.value;o.decimalPlaces!==void 0&&(P=L(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()})},ye=()=>{n("update:modelValue",""),n("clear"),c.value=null,e.nextTick(()=>{r.value?.focus()})},Be=()=>{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",E.value,t.wrapperClass,ee.$attrs.class)}),[t.label&&!F.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",ds,"*")):e.createCommentVNode("",!0)],10,cs)):e.createCommentVNode("",!0),e.createElementVNode("div",us,[e.createElementVNode("div",ms,[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",[V.value.icon,z.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.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["mdi",`mdi-${t.iconLeft}`])},null,2)):e.createCommentVNode("",!0),t.prefix?(e.openBlock(),e.createElementBlock("span",fs,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:F.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":Y.value||$.value||K.value||t.hint?f.value:t.ariaDescribedBy,"aria-invalid":!!Y.value,"aria-required":t.required,class:e.normalizeClass(["s-input w-full outline-none transition-all duration-200 text-foreground placeholder:text-muted-foreground",[N.value,Q.value,Z.value,ae.value,b.value,t.inputClass,{"opacity-50 cursor-not-allowed":t.disabled,"cursor-wait":t.loading,"py-2":F.value}]]),style:e.normalizeStyle(k.value),onInput:ue,onFocus:C,onBlur:T,onChange:O,onKeydown:_,onBeforeinput:de},null,46,ps)):(e.openBlock(),e.createElementBlock("textarea",{key:2,ref_key:"inputRef",ref:r,id:u.value,name:t.name,value:t.modelValue,placeholder:F.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":Y.value||$.value||K.value||t.hint?f.value:t.ariaDescribedBy,"aria-invalid":!!Y.value,"aria-required":t.required,class:e.normalizeClass(["s-input w-full outline-none transition-all duration-200 text-foreground placeholder:text-muted-foreground",[V.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,Z.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,gs)),t.label&&F.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?[V.value.floatLabelActive,t.color?"":"text-primary","bg-background px-1 -ml-1"]:["top-1/2 -translate-y-1/2",V.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",hs,"*")):e.createCommentVNode("",!0)],14,bs)):e.createCommentVNode("",!0),t.iconRight||t.suffix||t.clearable||t.showPasswordToggle||t.loading||J.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",[V.value.icon,t.size==="small"?"pr-2.5":t.size==="large"?"pr-4":"pr-3"]])},[t.loading?(e.openBlock(),e.createElementBlock("span",ys)):t.clearable&&w.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:ye})):J.value&&!t.iconRight?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi",`mdi-${J.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:Be},null,2)):e.createCommentVNode("",!0),e.renderSlot(ee.$slots,"suffix",{},()=>[t.iconRight?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["mdi",`mdi-${t.iconRight}`,z.value]),style:e.normalizeStyle(t.iconColor?{color:t.iconColor}:D.value)},null,6)):e.createCommentVNode("",!0),t.suffix?(e.openBlock(),e.createElementBlock("span",ks,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(X=>ge(P),["prevent"]),onMouseenter:X=>m.value=q},[t.type==="email"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",Cs,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,ws))),128))],8,xs)):e.createCommentVNode("",!0)]),_:1})]),Y.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(()=>[Y.value?(e.openBlock(),e.createElementBlock("p",Ss,[se[0]||(se[0]=e.createElementVNode("span",{class:"mdi mdi-alert-circle text-sm"},null,-1)),e.createTextVNode(" "+e.toDisplayString(Y.value),1)])):$.value?(e.openBlock(),e.createElementBlock("p",$s,[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",vs,[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",Es,e.toDisplayString(t.hint),1)):(e.openBlock(),e.createElementBlock("span",zs))]),_: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",x.value])},e.toDisplayString(y.value)+" / "+e.toDisplayString(t.maxLength),3)):e.createCommentVNode("",!0)],8,Bs)):e.createCommentVNode("",!0)])],16))}}),[["__scopeId","data-v-f93340c9"]]),xo=Ae("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"}}),nt=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(xo({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))}}),Ns=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=Ae("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))}}),Ts={key:0,class:"text-xs text-muted-foreground"},Ms=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",Ts,e.toDisplayString(t.separator),1)):e.createCommentVNode("",!0),e.createVNode(nt,{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))}}),Ds=["aria-expanded","aria-disabled"],Ps=["disabled"],As={key:1},Is={key:1,class:"p-2 border-b border-border"},Rs={class:"relative"},Ls=["placeholder"],Fs={key:0,class:"my-1 h-px bg-border/60"},js={key:1,class:"px-2.5 pt-2 pb-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground"},Os=["tabindex","onClick","onMouseenter"],Hs={class:"flex-1 min-w-0"},Ws={class:"truncate"},Ks={class:"flex items-center gap-2 ml-4 shrink-0"},Us={key:0,class:"px-1.5 py-0.5 text-[10px] font-mono rounded bg-accent text-muted-foreground border border-border"},Gs={key:2,class:"px-4 py-8 text-center"},Mt=Symbol("SDropdownContext"),qs=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"),w=e.computed(()=>{if(!o.items||!d.value)return o.items;const E=d.value.toLowerCase();return o.items.filter(v=>v.divider||v.header?!0:v.label.toLowerCase().includes(E))}),y=e.computed(()=>{if(o.teleport===!0)return"body";if(typeof o.teleport=="string")return o.teleport}),S=e.computed(()=>{const E={zIndex:o.zIndex.toString(),maxHeight:o.maxHeight};return o.width&&(E.width=typeof o.width=="number"?`${o.width}px`:o.width),o.minWidth&&(E.minWidth=o.minWidth),g.value.top!==void 0&&(E.top=`${g.value.top}px`),g.value.bottom!==void 0&&(E.bottom=`${g.value.bottom}px`),g.value.left!==void 0&&(E.left=`${g.value.left}px`),g.value.right!==void 0&&(E.right=`${g.value.right}px`),E}),F=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]),Y=e.computed(()=>{const E=g.value.placement,v=E.startsWith("top"),N=E.startsWith("bottom"),te=E.startsWith("left");return E.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":N?"-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":N?"-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 E=r.value.getBoundingClientRect(),v={width:window.innerWidth,height:window.innerHeight},N=o.offset;let te=o.placement,oe,re,U,M;({top:()=>{re=v.height-E.top+N,U=E.left+E.width/2},"top-start":()=>{re=v.height-E.top+N,U=E.left},"top-end":()=>{re=v.height-E.top+N,M=v.width-E.right},bottom:()=>{oe=E.bottom+N,U=E.left+E.width/2},"bottom-start":()=>{oe=E.bottom+N,U=E.left},"bottom-end":()=>{oe=E.bottom+N,M=v.width-E.right},left:()=>{oe=E.top+E.height/2,M=v.width-E.left+N},"left-start":()=>{oe=E.top,M=v.width-E.left+N},"left-end":()=>{re=v.height-E.bottom,M=v.width-E.left+N},right:()=>{oe=E.top+E.height/2,U=E.right+N},"right-start":()=>{oe=E.top,U=E.right+N},"right-end":()=>{re=v.height-E.bottom,U=E.right+N}})[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-E.top+N):te.startsWith("top")&&re!==void 0&&v.height-re+de>v.height-10&&(te=te.replace("top","bottom"),re=void 0,oe=E.bottom+N),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"))},J=()=>{c.value?A():K()},G=E=>{o.trigger==="click"&&!o.disabled&&(E.preventDefault(),J())},I=E=>{o.trigger==="context"&&!o.disabled&&(E.preventDefault(),J())},V=()=>{o.trigger==="hover"&&!o.disabled&&(m=setTimeout(K,o.showDelay))},Q=()=>{o.trigger==="hover"&&!o.disabled&&(p=setTimeout(A,o.hideDelay))},Z=()=>{o.trigger==="hover"&&p&&(clearTimeout(p),p=null)},ae=()=>{o.trigger==="hover"&&(p=setTimeout(A,o.hideDelay))},k=E=>{const v=E.target;r.value&&s.value&&!r.value.contains(v)&&!s.value.contains(v)&&A()},b=E=>{if(!c.value){(E.key==="Enter"||E.key===" "||E.key==="ArrowDown")&&(E.preventDefault(),K());return}const v=f.value.filter(N=>!N.disabled);switch(E.key){case"Escape":E.preventDefault(),A(),r.value?.focus();break;case"ArrowDown":E.preventDefault(),u.value=Math.min(u.value+1,v.length-1),u.value<0&&(u.value=0);break;case"ArrowUp":E.preventDefault(),u.value=Math.max(u.value-1,0);break;case"Home":E.preventDefault(),u.value=0;break;case"End":E.preventDefault(),u.value=v.length-1;break;case"Enter":case" ":E.preventDefault(),u.value>=0&&v[u.value]&&D(v[u.value].key);break;case"Tab":A();break}},x=E=>{const v=f.value.findIndex(N=>N.key===E.key);return v>=0?(f.value[v]=E,v):(f.value.push(E),f.value.length-1)},z=E=>{const v=f.value.findIndex(N=>N.key===E);v>=0&&f.value.splice(v,1)},D=E=>{const v=o.items?.find(N=>N.key===E);n("select",E,v),v?.onClick&&v.onClick(),o.closeOnSelect&&A()};return e.watch(()=>o.visible,E=>{h.value&&E!==void 0&&(E?K():A())}),e.watch(c,E=>{E?(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(Mt,{size:o.size,color:o.color,closeOnSelect:o.closeOnSelect,highlightedIndex:u,registerItem:x,unregisterItem:z,selectItem:D,close:A}),l({open:K,close:A,toggle:J}),(E,v)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:e.unref(j)("s-dropdown relative inline-block",E.$attrs.class??"")},E.$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:V,onMouseleave:Q,onKeydown:b},[e.renderSlot(E.$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",[F.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.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["mdi",`mdi-${t.icon}`,F.value.icon])},null,2)):e.createCommentVNode("",!0),t.label?(e.openBlock(),e.createElementBlock("span",As,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),t.hideArrow?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi mdi-chevron-down transition-transform duration-200",[F.value.icon,{"rotate-180":c.value}]])},null,2))],10,Ps)],!0)],40,Ds),y.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:y.value,disabled:!y.value},[e.createVNode(e.Transition,{"enter-active-class":Y.value.enter,"enter-from-class":Y.value.enterFrom,"enter-to-class":Y.value.enterTo,"leave-active-class":Y.value.leave,"leave-from-class":Y.value.leaveFrom,"leave-to-class":Y.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",[F.value.menu,H.value]]),style:e.normalizeStyle(S.value),onMouseenter:Z,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",Is,[e.createElementVNode("div",Rs,[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]=N=>d.value=N),type:"text",placeholder:t.searchPlaceholder,class:e.normalizeClass([F.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,Ls),[[e.vModelText,d.value]])])])):e.createCommentVNode("",!0),e.renderSlot(E.$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})},[w.value&&w.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(w.value,(N,te)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:N.key||`item-${te}`},[N.divider?(e.openBlock(),e.createElementBlock("div",Fs)):N.header?(e.openBlock(),e.createElementBlock("div",js,e.toDisplayString(N.header),1)):(e.openBlock(),e.createElementBlock("div",{key:2,role:"menuitem",tabindex:N.disabled?-1:0,class:e.normalizeClass(["s-dropdown-item relative flex items-center cursor-pointer transition-all duration-150 select-none rounded-lg",[F.value.item,{"opacity-50 cursor-not-allowed":N.disabled,"text-red-500 hover:bg-red-500/10":N.danger&&!N.disabled,"text-foreground hover:bg-accent":!N.danger&&!N.disabled,"bg-accent":u.value===te&&!N.disabled}]]),onClick:oe=>!N.disabled&&D(N.key),onMouseenter:oe=>u.value=te},[N.checked!==void 0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["mdi mr-2 transition-all duration-150",[N.checked?"mdi-checkbox-marked":"mdi-checkbox-blank-outline",F.value.icon,N.checked?"":"text-muted-foreground"]]),style:e.normalizeStyle(N.checked?{color:t.color}:{})},null,6)):N.icon?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi",`mdi-${N.icon}`,F.value.icon,"mr-2.5",N.danger?"":"text-muted-foreground"])},null,2)):e.createCommentVNode("",!0),e.createElementVNode("div",Hs,[e.createElementVNode("div",Ws,e.toDisplayString(N.label),1),N.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["text-xs truncate mt-0.5",N.danger?"text-red-400":"text-muted-foreground"])},e.toDisplayString(N.description),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ks,[N.shortcut?(e.openBlock(),e.createElementBlock("kbd",Us,e.toDisplayString(N.shortcut),1)):e.createCommentVNode("",!0),N.trailingIcon?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi",`mdi-${N.trailingIcon}`,F.value.icon,"text-muted-foreground"])},null,2)):e.createCommentVNode("",!0),N.children&&N.children.length>0?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi mdi-chevron-right text-muted-foreground",F.value.icon])},null,2)):e.createCommentVNode("",!0)])],42,Os))],64))),128)):e.renderSlot(E.$slots,"default",{key:1},void 0,!0),t.searchable&&d.value&&(!w.value||w.value.length===0)?(e.openBlock(),e.createElementBlock("div",Gs,[...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(E.$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":Y.value.enter,"enter-from-class":Y.value.enterFrom,"enter-to-class":Y.value.enterTo,"leave-active-class":Y.value.leave,"leave-from-class":Y.value.leaveFrom,"leave-to-class":Y.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",[F.value.menu,H.value]]),style:e.normalizeStyle({minWidth:t.minWidth,maxHeight:t.maxHeight,zIndex:t.zIndex}),onMouseenter:Z,onMouseleave:ae},[e.createElementVNode("div",{class:"overflow-y-auto overscroll-contain",style:e.normalizeStyle({maxHeight:t.maxHeight})},[e.renderSlot(E.$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-f1a75606"]]),Ys=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))}}),Xs={class:"s-dropdown-group-content"},Js=le(e.defineComponent({inheritAttrs:!1,__name:"SDropdownGroup",props:{label:{},icon:{default:void 0}},setup(t){const l=e.inject(Mt),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.openBlock(),e.createElementBlock("span",{key:0,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",Xs,[e.renderSlot(o.$slots,"default",{},void 0,!0)])],16))}}),[["__scopeId","data-v-5e721571"]]),Zs=["tabindex"],Qs={class:"flex-1 min-w-0"},_s={class:"truncate"},ei={class:"flex items-center gap-2 ml-4 shrink-0"},ti={key:0,class:"px-1.5 py-0.5 text-[10px] font-mono rounded bg-background text-muted-foreground border border-border"},oi=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(Mt);let r=-1;e.onMounted(()=>{n&&(r=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?n.highlightedIndex.value===r:!1),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.openBlock(),e.createElementBlock("span",{key:1,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",Qs,[e.renderSlot(u.$slots,"default",{},()=>[e.createElementVNode("div",_s,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",ei,[t.shortcut?(e.openBlock(),e.createElementBlock("kbd",ti,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.trailingIcon?(e.openBlock(),e.createElementBlock("span",{key:1,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,Zs))}}),[["__scopeId","data-v-5f6a2cd0"]]),ai=["aria-label"],li=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,ai))}}),ni=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))}}),ri=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))}}),si=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"]))}}),ii=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))}}),ci=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))}}),di=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))}}),ui={key:0,class:"shrink-0"},mi={key:0,class:"w-10 h-10 rounded-full overflow-hidden ring-2 ring-border"},fi=["src","alt"],pi={key:1,class:"w-10 h-10 rounded-full bg-accent flex items-center justify-center text-sm font-semibold text-muted-foreground"},gi={key:2,class:"w-10 h-10 rounded-xl bg-primary/15 flex items-center justify-center"},bi={class:"flex-1 min-w-0"},hi={key:0,class:"text-base font-semibold text-foreground leading-tight truncate"},yi={key:0,class:"text-sm text-muted-foreground mt-0.5 truncate"},ki={key:1,class:"shrink-0 flex items-center gap-2"},xi=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(Ue,{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",ui,[e.renderSlot(n.$slots,"avatar",{},()=>[t.avatar?(e.openBlock(),e.createElementBlock("div",mi,[e.createElementVNode("img",{src:t.avatar,alt:t.title||"Avatar",class:"w-full h-full object-cover"},null,8,fi)])):t.avatarFallback?(e.openBlock(),e.createElementBlock("div",pi,e.toDisplayString(t.avatarFallback),1)):t.icon?(e.openBlock(),e.createElementBlock("div",gi,[e.createElementVNode("span",{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",bi,[e.renderSlot(n.$slots,"title",{},()=>[t.title?(e.openBlock(),e.createElementBlock("h3",hi,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0)],!0),e.renderSlot(n.$slots,"subtitle",{},()=>[t.subtitle?(e.openBlock(),e.createElementBlock("p",yi,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)],!0)]),n.$slots.actions?(e.openBlock(),e.createElementBlock("div",ki,[e.renderSlot(n.$slots,"actions",{},void 0,!0)])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default",{},void 0,!0)],16))}}),[["__scopeId","data-v-b2e43700"]]),wi={key:0,class:"space-y-3 animate-pulse"},Ci=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(Ue,{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",wi,[(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"]]),Bi=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(Ue,{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"]]),Si={key:0,class:"absolute inset-0 bg-accent animate-pulse"},$i=["src","alt"],vi=["src","alt","loading"],Ei=["src","autoplay","loop","muted","controls"],zi={key:4,class:"absolute inset-0 flex flex-col items-center justify-center bg-accent text-muted-foreground"},Vi={key:6,class:"absolute inset-0 flex items-center justify-center p-4"},Ni={key:7,class:"absolute top-3 right-3 z-10"},Ti=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(Ue,{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]=w=>n.value=!0),onMouseleave:h[1]||(h[1]=w=>n.value=!1)}),[t.skeleton||e.unref(a).loading||!o.value&&!r.value?(e.openBlock(),e.createElementBlock("div",Si,[...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,$i)):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,vi)):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,Ei)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock("div",zi,[...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",Vi,[e.renderSlot(p.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0),p.$slots.badge?(e.openBlock(),e.createElementBlock("div",Ni,[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"]]),Mi=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(Ue,{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"]]),Di=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(Ue,{variant:"glass",hoverable:o.hoverable,loading:o.loading,horizontal:o.horizontal});const{theme:r}=bo(),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=V=>{s.value=V.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"),V=256,Q=256;I.width=V,I.height=Q;const Z=I.getContext("2d"),ae=Z.createImageData(V,Q),k=.7;for(let z=0;z<Q;z++)for(let D=0;D<V;D++){const E=D/(V-1)*2-1,v=z/(Q-1)*2-1,N=1-Math.abs(E),te=1-Math.abs(v),oe=Math.pow(N,1.5)*Math.pow(te,1.5),re=Math.round(128+E*k*oe*127),U=Math.round(128+v*k*oe*127),M=(z*V+D)*4;ae.data[M]=re,ae.data[M+1]=U,ae.data[M+2]=128,ae.data[M+3]=255}Z.putImageData(ae,0,0);const b=I.toDataURL("image/png"),x=document.createElementNS("http://www.w3.org/2000/svg","svg");x.id="s-glass-filters",x.setAttribute("style","position:absolute;width:0;height:0;overflow:hidden;pointer-events:none"),x.setAttribute("aria-hidden","true"),x.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 w=a.value.getBoundingClientRect(),y=Math.max(0,Math.min(h.clientX-w.left,w.width)),S=Math.max(0,Math.min(h.clientY-w.top,w.height));l.hsva.value.s=y/w.width*100,l.hsva.value.v=100-S/w.height*100,l.emitInput()}function c(h){if(!a.value||!l||!h.touches[0])return;const w=a.value.getBoundingClientRect(),y=Math.max(0,Math.min(h.touches[0].clientX-w.left,w.width)),S=Math.max(0,Math.min(h.touches[0].clientY-w.top,w.height));l.hsva.value.s=y/w.width*100,l.hsva.value.v=100-S/w.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,w)=>(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"]]),St=le(e.defineComponent({__name:"SColorPickerHueSlider",setup(t){const l=e.inject($e);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"]]),$t=le(e.defineComponent({__name:"SColorPickerAlphaSlider",setup(t){const l=e.inject($e);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:w}=l.currentRgb.value;return`linear-gradient(to right, transparent, rgb(${p}, ${h}, ${w}))`});function s(p){if(!a.value||!l)return;const h=a.value.getBoundingClientRect(),w=Math.max(0,Math.min(p.clientX-h.left,h.width));l.hsva.value.a=w/h.width,l.emitInput()}function i(p){if(!a.value||!l||!p.touches[0])return;const h=a.value.getBoundingClientRect(),w=Math.max(0,Math.min(p.touches[0].clientX-h.left,h.width));l.hsva.value.a=w/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"]]),xr={class:"s-color-picker__preview"},vt=le(e.defineComponent({__name:"SColorPickerPreview",setup(t){const l=e.inject($e);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",xr,[e.createElementVNode("div",{class:"s-color-picker__preview-color",style:e.normalizeStyle({backgroundColor:a.value})},null,4)]))}}),[["__scopeId","data-v-1a4eaf85"]]),wr=["disabled"],Et=le(e.defineComponent({__name:"SColorPickerEyeDropper",setup(t){const l=e.inject($e);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,wr)):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-f8566df2"]]),Cr={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"},Br={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"},zt=le(e.defineComponent({__name:"SColorPickerCopy",setup(t){const l=e.inject($e);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",Br,[...r[1]||(r[1]=[e.createElementVNode("path",{d:"M20 6 9 17l-5-5"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Cr,[...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"]]),Sr={key:0,class:"s-color-picker__inputs"},$r={class:"s-color-picker__format-toggle"},vr={key:0,class:"s-color-picker__input-group s-color-picker__input-group--hex"},Er=["disabled"],zr={key:1,class:"s-color-picker__input-group s-color-picker__input-group--rgb"},Vr={class:"s-color-picker__input-field"},Nr=["disabled"],Tr={class:"s-color-picker__input-field"},Mr=["disabled"],Dr={class:"s-color-picker__input-field"},Pr=["disabled"],Ar={key:0,class:"s-color-picker__input-field"},Ir=["disabled"],Rr={key:2,class:"s-color-picker__input-group s-color-picker__input-group--hsl"},Lr={class:"s-color-picker__input-field"},Fr=["disabled"],jr={class:"s-color-picker__input-field"},Or=["disabled"],Hr={class:"s-color-picker__input-field"},Wr=["disabled"],Kr={key:0,class:"s-color-picker__input-field"},Ur=["disabled"],Vt=le(e.defineComponent({__name:"SColorPickerInputs",setup(t){const l=e.inject($e);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",Sr,[e.createElementVNode("div",$r,[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",vr,[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,Er),[[e.vModelText,a.value]])])):e.createCommentVNode("",!0),e.unref(l).activeFormat.value==="rgb"?(e.openBlock(),e.createElementBlock("div",zr,[e.createElementVNode("div",Vr,[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,Nr),[[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",Tr,[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,Mr),[[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",Dr,[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,Pr),[[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",Ar,[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,Ir),[[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",Rr,[e.createElementVNode("div",Lr,[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,Fr),[[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",jr,[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,Or),[[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",Hr,[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,Wr),[[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",Kr,[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,Ur),[[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"]]),Gr={key:0,class:"s-color-picker__presets"},qr={class:"s-color-picker__presets-label"},Yr={class:"s-color-picker__swatches"},Xr=["title","disabled","onClick"],Nt=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($e);return l||console.warn("[SColorPickerPresets] Must be used inside SColorPicker"),(a,o)=>e.unref(l)&&t.presets.length?(e.openBlock(),e.createElementBlock("div",Gr,[e.createElementVNode("div",qr,e.toDisplayString(t.label),1),e.createElementVNode("div",Yr,[(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,Xr))),128))])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-9c74d25d"]]),Jr={key:0,class:"s-color-picker__recent"},Zr={class:"s-color-picker__presets-label"},Qr={class:"s-color-picker__swatches"},_r=["title","disabled","onClick"],Tt=le(e.defineComponent({__name:"SColorPickerRecent",props:{label:{default:"Recent"}},setup(t){const l=e.inject($e);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",Jr,[e.createElementVNode("div",Zr,e.toDisplayString(t.label),1),e.createElementVNode("div",Qr,[(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,_r))),128))])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-63413e1c"]]),es=["disabled"],ts={class:"s-color-picker__trigger-value"},os=["disabled"],as={key:1,class:"s-color-picker__sliders"},ls={key:2,class:"s-color-picker__preview-row"},ns={class:"s-color-picker__tools"},$e=Symbol("SColorPickerContext"),rs={components:{SColorPickerSpectrum:Bt,SColorPickerHueSlider:St,SColorPickerAlphaSlider:$t,SColorPickerPreview:vt,SColorPickerEyeDropper:Et,SColorPickerCopy:zt,SColorPickerInputs:Vt,SColorPickerPresets:Nt,SColorPickerRecent:Tt}},ss=e.defineComponent({...rs,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,x,z){const D=v=>Math.round(v).toString(16).padStart(2,"0"),E=`#${D(k)}${D(b)}${D(x)}`;return z!==void 0&&z<1?E+D(z*255):E}function m(k,b,x){k/=255,b/=255,x/=255;const z=Math.max(k,b,x),D=Math.min(k,b,x),E=z-D;let v=0;const N=z===0?0:E/z*100,te=z*100;if(z!==D){switch(z){case k:v=(b-x)/E+(b<x?6:0);break;case b:v=(x-k)/E+2;break;case x:v=(k-b)/E+4;break}v*=60}return{h:v,s:N,v:te}}function p(k,b,x){b/=100,x/=100;const z=x*b,D=z*(1-Math.abs(k/60%2-1)),E=x-z;let v=0,N=0,te=0;return k>=0&&k<60?(v=z,N=D,te=0):k>=60&&k<120?(v=D,N=z,te=0):k>=120&&k<180?(v=0,N=z,te=D):k>=180&&k<240?(v=0,N=D,te=z):k>=240&&k<300?(v=D,N=0,te=z):(v=z,N=0,te=D),{r:Math.round((v+E)*255),g:Math.round((N+E)*255),b:Math.round((te+E)*255)}}function h(k,b,x){k/=255,b/=255,x/=255;const z=Math.max(k,b,x),D=Math.min(k,b,x);let E=0,v=0;const N=(z+D)/2;if(z!==D){const te=z-D;switch(v=N>.5?te/(2-z-D):te/(z+D),z){case k:E=((b-x)/te+(b<x?6:0))/6;break;case b:E=((x-k)/te+2)/6;break;case x:E=((k-b)/te+4)/6;break}}return{h:Math.round(E*360),s:Math.round(v*100),l:Math.round(N*100)}}const w=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:x}=w.value;return g(k,b,x,a.showAlpha?d.value.a:void 0)}),S=e.computed(()=>{const{r:k,g:b,b:x}=w.value;return{...h(k,b,x),a:d.value.a}}),F=e.computed(()=>{const{r:k,g:b,b:x,a:z}=w.value,{h:D,s:E,l:v}=S.value;switch(s.value){case"rgb":return a.showAlpha?`rgba(${k}, ${b}, ${x}, ${z.toFixed(2)})`:`rgb(${k}, ${b}, ${x})`;case"hsl":return a.showAlpha?`hsla(${D}, ${E}%, ${v}%, ${z.toFixed(2)})`:`hsl(${D}, ${E}%, ${v}%)`;default:return y.value.toUpperCase()}}),H=e.computed(()=>{const{r:k,g:b,b:x,a:z}=w.value,{h:D,s:E,l:v}=S.value;switch(a.format){case"rgb":return a.showAlpha?`rgba(${k}, ${b}, ${x}, ${z.toFixed(2)})`:`rgb(${k}, ${b}, ${x})`;case"hsl":return a.showAlpha?`hsla(${D}, ${E}%, ${v}%, ${z.toFixed(2)})`:`hsl(${D}, ${E}%, ${v}%)`;default:return y.value.toUpperCase()}});function Y(k){if(!k)return;if(k.startsWith("#")){const z=f(k),D=m(z.r,z.g,z.b);d.value={...D,a:z.a};return}const b=k.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/);if(b){const z=parseInt(b[1]),D=parseInt(b[2]),E=parseInt(b[3]),v=b[4]?parseFloat(b[4]):1,N=m(z,D,E);d.value={...N,a:v};return}const x=k.match(/hsla?\((\d+),\s*(\d+)%?,\s*(\d+)%?(?:,\s*([\d.]+))?\)/);if(x){const z=parseInt(x[1]),D=parseInt(x[2]),E=parseInt(x[3]),v=x[4]?parseFloat(x[4]):1,N=D/100,te=E/100,oe=te+N*Math.min(te,1-te),re=oe===0?0:2*(1-te/oe);d.value={h:z,s:re*100,v:oe*100,a:v}}}e.watch(()=>a.modelValue,k=>{k&&Y(k)},{immediate:!0});function $(){o("update:modelValue",H.value),o("change",H.value),J(y.value)}function K(){o("input",H.value)}function A(k){a.disabled||a.readonly||(Y(k),$())}function J(k){const b=k.toUpperCase();i.value=[b,...i.value.filter(x=>x!==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 V(){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 Z=e.computed(()=>!!n.default),ae={hsva:d,currentRgb:w,currentHex:y,currentHsl:S,displayValue:F,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:Y,emitChange:$,emitInput:K,cycleFormat:I,selectPreset:A,addToRecent:J,hsvToRgb:p,rgbToHsv:m,rgbToHsl:h,hexToRgb:f,rgbToHex:g};return e.provide($e,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(V,["stop"])},[e.renderSlot(k.$slots,"trigger",{color:y.value,displayValue:F.value,rgb:w.value,hsl:S.value,isOpen:r.value,toggle:V,disabled:t.disabled},void 0,!0)])):e.createCommentVNode("",!0),t.mode==="dropdown"&&!k.$slots.trigger&&t.triggerStyle==="button"&&!Z.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(V,["stop"])},[e.createElementVNode("span",{class:"s-color-picker__trigger-swatch",style:e.normalizeStyle({backgroundColor:y.value})},null,4),e.createElementVNode("span",ts,e.toDisplayString(F.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,es)):e.createCommentVNode("",!0),t.mode==="dropdown"&&!k.$slots.trigger&&t.triggerStyle==="swatch"&&!Z.value?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",class:"s-color-picker__trigger-swatch-bar",disabled:t.disabled,onClick:e.withModifiers(V,["stop"])},[e.createElementVNode("span",{class:"s-color-picker__trigger-swatch-bar-color",style:e.normalizeStyle({backgroundColor:t.showAlpha?`rgba(${w.value.r}, ${w.value.g}, ${w.value.b}, ${d.value.a})`:y.value})},null,4)],8,os)):e.createCommentVNode("",!0),Z.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:w.value,hsl:S.value,displayValue:F.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(Bt,{key:0})):e.createCommentVNode("",!0),t.showSliders?(e.openBlock(),e.createElementBlock("div",as,[e.createVNode(St),t.showAlpha?(e.openBlock(),e.createBlock($t,{key:0})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.showPreview?(e.openBlock(),e.createElementBlock("div",ls,[e.createVNode(vt),e.createElementVNode("div",ns,[t.showEyeDropper?(e.openBlock(),e.createBlock(Et,{key:0})):e.createCommentVNode("",!0),e.createVNode(zt)])])):e.createCommentVNode("",!0),t.showInputs?(e.openBlock(),e.createBlock(Vt,{key:3})):e.createCommentVNode("",!0),t.showPresets&&t.presets.length?(e.openBlock(),e.createBlock(Nt,{key:4,presets:t.presets},null,8,["presets"])):e.createCommentVNode("",!0),t.showRecent?(e.openBlock(),e.createBlock(Tt,{key:5})):e.createCommentVNode("",!0),e.renderSlot(k.$slots,"panel-after",{},void 0,!0)],2)),[[e.vShow,t.mode==="inline"||r.value]])],16))}}),is=le(ss,[["__scopeId","data-v-e1189c1e"]]),cs=["for"],ds={key:0,class:"text-red-500 ml-0.5"},us={class:"flex-1 min-w-0"},ms={class:"s-input-container relative"},fs={key:1,class:"text-muted-foreground text-sm"},ps=["id","name","type","value","placeholder","disabled","readonly","required","autocomplete","spellcheck","inputmode","min","max","step","maxlength","aria-label","aria-describedby","aria-invalid","aria-required"],gs=["id","name","value","placeholder","disabled","readonly","required","autocomplete","spellcheck","rows","maxlength","aria-label","aria-describedby","aria-invalid","aria-required"],bs=["for"],hs={key:0,class:"text-red-500 ml-0.5"},ys={key:0,class:"mdi mdi-loading animate-spin text-muted-foreground"},ks={key:1,class:"text-muted-foreground text-sm"},xs=["aria-label"],ws=["aria-selected","onMousedown","onMouseenter"],Cs={class:"text-muted-foreground"},Bs=["id"],Ss={key:"error",class:"text-xs text-red-500 flex items-center gap-1"},$s={key:"success",class:"text-xs text-green-500 flex items-center gap-1"},vs={key:"warning",class:"text-xs text-amber-500 flex items-center gap-1"},Es={key:"hint",class:"text-xs text-muted-foreground"},zs={key:"empty"},Vs=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 w=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),F=e.computed(()=>o.labelPlacement==="floating"||o.labelPlacement==="inside"),H=e.computed(()=>s.value||w.value),Y=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(()=>Y.value||o.error?"error":$.value||o.success?"success":K.value||o.warning?"warning":null),J=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),V=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]),Z=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]:""),x=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"}),z=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}}),E=e.computed(()=>{if(F.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 ${V.value.label}`;if(F.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}),N=e.computed(()=>{const ee=!!o.iconLeft||!!o.prefix,se=!!o.iconRight||!!o.suffix||o.clearable||o.showPasswordToggle||o.loading||J.value;let P=V.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},L=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 X=q.split(".");if(X.length===2&&X[1].length>o.decimalPlaces){ee.preventDefault();return}}},ue=ee=>{const se=ee.target;let P=se.value;o.decimalPlaces!==void 0&&(P=L(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()})},ye=()=>{n("update:modelValue",""),n("clear"),c.value=null,e.nextTick(()=>{r.value?.focus()})},Be=()=>{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",E.value,t.wrapperClass,ee.$attrs.class)}),[t.label&&!F.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",ds,"*")):e.createCommentVNode("",!0)],10,cs)):e.createCommentVNode("",!0),e.createElementVNode("div",us,[e.createElementVNode("div",ms,[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",[V.value.icon,z.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.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["mdi",`mdi-${t.iconLeft}`])},null,2)):e.createCommentVNode("",!0),t.prefix?(e.openBlock(),e.createElementBlock("span",fs,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:F.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":Y.value||$.value||K.value||t.hint?f.value:t.ariaDescribedBy,"aria-invalid":!!Y.value,"aria-required":t.required,class:e.normalizeClass(["s-input w-full outline-none transition-all duration-200 text-foreground placeholder:text-muted-foreground",[N.value,Q.value,Z.value,ae.value,b.value,t.inputClass,{"opacity-50 cursor-not-allowed":t.disabled,"cursor-wait":t.loading,"py-2":F.value}]]),style:e.normalizeStyle(k.value),onInput:ue,onFocus:C,onBlur:T,onChange:O,onKeydown:_,onBeforeinput:de},null,46,ps)):(e.openBlock(),e.createElementBlock("textarea",{key:2,ref_key:"inputRef",ref:r,id:u.value,name:t.name,value:t.modelValue,placeholder:F.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":Y.value||$.value||K.value||t.hint?f.value:t.ariaDescribedBy,"aria-invalid":!!Y.value,"aria-required":t.required,class:e.normalizeClass(["s-input w-full outline-none transition-all duration-200 text-foreground placeholder:text-muted-foreground",[V.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,Z.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,gs)),t.label&&F.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?[V.value.floatLabelActive,t.color?"":"text-primary","bg-background px-1 -ml-1"]:["top-1/2 -translate-y-1/2",V.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",hs,"*")):e.createCommentVNode("",!0)],14,bs)):e.createCommentVNode("",!0),t.iconRight||t.suffix||t.clearable||t.showPasswordToggle||t.loading||J.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",[V.value.icon,t.size==="small"?"pr-2.5":t.size==="large"?"pr-4":"pr-3"]])},[t.loading?(e.openBlock(),e.createElementBlock("span",ys)):t.clearable&&w.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:ye})):J.value&&!t.iconRight?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi",`mdi-${J.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:Be},null,2)):e.createCommentVNode("",!0),e.renderSlot(ee.$slots,"suffix",{},()=>[t.iconRight?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["mdi",`mdi-${t.iconRight}`,z.value]),style:e.normalizeStyle(t.iconColor?{color:t.iconColor}:D.value)},null,6)):e.createCommentVNode("",!0),t.suffix?(e.openBlock(),e.createElementBlock("span",ks,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(X=>ge(P),["prevent"]),onMouseenter:X=>m.value=q},[t.type==="email"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",Cs,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,ws))),128))],8,xs)):e.createCommentVNode("",!0)]),_:1})]),Y.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(()=>[Y.value?(e.openBlock(),e.createElementBlock("p",Ss,[se[0]||(se[0]=e.createElementVNode("span",{class:"mdi mdi-alert-circle text-sm"},null,-1)),e.createTextVNode(" "+e.toDisplayString(Y.value),1)])):$.value?(e.openBlock(),e.createElementBlock("p",$s,[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",vs,[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",Es,e.toDisplayString(t.hint),1)):(e.openBlock(),e.createElementBlock("span",zs))]),_: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",x.value])},e.toDisplayString(y.value)+" / "+e.toDisplayString(t.maxLength),3)):e.createCommentVNode("",!0)],8,Bs)):e.createCommentVNode("",!0)])],16))}}),[["__scopeId","data-v-f93340c9"]]),xo=Ae("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"}}),nt=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(xo({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))}}),Ns=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=Ae("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))}}),Ts={key:0,class:"text-xs text-muted-foreground"},Ms=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",Ts,e.toDisplayString(t.separator),1)):e.createCommentVNode("",!0),e.createVNode(nt,{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))}}),Ds=["aria-expanded","aria-disabled"],Ps=["disabled"],As={key:1},Is={key:1,class:"p-2 border-b border-border"},Rs={class:"relative"},Ls=["placeholder"],Fs={key:0,class:"my-1 h-px bg-border/60"},js={key:1,class:"px-2.5 pt-2 pb-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground"},Os=["tabindex","onClick","onMouseenter"],Hs={class:"flex-1 min-w-0"},Ws={class:"truncate"},Ks={class:"flex items-center gap-2 ml-4 shrink-0"},Us={key:0,class:"px-1.5 py-0.5 text-[10px] font-mono rounded bg-accent text-muted-foreground border border-border"},Gs={key:2,class:"px-4 py-8 text-center"},Mt=Symbol("SDropdownContext"),qs=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"),w=e.computed(()=>{if(!o.items||!d.value)return o.items;const E=d.value.toLowerCase();return o.items.filter(v=>v.divider||v.header?!0:v.label.toLowerCase().includes(E))}),y=e.computed(()=>{if(o.teleport===!0)return"body";if(typeof o.teleport=="string")return o.teleport}),S=e.computed(()=>{const E={zIndex:o.zIndex.toString(),maxHeight:o.maxHeight};return o.width&&(E.width=typeof o.width=="number"?`${o.width}px`:o.width),o.minWidth&&(E.minWidth=o.minWidth),g.value.top!==void 0&&(E.top=`${g.value.top}px`),g.value.bottom!==void 0&&(E.bottom=`${g.value.bottom}px`),g.value.left!==void 0&&(E.left=`${g.value.left}px`),g.value.right!==void 0&&(E.right=`${g.value.right}px`),E}),F=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]),Y=e.computed(()=>{const E=g.value.placement,v=E.startsWith("top"),N=E.startsWith("bottom"),te=E.startsWith("left");return E.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":N?"-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":N?"-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 E=r.value.getBoundingClientRect(),v={width:window.innerWidth,height:window.innerHeight},N=o.offset;let te=o.placement,oe,re,U,M;({top:()=>{re=v.height-E.top+N,U=E.left+E.width/2},"top-start":()=>{re=v.height-E.top+N,U=E.left},"top-end":()=>{re=v.height-E.top+N,M=v.width-E.right},bottom:()=>{oe=E.bottom+N,U=E.left+E.width/2},"bottom-start":()=>{oe=E.bottom+N,U=E.left},"bottom-end":()=>{oe=E.bottom+N,M=v.width-E.right},left:()=>{oe=E.top+E.height/2,M=v.width-E.left+N},"left-start":()=>{oe=E.top,M=v.width-E.left+N},"left-end":()=>{re=v.height-E.bottom,M=v.width-E.left+N},right:()=>{oe=E.top+E.height/2,U=E.right+N},"right-start":()=>{oe=E.top,U=E.right+N},"right-end":()=>{re=v.height-E.bottom,U=E.right+N}})[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-E.top+N):te.startsWith("top")&&re!==void 0&&v.height-re+de>v.height-10&&(te=te.replace("top","bottom"),re=void 0,oe=E.bottom+N),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"))},J=()=>{c.value?A():K()},G=E=>{o.trigger==="click"&&!o.disabled&&(E.preventDefault(),J())},I=E=>{o.trigger==="context"&&!o.disabled&&(E.preventDefault(),J())},V=()=>{o.trigger==="hover"&&!o.disabled&&(m=setTimeout(K,o.showDelay))},Q=()=>{o.trigger==="hover"&&!o.disabled&&(p=setTimeout(A,o.hideDelay))},Z=()=>{o.trigger==="hover"&&p&&(clearTimeout(p),p=null)},ae=()=>{o.trigger==="hover"&&(p=setTimeout(A,o.hideDelay))},k=E=>{const v=E.target;r.value&&s.value&&!r.value.contains(v)&&!s.value.contains(v)&&A()},b=E=>{if(!c.value){(E.key==="Enter"||E.key===" "||E.key==="ArrowDown")&&(E.preventDefault(),K());return}const v=f.value.filter(N=>!N.disabled);switch(E.key){case"Escape":E.preventDefault(),A(),r.value?.focus();break;case"ArrowDown":E.preventDefault(),u.value=Math.min(u.value+1,v.length-1),u.value<0&&(u.value=0);break;case"ArrowUp":E.preventDefault(),u.value=Math.max(u.value-1,0);break;case"Home":E.preventDefault(),u.value=0;break;case"End":E.preventDefault(),u.value=v.length-1;break;case"Enter":case" ":E.preventDefault(),u.value>=0&&v[u.value]&&D(v[u.value].key);break;case"Tab":A();break}},x=E=>{const v=f.value.findIndex(N=>N.key===E.key);return v>=0?(f.value[v]=E,v):(f.value.push(E),f.value.length-1)},z=E=>{const v=f.value.findIndex(N=>N.key===E);v>=0&&f.value.splice(v,1)},D=E=>{const v=o.items?.find(N=>N.key===E);n("select",E,v),v?.onClick&&v.onClick(),o.closeOnSelect&&A()};return e.watch(()=>o.visible,E=>{h.value&&E!==void 0&&(E?K():A())}),e.watch(c,E=>{E?(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(Mt,{size:o.size,color:o.color,closeOnSelect:o.closeOnSelect,highlightedIndex:u,registerItem:x,unregisterItem:z,selectItem:D,close:A}),l({open:K,close:A,toggle:J}),(E,v)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:e.unref(j)("s-dropdown relative inline-block",E.$attrs.class??"")},E.$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:V,onMouseleave:Q,onKeydown:b},[e.renderSlot(E.$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",[F.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.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["mdi",`mdi-${t.icon}`,F.value.icon])},null,2)):e.createCommentVNode("",!0),t.label?(e.openBlock(),e.createElementBlock("span",As,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),t.hideArrow?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi mdi-chevron-down transition-transform duration-200",[F.value.icon,{"rotate-180":c.value}]])},null,2))],10,Ps)],!0)],40,Ds),y.value?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:y.value,disabled:!y.value},[e.createVNode(e.Transition,{"enter-active-class":Y.value.enter,"enter-from-class":Y.value.enterFrom,"enter-to-class":Y.value.enterTo,"leave-active-class":Y.value.leave,"leave-from-class":Y.value.leaveFrom,"leave-to-class":Y.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",[F.value.menu,H.value]]),style:e.normalizeStyle(S.value),onMouseenter:Z,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",Is,[e.createElementVNode("div",Rs,[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]=N=>d.value=N),type:"text",placeholder:t.searchPlaceholder,class:e.normalizeClass([F.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,Ls),[[e.vModelText,d.value]])])])):e.createCommentVNode("",!0),e.renderSlot(E.$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})},[w.value&&w.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(w.value,(N,te)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:N.key||`item-${te}`},[N.divider?(e.openBlock(),e.createElementBlock("div",Fs)):N.header?(e.openBlock(),e.createElementBlock("div",js,e.toDisplayString(N.header),1)):(e.openBlock(),e.createElementBlock("div",{key:2,role:"menuitem",tabindex:N.disabled?-1:0,class:e.normalizeClass(["s-dropdown-item relative flex items-center cursor-pointer transition-all duration-150 select-none rounded-lg",[F.value.item,{"opacity-50 cursor-not-allowed":N.disabled,"text-red-500 hover:bg-red-500/10":N.danger&&!N.disabled,"text-foreground hover:bg-accent":!N.danger&&!N.disabled,"bg-accent":u.value===te&&!N.disabled}]]),onClick:oe=>!N.disabled&&D(N.key),onMouseenter:oe=>u.value=te},[N.checked!==void 0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["mdi mr-2 transition-all duration-150",[N.checked?"mdi-checkbox-marked":"mdi-checkbox-blank-outline",F.value.icon,N.checked?"":"text-muted-foreground"]]),style:e.normalizeStyle(N.checked?{color:t.color}:{})},null,6)):N.icon?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi",`mdi-${N.icon}`,F.value.icon,"mr-2.5",N.danger?"":"text-muted-foreground"])},null,2)):e.createCommentVNode("",!0),e.createElementVNode("div",Hs,[e.createElementVNode("div",Ws,e.toDisplayString(N.label),1),N.description?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["text-xs truncate mt-0.5",N.danger?"text-red-400":"text-muted-foreground"])},e.toDisplayString(N.description),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ks,[N.shortcut?(e.openBlock(),e.createElementBlock("kbd",Us,e.toDisplayString(N.shortcut),1)):e.createCommentVNode("",!0),N.trailingIcon?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["mdi",`mdi-${N.trailingIcon}`,F.value.icon,"text-muted-foreground"])},null,2)):e.createCommentVNode("",!0),N.children&&N.children.length>0?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(["mdi mdi-chevron-right text-muted-foreground",F.value.icon])},null,2)):e.createCommentVNode("",!0)])],42,Os))],64))),128)):e.renderSlot(E.$slots,"default",{key:1},void 0,!0),t.searchable&&d.value&&(!w.value||w.value.length===0)?(e.openBlock(),e.createElementBlock("div",Gs,[...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(E.$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":Y.value.enter,"enter-from-class":Y.value.enterFrom,"enter-to-class":Y.value.enterTo,"leave-active-class":Y.value.leave,"leave-from-class":Y.value.leaveFrom,"leave-to-class":Y.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",[F.value.menu,H.value]]),style:e.normalizeStyle({minWidth:t.minWidth,maxHeight:t.maxHeight,zIndex:t.zIndex}),onMouseenter:Z,onMouseleave:ae},[e.createElementVNode("div",{class:"overflow-y-auto overscroll-contain",style:e.normalizeStyle({maxHeight:t.maxHeight})},[e.renderSlot(E.$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-f1a75606"]]),Ys=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))}}),Xs={class:"s-dropdown-group-content"},Js=le(e.defineComponent({inheritAttrs:!1,__name:"SDropdownGroup",props:{label:{},icon:{default:void 0}},setup(t){const l=e.inject(Mt),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.openBlock(),e.createElementBlock("span",{key:0,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",Xs,[e.renderSlot(o.$slots,"default",{},void 0,!0)])],16))}}),[["__scopeId","data-v-5e721571"]]),Zs=["tabindex"],Qs={class:"flex-1 min-w-0"},_s={class:"truncate"},ei={class:"flex items-center gap-2 ml-4 shrink-0"},ti={key:0,class:"px-1.5 py-0.5 text-[10px] font-mono rounded bg-background text-muted-foreground border border-border"},oi=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(Mt),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.openBlock(),e.createElementBlock("span",{key:1,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",Qs,[e.renderSlot(u.$slots,"default",{},()=>[e.createElementVNode("div",_s,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",ei,[t.shortcut?(e.openBlock(),e.createElementBlock("kbd",ti,e.toDisplayString(t.shortcut),1)):e.createCommentVNode("",!0),t.trailingIcon?(e.openBlock(),e.createElementBlock("span",{key:1,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,Zs))}}),[["__scopeId","data-v-f28bc4b7"]]),ai=["aria-label"],li=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,ai))}}),ni=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))}}),ri=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))}}),si=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"]))}}),ii=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))}}),ci=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))}}),di=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))}}),ui={key:0,class:"shrink-0"},mi={key:0,class:"w-10 h-10 rounded-full overflow-hidden ring-2 ring-border"},fi=["src","alt"],pi={key:1,class:"w-10 h-10 rounded-full bg-accent flex items-center justify-center text-sm font-semibold text-muted-foreground"},gi={key:2,class:"w-10 h-10 rounded-xl bg-primary/15 flex items-center justify-center"},bi={class:"flex-1 min-w-0"},hi={key:0,class:"text-base font-semibold text-foreground leading-tight truncate"},yi={key:0,class:"text-sm text-muted-foreground mt-0.5 truncate"},ki={key:1,class:"shrink-0 flex items-center gap-2"},xi=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(Ue,{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",ui,[e.renderSlot(n.$slots,"avatar",{},()=>[t.avatar?(e.openBlock(),e.createElementBlock("div",mi,[e.createElementVNode("img",{src:t.avatar,alt:t.title||"Avatar",class:"w-full h-full object-cover"},null,8,fi)])):t.avatarFallback?(e.openBlock(),e.createElementBlock("div",pi,e.toDisplayString(t.avatarFallback),1)):t.icon?(e.openBlock(),e.createElementBlock("div",gi,[e.createElementVNode("span",{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",bi,[e.renderSlot(n.$slots,"title",{},()=>[t.title?(e.openBlock(),e.createElementBlock("h3",hi,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0)],!0),e.renderSlot(n.$slots,"subtitle",{},()=>[t.subtitle?(e.openBlock(),e.createElementBlock("p",yi,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)],!0)]),n.$slots.actions?(e.openBlock(),e.createElementBlock("div",ki,[e.renderSlot(n.$slots,"actions",{},void 0,!0)])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default",{},void 0,!0)],16))}}),[["__scopeId","data-v-b2e43700"]]),wi={key:0,class:"space-y-3 animate-pulse"},Ci=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(Ue,{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",wi,[(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"]]),Bi=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(Ue,{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"]]),Si={key:0,class:"absolute inset-0 bg-accent animate-pulse"},$i=["src","alt"],vi=["src","alt","loading"],Ei=["src","autoplay","loop","muted","controls"],zi={key:4,class:"absolute inset-0 flex flex-col items-center justify-center bg-accent text-muted-foreground"},Vi={key:6,class:"absolute inset-0 flex items-center justify-center p-4"},Ni={key:7,class:"absolute top-3 right-3 z-10"},Ti=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(Ue,{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]=w=>n.value=!0),onMouseleave:h[1]||(h[1]=w=>n.value=!1)}),[t.skeleton||e.unref(a).loading||!o.value&&!r.value?(e.openBlock(),e.createElementBlock("div",Si,[...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,$i)):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,vi)):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,Ei)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock("div",zi,[...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",Vi,[e.renderSlot(p.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0),p.$slots.badge?(e.openBlock(),e.createElementBlock("div",Ni,[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"]]),Mi=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(Ue,{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"]]),Di=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(Ue,{variant:"glass",hoverable:o.hoverable,loading:o.loading,horizontal:o.horizontal});const{theme:r}=bo(),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=V=>{s.value=V.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"),V=256,Q=256;I.width=V,I.height=Q;const Z=I.getContext("2d"),ae=Z.createImageData(V,Q),k=.7;for(let z=0;z<Q;z++)for(let D=0;D<V;D++){const E=D/(V-1)*2-1,v=z/(Q-1)*2-1,N=1-Math.abs(E),te=1-Math.abs(v),oe=Math.pow(N,1.5)*Math.pow(te,1.5),re=Math.round(128+E*k*oe*127),U=Math.round(128+v*k*oe*127),M=(z*V+D)*4;ae.data[M]=re,ae.data[M+1]=U,ae.data[M+2]=128,ae.data[M+3]=255}Z.putImageData(ae,0,0);const b=I.toDataURL("image/png"),x=document.createElementNS("http://www.w3.org/2000/svg","svg");x.id="s-glass-filters",x.setAttribute("style","position:absolute;width:0;height:0;overflow:hidden;pointer-events:none"),x.setAttribute("aria-hidden","true"),x.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" />
@@ -1,2 +1,2 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
2
2
  export default _default;