@reeverdev/ui 0.2.110 → 0.2.111

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -52,7 +52,7 @@ import*as W from'react';import {createContext,useContext,useCallback,useState,us
52
52
  width: ${Se.offsetWidth}px;
53
53
  opacity: 1;
54
54
  z-index: 9999;
55
- `,document.body.appendChild(le),j.dataTransfer.setDragImage(le,20,15),setTimeout(()=>{document.body.removeChild(le);},0),h(e),C?.({event:j,node:e});},bt=j=>{if(j.preventDefault(),j.stopPropagation(),!g||g.key===e.key||se)return;let Se=j.currentTarget.getBoundingClientRect(),le=j.clientY-Se.top,Ge=Se.height,$e;le<Ge*.25?$e=-1:le>Ge*.75?$e=1:$e=0,!(x&&!x({dropNode:e,dropPosition:$e,dragNode:g}))&&(R(e.key,$e),y?.({event:j,node:e}));},br=j=>{j.preventDefault(),j.stopPropagation(),!(!g||g.key===e.key)&&N?.({event:j,node:e,expandedKeys:K()});},Bn=j=>{j.stopPropagation(),T?.({event:j,node:e});},Bo=j=>{j.preventDefault(),j.stopPropagation(),!(!g||g.key===e.key||se)&&(v!==null&&w(e,v),h(null),R(null,null));},Ft=j=>{h(null),R(null,null),k?.({event:j,node:e});},Ea=j=>{se||Ce&&i(e.key,e,j);},vr=j=>{j.stopPropagation(),!se&&!q&&a(e.key,e);},$=W.useMemo(()=>{if(!Y||v===null)return "";switch(v){case -1:return "before:absolute before:left-0 before:right-0 before:top-0 before:h-0.5 before:bg-foreground";case 1:return "after:absolute after:left-0 after:right-0 after:bottom-0 after:h-0.5 after:bg-foreground";case 0:return "ring-2 ring-foreground ring-inset";default:return ""}},[Y,v]),re=[...r,n];return jsxs("div",{className:"relative",children:[M&&t>0&&jsxs(Fragment,{children:[r.map((j,Se)=>!j&&jsx("div",{className:"absolute border-l border-border",style:{left:`calc(${Se} * var(--tree-indent) + 12px)`,top:0,bottom:0}},Se)),jsx("div",{className:"absolute border-l border-border",style:{left:`calc(${t-1} * var(--tree-indent) + 12px)`,top:0,height:n?"calc(var(--tree-item-height) / 2)":"100%"}}),jsx("div",{className:"absolute border-t border-border",style:{left:`calc(${t-1} * var(--tree-indent) + 12px)`,top:"calc(var(--tree-item-height) / 2)",width:"calc(var(--tree-indent) - 4px)"}})]}),jsxs("div",{role:"treeitem","aria-expanded":q?void 0:ne,"aria-selected":Ce?G:void 0,"aria-disabled":se,draggable:ct,onDragStart:On,onDragOver:bt,onDragEnter:br,onDragLeave:Bn,onDrop:Bo,onDragEnd:Ft,onClick:Ea,className:u("relative",_g({size:I,isSelected:G,isDragging:A,isDisabled:se,isHoverable:Ce&&!se}),$,z&&"flex-1"),style:{paddingLeft:`calc(${t} * var(--tree-indent) + 8px)`},children:[ct&&E&&ee!==false&&jsx("div",{className:"flex-shrink-0 text-muted-foreground cursor-grab active:cursor-grabbing",children:ee}),jsx("button",{type:"button",onClick:vr,className:u("flex-shrink-0 p-0.5 rounded hover:bg-muted/80 transition-transform",q&&"invisible"),tabIndex:-1,children:jsx(ChevronRight,{className:u("h-4 w-4 transition-transform duration-200",ne&&"rotate-90")})}),U&&jsx(VT,{checked:O,indeterminate:_,disabled:se,onClick:j=>m(e.key,e,j)}),P&&tt&&jsx("div",{className:"flex-shrink-0 text-muted-foreground ml-1",children:tt}),jsx("div",{className:u("flex-1 min-w-0 truncate ml-1",z&&"flex-none"),children:e.label})]}),B&&ne&&jsx("div",{role:"group",children:e.children.map((j,Se)=>jsx(jg,{node:j,level:t+1,isLast:Se===e.children.length-1,parentIsLastPath:re},j.key))})]})},AT=e=>{let t=[],n=r=>{for(let o of r)t.push(o.key),o.children&&n(o.children);};return n(e),t},zT=e=>{let t=[],n=r=>{for(let o of r)t.push(o.key),o.children&&n(o.children);};return e.children&&n(e.children),t},Xg=(e,t)=>{if(!e.children)return false;for(let n of e.children)if(n.key===t||Xg(n,t))return true;return false},qg=W.forwardRef(({className:e,variant:t,size:n,data:r,draggable:o=false,allowDrop:a,expandedKeys:s,defaultExpandedKeys:i=[],defaultExpandAll:l=false,onExpand:c,selectable:d=true,multiple:m=false,selectedKeys:f,defaultSelectedKeys:p=[],onSelect:g,checkable:h=false,checkStrictly:b=false,checkedKeys:v,defaultCheckedKeys:R=[],onCheck:w,showLine:x=false,showIcon:C=false,showHandle:y=true,dragIcon:N,icon:T,leafIcon:k=jsx(File,{className:"h-4 w-4"}),folderIcon:M=jsx(Folder,{className:"h-4 w-4"}),folderOpenIcon:P=jsx(FolderOpen,{className:"h-4 w-4"}),onDragStart:E,onDragEnter:D,onDragOver:H,onDragLeave:L,onDragEnd:S,onDrop:V,blockNode:z=false,disabled:F=false,...I},K)=>{let B=W.useCallback(()=>l?new Set(AT(r)):new Set(i),[l,i,r]),[q,ne]=W.useState(B),G=s!==void 0,O=G?new Set(s):q,_=W.useCallback((pe,We)=>{let Kt=new Set(O),Ve=!Kt.has(pe);Ve?Kt.add(pe):Kt.delete(pe),G||ne(Kt),c?.(Array.from(Kt),{expanded:Ve,node:We});},[O,G,c]),[A,Y]=W.useState(new Set(p)),se=f!==void 0,Ce=se?new Set(f):A,U=W.useCallback((pe,We,Kt)=>{let Ve=new Set(Ce),gn=!Ve.has(pe);m?gn?Ve.add(pe):Ve.delete(pe):(Ve.clear(),gn&&Ve.add(pe)),se||Y(Ve);let Yr=[],Fo=La=>{for(let jr of La)Ve.has(jr.key)&&Yr.push(jr),jr.children&&Fo(jr.children);};Fo(r),g?.(Array.from(Ve),{selected:gn,selectedNodes:Yr,node:We,event:Kt});},[Ce,m,se,g,r]),[ct,ee]=W.useState(new Set(R)),[tt,On]=W.useState(new Set),bt=v!==void 0,br=bt?new Set(Array.isArray(v)?v:v.checked):ct,Bn=bt&&!Array.isArray(v)?new Set(v.halfChecked):tt,Bo=W.useCallback((pe,We,Kt)=>{let Ve=new Set(br),gn=new Set(Bn),Yr=!Ve.has(pe);if(Yr?(Ve.add(pe),gn.delete(pe)):Ve.delete(pe),!b&&We.children){let Ri=zT(We);for(let Kn of Ri)Yr?(Ve.add(Kn),gn.delete(Kn)):Ve.delete(Kn);}bt||(ee(Ve),On(gn));let Fo=[],La=Ri=>{for(let Kn of Ri)Ve.has(Kn.key)&&Fo.push(Kn),Kn.children&&La(Kn.children);};La(r);let jr=b?{checked:Array.from(Ve),halfChecked:Array.from(gn)}:Array.from(Ve);w?.(jr,{checked:Yr,checkedNodes:Fo,node:We,event:Kt,halfCheckedKeys:Array.from(gn)});},[br,Bn,b,bt,w,r]),[Ft,Ea]=W.useState(null),[vr,$]=W.useState(null),[re,j]=W.useState(null),Se=W.useCallback((pe,We)=>{$(pe),j(We);},[]),le=W.useCallback((pe,We)=>{!Ft||!V||We===0&&Xg(Ft,pe.key)||V({event:{},node:pe,dragNode:Ft,dropPosition:We,dropToGap:We!==0});},[Ft,V]),Ge=W.useCallback(()=>Array.from(O),[O]),$e={expandedKeys:O,toggleExpand:_,selectedKeys:Ce,handleSelect:U,selectable:d,multiple:m,checkedKeys:br,halfCheckedKeys:Bn,handleCheck:Bo,checkable:h,checkStrictly:b,draggable:o,draggedNode:Ft,setDraggedNode:Ea,dragOverKey:vr,dragOverPosition:re,setDragOver:Se,handleDrop:le,allowDrop:a,onDragStart:E,onDragEnter:D,onDragOver:H,onDragLeave:L,onDragEnd:S,showLine:x,showIcon:C,showHandle:y,dragIcon:N,icon:T,leafIcon:k,folderIcon:M,folderOpenIcon:P,blockNode:z,disabled:F,size:n,data:r,getAllKeys:Ge},Fn=pe=>{let We=pe.relatedTarget,Kt=pe.currentTarget;(!We||!Kt.contains(We))&&Se(null,null);};return jsx(Yg.Provider,{value:$e,children:jsx("div",{ref:K,role:"tree","aria-multiselectable":m||h,className:u(Wg({variant:t,size:n,className:e})),onDragLeave:Fn,...I,children:r.map((pe,We)=>jsx(jg,{node:pe,level:0,isLast:We===r.length-1},pe.key))})})});qg.displayName="Tree";var Qg=cva("flex rounded-md border border-input bg-background text-sm placeholder:text-muted-foreground focus:outline-none transition-colors disabled:cursor-not-allowed disabled:opacity-50",{variants:{size:{sm:"h-8 px-2 text-xs",md:"h-10 px-3 text-sm",lg:"h-12 px-4 text-base"},fullWidth:{true:"w-full",false:"w-fit min-w-48"}},defaultVariants:{size:"md",fullWidth:false}}),$T=({text:e,query:t})=>{if(!t)return jsx(Fragment,{children:e});let n=new RegExp(`(${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi"),r=e.split(n);return jsx(Fragment,{children:r.map((o,a)=>n.test(o)?jsx("mark",{className:"bg-primary/20 text-foreground rounded-sm",children:o},a):jsx("span",{children:o},a))})},UT=(e,t)=>{let[n,r]=W.useState(e);return W.useEffect(()=>{let o=setTimeout(()=>{r(e);},t);return ()=>{clearTimeout(o);}},[e,t]),n},Jg=W.forwardRef(({className:e,size:t,value:n,defaultValue:r="",onChange:o,onSelect:a,options:s=[],loadOptions:i,debounceMs:l=300,minChars:c=0,placeholder:d="Type to search...",emptyText:m="No results found.",loadingText:f="Loading...",clearable:p=false,freeSolo:g=true,maxHeight:h=200,highlightMatch:b=true,fullWidth:v=false,disabled:R,...w},x)=>{let[C,y]=W.useState(false),[N,T]=W.useState(r),[k,M]=W.useState([]),[P,E]=W.useState(false),[D,H]=W.useState(false),[L,S]=W.useState(0),V=W.useRef(null),z=W.useRef(null),F=n!==void 0?n:N,I=UT(F,l);W.useEffect(()=>{let U=z.current;if(!U)return;let ct=()=>{S(U.offsetWidth);};ct();let ee=new ResizeObserver(ct);return ee.observe(U),()=>{ee.disconnect();}},[]),W.useImperativeHandle(x,()=>V.current);let K=i?k:s,B=W.useMemo(()=>i?K:K.filter(U=>U.label.toLowerCase().includes(F.toLowerCase())),[K,F,i]);W.useEffect(()=>{if(!i)return;if(I.length<c){M([]);return}let U=false;return (async()=>{E(true);try{let ee=await i(I);U||M(ee);}catch{U||M([]);}finally{U||E(false);}})(),()=>{U=true;}},[I,i,c]);let q=U=>{n===void 0&&T(U),o?.(U);},ne=U=>{let ct=U.target.value;q(ct),ct.length>=c&&y(true);},G=U=>{q(U.label),a?.(U),y(false);},O=()=>{q(""),V.current?.focus();},_=()=>{H(true),y(true);},A=()=>{H(false);},Y=U=>{U.key==="Escape"&&y(false),U.key==="ArrowDown"&&!C&&B.length>0&&y(true);},se=t==="sm"?"h-3 w-3":t==="lg"?"h-5 w-5":"h-4 w-4",Ce=p&&F?"pr-8":"pr-3";return jsxs(nt,{open:C,onOpenChange:y,children:[jsxs(oo,{ref:z,className:u("relative",v?"w-full":"w-fit"),children:[jsx("input",{ref:V,type:"text",value:F,onChange:ne,onFocus:_,onBlur:A,onKeyDown:Y,disabled:R,placeholder:d,className:u(Qg({size:t,fullWidth:v}),Ce,e),style:{borderColor:D?"var(--color-foreground)":void 0},role:"combobox","aria-expanded":C,"aria-autocomplete":"list","aria-controls":"autocomplete-list",...w}),p&&F&&!R&&jsx("button",{type:"button",onClick:O,className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground","aria-label":"Clear",children:jsx(X,{className:se})})]}),jsx(rt,{className:"p-0",align:"start",style:{width:L>0?L:void 0},onOpenAutoFocus:U=>U.preventDefault(),children:jsx(Command,{className:"overflow-hidden rounded-md",shouldFilter:false,children:jsx(ze,{style:{maxHeight:h},children:jsx(Command.List,{id:"autocomplete-list",className:"p-1",children:P?jsxs("div",{className:"flex items-center justify-center gap-2 py-6 text-sm text-muted-foreground",children:[jsx(Loader2,{className:u(se,"animate-spin")}),f]}):B.length===0?jsx("div",{className:"py-6 text-center text-sm text-muted-foreground",children:m}):B.map(U=>jsxs(Command.Item,{value:U.value,disabled:U.disabled,onSelect:()=>G(U),className:u("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none","data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground"),children:[jsx(Check,{className:u("mr-2 h-4 w-4 shrink-0",F===U.label?"opacity-100":"opacity-0")}),jsx("span",{className:"flex-1",children:b?jsx($T,{text:U.label,query:F}):U.label})]},U.value))})})})})]})});Jg.displayName="Autocomplete";var vl=W.createContext(null),hl=W.createContext(null),xl=()=>{let e=W.useContext(vl);if(!e)throw new Error("useFormContext must be used within a Form");return e},Rs=()=>{let e=W.useContext(hl);if(!e)throw new Error("useFieldContext must be used within a FormField");return e},WT={required:(e="This field is required")=>({validate:t=>typeof t=="string"?t.trim().length>0:Array.isArray(t)?t.length>0:t!=null,message:e}),minLength:(e,t)=>({validate:n=>typeof n=="string"&&n.length>=e,message:t??`Must be at least ${e} characters`}),maxLength:(e,t)=>({validate:n=>typeof n=="string"&&n.length<=e,message:t??`Must be at most ${e} characters`}),min:(e,t)=>({validate:n=>typeof n=="number"&&n>=e,message:t??`Must be at least ${e}`}),max:(e,t)=>({validate:n=>typeof n=="number"&&n<=e,message:t??`Must be at most ${e}`}),email:(e="Invalid email address")=>({validate:t=>typeof t=="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t),message:e}),pattern:(e,t="Invalid format")=>({validate:n=>typeof n=="string"&&e.test(n),message:t}),custom:(e,t)=>({validate:e,message:t})},eb=W.forwardRef(({defaultValues:e={},onSubmit:t,onError:n,validateOnBlur:r=true,validateOnChange:o=false,children:a,className:s,...i},l)=>{let[c,d]=W.useState(e),[m,f]=W.useState({}),[p,g]=W.useState({}),[h,b]=W.useState({}),[v,R]=W.useState(false),w=W.useRef(new Map),x=W.useCallback((L,S)=>{w.current.set(L,S);},[]),C=W.useCallback(L=>{w.current.delete(L);},[]),y=W.useCallback(L=>{let S=w.current.get(L)||[],V=c[L];for(let z of S)if(!z.validate(V))return f(F=>({...F,[L]:z.message})),false;return f(z=>({...z,[L]:null})),true},[c]),N=W.useCallback(()=>{let L=true,S={};return w.current.forEach((V,z)=>{let F=c[z];for(let I of V)if(!I.validate(F)){S[z]=I.message,L=false;break}S[z]||(S[z]=null);}),f(S),L},[c]),T=W.useCallback((L,S)=>{d(V=>({...V,[L]:S})),b(V=>({...V,[L]:true})),o&&setTimeout(()=>{y(L);},0);},[o,y]),k=W.useCallback((L,S)=>{f(V=>({...V,[L]:S}));},[]),M=W.useCallback((L,S)=>{g(V=>({...V,[L]:S})),S&&r&&y(L);},[r,y]),P=W.useCallback(L=>({value:c[L],error:m[L]??null,touched:p[L]??false,dirty:h[L]??false}),[c,m,p,h]),E=W.useCallback(()=>{d(e),f({}),g({}),b({});},[e]),D=async L=>{L.preventDefault();let S={};if(w.current.forEach((z,F)=>{S[F]=true;}),g(S),!N()){n?.(m);return}if(t){R(true);try{await t(c);}finally{R(false);}}},H={values:c,errors:m,touched:p,dirty:h,isSubmitting:v,setValue:T,setError:k,setTouched:M,validateField:y,validateAll:N,registerField:x,unregisterField:C,getFieldState:P,reset:E};return jsx(vl.Provider,{value:H,children:jsx("form",{ref:l,onSubmit:D,className:u("space-y-4",s),...i,children:a})})});eb.displayName="Form";var tb=({name:e,rules:t=[],defaultValue:n,children:r})=>{let o=xl(),a=W.useId();W.useEffect(()=>(o.registerField(e,t),n!==void 0&&o.values[e]===void 0&&o.setValue(e,n),()=>{o.unregisterField(e);}),[e,t,n,o]);let s=o.getFieldState(e),i={name:e,id:`${a}-${e}`,value:s.value,error:s.error,touched:s.touched,dirty:s.dirty};return jsx(hl.Provider,{value:i,children:r})};tb.displayName="FormField";var nb=W.forwardRef(({className:e,...t},n)=>jsx("div",{ref:n,className:u("space-y-1.5",e),...t}));nb.displayName="FormItem";var rb=W.forwardRef(({className:e,required:t,children:n,...r},o)=>{let{id:a,error:s,touched:i}=Rs();return jsxs(Rr,{ref:o,htmlFor:a,className:u(s&&i&&"text-danger",e),...r,children:[n,t&&jsx("span",{className:"ml-1 text-danger",children:"*"})]})});rb.displayName="FormLabel";var ob=({children:e})=>{let{name:t,id:n,error:r,touched:o}=Rs(),a=xl(),s=a.getFieldState(t),i=c=>{let d=c.target,m=d.type==="checkbox"?d.checked:d.value;a.setValue(t,m);},l=()=>{a.setTouched(t,true);};return W.cloneElement(e,{id:n,name:t,value:s.value??"",onChange:i,onBlur:l,"aria-invalid":r&&o?"true":void 0,"aria-describedby":r&&o?`${n}-error`:void 0})};ob.displayName="FormControl";var ab=W.forwardRef(({className:e,...t},n)=>jsx("p",{ref:n,className:u("text-xs text-muted-foreground",e),...t}));ab.displayName="FormDescription";var sb=W.forwardRef(({className:e,message:t,...n},r)=>{let{id:o,error:a,touched:s}=Rs(),i=t??(s?a:null);return i?jsx("p",{ref:r,id:`${o}-error`,className:u("text-xs text-danger",e),role:"alert",...n,children:i}):null});sb.displayName="FormMessage";var lb=cva("inline-flex items-center gap-3",{variants:{size:{sm:"[&_[data-user-avatar]]:h-8 [&_[data-user-avatar]]:w-8",md:"[&_[data-user-avatar]]:h-10 [&_[data-user-avatar]]:w-10",lg:"[&_[data-user-avatar]]:h-12 [&_[data-user-avatar]]:w-12"}},defaultVariants:{size:"md"}}),cb=W.forwardRef(({className:e,size:t,name:n,description:r,avatarUrl:o,avatarFallback:a,trailing:s,...i},l)=>{let c=a||n.split(" ").map(d=>d[0]).join("").toUpperCase().slice(0,2);return jsxs("div",{ref:l,className:u(lb({size:t,className:e})),...i,children:[jsxs(wr,{"data-user-avatar":true,children:[o&&jsx(Jr,{src:o,alt:n}),jsx(Cr,{children:c})]}),jsxs("div",{className:"flex flex-col min-w-0",children:[jsx("span",{className:"text-sm font-medium leading-none truncate",children:n}),r&&jsx("span",{className:"text-sm text-muted-foreground truncate",children:r})]}),s&&jsx("div",{className:"ml-auto flex-shrink-0",children:s})]})});cb.displayName="User";var ub=cva("font-mono rounded",{variants:{variant:{solid:"bg-primary text-primary-foreground",outline:"border border-input bg-transparent",ghost:"bg-transparent",soft:"bg-muted text-foreground",surface:"bg-muted/50 text-foreground border border-border"},size:{sm:"px-1 py-0.5 text-xs",md:"px-1.5 py-0.5 text-sm",lg:"px-2 py-1 text-base"}},defaultVariants:{variant:"soft",size:"md"}}),mb=W.forwardRef(({className:e,variant:t,size:n,...r},o)=>jsx("code",{ref:o,className:u(ub({variant:t,size:n,className:e})),...r}));mb.displayName="Code";var pb=cva("relative flex items-center gap-2 font-mono rounded-lg border",{variants:{variant:{solid:"bg-primary text-primary-foreground border-primary",outline:"bg-transparent border-input",ghost:"bg-transparent border-transparent",soft:"bg-muted border-muted",surface:"bg-muted/50 border-border"},size:{sm:"px-3 py-1.5 text-xs",md:"px-4 py-2 text-sm",lg:"px-5 py-3 text-base"}},defaultVariants:{variant:"surface",size:"md"}}),fb=W.forwardRef(({className:e,variant:t,size:n,code:r,copyable:o=true,copyLabel:a="Copy",onCopy:s,symbol:i="$",hideSymbol:l=false,...c},d)=>{let[m,f]=W.useState(false),p=async()=>{try{await navigator.clipboard.writeText(r),f(!0),s?.(),setTimeout(()=>f(!1),2e3);}catch(g){console.error("Failed to copy:",g);}};return jsxs("div",{ref:d,className:u(pb({variant:t,size:n,className:e})),...c,children:[!l&&jsx("span",{className:"text-muted-foreground select-none",children:i}),jsx("code",{className:"flex-1 truncate",children:r}),o&&jsx("button",{type:"button",onClick:p,className:u("flex-shrink-0 rounded p-1 transition-colors","hover:bg-black/10 dark:hover:bg-white/10","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"),"aria-label":m?"Copied":a,children:m?jsx(Check,{className:"h-4 w-4 text-green-500"}):jsx(Copy,{className:"h-4 w-4 text-muted-foreground"})})]})});fb.displayName="Snippet";var wl=cva("overflow-hidden",{variants:{radius:{none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"rounded-full"}},defaultVariants:{radius:"md"}}),gb=W.forwardRef(({className:e,radius:t,src:n,alt:r,fallback:o,showSkeleton:a=true,onLoad:s,onError:i,fit:l="cover",aspectRatio:c,style:d,...m},f)=>{let[p,g]=W.useState("loading");W.useEffect(()=>{n&&g("loading");},[n]);let h=()=>{g("loaded"),s?.();},b=()=>{g("error"),i?.();},v={contain:"object-contain",cover:"object-cover",fill:"object-fill",none:"object-none","scale-down":"object-scale-down"}[l];return p==="error"&&o?jsx("div",{className:u(wl({radius:t}),"flex items-center justify-center bg-muted",e),style:{aspectRatio:c,...d},children:o}):jsxs("div",{className:u(wl({radius:t}),"relative",e),style:{aspectRatio:c,...d},children:[p==="loading"&&a&&jsx(Ga,{className:"absolute inset-0 h-full w-full"}),jsx("img",{ref:f,src:n,alt:r,onLoad:h,onError:b,className:u("h-full w-full transition-opacity duration-300",v,p==="loading"?"opacity-0":"opacity-100"),...m})]})});gb.displayName="Image";var hb=cva("flex flex-col rounded-lg border bg-background",{variants:{size:{sm:"p-1 gap-0.5",md:"p-1.5 gap-1",lg:"p-2 gap-1.5"}},defaultVariants:{size:"md"}}),xb=cva("relative flex cursor-pointer select-none items-center rounded-md outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",{variants:{size:{sm:"px-2 py-1 text-xs",md:"px-3 py-1.5 text-sm",lg:"px-4 py-2 text-base"}},defaultVariants:{size:"md"}}),yb=W.createContext({value:"",onValueChange:()=>{},multiple:false,size:"md"}),Rb=W.forwardRef(({className:e,size:t="md",value:n,defaultValue:r="",onValueChange:o,multiple:a=false,children:s,...i},l)=>{let[c,d]=W.useState(r),m=n??c,f=p=>{let g;if(a){let h=Array.isArray(m)?m:[m].filter(Boolean);h.includes(p)?g=h.filter(b=>b!==p):g=[...h,p];}else g=p;o?o(g):d(g);};return jsx(yb.Provider,{value:{value:m,onValueChange:f,multiple:a,size:t??"md"},children:jsx("div",{ref:l,role:"listbox","aria-multiselectable":a,className:u(hb({size:t,className:e})),...i,children:s})})});Rb.displayName="Listbox";var wb=W.forwardRef(({className:e,value:t,disabled:n,icon:r,description:o,children:a,...s},i)=>{let{value:l,onValueChange:c,multiple:d,size:m}=W.useContext(yb),f=d?Array.isArray(l)&&l.includes(t):l===t,p=()=>{n||c(t);},g=h=>{(h.key==="Enter"||h.key===" ")&&!n&&(h.preventDefault(),c(t));};return jsxs("div",{ref:i,role:"option","aria-selected":f,"data-disabled":n?"":void 0,tabIndex:n?-1:0,className:u(xb({size:m}),f&&"bg-accent text-accent-foreground",e),onClick:p,onKeyDown:g,...s,children:[r&&jsx("span",{className:"mr-2 flex-shrink-0",children:r}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"truncate",children:a}),o&&jsx("div",{className:"text-xs text-muted-foreground truncate",children:o})]}),f&&jsx(Check,{className:"ml-2 h-4 w-4 flex-shrink-0"})]})});wb.displayName="ListboxItem";var Tb=cva("flex flex-col",{variants:{variant:{default:"gap-2",bordered:"divide-y divide-border rounded-lg border",cards:"gap-2"},size:{sm:"",md:"",lg:""}},defaultVariants:{variant:"default",size:"md"}}),Mb=cva("flex items-center gap-3 bg-background transition-all",{variants:{variant:{default:"rounded-lg border p-3",bordered:"p-3",cards:"rounded-lg border p-3 shadow-sm"},size:{sm:"p-2 text-sm",md:"p-3 text-sm",lg:"p-4 text-base"},isDragging:{true:"opacity-50 scale-[1.02] shadow-lg z-10",false:""},isDragOver:{true:"border-primary border-dashed",false:""}},defaultVariants:{variant:"default",size:"md",isDragging:false,isDragOver:false}});function oM({className:e,variant:t,size:n,items:r,onReorder:o,renderItem:a,showHandle:s=true,disabled:i=false,...l},c){let[d,m]=W.useState(null),[f,p]=W.useState(null),g=(w,x)=>{i||(m(x),w.dataTransfer.effectAllowed="move",w.dataTransfer.setData("text/plain",String(x)));},h=(w,x)=>{w.preventDefault(),!(i||d===null||d===x)&&p(x);},b=()=>{p(null);},v=(w,x)=>{if(w.preventDefault(),i||d===null||d===x){m(null),p(null);return}let C=[...r],[y]=C.splice(d,1);C.splice(x,0,y),o?.(C),m(null),p(null);},R=()=>{m(null),p(null);};return jsx("div",{ref:c,className:u(Tb({variant:t,size:n,className:e})),...l,children:r.map((w,x)=>jsxs("div",{draggable:!i,onDragStart:C=>g(C,x),onDragOver:C=>h(C,x),onDragLeave:b,onDrop:C=>v(C,x),onDragEnd:R,className:u(Mb({variant:t,size:n,isDragging:d===x,isDragOver:f===x}),!i&&"cursor-move"),children:[s&&jsx("div",{className:u("flex-shrink-0 text-muted-foreground",i?"opacity-30":"cursor-grab active:cursor-grabbing"),children:jsx(GripVertical,{className:"h-5 w-5"})}),jsx("div",{className:"flex-1 min-w-0",children:a(w,x)})]},w.id))})}var aM=W.forwardRef(oM);var Pb=cva("absolute inset-0 z-50 flex items-center justify-center transition-opacity",{variants:{variant:{solid:"bg-background",soft:"bg-background/80 backdrop-blur-sm",ghost:"bg-background/50"},visible:{true:"opacity-100 pointer-events-auto",false:"opacity-0 pointer-events-none"}},defaultVariants:{variant:"soft",visible:true}}),cM={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"},Eb=W.forwardRef(({className:e,variant:t,loading:n=true,size:r="md",spinner:o,text:a,children:s,...i},l)=>jsxs("div",{ref:l,className:u("relative",e),...i,children:[s,jsx("div",{className:u(Pb({variant:t,visible:n})),"aria-hidden":!n,children:jsxs("div",{className:"flex flex-col items-center gap-2",children:[o||jsx(Loader2,{className:u(cM[r],"animate-spin text-primary")}),a&&jsx("span",{className:"text-sm text-muted-foreground",children:a})]})})]}));Eb.displayName="LoadingOverlay";var Lb=cva("fixed top-0 left-0 z-[9999] h-0.5 transition-all duration-200 ease-out",{variants:{color:{primary:"bg-primary",secondary:"bg-secondary",success:"bg-success",warning:"bg-warning",danger:"bg-danger",info:"bg-info"}},defaultVariants:{color:"primary"}}),Sb=W.forwardRef(({className:e,color:t,isLoading:n=false,progress:r,showSpinner:o=false,...a},s)=>{let[i,l]=W.useState(0),[c,d]=W.useState(false),m=W.useRef(null);return W.useEffect(()=>{if(r!==void 0){l(r),d(r>0&&r<100);return}return n?(d(true),l(10),m.current=setInterval(()=>{l(f=>{if(f>=90)return f;let p=Math.random()*10;return Math.min(f+p,90)});},500)):i>0&&(l(100),setTimeout(()=>{d(false),l(0);},200)),()=>{m.current&&clearInterval(m.current);}},[n,r]),!c&&r===void 0||r!==void 0&&(r<=0||r>=100)?null:jsxs(Fragment,{children:[jsx("div",{ref:s,className:u(Lb({color:t,className:e})),style:{width:`${i}%`},role:"progressbar","aria-valuenow":i,"aria-valuemin":0,"aria-valuemax":100,...a,children:jsx("div",{className:"absolute right-0 h-full w-24 -translate-y-1 rotate-3 bg-inherit opacity-50 blur-sm"})}),o&&c&&jsx("div",{className:"fixed top-4 right-4 z-[9999]",children:jsx("div",{className:u("h-4 w-4 animate-spin rounded-full border-2 border-transparent",t==="primary"&&"border-t-primary",t==="secondary"&&"border-t-secondary",t==="success"&&"border-t-success",t==="warning"&&"border-t-warning",t==="danger"&&"border-t-danger",t==="info"&&"border-t-info")})})]})});Sb.displayName="NProgress";var Vb=cva("flex items-center justify-center",{variants:{variant:{spinner:"",dots:"",pulse:"",skeleton:""},size:{sm:"gap-1",md:"gap-2",lg:"gap-3"},fullScreen:{true:"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm",false:""}},defaultVariants:{variant:"spinner",size:"md",fullScreen:false}}),Db={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"},gM={sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-3 w-3"},Ab=W.forwardRef(({className:e,variant:t="spinner",size:n="md",fullScreen:r,text:o,color:a="primary",...s},i)=>{let l={primary:"text-primary",secondary:"text-secondary",muted:"text-muted-foreground"}[a],c=()=>{switch(t){case "dots":return jsx("div",{className:"flex items-center gap-1",children:[0,1,2].map(d=>jsx("div",{className:u(gM[n||"md"],"animate-bounce rounded-full bg-current",l),style:{animationDelay:`${d*.15}s`}},d))});case "pulse":return jsx("div",{className:u(Db[n||"md"],"animate-pulse rounded-full bg-current",l)});case "skeleton":return jsxs("div",{className:"w-full space-y-2",children:[jsx("div",{className:"h-4 w-3/4 animate-pulse rounded bg-muted"}),jsx("div",{className:"h-4 w-1/2 animate-pulse rounded bg-muted"}),jsx("div",{className:"h-4 w-5/6 animate-pulse rounded bg-muted"})]});default:return jsx(Loader2,{className:u(Db[n||"md"],"animate-spin",l)})}};return jsx("div",{ref:i,className:u(Vb({variant:t,size:n,fullScreen:r,className:e})),role:"status","aria-label":o||"Loading",...s,children:jsxs("div",{className:"flex flex-col items-center gap-2",children:[c(),o&&jsx("span",{className:u("text-sm",l),children:o})]})})});Ab.displayName="Loading";var Ml=class extends W.Component{constructor(t){super(t),this.state={hasError:false,error:null};}static getDerivedStateFromError(t){return {hasError:true,error:t}}componentDidCatch(t,n){this.props.onError?.(t,n);}componentDidUpdate(t){this.state.hasError&&this.props.resetKeys&&this.props.resetKeys.some((r,o)=>r!==t.resetKeys?.[o])&&this.reset();}reset=()=>{this.props.onReset?.(),this.setState({hasError:false,error:null});};render(){return this.state.hasError?this.props.fallback?this.props.fallback:jsx(Nl,{error:this.state.error,onReset:this.reset}):this.props.children}},Nl=W.forwardRef(({error:e,onReset:t,className:n},r)=>jsxs("div",{ref:r,className:u("flex min-h-[200px] flex-col items-center justify-center gap-4 rounded-lg border border-danger/20 bg-danger/5 p-6 text-center",n),role:"alert",children:[jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-danger/10",children:jsx(AlertTriangle,{className:"h-6 w-6 text-danger"})}),jsxs("div",{className:"space-y-2",children:[jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Something went wrong"}),e&&jsx("p",{className:"text-sm text-muted-foreground max-w-md",children:e.message||"An unexpected error occurred"})]}),t&&jsxs("button",{onClick:t,className:"inline-flex items-center gap-2 rounded-md bg-danger px-4 py-2 text-sm font-medium text-danger-foreground hover:bg-danger/90 transition-colors",children:[jsx(RefreshCw,{className:"h-4 w-4"}),"Try again"]})]}));Nl.displayName="DefaultErrorFallback";var hM=Ml;var Ob=W.forwardRef(({value:e,defaultValue:t,onValueChange:n,placeholder:r="Pick a date range",dateFormat:o="LLL dd, y",disabled:a=false,minDate:s,maxDate:i,numberOfMonths:l=2,className:c,align:d="start"},m)=>{let[f,p]=W.useState(false),[g,h]=W.useState(t),b=e!==void 0,v=b?e:g,R=x=>{b||h(x),n?.(x);},w=x=>{if(!x)return r;let{from:C,to:y}=x;return C&&y?`${format(C,o)} - ${format(y,o)}`:C?format(C,o):r};return jsxs(nt,{open:f,onOpenChange:p,children:[jsxs(Lt,{ref:m,disabled:a,className:u("inline-flex items-center justify-start gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm font-normal hover:bg-accent hover:text-accent-foreground w-full text-left",!v?.from&&"text-muted-foreground",a&&"cursor-not-allowed opacity-50",c),children:[jsx(Calendar,{className:"h-4 w-4"}),w(v)]}),jsx(rt,{className:"w-auto p-0",align:d,children:jsx(so,{mode:"range",defaultMonth:v?.from,selected:v,onSelect:R,numberOfMonths:l,disabled:x=>!!(s&&x<s||i&&x>i),initialFocus:true})})]})});Ob.displayName="DateRangePicker";var bo=e=>String(e).padStart(2,"0"),Bb=W.forwardRef(({value:e,onValueChange:t,placeholder:n="Pick a time",use24Hour:r=true,minuteStep:o=1,disabled:a=false,className:s},i)=>{let[l,c]=W.useState(false),d=r?Array.from({length:24},(w,x)=>x):Array.from({length:12},(w,x)=>x+1),m=Array.from({length:Math.floor(60/o)},(w,x)=>x*o),f=w=>{if(!w)return n;if(r)return `${bo(w.hours)}:${bo(w.minutes)}`;let x=w.hours%12||12,C=w.hours>=12?"PM":"AM";return `${bo(x)}:${bo(w.minutes)} ${C}`},p=w=>{let x=e?.minutes??0,C=w;if(!r&&e){let y=e.hours>=12;y&&w!==12?C=w+12:!y&&w===12&&(C=0);}t?.({hours:C,minutes:x});},g=w=>{let x=e?.hours??0;t?.({hours:x,minutes:w});},h=w=>{if(!e)return;let x=e.hours;w==="AM"&&e.hours>=12?x=e.hours-12:w==="PM"&&e.hours<12&&(x=e.hours+12),t?.({hours:x,minutes:e.minutes});},b=()=>{let w=new Date;t?.({hours:w.getHours(),minutes:w.getMinutes()});},v=e?e.hours>=12?"PM":"AM":void 0,R=e?r?e.hours:e.hours%12||12:void 0;return jsxs(nt,{open:l,onOpenChange:c,children:[jsxs(Lt,{ref:i,disabled:a,className:u("inline-flex items-center justify-start gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm font-normal hover:bg-accent hover:text-accent-foreground w-full text-left",!e&&"text-muted-foreground",a&&"cursor-not-allowed opacity-50",s),children:[jsx(Clock,{className:"h-4 w-4"}),f(e)]}),jsxs(rt,{className:"w-auto p-0",align:"start",children:[jsxs("div",{className:"flex",children:[jsxs("div",{className:"flex flex-col",children:[jsx("div",{className:"border-b px-3 py-2 text-center text-xs font-medium text-muted-foreground",children:"Hour"}),jsx(ze,{className:"h-[200px]",children:jsx("div",{className:"flex flex-col p-1",children:d.map(w=>jsx(oe,{variant:R===w?"solid":"ghost",size:"sm",className:"h-8 w-12 justify-center",onClick:()=>p(w),children:bo(w)},w))})})]}),jsxs("div",{className:"flex flex-col border-l",children:[jsx("div",{className:"border-b px-3 py-2 text-center text-xs font-medium text-muted-foreground",children:"Min"}),jsx(ze,{className:"h-[200px]",children:jsx("div",{className:"flex flex-col p-1",children:m.map(w=>jsx(oe,{variant:e?.minutes===w?"solid":"ghost",size:"sm",className:"h-8 w-12 justify-center",onClick:()=>g(w),children:bo(w)},w))})})]}),!r&&jsxs("div",{className:"flex flex-col border-l",children:[jsx("div",{className:"border-b px-3 py-2 text-center text-xs font-medium text-muted-foreground",children:"\xA0"}),jsxs("div",{className:"flex flex-col gap-1 p-1",children:[jsx(oe,{variant:v==="AM"?"solid":"ghost",size:"sm",className:"h-8 w-12",onClick:()=>h("AM"),children:"AM"}),jsx(oe,{variant:v==="PM"?"solid":"ghost",size:"sm",className:"h-8 w-12",onClick:()=>h("PM"),children:"PM"})]})]})]}),jsxs("div",{className:"flex justify-between border-t p-2",children:[jsx(oe,{variant:"ghost",size:"sm",onClick:b,children:"Now"}),jsx(oe,{size:"sm",onClick:()=>c(false),children:"Done"})]})]})]})});Bb.displayName="TimePicker";var Fb=cva("overflow-auto",{variants:{variant:{default:"",bordered:"border rounded-lg",cards:""}},defaultVariants:{variant:"default"}});function wM({className:e,variant:t,items:n,itemHeight:r,height:o,overscan:a=3,renderItem:s,getItemKey:i,gap:l=0,onScrollChange:c,...d},m){let f=W.useRef(null),[p,g]=W.useState(0);W.useImperativeHandle(m,()=>f.current);let h=n.length*(r+l)-l,b=r+l,v=Math.max(0,Math.floor(p/b)-a),R=Math.ceil(o/b)+2*a,w=Math.min(n.length-1,v+R),x=y=>{let N=y.currentTarget.scrollTop;g(N),c?.(N);},C=W.useMemo(()=>{let y=[];for(let N=v;N<=w;N++)n[N]!==void 0&&y.push({item:n[N],index:N,style:{position:"absolute",top:N*b,left:0,right:0,height:r}});return y},[n,v,w,b,r]);return jsx("div",{ref:f,className:u(Fb({variant:t,className:e})),style:{height:o,position:"relative"},onScroll:x,...d,children:jsx("div",{style:{height:h,position:"relative"},children:C.map(({item:y,index:N,style:T})=>jsx("div",{style:T,children:s(y,N)},i?i(y,N):N))})})}var CM=W.forwardRef(wM);var Gb=cva("",{variants:{variant:{default:"",bordered:"border rounded-lg overflow-hidden"}},defaultVariants:{variant:"default"}}),Ll=cva("flex items-center justify-center py-4",{variants:{size:{sm:"py-2",md:"py-4",lg:"py-6"}},defaultVariants:{size:"md"}}),$b=W.forwardRef(({className:e,variant:t,size:n,children:r,onLoadMore:o,hasMore:a,isLoading:s=false,loader:i,threshold:l=100,rootMargin:c,useWindow:d=false,endMessage:m,...f},p)=>{let g=W.useRef(null),h=W.useRef(null),b=W.useRef(false);W.useImperativeHandle(p,()=>g.current),W.useEffect(()=>{let R=h.current;if(!R)return;let w=new IntersectionObserver(x=>{let[C]=x;C.isIntersecting&&a&&!s&&!b.current&&(b.current=true,Promise.resolve(o()).finally(()=>{b.current=false;}));},{root:d?null:g.current,rootMargin:c||`${l}px`,threshold:0});return w.observe(R),()=>{w.disconnect();}},[a,s,o,l,c,d]);let v=jsx("div",{className:u(Ll({size:n})),children:jsx(Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})});return jsxs("div",{ref:g,className:u(Gb({variant:t,className:e})),...f,children:[r,jsx("div",{ref:h,className:"h-px w-full"}),s&&(i||v),!a&&!s&&m&&jsx("div",{className:u(Ll({size:n}),"text-muted-foreground text-sm"),children:m})]})});$b.displayName="InfiniteScroll";var la=W.forwardRef(({className:e,...t},n)=>jsx("span",{ref:n,className:u("absolute h-px w-px p-0 -m-px overflow-hidden whitespace-nowrap border-0","[clip:rect(0,0,0,0)]",e),...t}));la.displayName="VisuallyHidden";var Wb={opaque:"bg-black/80",blur:"bg-black/50 backdrop-blur-sm",transparent:"bg-transparent"},kM={auto:"top-[50%] translate-y-[-50%]",center:"top-[50%] translate-y-[-50%]",top:"top-4 translate-y-0",bottom:"top-auto bottom-4 translate-y-0","top-center":"top-[20%] translate-y-0","bottom-center":"top-auto bottom-[20%] translate-y-0"},_b=cva("fixed inset-0 z-50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"),Dl=cva("fixed left-[50%] z-50 grid translate-x-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:rounded-lg",{variants:{size:{xs:"w-full max-w-xs",sm:"w-full max-w-sm",md:"w-full max-w-md",lg:"w-full max-w-lg",xl:"w-full max-w-xl","2xl":"w-full max-w-2xl","3xl":"w-full max-w-3xl","4xl":"w-full max-w-4xl","5xl":"w-full max-w-5xl",full:"w-[calc(100vw-2rem)] h-[calc(100vh-2rem)] max-w-none"}},defaultVariants:{size:"md"}}),Es=W.createContext(null),Hr=()=>{let e=W.useContext(Es);if(!e)throw new Error("Modal components must be used within a Modal");return e},jb=W.forwardRef(({open:e,onOpenChange:t,trigger:n,title:r="Modal",children:o,hideCloseButton:a=false,isDismissable:s=true,isKeyboardDismissDisabled:i=false,backdrop:l="opaque",placement:c="center",scrollBehavior:d="inside",size:m,className:f},p)=>{let[g,h]=W.useState(false),b=e!==void 0,v=b?e:g,[R,w]=W.useState(false),x=W.useRef(null),C=W.useId(),y=W.useId();W.useEffect(()=>{w(true);},[]);let N=W.useCallback(P=>{b||h(P),t?.(P);},[b,t]);W.useEffect(()=>{if(v)return dt(),()=>ut()},[v]),W.useEffect(()=>{if(!v||i)return;let P=E=>{E.key==="Escape"&&N(false);};return document.addEventListener("keydown",P),()=>document.removeEventListener("keydown",P)},[v,i,N]);let T=P=>{s&&P.target===P.currentTarget&&N(false);},k=n?W.isValidElement(n)?W.cloneElement(n,{onClick:P=>{n.props.onClick?.(P),N(true);}}):jsx("button",{type:"button",onClick:()=>N(true),children:n}):null,M=()=>!R||!v?null:d==="outside"?Ya.createPortal(jsx("div",{"data-state":v?"open":"closed",className:u(_b(),Wb[l],"overflow-y-auto flex items-start justify-center py-4"),onClick:T,children:jsxs("div",{ref:P=>{x.current=P,typeof p=="function"?p(P):p&&(p.current=P);},role:"dialog","aria-modal":"true","aria-labelledby":C,"aria-describedby":y,"data-state":v?"open":"closed",className:u("relative z-50 grid gap-4 border bg-background p-6 shadow-lg sm:rounded-lg dark:border-0",m==="xs"&&"w-full max-w-xs",m==="sm"&&"w-full max-w-sm",m==="md"&&"w-full max-w-md",m==="lg"&&"w-full max-w-lg",m==="xl"&&"w-full max-w-xl",m==="2xl"&&"w-full max-w-2xl",m==="3xl"&&"w-full max-w-3xl",m==="4xl"&&"w-full max-w-4xl",m==="5xl"&&"w-full max-w-5xl",m==="full"&&"w-[calc(100vw-2rem)] min-h-[calc(100vh-2rem)]",!m&&"w-full max-w-md",f),children:[jsx(la,{children:jsx("h2",{id:C,children:r})}),o,!a&&jsxs("button",{type:"button",className:"absolute right-4 top-4 z-10 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:()=>N(false),children:[jsx(X,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Close"})]})]})}),document.body):Ya.createPortal(jsxs(Fragment,{children:[jsx("div",{"data-state":v?"open":"closed",className:u(_b(),Wb[l]),onClick:T,"aria-hidden":"true"}),jsxs("div",{ref:P=>{x.current=P,typeof p=="function"?p(P):p&&(p.current=P);},role:"dialog","aria-modal":"true","aria-labelledby":C,"aria-describedby":y,"data-state":v?"open":"closed",className:u(Dl({size:m}),kM[c],"dark:border-0 max-h-[calc(100vh-2rem)] !flex !flex-col overflow-hidden gap-4",f),children:[jsx(la,{children:jsx("h2",{id:C,children:r})}),o,!a&&jsxs("button",{type:"button",className:"absolute right-4 top-4 z-10 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:()=>N(false),children:[jsx(X,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Close"})]})]})]}),document.body);return jsxs(Es.Provider,{value:{open:v,onOpenChange:N,scrollBehavior:d,titleId:C,descriptionId:y},children:[k,M()]})});jb.displayName="Modal";var Xb=({children:e,open:t,defaultOpen:n=false,onOpenChange:r,scrollBehavior:o="inside"})=>{let[a,s]=W.useState(n),i=t!==void 0,l=i?t:a,c=W.useId(),d=W.useId(),m=W.useCallback(f=>{i||s(f),r?.(f);},[i,r]);return jsx(Es.Provider,{value:{open:l,onOpenChange:m,scrollBehavior:o,titleId:c,descriptionId:d},children:e})};Xb.displayName="ModalRoot";var qb=W.forwardRef(({children:e,onClick:t,...n},r)=>{let{onOpenChange:o}=Hr();return jsx("button",{ref:r,type:"button",onClick:s=>{t?.(s),o(true);},...n,children:e})});qb.displayName="ModalTrigger";var Hl=({children:e,container:t})=>{let[n,r]=W.useState(false);return W.useEffect(()=>{r(true);},[]),n?Ya.createPortal(e,t||document.body):null};Hl.displayName="ModalPortal";var Il=W.forwardRef(({className:e,...t},n)=>{let{open:r,onOpenChange:o}=Hr();return r?jsx("div",{ref:n,"data-state":r?"open":"closed",className:u("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),onClick:()=>o(false),"aria-hidden":"true",...t}):null});Il.displayName="ModalOverlay";var Vl=W.forwardRef(({children:e,onClick:t,...n},r)=>{let{onOpenChange:o}=Hr();return jsx("button",{ref:r,type:"button",onClick:s=>{t?.(s),o(false);},...n,children:e})});Vl.displayName="ModalClose";var Zb=W.forwardRef(({className:e,children:t,size:n,showCloseButton:r=true,onEscapeKeyDown:o,onInteractOutside:a,...s},i)=>{let{open:l,onOpenChange:c,titleId:d,descriptionId:m}=Hr(),[f,p]=W.useState(false);return W.useEffect(()=>{p(true);},[]),W.useEffect(()=>{if(l)return dt(),()=>ut()},[l]),W.useEffect(()=>{if(!l)return;let g=h=>{h.key==="Escape"&&(o?.(),c(false));};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[l,c,o]),!f||!l?null:jsxs(Hl,{children:[jsx(Il,{}),jsxs("div",{ref:i,role:"dialog","aria-modal":"true","aria-labelledby":d,"aria-describedby":m,"data-state":l?"open":"closed",className:u(Dl({size:n}),"top-[50%] translate-y-[-50%]",e),...s,children:[t,r&&jsxs(Vl,{className:"absolute right-4 top-4 z-10 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[jsx(X,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Close"})]})]})]})});Zb.displayName="ModalContent";var Qb=({className:e,...t})=>jsx("div",{className:u("flex-shrink-0 flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Qb.displayName="ModalHeader";var Jb=({className:e,children:t})=>(W.useContext(Es)?.scrollBehavior??"inside")==="inside"?jsx(ze,{className:u("flex-1 min-h-0 -mx-6 px-6",e),children:t}):jsx("div",{className:u(e),children:t});Jb.displayName="ModalBody";var ev=({className:e,children:t,...n})=>{let{onOpenChange:r}=Hr();return jsx("div",{className:u("flex-shrink-0 flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...n,children:W.Children.map(t,o=>W.isValidElement(o)?W.cloneElement(o,{onClick:a=>{o.props.onClick?.(a),r(false);}}):o)})};ev.displayName="ModalFooter";var tv=W.forwardRef(({className:e,...t},n)=>{let{titleId:r}=Hr();return jsx("h2",{ref:n,id:r,className:u("text-lg font-semibold leading-none tracking-tight",e),...t})});tv.displayName="ModalTitle";var nv=W.forwardRef(({className:e,...t},n)=>{let{descriptionId:r}=Hr();return jsx("p",{ref:n,id:r,className:u("text-sm text-muted-foreground",e),...t})});nv.displayName="ModalDescription";var av=cva("h-10 w-10 rounded-full p-2",{variants:{variant:{default:"bg-muted text-foreground",danger:"bg-danger/10 text-danger",warning:"bg-warning/10 text-warning",success:"bg-success/10 text-success",info:"bg-info/10 text-info"}},defaultVariants:{variant:"default"}}),IM=cva("",{variants:{variant:{default:"",danger:"bg-danger text-danger-foreground hover:bg-danger/90",warning:"bg-warning text-warning-foreground hover:bg-warning/90",success:"bg-success text-success-foreground hover:bg-success/90",info:"bg-info text-info-foreground hover:bg-info/90"}},defaultVariants:{variant:"default"}}),VM=W.createContext(null),AM={default:HelpCircle,danger:XCircle,warning:AlertTriangle,success:CheckCircle,info:Info},Al=W.forwardRef(({open:e,onOpenChange:t,trigger:n,title:r,description:o,confirmText:a="Confirm",cancelText:s="Cancel",onConfirm:i,onCancel:l,showIcon:c=true,icon:d,variant:m="default",loading:f=false,disabled:p=false,className:g},h)=>{let[b,v]=W.useState(false),[R,w]=W.useState(false),[x,C]=W.useState(false),y=e!==void 0,N=y?e:b,T=AM[m||"default"],k=W.useId(),M=W.useId();W.useEffect(()=>{C(true);},[]);let P=W.useCallback(V=>{y||v(V),t?.(V);},[y,t]);W.useEffect(()=>{if(N)return dt(),()=>ut()},[N]);let E=async()=>{if(i){let V=i();if(V instanceof Promise){w(true);try{await V;}finally{w(false);}}}P(false);},D=()=>{l?.(),P(false);},H=f||R,L=n?W.isValidElement(n)?W.cloneElement(n,{onClick:V=>{n.props.onClick?.(V),P(true);}}):jsx("button",{type:"button",onClick:()=>P(true),children:n}):null,S=()=>!x||!N?null:Ya.createPortal(jsxs(Fragment,{children:[jsx("div",{"data-state":N?"open":"closed",className:"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","aria-hidden":"true"}),jsxs("div",{ref:h,role:"alertdialog","aria-modal":"true","aria-labelledby":k,"aria-describedby":o?M:void 0,"data-state":N?"open":"closed",className:u("fixed left-[50%] top-[50%] z-50 grid w-full max-w-md translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",g),children:[jsxs("div",{className:"flex flex-col items-center gap-4 sm:flex-row sm:items-start",children:[c&&jsx("div",{className:u(av({variant:m})),children:d||jsx(T,{className:"h-6 w-6"})}),jsxs("div",{className:"flex flex-col space-y-2 text-center sm:text-left",children:[jsx("h2",{id:k,className:"text-lg font-semibold",children:r}),o&&jsx("p",{id:M,className:"text-sm text-muted-foreground",children:o})]})]}),jsxs("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[jsx("button",{type:"button",className:u(bn({variant:"bordered"})),onClick:D,disabled:H,children:s}),jsx("button",{type:"button",className:u(bn(),IM({variant:m}),H&&"opacity-50 cursor-not-allowed"),onClick:E,disabled:p||H,children:H?jsxs("span",{className:"flex items-center gap-2",children:[jsxs("svg",{className:"h-4 w-4 animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Loading..."]}):a})]})]})]}),document.body);return jsxs(VM.Provider,{value:{open:N,onOpenChange:P,titleId:k,descriptionId:M},children:[L,S()]})});Al.displayName="ConfirmDialog";function zM(){let[e,t]=W.useState({open:false,options:null,resolve:null}),n=W.useCallback(i=>new Promise(l=>{t({open:true,options:i,resolve:l});}),[]),r=W.useCallback(()=>{e.resolve?.(true),t({open:false,options:null,resolve:null});},[e.resolve]),o=W.useCallback(()=>{e.resolve?.(false),t({open:false,options:null,resolve:null});},[e.resolve]),a=W.useCallback(i=>{i||(e.resolve?.(false),t({open:false,options:null,resolve:null}));},[e.resolve]),s=W.useMemo(()=>e.options?jsx(Al,{open:e.open,onOpenChange:a,title:e.options.title,description:e.options.description,confirmText:e.options.confirmText,cancelText:e.options.cancelText,variant:e.options.variant,onConfirm:r,onCancel:o}):null,[e,r,o,a]);return {confirm:n,ConfirmDialog:s}}var jM=e=>e.map(t=>typeof t=="string"?{src:t}:t),zl=W.forwardRef(({images:e,open:t,onOpenChange:n,initialIndex:r=0,onIndexChange:o,trigger:a,showThumbnails:s=true,showZoom:i=true,showRotate:l=true,showDownload:c=true,showFullscreen:d=true,showNavigation:m=true,showCounter:f=true,closeOnBackdropClick:p=true,className:g},h)=>{let b=W.useMemo(()=>jM(e),[e]),[v,R]=W.useState(r),[w,x]=W.useState(1),[C,y]=W.useState(0),[N,T]=W.useState(false),[k,M]=W.useState(false),[P,E]=W.useState({x:0,y:0}),[D,H]=W.useState({x:0,y:0}),[L,S]=W.useState(false),V=W.useRef(null),z=b[v];W.useEffect(()=>{S(true);},[]),W.useEffect(()=>{R(r);},[r]),W.useEffect(()=>{o?.(v);},[v,o]),W.useEffect(()=>{x(1),y(0),E({x:0,y:0});},[v]),W.useEffect(()=>{if(t)return dt(),()=>ut()},[t]);let F=W.useCallback(()=>{R(ee=>ee>0?ee-1:b.length-1);},[b.length]),I=W.useCallback(()=>{R(ee=>ee<b.length-1?ee+1:0);},[b.length]),K=()=>{x(ee=>Math.min(ee+.5,4));},B=()=>{x(ee=>{let tt=Math.max(ee-.5,.5);return tt===1&&E({x:0,y:0}),tt});},q=()=>{y(ee=>(ee+90)%360);},ne=async()=>{if(z)try{let tt=await(await fetch(z.src)).blob(),On=URL.createObjectURL(tt),bt=document.createElement("a");bt.href=On,bt.download=z.alt||`image-${v+1}`,document.body.appendChild(bt),bt.click(),document.body.removeChild(bt),URL.revokeObjectURL(On);}catch{window.open(z.src,"_blank");}},G=async()=>{if(V.current)if(N)try{await document.exitFullscreen(),T(!1);}catch{}else try{await V.current.requestFullscreen(),T(!0);}catch{}},O=ee=>{w>1&&(M(true),H({x:ee.clientX-P.x,y:ee.clientY-P.y}));},_=ee=>{k&&w>1&&E({x:ee.clientX-D.x,y:ee.clientY-D.y});},A=()=>{M(false);},Y=()=>{n?.(false);},se=ee=>{p&&ee.target===ee.currentTarget&&Y();},Ce=W.useCallback(ee=>{switch(ee.key){case "ArrowLeft":F();break;case "ArrowRight":I();break;case "Escape":n?.(false);break;case "+":case "=":K();break;case "-":B();break}},[F,I,n]);if(W.useEffect(()=>{if(t)return window.addEventListener("keydown",Ce),()=>window.removeEventListener("keydown",Ce)},[t,Ce]),W.useEffect(()=>{let ee=()=>{T(!!document.fullscreenElement);};return document.addEventListener("fullscreenchange",ee),()=>document.removeEventListener("fullscreenchange",ee)},[]),b.length===0)return null;let U=a?W.isValidElement(a)?W.cloneElement(a,{onClick:ee=>{a.props.onClick?.(ee),n?.(true);}}):jsx("button",{type:"button",onClick:()=>n?.(true),children:a}):null;return jsxs(Fragment,{children:[U,!L||!t?null:Ya.createPortal(jsxs(Fragment,{children:[jsx("div",{className:"fixed inset-0 z-50 bg-black/90 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-state":t?"open":"closed",onClick:se}),jsxs("div",{ref:h,className:u("fixed inset-0 z-50 flex flex-col outline-none",g),children:[jsxs("div",{className:"flex items-center justify-between p-4 text-white",children:[jsxs("div",{className:"flex items-center gap-2",children:[f&&b.length>1&&jsxs("span",{className:"text-sm",children:[v+1," / ",b.length]}),z?.title&&jsx("span",{className:"ml-4 text-sm font-medium",children:z.title})]}),jsxs("div",{className:"flex items-center gap-1",children:[i&&jsxs(Fragment,{children:[jsx("button",{onClick:B,className:"rounded-full p-2 hover:bg-white/10 transition-colors",title:"Zoom out",children:jsx(ZoomOut,{className:"h-5 w-5"})}),jsxs("span",{className:"min-w-[3rem] text-center text-sm",children:[Math.round(w*100),"%"]}),jsx("button",{onClick:K,className:"rounded-full p-2 hover:bg-white/10 transition-colors",title:"Zoom in",children:jsx(ZoomIn,{className:"h-5 w-5"})})]}),l&&jsx("button",{onClick:q,className:"rounded-full p-2 hover:bg-white/10 transition-colors",title:"Rotate",children:jsx(RotateCw,{className:"h-5 w-5"})}),c&&jsx("button",{onClick:ne,className:"rounded-full p-2 hover:bg-white/10 transition-colors",title:"Download",children:jsx(Download,{className:"h-5 w-5"})}),d&&jsx("button",{onClick:G,className:"rounded-full p-2 hover:bg-white/10 transition-colors",title:N?"Exit fullscreen":"Fullscreen",children:N?jsx(Minimize2,{className:"h-5 w-5"}):jsx(Maximize2,{className:"h-5 w-5"})}),jsxs("button",{onClick:Y,className:"rounded-full p-2 hover:bg-white/10 transition-colors ml-2",children:[jsx(X,{className:"h-5 w-5"}),jsx("span",{className:"sr-only",children:"Close"})]})]})]}),jsxs("div",{ref:V,className:"relative flex-1 flex items-center justify-center overflow-hidden",onMouseDown:O,onMouseMove:_,onMouseUp:A,onMouseLeave:A,children:[m&&b.length>1&&jsxs(Fragment,{children:[jsx("button",{onClick:F,className:"absolute left-4 z-10 rounded-full bg-black/50 p-3 text-white hover:bg-black/70 transition-colors",children:jsx(ChevronLeft,{className:"h-6 w-6"})}),jsx("button",{onClick:I,className:"absolute right-4 z-10 rounded-full bg-black/50 p-3 text-white hover:bg-black/70 transition-colors",children:jsx(ChevronRight,{className:"h-6 w-6"})})]}),jsx("img",{src:z?.src,alt:z?.alt||"",className:u("max-h-full max-w-full object-contain transition-transform duration-200",k?"cursor-grabbing":w>1?"cursor-grab":""),style:{transform:`translate(${P.x}px, ${P.y}px) scale(${w}) rotate(${C}deg)`},draggable:false})]}),z?.description&&jsx("div",{className:"p-4 text-center text-white text-sm",children:z.description}),s&&b.length>1&&jsx("div",{className:"flex justify-center gap-2 p-4 overflow-x-auto",children:b.map((ee,tt)=>jsx("button",{onClick:()=>R(tt),className:u("h-16 w-16 flex-shrink-0 overflow-hidden rounded border-2 transition-all",v===tt?"border-white opacity-100":"border-transparent opacity-50 hover:opacity-75"),children:jsx("img",{src:ee.src,alt:ee.alt||`Thumbnail ${tt+1}`,className:"h-full w-full object-cover"})},tt))})]})]}),document.body)]})});zl.displayName="ImageViewer";var iv=({children:e,images:t,index:n=0,className:r})=>{let[o,a]=W.useState(false);return jsxs(Fragment,{children:[jsx("button",{onClick:()=>a(true),className:u("cursor-zoom-in",r),children:e}),jsx(zl,{images:t,open:o,onOpenChange:a,initialIndex:n})]})};iv.displayName="ImageViewerTrigger";var lv=cva("absolute rounded-full border-2 border-background",{variants:{color:{default:"bg-muted-foreground",primary:"bg-primary",secondary:"bg-secondary",success:"bg-success",warning:"bg-warning",danger:"bg-danger"},size:{sm:"h-2 w-2",md:"h-2.5 w-2.5",lg:"h-3 w-3"},position:{"top-right":"top-0 right-0 -translate-y-1/3 translate-x-1/3","top-left":"top-0 left-0 -translate-y-1/3 -translate-x-1/3","bottom-right":"bottom-0 right-0 translate-y-1/3 translate-x-1/3","bottom-left":"bottom-0 left-0 translate-y-1/3 -translate-x-1/3"},ping:{true:"",false:""}},defaultVariants:{color:"primary",size:"md",position:"top-right",ping:false}}),cv=W.forwardRef(({className:e,color:t,size:n,position:r,ping:o,content:a,show:s=true,offset:i,style:l,...c},d)=>{if(!s)return null;let m=a!=null;return jsxs("span",{ref:d,className:u(lv({color:t,size:m?void 0:n,position:r,ping:o}),m&&"flex h-auto w-auto min-w-[1.25rem] items-center justify-center px-1 py-0.5 text-[10px] font-medium text-white",e),style:{...l,...i!==void 0&&{transform:`translate(${r?.includes("right")?i:-i}px, ${r?.includes("top")?-i:i}px)`}},...c,children:[o&&jsx("span",{className:u("absolute inline-flex h-full w-full animate-ping rounded-full opacity-75",t==="default"&&"bg-muted-foreground",t==="primary"&&"bg-primary",t==="secondary"&&"bg-secondary",t==="success"&&"bg-success",t==="warning"&&"bg-warning",t==="danger"&&"bg-danger")}),a]})});cv.displayName="Indicator";var dv=W.forwardRef(({className:e,children:t,...n},r)=>jsx("div",{ref:r,className:u("relative inline-flex",e),...n,children:t}));dv.displayName="IndicatorWrapper";var mv=cva("relative overflow-auto",{variants:{orientation:{vertical:"",horizontal:"",both:""},size:{sm:"",md:"",lg:""}},defaultVariants:{orientation:"vertical",size:"md"}}),pv=W.forwardRef(({className:e,orientation:t,size:n,hideScrollbar:r=false,shadowColor:o="rgba(0, 0, 0, 0.1)",children:a,...s},i)=>{let l=W.useRef(null),[c,d]=W.useState({top:false,bottom:false,left:false,right:false});W.useImperativeHandle(i,()=>l.current);let m=W.useCallback(()=>{let v=l.current;if(!v)return;let{scrollTop:R,scrollLeft:w,scrollHeight:x,scrollWidth:C,clientHeight:y,clientWidth:N}=v;d({top:R>0,bottom:R<x-y-1,left:w>0,right:w<C-N-1});},[]);W.useEffect(()=>{let v=l.current;if(v)return m(),v.addEventListener("scroll",m),window.addEventListener("resize",m),()=>{v.removeEventListener("scroll",m),window.removeEventListener("resize",m);}},[m]);let p={sm:"20px",md:"40px",lg:"60px"}[n??"md"],g=t==="vertical"||t==="both",h=t==="horizontal"||t==="both",b={maskImage:[g&&c.top&&`linear-gradient(to bottom, transparent, black ${p})`,g&&c.bottom&&`linear-gradient(to top, transparent, black ${p})`,h&&c.left&&`linear-gradient(to right, transparent, black ${p})`,h&&c.right&&`linear-gradient(to left, transparent, black ${p})`].filter(Boolean).join(", ")||void 0,maskComposite:"intersect",WebkitMaskComposite:"source-in"};return jsx("div",{ref:l,className:u(mv({orientation:t,size:n}),r&&"scrollbar-hide [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]",e),style:b,...s,children:a})});pv.displayName="ScrollShadow";var fv=cva("inline-flex items-center justify-center font-mono font-medium",{variants:{variant:{default:"rounded border border-border bg-muted text-muted-foreground shadow-sm",outline:"rounded border border-border text-foreground",ghost:"text-muted-foreground"},size:{sm:"min-w-[1.25rem] px-1 py-0.5 text-[10px]",md:"min-w-[1.5rem] px-1.5 py-0.5 text-xs",lg:"min-w-[2rem] px-2 py-1 text-sm"}},defaultVariants:{variant:"default",size:"md"}}),eN={cmd:"\u2318",command:"\u2318",meta:"\u2318",ctrl:"\u2303",control:"\u2303",alt:"\u2325",option:"\u2325",shift:"\u21E7",enter:"\u21B5",return:"\u21B5",backspace:"\u232B",delete:"\u2326",escape:"\u238B",esc:"\u238B",tab:"\u21E5",space:"\u2423",up:"\u2191",down:"\u2193",left:"\u2190",right:"\u2192",pageup:"\u21DE",pagedown:"\u21DF",home:"\u2912",end:"\u2913",capslock:"\u21EA"},tN={cmd:"meta",command:"meta",ctrl:"control",alt:"alt",option:"alt",shift:"shift",enter:"enter",return:"enter",backspace:"backspace",delete:"delete",escape:"escape",esc:"escape",tab:"tab",space:" ",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright",pageup:"pageup",pagedown:"pagedown",home:"home",end:"end"},nN=e=>{let t=e.toLowerCase();return eN[t]||e.toUpperCase()},da=e=>{let t=e.toLowerCase();return tN[t]||t},Ls=e=>{let t=da(e);return ["meta","control","alt","shift"].includes(t)},gv=W.forwardRef(({className:e,variant:t,size:n,keys:r,children:o,onPress:a,disabled:s,preventDefault:i=true,...l},c)=>{W.useEffect(()=>{if(!a||!r||s)return;let m=Array.isArray(r)?r:[r],f=m.filter(Ls).map(da),p=m.filter(h=>!Ls(h)).map(da),g=h=>{let b=f.includes("meta")===h.metaKey,v=f.includes("control")===h.ctrlKey,R=f.includes("alt")===h.altKey,w=f.includes("shift")===h.shiftKey,x=p.length===0||p.includes(h.key.toLowerCase());b&&v&&R&&w&&x&&(i&&h.preventDefault(),a(h));};return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[r,a,s,i]);let d=()=>r?(Array.isArray(r)?r:[r]).map((f,p)=>jsxs(W.Fragment,{children:[p>0&&jsx("span",{className:"mx-0.5 text-muted-foreground",children:"+"}),jsx("span",{children:nN(f)})]},p)):o;return jsx("kbd",{ref:c,className:u(fv({variant:t,size:n}),s&&"opacity-50",e),...l,children:d()})});gv.displayName="Kbd";function rN(e,t,n={}){let{disabled:r=false,preventDefault:o=true}=n;W.useEffect(()=>{if(r)return;let a=Array.isArray(e)?e:[e],s=a.filter(Ls).map(da),i=a.filter(c=>!Ls(c)).map(da),l=c=>{let d=s.includes("meta")===c.metaKey,m=s.includes("control")===c.ctrlKey,f=s.includes("alt")===c.altKey,p=s.includes("shift")===c.shiftKey,g=i.length===0||i.includes(c.key.toLowerCase());d&&m&&f&&p&&g&&(o&&c.preventDefault(),t(c));};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[e,t,r,o]);}var bv=cva("inline-flex items-center justify-center rounded-md transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"hover:bg-muted",solid:"bg-muted hover:bg-muted/80",ghost:"hover:bg-accent hover:text-accent-foreground",outline:"border border-input hover:bg-accent hover:text-accent-foreground"},size:{sm:"h-7 w-7",md:"h-8 w-8",lg:"h-10 w-10"}},defaultVariants:{variant:"default",size:"md"}}),vv=W.forwardRef(({className:e,variant:t,size:n,value:r,successDuration:o=2e3,onCopySuccess:a,onCopyError:s,copyIcon:i,successIcon:l,...c},d)=>{let[m,f]=W.useState(false),p={sm:14,md:16,lg:20}[n??"md"],g=async()=>{try{await navigator.clipboard.writeText(r),f(!0),a?.(),setTimeout(()=>{f(!1);},o);}catch(h){s?.(h);}};return jsx("button",{ref:d,type:"button",className:u(bv({variant:t,size:n}),e),onClick:g,"aria-label":m?"Copied":"Copy to clipboard",...c,children:m?l??jsx(Check,{className:"text-success",style:{width:p,height:p}}):i??jsx(Copy,{style:{width:p,height:p}})})});vv.displayName="CopyButton";var xv=cva("flex flex-col bg-background",{variants:{variant:{default:"border rounded-lg",bordered:"border-2 rounded-lg",ghost:""},size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{variant:"default",size:"md"}}),uN=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],mN=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];function pN(e,t,n){let r=new Date(e,t,1),o=new Date(e,t+1,0),a=[],s=r.getDay()-n;s<0&&(s+=7);for(let l=s-1;l>=0;l--)a.push(new Date(e,t,-l));for(let l=1;l<=o.getDate();l++)a.push(new Date(e,t,l));let i=42-a.length;for(let l=1;l<=i;l++)a.push(new Date(e,t+1,l));return a}function fN(e,t){let n=[],o=e.getDay()-t;o<0&&(o+=7);let a=new Date(e);a.setDate(e.getDate()-o);for(let s=0;s<7;s++){let i=new Date(a);i.setDate(a.getDate()+s),n.push(i);}return n}function Hs(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function Ds(e){return Hs(e,new Date)}function hv(e,t){return e.filter(n=>{let r=new Date(n.start),o=new Date(n.end);return Hs(r,t)||Hs(o,t)||r<t&&o>t})}var yv=W.forwardRef(({className:e,variant:t,size:n,events:r=[],view:o="month",onViewChange:a,date:s,onDateChange:i,onEventClick:l,onSlotClick:c,weekStartsOn:d=0,locale:m="en-US",...f},p)=>{let[g,h]=W.useState(new Date),b=s??g,v=M=>{i?i(M):h(M);},R=d===1?mN:uN,w=()=>{let M=new Date(b);o==="month"?M.setMonth(M.getMonth()-1):o==="week"?M.setDate(M.getDate()-7):M.setDate(M.getDate()-1),v(M);},x=()=>{let M=new Date(b);o==="month"?M.setMonth(M.getMonth()+1):o==="week"?M.setDate(M.getDate()+7):M.setDate(M.getDate()+1),v(M);},C=()=>{v(new Date);},y=()=>o==="day"?b.toLocaleDateString(m,{weekday:"long",year:"numeric",month:"long",day:"numeric"}):b.toLocaleDateString(m,{year:"numeric",month:"long"}),N=()=>{let M=pN(b.getFullYear(),b.getMonth(),d);return jsxs("div",{className:"flex-1 flex flex-col",children:[jsx("div",{className:"grid grid-cols-7 border-b",children:R.map(P=>jsx("div",{className:"p-2 text-center font-medium text-muted-foreground",children:P},P))}),jsx("div",{className:"flex-1 grid grid-cols-7 grid-rows-6",children:M.map((P,E)=>{let D=hv(r,P),H=P.getMonth()===b.getMonth();return jsxs("div",{className:u("min-h-[80px] border-b border-r p-1 cursor-pointer hover:bg-accent/50 transition-colors",!H&&"bg-muted/30"),onClick:()=>c?.(P),children:[jsx("div",{className:u("flex items-center justify-center w-7 h-7 rounded-full text-sm mb-1",Ds(P)&&"bg-primary text-primary-foreground",!H&&"text-muted-foreground"),children:P.getDate()}),jsxs("div",{className:"space-y-0.5",children:[D.slice(0,3).map(L=>jsx("div",{className:"text-xs px-1 py-0.5 rounded truncate cursor-pointer hover:opacity-80",style:{backgroundColor:L.color||"hsl(var(--primary))",color:"white"},onClick:S=>{S.stopPropagation(),l?.(L);},children:L.title},L.id)),D.length>3&&jsxs("div",{className:"text-xs text-muted-foreground px-1",children:["+",D.length-3," more"]})]})]},E)})})]})},T=()=>{let M=fN(b,d),P=Array.from({length:24},(E,D)=>D);return jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[jsxs("div",{className:"grid grid-cols-[60px_repeat(7,1fr)] border-b",children:[jsx("div",{className:"p-2"}),M.map((E,D)=>jsxs("div",{className:u("p-2 text-center border-l",Ds(E)&&"bg-primary/10"),children:[jsx("div",{className:"text-xs text-muted-foreground",children:R[D]}),jsx("div",{className:u("text-lg font-semibold",Ds(E)&&"text-primary"),children:E.getDate()})]},D))]}),jsx("div",{className:"flex-1 overflow-auto",children:jsx("div",{className:"grid grid-cols-[60px_repeat(7,1fr)]",children:P.map(E=>jsxs(W.Fragment,{children:[jsxs("div",{className:"h-12 text-xs text-muted-foreground text-right pr-2 pt-0 border-b",children:[E.toString().padStart(2,"0"),":00"]}),M.map((D,H)=>{let L=new Date(D);L.setHours(E,0,0,0);let S=r.filter(V=>{let z=new Date(V.start);return Hs(z,D)&&z.getHours()===E});return jsx("div",{className:"h-12 border-b border-l cursor-pointer hover:bg-accent/50 relative",onClick:()=>c?.(L),children:S.map(V=>jsx("div",{className:"absolute inset-x-0.5 top-0.5 text-xs px-1 py-0.5 rounded truncate cursor-pointer",style:{backgroundColor:V.color||"hsl(var(--primary))",color:"white"},onClick:z=>{z.stopPropagation(),l?.(V);},children:V.title},V.id))},H)})]},E))})})]})},k=()=>{let M=Array.from({length:24},(E,D)=>D),P=hv(r,b);return jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[jsx("div",{className:"p-4 border-b text-center",children:jsx("div",{className:u("inline-flex items-center justify-center w-12 h-12 rounded-full text-2xl font-semibold",Ds(b)&&"bg-primary text-primary-foreground"),children:b.getDate()})}),jsx("div",{className:"flex-1 overflow-auto",children:jsx("div",{className:"grid grid-cols-[60px_1fr]",children:M.map(E=>{let D=new Date(b);D.setHours(E,0,0,0);let H=P.filter(L=>new Date(L.start).getHours()===E);return jsxs(W.Fragment,{children:[jsxs("div",{className:"h-12 text-xs text-muted-foreground text-right pr-2 pt-0 border-b",children:[E.toString().padStart(2,"0"),":00"]}),jsx("div",{className:"h-12 border-b border-l cursor-pointer hover:bg-accent/50 relative",onClick:()=>c?.(D),children:H.map(L=>jsx("div",{className:"absolute inset-x-1 top-0.5 text-xs px-2 py-1 rounded truncate cursor-pointer",style:{backgroundColor:L.color||"hsl(var(--primary))",color:"white"},onClick:S=>{S.stopPropagation(),l?.(L);},children:L.title},L.id))})]},E)})})})]})};return jsxs("div",{ref:p,className:u(xv({variant:t,size:n,className:e})),...f,children:[jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx(oe,{variant:"bordered",size:"sm",onClick:C,children:"Today"}),jsx(oe,{variant:"ghost",size:"icon",onClick:w,children:jsx(ChevronLeft,{className:"h-4 w-4"})}),jsx(oe,{variant:"ghost",size:"icon",onClick:x,children:jsx(ChevronRight,{className:"h-4 w-4"})}),jsx("h2",{className:"text-lg font-semibold ml-2",children:y()})]}),jsx("div",{className:"flex items-center gap-1 border rounded-lg p-1",children:["month","week","day"].map(M=>jsx(oe,{variant:o===M?"solid":"ghost",size:"sm",onClick:()=>a?.(M),children:M.charAt(0).toUpperCase()+M.slice(1)},M))})]}),o==="month"&&N(),o==="week"&&T(),o==="day"&&k()]})});yv.displayName="FullCalendar";var ma=cva("w-full",{variants:{size:{sm:"h-48",md:"h-64",lg:"h-96"}},defaultVariants:{size:"md"}}),pa=["hsl(var(--primary))","hsl(var(--chart-1, 220 70% 50%))","hsl(var(--chart-2, 160 60% 45%))","hsl(var(--chart-3, 30 80% 55%))","hsl(var(--chart-4, 280 65% 60%))"],Rv=W.forwardRef(({className:e,size:t,data:n,dataKeys:r,colors:o=pa,showGrid:a=true,showLegend:s=true,showTooltip:i=true,xAxisKey:l="name",curveType:c="monotone",...d},m)=>jsx("div",{ref:m,className:u(ma({size:t,className:e})),...d,children:jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(LineChart,{data:n,children:[a&&jsx(CartesianGrid,{strokeDasharray:"3 3",className:"stroke-muted"}),jsx(XAxis,{dataKey:l,className:"text-xs fill-muted-foreground",tickLine:false,axisLine:false}),jsx(YAxis,{className:"text-xs fill-muted-foreground",tickLine:false,axisLine:false}),i&&jsx(Tooltip,{contentStyle:{backgroundColor:"hsl(var(--popover))",border:"1px solid hsl(var(--border))",borderRadius:"var(--radius)"},labelStyle:{color:"hsl(var(--popover-foreground))"}}),s&&jsx(Legend,{}),r.map((f,p)=>jsx(Line,{type:c,dataKey:f,stroke:o[p%o.length],strokeWidth:2,dot:{fill:o[p%o.length],strokeWidth:0},activeDot:{r:6}},f))]})})}));Rv.displayName="LineChart";var wv=W.forwardRef(({className:e,size:t,data:n,dataKeys:r,colors:o=pa,showGrid:a=true,showLegend:s=true,showTooltip:i=true,xAxisKey:l="name",stacked:c=false,layout:d="horizontal",...m},f)=>jsx("div",{ref:f,className:u(ma({size:t,className:e})),...m,children:jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(BarChart,{data:n,layout:d,children:[a&&jsx(CartesianGrid,{strokeDasharray:"3 3",className:"stroke-muted"}),jsx(XAxis,{dataKey:d==="horizontal"?l:void 0,type:d==="horizontal"?"category":"number",className:"text-xs fill-muted-foreground",tickLine:false,axisLine:false}),jsx(YAxis,{dataKey:d==="vertical"?l:void 0,type:d==="vertical"?"category":"number",className:"text-xs fill-muted-foreground",tickLine:false,axisLine:false}),i&&jsx(Tooltip,{contentStyle:{backgroundColor:"hsl(var(--popover))",border:"1px solid hsl(var(--border))",borderRadius:"var(--radius)"},labelStyle:{color:"hsl(var(--popover-foreground))"}}),s&&jsx(Legend,{}),r.map((p,g)=>jsx(Bar,{dataKey:p,fill:o[g%o.length],stackId:c?"stack":void 0,radius:[4,4,0,0]},p))]})})}));wv.displayName="BarChart";var Cv=W.forwardRef(({className:e,size:t,data:n,dataKey:r="value",nameKey:o="name",colors:a=pa,innerRadius:s=0,outerRadius:i=80,showLegend:l=true,showTooltip:c=true,showLabels:d=false,...m},f)=>jsx("div",{ref:f,className:u(ma({size:t,className:e})),...m,children:jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(PieChart,{children:[c&&jsx(Tooltip,{contentStyle:{backgroundColor:"hsl(var(--popover))",border:"1px solid hsl(var(--border))",borderRadius:"var(--radius)"}}),l&&jsx(Legend,{}),jsx(Pie,{data:n,dataKey:r,nameKey:o,cx:"50%",cy:"50%",innerRadius:s,outerRadius:i,label:d,labelLine:d,children:n.map((p,g)=>jsx(Cell,{fill:a[g%a.length]},`cell-${g}`))})]})})}));Cv.displayName="PieChart";var Tv=W.forwardRef(({className:e,size:t,data:n,dataKeys:r,colors:o=pa,showGrid:a=true,showLegend:s=true,showTooltip:i=true,xAxisKey:l="name",stacked:c=false,curveType:d="monotone",...m},f)=>jsx("div",{ref:f,className:u(ma({size:t,className:e})),...m,children:jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(AreaChart,{data:n,children:[a&&jsx(CartesianGrid,{strokeDasharray:"3 3",className:"stroke-muted"}),jsx(XAxis,{dataKey:l,className:"text-xs fill-muted-foreground",tickLine:false,axisLine:false}),jsx(YAxis,{className:"text-xs fill-muted-foreground",tickLine:false,axisLine:false}),i&&jsx(Tooltip,{contentStyle:{backgroundColor:"hsl(var(--popover))",border:"1px solid hsl(var(--border))",borderRadius:"var(--radius)"},labelStyle:{color:"hsl(var(--popover-foreground))"}}),s&&jsx(Legend,{}),r.map((p,g)=>jsx(Area,{type:d,dataKey:p,stroke:o[g%o.length],fill:o[g%o.length],fillOpacity:.3,stackId:c?"stack":void 0},p))]})})}));Tv.displayName="AreaChart";var kv=cva("flex gap-4 overflow-x-auto p-4",{variants:{variant:{default:"bg-muted/30",bordered:"border rounded-lg bg-background",ghost:""}},defaultVariants:{variant:"default"}}),Pv=cva("flex flex-col min-w-[280px] w-[280px] rounded-lg",{variants:{variant:{default:"bg-muted/50",bordered:"border bg-background",ghost:"bg-transparent"}},defaultVariants:{variant:"default"}}),Wl=cva("rounded-lg p-3 cursor-grab active:cursor-grabbing transition-all",{variants:{variant:{default:"bg-background border shadow-sm hover:shadow-md",bordered:"border-2 bg-background hover:border-primary/50",ghost:"bg-muted/50 hover:bg-muted"},isDragging:{true:"opacity-50 scale-[1.02] shadow-lg",false:""}},defaultVariants:{variant:"default",isDragging:false}});function zN({card:e,columnId:t,variant:n,renderCard:r,onCardClick:o}){let{attributes:a,listeners:s,setNodeRef:i,transform:l,transition:c,isDragging:d}=useSortable({id:e.id,data:{columnId:t}}),m={transform:CSS.Transform.toString(l),transition:c};return jsx("div",{ref:i,style:m,className:u(Wl({variant:n,isDragging:d})),onClick:()=>o?.(e,t),...a,...s,children:r?r(e,t):jsxs("div",{className:"flex items-start gap-2",children:[jsx(GripVertical,{className:"h-4 w-4 text-muted-foreground flex-shrink-0 mt-0.5"}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("p",{className:"font-medium text-sm truncate",children:e.title}),e.description&&jsx("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-2",children:e.description})]})]})})}function ON({column:e,variant:t,renderCard:n,onCardClick:r,onAddCard:o,showAddCard:a,columnHeight:s}){return jsxs("div",{className:u(Pv({variant:t})),children:[jsxs("div",{className:"flex items-center justify-between p-3 border-b",children:[jsxs("div",{className:"flex items-center gap-2",children:[e.color&&jsx("div",{className:"w-3 h-3 rounded-full",style:{backgroundColor:e.color}}),jsx("h3",{className:"font-semibold text-sm",children:e.title}),jsx("span",{className:"text-xs text-muted-foreground bg-muted px-2 py-0.5 rounded-full",children:e.cards.length})]}),a&&jsx(oe,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>o?.(e.id),children:jsx(Plus,{className:"h-4 w-4"})})]}),jsx(ze,{style:{height:s},children:jsxs("div",{className:"p-2 space-y-2",children:[jsx(SortableContext,{items:e.cards.map(i=>i.id),strategy:verticalListSortingStrategy,children:e.cards.map(i=>jsx(zN,{card:i,columnId:e.id,variant:t,renderCard:n,onCardClick:r},i.id))}),e.cards.length===0&&jsx("div",{className:"h-20 border-2 border-dashed rounded-lg flex items-center justify-center text-muted-foreground text-sm",children:"Drop here"})]})})]})}var Ev=W.forwardRef(({className:e,variant:t,columns:n,onCardMove:r,onCardClick:o,onAddCard:a,renderCard:s,showAddCard:i=true,columnHeight:l=500,...c},d)=>{let[m,f]=W.useState(null),[p,g]=W.useState(null),h=useSensors(useSensor(PointerSensor,{activationConstraint:{distance:8}}),useSensor(KeyboardSensor,{coordinateGetter:sortableKeyboardCoordinates})),b=x=>n.find(C=>C.cards.some(y=>y.id===x));return jsxs(DndContext,{sensors:h,collisionDetection:closestCorners,onDragStart:x=>{let{active:C}=x,y=b(C.id);if(y){let N=y.cards.find(T=>T.id===C.id);N&&(f(N),g(y.id));}},onDragOver:x=>{let{active:C,over:y}=x;if(!y)return;let N=C.id,T=y.id,k=b(N),M=b(T)||n.find(D=>D.id===T);if(!k||!M||k.id===M.id)return;let P=M.cards.findIndex(D=>D.id===T),E=P===-1?M.cards.length:P;r?.(N,k.id,M.id,E);},onDragEnd:x=>{let{active:C,over:y}=x;if(y&&C.id!==y.id){let N=b(C.id),T=b(y.id)||n.find(k=>k.id===y.id);if(N&&T){let k=T.cards.findIndex(P=>P.id===y.id),M=k===-1?T.cards.length:k;r?.(C.id,N.id,T.id,M);}}f(null),g(null);},children:[jsx("div",{ref:d,className:u(kv({variant:t,className:e})),...c,children:n.map(x=>jsx(ON,{column:x,variant:t,renderCard:s,onCardClick:o,onAddCard:a,showAddCard:i,columnHeight:l},x.id))}),jsx(DragOverlay,{children:m&&p&&jsx("div",{className:u(Wl({variant:t,isDragging:true})),children:s?s(m,p):jsxs("div",{className:"flex items-start gap-2",children:[jsx(GripVertical,{className:"h-4 w-4 text-muted-foreground flex-shrink-0 mt-0.5"}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("p",{className:"font-medium text-sm truncate",children:m.title}),m.description&&jsx("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-2",children:m.description})]})]})})})]})});Ev.displayName="KanbanBoard";var Lv=cva("relative",{variants:{variant:{default:"",bordered:"border rounded-lg p-4",cards:"rounded-lg"}},defaultVariants:{variant:"default"}}),Sv=W.createContext(null);function _l(){let e=W.useContext(Sv);if(!e)throw new Error("useCarousel must be used within a <Carousel />");return e}var Dv=W.forwardRef(({className:e,variant:t,children:n,opts:r,plugins:o,orientation:a="horizontal",showArrows:s=true,showDots:i=true,setApi:l,...c},d)=>{let[m,f]=BN({...r,axis:a==="horizontal"?"x":"y"},o),[p,g]=W.useState(false),[h,b]=W.useState(false),[v,R]=W.useState(0),[w,x]=W.useState([]),C=W.useCallback(M=>{M&&(R(M.selectedScrollSnap()),g(M.canScrollPrev()),b(M.canScrollNext()));},[]),y=W.useCallback(()=>{f?.scrollPrev();},[f]),N=W.useCallback(()=>{f?.scrollNext();},[f]),T=W.useCallback(M=>{f?.scrollTo(M);},[f]),k=W.useCallback(M=>{M.key==="ArrowLeft"?(M.preventDefault(),y()):M.key==="ArrowRight"&&(M.preventDefault(),N());},[y,N]);return W.useEffect(()=>{!f||!l||l(f);},[f,l]),W.useEffect(()=>{if(f)return x(f.scrollSnapList()),C(f),f.on("reInit",C),f.on("select",C),()=>{f?.off("select",C);}},[f,C]),jsx(Sv.Provider,{value:{carouselRef:m,api:f,scrollPrev:y,scrollNext:N,canScrollPrev:p,canScrollNext:h,selectedIndex:v,scrollSnaps:w,scrollTo:T},children:jsxs("div",{ref:d,className:u(Lv({variant:t,className:e})),onKeyDownCapture:k,role:"region","aria-roledescription":"carousel",...c,children:[jsx("div",{ref:m,className:"overflow-hidden",children:jsx("div",{className:u("flex",a==="horizontal"?"-ml-4":"-mt-4 flex-col"),children:n})}),s&&jsxs(Fragment,{children:[jsx(Yl,{}),jsx(jl,{})]}),i&&w.length>1&&jsx("div",{className:"flex justify-center gap-1.5 mt-4",children:w.map((M,P)=>jsx("button",{className:u("w-2 h-2 rounded-full transition-all",P===v?"bg-primary w-4":"bg-muted-foreground/30 hover:bg-muted-foreground/50"),onClick:()=>T(P),"aria-label":`Go to slide ${P+1}`},P))})]})})});Dv.displayName="Carousel";var Hv=W.forwardRef(({className:e,...t},n)=>jsx("div",{ref:n,className:u("flex",e),...t}));Hv.displayName="CarouselContent";var Iv=W.forwardRef(({className:e,basis:t="basis-full",...n},r)=>jsx("div",{ref:r,role:"group","aria-roledescription":"slide",className:u("min-w-0 shrink-0 grow-0 pl-4",t,e),...n}));Iv.displayName="CarouselItem";var Yl=W.forwardRef(({className:e,variant:t="bordered",size:n="icon",...r},o)=>{let{scrollPrev:a,canScrollPrev:s}=_l();return jsxs(oe,{ref:o,variant:t,size:n,className:u("absolute left-2 top-1/2 -translate-y-1/2 h-8 w-8 rounded-full",e),disabled:!s,onClick:a,...r,children:[jsx(ChevronLeft,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Previous slide"})]})});Yl.displayName="CarouselPrevious";var jl=W.forwardRef(({className:e,variant:t="bordered",size:n="icon",...r},o)=>{let{scrollNext:a,canScrollNext:s}=_l();return jsxs(oe,{ref:o,variant:t,size:n,className:u("absolute right-2 top-1/2 -translate-y-1/2 h-8 w-8 rounded-full",e),disabled:!s,onClick:a,...r,children:[jsx(ChevronRight,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Next slide"})]})});jl.displayName="CarouselNext";var Vv=cva("flex flex-col bg-popover border rounded-lg shadow-md",{variants:{size:{sm:"w-64 h-72",md:"w-80 h-96",lg:"w-96 h-[480px]"}},defaultVariants:{size:"md"}}),Bs={recent:{icon:"\u{1F550}",name:"Recent"},smileys:{icon:"\u{1F600}",name:"Smileys & Emotion"},people:{icon:"\u{1F44B}",name:"People & Body"},animals:{icon:"\u{1F43B}",name:"Animals & Nature"},food:{icon:"\u{1F354}",name:"Food & Drink"},travel:{icon:"\u{1F697}",name:"Travel & Places"},activities:{icon:"\u26BD",name:"Activities"},objects:{icon:"\u{1F4A1}",name:"Objects"},symbols:{icon:"\u2764\uFE0F",name:"Symbols"},flags:{icon:"\u{1F3F3}\uFE0F",name:"Flags"}},ql={smileys:["\u{1F600}","\u{1F603}","\u{1F604}","\u{1F601}","\u{1F606}","\u{1F605}","\u{1F923}","\u{1F602}","\u{1F642}","\u{1F643}","\u{1F609}","\u{1F60A}","\u{1F607}","\u{1F970}","\u{1F60D}","\u{1F929}","\u{1F618}","\u{1F617}","\u263A\uFE0F","\u{1F61A}","\u{1F60B}","\u{1F61B}","\u{1F61C}","\u{1F92A}","\u{1F61D}","\u{1F911}","\u{1F917}","\u{1F92D}","\u{1F92B}","\u{1F914}","\u{1F910}","\u{1F928}","\u{1F610}","\u{1F611}","\u{1F636}","\u{1F60F}","\u{1F612}","\u{1F644}","\u{1F62C}","\u{1F925}","\u{1F60C}","\u{1F614}","\u{1F62A}","\u{1F924}","\u{1F634}","\u{1F637}","\u{1F912}","\u{1F915}","\u{1F922}","\u{1F92E}","\u{1F927}","\u{1F975}","\u{1F976}","\u{1F974}","\u{1F635}","\u{1F92F}","\u{1F920}","\u{1F973}","\u{1F978}","\u{1F60E}","\u{1F913}","\u{1F9D0}","\u{1F615}","\u{1F61F}","\u{1F641}","\u2639\uFE0F","\u{1F62E}","\u{1F62F}","\u{1F632}","\u{1F633}","\u{1F97A}","\u{1F626}","\u{1F627}","\u{1F628}","\u{1F630}","\u{1F625}","\u{1F622}","\u{1F62D}","\u{1F631}","\u{1F616}","\u{1F623}","\u{1F61E}","\u{1F613}","\u{1F629}","\u{1F62B}","\u{1F971}","\u{1F624}","\u{1F621}","\u{1F620}","\u{1F92C}","\u{1F608}","\u{1F47F}","\u{1F480}","\u2620\uFE0F","\u{1F4A9}","\u{1F921}","\u{1F479}","\u{1F47A}","\u{1F47B}","\u{1F47D}"],people:["\u{1F44B}","\u{1F91A}","\u{1F590}\uFE0F","\u270B","\u{1F596}","\u{1F44C}","\u{1F90C}","\u{1F90F}","\u270C\uFE0F","\u{1F91E}","\u{1F91F}","\u{1F918}","\u{1F919}","\u{1F448}","\u{1F449}","\u{1F446}","\u{1F595}","\u{1F447}","\u261D\uFE0F","\u{1F44D}","\u{1F44E}","\u270A","\u{1F44A}","\u{1F91B}","\u{1F91C}","\u{1F44F}","\u{1F64C}","\u{1F450}","\u{1F932}","\u{1F91D}","\u{1F64F}","\u270D\uFE0F","\u{1F485}","\u{1F933}","\u{1F4AA}","\u{1F9BE}","\u{1F9BF}","\u{1F9B5}","\u{1F9B6}","\u{1F442}","\u{1F9BB}","\u{1F443}","\u{1F9E0}","\u{1FAC0}","\u{1FAC1}","\u{1F9B7}","\u{1F9B4}","\u{1F440}","\u{1F441}\uFE0F","\u{1F445}","\u{1F444}","\u{1F476}","\u{1F9D2}","\u{1F466}","\u{1F467}","\u{1F9D1}","\u{1F471}","\u{1F468}","\u{1F9D4}","\u{1F469}","\u{1F9D3}","\u{1F474}","\u{1F475}","\u{1F64D}","\u{1F64E}","\u{1F645}","\u{1F646}","\u{1F481}","\u{1F64B}","\u{1F9CF}","\u{1F647}","\u{1F926}","\u{1F937}","\u{1F46E}","\u{1F575}\uFE0F","\u{1F482}","\u{1F977}","\u{1F477}","\u{1F934}","\u{1F478}"],animals:["\u{1F436}","\u{1F431}","\u{1F42D}","\u{1F439}","\u{1F430}","\u{1F98A}","\u{1F43B}","\u{1F43C}","\u{1F428}","\u{1F42F}","\u{1F981}","\u{1F42E}","\u{1F437}","\u{1F43D}","\u{1F438}","\u{1F435}","\u{1F648}","\u{1F649}","\u{1F64A}","\u{1F412}","\u{1F414}","\u{1F427}","\u{1F426}","\u{1F424}","\u{1F423}","\u{1F425}","\u{1F986}","\u{1F985}","\u{1F989}","\u{1F987}","\u{1F43A}","\u{1F417}","\u{1F434}","\u{1F984}","\u{1F41D}","\u{1FAB1}","\u{1F41B}","\u{1F98B}","\u{1F40C}","\u{1F41E}","\u{1F41C}","\u{1FAB0}","\u{1FAB2}","\u{1FAB3}","\u{1F99F}","\u{1F997}","\u{1F577}\uFE0F","\u{1F578}\uFE0F","\u{1F982}","\u{1F422}","\u{1F40D}","\u{1F98E}","\u{1F996}","\u{1F995}","\u{1F419}","\u{1F991}","\u{1F990}","\u{1F99E}","\u{1F980}","\u{1F421}","\u{1F420}","\u{1F41F}","\u{1F42C}","\u{1F433}","\u{1F40B}","\u{1F988}","\u{1F40A}","\u{1F405}","\u{1F406}","\u{1F993}","\u{1F98D}","\u{1F9A7}","\u{1F9A3}","\u{1F418}","\u{1F99B}","\u{1F98F}","\u{1F42A}","\u{1F42B}","\u{1F992}","\u{1F998}"],food:["\u{1F347}","\u{1F348}","\u{1F349}","\u{1F34A}","\u{1F34B}","\u{1F34C}","\u{1F34D}","\u{1F96D}","\u{1F34E}","\u{1F34F}","\u{1F350}","\u{1F351}","\u{1F352}","\u{1F353}","\u{1FAD0}","\u{1F95D}","\u{1F345}","\u{1FAD2}","\u{1F965}","\u{1F951}","\u{1F346}","\u{1F954}","\u{1F955}","\u{1F33D}","\u{1F336}\uFE0F","\u{1FAD1}","\u{1F952}","\u{1F96C}","\u{1F966}","\u{1F9C4}","\u{1F9C5}","\u{1F344}","\u{1F95C}","\u{1F330}","\u{1F35E}","\u{1F950}","\u{1F956}","\u{1FAD3}","\u{1F968}","\u{1F96F}","\u{1F95E}","\u{1F9C7}","\u{1F9C0}","\u{1F356}","\u{1F357}","\u{1F969}","\u{1F953}","\u{1F354}","\u{1F35F}","\u{1F355}","\u{1F32D}","\u{1F96A}","\u{1F32E}","\u{1F32F}","\u{1FAD4}","\u{1F959}","\u{1F9C6}","\u{1F95A}","\u{1F373}","\u{1F958}","\u{1F372}","\u{1FAD5}","\u{1F963}","\u{1F957}","\u{1F37F}","\u{1F9C8}","\u{1F9C2}","\u{1F96B}","\u{1F371}","\u{1F358}","\u{1F359}","\u{1F35A}","\u{1F35B}","\u{1F35C}","\u{1F35D}","\u{1F360}","\u{1F362}","\u{1F363}","\u{1F364}","\u{1F365}"],travel:["\u{1F697}","\u{1F695}","\u{1F699}","\u{1F68C}","\u{1F68E}","\u{1F3CE}\uFE0F","\u{1F693}","\u{1F691}","\u{1F692}","\u{1F690}","\u{1F6FB}","\u{1F69A}","\u{1F69B}","\u{1F69C}","\u{1F9AF}","\u{1F9BD}","\u{1F9BC}","\u{1F6F4}","\u{1F6B2}","\u{1F6F5}","\u{1F3CD}\uFE0F","\u{1F6FA}","\u{1F6A8}","\u{1F694}","\u{1F68D}","\u{1F698}","\u{1F696}","\u{1F6A1}","\u{1F6A0}","\u{1F69F}","\u{1F683}","\u{1F68B}","\u{1F69E}","\u{1F69D}","\u{1F684}","\u{1F685}","\u{1F688}","\u{1F682}","\u{1F686}","\u{1F687}","\u{1F68A}","\u{1F689}","\u2708\uFE0F","\u{1F6EB}","\u{1F6EC}","\u{1F6E9}\uFE0F","\u{1F4BA}","\u{1F6F0}\uFE0F","\u{1F680}","\u{1F6F8}","\u{1F681}","\u{1F6F6}","\u26F5","\u{1F6A4}","\u{1F6E5}\uFE0F","\u{1F6F3}\uFE0F","\u26F4\uFE0F","\u{1F6A2}","\u2693","\u{1FA9D}","\u26FD","\u{1F6A7}","\u{1F6A6}","\u{1F6A5}","\u{1F68F}","\u{1F5FA}\uFE0F","\u{1F5FF}","\u{1F5FD}","\u{1F5FC}","\u{1F3F0}","\u{1F3EF}","\u{1F3DF}\uFE0F","\u{1F3A1}","\u{1F3A2}","\u{1F3A0}","\u26F2","\u26F1\uFE0F","\u{1F3D6}\uFE0F","\u{1F3DD}\uFE0F","\u{1F3DC}\uFE0F"],activities:["\u26BD","\u{1F3C0}","\u{1F3C8}","\u26BE","\u{1F94E}","\u{1F3BE}","\u{1F3D0}","\u{1F3C9}","\u{1F94F}","\u{1F3B1}","\u{1FA80}","\u{1F3D3}","\u{1F3F8}","\u{1F3D2}","\u{1F3D1}","\u{1F94D}","\u{1F3CF}","\u{1FA83}","\u{1F945}","\u26F3","\u{1FA81}","\u{1F3F9}","\u{1F3A3}","\u{1F93F}","\u{1F94A}","\u{1F94B}","\u{1F3BD}","\u{1F6F9}","\u{1F6FC}","\u{1F6F7}","\u26F8\uFE0F","\u{1F94C}","\u{1F3BF}","\u26F7\uFE0F","\u{1F3C2}","\u{1FA82}","\u{1F3CB}\uFE0F","\u{1F93C}","\u{1F938}","\u26F9\uFE0F","\u{1F93A}","\u{1F93E}","\u{1F3CC}\uFE0F","\u{1F3C7}","\u26D1\uFE0F","\u{1F9D8}","\u{1F3C4}","\u{1F3CA}","\u{1F93D}","\u{1F6A3}","\u{1F9D7}","\u{1F6B5}","\u{1F6B4}","\u{1F3C6}","\u{1F947}","\u{1F948}","\u{1F949}","\u{1F3C5}","\u{1F396}\uFE0F","\u{1F3F5}\uFE0F","\u{1F397}\uFE0F","\u{1F3AB}","\u{1F39F}\uFE0F","\u{1F3AA}","\u{1F939}","\u{1F3AD}","\u{1FA70}","\u{1F3A8}","\u{1F3AC}","\u{1F3A4}","\u{1F3A7}","\u{1F3BC}","\u{1F3B9}","\u{1F941}","\u{1FA98}","\u{1F3B7}","\u{1F3BA}","\u{1FA97}","\u{1F3B8}","\u{1FA95}"],objects:["\u231A","\u{1F4F1}","\u{1F4F2}","\u{1F4BB}","\u2328\uFE0F","\u{1F5A5}\uFE0F","\u{1F5A8}\uFE0F","\u{1F5B1}\uFE0F","\u{1F5B2}\uFE0F","\u{1F579}\uFE0F","\u{1F5DC}\uFE0F","\u{1F4BD}","\u{1F4BE}","\u{1F4BF}","\u{1F4C0}","\u{1F4FC}","\u{1F4F7}","\u{1F4F8}","\u{1F4F9}","\u{1F3A5}","\u{1F4FD}\uFE0F","\u{1F39E}\uFE0F","\u{1F4DE}","\u260E\uFE0F","\u{1F4DF}","\u{1F4E0}","\u{1F4FA}","\u{1F4FB}","\u{1F399}\uFE0F","\u{1F39A}\uFE0F","\u{1F39B}\uFE0F","\u{1F9ED}","\u23F1\uFE0F","\u23F2\uFE0F","\u23F0","\u{1F570}\uFE0F","\u231B","\u23F3","\u{1F4E1}","\u{1F50B}","\u{1F50C}","\u{1F4A1}","\u{1F526}","\u{1F56F}\uFE0F","\u{1FA94}","\u{1F9EF}","\u{1F6E2}\uFE0F","\u{1F4B8}","\u{1F4B5}","\u{1F4B4}","\u{1F4B6}","\u{1F4B7}","\u{1FA99}","\u{1F4B0}","\u{1F4B3}","\u{1F48E}","\u2696\uFE0F","\u{1FA9C}","\u{1F9F0}","\u{1FA9B}","\u{1F527}","\u{1F528}","\u2692\uFE0F","\u{1F6E0}\uFE0F","\u26CF\uFE0F","\u{1FA9A}","\u{1F529}","\u2699\uFE0F","\u{1FAA4}","\u{1F9F1}","\u26D3\uFE0F","\u{1F9F2}","\u{1F52B}","\u{1F4A3}","\u{1F9E8}","\u{1FA93}","\u{1F52A}","\u{1F5E1}\uFE0F","\u2694\uFE0F","\u{1F6E1}\uFE0F"],symbols:["\u2764\uFE0F","\u{1F9E1}","\u{1F49B}","\u{1F49A}","\u{1F499}","\u{1F49C}","\u{1F5A4}","\u{1F90D}","\u{1F90E}","\u{1F494}","\u2763\uFE0F","\u{1F495}","\u{1F49E}","\u{1F493}","\u{1F497}","\u{1F496}","\u{1F498}","\u{1F49D}","\u{1F49F}","\u262E\uFE0F","\u271D\uFE0F","\u262A\uFE0F","\u{1F549}\uFE0F","\u2638\uFE0F","\u2721\uFE0F","\u{1F52F}","\u{1F54E}","\u262F\uFE0F","\u2626\uFE0F","\u{1F6D0}","\u26CE","\u2648","\u2649","\u264A","\u264B","\u264C","\u264D","\u264E","\u264F","\u2650","\u2651","\u2652","\u2653","\u{1F194}","\u269B\uFE0F","\u{1F251}","\u2622\uFE0F","\u2623\uFE0F","\u{1F4F4}","\u{1F4F3}","\u{1F236}","\u{1F21A}","\u{1F238}","\u{1F23A}","\u{1F237}\uFE0F","\u2734\uFE0F","\u{1F19A}","\u{1F4AE}","\u{1F250}","\u3299\uFE0F","\u3297\uFE0F","\u{1F234}","\u{1F235}","\u{1F239}","\u{1F232}","\u{1F170}\uFE0F","\u{1F171}\uFE0F","\u{1F18E}","\u{1F191}","\u{1F17E}\uFE0F","\u{1F198}","\u274C","\u2B55","\u{1F6D1}","\u26D4","\u{1F4DB}","\u{1F6AB}","\u{1F4AF}","\u{1F4A2}","\u2668\uFE0F"],flags:["\u{1F3F3}\uFE0F","\u{1F3F4}","\u{1F3C1}","\u{1F6A9}","\u{1F3F3}\uFE0F\u200D\u{1F308}","\u{1F3F3}\uFE0F\u200D\u26A7\uFE0F","\u{1F1FA}\u{1F1F3}","\u{1F1E6}\u{1F1EB}","\u{1F1E6}\u{1F1F1}","\u{1F1E9}\u{1F1FF}","\u{1F1E6}\u{1F1F8}","\u{1F1E6}\u{1F1E9}","\u{1F1E6}\u{1F1F4}","\u{1F1E6}\u{1F1EE}","\u{1F1E6}\u{1F1F6}","\u{1F1E6}\u{1F1EC}","\u{1F1E6}\u{1F1F7}","\u{1F1E6}\u{1F1F2}","\u{1F1E6}\u{1F1FC}","\u{1F1E6}\u{1F1FA}","\u{1F1E6}\u{1F1F9}","\u{1F1E6}\u{1F1FF}","\u{1F1E7}\u{1F1F8}","\u{1F1E7}\u{1F1ED}","\u{1F1E7}\u{1F1E9}","\u{1F1E7}\u{1F1E7}","\u{1F1E7}\u{1F1FE}","\u{1F1E7}\u{1F1EA}","\u{1F1E7}\u{1F1FF}","\u{1F1E7}\u{1F1EF}","\u{1F1E7}\u{1F1F2}","\u{1F1E7}\u{1F1F9}","\u{1F1E7}\u{1F1F4}","\u{1F1E7}\u{1F1E6}","\u{1F1E7}\u{1F1FC}","\u{1F1E7}\u{1F1F7}","\u{1F1E7}\u{1F1F3}","\u{1F1E7}\u{1F1EC}","\u{1F1E7}\u{1F1EB}","\u{1F1E7}\u{1F1EE}","\u{1F1E8}\u{1F1FB}","\u{1F1F0}\u{1F1ED}","\u{1F1E8}\u{1F1F2}","\u{1F1E8}\u{1F1E6}","\u{1F1E8}\u{1F1EB}","\u{1F1F9}\u{1F1E9}","\u{1F1E8}\u{1F1F1}","\u{1F1E8}\u{1F1F3}","\u{1F1E8}\u{1F1F4}","\u{1F1F0}\u{1F1F2}","\u{1F1E8}\u{1F1EC}","\u{1F1E8}\u{1F1E9}","\u{1F1E8}\u{1F1F7}","\u{1F1ED}\u{1F1F7}","\u{1F1E8}\u{1F1FA}","\u{1F1E8}\u{1F1FE}","\u{1F1E8}\u{1F1FF}","\u{1F1E9}\u{1F1F0}","\u{1F1E9}\u{1F1EF}","\u{1F1E9}\u{1F1F2}","\u{1F1E9}\u{1F1F4}","\u{1F1EA}\u{1F1E8}","\u{1F1EA}\u{1F1EC}","\u{1F1F8}\u{1F1FB}","\u{1F1EC}\u{1F1F6}","\u{1F1EA}\u{1F1F7}","\u{1F1EA}\u{1F1EA}","\u{1F1EA}\u{1F1F9}","\u{1F1EA}\u{1F1FA}","\u{1F1EB}\u{1F1EF}","\u{1F1EB}\u{1F1EE}","\u{1F1EB}\u{1F1F7}","\u{1F1EC}\u{1F1E6}","\u{1F1EC}\u{1F1F2}","\u{1F1EC}\u{1F1EA}","\u{1F1E9}\u{1F1EA}","\u{1F1EC}\u{1F1ED}","\u{1F1EC}\u{1F1F7}","\u{1F1EC}\u{1F1F9}","\u{1F1EC}\u{1F1F3}"]},Av=W.forwardRef(({className:e,size:t,onEmojiSelect:n,recentEmojis:r=[],defaultCategory:o="smileys",showSearch:a=true,showCategories:s=true,...i},l)=>{let[c,d]=W.useState(r.length>0?"recent":o),[m,f]=W.useState(""),g=m?Object.values(ql).flat().filter(b=>b.toLowerCase().includes(m.toLowerCase())):c==="recent"?r:ql[c]||[],h=b=>{n?.(b);};return jsxs("div",{ref:l,className:u(Vv({size:t,className:e})),...i,children:[a&&jsx("div",{className:"p-2 border-b",children:jsxs("div",{className:"relative",children:[jsx(Search,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),jsx(za,{placeholder:"Search emojis...",value:m,onChange:b=>f(b.target.value),className:"pl-8 h-8"})]})}),s&&!m&&jsx("div",{className:"flex border-b px-1",children:Object.entries(Bs).map(([b,{icon:v}])=>b==="recent"&&r.length===0?null:jsx("button",{className:u("flex-1 p-2 text-lg hover:bg-accent rounded transition-colors",c===b&&"bg-accent"),onClick:()=>d(b),title:Bs[b].name,children:v},b))}),!m&&jsx("div",{className:"px-3 py-1.5 text-xs font-medium text-muted-foreground",children:Bs[c].name}),jsx(ze,{className:"flex-1",children:jsxs("div",{className:"grid grid-cols-8 gap-1 p-2",children:[g.map((b,v)=>jsx("button",{className:"w-8 h-8 flex items-center justify-center text-xl hover:bg-accent rounded transition-colors",onClick:()=>h(b),children:b},`${b}-${v}`)),g.length===0&&jsx("div",{className:"col-span-8 py-8 text-center text-muted-foreground text-sm",children:"No emojis found"})]})})]})});Av.displayName="EmojiPicker";var zv=cva("flex flex-col border rounded-lg bg-background overflow-hidden",{variants:{variant:{default:"",bordered:"border-2",ghost:"border-transparent"},size:{sm:"",md:"",lg:""}},defaultVariants:{variant:"default",size:"md"}}),vk=cva("flex flex-wrap items-center gap-0.5 p-1 border-b",{variants:{size:{sm:"p-0.5",md:"p-1",lg:"p-1.5"}},defaultVariants:{size:"md"}}),hk=cva("flex-1 overflow-auto prose prose-sm max-w-none dark:prose-invert [&_.ProseMirror]:outline-none [&_.ProseMirror]:min-h-[inherit] [&_.ProseMirror.is-editor-empty:first-child::before]:text-muted-foreground [&_.ProseMirror.is-editor-empty:first-child::before]:content-[attr(data-placeholder)] [&_.ProseMirror.is-editor-empty:first-child::before]:float-left [&_.ProseMirror.is-editor-empty:first-child::before]:pointer-events-none [&_.ProseMirror.is-editor-empty:first-child::before]:h-0",{variants:{size:{sm:"min-h-[100px] [&_.ProseMirror]:p-2 text-sm",md:"min-h-[150px] [&_.ProseMirror]:p-3 text-sm",lg:"min-h-[200px] [&_.ProseMirror]:p-4 text-base"}},defaultVariants:{size:"md"}}),_e=({icon:e,title:t,isActive:n,onClick:r,disabled:o})=>jsxs(Un,{children:[jsx(Wn,{children:jsx(oe,{type:"button",variant:n?"solid":"ghost",size:"icon",className:"h-7 w-7",onClick:r,disabled:o,children:e})}),jsx(_n,{side:"top",className:"text-xs",children:t})]}),Ov=W.forwardRef(({className:e,variant:t,size:n,value:r="",onChange:o,placeholder:a="Start writing...",readOnly:s=false,showToolbar:i=true,minHeight:l,maxHeight:c,onEditorReady:d,...m},f)=>{let p=useEditor({extensions:[jN.configure({heading:{levels:[1,2,3]}}),XN.configure({openOnClick:false,HTMLAttributes:{class:"text-primary underline"}}),qN,ZN.configure({types:["heading","paragraph"]}),QN.configure({placeholder:a})],content:r,editable:!s,onUpdate:({editor:h})=>{o?.(h.getHTML());},onCreate:({editor:h})=>{d?.(h);}});W.useEffect(()=>{p&&r!==p.getHTML()&&p.commands.setContent(r);},[r,p]),W.useEffect(()=>{p&&p.setEditable(!s);},[s,p]);let g=()=>{if(!p)return;let h=p.getAttributes("link").href,b=window.prompt("URL",h);if(b!==null){if(b===""){p.chain().focus().extendMarkRange("link").unsetLink().run();return}p.chain().focus().extendMarkRange("link").setLink({href:b}).run();}};return p?jsx($n,{children:jsxs("div",{ref:f,className:u(zv({variant:t,size:n,className:e})),...m,children:[i&&!s&&jsxs("div",{className:u(vk({size:n})),children:[jsx(_e,{icon:jsx(Undo,{className:"h-4 w-4"}),title:"Undo",onClick:()=>p.chain().focus().undo().run(),disabled:!p.can().undo()}),jsx(_e,{icon:jsx(Redo,{className:"h-4 w-4"}),title:"Redo",onClick:()=>p.chain().focus().redo().run(),disabled:!p.can().redo()}),jsx(Gn,{orientation:"vertical",className:"h-6 mx-1"}),jsx(_e,{icon:jsx(Heading1,{className:"h-4 w-4"}),title:"Heading 1",isActive:p.isActive("heading",{level:1}),onClick:()=>p.chain().focus().toggleHeading({level:1}).run()}),jsx(_e,{icon:jsx(Heading2,{className:"h-4 w-4"}),title:"Heading 2",isActive:p.isActive("heading",{level:2}),onClick:()=>p.chain().focus().toggleHeading({level:2}).run()}),jsx(_e,{icon:jsx(Heading3,{className:"h-4 w-4"}),title:"Heading 3",isActive:p.isActive("heading",{level:3}),onClick:()=>p.chain().focus().toggleHeading({level:3}).run()}),jsx(Gn,{orientation:"vertical",className:"h-6 mx-1"}),jsx(_e,{icon:jsx(Bold,{className:"h-4 w-4"}),title:"Bold (Ctrl+B)",isActive:p.isActive("bold"),onClick:()=>p.chain().focus().toggleBold().run()}),jsx(_e,{icon:jsx(Italic,{className:"h-4 w-4"}),title:"Italic (Ctrl+I)",isActive:p.isActive("italic"),onClick:()=>p.chain().focus().toggleItalic().run()}),jsx(_e,{icon:jsx(Underline,{className:"h-4 w-4"}),title:"Underline (Ctrl+U)",isActive:p.isActive("underline"),onClick:()=>p.chain().focus().toggleUnderline().run()}),jsx(_e,{icon:jsx(Strikethrough,{className:"h-4 w-4"}),title:"Strikethrough",isActive:p.isActive("strike"),onClick:()=>p.chain().focus().toggleStrike().run()}),jsx(Gn,{orientation:"vertical",className:"h-6 mx-1"}),jsx(_e,{icon:jsx(List,{className:"h-4 w-4"}),title:"Bullet List",isActive:p.isActive("bulletList"),onClick:()=>p.chain().focus().toggleBulletList().run()}),jsx(_e,{icon:jsx(ListOrdered,{className:"h-4 w-4"}),title:"Numbered List",isActive:p.isActive("orderedList"),onClick:()=>p.chain().focus().toggleOrderedList().run()}),jsx(Gn,{orientation:"vertical",className:"h-6 mx-1"}),jsx(_e,{icon:jsx(AlignLeft,{className:"h-4 w-4"}),title:"Align Left",isActive:p.isActive({textAlign:"left"}),onClick:()=>p.chain().focus().setTextAlign("left").run()}),jsx(_e,{icon:jsx(AlignCenter,{className:"h-4 w-4"}),title:"Align Center",isActive:p.isActive({textAlign:"center"}),onClick:()=>p.chain().focus().setTextAlign("center").run()}),jsx(_e,{icon:jsx(AlignRight,{className:"h-4 w-4"}),title:"Align Right",isActive:p.isActive({textAlign:"right"}),onClick:()=>p.chain().focus().setTextAlign("right").run()}),jsx(Gn,{orientation:"vertical",className:"h-6 mx-1"}),jsx(_e,{icon:jsx(Quote,{className:"h-4 w-4"}),title:"Blockquote",isActive:p.isActive("blockquote"),onClick:()=>p.chain().focus().toggleBlockquote().run()}),jsx(_e,{icon:jsx(Code,{className:"h-4 w-4"}),title:"Code Block",isActive:p.isActive("codeBlock"),onClick:()=>p.chain().focus().toggleCodeBlock().run()}),jsx(Gn,{orientation:"vertical",className:"h-6 mx-1"}),jsx(_e,{icon:jsx(Link,{className:"h-4 w-4"}),title:"Insert Link",isActive:p.isActive("link"),onClick:g}),jsx(_e,{icon:jsx(Unlink,{className:"h-4 w-4"}),title:"Remove Link",onClick:()=>p.chain().focus().unsetLink().run(),disabled:!p.isActive("link")})]}),jsx(EditorContent,{editor:p,className:u(hk({size:n})),style:{minHeight:l,maxHeight:c}})]})}):null});Ov.displayName="RichTextEditor";var Fv=cva("flex flex-col border rounded-lg bg-background overflow-hidden",{variants:{variant:{default:"",bordered:"border-2",ghost:"border-none bg-transparent"}},defaultVariants:{variant:"default"}});function Nk(e,t,n){return centerCrop(makeAspectCrop({unit:"%",width:90},n,e,t),e,t)}async function Bv(e,t,n=0,r=1){let o=document.createElement("canvas"),a=o.getContext("2d");if(!a)return null;let s=e.naturalWidth/e.width,i=e.naturalHeight/e.height,l=window.devicePixelRatio||1;o.width=Math.floor(t.width*s*l),o.height=Math.floor(t.height*i*l),a.scale(l,l),a.imageSmoothingQuality="high";let c=t.x*s,d=t.y*i,m=n*Math.PI/180,f=e.naturalWidth/2,p=e.naturalHeight/2;return a.save(),a.translate(-c,-d),a.translate(f,p),a.rotate(m),a.scale(r,r),a.translate(-f,-p),a.drawImage(e,0,0,e.naturalWidth,e.naturalHeight,0,0,e.naturalWidth,e.naturalHeight),a.restore(),new Promise(g=>{o.toBlob(h=>{g(h);},"image/png");})}var Kv=W.forwardRef(({className:e,variant:t,src:n,aspectRatio:r,onCropChange:o,onCropComplete:a,showZoom:s=true,showRotation:i=true,minZoom:l=1,maxZoom:c=3,circularCrop:d=false,initialCrop:m,...f},p)=>{let g=W.useRef(null),[h,b]=W.useState(),[v,R]=W.useState(),[w,x]=W.useState(1),[C,y]=W.useState(0),N=P=>{let{width:E,height:D}=P.currentTarget;if(r){let H=Nk(E,D,r);b(H);}else b(m||{unit:"%",x:10,y:10,width:80,height:80});},T=P=>{b(P),o?.(P);},k=async P=>{if(R(P),a&&g.current&&P.width&&P.height){let E=await Bv(g.current,P,C,w);a(E);}},M=()=>{y(P=>(P+90)%360);};return W.useEffect(()=>{v&&g.current&&a&&Bv(g.current,v,C,w).then(P=>{a(P);});},[w,C,v,a]),jsxs("div",{ref:p,className:u(Fv({variant:t,className:e})),...f,children:[jsx("div",{className:"flex-1 flex items-center justify-center p-4 bg-muted/30 min-h-[300px]",children:jsx(xk,{crop:h,onChange:T,onComplete:k,aspect:r,circularCrop:d,className:"max-h-[400px]",children:jsx("img",{ref:g,src:n,alt:"Crop preview",onLoad:N,style:{transform:`scale(${w}) rotate(${C}deg)`,maxHeight:"400px"}})})}),jsxs("div",{className:"flex items-center gap-4 p-3 border-t",children:[s&&jsxs("div",{className:"flex items-center gap-2 flex-1",children:[jsx(ZoomOut,{className:"h-4 w-4 text-muted-foreground"}),jsx(Za,{value:[w],onValueChange:([P])=>x(P),min:l,max:c,step:.1,className:"flex-1"}),jsx(ZoomIn,{className:"h-4 w-4 text-muted-foreground"})]}),i&&jsx(oe,{variant:"bordered",size:"icon",onClick:M,children:jsx(RotateCw,{className:"h-4 w-4"})})]})]})});Kv.displayName="ImageCropper";var ec=cva("inline-block",{variants:{variant:{default:"",bordered:"border rounded-lg p-2",card:"border rounded-lg p-4 bg-card shadow-sm"},size:{sm:"",md:"",lg:""}},defaultVariants:{variant:"default",size:"md"}}),Ek={sm:96,md:128,lg:192},$v=W.forwardRef(({className:e,variant:t,size:n,value:r,qrSize:o,fgColor:a="currentColor",bgColor:s="transparent",level:i="M",includeMargin:l=false,title:c,logo:d,logoSize:m=40,logoPadding:f=4,logoBackgroundColor:p="white",...g},h)=>{let b=o??Ek[n??"md"];return r?jsx("div",{ref:h,className:u(ec({variant:t,size:n,className:e})),...g,children:jsxs("div",{className:"relative inline-block",children:[jsx(kk,{value:r,size:b,fgColor:a,bgColor:s,level:i,title:c,style:{padding:l?16:0}}),d&&jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 rounded",style:{padding:f,backgroundColor:p},children:jsx("img",{src:d,alt:"Logo",style:{width:m,height:m,objectFit:"contain"}})})]})}):jsx("div",{ref:h,className:u(ec({variant:t,size:n,className:e})),...g,children:jsx("div",{className:"flex items-center justify-center bg-muted text-muted-foreground text-xs rounded",style:{width:b,height:b},children:"No data"})})});$v.displayName="QRCode";var Uv=({children:e,defaultTheme:t="system",storageKey:n="reever-ui-theme",enableSystem:r=true,disableTransitionOnChange:o=false,attribute:a="class",forcedTheme:s,themes:i=["light","dark"]})=>jsx(ThemeProvider,{defaultTheme:t,storageKey:n,enableSystem:r,disableTransitionOnChange:o,attribute:a,forcedTheme:s,themes:i,children:e});Uv.displayName="ThemeProvider";var Ak=cva("",{variants:{variant:{default:"",bordered:"",ghost:""},size:{sm:"",md:"",lg:""}},defaultVariants:{variant:"ghost",size:"md"}}),Wv=W.forwardRef(({className:e,variant:t="ghost",size:n="md",mode:r="dropdown"},o)=>{let{theme:a,setTheme:s,resolvedTheme:i}=useTheme(),[l,c]=W.useState(false);W.useEffect(()=>{c(true);},[]);let d=()=>{let m=["light","dark","system"],p=(m.indexOf(a||"system")+1)%m.length;s(m[p]);};return l?r==="cycle"?jsxs(oe,{ref:o,variant:t==="default"?"bordered":t,size:"icon",className:u("h-9 w-9",e),onClick:d,children:[i==="dark"?jsx(Moon,{className:"h-4 w-4"}):jsx(Sun,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Toggle theme"})]}):jsxs(to,{children:[jsx(no,{children:jsxs(oe,{ref:o,variant:t==="default"?"bordered":t,size:"icon",className:u("h-9 w-9",e),children:[jsx(Sun,{className:"h-4 w-4 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),jsx(Moon,{className:"absolute h-4 w-4 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"}),jsx("span",{className:"sr-only",children:"Toggle theme"})]})}),jsxs(ro,{align:"end",children:[jsxs(Yn,{onClick:()=>s("light"),children:[jsx(Sun,{className:"mr-2 h-4 w-4"}),"Light"]}),jsxs(Yn,{onClick:()=>s("dark"),children:[jsx(Moon,{className:"mr-2 h-4 w-4"}),"Dark"]}),jsxs(Yn,{onClick:()=>s("system"),children:[jsx(Monitor,{className:"mr-2 h-4 w-4"}),"System"]})]})]}):jsxs(oe,{ref:o,variant:t==="default"?"bordered":t,size:"icon",className:u("h-9 w-9",e),disabled:true,children:[jsx(Sun,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Toggle theme"})]})});Wv.displayName="ThemeToggle";var _v=cva("flex flex-col gap-1.5",{variants:{size:{sm:"",md:"",lg:""}},defaultVariants:{size:"md"}}),Yv=cva("flex w-full rounded-md border border-input bg-background ring-offset-background file:border-0 file:bg-transparent file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",{variants:{size:{sm:"h-8 px-2.5 py-1.5 text-xs",md:"h-10 px-3 py-2 text-sm",lg:"h-12 px-4 py-3 text-base"},isInvalid:{true:"border-danger focus-visible:ring-danger",false:""}},defaultVariants:{size:"md",isInvalid:false}}),jv=cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),Xv=W.forwardRef(({className:e,label:t,description:n,errorMessage:r,isRequired:o,isInvalid:a,size:s,labelClassName:i,inputClassName:l,descriptionClassName:c,errorClassName:d,startContent:m,endContent:f,id:p,...g},h)=>{let b=W.useId(),v=p||b,R=`${v}-description`,w=`${v}-error`,x=a&&r;return jsxs("div",{className:u(_v({size:s}),e),children:[t&&jsxs("label",{htmlFor:v,className:u(jv({size:s}),i),children:[t,o&&jsx("span",{className:"text-danger ml-0.5","aria-hidden":"true",children:"*"})]}),jsxs("div",{className:"relative",children:[m&&jsx("div",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:m}),jsx("input",{ref:h,id:v,"aria-invalid":a,"aria-describedby":x?w:n?R:void 0,"aria-required":o,className:u(Yv({size:s,isInvalid:a}),m&&"pl-10",f&&"pr-10",l),...g}),f&&jsx("div",{className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:f})]}),n&&!x&&jsx("p",{id:R,className:u("text-muted-foreground",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",c),children:n}),x&&jsx("p",{id:w,role:"alert",className:u("text-danger",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",d),children:r})]})});Xv.displayName="TextField";var Qv=cva("flex flex-col gap-1.5",{variants:{size:{sm:"",md:"",lg:""}},defaultVariants:{size:"md"}}),Bk=cva("flex rounded-md border border-input bg-background placeholder:text-muted-foreground focus:outline-none transition-colors disabled:cursor-not-allowed disabled:opacity-50 text-center [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",{variants:{size:{sm:"h-8 px-8 py-1.5 text-xs",md:"h-10 px-10 py-2 text-sm",lg:"h-12 px-12 py-3 text-base"},isInvalid:{true:"border-danger focus:border-danger",false:""},fullWidth:{true:"w-full",false:"w-fit min-w-24"}},defaultVariants:{size:"md",isInvalid:false,fullWidth:false}}),qv=cva("absolute top-1/2 -translate-y-1/2 flex items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-muted disabled:opacity-50 disabled:cursor-not-allowed transition-colors",{variants:{size:{sm:"h-6 w-6",md:"h-8 w-8",lg:"h-10 w-10"}},defaultVariants:{size:"md"}}),Zv=cva("",{variants:{size:{sm:"h-3 w-3",md:"h-4 w-4",lg:"h-5 w-5"}},defaultVariants:{size:"md"}}),Fk=cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),Jv=W.forwardRef(({className:e,label:t,description:n,errorMessage:r,isRequired:o,isInvalid:a,size:s,labelClassName:i,inputClassName:l,descriptionClassName:c,errorClassName:d,min:m,max:f,step:p=1,value:g,defaultValue:h,onChange:b,showButtons:v=true,formatOptions:R,fullWidth:w=false,disabled:x,id:C,...y},N)=>{let T=W.useId(),k=C||T,M=`${k}-description`,P=`${k}-error`,[E,D]=W.useState(h),[H,L]=W.useState(false),S=g!==void 0?g:E,V=a&&r,z=W.useCallback(O=>{O!==void 0&&(m!==void 0&&O<m&&(O=m),f!==void 0&&O>f&&(O=f)),g===void 0&&D(O),b?.(O);},[g,m,f,b]),F=()=>{let O=(S??0)+p;z(O);},I=()=>{let O=(S??0)-p;z(O);},K=O=>{let _=O.target.value;if(_==="")z(void 0);else {let A=parseFloat(_);isNaN(A)||z(A);}},B=O=>{O.key==="ArrowUp"?(O.preventDefault(),F()):O.key==="ArrowDown"&&(O.preventDefault(),I());},q=W.useMemo(()=>S===void 0?"":R?new Intl.NumberFormat(void 0,R).format(S):S.toString(),[S,R]),ne=m!==void 0&&S!==void 0&&S<=m,G=f!==void 0&&S!==void 0&&S>=f;return jsxs("div",{className:u(Qv({size:s}),e),children:[t&&jsxs("label",{htmlFor:k,className:u(Fk({size:s}),i),children:[t,o&&jsx("span",{className:"text-danger ml-0.5","aria-hidden":"true",children:"*"})]}),jsxs("div",{className:"relative",children:[v&&jsx("button",{type:"button",onClick:I,disabled:x||ne,className:u(qv({size:s}),"left-1"),tabIndex:-1,"aria-label":"Decrease value",children:jsx(Minus,{className:u(Zv({size:s}))})}),jsx("input",{ref:N,id:k,type:"text",inputMode:"decimal",value:q,onChange:K,onKeyDown:B,onFocus:()=>L(true),onBlur:()=>L(false),"aria-invalid":a,"aria-describedby":V?P:n?M:void 0,"aria-required":o,"aria-valuemin":m,"aria-valuemax":f,"aria-valuenow":S,disabled:x,className:u(Bk({size:s,isInvalid:a,fullWidth:w}),!v&&"px-3",l),style:{borderColor:H?"var(--color-foreground)":void 0},...y}),v&&jsx("button",{type:"button",onClick:F,disabled:x||G,className:u(qv({size:s}),"right-1"),tabIndex:-1,"aria-label":"Increase value",children:jsx(Plus,{className:u(Zv({size:s}))})})]}),n&&!V&&jsx("p",{id:M,className:u("text-muted-foreground",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",c),children:n}),V&&jsx("p",{id:P,role:"alert",className:u("text-danger",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",d),children:r})]})});Jv.displayName="NumberField";var th=cva("flex flex-col gap-1.5",{variants:{size:{sm:"",md:"",lg:""}},defaultVariants:{size:"md"}}),$k=cva("flex w-full rounded-md border border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",{variants:{size:{sm:"h-8 pl-8 pr-8 py-1.5 text-xs",md:"h-10 pl-10 pr-10 py-2 text-sm",lg:"h-12 pl-12 pr-12 py-3 text-base"},isInvalid:{true:"border-danger focus-visible:ring-danger",false:""}},defaultVariants:{size:"md",isInvalid:false}}),eh=cva("text-muted-foreground",{variants:{size:{sm:"h-3.5 w-3.5",md:"h-4 w-4",lg:"h-5 w-5"}},defaultVariants:{size:"md"}}),Uk=cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),Wk=cva("absolute top-1/2 -translate-y-1/2 flex items-center justify-center rounded-full text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",{variants:{size:{sm:"h-5 w-5 right-1.5",md:"h-6 w-6 right-2",lg:"h-7 w-7 right-2.5"}},defaultVariants:{size:"md"}}),nh=W.forwardRef(({className:e,label:t,description:n,errorMessage:r,isRequired:o,isInvalid:a,size:s,labelClassName:i,inputClassName:l,descriptionClassName:c,errorClassName:d,value:m,defaultValue:f="",onChange:p,onClear:g,onSearch:h,showClearButton:b=true,showSearchIcon:v=true,disabled:R,placeholder:w="Search...",id:x,...C},y)=>{let N=W.useId(),T=x||N,k=`${T}-description`,M=`${T}-error`,[P,E]=W.useState(f),D=m!==void 0?m:P,H=a&&r,L=D.length>0,S=F=>{let I=F.target.value;m===void 0&&E(I),p?.(I);},V=()=>{m===void 0&&E(""),p?.(""),g?.();},z=F=>{F.key==="Enter"?(F.preventDefault(),h?.(D)):F.key==="Escape"&&L&&(F.preventDefault(),V());};return jsxs("div",{className:u(th({size:s}),e),children:[t&&jsxs("label",{htmlFor:T,className:u(Uk({size:s}),i),children:[t,o&&jsx("span",{className:"text-danger ml-0.5","aria-hidden":"true",children:"*"})]}),jsxs("div",{className:"relative",children:[v&&jsx(Search,{className:u(eh({size:s}),"absolute left-3 top-1/2 -translate-y-1/2")}),jsx("input",{ref:y,id:T,type:"search",value:D,onChange:S,onKeyDown:z,placeholder:w,"aria-invalid":a,"aria-describedby":H?M:n?k:void 0,"aria-required":o,disabled:R,className:u($k({size:s,isInvalid:a}),!v&&"pl-3",!b&&"pr-3",l),...C}),b&&L&&!R&&jsx("button",{type:"button",onClick:V,className:u(Wk({size:s})),tabIndex:-1,"aria-label":"Clear search",children:jsx(X,{className:u(eh({size:s}))})})]}),n&&!H&&jsx("p",{id:k,className:u("text-muted-foreground",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",c),children:n}),H&&jsx("p",{id:M,role:"alert",className:u("text-danger",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",d),children:r})]})});nh.displayName="SearchField";var rh=cva("flex flex-col gap-1.5",{variants:{size:{sm:"",md:"",lg:""}},defaultVariants:{size:"md"}}),Yk=cva("flex rounded-md border border-input bg-background placeholder:text-muted-foreground focus:outline-none transition-colors disabled:cursor-not-allowed disabled:opacity-50 [&::-webkit-calendar-picker-indicator]:hidden",{variants:{size:{sm:"h-8 pl-3 pr-8 py-1.5 text-xs",md:"h-10 pl-3 pr-10 py-2 text-sm",lg:"h-12 pl-4 pr-12 py-3 text-base"},isInvalid:{true:"border-danger focus:border-danger",false:""},fullWidth:{true:"w-full",false:"w-fit"}},defaultVariants:{size:"md",isInvalid:false,fullWidth:false}}),jk=cva("text-muted-foreground",{variants:{size:{sm:"h-3.5 w-3.5",md:"h-4 w-4",lg:"h-5 w-5"}},defaultVariants:{size:"md"}}),Xk=cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),sc=(e,t="yyyy-MM-dd")=>{if(!e)return "";let n=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0");return t.replace("yyyy",String(n)).replace("MM",r).replace("dd",o)},qk=e=>{if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t},oh=W.forwardRef(({className:e,label:t,description:n,errorMessage:r,isRequired:o,isInvalid:a,size:s,labelClassName:i,inputClassName:l,descriptionClassName:c,errorClassName:d,value:m,defaultValue:f,onChange:p,minDate:g,maxDate:h,dateFormat:b="yyyy-MM-dd",showIcon:v=true,fullWidth:R=false,disabled:w,id:x,...C},y)=>{let N=W.useId(),T=x||N,k=`${T}-description`,M=`${T}-error`,P=W.useRef(null),E=y||P,[D,H]=W.useState(f??null),[L,S]=W.useState(false),V=()=>{!w&&E.current&&E.current.showPicker?.();},z=m!==void 0?m:D,F=a&&r,I=ne=>{let G=qk(ne.target.value);m===void 0&&H(G),p?.(G);},K=z?sc(z,"yyyy-MM-dd"):"",B=g?sc(g,"yyyy-MM-dd"):void 0,q=h?sc(h,"yyyy-MM-dd"):void 0;return jsxs("div",{className:u(rh({size:s}),e),children:[t&&jsxs("label",{htmlFor:T,className:u(Xk({size:s}),i),children:[t,o&&jsx("span",{className:"text-danger ml-0.5","aria-hidden":"true",children:"*"})]}),jsxs("div",{className:u("relative",R?"w-full":"w-fit"),children:[jsx("input",{ref:E,id:T,type:"date",value:K,onChange:I,onFocus:()=>S(true),onBlur:()=>S(false),min:B,max:q,"aria-invalid":a,"aria-describedby":F?M:n?k:void 0,"aria-required":o,disabled:w,className:u(Yk({size:s,isInvalid:a,fullWidth:R}),!v&&"pr-3",l),style:{borderColor:L?"var(--color-foreground)":void 0},...C}),v&&jsx("button",{type:"button",onClick:V,disabled:w,className:"absolute right-3 top-1/2 -translate-y-1/2 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50",tabIndex:-1,"aria-label":"Open calendar",children:jsx(Calendar,{className:u(jk({size:s}))})})]}),n&&!F&&jsx("p",{id:k,className:u("text-muted-foreground",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",c),children:n}),F&&jsx("p",{id:M,role:"alert",className:u("text-danger",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",d),children:r})]})});oh.displayName="DateField";var ah=cva("flex flex-col gap-1.5",{variants:{size:{sm:"",md:"",lg:""}},defaultVariants:{size:"md"}}),Zk=cva("inline-flex items-center rounded-md border border-input bg-background transition-colors",{variants:{size:{sm:"h-8 px-2 gap-0.5 text-xs",md:"h-10 px-3 gap-1 text-sm",lg:"h-12 px-4 gap-1.5 text-base"},isInvalid:{true:"border-danger",false:""},disabled:{true:"cursor-not-allowed opacity-50",false:""},fullWidth:{true:"w-full justify-center",false:"w-fit"}},defaultVariants:{size:"md",isInvalid:false,disabled:false,fullWidth:false}}),Qk=cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),sh=W.forwardRef(({className:e,label:t,description:n,errorMessage:r,isRequired:o,isInvalid:a,size:s,labelClassName:i,inputClassName:l,descriptionClassName:c,errorClassName:d,value:m,defaultValue:f,onChange:p,minTime:g,maxTime:h,showSeconds:b=false,hourCycle:v=24,disabled:R,fullWidth:w=false,id:x,...C},y)=>{let N=W.useId(),T=x||N,k=`${T}-description`,M=`${T}-error`,P=W.useRef(null),E=W.useRef(null),D=W.useRef(null),H=W.useRef(null),[L,S]=W.useState(f??null),V=m!==void 0?m:L,z=a&&r,F=$=>v===24?$:$===0?12:$>12?$-12:$,I=$=>$>=12?"PM":"AM",K=($,re)=>re==="AM"?$===12?0:$:$===12?12:$+12,[B,q]=W.useState(V?String(F(V.hour)).padStart(2,"0"):""),[ne,G]=W.useState(V?String(V.minute).padStart(2,"0"):""),[O,_]=W.useState(V?.second!==void 0?String(V.second).padStart(2,"0"):""),[A,Y]=W.useState(V?I(V.hour):"AM"),[se,Ce]=W.useState(false);W.useEffect(()=>{m!==void 0&&(m?(q(String(F(m.hour)).padStart(2,"0")),G(String(m.minute).padStart(2,"0")),m.second!==void 0&&_(String(m.second).padStart(2,"0")),Y(I(m.hour))):(q(""),G(""),_("")));},[m,v]);let U=($,re,j,Se)=>{let le=parseInt($,10),Ge=parseInt(re,10),$e=b?parseInt(j,10):void 0;if(isNaN(le)||isNaN(Ge)||b&&isNaN($e)){m===void 0&&S(null),p?.(null);return}let pe={hour:v===12?K(le,Se):le,minute:Ge,...b&&$e!==void 0&&{second:$e}};m===void 0&&S(pe),p?.(pe);},ct=$=>{let re=$.target.value.replace(/\D/g,"").slice(0,2);q(re);let j=v===24?23:12,Se=v===24?0:1;if(re.length===2){let le=parseInt(re,10);le>=Se&&le<=j&&(E.current?.focus(),E.current?.select());}},ee=$=>{let re=$.target.value.replace(/\D/g,"").slice(0,2);if(G(re),re.length===2){let j=parseInt(re,10);j>=0&&j<=59&&(b?(D.current?.focus(),D.current?.select()):v===12&&H.current?.focus());}},tt=$=>{let re=$.target.value.replace(/\D/g,"").slice(0,2);_(re),re.length===2&&v===12&&H.current?.focus();},On=()=>{if(B){let $=parseInt(B,10),re=v===24?23:12,Se=Math.min(Math.max($,v===24?0:1),re),le=String(Se).padStart(2,"0");q(le),U(le,ne,O,A);}},bt=()=>{if(ne){let $=parseInt(ne,10),re=Math.min(Math.max($,0),59),j=String(re).padStart(2,"0");G(j),U(B,j,O,A);}},br=()=>{if(O){let $=parseInt(O,10),re=Math.min(Math.max($,0),59),j=String(re).padStart(2,"0");_(j),U(B,ne,j,A);}},Bn=()=>{let $=A==="AM"?"PM":"AM";Y($),U(B,ne,O,$);},Bo=$=>{let re=$.key.toLowerCase();re==="a"?($.preventDefault(),A!=="AM"&&(Y("AM"),U(B,ne,O,"AM"))):re==="p"?($.preventDefault(),A!=="PM"&&(Y("PM"),U(B,ne,O,"PM"))):re==="arrowup"||re==="arrowdown"?($.preventDefault(),Bn()):re==="arrowleft"&&($.preventDefault(),b?(D.current?.focus(),D.current?.select()):(E.current?.focus(),E.current?.select()));},Ft=($,re)=>{if($.key==="ArrowUp"||$.key==="ArrowDown"){$.preventDefault();let j=$.key==="ArrowUp"?1:-1;if(re==="hour"){let Se=parseInt(B,10)||0,le=v===24?23:12,Ge=v===24?0:1,$e=Se+j;$e>le&&($e=Ge),$e<Ge&&($e=le);let Fn=String($e).padStart(2,"0");q(Fn),U(Fn,ne,O,A);}else if(re==="minute"){let le=(parseInt(ne,10)||0)+j;le>59&&(le=0),le<0&&(le=59);let Ge=String(le).padStart(2,"0");G(Ge),U(B,Ge,O,A);}else if(re==="second"){let le=(parseInt(O,10)||0)+j;le>59&&(le=0),le<0&&(le=59);let Ge=String(le).padStart(2,"0");_(Ge),U(B,ne,Ge,A);}}$.key==="ArrowRight"&&($.preventDefault(),re==="hour"?(E.current?.focus(),E.current?.select()):re==="minute"&&b?(D.current?.focus(),D.current?.select()):(re==="minute"&&!b&&v===12||re==="second"&&v===12)&&H.current?.focus()),$.key==="ArrowLeft"&&($.preventDefault(),re==="minute"?(P.current?.focus(),P.current?.select()):re==="second"&&(E.current?.focus(),E.current?.select())),$.key==="Backspace"&&$.currentTarget.value===""&&(re==="minute"?P.current?.focus():re==="second"&&E.current?.focus());},vr=u((()=>{switch(s){case "sm":return "w-5";case "lg":return "w-7";default:return "w-6"}})(),"bg-transparent text-center outline-none placeholder:text-muted-foreground tabular-nums",R&&"cursor-not-allowed");return jsxs("div",{ref:y,className:u(ah({size:s}),e),...C,children:[t&&jsxs("label",{htmlFor:T,className:u(Qk({size:s}),i),children:[t,o&&jsx("span",{className:"text-danger ml-0.5","aria-hidden":"true",children:"*"})]}),jsxs("div",{className:u(Zk({size:s,isInvalid:a,disabled:R,fullWidth:w}),l),style:{borderColor:se?"var(--color-foreground)":void 0},onFocus:()=>Ce(true),onBlur:$=>{$.currentTarget.contains($.relatedTarget)||Ce(false);},children:[jsx("input",{ref:P,id:T,type:"text",inputMode:"numeric",placeholder:v===24?"HH":"hh",value:B,onChange:ct,onBlur:On,onKeyDown:$=>Ft($,"hour"),onFocus:$=>$.target.select(),"aria-label":"Hour","aria-invalid":a,"aria-describedby":z?M:n?k:void 0,"aria-required":o,disabled:R,className:vr}),jsx("span",{className:"text-muted-foreground",children:":"}),jsx("input",{ref:E,type:"text",inputMode:"numeric",placeholder:"mm",value:ne,onChange:ee,onBlur:bt,onKeyDown:$=>Ft($,"minute"),onFocus:$=>$.target.select(),"aria-label":"Minute",disabled:R,className:vr}),b&&jsxs(Fragment,{children:[jsx("span",{className:"text-muted-foreground",children:":"}),jsx("input",{ref:D,type:"text",inputMode:"numeric",placeholder:"ss",value:O,onChange:tt,onBlur:br,onKeyDown:$=>Ft($,"second"),onFocus:$=>$.target.select(),"aria-label":"Second",disabled:R,className:vr})]}),v===12&&jsx("button",{ref:H,type:"button",onClick:Bn,onKeyDown:Bo,disabled:R,className:u("ml-0.5 rounded text-muted-foreground hover:text-foreground focus:outline-none focus:text-foreground transition-colors tabular-nums",s==="sm"?"w-6":s==="lg"?"w-8":"w-7",R&&"cursor-not-allowed"),"aria-label":"AM/PM",children:A})]}),n&&!z&&jsx("p",{id:k,className:u("text-muted-foreground",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",c),children:n}),z&&jsx("p",{id:M,role:"alert",className:u("text-danger",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",d),children:r})]})});sh.displayName="TimeField";var lh=cva("flex flex-col gap-1.5",{variants:{size:{sm:"",md:"",lg:""}},defaultVariants:{size:"md"}}),eP=cva("flex rounded-md border border-input bg-background placeholder:text-muted-foreground focus:outline-none transition-colors disabled:cursor-not-allowed disabled:opacity-50 font-mono uppercase",{variants:{size:{sm:"h-8 pl-10 pr-3 py-1.5 text-xs",md:"h-10 pl-12 pr-3 py-2 text-sm",lg:"h-12 pl-14 pr-4 py-3 text-base"},isInvalid:{true:"border-danger focus:border-danger",false:""},fullWidth:{true:"w-full",false:"w-fit"}},defaultVariants:{size:"md",isInvalid:false,fullWidth:false}}),tP=cva("absolute left-2 top-1/2 -translate-y-1/2 rounded border border-input overflow-hidden",{variants:{size:{sm:"h-5 w-5",md:"h-6 w-6",lg:"h-8 w-8"}},defaultVariants:{size:"md"}}),nP=cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),ih=e=>/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/.test(e),rP=e=>(e.startsWith("#")||(e="#"+e),e.length===4&&(e="#"+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]),e.toUpperCase()),ch=W.forwardRef(({className:e,label:t,description:n,errorMessage:r,isRequired:o,isInvalid:a,size:s,labelClassName:i,inputClassName:l,descriptionClassName:c,errorClassName:d,value:m,defaultValue:f="#000000",onChange:p,showSwatch:g=true,showPicker:h=true,allowAlpha:b=false,fullWidth:v=false,disabled:R,id:w,...x},C)=>{let y=W.useId(),N=w||y,T=`${N}-picker`,k=`${N}-description`,M=`${N}-error`,[P,E]=W.useState(f),[D,H]=W.useState(false),L=m!==void 0?m:P,S=a&&r,V=K=>{let B=K.target.value;B&&!B.startsWith("#")&&(B="#"+B),m===void 0&&E(B),p?.(B);},z=K=>{let B=K.target.value.toUpperCase();m===void 0&&E(B),p?.(B);},F=()=>{if(L&&ih(L)){let K=rP(L);K!==L&&(m===void 0&&E(K),p?.(K));}},I=ih(L)?L:"#000000";return jsxs("div",{className:u(lh({size:s}),e),children:[t&&jsxs("label",{htmlFor:N,className:u(nP({size:s}),i),children:[t,o&&jsx("span",{className:"text-danger ml-0.5","aria-hidden":"true",children:"*"})]}),jsxs("div",{className:"relative",children:[g&&jsx("div",{className:u(tP({size:s})),children:h?jsxs("label",{htmlFor:T,className:"block h-full w-full cursor-pointer",children:[jsx("input",{id:T,type:"color",value:I,onChange:z,disabled:R,className:"absolute inset-0 h-full w-full cursor-pointer opacity-0",tabIndex:-1}),jsx("div",{className:"h-full w-full",style:{backgroundColor:I}})]}):jsx("div",{className:"h-full w-full",style:{backgroundColor:I}})}),jsx("input",{ref:C,id:N,type:"text",value:L,onChange:V,onFocus:()=>H(true),onBlur:()=>{H(false),F();},placeholder:"#000000",maxLength:b?9:7,"aria-invalid":a,"aria-describedby":S?M:n?k:void 0,"aria-required":o,disabled:R,className:u(eP({size:s,isInvalid:a,fullWidth:v}),!g&&"pl-3",l),style:{borderColor:D?"var(--color-foreground)":void 0},...x})]}),n&&!S&&jsx("p",{id:k,className:u("text-muted-foreground",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",c),children:n}),S&&jsx("p",{id:M,role:"alert",className:u("text-danger",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",d),children:r})]})});ch.displayName="ColorField";var uh=cva("inline-flex",{variants:{variant:{default:"",attached:"[&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-l-none [&>*:not(:first-child)]:-ml-px"},orientation:{horizontal:"flex-row",vertical:"flex-col [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-b-none [&>*:last-child]:rounded-t-none [&>*:not(:first-child)]:-mt-px [&>*:not(:first-child)]:ml-0"},spacing:{none:"gap-0",sm:"gap-1",md:"gap-2",lg:"gap-3"}},compoundVariants:[{variant:"attached",spacing:["sm","md","lg"],className:"gap-0"}],defaultVariants:{variant:"default",orientation:"horizontal",spacing:"sm"}}),mh=W.createContext({});function aP(){return W.useContext(mh)}var ph=W.forwardRef(({className:e,variant:t,orientation:n,spacing:r,disabled:o,children:a,...s},i)=>jsx(mh.Provider,{value:{disabled:o},children:jsx("div",{ref:i,role:"group",className:u(uh({variant:t,orientation:n,spacing:r,className:e})),...s,children:a})}));ph.displayName="ButtonGroup";var gh=cva("inline-flex items-center",{variants:{variant:{default:"gap-1",compact:"gap-0.5",attached:"[&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-l-none [&>*:not(:first-child)]:-ml-px gap-0"},orientation:{horizontal:"flex-row",vertical:"flex-col [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-b-none [&>*:last-child]:rounded-t-none [&>*:not(:first-child)]:-mt-px [&>*:not(:first-child)]:ml-0"},size:{sm:"",md:"",lg:""},density:{compact:"gap-0.5",regular:"gap-1",spacious:"gap-2"}},defaultVariants:{variant:"default",orientation:"horizontal",size:"md",density:"regular"}}),bh=W.forwardRef(({className:e,variant:t,orientation:n,size:r,density:o,items:a,maxVisibleItems:s,isDisabled:i,onAction:l,showLabels:c=false,renderItem:d,...m},f)=>{let p=s&&s<a.length?a.slice(0,s):a,g=s&&s<a.length?a.slice(s):[],h={sm:"h-8 px-2 text-xs",md:"h-9 px-3 text-sm",lg:"h-10 px-4 text-base"}[r??"md"],b={sm:"h-8 w-8",md:"h-9 w-9",lg:"h-10 w-10"}[r??"md"],v={sm:"h-4 w-4",md:"h-4 w-4",lg:"h-5 w-5"}[r??"md"],R=(x,C)=>{C&&C(),l&&l(x);},w=x=>jsxs("button",{type:"button",disabled:i||x.isDisabled,onClick:()=>R(x.key,x.onPress),className:u("inline-flex items-center justify-center gap-2 rounded-md transition-colors","hover:bg-accent hover:text-accent-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50",c?h:b),"aria-label":x.label,children:[x.icon&&jsx("span",{className:v,children:x.icon}),c&&jsx("span",{children:x.label})]},x.key);return jsxs("div",{ref:f,role:"group",className:u(gh({variant:t,orientation:n,size:r,density:o,className:e})),...m,children:[p.map(x=>d?d(x):w(x)),g.length>0&&jsxs(to,{children:[jsx(no,{"aria-label":"More actions",className:u("items-center justify-center rounded-md transition-colors","hover:bg-accent hover:text-accent-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",i&&"pointer-events-none opacity-50",b),children:jsx(MoreHorizontal,{className:v})}),jsx(ro,{align:"end",children:g.map(x=>jsxs(Yn,{disabled:x.isDisabled,onClick:()=>R(x.key,x.onPress),children:[x.icon&&jsx("span",{className:u(v,"mr-2"),children:x.icon}),x.label]},x.key))})]})]})});bh.displayName="ActionGroup";var yh=cva("inline-flex items-center gap-2",{variants:{variant:{neutral:"[--status-color:theme(colors.muted.foreground)]",info:"[--status-color:theme(colors.blue.500)]",positive:"[--status-color:theme(colors.green.500)]",notice:"[--status-color:theme(colors.yellow.500)]",negative:"[--status-color:theme(colors.red.500)]"},size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{variant:"neutral",size:"md"}}),lP=cva("rounded-full bg-[--status-color] flex-shrink-0",{variants:{size:{sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-2.5 w-2.5"},pulse:{true:"animate-pulse",false:""}},defaultVariants:{size:"md",pulse:false}}),Rh=W.forwardRef(({className:e,variant:t,size:n,pulse:r=false,hideLabel:o=false,children:a,...s},i)=>jsxs("span",{ref:i,role:"status",className:u(yh({variant:t,size:n,className:e})),...s,children:[jsx("span",{className:u(lP({size:n,pulse:r})),"aria-hidden":"true"}),!o&&a&&jsx("span",{className:"text-foreground",children:a})]}));Rh.displayName="StatusLight";var Ch=cva("flex flex-col items-center justify-center text-center",{variants:{size:{sm:"gap-3 max-w-xs",md:"gap-4 max-w-sm",lg:"gap-5 max-w-md"}},defaultVariants:{size:"md"}}),dP=cva("text-muted-foreground",{variants:{size:{sm:"[&>svg]:h-16 [&>svg]:w-16",md:"[&>svg]:h-24 [&>svg]:w-24",lg:"[&>svg]:h-32 [&>svg]:w-32"}},defaultVariants:{size:"md"}}),uP=cva("font-semibold text-foreground",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),mP=cva("text-muted-foreground",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),Th=W.forwardRef(({className:e,size:t,illustration:n,heading:r,description:o,children:a,...s},i)=>jsxs("div",{ref:i,className:u(Ch({size:t,className:e})),...s,children:[n&&jsx("div",{className:u(dP({size:t})),"aria-hidden":"true",children:n}),r&&jsx("h3",{className:u(uP({size:t})),children:r}),o&&jsx("p",{className:u(mP({size:t})),children:o}),a&&jsx("div",{className:"mt-2",children:a})]}));Th.displayName="IllustratedMessage";var kh=cva("relative flex gap-3 rounded-lg border p-4 text-sm",{variants:{variant:{info:"border-blue-200 bg-blue-50 text-blue-900 dark:border-blue-800 dark:bg-blue-950 dark:text-blue-100 [&>svg]:text-blue-600 dark:[&>svg]:text-blue-400",success:"border-green-200 bg-green-50 text-green-900 dark:border-green-800 dark:bg-green-950 dark:text-green-100 [&>svg]:text-green-600 dark:[&>svg]:text-green-400",warning:"border-amber-200 bg-amber-50 text-amber-900 dark:border-amber-800 dark:bg-amber-950 dark:text-amber-100 [&>svg]:text-amber-600 dark:[&>svg]:text-amber-400",error:"border-red-200 bg-red-50 text-red-900 dark:border-red-800 dark:bg-red-950 dark:text-red-100 [&>svg]:text-red-600 dark:[&>svg]:text-red-400",neutral:"border-border bg-muted text-foreground [&>svg]:text-muted-foreground"}},defaultVariants:{variant:"info"}}),xP={info:Info,success:CheckCircle2,warning:AlertTriangle,error:AlertCircle,neutral:Info},Ph=W.forwardRef(({className:e,variant:t,title:n,icon:r,hideIcon:o=false,isDismissible:a=false,onDismiss:s,actions:i,children:l,...c},d)=>{let[m,f]=W.useState(true);if(!m)return null;let p=xP[t??"info"],g=()=>{f(false),s?.();};return jsxs("div",{ref:d,role:"alert",className:u(kh({variant:t,className:e})),...c,children:[!o&&jsx("div",{className:"flex-shrink-0",children:r||jsx(p,{className:"h-5 w-5"})}),jsxs("div",{className:"flex-1 space-y-1",children:[n&&jsx("div",{className:"font-medium",children:n}),l&&jsx("div",{className:"opacity-90",children:l}),i&&jsx("div",{className:"mt-3 flex gap-2",children:i})]}),a&&jsx("button",{type:"button",onClick:g,className:"absolute right-2 top-2 rounded-md p-1 opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":"Dismiss",children:jsx(X,{className:"h-4 w-4"})})]})});Ph.displayName="InlineAlert";var Eh=cva("fixed flex items-center gap-2 rounded-lg border bg-background shadow-lg transition-all duration-200",{variants:{position:{bottom:"bottom-4 left-1/2 -translate-x-1/2",top:"top-4 left-1/2 -translate-x-1/2","bottom-right":"bottom-4 right-4","bottom-left":"bottom-4 left-4"},size:{sm:"px-3 py-2 gap-1.5",md:"px-4 py-2.5 gap-2",lg:"px-5 py-3 gap-3"}},defaultVariants:{position:"bottom",size:"md"}}),Lh=W.forwardRef(({className:e,position:t,size:n,selectedCount:r=0,isOpen:o=true,onClose:a,showClose:s=true,selectedText:i,children:l,...c},d)=>{if(!o||r===0)return null;let m=()=>typeof i=="function"?i(r):i||`${r} item${r>1?"s":""} selected`;return jsxs("div",{ref:d,role:"toolbar","aria-label":"Actions for selected items",className:u(Eh({position:t,size:n,className:e})),...c,children:[jsx("span",{className:"text-sm font-medium text-muted-foreground whitespace-nowrap",children:m()}),jsx("div",{className:"h-4 w-px bg-border"}),jsx("div",{className:"flex items-center gap-1",children:l}),s&&jsxs(Fragment,{children:[jsx("div",{className:"h-4 w-px bg-border"}),jsx("button",{type:"button",onClick:a,className:"rounded-md p-1 text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors","aria-label":"Close action bar",children:jsx(X,{className:"h-4 w-4"})})]})]})});Lh.displayName="ActionBar";var Sh=W.forwardRef(({className:e,icon:t,children:n,...r},o)=>jsxs("button",{ref:o,type:"button",className:u("inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-sm font-medium transition-colors","hover:bg-accent hover:text-accent-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","disabled:pointer-events-none disabled:opacity-50",e),...r,children:[t&&jsx("span",{className:"h-4 w-4 [&>svg]:h-full [&>svg]:w-full",children:t}),n]}));Sh.displayName="ActionBarButton";var Ih=cva("flex flex-col",{variants:{variant:{default:"gap-1",bordered:"border rounded-lg divide-y",cards:"gap-2"},size:{sm:"",md:"",lg:""}},defaultVariants:{variant:"default",size:"md"}}),Vh=cva("flex items-center gap-3 transition-colors cursor-pointer",{variants:{variant:{default:"rounded-md hover:bg-accent",bordered:"hover:bg-accent",cards:"rounded-lg border hover:border-primary/50 hover:bg-accent/50"},size:{sm:"px-2 py-1.5 text-sm",md:"px-3 py-2",lg:"px-4 py-3 text-lg"},isSelected:{true:"bg-accent",false:""},isDisabled:{true:"opacity-50 pointer-events-none",false:""}},compoundVariants:[{variant:"cards",isSelected:true,className:"border-primary bg-accent"}],defaultVariants:{variant:"default",size:"md",isSelected:false,isDisabled:false}});function Ah({className:e,variant:t,size:n,items:r,selectedKeys:o,selectionMode:a="none",onSelectionChange:s,allowsDragging:i=false,onReorder:l,showCheckbox:c=false,renderItem:d,emptyContent:m,...f}){let[p,g]=W.useState(new Set),[h,b]=W.useState(null),[v,R]=W.useState(null),w=W.useMemo(()=>o?o instanceof Set?o:new Set(o):p,[o,p]),x=T=>{if(a==="none")return;let k;a==="single"?k=w.has(T)?new Set:new Set([T]):(k=new Set(w),k.has(T)?k.delete(T):k.add(T)),o||g(k),s?.(k);},C=(T,k)=>{b(k),T.dataTransfer.effectAllowed="move";},y=(T,k)=>{T.preventDefault(),h!==k&&R(k);},N=()=>{if(h&&v&&h!==v){let T=r.findIndex(E=>E.key===h),k=r.findIndex(E=>E.key===v),M=[...r],[P]=M.splice(T,1);M.splice(k,0,P),l?.(M);}b(null),R(null);};return r.length===0?jsx("div",{className:u("flex items-center justify-center p-8 text-muted-foreground",e),children:m||"No items"}):jsx("div",{role:"listbox","aria-multiselectable":a==="multiple",className:u(Ih({variant:t,size:n,className:e})),...f,children:r.map(T=>{let k=w.has(T.key),M=h===T.key,P=v===T.key;return d?jsx("div",{role:"option","aria-selected":k,onClick:()=>x(T.key),children:d(T,k)},T.key):jsxs("div",{role:"option","aria-selected":k,"aria-disabled":T.isDisabled,draggable:i&&!T.isDisabled,onDragStart:E=>C(E,T.key),onDragOver:E=>y(E,T.key),onDragEnd:N,onClick:()=>!T.isDisabled&&x(T.key),className:u(Vh({variant:t,size:n,isSelected:k,isDisabled:T.isDisabled}),M&&"opacity-50",P&&"border-t-2 border-t-primary"),children:[i&&jsx(GripVertical,{className:"h-4 w-4 text-muted-foreground cursor-grab"}),c&&a!=="none"&&jsx("div",{className:u("flex h-4 w-4 items-center justify-center rounded border",k?"bg-primary border-primary text-primary-foreground":"border-input"),children:k&&jsx(Check,{className:"h-3 w-3"})}),T.icon&&jsx("span",{className:"h-5 w-5 text-muted-foreground [&>svg]:h-full [&>svg]:w-full",children:T.icon}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"truncate",children:T.label}),T.description&&jsx("div",{className:"text-sm text-muted-foreground truncate",children:T.description})]})]},T.key)})})}Ah.displayName="ListView";var zh=cva("relative flex w-full touch-none select-none",{variants:{orientation:{horizontal:"items-center",vertical:"flex-col justify-center h-full"},size:{sm:"",md:"",lg:""}},defaultVariants:{orientation:"horizontal",size:"md"}}),MP=cva("relative grow overflow-hidden rounded-full bg-secondary",{variants:{orientation:{horizontal:"w-full",vertical:"w-2 h-full"},size:{sm:"h-1",md:"h-2",lg:"h-3"}},compoundVariants:[{orientation:"vertical",size:"sm",className:"w-1 h-full"},{orientation:"vertical",size:"md",className:"w-2 h-full"},{orientation:"vertical",size:"lg",className:"w-3 h-full"}],defaultVariants:{orientation:"horizontal",size:"md"}}),NP=cva("block rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 cursor-grab",{variants:{size:{sm:"h-3.5 w-3.5",md:"h-5 w-5",lg:"h-6 w-6"}},defaultVariants:{size:"md"}}),Oh=W.forwardRef(({className:e,orientation:t="horizontal",size:n="md",value:r,defaultValue:o=[25,75],onValueChange:a,onValueCommit:s,min:i=0,max:l=100,step:c=1,disabled:d=false,showLabels:m=false,formatLabel:f=v=>String(v),trackColor:p="primary",name:g,...h},b)=>{let[v,R]=W.useState(o),w=r!==void 0,x=w?r:v,C=W.useRef(null),[y,N]=W.useState(false),[T,k]=W.useState(null),M=(I,K)=>{if(!C.current)return x[0];let B=C.current.getBoundingClientRect(),q;t==="horizontal"?q=(I-B.left)/B.width:q=1-(K-B.top)/B.height,q=Math.max(0,Math.min(1,q));let ne=i+q*(l-i),G=Math.round(ne/c)*c;return Math.max(i,Math.min(l,G))},P=(I,K)=>{let B=[...x];B[K]=I,K===0&&I>x[1]&&(B[0]=x[1]),K===1&&I<x[0]&&(B[1]=x[0]),w||R(B),a?.(B);},E=(I,K)=>{d||(I.preventDefault(),N(true),k(K),I.target.setPointerCapture(I.pointerId));},D=I=>{if(!y||T===null||d)return;let K=M(I.clientX,I.clientY);P(K,T);},H=()=>{y&&(N(false),k(null),s?.(x));},L=I=>{if(d)return;let K=M(I.clientX,I.clientY),B=Math.abs(x[0]-K),q=Math.abs(x[1]-K),ne=B<=q?0:1;P(K,ne);let G=[...x];G[ne]=K,s?.(G);},S=(I,K)=>{if(d)return;let B=x[K];switch(I.key){case "ArrowRight":case "ArrowUp":I.preventDefault(),B=Math.min(l,x[K]+c);break;case "ArrowLeft":case "ArrowDown":I.preventDefault(),B=Math.max(i,x[K]-c);break;case "Home":I.preventDefault(),B=i;break;case "End":I.preventDefault(),B=l;break;default:return}P(B,K);let q=[...x];q[K]=B,s?.(q);},V=I=>(I-i)/(l-i)*100,z={primary:"bg-primary",success:"bg-green-500",warning:"bg-yellow-500",danger:"bg-red-500"}[p],F={sm:14,md:20,lg:24}[n||"md"];return jsxs("div",{className:"relative w-full",children:[m&&jsxs("div",{className:"flex justify-between mb-2 text-sm text-muted-foreground",children:[jsx("span",{children:f(x[0])}),jsx("span",{children:f(x[1])})]}),jsxs("div",{ref:b,className:u(zh({orientation:t,size:n}),d&&"opacity-50 pointer-events-none",e),...h,children:[jsx("div",{ref:C,className:u(MP({orientation:t,size:n})),onClick:L,children:jsx("div",{className:u("absolute rounded-full",z,{"h-full":t==="horizontal","w-full":t==="vertical"}),style:t==="horizontal"?{left:`${V(x[0])}%`,right:`${100-V(x[1])}%`,top:0,bottom:0}:{bottom:`${V(x[0])}%`,top:`${100-V(x[1])}%`,left:0,right:0}})}),x.map((I,K)=>jsx("div",{role:"slider",tabIndex:d?-1:0,"aria-valuemin":i,"aria-valuemax":l,"aria-valuenow":I,"aria-orientation":t||void 0,"aria-disabled":d,className:u(NP({size:n}),y&&T===K&&"cursor-grabbing"),style:t==="horizontal"?{position:"absolute",left:`calc(${V(I)}% - ${F/2}px)`,top:"50%",transform:"translateY(-50%)"}:{position:"absolute",bottom:`calc(${V(I)}% - ${F/2}px)`,left:"50%",transform:"translateX(-50%)"},onPointerDown:B=>E(B,K),onPointerMove:D,onPointerUp:H,onPointerCancel:H,onKeyDown:B=>S(B,K)},K)),g&&jsxs(Fragment,{children:[jsx("input",{type:"hidden",name:`${g}[0]`,value:x[0]}),jsx("input",{type:"hidden",name:`${g}[1]`,value:x[1]})]})]})]})});Oh.displayName="RangeSlider";var pc=cva("inline-flex items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",{variants:{variant:{help:"text-muted-foreground hover:text-foreground",info:"text-blue-500 hover:text-blue-600",warning:"text-yellow-500 hover:text-yellow-600"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"}},defaultVariants:{variant:"help",size:"md"}}),SP=cva("z-50 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none animate-in fade-in-0 zoom-in-95",{variants:{size:{sm:"w-56 text-xs",md:"w-72 text-sm",lg:"w-80 text-base"}},defaultVariants:{size:"md"}}),DP={help:HelpCircle,info:Info,warning:AlertCircle},Kh=W.forwardRef(({variant:e="help",size:t,title:n,children:r,trigger:o,side:a="top",align:s="center",open:i,onOpenChange:l,learnMoreUrl:c,learnMoreText:d="Learn more",triggerClassName:m,contentClassName:f},p)=>{let[g,h]=W.useState(false),[b,v]=W.useState(false),[R,w]=W.useState({top:0,left:0}),x=W.useRef(null),C=W.useRef(null),y=i!==void 0?i:g,N=W.useCallback(P=>{i===void 0&&h(P),l?.(P);},[i,l]);W.useEffect(()=>{v(true);},[]),W.useEffect(()=>{if(!y||!x.current)return;let P=()=>{let E=x.current.getBoundingClientRect(),D=288,H=8,L=0,S=0;switch(a){case "top":L=E.top-H,S=E.left+E.width/2;break;case "bottom":L=E.bottom+H,S=E.left+E.width/2;break;case "left":L=E.top+E.height/2,S=E.left-H;break;case "right":L=E.top+E.height/2,S=E.right+H;break}if(a==="top"||a==="bottom")switch(s){case "start":S=E.left;break;case "center":S=E.left+E.width/2-D/2;break;case "end":S=E.right-D;break}S=Math.max(8,Math.min(S,window.innerWidth-D-8)),w({top:L,left:S});};return P(),window.addEventListener("resize",P),window.addEventListener("scroll",P,true),()=>{window.removeEventListener("resize",P),window.removeEventListener("scroll",P,true);}},[y,a,s]),W.useEffect(()=>{if(!y)return;let P=E=>{C.current&&!C.current.contains(E.target)&&x.current&&!x.current.contains(E.target)&&N(false);};return document.addEventListener("mousedown",P),()=>document.removeEventListener("mousedown",P)},[y,N]),W.useEffect(()=>{if(!y)return;let P=E=>{E.key==="Escape"&&N(false);};return document.addEventListener("keydown",P),()=>document.removeEventListener("keydown",P)},[y,N]);let T=DP[e??"help"],k=()=>{N(!y);},M=()=>{switch(a){case "top":return "bottom center";case "bottom":return "top center";case "left":return "right center";case "right":return "left center";default:return "center center"}};return jsxs(Fragment,{children:[o?W.isValidElement(o)?W.cloneElement(o,{ref:x,onClick:P=>{o.props.onClick?.(P),k();}}):jsx("button",{ref:x,type:"button",onClick:k,className:u(pc({variant:e,size:t}),m),"aria-label":"Help",children:o}):jsx("button",{ref:P=>{x.current=P,typeof p=="function"?p(P):p&&(p.current=P);},type:"button",onClick:k,className:u(pc({variant:e,size:t}),m),"aria-label":"Help",children:jsx(T,{className:"h-full w-full"})}),b&&y&&Ya.createPortal(jsxs("div",{ref:C,className:u(SP({size:t}),f),style:{position:"fixed",top:R.top,left:R.left,transformOrigin:M()},role:"tooltip",children:[n&&jsx("div",{className:"mb-2 font-semibold text-foreground",children:n}),jsx("div",{className:"text-muted-foreground",children:r}),c&&jsxs("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"mt-3 inline-block text-primary hover:underline",children:[d," \u2192"]}),jsx("div",{className:"absolute h-2 w-2 rotate-45 border bg-popover",style:{...a==="top"&&{bottom:-4,left:"50%",marginLeft:-4,borderTop:"none",borderLeft:"none"},...a==="bottom"&&{top:-4,left:"50%",marginLeft:-4,borderBottom:"none",borderRight:"none"},...a==="left"&&{right:-4,top:"50%",marginTop:-4,borderBottom:"none",borderLeft:"none"},...a==="right"&&{left:-4,top:"50%",marginTop:-4,borderTop:"none",borderRight:"none"}}})]}),document.body)]})});Kh.displayName="ContextualHelp";var $h=cva("flex flex-wrap",{variants:{spacing:{sm:"gap-1",md:"gap-2",lg:"gap-3"}},defaultVariants:{spacing:"md"}}),fc=cva("inline-flex items-center gap-1 rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",{variants:{variant:{solid:"bg-primary text-primary-foreground",outline:"border border-input bg-background hover:bg-accent",soft:"bg-primary/10 text-primary",surface:"bg-muted text-muted-foreground"},size:{sm:"px-2 py-0.5 text-xs",md:"px-2.5 py-1 text-sm",lg:"px-3 py-1.5 text-base"},isSelected:{true:"",false:""},isDisabled:{true:"opacity-50 pointer-events-none",false:""}},compoundVariants:[{variant:"outline",isSelected:true,className:"border-primary bg-primary/5"},{variant:"soft",isSelected:true,className:"bg-primary/20"},{variant:"surface",isSelected:true,className:"bg-muted/80 ring-2 ring-primary/20"}],defaultVariants:{variant:"soft",size:"md",isSelected:false,isDisabled:false}});function Uh({className:e,spacing:t,variant:n,size:r,items:o,selectedKeys:a,selectionMode:s="none",onSelectionChange:i,allowsRemoving:l=false,onRemove:c,label:d,description:m,errorMessage:f,maxTags:p,...g}){let[h,b]=W.useState(new Set),v=W.useMemo(()=>a?a instanceof Set?a:new Set(a):h,[a,h]),R=y=>{if(s==="none")return;let N;s==="single"?N=v.has(y)?new Set:new Set([y]):(N=new Set(v),N.has(y)?N.delete(y):N.add(y)),a||b(N),i?.(N);},w=(y,N)=>{N.stopPropagation(),c?.(y);},x=p?o.slice(0,p):o,C=p?Math.max(0,o.length-p):0;return jsxs("div",{className:"flex flex-col gap-1.5",children:[d&&jsx("span",{className:"text-sm font-medium text-foreground",children:d}),m&&jsx("span",{className:"text-sm text-muted-foreground",children:m}),jsxs("div",{role:"group","aria-label":d,className:u($h({spacing:t}),e),...g,children:[x.map(y=>{let N=v.has(y.key),T=s!=="none";return jsxs("span",{role:T?"button":void 0,tabIndex:T&&!y.isDisabled?0:void 0,"aria-pressed":T?N:void 0,onClick:()=>!y.isDisabled&&R(y.key),onKeyDown:k=>{(k.key==="Enter"||k.key===" ")&&!y.isDisabled&&(k.preventDefault(),R(y.key));},style:y.color?{backgroundColor:y.color}:void 0,className:u(fc({variant:y.color?void 0:n,size:r,isSelected:N,isDisabled:y.isDisabled}),T&&!y.isDisabled&&"cursor-pointer hover:opacity-80",y.color&&"text-white"),children:[y.icon&&jsx("span",{className:"h-3.5 w-3.5 [&>svg]:h-full [&>svg]:w-full",children:y.icon}),y.label,l&&!y.isDisabled&&jsx("button",{type:"button",onClick:k=>w(y.key,k),className:"ml-0.5 rounded-full p-0.5 hover:bg-black/10 dark:hover:bg-white/10","aria-label":`Remove ${y.label}`,children:jsx(X,{className:"h-3 w-3"})})]},y.key)}),C>0&&jsxs("span",{className:u(fc({variant:"surface",size:r}),"cursor-default"),children:["+",C," more"]})]}),f&&jsx("span",{className:"text-sm text-danger",children:f})]})}Uh.displayName="TagGroup";var Yh=cva("grid",{variants:{columns:{1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6",auto:"grid-cols-[repeat(auto-fill,minmax(150px,1fr))]"},gap:{sm:"gap-2",md:"gap-4",lg:"gap-6"}},defaultVariants:{columns:"auto",gap:"md"}}),jh=cva("relative flex flex-col rounded-lg border transition-all cursor-pointer",{variants:{variant:{default:"hover:border-primary/50 hover:bg-accent/50",card:"bg-card shadow-sm hover:shadow-md hover:border-primary/50"},size:{sm:"p-2",md:"p-3",lg:"p-4"},isSelected:{true:"border-primary bg-accent ring-2 ring-primary/20",false:""},isDisabled:{true:"opacity-50 pointer-events-none",false:""}},defaultVariants:{variant:"default",size:"md",isSelected:false,isDisabled:false}});function Xh({className:e,columns:t,gap:n,items:r,selectedKeys:o,selectionMode:a="none",onSelectionChange:s,showSelectionIndicator:i=true,itemVariant:l="default",itemSize:c="md",renderItem:d,emptyContent:m,...f}){let[p,g]=W.useState(new Set),h=W.useMemo(()=>o?o instanceof Set?o:new Set(o):p,[o,p]),b=v=>{if(a==="none")return;let R;a==="single"?R=h.has(v)?new Set:new Set([v]):(R=new Set(h),R.has(v)?R.delete(v):R.add(v)),o||g(R),s?.(R);};return r.length===0?jsx("div",{className:u("flex items-center justify-center p-8 text-muted-foreground",e),children:m||"No items"}):jsx("div",{role:"grid","aria-multiselectable":a==="multiple",className:u(Yh({columns:t,gap:n,className:e})),...f,children:r.map(v=>{let R=h.has(v.key);return d?jsx("div",{role:"gridcell","aria-selected":R,onClick:()=>b(v.key),children:d(v,R)},v.key):jsxs("div",{role:"gridcell","aria-selected":R,"aria-disabled":v.isDisabled,onClick:()=>!v.isDisabled&&b(v.key),className:u(jh({variant:l,size:c,isSelected:R,isDisabled:v.isDisabled})),children:[i&&a!=="none"&&R&&jsx("div",{className:"absolute top-2 right-2 flex h-5 w-5 items-center justify-center rounded-full bg-primary text-primary-foreground",children:jsx(Check,{className:"h-3 w-3"})}),v.thumbnail&&jsx("div",{className:"mb-2 aspect-square w-full overflow-hidden rounded-md bg-muted",children:v.thumbnail}),jsxs("div",{className:"min-w-0",children:[jsx("div",{className:"truncate font-medium",children:v.label}),v.description&&jsx("div",{className:"mt-1 truncate text-sm text-muted-foreground",children:v.description})]})]},v.key)})})}Xh.displayName="GridList";var Zh=cva("relative w-full",{variants:{size:{sm:"h-1.5",md:"h-2",lg:"h-3"}},defaultVariants:{size:"md"}}),AP=cva("w-full h-full rounded-full overflow-hidden",{variants:{variant:{default:"bg-secondary",subtle:"bg-muted"}},defaultVariants:{variant:"default"}}),zP=cva("h-full transition-all duration-300 ease-out",{variants:{color:{primary:"bg-primary",success:"bg-green-500",warning:"bg-yellow-500",danger:"bg-red-500",info:"bg-blue-500",auto:""},rounded:{true:"rounded-full",false:"rounded-l-full"}},defaultVariants:{color:"primary",rounded:true}}),ti=W.forwardRef(({className:e,size:t,value:n,min:r=0,max:o=100,optimum:a,low:s,high:i,label:l,showValueLabel:c=false,formatValue:d,color:m="primary",trackVariant:f="default",...p},g)=>{let h=Math.min(100,Math.max(0,(n-r)/(o-r)*100)),b=()=>{if(m!=="auto")return "";let R=(n-r)/(o-r),w=s!==void 0?(s-r)/(o-r):.25,x=i!==void 0?(i-r)/(o-r):.75;return (a!==void 0?(a-r)/(o-r):1)>=.5?R<=w?"bg-red-500":R<=x?"bg-yellow-500":"bg-green-500":R>=x?"bg-red-500":R>=w?"bg-yellow-500":"bg-green-500"},v=d?d(n,h):`${Math.round(h)}%`;return jsxs("div",{ref:g,className:u("w-full",e),...p,children:[(l||c)&&jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[l&&jsx("span",{className:"text-sm font-medium text-foreground",children:l}),c&&jsx("span",{className:"text-sm text-muted-foreground",children:v})]}),jsx("div",{role:"meter","aria-valuenow":n,"aria-valuemin":r,"aria-valuemax":o,"aria-label":l,className:u(Zh({size:t})),children:jsx("div",{className:u(AP({variant:f})),children:jsx("div",{className:u(zP({color:m==="auto"?void 0:m,rounded:h>=100}),m==="auto"&&b()),style:{width:`${h}%`}})})})]})});ti.displayName="Meter";var Qh=W.forwardRef((e,t)=>jsx(ti,{ref:t,color:"auto",low:50,high:80,optimum:0,...e}));Qh.displayName="DiskUsageMeter";var Jh=W.forwardRef((e,t)=>jsx(ti,{ref:t,color:"auto",low:20,high:50,optimum:100,...e}));Jh.displayName="BatteryMeter";var ex=cva("relative rounded-lg overflow-hidden cursor-crosshair touch-none select-none",{variants:{size:{sm:"h-32 w-32",md:"h-48 w-48",lg:"h-64 w-64",full:"h-full w-full min-h-48"}},defaultVariants:{size:"md"}}),ri=(e,t,n)=>{let r=o=>{let a=(o+e/60)%6;return n-n*t*Math.max(Math.min(a,4-a,1),0)};return [Math.round(r(5)*255),Math.round(r(3)*255),Math.round(r(1)*255)]},tx=(e,t,n)=>{e/=255,t/=255,n/=255;let r=Math.max(e,t,n),o=Math.min(e,t,n),a=r-o,s=0,i=r===0?0:a/r,l=r;if(a!==0)switch(r){case e:s=((t-n)/a+(t<n?6:0))*60;break;case t:s=((n-e)/a+2)*60;break;case n:s=((e-t)/a+4)*60;break}return [s,i,l]},nx=e=>{let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]:null},rx=(e,t,n)=>"#"+[e,t,n].map(r=>r.toString(16).padStart(2,"0")).join(""),ox=W.forwardRef(({hue:e,saturation:t,brightness:n,value:r,defaultValue:o="#ff0000",onChange:a,onColorChange:s,size:i,disabled:l,thumbSize:c=18,className:d,...m},f)=>{let p=W.useRef(null),[g,h]=W.useState(false),b=W.useCallback(I=>{let K=nx(I);return K?tx(...K):[0,1,1]},[]),[v,R]=W.useState(()=>b(r||o)),w=e??v[0],x=t??v[1],C=n??v[2];W.useEffect(()=>{if(r){let I=b(r);R(I);}},[r,b]);let y=W.useCallback((I,K)=>{if(l||!p.current)return;let B=p.current.getBoundingClientRect(),q=Math.max(0,Math.min(1,(I-B.left)/B.width)),ne=Math.max(0,Math.min(1,(K-B.top)/B.height)),G=q,O=1-ne;t===void 0&&n===void 0&&R([w,G,O]),a?.({hue:w,saturation:G,brightness:O});let _=ri(w,G,O);s?.(rx(..._));},[l,w,t,n,a,s]),N=I=>{l||(I.preventDefault(),h(true),I.target.setPointerCapture(I.pointerId),y(I.clientX,I.clientY));},T=I=>{g&&y(I.clientX,I.clientY);},k=I=>{h(false),I.target.releasePointerCapture(I.pointerId);},[M,P,E]=ri(w,1,1),D=`rgb(${M}, ${P}, ${E})`,H=x*100,L=(1-C)*100,[S,V,z]=ri(w,x,C),F=`rgb(${S}, ${V}, ${z})`;return jsx("div",{ref:f,className:u(ex({size:i}),l&&"cursor-not-allowed opacity-50",d),...m,children:jsxs("div",{ref:p,className:"absolute inset-0",style:{backgroundColor:D},onPointerDown:N,onPointerMove:T,onPointerUp:k,onPointerLeave:k,children:[jsx("div",{className:"absolute inset-0",style:{background:"linear-gradient(to right, white, transparent)"}}),jsx("div",{className:"absolute inset-0",style:{background:"linear-gradient(to bottom, transparent, black)"}}),jsx("div",{className:"absolute rounded-full border-2 border-white pointer-events-none",style:{width:c,height:c,left:`calc(${H}% - ${c/2}px)`,top:`calc(${L}% - ${c/2}px)`,backgroundColor:F,boxShadow:"0 0 0 1px rgba(0,0,0,0.1), 0 2px 4px rgba(0,0,0,0.2)"}})]})})});ox.displayName="ColorArea";var sx=cva("relative rounded-full cursor-pointer touch-none select-none",{variants:{orientation:{horizontal:"w-full",vertical:"h-full"},size:{sm:"",md:"",lg:""}},compoundVariants:[{orientation:"horizontal",size:"sm",className:"h-3"},{orientation:"horizontal",size:"md",className:"h-4"},{orientation:"horizontal",size:"lg",className:"h-5"},{orientation:"vertical",size:"sm",className:"w-3"},{orientation:"vertical",size:"md",className:"w-4"},{orientation:"vertical",size:"lg",className:"w-5"}],defaultVariants:{orientation:"horizontal",size:"md"}}),KP=`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cg fill='%23ccc'%3E%3Crect width='4' height='4'/%3E%3Crect x='4' y='4' width='4' height='4'/%3E%3C/g%3E%3C/svg%3E")`,ax="linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000)",ix=W.forwardRef(({value:e,defaultValue:t,onChange:n,channel:r="hue",baseColor:o="#ff0000",orientation:a,size:s,disabled:i,thumbSize:l=18,showBorder:c=true,className:d,...m},f)=>{let p=W.useRef(null),[g,h]=W.useState(false),b=()=>{switch(r){case "hue":return 0;case "alpha":case "saturation":case "brightness":return 1;default:return 0}},[v,R]=W.useState(t??b()),w=e??v,x=r==="hue"?w/360:w,C=W.useCallback((D,H)=>{if(i||!p.current)return;let L=p.current.getBoundingClientRect(),S=a!=="vertical",V;S?V=Math.max(0,Math.min(1,(D-L.left)/L.width)):V=Math.max(0,Math.min(1,1-(H-L.top)/L.height));let z=r==="hue"?V*360:V;e===void 0&&R(z),n?.(z);},[i,a,r,e,n]),y=D=>{i||(D.preventDefault(),h(true),D.target.setPointerCapture(D.pointerId),C(D.clientX,D.clientY));},N=D=>{g&&C(D.clientX,D.clientY);},T=D=>{h(false),D.target.releasePointerCapture(D.pointerId);},k=()=>{let D=a!=="vertical",H=D?"to right":"to top";switch(r){case "hue":return D?ax:"linear-gradient(to top, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000)";case "alpha":return `linear-gradient(${H}, transparent, ${o})`;case "saturation":return `linear-gradient(${H}, #808080, ${o})`;case "brightness":return `linear-gradient(${H}, #000000, ${o})`;default:return ax}},M=()=>r==="hue"?`hsl(${w}, 100%, 50%)`:o,P=a!=="vertical",E=x*100;return jsx("div",{ref:f,className:u(sx({orientation:a,size:s}),i&&"cursor-not-allowed opacity-50",d),...m,children:jsxs("div",{ref:p,className:u("absolute inset-0 rounded-full overflow-hidden",c&&"border border-input"),style:{backgroundImage:r==="alpha"?KP:void 0,backgroundSize:r==="alpha"?"8px 8px":void 0},onPointerDown:y,onPointerMove:N,onPointerUp:T,onPointerLeave:T,children:[jsx("div",{className:"absolute inset-0 rounded-full",style:{background:k()}}),jsx("div",{className:"absolute rounded-full border-2 border-white shadow-md pointer-events-none",style:{width:l,height:l,...P?{left:`calc(${E}% - ${l/2}px)`,top:"50%",transform:"translateY(-50%)"}:{bottom:`calc(${E}% - ${l/2}px)`,left:"50%",transform:"translateX(-50%)"},backgroundColor:M(),boxShadow:"0 0 0 1px rgba(0,0,0,0.2), 0 2px 4px rgba(0,0,0,0.2)"}})]})})});ix.displayName="ColorSlider";var lx=cva("relative cursor-crosshair touch-none select-none",{variants:{size:{sm:"h-32 w-32",md:"h-48 w-48",lg:"h-64 w-64"}},defaultVariants:{size:"md"}}),UP=(e,t,n)=>{let r=e-n,o=t-n,a=Math.atan2(o,r)*180/Math.PI+90;return a<0&&(a+=360),a},cx=W.forwardRef(({value:e,defaultValue:t=0,onChange:n,size:r,disabled:o,innerRadius:a=.6,thumbSize:s=20,showCenter:i=true,className:l,...c},d)=>{let m=W.useRef(null),[f,p]=W.useState(false),[g,h]=W.useState(t),b=e??g,v=W.useCallback((y,N)=>{if(o||!m.current)return;let T=m.current.getBoundingClientRect(),k=T.width/2,M=y-T.left,P=N-T.top,E=UP(M,P,k);e===void 0&&h(E),n?.(E);},[o,e,n]),R=y=>{o||(y.preventDefault(),p(true),y.target.setPointerCapture(y.pointerId),v(y.clientX,y.clientY));},w=y=>{f&&v(y.clientX,y.clientY);},x=y=>{p(false),y.target.releasePointerCapture(y.pointerId);},C=()=>{let y=[];for(let N=0;N<=360;N+=30)y.push(`hsl(${N}, 100%, 50%) ${N}deg`);return `conic-gradient(from 270deg, ${y.join(", ")})`};return jsx("div",{ref:d,className:u(lx({size:r}),o&&"cursor-not-allowed opacity-50",l),...c,children:jsxs("div",{ref:m,className:"absolute inset-0 rounded-full",style:{background:C()},onPointerDown:R,onPointerMove:w,onPointerUp:x,onPointerLeave:x,children:[a<1&&jsx("div",{className:"absolute bg-background rounded-full",style:{top:`${(1-a)*50}%`,left:`${(1-a)*50}%`,width:`${a*100}%`,height:`${a*100}%`}}),i&&a<1&&jsx("div",{className:"absolute rounded-full border-2 border-input bg-background",style:{width:8,height:8,top:"50%",left:"50%",transform:"translate(-50%, -50%)"}}),jsx(WP,{hue:b,innerRadius:a,thumbSize:s})]})})});cx.displayName="ColorWheel";var WP=({hue:e,innerRadius:t,thumbSize:n})=>{let r=(1-(1-t)/2)*50,o=(e-90)*Math.PI/180,a=50+r*Math.cos(o),s=50+r*Math.sin(o);return jsx("div",{className:"absolute rounded-full border-2 border-white shadow-md pointer-events-none",style:{width:n,height:n,left:`calc(${a}% - ${n/2}px)`,top:`calc(${s}% - ${n/2}px)`,backgroundColor:`hsl(${e}, 100%, 50%)`,boxShadow:"0 0 0 1px rgba(0,0,0,0.2), 0 2px 4px rgba(0,0,0,0.2)"}})};var ux=cva("flex",{variants:{orientation:{horizontal:"flex-row items-center gap-2",vertical:"flex-col gap-1"},size:{sm:"",md:"",lg:""},align:{start:"items-start",center:"items-center",end:"items-end"}},compoundVariants:[{orientation:"horizontal",align:"start",className:"items-start"},{orientation:"horizontal",align:"center",className:"items-center"},{orientation:"horizontal",align:"end",className:"items-end"}],defaultVariants:{orientation:"vertical",size:"md",align:"start"}}),YP=cva("text-muted-foreground font-medium",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),jP=cva("text-foreground",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"},weight:{normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"},mono:{true:"font-mono",false:""}},defaultVariants:{size:"md",weight:"normal",mono:false}}),mx=W.forwardRef(({className:e,orientation:t,size:n,align:r,label:o,value:a,valueWeight:s,mono:i,labelWidth:l,labelClassName:c,valueClassName:d,showColon:m=false,copyable:f=false,onCopy:p,...g},h)=>{let b=async()=>{if(!(!f||a===null||a===void 0))try{let v=typeof a=="string"?a:String(a);await navigator.clipboard.writeText(v),p?.();}catch{}};return jsxs("div",{ref:h,className:u(ux({orientation:t,size:n,align:r,className:e})),...g,children:[jsxs("span",{className:u(YP({size:n}),c),style:l?{width:l,flexShrink:0}:void 0,children:[o,m&&":"]}),jsx("span",{className:u(jP({size:n,weight:s,mono:i}),f&&"cursor-pointer hover:bg-accent/50 rounded px-1 -mx-1 transition-colors",d),onClick:f?b:void 0,role:f?"button":void 0,tabIndex:f?0:void 0,onKeyDown:f?v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),b());}:void 0,children:a})]})});mx.displayName="LabeledValue";var px=cva("",{variants:{orientation:{horizontal:"flex flex-row flex-wrap",vertical:"flex flex-col"},gap:{sm:"gap-2",md:"gap-4",lg:"gap-6"}},defaultVariants:{orientation:"vertical",gap:"md"}}),fx=W.forwardRef(({className:e,orientation:t,gap:n,...r},o)=>jsx("div",{ref:o,className:u(px({orientation:t,gap:n,className:e})),...r}));fx.displayName="LabeledValueGroup";var hx=cva("flex items-center rounded-md border border-input bg-background ring-offset-background transition-colors focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2",{variants:{size:{sm:"h-8 text-xs",md:"h-10 text-sm",lg:"h-12 text-base"},variant:{default:"",filled:"bg-muted border-transparent",ghost:"border-transparent hover:bg-muted"}},defaultVariants:{size:"md",variant:"default"}}),ko=cva("text-muted-foreground shrink-0",{variants:{size:{sm:"h-3.5 w-3.5",md:"h-4 w-4",lg:"h-5 w-5"}},defaultVariants:{size:"md"}}),xx=W.forwardRef(({value:e,defaultValue:t="",onChange:n,onSearch:r,onSelect:o,suggestions:a=[],recentSearches:s=[],onClearRecentSearches:i,trendingSearches:l=[],isLoading:c,showClear:d=true,showIcon:m=true,popoverWidth:f="trigger",emptyMessage:p="No results found",size:g,variant:h,className:b,placeholder:v="Search...",disabled:R,...w},x)=>{let[C,y]=W.useState(false),[N,T]=W.useState(t),k=e!==void 0?e:N,M=W.useRef(null);W.useImperativeHandle(x,()=>M.current);let P=k.length>0,E=C&&(a.length>0||s.length>0||l.length>0||P),D=I=>{e===void 0&&T(I),n?.(I);},H=()=>{D(""),M.current?.focus();},L=I=>{I?.preventDefault(),k.trim()&&(r?.(k.trim()),y(false));},S=I=>{D(I.label),o?.(I),y(false);},V=I=>{D(I),r?.(I),y(false);},z=I=>{D(I),r?.(I),y(false);},F=W.useMemo(()=>{let I={};return a.forEach(K=>{let B=K.category||"Results";I[B]||(I[B]=[]),I[B].push(K);}),I},[a]);return jsxs(nt,{open:E,onOpenChange:y,children:[jsx(oo,{children:jsxs("form",{onSubmit:L,className:u(hx({size:g,variant:h}),b),children:[m&&jsx(Search,{className:u(ko({size:g}),"ml-3")}),jsx("input",{ref:M,type:"text",value:k,onChange:I=>D(I.target.value),onFocus:()=>y(true),placeholder:v,disabled:R,className:u("flex-1 bg-transparent px-3 py-2 outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",!m&&"pl-3"),...w}),d&&P&&!R&&jsx("button",{type:"button",onClick:H,className:u("mr-2 rounded-sm p-1 text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",ko({size:g})),children:jsx(X,{className:"h-full w-full"})})]})}),jsx(rt,{className:"p-0",style:{width:f==="trigger"?"var(--radix-popover-trigger-width)":f},align:"start",onOpenAutoFocus:I=>I.preventDefault(),children:jsxs(Command,{className:"rounded-lg border-0",children:[s.length>0&&!P&&jsxs("div",{className:"p-2",children:[jsxs("div",{className:"flex items-center justify-between px-2 py-1.5",children:[jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Recent"}),i&&jsx("button",{type:"button",onClick:i,className:"text-xs text-muted-foreground hover:text-foreground",children:"Clear"})]}),s.map((I,K)=>jsxs("button",{type:"button",onClick:()=>V(I),className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-muted",children:[jsx(Clock,{className:u(ko({size:g}))}),jsx("span",{className:"flex-1 text-left truncate",children:I}),jsx(ArrowRight,{className:u(ko({size:g}),"opacity-0 group-hover:opacity-100")})]},K))]}),l.length>0&&!P&&jsxs("div",{className:"border-t p-2",children:[jsx("div",{className:"px-2 py-1.5",children:jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Trending"})}),l.map((I,K)=>jsxs("button",{type:"button",onClick:()=>z(I),className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-muted",children:[jsx(TrendingUp,{className:u(ko({size:g}))}),jsx("span",{className:"flex-1 text-left truncate",children:I})]},K))]}),P&&jsx("div",{className:"p-2",children:c?jsx("div",{className:"flex items-center justify-center py-6",children:jsx("div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-primary border-t-transparent"})}):a.length>0?Object.entries(F).map(([I,K])=>jsxs("div",{children:[jsx("div",{className:"px-2 py-1.5",children:jsx("span",{className:"text-xs font-medium text-muted-foreground",children:I})}),K.map(B=>jsxs("button",{type:"button",onClick:()=>S(B),className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-muted",children:[B.icon||jsx(Search,{className:u(ko({size:g}))}),jsxs("div",{className:"flex-1 text-left",children:[jsx("div",{className:"truncate",children:B.label}),B.description&&jsx("div",{className:"text-xs text-muted-foreground truncate",children:B.description})]})]},B.id))]},I)):jsx("div",{className:"py-6 text-center text-sm text-muted-foreground",children:p})})]})})]})});xx.displayName="SearchBar";var yx={Pages:jsx(File,{className:"h-4 w-4"}),Files:jsx(Folder,{className:"h-4 w-4"}),Settings:jsx(Settings,{className:"h-4 w-4"}),Users:jsx(User,{className:"h-4 w-4"}),Tags:jsx(Hash,{className:"h-4 w-4"})},Cx=W.forwardRef(({open:e,onOpenChange:t,items:n=[],recentItems:r=[],placeholder:o="Search...",isLoading:a,emptyMessage:s="No results found.",filter:i,shortcut:l="\u2318K",onSelect:c,footer:d},m)=>{let[f,p]=W.useState(""),g=W.useRef(null),[h,b]=W.useState(false);W.useEffect(()=>{b(true);},[]),W.useEffect(()=>{e||p("");},[e]),W.useEffect(()=>{if(!e)return;let y=N=>{N.key==="Escape"&&t?.(false);};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[e,t]),W.useEffect(()=>{if(e)return dt(),()=>ut()},[e]);let v=W.useMemo(()=>{let y={};return n.forEach(N=>{let T=N.category||"Results";y[T]||(y[T]=[]),y[T].push(N);}),y},[n]),R=y=>{y.onSelect?.(),c?.(y),t?.(false);},w=()=>{t?.(false);},x=f.length>0,C=!x&&r.length>0;return !h||!e?null:Ya.createPortal(jsxs(Fragment,{children:[jsx("div",{className:"fixed inset-0 z-50 bg-black/50 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-state":e?"open":"closed",onClick:w}),jsx("div",{ref:m,className:"fixed left-1/2 top-[20%] z-50 w-full max-w-2xl -translate-x-1/2 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=open]:slide-in-from-left-1/2","data-state":e?"open":"closed",children:jsxs(Command,{className:"overflow-hidden rounded-xl border bg-background shadow-2xl",filter:i,shouldFilter:!i,children:[jsxs("div",{className:"flex items-center border-b px-4",children:[jsx(Search,{className:"h-5 w-5 shrink-0 text-muted-foreground"}),jsx(Command.Input,{ref:g,value:f,onValueChange:p,placeholder:o,className:"flex h-14 w-full bg-transparent px-4 py-4 text-base outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50"}),f&&jsx("button",{type:"button",onClick:()=>p(""),className:"rounded-sm p-1 text-muted-foreground hover:text-foreground",children:jsx(X,{className:"h-4 w-4"})})]}),jsx(Command.List,{className:"max-h-[400px] overflow-y-auto p-2",children:a?jsx("div",{className:"flex items-center justify-center py-10",children:jsx("div",{className:"h-6 w-6 animate-spin rounded-full border-2 border-primary border-t-transparent"})}):jsxs(Fragment,{children:[C&&jsxs(Command.Group,{heading:"Recent",children:[jsx("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:"Recent"}),r.map(y=>jsxs(Command.Item,{value:y.label,onSelect:()=>R(y),className:"flex cursor-pointer items-center gap-3 rounded-lg px-3 py-2.5 text-sm aria-selected:bg-muted",children:[jsx("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-muted",children:y.icon||yx[y.category||""]||jsx(File,{className:"h-4 w-4"})}),jsxs("div",{className:"flex-1 overflow-hidden",children:[jsx("div",{className:"truncate font-medium",children:y.label}),y.description&&jsx("div",{className:"truncate text-xs text-muted-foreground",children:y.description})]}),y.shortcut&&jsx("div",{className:"flex items-center gap-1",children:y.shortcut.map((N,T)=>jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 text-xs font-medium",children:N},T))})]},y.id))]}),x&&Object.entries(v).map(([y,N])=>jsxs(Command.Group,{heading:y,children:[jsx("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:y}),N.map(T=>jsxs(Command.Item,{value:`${T.label} ${T.keywords?.join(" ")||""}`,onSelect:()=>R(T),className:"flex cursor-pointer items-center gap-3 rounded-lg px-3 py-2.5 text-sm aria-selected:bg-muted",children:[jsx("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-muted",children:T.icon||yx[y]||jsx(File,{className:"h-4 w-4"})}),jsxs("div",{className:"flex-1 overflow-hidden",children:[jsx("div",{className:"truncate font-medium",children:T.label}),T.description&&jsx("div",{className:"truncate text-xs text-muted-foreground",children:T.description})]}),jsx(ArrowRight,{className:"h-4 w-4 text-muted-foreground opacity-0 group-aria-selected:opacity-100"})]},T.id))]},y)),jsx(Command.Empty,{className:"py-10 text-center text-sm text-muted-foreground",children:s})]})}),d?jsx("div",{className:"border-t px-4 py-3",children:d}):jsxs("div",{className:"flex items-center justify-between border-t px-4 py-3 text-xs text-muted-foreground",children:[jsxs("div",{className:"flex items-center gap-4",children:[jsxs("span",{className:"flex items-center gap-1",children:[jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-medium",children:"\u2191\u2193"}),"Navigate"]}),jsxs("span",{className:"flex items-center gap-1",children:[jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-medium",children:"\u21B5"}),"Select"]}),jsxs("span",{className:"flex items-center gap-1",children:[jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-medium",children:"Esc"}),"Close"]})]}),jsxs("span",{className:"flex items-center gap-1",children:["Press ",jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-medium",children:l})," to open"]})]})]})})]}),document.body)});Cx.displayName="SpotlightSearch";function iE(e="k"){let[t,n]=W.useState(false);return W.useEffect(()=>{let r=o=>{(o.metaKey||o.ctrlKey)&&o.key===e&&(o.preventDefault(),n(a=>!a));};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[e]),{open:t,setOpen:n,toggle:()=>n(r=>!r)}}var Nx=W.createContext(null),ai=()=>{let e=W.useContext(Nx);if(!e)throw new Error("useNotificationCenter must be used within a NotificationCenterProvider");return e},gE=({children:e,notifications:t,onNotificationsChange:n})=>{let[r,o]=W.useState([]),[a,s]=W.useState(false),i=W.useRef(null),l=t!==void 0,c=l?t:r,d=W.useCallback(b=>{l?n?.(b):o(b);},[l,n]),m=c.filter(b=>!b.read).length,f=W.useCallback(b=>{d(c.map(v=>v.id===b?{...v,read:true}:v));},[c,d]),p=W.useCallback(()=>{d(c.map(b=>({...b,read:true})));},[c,d]),g=W.useCallback(b=>{d(c.filter(v=>v.id!==b));},[c,d]),h=W.useCallback(()=>{d([]);},[d]);return jsx(Nx.Provider,{value:{notifications:c,unreadCount:m,markAsRead:f,markAllAsRead:p,removeNotification:g,clearAll:h,open:a,setOpen:s,triggerRef:i},children:e})},kx=W.forwardRef(({className:e,children:t,...n},r)=>jsx("div",{ref:r,className:u("relative inline-block",e),...n,children:t}));kx.displayName="NotificationCenter";var Px=W.forwardRef(({className:e,showBadge:t=true,children:n,onClick:r,...o},a)=>{let{unreadCount:s,open:i,setOpen:l,triggerRef:c}=ai(),d=f=>{r?.(f),l(!i);},m=s>99?"99+":String(s);return jsxs("button",{ref:f=>{c.current=f,typeof a=="function"?a(f):a&&(a.current=f);},type:"button",onClick:d,"aria-label":"Notifications"+(s>0?", "+s+" unread":""),className:u("relative inline-flex items-center justify-center rounded-md p-2 text-muted-foreground hover:bg-accent hover:text-accent-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",e),...o,children:[n||jsx(Bell,{className:"h-5 w-5"}),t&&s>0&&jsx("span",{className:"absolute -top-1 -right-1 flex h-5 min-w-5 items-center justify-center rounded-full bg-destructive px-1 text-xs font-medium text-danger-foreground",children:m})]})});Px.displayName="NotificationCenterTrigger";var Ex=W.forwardRef(({className:e,align:t="end",sideOffset:n=8,emptyMessage:r="No notifications",children:o,...a},s)=>{let{open:i,setOpen:l,notifications:c,markAllAsRead:d,clearAll:m,triggerRef:f}=ai(),[p,g]=W.useState(false),h=W.useRef(null),[b,v]=W.useState({top:0,left:0});return W.useEffect(()=>{g(true);},[]),W.useEffect(()=>{if(!i||!f.current||!h.current)return;let R=()=>{if(!f.current||!h.current)return;let w=f.current.getBoundingClientRect(),x=h.current.getBoundingClientRect(),C=w.bottom+n,y=w.left;t==="center"?y=w.left+w.width/2-x.width/2:t==="end"&&(y=w.right-x.width),y+x.width>window.innerWidth-16&&(y=window.innerWidth-x.width-16),y<16&&(y=16),v({top:C,left:y});};return R(),window.addEventListener("resize",R),window.addEventListener("scroll",R,true),()=>{window.removeEventListener("resize",R),window.removeEventListener("scroll",R,true);}},[i,f,t,n]),W.useEffect(()=>{if(!i)return;let R=x=>{h.current&&!h.current.contains(x.target)&&f.current&&!f.current.contains(x.target)&&l(false);},w=x=>{x.key==="Escape"&&l(false);};return document.addEventListener("mousedown",R),document.addEventListener("keydown",w),()=>{document.removeEventListener("mousedown",R),document.removeEventListener("keydown",w);}},[i,l,f]),!p||!i?null:Ya.createPortal(jsxs("div",{ref:R=>{h.current=R,typeof s=="function"?s(R):s&&(s.current=R);},className:u("fixed z-50 w-80 sm:w-96 max-h-[70vh] overflow-hidden rounded-lg border bg-popover text-popover-foreground shadow-lg","animate-in fade-in-0 zoom-in-95 slide-in-from-top-2",e),style:{top:b.top,left:b.left},...a,children:[jsxs("div",{className:"flex items-center justify-between border-b px-4 py-3",children:[jsx("h3",{className:"font-semibold",children:"Notifications"}),jsxs("div",{className:"flex items-center gap-2",children:[c.length>0&&jsxs(Fragment,{children:[jsx("button",{type:"button",onClick:d,className:"text-xs text-muted-foreground hover:text-foreground",children:"Mark all read"}),jsx("button",{type:"button",onClick:m,className:"text-xs text-muted-foreground hover:text-foreground",children:"Clear all"})]}),jsx("button",{type:"button",onClick:()=>l(false),className:"rounded-md p-1 hover:bg-accent",children:jsx(X,{className:"h-4 w-4"})})]})]}),jsx("div",{className:"max-h-[calc(70vh-60px)] overflow-y-auto",children:o||(c.length===0?jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-muted-foreground",children:[jsx(Bell,{className:"h-10 w-10 mb-2 opacity-50"}),jsx("p",{className:"text-sm",children:r})]}):c.map(R=>jsx(xc,{notification:R},R.id)))})]}),document.body)});Ex.displayName="NotificationCenterContent";var bE={info:"border-l-blue-500",success:"border-l-green-500",warning:"border-l-yellow-500",error:"border-l-red-500"},vE={info:Info,success:CheckCircle,warning:AlertTriangle,error:AlertCircle},xc=({notification:e,onMarkAsRead:t,onRemove:n})=>{let{markAsRead:r,removeNotification:o}=ai(),{id:a,title:s,description:i,type:l="info",timestamp:c,read:d,avatar:m,action:f}=e,p=vE[l],g=()=>{t?t():r(a);},h=()=>{n?n():o(a);},b=v=>{if(!v)return null;let R=typeof v=="string"?new Date(v):v,x=new Date().getTime()-R.getTime(),C=Math.floor(x/6e4),y=Math.floor(x/36e5),N=Math.floor(x/864e5);return C<1?"Just now":C<60?C+"m ago":y<24?y+"h ago":N<7?N+"d ago":R.toLocaleDateString()};return jsxs("div",{className:u("group relative flex gap-3 border-b border-l-4 px-4 py-3 transition-colors hover:bg-accent/50",bE[l],!d&&"bg-accent/20"),children:[jsx("div",{className:"flex-shrink-0",children:m||jsx("div",{className:u("flex h-8 w-8 items-center justify-center rounded-full",l==="info"&&"bg-blue-100 text-blue-600 dark:bg-blue-900 dark:text-blue-400",l==="success"&&"bg-green-100 text-green-600 dark:bg-green-900 dark:text-green-400",l==="warning"&&"bg-yellow-100 text-yellow-600 dark:bg-yellow-900 dark:text-yellow-400",l==="error"&&"bg-red-100 text-red-600 dark:bg-red-900 dark:text-red-400"),children:jsx(p,{className:"h-4 w-4"})})}),jsxs("div",{className:"flex-1 min-w-0",children:[jsxs("div",{className:"flex items-start justify-between gap-2",children:[jsx("p",{className:u("text-sm font-medium",!d&&"font-semibold"),children:s}),!d&&jsx("span",{className:"h-2 w-2 flex-shrink-0 rounded-full bg-primary"})]}),i&&jsx("p",{className:"mt-1 text-sm text-muted-foreground line-clamp-2",children:i}),jsxs("div",{className:"mt-2 flex items-center gap-3",children:[c&&jsx("span",{className:"text-xs text-muted-foreground",children:b(c)}),f&&jsx("button",{type:"button",onClick:f.onClick,className:"text-xs font-medium text-primary hover:underline",children:f.label})]})]}),jsx("div",{className:"flex-shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",children:jsxs("div",{className:"flex gap-1",children:[!d&&jsx("button",{type:"button",onClick:g,className:"rounded-md p-1 hover:bg-accent",title:"Mark as read",children:jsx(Check,{className:"h-4 w-4"})}),jsx("button",{type:"button",onClick:h,className:"rounded-md p-1 hover:bg-accent text-danger",title:"Remove",children:jsx(Trash2,{className:"h-4 w-4"})})]})})]})};xc.displayName="NotificationItem";var Lx=W.forwardRef(({className:e,children:t,...n},r)=>jsx("div",{ref:r,className:u("divide-y",e),...n,children:t}));Lx.displayName="NotificationList";var Sx=cva("relative flex items-center justify-center gap-3 px-4 py-2.5 text-sm",{variants:{variant:{solid:"",flat:""},type:{default:"",success:"",warning:"",error:""},position:{top:"fixed top-0 left-0 right-0 z-50",relative:"relative"}},compoundVariants:[{variant:"solid",type:"default",className:"bg-primary text-primary-foreground [&>svg]:text-primary-foreground"},{variant:"flat",type:"default",className:"bg-primary/10 text-primary [&>svg]:text-primary"},{variant:"solid",type:"success",className:"bg-green-600 text-white dark:bg-green-500 [&>svg]:text-white"},{variant:"flat",type:"success",className:"bg-green-600/10 text-green-600 dark:bg-green-500/10 dark:text-green-500 [&>svg]:text-green-600 dark:[&>svg]:text-green-500"},{variant:"solid",type:"warning",className:"bg-amber-600 text-white dark:bg-amber-500 [&>svg]:text-white"},{variant:"flat",type:"warning",className:"bg-amber-600/10 text-amber-600 dark:bg-amber-500/10 dark:text-amber-500 [&>svg]:text-amber-600 dark:[&>svg]:text-amber-500"},{variant:"solid",type:"error",className:"bg-red-600 text-white dark:bg-red-500 [&>svg]:text-white"},{variant:"flat",type:"error",className:"bg-red-600/10 text-red-600 dark:bg-red-500/10 dark:text-red-500 [&>svg]:text-red-600 dark:[&>svg]:text-red-500"}],defaultVariants:{variant:"solid",type:"default",position:"relative"}}),ME={default:Info,success:CheckCircle2,warning:AlertTriangle,error:AlertCircle},Dx=W.forwardRef(({message:e,type:t="default",variant:n="solid",showIcon:r=false,icon:o,dismissible:a=true,onDismiss:s,endContent:i,position:l,animate:c,autoDismiss:d,storageKey:m,className:f,...p},g)=>{let[h,b]=W.useState(true),[v,R]=W.useState(false);W.useEffect(()=>{m&&localStorage.getItem(`banner-${m}`)==="true"&&b(false);},[m]),W.useEffect(()=>{if(d&&h){let y=setTimeout(()=>{w();},d);return ()=>clearTimeout(y)}},[d,h]);let w=()=>{R(true),setTimeout(()=>{b(false),m&&localStorage.setItem(`banner-${m}`,"true"),s?.();},200);};if(!h)return null;let x=ME[t],C=r?o!==void 0?o:x?jsx(x,{className:"h-4 w-4"}):null:null;return jsxs("div",{ref:g,className:u(Sx({variant:n,type:t,position:l}),c&&"animate-pulse",v&&"animate-out fade-out slide-out-to-top duration-200",f),role:"banner",...p,children:[C&&jsx("span",{className:"shrink-0",children:C}),jsx("span",{className:"text-center font-medium",children:e}),i&&jsx("div",{className:"shrink-0 ml-2",children:i}),a&&jsx("button",{type:"button",onClick:w,className:u("absolute right-2 top-1/2 -translate-y-1/2 rounded-sm p-1 transition-opacity hover:opacity-70 cursor-pointer",l==="relative"&&"right-4"),"aria-label":"Dismiss banner",children:jsx(X,{className:"h-4 w-4"})})]})});Dx.displayName="Banner";var ya=cva("inline-flex items-center justify-center rounded-full shadow-lg transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{solid:"bg-primary text-primary-foreground hover:bg-primary/90",bordered:"border-2 border-primary bg-transparent text-primary hover:opacity-70",light:"bg-transparent text-primary hover:bg-primary/10",flat:"bg-primary/20 text-primary hover:opacity-70",ghost:"border-2 border-primary bg-transparent text-primary hover:bg-primary hover:text-primary-foreground"},size:{sm:"h-10 w-10",md:"h-14 w-14",lg:"h-16 w-16"},position:{"bottom-right":"fixed bottom-6 right-6","bottom-left":"fixed bottom-6 left-6","bottom-center":"fixed bottom-6 left-1/2 -translate-x-1/2",relative:"relative"}},defaultVariants:{variant:"solid",size:"md",position:"bottom-right"}}),PE=cva("transition-transform duration-200 [&>svg]:h-full [&>svg]:w-full",{variants:{size:{sm:"h-5 w-5",md:"h-6 w-6",lg:"h-8 w-8"}},defaultVariants:{size:"md"}}),Rc=W.forwardRef(({icon:e,label:t="Action button",extended:n,extendedLabel:r,actions:o,direction:a="up",showTooltip:s=true,closeIcon:i,animation:l="rotate",variant:c,size:d,position:m,className:f,onClick:p,disabled:g,...h},b)=>{let[v,R]=W.useState(false),w=o&&o.length>0,x=k=>{w&&R(!v),p?.(k);},C=k=>{k.onClick?.(),R(false);},y={up:{container:"flex-col-reverse bottom-full mb-3 gap-3",item:""},down:{container:"flex-col top-full mt-3 gap-3",item:""},left:{container:"flex-row-reverse right-full mr-3 gap-3",item:""},right:{container:"flex-row left-full ml-3 gap-3",item:""}},N=l==="rotate"&&v?"rotate-45":"",T=l==="scale"&&v?"scale-0":"scale-100";return jsxs("div",{className:u("relative z-50",m!=="relative"&&m&&ya({position:m})),children:[w&&v&&jsx("div",{className:u("absolute left-1/2 -translate-x-1/2 flex items-center",y[a].container),children:o.map((k,M)=>jsxs("div",{className:u("flex items-center gap-2 animate-in fade-in zoom-in duration-200",a==="up"||a==="down"?"flex-row":"flex-col"),style:{animationDelay:`${M*50}ms`},children:[s&&(a==="up"||a==="down")&&jsx("span",{className:"rounded-md bg-popover px-2 py-1 text-xs font-medium text-popover-foreground shadow-md whitespace-nowrap",children:k.label}),k.href?jsx("a",{href:k.href,className:u(ya({variant:k.variant||"flat",size:d==="lg"?"md":"sm",position:"relative"}),"[&>svg]:h-5 [&>svg]:w-5"),"aria-label":k.label,children:k.icon}):jsx("button",{type:"button",onClick:()=>C(k),className:u(ya({variant:k.variant||"flat",size:d==="lg"?"md":"sm",position:"relative"}),"[&>svg]:h-5 [&>svg]:w-5"),"aria-label":k.label,children:k.icon}),s&&(a==="left"||a==="right")&&jsx("span",{className:"rounded-md bg-popover px-2 py-1 text-xs font-medium text-popover-foreground shadow-md whitespace-nowrap",children:k.label})]},k.id))}),jsxs("button",{ref:b,type:"button",onClick:x,disabled:g,className:u(ya({variant:c,size:d,position:"relative"}),n&&"w-auto px-6 gap-2",f),"aria-label":t,"aria-expanded":w?v:void 0,...h,children:[v&&i?i:jsx("span",{className:u(PE({size:d}),N,T,"transition-all duration-200"),children:e||jsx(Plus,{})}),n&&r&&jsx("span",{className:"font-medium",children:r})]}),w&&v&&jsx("div",{className:"fixed inset-0 -z-10",onClick:()=>R(false)})]})});Rc.displayName="FloatingActionButton";var EE=Rc;var zx=cva("fixed bottom-0 left-0 right-0 z-50 flex items-center justify-around border-t bg-background safe-area-pb",{variants:{variant:{default:"border-border",elevated:"border-transparent shadow-[0_-4px_6px_-1px_rgba(0,0,0,0.1)]",filled:"border-transparent bg-primary text-primary-foreground"},size:{sm:"h-14",md:"h-16",lg:"h-20"}},defaultVariants:{variant:"default",size:"md"}}),Ix=cva("flex flex-1 flex-col items-center justify-center gap-1 transition-colors cursor-pointer",{variants:{variant:{default:"",elevated:"",filled:""}},defaultVariants:{variant:"default"}}),Ox=W.forwardRef(({className:e,variant:t,size:n,items:r,value:o,defaultValue:a,onValueChange:s,hideLabels:i=false,showActiveLabel:l=false,renderItem:c,...d},m)=>{let[f,p]=W.useState(a||r[0]?.key),g=o!==void 0,h=g?o:f,b=x=>{x.disabled||(g||p(x.key),s?.(x.key));},v=x=>t==="filled"?x?"text-primary-foreground":"text-primary-foreground/60 hover:text-primary-foreground/80":x?"text-primary":"text-muted-foreground hover:text-foreground",R=()=>{switch(n){case "sm":return "h-5 w-5";case "lg":return "h-7 w-7";default:return "h-6 w-6"}},w=()=>{switch(n){case "sm":return "text-[10px]";case "lg":return "text-sm";default:return "text-xs"}};return jsx("nav",{ref:m,className:u(zx({variant:t,size:n}),e),role:"navigation","aria-label":"Bottom navigation",...d,children:r.map(x=>{let C=h===x.key,y=!i&&(l?C:true),N=C&&x.activeIcon?x.activeIcon:x.icon;if(c)return jsx("div",{onClick:()=>b(x),className:u(Ix({variant:t}),x.disabled&&"opacity-50 cursor-not-allowed"),children:c(x,C)},x.key);let T=jsxs("div",{onClick:()=>!x.href&&b(x),className:u(Ix({variant:t}),v(C),x.disabled&&"opacity-50 cursor-not-allowed"),role:"button","aria-current":C?"page":void 0,"aria-disabled":x.disabled,tabIndex:x.disabled?-1:0,onKeyDown:k=>{(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),b(x));},children:[jsxs("div",{className:"relative",children:[jsx("span",{className:u(R(),"[&>svg]:h-full [&>svg]:w-full"),children:N}),x.badge!==void 0&&x.badge>0&&jsx("span",{className:"absolute -top-1 -right-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-red-500 px-1 text-[10px] font-medium text-white",children:x.badge>99?"99+":x.badge}),x.showDot&&jsx("span",{className:"absolute -top-0.5 -right-0.5 h-2 w-2 rounded-full bg-red-500"})]}),y&&x.label&&jsx("span",{className:u(w(),"font-medium truncate max-w-full px-1"),children:x.label})]},x.key);return x.href&&!x.disabled?jsx("a",{href:x.href,onClick:()=>b(x),className:u("flex flex-1 flex-col items-center justify-center gap-1 no-underline",v(C)),children:T},x.key):T})})});Ox.displayName="BottomNavigation";var SE="fixed inset-x-0 bottom-0 z-50 mt-24 flex h-fit max-h-[90vh] flex-col rounded-t-[20px] border-t border-border/40 dark:border-border/20 bg-background",Fx=cva("flex w-full items-center gap-3 px-4 py-3.5 text-left transition-colors focus-visible:outline-none focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"hover:bg-accent",destructive:"text-danger hover:bg-destructive/10"}},defaultVariants:{variant:"default"}}),Kx=W.forwardRef(({open:e,onOpenChange:t,trigger:n,title:r,description:o,items:a,cancelLabel:s="Cancel",onCancel:i,showCancel:l=true,children:c,closeOnSelect:d=true,onAction:m},f)=>{let p=g=>{g.isDisabled||(g.onSelect?.(),m?.(g.key),d&&t?.(false));};return jsxs(Drawer.Root,{open:e,onOpenChange:t,children:[n&&jsx(Drawer.Trigger,{asChild:true,children:n}),jsxs(Drawer.Portal,{children:[jsx(Drawer.Overlay,{className:"fixed inset-0 z-50 bg-black/40"}),jsxs(Drawer.Content,{ref:f,className:SE,children:[jsx("div",{className:"mx-auto mt-4 h-1.5 w-12 flex-shrink-0 rounded-full bg-muted"}),(r||o)&&jsxs("div",{className:"px-4 py-3 text-center",children:[r&&jsx(Drawer.Title,{className:"text-base font-semibold",children:r}),o&&jsx(Drawer.Description,{className:"mt-1 text-sm text-muted-foreground",children:o})]}),jsx("div",{className:"flex-1 overflow-y-auto",children:c||jsx("div",{className:"divide-y divide-border/40 dark:divide-border/20",children:a?.map(g=>jsxs("button",{type:"button",disabled:g.isDisabled,onClick:()=>p(g),className:u(Fx({variant:g.isDestructive?"destructive":"default"})),children:[g.icon&&jsx("span",{className:"h-5 w-5 flex-shrink-0 [&>svg]:h-full [&>svg]:w-full",children:g.icon}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"font-medium",children:g.label}),g.description&&jsx("div",{className:"text-sm text-muted-foreground truncate",children:g.description})]})]},g.key))})}),l&&jsx("div",{className:"border-t border-border/40 dark:border-border/20 p-2 pb-safe",children:jsx(Drawer.Close,{asChild:true,children:jsx("button",{type:"button",onClick:i,className:"w-full rounded-lg bg-muted py-3.5 text-center font-semibold transition-colors hover:bg-muted/80",children:s})})})]})]})]})});Kx.displayName="ActionSheet";var $x=cva("relative overflow-hidden touch-pan-y",{variants:{variant:{default:"",card:"rounded-lg border bg-card"}},defaultVariants:{variant:"default"}}),Cc=cva("flex h-full items-center justify-center px-4 text-white font-medium transition-opacity",{variants:{variant:{primary:"bg-primary",secondary:"bg-secondary text-secondary-foreground",success:"bg-green-500",warning:"bg-yellow-500",danger:"bg-red-500",info:"bg-blue-500"},size:{sm:"min-w-16",md:"min-w-20",lg:"min-w-24"}},defaultVariants:{variant:"primary",size:"md"}}),Ux=W.forwardRef(({className:e,variant:t,leftActions:n=[],rightActions:r=[],actionSize:o="md",threshold:a=.3,onSwipeEnd:s,disabled:i=false,fullSwipeAction:l,children:c,...d},m)=>{let f=W.useRef(null),[p,g]=W.useState(0),[h,b]=W.useState(false),v=W.useRef(0),R=W.useRef(0),w=n.length*(o==="sm"?64:o==="lg"?96:80),x=r.length*(o==="sm"?64:o==="lg"?96:80),C=M=>{i||(b(true),v.current=M.touches[0].clientX,R.current=p);},y=M=>{if(!h||i)return;let E=M.touches[0].clientX-v.current,D=R.current+E;(D>0&&n.length===0||D<0&&r.length===0)&&(D=0),D>w?D=w+(D-w)*.3:D<-x&&(D=-x+(D+x)*.3),g(D);},N=()=>{if(!h)return;b(false);let M=f.current?.offsetWidth||0,P=Math.abs(p)/M;if(l&&P>.6){l==="right"&&p>0&&n[0]?(n[0].onAction?.(),s?.("right",n[0].key)):l==="left"&&p<0&&r[0]&&(r[0].onAction?.(),s?.("left",r[0].key)),g(0);return}p>w*a&&n.length>0?(g(w),s?.("right")):p<-x*a&&r.length>0?(g(-x),s?.("left")):g(0);},T=(M,P)=>{M.onAction?.(),s?.(P,M.key),g(0);},k=()=>{g(0);};return jsxs("div",{ref:m,className:u($x({variant:t,className:e})),...d,children:[n.length>0&&p>0&&jsx("div",{className:"absolute left-0 top-0 bottom-0 flex",style:{width:w},children:n.map(M=>jsxs("button",{type:"button",onClick:()=>T(M,"right"),className:u(Cc({variant:M.variant,size:o})),style:{opacity:Math.min(1,p/w)},children:[M.icon&&jsx("span",{className:"h-5 w-5 [&>svg]:h-full [&>svg]:w-full",children:M.icon}),!M.icon&&M.label]},M.key))}),r.length>0&&p<0&&jsx("div",{className:"absolute right-0 top-0 bottom-0 flex",style:{width:x},children:r.map(M=>jsxs("button",{type:"button",onClick:()=>T(M,"left"),className:u(Cc({variant:M.variant,size:o})),style:{opacity:Math.min(1,Math.abs(p)/x)},children:[M.icon&&jsx("span",{className:"h-5 w-5 [&>svg]:h-full [&>svg]:w-full",children:M.icon}),!M.icon&&M.label]},M.key))}),jsx("div",{ref:f,className:u("relative bg-background",h?"":"transition-transform duration-200"),style:{transform:`translateX(${p}px)`},onTouchStart:C,onTouchMove:y,onTouchEnd:N,onClick:p!==0?k:void 0,children:c})]})});Ux.displayName="SwipeActions";var _x=cva("relative overflow-hidden",{variants:{variant:{default:"",contained:"h-full"}},defaultVariants:{variant:"default"}}),IE=cva("absolute left-1/2 -translate-x-1/2 flex items-center justify-center transition-all duration-200",{variants:{size:{sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12"}},defaultVariants:{size:"md"}}),Yx=W.forwardRef(({className:e,variant:t,onRefresh:n,pullThreshold:r=80,maxPullDistance:o=120,loadingIndicator:a,pullIndicator:s,indicatorSize:i="md",disabled:l=false,pullText:c="Pull to refresh",releaseText:d="Release to refresh",refreshingText:m="Refreshing...",children:f,...p},g)=>{let h=W.useRef(null),[b,v]=W.useState(0),[R,w]=W.useState("idle"),x=W.useRef(0),C=W.useRef(false),y=()=>l||R==="refreshing"?false:(h.current?.scrollTop??window.scrollY)<=0,N=E=>{y()&&(x.current=E.touches[0].clientY,C.current=true);},T=E=>{if(!C.current||!y())return;let H=E.touches[0].clientY-x.current;if(H<0){v(0),w("idle");return}let S=Math.min(H*.5,o);v(S),w(S>=r?"ready":"pulling");},k=async()=>{if(C.current)if(C.current=false,R==="ready"){w("refreshing"),v(r*.6);try{await n();}finally{w("idle"),v(0);}}else w("idle"),v(0);},M={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"}[i],P=()=>{if(R==="refreshing")return a||jsxs("div",{className:"flex flex-col items-center gap-1",children:[jsx(Loader2,{className:u(M,"animate-spin text-primary")}),jsx("span",{className:"text-xs text-muted-foreground",children:m})]});let E=Math.min(b/r*180,180);return s||jsxs("div",{className:"flex flex-col items-center gap-1",children:[jsx(ArrowDown,{className:u(M,"text-muted-foreground transition-transform"),style:{transform:`rotate(${E}deg)`}}),jsx("span",{className:"text-xs text-muted-foreground",children:R==="ready"?d:c})]})};return jsxs("div",{ref:g,className:u(_x({variant:t,className:e})),...p,children:[jsx("div",{className:u(IE({size:i}),"z-10",R==="idle"&&b===0&&"opacity-0"),style:{top:Math.max(b-60,-60),opacity:Math.min(b/(r*.5),1)},children:P()}),jsx("div",{ref:h,className:u("transition-transform duration-200",R==="refreshing"&&"ease-out"),style:{transform:`translateY(${b}px)`,transition:C.current?"none":void 0},onTouchStart:N,onTouchMove:T,onTouchEnd:k,children:f})]})});Yx.displayName="PullToRefresh";var Ur=(e,t,n)=>({duration:e,delay:t,ease:n||[.4,0,.2,1]}),VE={hidden:e=>({opacity:e}),visible:{opacity:1},exit:e=>({opacity:e})},jx=W.forwardRef(({show:e=true,children:t,duration:n=.3,delay:r=0,ease:o,className:a,unmountOnExit:s=true,initialOpacity:i=0,onAnimationStart:l,onAnimationComplete:c},d)=>{let m=jsx(motion.div,{ref:d,initial:"hidden",animate:e?"visible":"hidden",exit:s?"exit":void 0,variants:VE,custom:i,transition:Ur(n,r,o),className:u(a),onAnimationStart:l,onAnimationComplete:c,children:t});return s?jsx(AnimatePresence,{children:e&&m}):m});jx.displayName="Fade";var AE=(e,t)=>{let n=typeof t=="number"?`${t}px`:t,r={up:{y:n},down:{y:`-${n}`},left:{x:n},right:{x:`-${n}`}};return {hidden:{opacity:0,...r[e]},visible:{opacity:1,x:0,y:0},exit:{opacity:0,...r[e]}}},Xx=W.forwardRef(({show:e=true,children:t,duration:n=.3,delay:r=0,ease:o,className:a,unmountOnExit:s=true,direction:i="up",offset:l=20,onAnimationStart:c,onAnimationComplete:d},m)=>{let f=W.useMemo(()=>AE(i,l),[i,l]),p=jsx(motion.div,{ref:m,initial:"hidden",animate:e?"visible":"hidden",exit:s?"exit":void 0,variants:f,transition:Ur(n,r,o),className:u(a),onAnimationStart:c,onAnimationComplete:d,children:t});return s?jsx(AnimatePresence,{children:e&&p}):p});Xx.displayName="Slide";var zE={center:"center center",top:"center top",bottom:"center bottom",left:"left center",right:"right center","top-left":"left top","top-right":"right top","bottom-left":"left bottom","bottom-right":"right bottom"},OE={hidden:e=>({opacity:0,scale:e}),visible:{opacity:1,scale:1},exit:e=>({opacity:0,scale:e})},qx=W.forwardRef(({show:e=true,children:t,duration:n=.3,delay:r=0,ease:o,className:a,unmountOnExit:s=true,initialScale:i=.9,origin:l="center",onAnimationStart:c,onAnimationComplete:d},m)=>{let f=jsx(motion.div,{ref:m,initial:"hidden",animate:e?"visible":"hidden",exit:s?"exit":void 0,variants:OE,custom:i,transition:Ur(n,r,o),className:u(a),style:{transformOrigin:zE[l]},onAnimationStart:c,onAnimationComplete:d,children:t});return s?jsx(AnimatePresence,{children:e&&f}):f});qx.displayName="Scale";var Zx=W.forwardRef(({show:e=true,children:t,duration:n=.3,delay:r=0,ease:o,className:a,horizontal:s=false,startingSize:i=0,animateOpacity:l=true,onAnimationStart:c,onAnimationComplete:d},m)=>{let f=s?"width":"height",p={hidden:{[f]:i,opacity:l?0:1},visible:{[f]:"auto",opacity:1},exit:{[f]:i,opacity:l?0:1}};return jsx(AnimatePresence,{initial:false,children:e&&jsx(motion.div,{ref:m,initial:"hidden",animate:"visible",exit:"exit",variants:p,transition:Ur(n,r,o),className:u("overflow-hidden",a),onAnimationStart:c,onAnimationComplete:d,children:t})})});Zx.displayName="Collapse";var Qx=W.forwardRef(({show:e=true,children:t,duration:n=.4,delay:r=0,ease:o,className:a,initialWidth:s=0,initialHeight:i=0,animateOpacity:l=true,onAnimationStart:c,onAnimationComplete:d},m)=>{let f={hidden:{width:s,height:i,opacity:l?0:1},visible:{width:"auto",height:"auto",opacity:1},exit:{width:s,height:i,opacity:l?0:1}};return jsx(AnimatePresence,{initial:false,children:e&&jsx(motion.div,{ref:m,initial:"hidden",animate:"visible",exit:"exit",variants:f,transition:Ur(n,r,o),className:u("overflow-hidden",a),onAnimationStart:c,onAnimationComplete:d,children:t})})});Qx.displayName="Expand";var Jx=W.forwardRef(({show:e=true,children:t,duration:n=.3,delay:r=0,ease:o,className:a,unmountOnExit:s=true,initialRotation:i=-180,finalRotation:l=0,onAnimationStart:c,onAnimationComplete:d},m)=>{let f={hidden:{opacity:0,rotate:i},visible:{opacity:1,rotate:l},exit:{opacity:0,rotate:i}},p=jsx(motion.div,{ref:m,initial:"hidden",animate:e?"visible":"hidden",exit:s?"exit":void 0,variants:f,transition:Ur(n,r,o),className:u(a),onAnimationStart:c,onAnimationComplete:d,children:t});return s?jsx(AnimatePresence,{children:e&&p}):p});Jx.displayName="Rotate";var ey=W.forwardRef(({front:e,back:t,direction:n="horizontal",flipped:r=false,duration:o=.6,delay:a=0,ease:s,className:i,onAnimationStart:l,onAnimationComplete:c},d)=>{let m=n==="horizontal"?"rotateY":"rotateX";return jsx("div",{ref:d,className:u("relative",i),style:{perspective:1e3},children:jsxs(motion.div,{animate:{[m]:r?180:0},transition:Ur(o,a,s),style:{transformStyle:"preserve-3d"},onAnimationStart:l,onAnimationComplete:c,children:[jsx("div",{className:"absolute inset-0",style:{backfaceVisibility:"hidden"},children:e}),jsx("div",{className:"absolute inset-0",style:{backfaceVisibility:"hidden",transform:`${m}(180deg)`},children:t})]})})});ey.displayName="Flip";var ty=W.forwardRef(({color:e="currentColor",duration:t=.6,children:n,className:r,disabled:o=false},a)=>{let[s,i]=W.useState([]),l=W.useRef(null),c=m=>{if(o)return;let f=l.current;if(!f)return;let p=f.getBoundingClientRect(),g=m.clientX-p.left,h=m.clientY-p.top,b=Math.max(p.width,p.height)*2,v={id:Date.now(),x:g,y:h,size:b};i(R=>[...R,v]);},d=m=>{i(f=>f.filter(p=>p.id!==m));};return jsxs("div",{ref:a,className:u("relative overflow-hidden rounded-[inherit]",r),onClick:c,children:[jsx("div",{ref:l,className:"relative z-0",children:n}),jsx(AnimatePresence,{children:s.map(m=>jsx(motion.span,{initial:{scale:0,opacity:.35},animate:{scale:1,opacity:0},exit:{opacity:0},transition:{duration:t,ease:"easeOut"},onAnimationComplete:()=>d(m.id),className:"pointer-events-none absolute rounded-full",style:{left:m.x-m.size/2,top:m.y-m.size/2,width:m.size,height:m.size,backgroundColor:e}},m.id))})]})});ty.displayName="Ripple";var ny=W.forwardRef(({children:e,animate:t=true,height:n=10,duration:r=.5,count:o=0,className:a,triggerOnHover:s=false},i)=>{let[l,c]=W.useState(false),d=s?l:t,m={idle:{y:0},bounce:{y:[0,-n,0],transition:{duration:r,ease:"easeInOut",repeat:o===0?1/0:o-1,repeatType:"loop"}}};return jsx(motion.div,{ref:i,variants:m,initial:"idle",animate:d?"bounce":"idle",className:u(a),onMouseEnter:()=>s&&c(true),onMouseLeave:()=>s&&c(false),children:e})});ny.displayName="Bounce";var KE={subtle:[0,-2,2,-2,2,-1,1,0],normal:[0,-5,5,-5,5,-3,3,0],strong:[0,-10,10,-10,10,-5,5,0]},ry=W.forwardRef(({children:e,animate:t=true,intensity:n="normal",duration:r=.5,count:o=1,className:a,triggerOnHover:s=false},i)=>{let[l,c]=W.useState(false),d=s?l:t,m={idle:{x:0},shake:{x:KE[n],transition:{duration:r,ease:"easeInOut",repeat:o-1}}};return jsx(motion.div,{ref:i,variants:m,initial:"idle",animate:d?"shake":"idle",className:u(a),onMouseEnter:()=>s&&c(true),onMouseLeave:()=>s&&c(false),children:e})});ry.displayName="Shake";var GE={slow:"animate-[pulse_3s_ease-in-out_infinite]",normal:"animate-[pulse_2s_ease-in-out_infinite]",fast:"animate-[pulse_1s_ease-in-out_infinite]"},oy=W.forwardRef(({children:e,animate:t=true,speed:n="normal",className:r},o)=>jsx("div",{ref:o,className:u(t&&GE[n],r),children:e}));oy.displayName="Pulse";var ay=W.forwardRef(({children:e,animate:t=true,angle:n=10,duration:r=.3,count:o=0,className:a,triggerOnHover:s=false},i)=>{let[l,c]=W.useState(false),d=s?l:t,m={idle:{rotate:0},wiggle:{rotate:[0,-n,n,-n,n,0],transition:{duration:r,ease:"easeInOut",repeat:o===0?1/0:o-1,repeatType:"loop"}}};return jsx(motion.div,{ref:i,variants:m,initial:"idle",animate:d?"wiggle":"idle",className:u(a),onMouseEnter:()=>s&&c(true),onMouseLeave:()=>s&&c(false),children:e})});ay.displayName="Wiggle";var sy=W.forwardRef(({children:e,animate:t=false,scale:n=1.2,duration:r=.2,className:o,triggerOnHover:a=false,triggerOnClick:s=false},i)=>{let[l,c]=W.useState(false),d=t||l,m={type:"spring",stiffness:400,damping:17,duration:r},f=()=>{s&&(c(true),setTimeout(()=>c(false),r*1e3));};return jsx(motion.div,{ref:i,animate:{scale:d?n:1},transition:m,className:u(o),onMouseEnter:()=>a&&c(true),onMouseLeave:()=>a&&c(false),onClick:f,children:e})});sy.displayName="Pop";var jE=(e,t,n,r)=>{let o=e.toFixed(t),[a,s]=o.split("."),i=a.replace(/\B(?=(\d{3})+(?!\d))/g,n);return s?`${i}${r}${s}`:i},iy=W.forwardRef(({value:e,from:t=0,duration:n=2,decimals:r=0,prefix:o="",suffix:a="",separator:s=",",decimalSeparator:i=".",animateOnView:l=true,delay:c=0,className:d,onComplete:m},f)=>{let p=W.useRef(null),g=useInView(p,{once:true}),[h,b]=W.useState(!l);W.useEffect(()=>{if(l&&g){let w=setTimeout(()=>b(true),c*1e3);return ()=>clearTimeout(w)}},[l,g,c]);let v=useMotionValue(t),R=useTransform(v,w=>jE(w,r,s,i));return W.useEffect(()=>{if(h){let w=animate(v,e,{duration:n,ease:"easeOut",onComplete:m});return ()=>w.stop()}},[h,e,n,v,m]),jsx("span",{ref:p,className:u(d),children:jsxs("span",{ref:f,children:[o,jsx(motion.span,{children:R}),a]})})});iy.displayName="Counter";var ly=W.forwardRef(({text:e,speed:t=50,delay:n=0,pauseBetween:r=1500,cursor:o=true,cursorChar:a="|",loop:s=false,deleteSpeed:i=30,animateOnView:l=true,className:c,cursorClassName:d,onComplete:m},f)=>{let p=Array.isArray(e)?e:[e],[g,h]=W.useState(""),[b,v]=W.useState(0),[R,w]=W.useState(false),[x,C]=W.useState(false),y=W.useRef(null),N=useInView(y,{once:true}),[T,k]=W.useState(!l);return W.useEffect(()=>{if(l&&N){let M=setTimeout(()=>k(true),n*1e3);return ()=>clearTimeout(M)}},[l,N,n]),W.useEffect(()=>{if(!T||x)return;let M=p[b],P;return R?g.length>0?P=setTimeout(()=>{h(g.slice(0,-1));},i):(w(false),v(E=>(E+1)%p.length)):g.length<M.length?P=setTimeout(()=>{h(M.slice(0,g.length+1));},t):b<p.length-1||s?P=setTimeout(()=>{w(true);},r):(C(true),m?.()),()=>clearTimeout(P)},[T,g,b,R,x,p,t,i,r,s,m]),jsxs("span",{ref:y,className:u(c),children:[jsx("span",{ref:f,children:g}),o&&jsx(motion.span,{animate:{opacity:[1,0]},transition:{duration:.8,repeat:1/0,repeatType:"reverse"},className:u("ml-0.5",d),children:a})]})});ly.displayName="Typewriter";var cy=W.forwardRef(({children:e,direction:t="up",stagger:n=.05,duration:r=.5,delay:o=0,splitBy:a="word",animateOnView:s=true,className:i},l)=>{let c=W.useRef(null),d=useInView(c,{once:true,amount:.5}),m=s?d:true,f=typeof e=="string"?e:"",p=a==="word"?f.split(" "):f.split(""),g={up:{y:20},down:{y:-20},left:{x:20},right:{x:-20}},h={hidden:{},visible:{transition:{staggerChildren:n,delayChildren:o}}},b={hidden:{opacity:0,...g[t]},visible:{opacity:1,x:0,y:0,transition:{duration:r,ease:"easeInOut"}}};return jsx(motion.div,{ref:l,className:u("inline-flex flex-wrap",i),variants:h,initial:"hidden",animate:m?"visible":"hidden",children:jsx("span",{ref:c,children:p.map((v,R)=>jsxs(motion.span,{variants:b,className:"inline-block",children:[v,a==="word"&&R<p.length-1&&"\xA0"]},R))})})});cy.displayName="TextReveal";var dy=W.forwardRef(({words:e,duration:t=2,animation:n="slide",animationDuration:r=.5,className:o,loop:a=true},s)=>{let[i,l]=W.useState(0);W.useEffect(()=>{if(!a&&i===e.length-1)return;let d=setInterval(()=>{l(m=>(m+1)%e.length);},t*1e3);return ()=>clearInterval(d)},[e.length,t,a,i]);let c=()=>{switch(n){case "fade":return {initial:{opacity:0},animate:{opacity:1},exit:{opacity:0}};case "slide":return {initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20}};case "scale":return {initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},exit:{opacity:0,scale:1.2}};case "blur":return {initial:{opacity:0,filter:"blur(10px)"},animate:{opacity:1,filter:"blur(0px)"},exit:{opacity:0,filter:"blur(10px)"}}}};return jsx("span",{ref:s,className:u("relative inline-block",o),children:jsx(AnimatePresence,{mode:"wait",children:jsx(motion.span,{variants:c(),initial:"initial",animate:"animate",exit:"exit",transition:{duration:r},className:"inline-block",children:e[i]},e[i])})})});dy.displayName="WordRotate";var fy=W.forwardRef(({children:e,direction:t="up",distance:n=50,duration:r=.6,delay:o=0,once:a=true,threshold:s=.1,className:i,scale:l,rotate:c,blur:d,ease:m=[.4,0,.2,1]},f)=>{let p=W.useRef(null),g=useInView(p,{once:a,amount:s}),b={up:{x:0,y:n},down:{x:0,y:-n},left:{x:n,y:0},right:{x:-n,y:0},none:{x:0,y:0}}[t],v={hidden:{opacity:0,x:b.x,y:b.y,scale:l??1,rotate:c??0,filter:d?`blur(${d}px)`:"blur(0px)"},visible:{opacity:1,x:0,y:0,scale:1,rotate:0,filter:"blur(0px)",transition:{duration:r,delay:o,ease:m}}};return jsx("div",{ref:p,children:jsx(motion.div,{ref:f,variants:v,initial:"hidden",animate:g?"visible":"hidden",className:u(i),children:e})})});fy.displayName="ScrollReveal";var gy=W.forwardRef(({position:e="top",size:t=4,color:n="hsl(var(--primary))",backgroundColor:r="transparent",zIndex:o=50,className:a,container:s,showPercentage:i=false,useSpring:l=true},c)=>{let{scrollYProgress:d}=useScroll({container:s}),m=useSpring(d,{stiffness:100,damping:30,restDelta:.001}),f=l?m:d,p=e==="top"||e==="bottom",g={top:{top:0,left:0,right:0,height:t},bottom:{bottom:0,left:0,right:0,height:t},left:{top:0,left:0,bottom:0,width:t},right:{top:0,right:0,bottom:0,width:t}},h=p?"scaleX":"scaleY",b=p?"left":"top";return jsxs("div",{ref:c,className:u("fixed",a),style:{...g[e],zIndex:o,backgroundColor:r},children:[jsx(motion.div,{className:"h-full w-full",style:{[h]:f,transformOrigin:b,backgroundColor:n}}),i&&jsx(qE,{progress:f,position:e})]})});gy.displayName="ScrollProgress";var qE=({progress:e,position:t})=>{let n=useTransform(e,s=>Math.round(s*100)),[r,o]=W.useState(0);return W.useEffect(()=>{let s=n.on("change",o);return ()=>s()},[n]),jsxs("span",{className:u("fixed rounded bg-background/80 px-2 py-1 text-xs font-medium backdrop-blur-sm",{top:"top-2 right-4",bottom:"bottom-2 right-4",left:"top-4 left-2",right:"top-4 right-2"}[t]),children:[r,"%"]})},by=W.forwardRef(({children:e,speed:t=.5,direction:n="vertical",className:r,container:o},a)=>{let s=W.useRef(null),{scrollYProgress:i}=useScroll({target:s,container:o,offset:["start end","end start"]}),l=[-100*t,100*t],c=useTransform(i,[0,1],l),d=useSpring(c,{stiffness:100,damping:30}),m=n==="horizontal"?d:0,f=n==="vertical"?d:0;return jsx("div",{ref:s,className:u("overflow-hidden",r),children:jsx(motion.div,{ref:a,style:{x:m,y:f},children:e})})});by.displayName="Parallax";var xy=W.forwardRef(({children:e,width:t,height:n,duration:r=1.5,direction:o="right",baseColor:a="hsl(var(--muted))",highlightColor:s="hsl(var(--muted-foreground) / 0.1)",borderRadius:i,className:l,active:c=true},d)=>{let m={left:"to left",right:"to right",top:"to top",bottom:"to bottom"},f={left:"shimmer-left",right:"shimmer-right",top:"shimmer-top",bottom:"shimmer-bottom"};return jsxs("div",{ref:d,className:u("relative overflow-hidden",l),style:{width:t,height:n,borderRadius:i,backgroundColor:a},children:[e,c&&jsx("div",{className:"absolute inset-0",style:{background:`linear-gradient(${m[o]}, transparent, ${s}, transparent)`,animation:`${f[o]} ${r}s infinite`}}),jsx("style",{children:`
55
+ `,document.body.appendChild(le),j.dataTransfer.setDragImage(le,20,15),setTimeout(()=>{document.body.removeChild(le);},0),h(e),C?.({event:j,node:e});},bt=j=>{if(j.preventDefault(),j.stopPropagation(),!g||g.key===e.key||se)return;let Se=j.currentTarget.getBoundingClientRect(),le=j.clientY-Se.top,Ge=Se.height,$e;le<Ge*.25?$e=-1:le>Ge*.75?$e=1:$e=0,!(x&&!x({dropNode:e,dropPosition:$e,dragNode:g}))&&(R(e.key,$e),y?.({event:j,node:e}));},br=j=>{j.preventDefault(),j.stopPropagation(),!(!g||g.key===e.key)&&N?.({event:j,node:e,expandedKeys:K()});},Bn=j=>{j.stopPropagation(),T?.({event:j,node:e});},Bo=j=>{j.preventDefault(),j.stopPropagation(),!(!g||g.key===e.key||se)&&(v!==null&&w(e,v),h(null),R(null,null));},Ft=j=>{h(null),R(null,null),k?.({event:j,node:e});},Ea=j=>{se||Ce&&i(e.key,e,j);},vr=j=>{j.stopPropagation(),!se&&!q&&a(e.key,e);},$=W.useMemo(()=>{if(!Y||v===null)return "";switch(v){case -1:return "before:absolute before:left-0 before:right-0 before:top-0 before:h-0.5 before:bg-foreground";case 1:return "after:absolute after:left-0 after:right-0 after:bottom-0 after:h-0.5 after:bg-foreground";case 0:return "ring-2 ring-foreground ring-inset";default:return ""}},[Y,v]),re=[...r,n];return jsxs("div",{className:"relative",children:[M&&t>0&&jsxs(Fragment,{children:[r.map((j,Se)=>!j&&jsx("div",{className:"absolute border-l border-border",style:{left:`calc(${Se} * var(--tree-indent) + 12px)`,top:0,bottom:0}},Se)),jsx("div",{className:"absolute border-l border-border",style:{left:`calc(${t-1} * var(--tree-indent) + 12px)`,top:0,height:n?"calc(var(--tree-item-height) / 2)":"100%"}}),jsx("div",{className:"absolute border-t border-border",style:{left:`calc(${t-1} * var(--tree-indent) + 12px)`,top:"calc(var(--tree-item-height) / 2)",width:"calc(var(--tree-indent) - 4px)"}})]}),jsxs("div",{role:"treeitem","aria-expanded":q?void 0:ne,"aria-selected":Ce?G:void 0,"aria-disabled":se,draggable:ct,onDragStart:On,onDragOver:bt,onDragEnter:br,onDragLeave:Bn,onDrop:Bo,onDragEnd:Ft,onClick:Ea,className:u("relative",_g({size:I,isSelected:G,isDragging:A,isDisabled:se,isHoverable:Ce&&!se}),$,z&&"flex-1"),style:{paddingLeft:`calc(${t} * var(--tree-indent) + 8px)`},children:[ct&&E&&ee!==false&&jsx("div",{className:"flex-shrink-0 text-muted-foreground cursor-grab active:cursor-grabbing",children:ee}),jsx("button",{type:"button",onClick:vr,className:u("flex-shrink-0 p-0.5 rounded hover:bg-muted/80 transition-transform",q&&"invisible"),tabIndex:-1,children:jsx(ChevronRight,{className:u("h-4 w-4 transition-transform duration-200",ne&&"rotate-90")})}),U&&jsx(VT,{checked:O,indeterminate:_,disabled:se,onClick:j=>m(e.key,e,j)}),P&&tt&&jsx("div",{className:"flex-shrink-0 text-muted-foreground ml-1",children:tt}),jsx("div",{className:u("flex-1 min-w-0 truncate ml-1",z&&"flex-none"),children:e.label})]}),B&&ne&&jsx("div",{role:"group",children:e.children.map((j,Se)=>jsx(jg,{node:j,level:t+1,isLast:Se===e.children.length-1,parentIsLastPath:re},j.key))})]})},AT=e=>{let t=[],n=r=>{for(let o of r)t.push(o.key),o.children&&n(o.children);};return n(e),t},zT=e=>{let t=[],n=r=>{for(let o of r)t.push(o.key),o.children&&n(o.children);};return e.children&&n(e.children),t},Xg=(e,t)=>{if(!e.children)return false;for(let n of e.children)if(n.key===t||Xg(n,t))return true;return false},qg=W.forwardRef(({className:e,variant:t,size:n,data:r,draggable:o=false,allowDrop:a,expandedKeys:s,defaultExpandedKeys:i=[],defaultExpandAll:l=false,onExpand:c,selectable:d=true,multiple:m=false,selectedKeys:f,defaultSelectedKeys:p=[],onSelect:g,checkable:h=false,checkStrictly:b=false,checkedKeys:v,defaultCheckedKeys:R=[],onCheck:w,showLine:x=false,showIcon:C=false,showHandle:y=true,dragIcon:N,icon:T,leafIcon:k=jsx(File,{className:"h-4 w-4"}),folderIcon:M=jsx(Folder,{className:"h-4 w-4"}),folderOpenIcon:P=jsx(FolderOpen,{className:"h-4 w-4"}),onDragStart:E,onDragEnter:D,onDragOver:H,onDragLeave:L,onDragEnd:S,onDrop:V,blockNode:z=false,disabled:F=false,...I},K)=>{let B=W.useCallback(()=>l?new Set(AT(r)):new Set(i),[l,i,r]),[q,ne]=W.useState(B),G=s!==void 0,O=G?new Set(s):q,_=W.useCallback((pe,We)=>{let Kt=new Set(O),Ve=!Kt.has(pe);Ve?Kt.add(pe):Kt.delete(pe),G||ne(Kt),c?.(Array.from(Kt),{expanded:Ve,node:We});},[O,G,c]),[A,Y]=W.useState(new Set(p)),se=f!==void 0,Ce=se?new Set(f):A,U=W.useCallback((pe,We,Kt)=>{let Ve=new Set(Ce),gn=!Ve.has(pe);m?gn?Ve.add(pe):Ve.delete(pe):(Ve.clear(),gn&&Ve.add(pe)),se||Y(Ve);let Yr=[],Fo=La=>{for(let jr of La)Ve.has(jr.key)&&Yr.push(jr),jr.children&&Fo(jr.children);};Fo(r),g?.(Array.from(Ve),{selected:gn,selectedNodes:Yr,node:We,event:Kt});},[Ce,m,se,g,r]),[ct,ee]=W.useState(new Set(R)),[tt,On]=W.useState(new Set),bt=v!==void 0,br=bt?new Set(Array.isArray(v)?v:v.checked):ct,Bn=bt&&!Array.isArray(v)?new Set(v.halfChecked):tt,Bo=W.useCallback((pe,We,Kt)=>{let Ve=new Set(br),gn=new Set(Bn),Yr=!Ve.has(pe);if(Yr?(Ve.add(pe),gn.delete(pe)):Ve.delete(pe),!b&&We.children){let Ri=zT(We);for(let Kn of Ri)Yr?(Ve.add(Kn),gn.delete(Kn)):Ve.delete(Kn);}bt||(ee(Ve),On(gn));let Fo=[],La=Ri=>{for(let Kn of Ri)Ve.has(Kn.key)&&Fo.push(Kn),Kn.children&&La(Kn.children);};La(r);let jr=b?{checked:Array.from(Ve),halfChecked:Array.from(gn)}:Array.from(Ve);w?.(jr,{checked:Yr,checkedNodes:Fo,node:We,event:Kt,halfCheckedKeys:Array.from(gn)});},[br,Bn,b,bt,w,r]),[Ft,Ea]=W.useState(null),[vr,$]=W.useState(null),[re,j]=W.useState(null),Se=W.useCallback((pe,We)=>{$(pe),j(We);},[]),le=W.useCallback((pe,We)=>{!Ft||!V||We===0&&Xg(Ft,pe.key)||V({event:{},node:pe,dragNode:Ft,dropPosition:We,dropToGap:We!==0});},[Ft,V]),Ge=W.useCallback(()=>Array.from(O),[O]),$e={expandedKeys:O,toggleExpand:_,selectedKeys:Ce,handleSelect:U,selectable:d,multiple:m,checkedKeys:br,halfCheckedKeys:Bn,handleCheck:Bo,checkable:h,checkStrictly:b,draggable:o,draggedNode:Ft,setDraggedNode:Ea,dragOverKey:vr,dragOverPosition:re,setDragOver:Se,handleDrop:le,allowDrop:a,onDragStart:E,onDragEnter:D,onDragOver:H,onDragLeave:L,onDragEnd:S,showLine:x,showIcon:C,showHandle:y,dragIcon:N,icon:T,leafIcon:k,folderIcon:M,folderOpenIcon:P,blockNode:z,disabled:F,size:n,data:r,getAllKeys:Ge},Fn=pe=>{let We=pe.relatedTarget,Kt=pe.currentTarget;(!We||!Kt.contains(We))&&Se(null,null);};return jsx(Yg.Provider,{value:$e,children:jsx("div",{ref:K,role:"tree","aria-multiselectable":m||h,className:u(Wg({variant:t,size:n,className:e})),onDragLeave:Fn,...I,children:r.map((pe,We)=>jsx(jg,{node:pe,level:0,isLast:We===r.length-1},pe.key))})})});qg.displayName="Tree";var Qg=cva("flex rounded-md border border-input bg-background text-sm placeholder:text-muted-foreground focus:outline-none transition-colors disabled:cursor-not-allowed disabled:opacity-50",{variants:{size:{sm:"h-8 px-2 text-xs",md:"h-10 px-3 text-sm",lg:"h-12 px-4 text-base"},fullWidth:{true:"w-full",false:"w-fit min-w-48"}},defaultVariants:{size:"md",fullWidth:false}}),$T=({text:e,query:t})=>{if(!t)return jsx(Fragment,{children:e});let n=new RegExp(`(${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi"),r=e.split(n);return jsx(Fragment,{children:r.map((o,a)=>n.test(o)?jsx("mark",{className:"bg-primary/20 text-foreground rounded-sm",children:o},a):jsx("span",{children:o},a))})},UT=(e,t)=>{let[n,r]=W.useState(e);return W.useEffect(()=>{let o=setTimeout(()=>{r(e);},t);return ()=>{clearTimeout(o);}},[e,t]),n},Jg=W.forwardRef(({className:e,size:t,value:n,defaultValue:r="",onChange:o,onSelect:a,options:s=[],loadOptions:i,debounceMs:l=300,minChars:c=0,placeholder:d="Type to search...",emptyText:m="No results found.",loadingText:f="Loading...",clearable:p=false,allowCustomValue:g=true,maxHeight:h=200,highlightMatch:b=true,fullWidth:v=false,disabled:R,...w},x)=>{let[C,y]=W.useState(false),[N,T]=W.useState(r),[k,M]=W.useState([]),[P,E]=W.useState(false),[D,H]=W.useState(false),[L,S]=W.useState(0),V=W.useRef(null),z=W.useRef(null),F=n!==void 0?n:N,I=UT(F,l);W.useEffect(()=>{let U=z.current;if(!U)return;let ct=()=>{S(U.offsetWidth);};ct();let ee=new ResizeObserver(ct);return ee.observe(U),()=>{ee.disconnect();}},[]),W.useImperativeHandle(x,()=>V.current);let K=i?k:s,B=W.useMemo(()=>i?K:K.filter(U=>U.label.toLowerCase().includes(F.toLowerCase())),[K,F,i]);W.useEffect(()=>{if(!i)return;if(I.length<c){M([]);return}let U=false;return (async()=>{E(true);try{let ee=await i(I);U||M(ee);}catch{U||M([]);}finally{U||E(false);}})(),()=>{U=true;}},[I,i,c]);let q=U=>{n===void 0&&T(U),o?.(U);},ne=U=>{let ct=U.target.value;q(ct),ct.length>=c&&y(true);},G=U=>{q(U.label),a?.(U),y(false);},O=()=>{q(""),V.current?.focus();},_=()=>{H(true),y(true);},A=()=>{H(false);},Y=U=>{U.key==="Escape"&&y(false),U.key==="ArrowDown"&&!C&&B.length>0&&y(true);},se=t==="sm"?"h-3 w-3":t==="lg"?"h-5 w-5":"h-4 w-4",Ce=p&&F?"pr-8":"pr-3";return jsxs(nt,{open:C,onOpenChange:y,children:[jsxs(oo,{ref:z,className:u("relative",v?"w-full":"w-fit"),children:[jsx("input",{ref:V,type:"text",value:F,onChange:ne,onFocus:_,onBlur:A,onKeyDown:Y,disabled:R,placeholder:d,className:u(Qg({size:t,fullWidth:v}),Ce,e),style:{borderColor:D?"var(--color-foreground)":void 0},role:"combobox","aria-expanded":C,"aria-autocomplete":"list","aria-controls":"autocomplete-list",...w}),p&&F&&!R&&jsx("button",{type:"button",onClick:O,className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground","aria-label":"Clear",children:jsx(X,{className:se})})]}),jsx(rt,{className:"p-0",align:"start",style:{width:L>0?L:void 0},onOpenAutoFocus:U=>U.preventDefault(),children:jsx(Command,{className:"overflow-hidden rounded-md",shouldFilter:false,children:jsx(ze,{style:{maxHeight:h},children:jsx(Command.List,{id:"autocomplete-list",className:"p-1",children:P?jsxs("div",{className:"flex items-center justify-center gap-2 py-6 text-sm text-muted-foreground",children:[jsx(Loader2,{className:u(se,"animate-spin")}),f]}):B.length===0?jsx("div",{className:"py-6 text-center text-sm text-muted-foreground",children:m}):B.map(U=>jsxs(Command.Item,{value:U.value,disabled:U.disabled,onSelect:()=>G(U),className:u("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none","data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground"),children:[jsx(Check,{className:u("mr-2 h-4 w-4 shrink-0",F===U.label?"opacity-100":"opacity-0")}),jsx("span",{className:"flex-1",children:b?jsx($T,{text:U.label,query:F}):U.label})]},U.value))})})})})]})});Jg.displayName="Autocomplete";var vl=W.createContext(null),hl=W.createContext(null),xl=()=>{let e=W.useContext(vl);if(!e)throw new Error("useFormContext must be used within a Form");return e},Rs=()=>{let e=W.useContext(hl);if(!e)throw new Error("useFieldContext must be used within a FormField");return e},WT={required:(e="This field is required")=>({validate:t=>typeof t=="string"?t.trim().length>0:Array.isArray(t)?t.length>0:t!=null,message:e}),minLength:(e,t)=>({validate:n=>typeof n=="string"&&n.length>=e,message:t??`Must be at least ${e} characters`}),maxLength:(e,t)=>({validate:n=>typeof n=="string"&&n.length<=e,message:t??`Must be at most ${e} characters`}),min:(e,t)=>({validate:n=>typeof n=="number"&&n>=e,message:t??`Must be at least ${e}`}),max:(e,t)=>({validate:n=>typeof n=="number"&&n<=e,message:t??`Must be at most ${e}`}),email:(e="Invalid email address")=>({validate:t=>typeof t=="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t),message:e}),pattern:(e,t="Invalid format")=>({validate:n=>typeof n=="string"&&e.test(n),message:t}),custom:(e,t)=>({validate:e,message:t})},eb=W.forwardRef(({defaultValues:e={},onSubmit:t,onError:n,validateOnBlur:r=true,validateOnChange:o=false,children:a,className:s,...i},l)=>{let[c,d]=W.useState(e),[m,f]=W.useState({}),[p,g]=W.useState({}),[h,b]=W.useState({}),[v,R]=W.useState(false),w=W.useRef(new Map),x=W.useCallback((L,S)=>{w.current.set(L,S);},[]),C=W.useCallback(L=>{w.current.delete(L);},[]),y=W.useCallback(L=>{let S=w.current.get(L)||[],V=c[L];for(let z of S)if(!z.validate(V))return f(F=>({...F,[L]:z.message})),false;return f(z=>({...z,[L]:null})),true},[c]),N=W.useCallback(()=>{let L=true,S={};return w.current.forEach((V,z)=>{let F=c[z];for(let I of V)if(!I.validate(F)){S[z]=I.message,L=false;break}S[z]||(S[z]=null);}),f(S),L},[c]),T=W.useCallback((L,S)=>{d(V=>({...V,[L]:S})),b(V=>({...V,[L]:true})),o&&setTimeout(()=>{y(L);},0);},[o,y]),k=W.useCallback((L,S)=>{f(V=>({...V,[L]:S}));},[]),M=W.useCallback((L,S)=>{g(V=>({...V,[L]:S})),S&&r&&y(L);},[r,y]),P=W.useCallback(L=>({value:c[L],error:m[L]??null,touched:p[L]??false,dirty:h[L]??false}),[c,m,p,h]),E=W.useCallback(()=>{d(e),f({}),g({}),b({});},[e]),D=async L=>{L.preventDefault();let S={};if(w.current.forEach((z,F)=>{S[F]=true;}),g(S),!N()){n?.(m);return}if(t){R(true);try{await t(c);}finally{R(false);}}},H={values:c,errors:m,touched:p,dirty:h,isSubmitting:v,setValue:T,setError:k,setTouched:M,validateField:y,validateAll:N,registerField:x,unregisterField:C,getFieldState:P,reset:E};return jsx(vl.Provider,{value:H,children:jsx("form",{ref:l,onSubmit:D,className:u("space-y-4",s),...i,children:a})})});eb.displayName="Form";var tb=({name:e,rules:t=[],defaultValue:n,children:r})=>{let o=xl(),a=W.useId();W.useEffect(()=>(o.registerField(e,t),n!==void 0&&o.values[e]===void 0&&o.setValue(e,n),()=>{o.unregisterField(e);}),[e,t,n,o]);let s=o.getFieldState(e),i={name:e,id:`${a}-${e}`,value:s.value,error:s.error,touched:s.touched,dirty:s.dirty};return jsx(hl.Provider,{value:i,children:r})};tb.displayName="FormField";var nb=W.forwardRef(({className:e,...t},n)=>jsx("div",{ref:n,className:u("space-y-1.5",e),...t}));nb.displayName="FormItem";var rb=W.forwardRef(({className:e,required:t,children:n,...r},o)=>{let{id:a,error:s,touched:i}=Rs();return jsxs(Rr,{ref:o,htmlFor:a,className:u(s&&i&&"text-danger",e),...r,children:[n,t&&jsx("span",{className:"ml-1 text-danger",children:"*"})]})});rb.displayName="FormLabel";var ob=({children:e})=>{let{name:t,id:n,error:r,touched:o}=Rs(),a=xl(),s=a.getFieldState(t),i=c=>{let d=c.target,m=d.type==="checkbox"?d.checked:d.value;a.setValue(t,m);},l=()=>{a.setTouched(t,true);};return W.cloneElement(e,{id:n,name:t,value:s.value??"",onChange:i,onBlur:l,"aria-invalid":r&&o?"true":void 0,"aria-describedby":r&&o?`${n}-error`:void 0})};ob.displayName="FormControl";var ab=W.forwardRef(({className:e,...t},n)=>jsx("p",{ref:n,className:u("text-xs text-muted-foreground",e),...t}));ab.displayName="FormDescription";var sb=W.forwardRef(({className:e,message:t,...n},r)=>{let{id:o,error:a,touched:s}=Rs(),i=t??(s?a:null);return i?jsx("p",{ref:r,id:`${o}-error`,className:u("text-xs text-danger",e),role:"alert",...n,children:i}):null});sb.displayName="FormMessage";var lb=cva("inline-flex items-center gap-3",{variants:{size:{sm:"[&_[data-user-avatar]]:h-8 [&_[data-user-avatar]]:w-8",md:"[&_[data-user-avatar]]:h-10 [&_[data-user-avatar]]:w-10",lg:"[&_[data-user-avatar]]:h-12 [&_[data-user-avatar]]:w-12"}},defaultVariants:{size:"md"}}),cb=W.forwardRef(({className:e,size:t,name:n,description:r,avatarUrl:o,avatarFallback:a,trailing:s,...i},l)=>{let c=a||n.split(" ").map(d=>d[0]).join("").toUpperCase().slice(0,2);return jsxs("div",{ref:l,className:u(lb({size:t,className:e})),...i,children:[jsxs(wr,{"data-user-avatar":true,children:[o&&jsx(Jr,{src:o,alt:n}),jsx(Cr,{children:c})]}),jsxs("div",{className:"flex flex-col min-w-0",children:[jsx("span",{className:"text-sm font-medium leading-none truncate",children:n}),r&&jsx("span",{className:"text-sm text-muted-foreground truncate",children:r})]}),s&&jsx("div",{className:"ml-auto flex-shrink-0",children:s})]})});cb.displayName="User";var ub=cva("font-mono rounded",{variants:{variant:{solid:"bg-primary text-primary-foreground",outline:"border border-input bg-transparent",ghost:"bg-transparent",soft:"bg-muted text-foreground",surface:"bg-muted/50 text-foreground border border-border"},size:{sm:"px-1 py-0.5 text-xs",md:"px-1.5 py-0.5 text-sm",lg:"px-2 py-1 text-base"}},defaultVariants:{variant:"soft",size:"md"}}),mb=W.forwardRef(({className:e,variant:t,size:n,...r},o)=>jsx("code",{ref:o,className:u(ub({variant:t,size:n,className:e})),...r}));mb.displayName="Code";var pb=cva("relative flex items-center gap-2 font-mono rounded-lg border",{variants:{variant:{solid:"bg-primary text-primary-foreground border-primary",outline:"bg-transparent border-input",ghost:"bg-transparent border-transparent",soft:"bg-muted border-muted",surface:"bg-muted/50 border-border"},size:{sm:"px-3 py-1.5 text-xs",md:"px-4 py-2 text-sm",lg:"px-5 py-3 text-base"}},defaultVariants:{variant:"surface",size:"md"}}),fb=W.forwardRef(({className:e,variant:t,size:n,code:r,copyable:o=true,copyLabel:a="Copy",onCopy:s,symbol:i="$",hideSymbol:l=false,...c},d)=>{let[m,f]=W.useState(false),p=async()=>{try{await navigator.clipboard.writeText(r),f(!0),s?.(),setTimeout(()=>f(!1),2e3);}catch(g){console.error("Failed to copy:",g);}};return jsxs("div",{ref:d,className:u(pb({variant:t,size:n,className:e})),...c,children:[!l&&jsx("span",{className:"text-muted-foreground select-none",children:i}),jsx("code",{className:"flex-1 truncate",children:r}),o&&jsx("button",{type:"button",onClick:p,className:u("flex-shrink-0 rounded p-1 transition-colors","hover:bg-black/10 dark:hover:bg-white/10","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"),"aria-label":m?"Copied":a,children:m?jsx(Check,{className:"h-4 w-4 text-green-500"}):jsx(Copy,{className:"h-4 w-4 text-muted-foreground"})})]})});fb.displayName="Snippet";var wl=cva("overflow-hidden",{variants:{radius:{none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"rounded-full"}},defaultVariants:{radius:"md"}}),gb=W.forwardRef(({className:e,radius:t,src:n,alt:r,fallback:o,showSkeleton:a=true,onLoad:s,onError:i,fit:l="cover",aspectRatio:c,style:d,...m},f)=>{let[p,g]=W.useState("loading");W.useEffect(()=>{n&&g("loading");},[n]);let h=()=>{g("loaded"),s?.();},b=()=>{g("error"),i?.();},v={contain:"object-contain",cover:"object-cover",fill:"object-fill",none:"object-none","scale-down":"object-scale-down"}[l];return p==="error"&&o?jsx("div",{className:u(wl({radius:t}),"flex items-center justify-center bg-muted",e),style:{aspectRatio:c,...d},children:o}):jsxs("div",{className:u(wl({radius:t}),"relative",e),style:{aspectRatio:c,...d},children:[p==="loading"&&a&&jsx(Ga,{className:"absolute inset-0 h-full w-full"}),jsx("img",{ref:f,src:n,alt:r,onLoad:h,onError:b,className:u("h-full w-full transition-opacity duration-300",v,p==="loading"?"opacity-0":"opacity-100"),...m})]})});gb.displayName="Image";var hb=cva("flex flex-col rounded-lg border bg-background",{variants:{size:{sm:"p-1 gap-0.5",md:"p-1.5 gap-1",lg:"p-2 gap-1.5"}},defaultVariants:{size:"md"}}),xb=cva("relative flex cursor-pointer select-none items-center rounded-md outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",{variants:{size:{sm:"px-2 py-1 text-xs",md:"px-3 py-1.5 text-sm",lg:"px-4 py-2 text-base"}},defaultVariants:{size:"md"}}),yb=W.createContext({value:"",onValueChange:()=>{},multiple:false,size:"md"}),Rb=W.forwardRef(({className:e,size:t="md",value:n,defaultValue:r="",onValueChange:o,multiple:a=false,children:s,...i},l)=>{let[c,d]=W.useState(r),m=n??c,f=p=>{let g;if(a){let h=Array.isArray(m)?m:[m].filter(Boolean);h.includes(p)?g=h.filter(b=>b!==p):g=[...h,p];}else g=p;o?o(g):d(g);};return jsx(yb.Provider,{value:{value:m,onValueChange:f,multiple:a,size:t??"md"},children:jsx("div",{ref:l,role:"listbox","aria-multiselectable":a,className:u(hb({size:t,className:e})),...i,children:s})})});Rb.displayName="Listbox";var wb=W.forwardRef(({className:e,value:t,disabled:n,icon:r,description:o,children:a,...s},i)=>{let{value:l,onValueChange:c,multiple:d,size:m}=W.useContext(yb),f=d?Array.isArray(l)&&l.includes(t):l===t,p=()=>{n||c(t);},g=h=>{(h.key==="Enter"||h.key===" ")&&!n&&(h.preventDefault(),c(t));};return jsxs("div",{ref:i,role:"option","aria-selected":f,"data-disabled":n?"":void 0,tabIndex:n?-1:0,className:u(xb({size:m}),f&&"bg-accent text-accent-foreground",e),onClick:p,onKeyDown:g,...s,children:[r&&jsx("span",{className:"mr-2 flex-shrink-0",children:r}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"truncate",children:a}),o&&jsx("div",{className:"text-xs text-muted-foreground truncate",children:o})]}),f&&jsx(Check,{className:"ml-2 h-4 w-4 flex-shrink-0"})]})});wb.displayName="ListboxItem";var Tb=cva("flex flex-col",{variants:{variant:{default:"gap-2",bordered:"divide-y divide-border rounded-lg border",cards:"gap-2"},size:{sm:"",md:"",lg:""}},defaultVariants:{variant:"default",size:"md"}}),Mb=cva("flex items-center gap-3 bg-background transition-all",{variants:{variant:{default:"rounded-lg border p-3",bordered:"p-3",cards:"rounded-lg border p-3 shadow-sm"},size:{sm:"p-2 text-sm",md:"p-3 text-sm",lg:"p-4 text-base"},isDragging:{true:"opacity-50 scale-[1.02] shadow-lg z-10",false:""},isDragOver:{true:"border-primary border-dashed",false:""}},defaultVariants:{variant:"default",size:"md",isDragging:false,isDragOver:false}});function oM({className:e,variant:t,size:n,items:r,onReorder:o,renderItem:a,showHandle:s=true,disabled:i=false,...l},c){let[d,m]=W.useState(null),[f,p]=W.useState(null),g=(w,x)=>{i||(m(x),w.dataTransfer.effectAllowed="move",w.dataTransfer.setData("text/plain",String(x)));},h=(w,x)=>{w.preventDefault(),!(i||d===null||d===x)&&p(x);},b=()=>{p(null);},v=(w,x)=>{if(w.preventDefault(),i||d===null||d===x){m(null),p(null);return}let C=[...r],[y]=C.splice(d,1);C.splice(x,0,y),o?.(C),m(null),p(null);},R=()=>{m(null),p(null);};return jsx("div",{ref:c,className:u(Tb({variant:t,size:n,className:e})),...l,children:r.map((w,x)=>jsxs("div",{draggable:!i,onDragStart:C=>g(C,x),onDragOver:C=>h(C,x),onDragLeave:b,onDrop:C=>v(C,x),onDragEnd:R,className:u(Mb({variant:t,size:n,isDragging:d===x,isDragOver:f===x}),!i&&"cursor-move"),children:[s&&jsx("div",{className:u("flex-shrink-0 text-muted-foreground",i?"opacity-30":"cursor-grab active:cursor-grabbing"),children:jsx(GripVertical,{className:"h-5 w-5"})}),jsx("div",{className:"flex-1 min-w-0",children:a(w,x)})]},w.id))})}var aM=W.forwardRef(oM);var Pb=cva("absolute inset-0 z-50 flex items-center justify-center transition-opacity",{variants:{variant:{solid:"bg-background",soft:"bg-background/80 backdrop-blur-sm",ghost:"bg-background/50"},visible:{true:"opacity-100 pointer-events-auto",false:"opacity-0 pointer-events-none"}},defaultVariants:{variant:"soft",visible:true}}),cM={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"},Eb=W.forwardRef(({className:e,variant:t,loading:n=true,size:r="md",spinner:o,text:a,children:s,...i},l)=>jsxs("div",{ref:l,className:u("relative",e),...i,children:[s,jsx("div",{className:u(Pb({variant:t,visible:n})),"aria-hidden":!n,children:jsxs("div",{className:"flex flex-col items-center gap-2",children:[o||jsx(Loader2,{className:u(cM[r],"animate-spin text-primary")}),a&&jsx("span",{className:"text-sm text-muted-foreground",children:a})]})})]}));Eb.displayName="LoadingOverlay";var Lb=cva("fixed top-0 left-0 z-[9999] h-0.5 transition-all duration-200 ease-out",{variants:{color:{primary:"bg-primary",secondary:"bg-secondary",success:"bg-success",warning:"bg-warning",danger:"bg-danger",info:"bg-info"}},defaultVariants:{color:"primary"}}),Sb=W.forwardRef(({className:e,color:t,isLoading:n=false,progress:r,showSpinner:o=false,...a},s)=>{let[i,l]=W.useState(0),[c,d]=W.useState(false),m=W.useRef(null);return W.useEffect(()=>{if(r!==void 0){l(r),d(r>0&&r<100);return}return n?(d(true),l(10),m.current=setInterval(()=>{l(f=>{if(f>=90)return f;let p=Math.random()*10;return Math.min(f+p,90)});},500)):i>0&&(l(100),setTimeout(()=>{d(false),l(0);},200)),()=>{m.current&&clearInterval(m.current);}},[n,r]),!c&&r===void 0||r!==void 0&&(r<=0||r>=100)?null:jsxs(Fragment,{children:[jsx("div",{ref:s,className:u(Lb({color:t,className:e})),style:{width:`${i}%`},role:"progressbar","aria-valuenow":i,"aria-valuemin":0,"aria-valuemax":100,...a,children:jsx("div",{className:"absolute right-0 h-full w-24 -translate-y-1 rotate-3 bg-inherit opacity-50 blur-sm"})}),o&&c&&jsx("div",{className:"fixed top-4 right-4 z-[9999]",children:jsx("div",{className:u("h-4 w-4 animate-spin rounded-full border-2 border-transparent",t==="primary"&&"border-t-primary",t==="secondary"&&"border-t-secondary",t==="success"&&"border-t-success",t==="warning"&&"border-t-warning",t==="danger"&&"border-t-danger",t==="info"&&"border-t-info")})})]})});Sb.displayName="NProgress";var Vb=cva("flex items-center justify-center",{variants:{variant:{spinner:"",dots:"",pulse:"",skeleton:""},size:{sm:"gap-1",md:"gap-2",lg:"gap-3"},fullScreen:{true:"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm",false:""}},defaultVariants:{variant:"spinner",size:"md",fullScreen:false}}),Db={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"},gM={sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-3 w-3"},Ab=W.forwardRef(({className:e,variant:t="spinner",size:n="md",fullScreen:r,text:o,color:a="primary",...s},i)=>{let l={primary:"text-primary",secondary:"text-secondary",muted:"text-muted-foreground"}[a],c=()=>{switch(t){case "dots":return jsx("div",{className:"flex items-center gap-1",children:[0,1,2].map(d=>jsx("div",{className:u(gM[n||"md"],"animate-bounce rounded-full bg-current",l),style:{animationDelay:`${d*.15}s`}},d))});case "pulse":return jsx("div",{className:u(Db[n||"md"],"animate-pulse rounded-full bg-current",l)});case "skeleton":return jsxs("div",{className:"w-full space-y-2",children:[jsx("div",{className:"h-4 w-3/4 animate-pulse rounded bg-muted"}),jsx("div",{className:"h-4 w-1/2 animate-pulse rounded bg-muted"}),jsx("div",{className:"h-4 w-5/6 animate-pulse rounded bg-muted"})]});default:return jsx(Loader2,{className:u(Db[n||"md"],"animate-spin",l)})}};return jsx("div",{ref:i,className:u(Vb({variant:t,size:n,fullScreen:r,className:e})),role:"status","aria-label":o||"Loading",...s,children:jsxs("div",{className:"flex flex-col items-center gap-2",children:[c(),o&&jsx("span",{className:u("text-sm",l),children:o})]})})});Ab.displayName="Loading";var Ml=class extends W.Component{constructor(t){super(t),this.state={hasError:false,error:null};}static getDerivedStateFromError(t){return {hasError:true,error:t}}componentDidCatch(t,n){this.props.onError?.(t,n);}componentDidUpdate(t){this.state.hasError&&this.props.resetKeys&&this.props.resetKeys.some((r,o)=>r!==t.resetKeys?.[o])&&this.reset();}reset=()=>{this.props.onReset?.(),this.setState({hasError:false,error:null});};render(){return this.state.hasError?this.props.fallback?this.props.fallback:jsx(Nl,{error:this.state.error,onReset:this.reset}):this.props.children}},Nl=W.forwardRef(({error:e,onReset:t,className:n},r)=>jsxs("div",{ref:r,className:u("flex min-h-[200px] flex-col items-center justify-center gap-4 rounded-lg border border-danger/20 bg-danger/5 p-6 text-center",n),role:"alert",children:[jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-danger/10",children:jsx(AlertTriangle,{className:"h-6 w-6 text-danger"})}),jsxs("div",{className:"space-y-2",children:[jsx("h3",{className:"text-lg font-semibold text-foreground",children:"Something went wrong"}),e&&jsx("p",{className:"text-sm text-muted-foreground max-w-md",children:e.message||"An unexpected error occurred"})]}),t&&jsxs("button",{onClick:t,className:"inline-flex items-center gap-2 rounded-md bg-danger px-4 py-2 text-sm font-medium text-danger-foreground hover:bg-danger/90 transition-colors",children:[jsx(RefreshCw,{className:"h-4 w-4"}),"Try again"]})]}));Nl.displayName="DefaultErrorFallback";var hM=Ml;var Ob=W.forwardRef(({value:e,defaultValue:t,onValueChange:n,placeholder:r="Pick a date range",dateFormat:o="LLL dd, y",disabled:a=false,minDate:s,maxDate:i,numberOfMonths:l=2,className:c,align:d="start"},m)=>{let[f,p]=W.useState(false),[g,h]=W.useState(t),b=e!==void 0,v=b?e:g,R=x=>{b||h(x),n?.(x);},w=x=>{if(!x)return r;let{from:C,to:y}=x;return C&&y?`${format(C,o)} - ${format(y,o)}`:C?format(C,o):r};return jsxs(nt,{open:f,onOpenChange:p,children:[jsxs(Lt,{ref:m,disabled:a,className:u("inline-flex items-center justify-start gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm font-normal hover:bg-accent hover:text-accent-foreground w-full text-left",!v?.from&&"text-muted-foreground",a&&"cursor-not-allowed opacity-50",c),children:[jsx(Calendar,{className:"h-4 w-4"}),w(v)]}),jsx(rt,{className:"w-auto p-0",align:d,children:jsx(so,{mode:"range",defaultMonth:v?.from,selected:v,onSelect:R,numberOfMonths:l,disabled:x=>!!(s&&x<s||i&&x>i),initialFocus:true})})]})});Ob.displayName="DateRangePicker";var bo=e=>String(e).padStart(2,"0"),Bb=W.forwardRef(({value:e,onValueChange:t,placeholder:n="Pick a time",use24Hour:r=true,minuteStep:o=1,disabled:a=false,className:s},i)=>{let[l,c]=W.useState(false),d=r?Array.from({length:24},(w,x)=>x):Array.from({length:12},(w,x)=>x+1),m=Array.from({length:Math.floor(60/o)},(w,x)=>x*o),f=w=>{if(!w)return n;if(r)return `${bo(w.hours)}:${bo(w.minutes)}`;let x=w.hours%12||12,C=w.hours>=12?"PM":"AM";return `${bo(x)}:${bo(w.minutes)} ${C}`},p=w=>{let x=e?.minutes??0,C=w;if(!r&&e){let y=e.hours>=12;y&&w!==12?C=w+12:!y&&w===12&&(C=0);}t?.({hours:C,minutes:x});},g=w=>{let x=e?.hours??0;t?.({hours:x,minutes:w});},h=w=>{if(!e)return;let x=e.hours;w==="AM"&&e.hours>=12?x=e.hours-12:w==="PM"&&e.hours<12&&(x=e.hours+12),t?.({hours:x,minutes:e.minutes});},b=()=>{let w=new Date;t?.({hours:w.getHours(),minutes:w.getMinutes()});},v=e?e.hours>=12?"PM":"AM":void 0,R=e?r?e.hours:e.hours%12||12:void 0;return jsxs(nt,{open:l,onOpenChange:c,children:[jsxs(Lt,{ref:i,disabled:a,className:u("inline-flex items-center justify-start gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm font-normal hover:bg-accent hover:text-accent-foreground w-full text-left",!e&&"text-muted-foreground",a&&"cursor-not-allowed opacity-50",s),children:[jsx(Clock,{className:"h-4 w-4"}),f(e)]}),jsxs(rt,{className:"w-auto p-0",align:"start",children:[jsxs("div",{className:"flex",children:[jsxs("div",{className:"flex flex-col",children:[jsx("div",{className:"border-b px-3 py-2 text-center text-xs font-medium text-muted-foreground",children:"Hour"}),jsx(ze,{className:"h-[200px]",children:jsx("div",{className:"flex flex-col p-1",children:d.map(w=>jsx(oe,{variant:R===w?"solid":"ghost",size:"sm",className:"h-8 w-12 justify-center",onClick:()=>p(w),children:bo(w)},w))})})]}),jsxs("div",{className:"flex flex-col border-l",children:[jsx("div",{className:"border-b px-3 py-2 text-center text-xs font-medium text-muted-foreground",children:"Min"}),jsx(ze,{className:"h-[200px]",children:jsx("div",{className:"flex flex-col p-1",children:m.map(w=>jsx(oe,{variant:e?.minutes===w?"solid":"ghost",size:"sm",className:"h-8 w-12 justify-center",onClick:()=>g(w),children:bo(w)},w))})})]}),!r&&jsxs("div",{className:"flex flex-col border-l",children:[jsx("div",{className:"border-b px-3 py-2 text-center text-xs font-medium text-muted-foreground",children:"\xA0"}),jsxs("div",{className:"flex flex-col gap-1 p-1",children:[jsx(oe,{variant:v==="AM"?"solid":"ghost",size:"sm",className:"h-8 w-12",onClick:()=>h("AM"),children:"AM"}),jsx(oe,{variant:v==="PM"?"solid":"ghost",size:"sm",className:"h-8 w-12",onClick:()=>h("PM"),children:"PM"})]})]})]}),jsxs("div",{className:"flex justify-between border-t p-2",children:[jsx(oe,{variant:"ghost",size:"sm",onClick:b,children:"Now"}),jsx(oe,{size:"sm",onClick:()=>c(false),children:"Done"})]})]})]})});Bb.displayName="TimePicker";var Fb=cva("overflow-auto",{variants:{variant:{default:"",bordered:"border rounded-lg",cards:""}},defaultVariants:{variant:"default"}});function wM({className:e,variant:t,items:n,itemHeight:r,height:o,overscan:a=3,renderItem:s,getItemKey:i,gap:l=0,onScrollChange:c,...d},m){let f=W.useRef(null),[p,g]=W.useState(0);W.useImperativeHandle(m,()=>f.current);let h=n.length*(r+l)-l,b=r+l,v=Math.max(0,Math.floor(p/b)-a),R=Math.ceil(o/b)+2*a,w=Math.min(n.length-1,v+R),x=y=>{let N=y.currentTarget.scrollTop;g(N),c?.(N);},C=W.useMemo(()=>{let y=[];for(let N=v;N<=w;N++)n[N]!==void 0&&y.push({item:n[N],index:N,style:{position:"absolute",top:N*b,left:0,right:0,height:r}});return y},[n,v,w,b,r]);return jsx("div",{ref:f,className:u(Fb({variant:t,className:e})),style:{height:o,position:"relative"},onScroll:x,...d,children:jsx("div",{style:{height:h,position:"relative"},children:C.map(({item:y,index:N,style:T})=>jsx("div",{style:T,children:s(y,N)},i?i(y,N):N))})})}var CM=W.forwardRef(wM);var Gb=cva("",{variants:{variant:{default:"",bordered:"border rounded-lg overflow-hidden"}},defaultVariants:{variant:"default"}}),Ll=cva("flex items-center justify-center py-4",{variants:{size:{sm:"py-2",md:"py-4",lg:"py-6"}},defaultVariants:{size:"md"}}),$b=W.forwardRef(({className:e,variant:t,size:n,children:r,onLoadMore:o,hasMore:a,isLoading:s=false,loader:i,threshold:l=100,rootMargin:c,useWindow:d=false,endMessage:m,...f},p)=>{let g=W.useRef(null),h=W.useRef(null),b=W.useRef(false);W.useImperativeHandle(p,()=>g.current),W.useEffect(()=>{let R=h.current;if(!R)return;let w=new IntersectionObserver(x=>{let[C]=x;C.isIntersecting&&a&&!s&&!b.current&&(b.current=true,Promise.resolve(o()).finally(()=>{b.current=false;}));},{root:d?null:g.current,rootMargin:c||`${l}px`,threshold:0});return w.observe(R),()=>{w.disconnect();}},[a,s,o,l,c,d]);let v=jsx("div",{className:u(Ll({size:n})),children:jsx(Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})});return jsxs("div",{ref:g,className:u(Gb({variant:t,className:e})),...f,children:[r,jsx("div",{ref:h,className:"h-px w-full"}),s&&(i||v),!a&&!s&&m&&jsx("div",{className:u(Ll({size:n}),"text-muted-foreground text-sm"),children:m})]})});$b.displayName="InfiniteScroll";var la=W.forwardRef(({className:e,...t},n)=>jsx("span",{ref:n,className:u("absolute h-px w-px p-0 -m-px overflow-hidden whitespace-nowrap border-0","[clip:rect(0,0,0,0)]",e),...t}));la.displayName="VisuallyHidden";var Wb={opaque:"bg-black/80",blur:"bg-black/50 backdrop-blur-sm",transparent:"bg-transparent"},kM={auto:"top-[50%] translate-y-[-50%]",center:"top-[50%] translate-y-[-50%]",top:"top-4 translate-y-0",bottom:"top-auto bottom-4 translate-y-0","top-center":"top-[20%] translate-y-0","bottom-center":"top-auto bottom-[20%] translate-y-0"},_b=cva("fixed inset-0 z-50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"),Dl=cva("fixed left-[50%] z-50 grid translate-x-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:rounded-lg",{variants:{size:{xs:"w-full max-w-xs",sm:"w-full max-w-sm",md:"w-full max-w-md",lg:"w-full max-w-lg",xl:"w-full max-w-xl","2xl":"w-full max-w-2xl","3xl":"w-full max-w-3xl","4xl":"w-full max-w-4xl","5xl":"w-full max-w-5xl",full:"w-[calc(100vw-2rem)] h-[calc(100vh-2rem)] max-w-none"}},defaultVariants:{size:"md"}}),Es=W.createContext(null),Hr=()=>{let e=W.useContext(Es);if(!e)throw new Error("Modal components must be used within a Modal");return e},jb=W.forwardRef(({open:e,onOpenChange:t,trigger:n,title:r="Modal",children:o,hideCloseButton:a=false,isDismissable:s=true,isKeyboardDismissDisabled:i=false,backdrop:l="opaque",placement:c="center",scrollBehavior:d="inside",size:m,className:f},p)=>{let[g,h]=W.useState(false),b=e!==void 0,v=b?e:g,[R,w]=W.useState(false),x=W.useRef(null),C=W.useId(),y=W.useId();W.useEffect(()=>{w(true);},[]);let N=W.useCallback(P=>{b||h(P),t?.(P);},[b,t]);W.useEffect(()=>{if(v)return dt(),()=>ut()},[v]),W.useEffect(()=>{if(!v||i)return;let P=E=>{E.key==="Escape"&&N(false);};return document.addEventListener("keydown",P),()=>document.removeEventListener("keydown",P)},[v,i,N]);let T=P=>{s&&P.target===P.currentTarget&&N(false);},k=n?W.isValidElement(n)?W.cloneElement(n,{onClick:P=>{n.props.onClick?.(P),N(true);}}):jsx("button",{type:"button",onClick:()=>N(true),children:n}):null,M=()=>!R||!v?null:d==="outside"?Ya.createPortal(jsx("div",{"data-state":v?"open":"closed",className:u(_b(),Wb[l],"overflow-y-auto flex items-start justify-center py-4"),onClick:T,children:jsxs("div",{ref:P=>{x.current=P,typeof p=="function"?p(P):p&&(p.current=P);},role:"dialog","aria-modal":"true","aria-labelledby":C,"aria-describedby":y,"data-state":v?"open":"closed",className:u("relative z-50 grid gap-4 border bg-background p-6 shadow-lg sm:rounded-lg dark:border-0",m==="xs"&&"w-full max-w-xs",m==="sm"&&"w-full max-w-sm",m==="md"&&"w-full max-w-md",m==="lg"&&"w-full max-w-lg",m==="xl"&&"w-full max-w-xl",m==="2xl"&&"w-full max-w-2xl",m==="3xl"&&"w-full max-w-3xl",m==="4xl"&&"w-full max-w-4xl",m==="5xl"&&"w-full max-w-5xl",m==="full"&&"w-[calc(100vw-2rem)] min-h-[calc(100vh-2rem)]",!m&&"w-full max-w-md",f),children:[jsx(la,{children:jsx("h2",{id:C,children:r})}),o,!a&&jsxs("button",{type:"button",className:"absolute right-4 top-4 z-10 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:()=>N(false),children:[jsx(X,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Close"})]})]})}),document.body):Ya.createPortal(jsxs(Fragment,{children:[jsx("div",{"data-state":v?"open":"closed",className:u(_b(),Wb[l]),onClick:T,"aria-hidden":"true"}),jsxs("div",{ref:P=>{x.current=P,typeof p=="function"?p(P):p&&(p.current=P);},role:"dialog","aria-modal":"true","aria-labelledby":C,"aria-describedby":y,"data-state":v?"open":"closed",className:u(Dl({size:m}),kM[c],"dark:border-0 max-h-[calc(100vh-2rem)] !flex !flex-col overflow-hidden gap-4",f),children:[jsx(la,{children:jsx("h2",{id:C,children:r})}),o,!a&&jsxs("button",{type:"button",className:"absolute right-4 top-4 z-10 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:()=>N(false),children:[jsx(X,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Close"})]})]})]}),document.body);return jsxs(Es.Provider,{value:{open:v,onOpenChange:N,scrollBehavior:d,titleId:C,descriptionId:y},children:[k,M()]})});jb.displayName="Modal";var Xb=({children:e,open:t,defaultOpen:n=false,onOpenChange:r,scrollBehavior:o="inside"})=>{let[a,s]=W.useState(n),i=t!==void 0,l=i?t:a,c=W.useId(),d=W.useId(),m=W.useCallback(f=>{i||s(f),r?.(f);},[i,r]);return jsx(Es.Provider,{value:{open:l,onOpenChange:m,scrollBehavior:o,titleId:c,descriptionId:d},children:e})};Xb.displayName="ModalRoot";var qb=W.forwardRef(({children:e,onClick:t,...n},r)=>{let{onOpenChange:o}=Hr();return jsx("button",{ref:r,type:"button",onClick:s=>{t?.(s),o(true);},...n,children:e})});qb.displayName="ModalTrigger";var Hl=({children:e,container:t})=>{let[n,r]=W.useState(false);return W.useEffect(()=>{r(true);},[]),n?Ya.createPortal(e,t||document.body):null};Hl.displayName="ModalPortal";var Il=W.forwardRef(({className:e,...t},n)=>{let{open:r,onOpenChange:o}=Hr();return r?jsx("div",{ref:n,"data-state":r?"open":"closed",className:u("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),onClick:()=>o(false),"aria-hidden":"true",...t}):null});Il.displayName="ModalOverlay";var Vl=W.forwardRef(({children:e,onClick:t,...n},r)=>{let{onOpenChange:o}=Hr();return jsx("button",{ref:r,type:"button",onClick:s=>{t?.(s),o(false);},...n,children:e})});Vl.displayName="ModalClose";var Zb=W.forwardRef(({className:e,children:t,size:n,showCloseButton:r=true,onEscapeKeyDown:o,onInteractOutside:a,...s},i)=>{let{open:l,onOpenChange:c,titleId:d,descriptionId:m}=Hr(),[f,p]=W.useState(false);return W.useEffect(()=>{p(true);},[]),W.useEffect(()=>{if(l)return dt(),()=>ut()},[l]),W.useEffect(()=>{if(!l)return;let g=h=>{h.key==="Escape"&&(o?.(),c(false));};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[l,c,o]),!f||!l?null:jsxs(Hl,{children:[jsx(Il,{}),jsxs("div",{ref:i,role:"dialog","aria-modal":"true","aria-labelledby":d,"aria-describedby":m,"data-state":l?"open":"closed",className:u(Dl({size:n}),"top-[50%] translate-y-[-50%]",e),...s,children:[t,r&&jsxs(Vl,{className:"absolute right-4 top-4 z-10 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[jsx(X,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Close"})]})]})]})});Zb.displayName="ModalContent";var Qb=({className:e,...t})=>jsx("div",{className:u("flex-shrink-0 flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Qb.displayName="ModalHeader";var Jb=({className:e,children:t})=>(W.useContext(Es)?.scrollBehavior??"inside")==="inside"?jsx(ze,{className:u("flex-1 min-h-0 -mx-6 px-6",e),children:t}):jsx("div",{className:u(e),children:t});Jb.displayName="ModalBody";var ev=({className:e,children:t,...n})=>{let{onOpenChange:r}=Hr();return jsx("div",{className:u("flex-shrink-0 flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...n,children:W.Children.map(t,o=>W.isValidElement(o)?W.cloneElement(o,{onClick:a=>{o.props.onClick?.(a),r(false);}}):o)})};ev.displayName="ModalFooter";var tv=W.forwardRef(({className:e,...t},n)=>{let{titleId:r}=Hr();return jsx("h2",{ref:n,id:r,className:u("text-lg font-semibold leading-none tracking-tight",e),...t})});tv.displayName="ModalTitle";var nv=W.forwardRef(({className:e,...t},n)=>{let{descriptionId:r}=Hr();return jsx("p",{ref:n,id:r,className:u("text-sm text-muted-foreground",e),...t})});nv.displayName="ModalDescription";var av=cva("h-10 w-10 rounded-full p-2",{variants:{variant:{default:"bg-muted text-foreground",danger:"bg-danger/10 text-danger",warning:"bg-warning/10 text-warning",success:"bg-success/10 text-success",info:"bg-info/10 text-info"}},defaultVariants:{variant:"default"}}),IM=cva("",{variants:{variant:{default:"",danger:"bg-danger text-danger-foreground hover:bg-danger/90",warning:"bg-warning text-warning-foreground hover:bg-warning/90",success:"bg-success text-success-foreground hover:bg-success/90",info:"bg-info text-info-foreground hover:bg-info/90"}},defaultVariants:{variant:"default"}}),VM=W.createContext(null),AM={default:HelpCircle,danger:XCircle,warning:AlertTriangle,success:CheckCircle,info:Info},Al=W.forwardRef(({open:e,onOpenChange:t,trigger:n,title:r,description:o,confirmText:a="Confirm",cancelText:s="Cancel",onConfirm:i,onCancel:l,showIcon:c=true,icon:d,variant:m="default",loading:f=false,disabled:p=false,className:g},h)=>{let[b,v]=W.useState(false),[R,w]=W.useState(false),[x,C]=W.useState(false),y=e!==void 0,N=y?e:b,T=AM[m||"default"],k=W.useId(),M=W.useId();W.useEffect(()=>{C(true);},[]);let P=W.useCallback(V=>{y||v(V),t?.(V);},[y,t]);W.useEffect(()=>{if(N)return dt(),()=>ut()},[N]);let E=async()=>{if(i){let V=i();if(V instanceof Promise){w(true);try{await V;}finally{w(false);}}}P(false);},D=()=>{l?.(),P(false);},H=f||R,L=n?W.isValidElement(n)?W.cloneElement(n,{onClick:V=>{n.props.onClick?.(V),P(true);}}):jsx("button",{type:"button",onClick:()=>P(true),children:n}):null,S=()=>!x||!N?null:Ya.createPortal(jsxs(Fragment,{children:[jsx("div",{"data-state":N?"open":"closed",className:"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","aria-hidden":"true"}),jsxs("div",{ref:h,role:"alertdialog","aria-modal":"true","aria-labelledby":k,"aria-describedby":o?M:void 0,"data-state":N?"open":"closed",className:u("fixed left-[50%] top-[50%] z-50 grid w-full max-w-md translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",g),children:[jsxs("div",{className:"flex flex-col items-center gap-4 sm:flex-row sm:items-start",children:[c&&jsx("div",{className:u(av({variant:m})),children:d||jsx(T,{className:"h-6 w-6"})}),jsxs("div",{className:"flex flex-col space-y-2 text-center sm:text-left",children:[jsx("h2",{id:k,className:"text-lg font-semibold",children:r}),o&&jsx("p",{id:M,className:"text-sm text-muted-foreground",children:o})]})]}),jsxs("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[jsx("button",{type:"button",className:u(bn({variant:"bordered"})),onClick:D,disabled:H,children:s}),jsx("button",{type:"button",className:u(bn(),IM({variant:m}),H&&"opacity-50 cursor-not-allowed"),onClick:E,disabled:p||H,children:H?jsxs("span",{className:"flex items-center gap-2",children:[jsxs("svg",{className:"h-4 w-4 animate-spin",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Loading..."]}):a})]})]})]}),document.body);return jsxs(VM.Provider,{value:{open:N,onOpenChange:P,titleId:k,descriptionId:M},children:[L,S()]})});Al.displayName="ConfirmDialog";function zM(){let[e,t]=W.useState({open:false,options:null,resolve:null}),n=W.useCallback(i=>new Promise(l=>{t({open:true,options:i,resolve:l});}),[]),r=W.useCallback(()=>{e.resolve?.(true),t({open:false,options:null,resolve:null});},[e.resolve]),o=W.useCallback(()=>{e.resolve?.(false),t({open:false,options:null,resolve:null});},[e.resolve]),a=W.useCallback(i=>{i||(e.resolve?.(false),t({open:false,options:null,resolve:null}));},[e.resolve]),s=W.useMemo(()=>e.options?jsx(Al,{open:e.open,onOpenChange:a,title:e.options.title,description:e.options.description,confirmText:e.options.confirmText,cancelText:e.options.cancelText,variant:e.options.variant,onConfirm:r,onCancel:o}):null,[e,r,o,a]);return {confirm:n,ConfirmDialog:s}}var jM=e=>e.map(t=>typeof t=="string"?{src:t}:t),zl=W.forwardRef(({images:e,open:t,onOpenChange:n,initialIndex:r=0,onIndexChange:o,trigger:a,showThumbnails:s=true,showZoom:i=true,showRotate:l=true,showDownload:c=true,showFullscreen:d=true,showNavigation:m=true,showCounter:f=true,closeOnBackdropClick:p=true,className:g},h)=>{let b=W.useMemo(()=>jM(e),[e]),[v,R]=W.useState(r),[w,x]=W.useState(1),[C,y]=W.useState(0),[N,T]=W.useState(false),[k,M]=W.useState(false),[P,E]=W.useState({x:0,y:0}),[D,H]=W.useState({x:0,y:0}),[L,S]=W.useState(false),V=W.useRef(null),z=b[v];W.useEffect(()=>{S(true);},[]),W.useEffect(()=>{R(r);},[r]),W.useEffect(()=>{o?.(v);},[v,o]),W.useEffect(()=>{x(1),y(0),E({x:0,y:0});},[v]),W.useEffect(()=>{if(t)return dt(),()=>ut()},[t]);let F=W.useCallback(()=>{R(ee=>ee>0?ee-1:b.length-1);},[b.length]),I=W.useCallback(()=>{R(ee=>ee<b.length-1?ee+1:0);},[b.length]),K=()=>{x(ee=>Math.min(ee+.5,4));},B=()=>{x(ee=>{let tt=Math.max(ee-.5,.5);return tt===1&&E({x:0,y:0}),tt});},q=()=>{y(ee=>(ee+90)%360);},ne=async()=>{if(z)try{let tt=await(await fetch(z.src)).blob(),On=URL.createObjectURL(tt),bt=document.createElement("a");bt.href=On,bt.download=z.alt||`image-${v+1}`,document.body.appendChild(bt),bt.click(),document.body.removeChild(bt),URL.revokeObjectURL(On);}catch{window.open(z.src,"_blank");}},G=async()=>{if(V.current)if(N)try{await document.exitFullscreen(),T(!1);}catch{}else try{await V.current.requestFullscreen(),T(!0);}catch{}},O=ee=>{w>1&&(M(true),H({x:ee.clientX-P.x,y:ee.clientY-P.y}));},_=ee=>{k&&w>1&&E({x:ee.clientX-D.x,y:ee.clientY-D.y});},A=()=>{M(false);},Y=()=>{n?.(false);},se=ee=>{p&&ee.target===ee.currentTarget&&Y();},Ce=W.useCallback(ee=>{switch(ee.key){case "ArrowLeft":F();break;case "ArrowRight":I();break;case "Escape":n?.(false);break;case "+":case "=":K();break;case "-":B();break}},[F,I,n]);if(W.useEffect(()=>{if(t)return window.addEventListener("keydown",Ce),()=>window.removeEventListener("keydown",Ce)},[t,Ce]),W.useEffect(()=>{let ee=()=>{T(!!document.fullscreenElement);};return document.addEventListener("fullscreenchange",ee),()=>document.removeEventListener("fullscreenchange",ee)},[]),b.length===0)return null;let U=a?W.isValidElement(a)?W.cloneElement(a,{onClick:ee=>{a.props.onClick?.(ee),n?.(true);}}):jsx("button",{type:"button",onClick:()=>n?.(true),children:a}):null;return jsxs(Fragment,{children:[U,!L||!t?null:Ya.createPortal(jsxs(Fragment,{children:[jsx("div",{className:"fixed inset-0 z-50 bg-black/90 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-state":t?"open":"closed",onClick:se}),jsxs("div",{ref:h,className:u("fixed inset-0 z-50 flex flex-col outline-none",g),children:[jsxs("div",{className:"flex items-center justify-between p-4 text-white",children:[jsxs("div",{className:"flex items-center gap-2",children:[f&&b.length>1&&jsxs("span",{className:"text-sm",children:[v+1," / ",b.length]}),z?.title&&jsx("span",{className:"ml-4 text-sm font-medium",children:z.title})]}),jsxs("div",{className:"flex items-center gap-1",children:[i&&jsxs(Fragment,{children:[jsx("button",{onClick:B,className:"rounded-full p-2 hover:bg-white/10 transition-colors",title:"Zoom out",children:jsx(ZoomOut,{className:"h-5 w-5"})}),jsxs("span",{className:"min-w-[3rem] text-center text-sm",children:[Math.round(w*100),"%"]}),jsx("button",{onClick:K,className:"rounded-full p-2 hover:bg-white/10 transition-colors",title:"Zoom in",children:jsx(ZoomIn,{className:"h-5 w-5"})})]}),l&&jsx("button",{onClick:q,className:"rounded-full p-2 hover:bg-white/10 transition-colors",title:"Rotate",children:jsx(RotateCw,{className:"h-5 w-5"})}),c&&jsx("button",{onClick:ne,className:"rounded-full p-2 hover:bg-white/10 transition-colors",title:"Download",children:jsx(Download,{className:"h-5 w-5"})}),d&&jsx("button",{onClick:G,className:"rounded-full p-2 hover:bg-white/10 transition-colors",title:N?"Exit fullscreen":"Fullscreen",children:N?jsx(Minimize2,{className:"h-5 w-5"}):jsx(Maximize2,{className:"h-5 w-5"})}),jsxs("button",{onClick:Y,className:"rounded-full p-2 hover:bg-white/10 transition-colors ml-2",children:[jsx(X,{className:"h-5 w-5"}),jsx("span",{className:"sr-only",children:"Close"})]})]})]}),jsxs("div",{ref:V,className:"relative flex-1 flex items-center justify-center overflow-hidden",onMouseDown:O,onMouseMove:_,onMouseUp:A,onMouseLeave:A,children:[m&&b.length>1&&jsxs(Fragment,{children:[jsx("button",{onClick:F,className:"absolute left-4 z-10 rounded-full bg-black/50 p-3 text-white hover:bg-black/70 transition-colors",children:jsx(ChevronLeft,{className:"h-6 w-6"})}),jsx("button",{onClick:I,className:"absolute right-4 z-10 rounded-full bg-black/50 p-3 text-white hover:bg-black/70 transition-colors",children:jsx(ChevronRight,{className:"h-6 w-6"})})]}),jsx("img",{src:z?.src,alt:z?.alt||"",className:u("max-h-full max-w-full object-contain transition-transform duration-200",k?"cursor-grabbing":w>1?"cursor-grab":""),style:{transform:`translate(${P.x}px, ${P.y}px) scale(${w}) rotate(${C}deg)`},draggable:false})]}),z?.description&&jsx("div",{className:"p-4 text-center text-white text-sm",children:z.description}),s&&b.length>1&&jsx("div",{className:"flex justify-center gap-2 p-4 overflow-x-auto",children:b.map((ee,tt)=>jsx("button",{onClick:()=>R(tt),className:u("h-16 w-16 flex-shrink-0 overflow-hidden rounded border-2 transition-all",v===tt?"border-white opacity-100":"border-transparent opacity-50 hover:opacity-75"),children:jsx("img",{src:ee.src,alt:ee.alt||`Thumbnail ${tt+1}`,className:"h-full w-full object-cover"})},tt))})]})]}),document.body)]})});zl.displayName="ImageViewer";var iv=({children:e,images:t,index:n=0,className:r})=>{let[o,a]=W.useState(false);return jsxs(Fragment,{children:[jsx("button",{onClick:()=>a(true),className:u("cursor-zoom-in",r),children:e}),jsx(zl,{images:t,open:o,onOpenChange:a,initialIndex:n})]})};iv.displayName="ImageViewerTrigger";var lv=cva("absolute rounded-full border-2 border-background",{variants:{color:{default:"bg-muted-foreground",primary:"bg-primary",secondary:"bg-secondary",success:"bg-success",warning:"bg-warning",danger:"bg-danger"},size:{sm:"h-2 w-2",md:"h-2.5 w-2.5",lg:"h-3 w-3"},position:{"top-right":"top-0 right-0 -translate-y-1/3 translate-x-1/3","top-left":"top-0 left-0 -translate-y-1/3 -translate-x-1/3","bottom-right":"bottom-0 right-0 translate-y-1/3 translate-x-1/3","bottom-left":"bottom-0 left-0 translate-y-1/3 -translate-x-1/3"},ping:{true:"",false:""}},defaultVariants:{color:"primary",size:"md",position:"top-right",ping:false}}),cv=W.forwardRef(({className:e,color:t,size:n,position:r,ping:o,content:a,show:s=true,offset:i,style:l,...c},d)=>{if(!s)return null;let m=a!=null;return jsxs("span",{ref:d,className:u(lv({color:t,size:m?void 0:n,position:r,ping:o}),m&&"flex h-auto w-auto min-w-[1.25rem] items-center justify-center px-1 py-0.5 text-[10px] font-medium text-white",e),style:{...l,...i!==void 0&&{transform:`translate(${r?.includes("right")?i:-i}px, ${r?.includes("top")?-i:i}px)`}},...c,children:[o&&jsx("span",{className:u("absolute inline-flex h-full w-full animate-ping rounded-full opacity-75",t==="default"&&"bg-muted-foreground",t==="primary"&&"bg-primary",t==="secondary"&&"bg-secondary",t==="success"&&"bg-success",t==="warning"&&"bg-warning",t==="danger"&&"bg-danger")}),a]})});cv.displayName="Indicator";var dv=W.forwardRef(({className:e,children:t,...n},r)=>jsx("div",{ref:r,className:u("relative inline-flex",e),...n,children:t}));dv.displayName="IndicatorWrapper";var mv=cva("relative overflow-auto",{variants:{orientation:{vertical:"",horizontal:"",both:""},size:{sm:"",md:"",lg:""}},defaultVariants:{orientation:"vertical",size:"md"}}),pv=W.forwardRef(({className:e,orientation:t,size:n,hideScrollbar:r=false,shadowColor:o="rgba(0, 0, 0, 0.1)",children:a,...s},i)=>{let l=W.useRef(null),[c,d]=W.useState({top:false,bottom:false,left:false,right:false});W.useImperativeHandle(i,()=>l.current);let m=W.useCallback(()=>{let v=l.current;if(!v)return;let{scrollTop:R,scrollLeft:w,scrollHeight:x,scrollWidth:C,clientHeight:y,clientWidth:N}=v;d({top:R>0,bottom:R<x-y-1,left:w>0,right:w<C-N-1});},[]);W.useEffect(()=>{let v=l.current;if(v)return m(),v.addEventListener("scroll",m),window.addEventListener("resize",m),()=>{v.removeEventListener("scroll",m),window.removeEventListener("resize",m);}},[m]);let p={sm:"20px",md:"40px",lg:"60px"}[n??"md"],g=t==="vertical"||t==="both",h=t==="horizontal"||t==="both",b={maskImage:[g&&c.top&&`linear-gradient(to bottom, transparent, black ${p})`,g&&c.bottom&&`linear-gradient(to top, transparent, black ${p})`,h&&c.left&&`linear-gradient(to right, transparent, black ${p})`,h&&c.right&&`linear-gradient(to left, transparent, black ${p})`].filter(Boolean).join(", ")||void 0,maskComposite:"intersect",WebkitMaskComposite:"source-in"};return jsx("div",{ref:l,className:u(mv({orientation:t,size:n}),r&&"scrollbar-hide [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]",e),style:b,...s,children:a})});pv.displayName="ScrollShadow";var fv=cva("inline-flex items-center justify-center font-mono font-medium",{variants:{variant:{default:"rounded border border-border bg-muted text-muted-foreground shadow-sm",outline:"rounded border border-border text-foreground",ghost:"text-muted-foreground"},size:{sm:"min-w-[1.25rem] px-1 py-0.5 text-[10px]",md:"min-w-[1.5rem] px-1.5 py-0.5 text-xs",lg:"min-w-[2rem] px-2 py-1 text-sm"}},defaultVariants:{variant:"default",size:"md"}}),eN={cmd:"\u2318",command:"\u2318",meta:"\u2318",ctrl:"\u2303",control:"\u2303",alt:"\u2325",option:"\u2325",shift:"\u21E7",enter:"\u21B5",return:"\u21B5",backspace:"\u232B",delete:"\u2326",escape:"\u238B",esc:"\u238B",tab:"\u21E5",space:"\u2423",up:"\u2191",down:"\u2193",left:"\u2190",right:"\u2192",pageup:"\u21DE",pagedown:"\u21DF",home:"\u2912",end:"\u2913",capslock:"\u21EA"},tN={cmd:"meta",command:"meta",ctrl:"control",alt:"alt",option:"alt",shift:"shift",enter:"enter",return:"enter",backspace:"backspace",delete:"delete",escape:"escape",esc:"escape",tab:"tab",space:" ",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright",pageup:"pageup",pagedown:"pagedown",home:"home",end:"end"},nN=e=>{let t=e.toLowerCase();return eN[t]||e.toUpperCase()},da=e=>{let t=e.toLowerCase();return tN[t]||t},Ls=e=>{let t=da(e);return ["meta","control","alt","shift"].includes(t)},gv=W.forwardRef(({className:e,variant:t,size:n,keys:r,children:o,onPress:a,disabled:s,preventDefault:i=true,...l},c)=>{W.useEffect(()=>{if(!a||!r||s)return;let m=Array.isArray(r)?r:[r],f=m.filter(Ls).map(da),p=m.filter(h=>!Ls(h)).map(da),g=h=>{let b=f.includes("meta")===h.metaKey,v=f.includes("control")===h.ctrlKey,R=f.includes("alt")===h.altKey,w=f.includes("shift")===h.shiftKey,x=p.length===0||p.includes(h.key.toLowerCase());b&&v&&R&&w&&x&&(i&&h.preventDefault(),a(h));};return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[r,a,s,i]);let d=()=>r?(Array.isArray(r)?r:[r]).map((f,p)=>jsxs(W.Fragment,{children:[p>0&&jsx("span",{className:"mx-0.5 text-muted-foreground",children:"+"}),jsx("span",{children:nN(f)})]},p)):o;return jsx("kbd",{ref:c,className:u(fv({variant:t,size:n}),s&&"opacity-50",e),...l,children:d()})});gv.displayName="Kbd";function rN(e,t,n={}){let{disabled:r=false,preventDefault:o=true}=n;W.useEffect(()=>{if(r)return;let a=Array.isArray(e)?e:[e],s=a.filter(Ls).map(da),i=a.filter(c=>!Ls(c)).map(da),l=c=>{let d=s.includes("meta")===c.metaKey,m=s.includes("control")===c.ctrlKey,f=s.includes("alt")===c.altKey,p=s.includes("shift")===c.shiftKey,g=i.length===0||i.includes(c.key.toLowerCase());d&&m&&f&&p&&g&&(o&&c.preventDefault(),t(c));};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[e,t,r,o]);}var bv=cva("inline-flex items-center justify-center rounded-md transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"hover:bg-muted",solid:"bg-muted hover:bg-muted/80",ghost:"hover:bg-accent hover:text-accent-foreground",outline:"border border-input hover:bg-accent hover:text-accent-foreground"},size:{sm:"h-7 w-7",md:"h-8 w-8",lg:"h-10 w-10"}},defaultVariants:{variant:"default",size:"md"}}),vv=W.forwardRef(({className:e,variant:t,size:n,value:r,successDuration:o=2e3,onCopySuccess:a,onCopyError:s,copyIcon:i,successIcon:l,...c},d)=>{let[m,f]=W.useState(false),p={sm:14,md:16,lg:20}[n??"md"],g=async()=>{try{await navigator.clipboard.writeText(r),f(!0),a?.(),setTimeout(()=>{f(!1);},o);}catch(h){s?.(h);}};return jsx("button",{ref:d,type:"button",className:u(bv({variant:t,size:n}),e),onClick:g,"aria-label":m?"Copied":"Copy to clipboard",...c,children:m?l??jsx(Check,{className:"text-success",style:{width:p,height:p}}):i??jsx(Copy,{style:{width:p,height:p}})})});vv.displayName="CopyButton";var xv=cva("flex flex-col bg-background",{variants:{variant:{default:"border rounded-lg",bordered:"border-2 rounded-lg",ghost:""},size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{variant:"default",size:"md"}}),uN=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],mN=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];function pN(e,t,n){let r=new Date(e,t,1),o=new Date(e,t+1,0),a=[],s=r.getDay()-n;s<0&&(s+=7);for(let l=s-1;l>=0;l--)a.push(new Date(e,t,-l));for(let l=1;l<=o.getDate();l++)a.push(new Date(e,t,l));let i=42-a.length;for(let l=1;l<=i;l++)a.push(new Date(e,t+1,l));return a}function fN(e,t){let n=[],o=e.getDay()-t;o<0&&(o+=7);let a=new Date(e);a.setDate(e.getDate()-o);for(let s=0;s<7;s++){let i=new Date(a);i.setDate(a.getDate()+s),n.push(i);}return n}function Hs(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function Ds(e){return Hs(e,new Date)}function hv(e,t){return e.filter(n=>{let r=new Date(n.start),o=new Date(n.end);return Hs(r,t)||Hs(o,t)||r<t&&o>t})}var yv=W.forwardRef(({className:e,variant:t,size:n,events:r=[],view:o="month",onViewChange:a,date:s,onDateChange:i,onEventClick:l,onSlotClick:c,weekStartsOn:d=0,locale:m="en-US",...f},p)=>{let[g,h]=W.useState(new Date),b=s??g,v=M=>{i?i(M):h(M);},R=d===1?mN:uN,w=()=>{let M=new Date(b);o==="month"?M.setMonth(M.getMonth()-1):o==="week"?M.setDate(M.getDate()-7):M.setDate(M.getDate()-1),v(M);},x=()=>{let M=new Date(b);o==="month"?M.setMonth(M.getMonth()+1):o==="week"?M.setDate(M.getDate()+7):M.setDate(M.getDate()+1),v(M);},C=()=>{v(new Date);},y=()=>o==="day"?b.toLocaleDateString(m,{weekday:"long",year:"numeric",month:"long",day:"numeric"}):b.toLocaleDateString(m,{year:"numeric",month:"long"}),N=()=>{let M=pN(b.getFullYear(),b.getMonth(),d);return jsxs("div",{className:"flex-1 flex flex-col",children:[jsx("div",{className:"grid grid-cols-7 border-b",children:R.map(P=>jsx("div",{className:"p-2 text-center font-medium text-muted-foreground",children:P},P))}),jsx("div",{className:"flex-1 grid grid-cols-7 grid-rows-6",children:M.map((P,E)=>{let D=hv(r,P),H=P.getMonth()===b.getMonth();return jsxs("div",{className:u("min-h-[80px] border-b border-r p-1 cursor-pointer hover:bg-accent/50 transition-colors",!H&&"bg-muted/30"),onClick:()=>c?.(P),children:[jsx("div",{className:u("flex items-center justify-center w-7 h-7 rounded-full text-sm mb-1",Ds(P)&&"bg-primary text-primary-foreground",!H&&"text-muted-foreground"),children:P.getDate()}),jsxs("div",{className:"space-y-0.5",children:[D.slice(0,3).map(L=>jsx("div",{className:"text-xs px-1 py-0.5 rounded truncate cursor-pointer hover:opacity-80",style:{backgroundColor:L.color||"hsl(var(--primary))",color:"white"},onClick:S=>{S.stopPropagation(),l?.(L);},children:L.title},L.id)),D.length>3&&jsxs("div",{className:"text-xs text-muted-foreground px-1",children:["+",D.length-3," more"]})]})]},E)})})]})},T=()=>{let M=fN(b,d),P=Array.from({length:24},(E,D)=>D);return jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[jsxs("div",{className:"grid grid-cols-[60px_repeat(7,1fr)] border-b",children:[jsx("div",{className:"p-2"}),M.map((E,D)=>jsxs("div",{className:u("p-2 text-center border-l",Ds(E)&&"bg-primary/10"),children:[jsx("div",{className:"text-xs text-muted-foreground",children:R[D]}),jsx("div",{className:u("text-lg font-semibold",Ds(E)&&"text-primary"),children:E.getDate()})]},D))]}),jsx("div",{className:"flex-1 overflow-auto",children:jsx("div",{className:"grid grid-cols-[60px_repeat(7,1fr)]",children:P.map(E=>jsxs(W.Fragment,{children:[jsxs("div",{className:"h-12 text-xs text-muted-foreground text-right pr-2 pt-0 border-b",children:[E.toString().padStart(2,"0"),":00"]}),M.map((D,H)=>{let L=new Date(D);L.setHours(E,0,0,0);let S=r.filter(V=>{let z=new Date(V.start);return Hs(z,D)&&z.getHours()===E});return jsx("div",{className:"h-12 border-b border-l cursor-pointer hover:bg-accent/50 relative",onClick:()=>c?.(L),children:S.map(V=>jsx("div",{className:"absolute inset-x-0.5 top-0.5 text-xs px-1 py-0.5 rounded truncate cursor-pointer",style:{backgroundColor:V.color||"hsl(var(--primary))",color:"white"},onClick:z=>{z.stopPropagation(),l?.(V);},children:V.title},V.id))},H)})]},E))})})]})},k=()=>{let M=Array.from({length:24},(E,D)=>D),P=hv(r,b);return jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[jsx("div",{className:"p-4 border-b text-center",children:jsx("div",{className:u("inline-flex items-center justify-center w-12 h-12 rounded-full text-2xl font-semibold",Ds(b)&&"bg-primary text-primary-foreground"),children:b.getDate()})}),jsx("div",{className:"flex-1 overflow-auto",children:jsx("div",{className:"grid grid-cols-[60px_1fr]",children:M.map(E=>{let D=new Date(b);D.setHours(E,0,0,0);let H=P.filter(L=>new Date(L.start).getHours()===E);return jsxs(W.Fragment,{children:[jsxs("div",{className:"h-12 text-xs text-muted-foreground text-right pr-2 pt-0 border-b",children:[E.toString().padStart(2,"0"),":00"]}),jsx("div",{className:"h-12 border-b border-l cursor-pointer hover:bg-accent/50 relative",onClick:()=>c?.(D),children:H.map(L=>jsx("div",{className:"absolute inset-x-1 top-0.5 text-xs px-2 py-1 rounded truncate cursor-pointer",style:{backgroundColor:L.color||"hsl(var(--primary))",color:"white"},onClick:S=>{S.stopPropagation(),l?.(L);},children:L.title},L.id))})]},E)})})})]})};return jsxs("div",{ref:p,className:u(xv({variant:t,size:n,className:e})),...f,children:[jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx(oe,{variant:"bordered",size:"sm",onClick:C,children:"Today"}),jsx(oe,{variant:"ghost",size:"icon",onClick:w,children:jsx(ChevronLeft,{className:"h-4 w-4"})}),jsx(oe,{variant:"ghost",size:"icon",onClick:x,children:jsx(ChevronRight,{className:"h-4 w-4"})}),jsx("h2",{className:"text-lg font-semibold ml-2",children:y()})]}),jsx("div",{className:"flex items-center gap-1 border rounded-lg p-1",children:["month","week","day"].map(M=>jsx(oe,{variant:o===M?"solid":"ghost",size:"sm",onClick:()=>a?.(M),children:M.charAt(0).toUpperCase()+M.slice(1)},M))})]}),o==="month"&&N(),o==="week"&&T(),o==="day"&&k()]})});yv.displayName="FullCalendar";var ma=cva("w-full",{variants:{size:{sm:"h-48",md:"h-64",lg:"h-96"}},defaultVariants:{size:"md"}}),pa=["hsl(var(--primary))","hsl(var(--chart-1, 220 70% 50%))","hsl(var(--chart-2, 160 60% 45%))","hsl(var(--chart-3, 30 80% 55%))","hsl(var(--chart-4, 280 65% 60%))"],Rv=W.forwardRef(({className:e,size:t,data:n,dataKeys:r,colors:o=pa,showGrid:a=true,showLegend:s=true,showTooltip:i=true,xAxisKey:l="name",curveType:c="monotone",...d},m)=>jsx("div",{ref:m,className:u(ma({size:t,className:e})),...d,children:jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(LineChart,{data:n,children:[a&&jsx(CartesianGrid,{strokeDasharray:"3 3",className:"stroke-muted"}),jsx(XAxis,{dataKey:l,className:"text-xs fill-muted-foreground",tickLine:false,axisLine:false}),jsx(YAxis,{className:"text-xs fill-muted-foreground",tickLine:false,axisLine:false}),i&&jsx(Tooltip,{contentStyle:{backgroundColor:"hsl(var(--popover))",border:"1px solid hsl(var(--border))",borderRadius:"var(--radius)"},labelStyle:{color:"hsl(var(--popover-foreground))"}}),s&&jsx(Legend,{}),r.map((f,p)=>jsx(Line,{type:c,dataKey:f,stroke:o[p%o.length],strokeWidth:2,dot:{fill:o[p%o.length],strokeWidth:0},activeDot:{r:6}},f))]})})}));Rv.displayName="LineChart";var wv=W.forwardRef(({className:e,size:t,data:n,dataKeys:r,colors:o=pa,showGrid:a=true,showLegend:s=true,showTooltip:i=true,xAxisKey:l="name",stacked:c=false,layout:d="horizontal",...m},f)=>jsx("div",{ref:f,className:u(ma({size:t,className:e})),...m,children:jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(BarChart,{data:n,layout:d,children:[a&&jsx(CartesianGrid,{strokeDasharray:"3 3",className:"stroke-muted"}),jsx(XAxis,{dataKey:d==="horizontal"?l:void 0,type:d==="horizontal"?"category":"number",className:"text-xs fill-muted-foreground",tickLine:false,axisLine:false}),jsx(YAxis,{dataKey:d==="vertical"?l:void 0,type:d==="vertical"?"category":"number",className:"text-xs fill-muted-foreground",tickLine:false,axisLine:false}),i&&jsx(Tooltip,{contentStyle:{backgroundColor:"hsl(var(--popover))",border:"1px solid hsl(var(--border))",borderRadius:"var(--radius)"},labelStyle:{color:"hsl(var(--popover-foreground))"}}),s&&jsx(Legend,{}),r.map((p,g)=>jsx(Bar,{dataKey:p,fill:o[g%o.length],stackId:c?"stack":void 0,radius:[4,4,0,0]},p))]})})}));wv.displayName="BarChart";var Cv=W.forwardRef(({className:e,size:t,data:n,dataKey:r="value",nameKey:o="name",colors:a=pa,innerRadius:s=0,outerRadius:i=80,showLegend:l=true,showTooltip:c=true,showLabels:d=false,...m},f)=>jsx("div",{ref:f,className:u(ma({size:t,className:e})),...m,children:jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(PieChart,{children:[c&&jsx(Tooltip,{contentStyle:{backgroundColor:"hsl(var(--popover))",border:"1px solid hsl(var(--border))",borderRadius:"var(--radius)"}}),l&&jsx(Legend,{}),jsx(Pie,{data:n,dataKey:r,nameKey:o,cx:"50%",cy:"50%",innerRadius:s,outerRadius:i,label:d,labelLine:d,children:n.map((p,g)=>jsx(Cell,{fill:a[g%a.length]},`cell-${g}`))})]})})}));Cv.displayName="PieChart";var Tv=W.forwardRef(({className:e,size:t,data:n,dataKeys:r,colors:o=pa,showGrid:a=true,showLegend:s=true,showTooltip:i=true,xAxisKey:l="name",stacked:c=false,curveType:d="monotone",...m},f)=>jsx("div",{ref:f,className:u(ma({size:t,className:e})),...m,children:jsx(ResponsiveContainer,{width:"100%",height:"100%",children:jsxs(AreaChart,{data:n,children:[a&&jsx(CartesianGrid,{strokeDasharray:"3 3",className:"stroke-muted"}),jsx(XAxis,{dataKey:l,className:"text-xs fill-muted-foreground",tickLine:false,axisLine:false}),jsx(YAxis,{className:"text-xs fill-muted-foreground",tickLine:false,axisLine:false}),i&&jsx(Tooltip,{contentStyle:{backgroundColor:"hsl(var(--popover))",border:"1px solid hsl(var(--border))",borderRadius:"var(--radius)"},labelStyle:{color:"hsl(var(--popover-foreground))"}}),s&&jsx(Legend,{}),r.map((p,g)=>jsx(Area,{type:d,dataKey:p,stroke:o[g%o.length],fill:o[g%o.length],fillOpacity:.3,stackId:c?"stack":void 0},p))]})})}));Tv.displayName="AreaChart";var kv=cva("flex gap-4 overflow-x-auto p-4",{variants:{variant:{default:"bg-muted/30",bordered:"border rounded-lg bg-background",ghost:""}},defaultVariants:{variant:"default"}}),Pv=cva("flex flex-col min-w-[280px] w-[280px] rounded-lg",{variants:{variant:{default:"bg-muted/50",bordered:"border bg-background",ghost:"bg-transparent"}},defaultVariants:{variant:"default"}}),Wl=cva("rounded-lg p-3 cursor-grab active:cursor-grabbing transition-all",{variants:{variant:{default:"bg-background border shadow-sm hover:shadow-md",bordered:"border-2 bg-background hover:border-primary/50",ghost:"bg-muted/50 hover:bg-muted"},isDragging:{true:"opacity-50 scale-[1.02] shadow-lg",false:""}},defaultVariants:{variant:"default",isDragging:false}});function zN({card:e,columnId:t,variant:n,renderCard:r,onCardClick:o}){let{attributes:a,listeners:s,setNodeRef:i,transform:l,transition:c,isDragging:d}=useSortable({id:e.id,data:{columnId:t}}),m={transform:CSS.Transform.toString(l),transition:c};return jsx("div",{ref:i,style:m,className:u(Wl({variant:n,isDragging:d})),onClick:()=>o?.(e,t),...a,...s,children:r?r(e,t):jsxs("div",{className:"flex items-start gap-2",children:[jsx(GripVertical,{className:"h-4 w-4 text-muted-foreground flex-shrink-0 mt-0.5"}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("p",{className:"font-medium text-sm truncate",children:e.title}),e.description&&jsx("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-2",children:e.description})]})]})})}function ON({column:e,variant:t,renderCard:n,onCardClick:r,onAddCard:o,showAddCard:a,columnHeight:s}){return jsxs("div",{className:u(Pv({variant:t})),children:[jsxs("div",{className:"flex items-center justify-between p-3 border-b",children:[jsxs("div",{className:"flex items-center gap-2",children:[e.color&&jsx("div",{className:"w-3 h-3 rounded-full",style:{backgroundColor:e.color}}),jsx("h3",{className:"font-semibold text-sm",children:e.title}),jsx("span",{className:"text-xs text-muted-foreground bg-muted px-2 py-0.5 rounded-full",children:e.cards.length})]}),a&&jsx(oe,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>o?.(e.id),children:jsx(Plus,{className:"h-4 w-4"})})]}),jsx(ze,{style:{height:s},children:jsxs("div",{className:"p-2 space-y-2",children:[jsx(SortableContext,{items:e.cards.map(i=>i.id),strategy:verticalListSortingStrategy,children:e.cards.map(i=>jsx(zN,{card:i,columnId:e.id,variant:t,renderCard:n,onCardClick:r},i.id))}),e.cards.length===0&&jsx("div",{className:"h-20 border-2 border-dashed rounded-lg flex items-center justify-center text-muted-foreground text-sm",children:"Drop here"})]})})]})}var Ev=W.forwardRef(({className:e,variant:t,columns:n,onCardMove:r,onCardClick:o,onAddCard:a,renderCard:s,showAddCard:i=true,columnHeight:l=500,...c},d)=>{let[m,f]=W.useState(null),[p,g]=W.useState(null),h=useSensors(useSensor(PointerSensor,{activationConstraint:{distance:8}}),useSensor(KeyboardSensor,{coordinateGetter:sortableKeyboardCoordinates})),b=x=>n.find(C=>C.cards.some(y=>y.id===x));return jsxs(DndContext,{sensors:h,collisionDetection:closestCorners,onDragStart:x=>{let{active:C}=x,y=b(C.id);if(y){let N=y.cards.find(T=>T.id===C.id);N&&(f(N),g(y.id));}},onDragOver:x=>{let{active:C,over:y}=x;if(!y)return;let N=C.id,T=y.id,k=b(N),M=b(T)||n.find(D=>D.id===T);if(!k||!M||k.id===M.id)return;let P=M.cards.findIndex(D=>D.id===T),E=P===-1?M.cards.length:P;r?.(N,k.id,M.id,E);},onDragEnd:x=>{let{active:C,over:y}=x;if(y&&C.id!==y.id){let N=b(C.id),T=b(y.id)||n.find(k=>k.id===y.id);if(N&&T){let k=T.cards.findIndex(P=>P.id===y.id),M=k===-1?T.cards.length:k;r?.(C.id,N.id,T.id,M);}}f(null),g(null);},children:[jsx("div",{ref:d,className:u(kv({variant:t,className:e})),...c,children:n.map(x=>jsx(ON,{column:x,variant:t,renderCard:s,onCardClick:o,onAddCard:a,showAddCard:i,columnHeight:l},x.id))}),jsx(DragOverlay,{children:m&&p&&jsx("div",{className:u(Wl({variant:t,isDragging:true})),children:s?s(m,p):jsxs("div",{className:"flex items-start gap-2",children:[jsx(GripVertical,{className:"h-4 w-4 text-muted-foreground flex-shrink-0 mt-0.5"}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("p",{className:"font-medium text-sm truncate",children:m.title}),m.description&&jsx("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-2",children:m.description})]})]})})})]})});Ev.displayName="KanbanBoard";var Lv=cva("relative",{variants:{variant:{default:"",bordered:"border rounded-lg p-4",cards:"rounded-lg"}},defaultVariants:{variant:"default"}}),Sv=W.createContext(null);function _l(){let e=W.useContext(Sv);if(!e)throw new Error("useCarousel must be used within a <Carousel />");return e}var Dv=W.forwardRef(({className:e,variant:t,children:n,opts:r,plugins:o,orientation:a="horizontal",showArrows:s=true,showDots:i=true,setApi:l,...c},d)=>{let[m,f]=BN({...r,axis:a==="horizontal"?"x":"y"},o),[p,g]=W.useState(false),[h,b]=W.useState(false),[v,R]=W.useState(0),[w,x]=W.useState([]),C=W.useCallback(M=>{M&&(R(M.selectedScrollSnap()),g(M.canScrollPrev()),b(M.canScrollNext()));},[]),y=W.useCallback(()=>{f?.scrollPrev();},[f]),N=W.useCallback(()=>{f?.scrollNext();},[f]),T=W.useCallback(M=>{f?.scrollTo(M);},[f]),k=W.useCallback(M=>{M.key==="ArrowLeft"?(M.preventDefault(),y()):M.key==="ArrowRight"&&(M.preventDefault(),N());},[y,N]);return W.useEffect(()=>{!f||!l||l(f);},[f,l]),W.useEffect(()=>{if(f)return x(f.scrollSnapList()),C(f),f.on("reInit",C),f.on("select",C),()=>{f?.off("select",C);}},[f,C]),jsx(Sv.Provider,{value:{carouselRef:m,api:f,scrollPrev:y,scrollNext:N,canScrollPrev:p,canScrollNext:h,selectedIndex:v,scrollSnaps:w,scrollTo:T},children:jsxs("div",{ref:d,className:u(Lv({variant:t,className:e})),onKeyDownCapture:k,role:"region","aria-roledescription":"carousel",...c,children:[jsx("div",{ref:m,className:"overflow-hidden",children:jsx("div",{className:u("flex",a==="horizontal"?"-ml-4":"-mt-4 flex-col"),children:n})}),s&&jsxs(Fragment,{children:[jsx(Yl,{}),jsx(jl,{})]}),i&&w.length>1&&jsx("div",{className:"flex justify-center gap-1.5 mt-4",children:w.map((M,P)=>jsx("button",{className:u("w-2 h-2 rounded-full transition-all",P===v?"bg-primary w-4":"bg-muted-foreground/30 hover:bg-muted-foreground/50"),onClick:()=>T(P),"aria-label":`Go to slide ${P+1}`},P))})]})})});Dv.displayName="Carousel";var Hv=W.forwardRef(({className:e,...t},n)=>jsx("div",{ref:n,className:u("flex",e),...t}));Hv.displayName="CarouselContent";var Iv=W.forwardRef(({className:e,basis:t="basis-full",...n},r)=>jsx("div",{ref:r,role:"group","aria-roledescription":"slide",className:u("min-w-0 shrink-0 grow-0 pl-4",t,e),...n}));Iv.displayName="CarouselItem";var Yl=W.forwardRef(({className:e,variant:t="bordered",size:n="icon",...r},o)=>{let{scrollPrev:a,canScrollPrev:s}=_l();return jsxs(oe,{ref:o,variant:t,size:n,className:u("absolute left-2 top-1/2 -translate-y-1/2 h-8 w-8 rounded-full",e),disabled:!s,onClick:a,...r,children:[jsx(ChevronLeft,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Previous slide"})]})});Yl.displayName="CarouselPrevious";var jl=W.forwardRef(({className:e,variant:t="bordered",size:n="icon",...r},o)=>{let{scrollNext:a,canScrollNext:s}=_l();return jsxs(oe,{ref:o,variant:t,size:n,className:u("absolute right-2 top-1/2 -translate-y-1/2 h-8 w-8 rounded-full",e),disabled:!s,onClick:a,...r,children:[jsx(ChevronRight,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Next slide"})]})});jl.displayName="CarouselNext";var Vv=cva("flex flex-col bg-popover border rounded-lg shadow-md",{variants:{size:{sm:"w-64 h-72",md:"w-80 h-96",lg:"w-96 h-[480px]"}},defaultVariants:{size:"md"}}),Bs={recent:{icon:"\u{1F550}",name:"Recent"},smileys:{icon:"\u{1F600}",name:"Smileys & Emotion"},people:{icon:"\u{1F44B}",name:"People & Body"},animals:{icon:"\u{1F43B}",name:"Animals & Nature"},food:{icon:"\u{1F354}",name:"Food & Drink"},travel:{icon:"\u{1F697}",name:"Travel & Places"},activities:{icon:"\u26BD",name:"Activities"},objects:{icon:"\u{1F4A1}",name:"Objects"},symbols:{icon:"\u2764\uFE0F",name:"Symbols"},flags:{icon:"\u{1F3F3}\uFE0F",name:"Flags"}},ql={smileys:["\u{1F600}","\u{1F603}","\u{1F604}","\u{1F601}","\u{1F606}","\u{1F605}","\u{1F923}","\u{1F602}","\u{1F642}","\u{1F643}","\u{1F609}","\u{1F60A}","\u{1F607}","\u{1F970}","\u{1F60D}","\u{1F929}","\u{1F618}","\u{1F617}","\u263A\uFE0F","\u{1F61A}","\u{1F60B}","\u{1F61B}","\u{1F61C}","\u{1F92A}","\u{1F61D}","\u{1F911}","\u{1F917}","\u{1F92D}","\u{1F92B}","\u{1F914}","\u{1F910}","\u{1F928}","\u{1F610}","\u{1F611}","\u{1F636}","\u{1F60F}","\u{1F612}","\u{1F644}","\u{1F62C}","\u{1F925}","\u{1F60C}","\u{1F614}","\u{1F62A}","\u{1F924}","\u{1F634}","\u{1F637}","\u{1F912}","\u{1F915}","\u{1F922}","\u{1F92E}","\u{1F927}","\u{1F975}","\u{1F976}","\u{1F974}","\u{1F635}","\u{1F92F}","\u{1F920}","\u{1F973}","\u{1F978}","\u{1F60E}","\u{1F913}","\u{1F9D0}","\u{1F615}","\u{1F61F}","\u{1F641}","\u2639\uFE0F","\u{1F62E}","\u{1F62F}","\u{1F632}","\u{1F633}","\u{1F97A}","\u{1F626}","\u{1F627}","\u{1F628}","\u{1F630}","\u{1F625}","\u{1F622}","\u{1F62D}","\u{1F631}","\u{1F616}","\u{1F623}","\u{1F61E}","\u{1F613}","\u{1F629}","\u{1F62B}","\u{1F971}","\u{1F624}","\u{1F621}","\u{1F620}","\u{1F92C}","\u{1F608}","\u{1F47F}","\u{1F480}","\u2620\uFE0F","\u{1F4A9}","\u{1F921}","\u{1F479}","\u{1F47A}","\u{1F47B}","\u{1F47D}"],people:["\u{1F44B}","\u{1F91A}","\u{1F590}\uFE0F","\u270B","\u{1F596}","\u{1F44C}","\u{1F90C}","\u{1F90F}","\u270C\uFE0F","\u{1F91E}","\u{1F91F}","\u{1F918}","\u{1F919}","\u{1F448}","\u{1F449}","\u{1F446}","\u{1F595}","\u{1F447}","\u261D\uFE0F","\u{1F44D}","\u{1F44E}","\u270A","\u{1F44A}","\u{1F91B}","\u{1F91C}","\u{1F44F}","\u{1F64C}","\u{1F450}","\u{1F932}","\u{1F91D}","\u{1F64F}","\u270D\uFE0F","\u{1F485}","\u{1F933}","\u{1F4AA}","\u{1F9BE}","\u{1F9BF}","\u{1F9B5}","\u{1F9B6}","\u{1F442}","\u{1F9BB}","\u{1F443}","\u{1F9E0}","\u{1FAC0}","\u{1FAC1}","\u{1F9B7}","\u{1F9B4}","\u{1F440}","\u{1F441}\uFE0F","\u{1F445}","\u{1F444}","\u{1F476}","\u{1F9D2}","\u{1F466}","\u{1F467}","\u{1F9D1}","\u{1F471}","\u{1F468}","\u{1F9D4}","\u{1F469}","\u{1F9D3}","\u{1F474}","\u{1F475}","\u{1F64D}","\u{1F64E}","\u{1F645}","\u{1F646}","\u{1F481}","\u{1F64B}","\u{1F9CF}","\u{1F647}","\u{1F926}","\u{1F937}","\u{1F46E}","\u{1F575}\uFE0F","\u{1F482}","\u{1F977}","\u{1F477}","\u{1F934}","\u{1F478}"],animals:["\u{1F436}","\u{1F431}","\u{1F42D}","\u{1F439}","\u{1F430}","\u{1F98A}","\u{1F43B}","\u{1F43C}","\u{1F428}","\u{1F42F}","\u{1F981}","\u{1F42E}","\u{1F437}","\u{1F43D}","\u{1F438}","\u{1F435}","\u{1F648}","\u{1F649}","\u{1F64A}","\u{1F412}","\u{1F414}","\u{1F427}","\u{1F426}","\u{1F424}","\u{1F423}","\u{1F425}","\u{1F986}","\u{1F985}","\u{1F989}","\u{1F987}","\u{1F43A}","\u{1F417}","\u{1F434}","\u{1F984}","\u{1F41D}","\u{1FAB1}","\u{1F41B}","\u{1F98B}","\u{1F40C}","\u{1F41E}","\u{1F41C}","\u{1FAB0}","\u{1FAB2}","\u{1FAB3}","\u{1F99F}","\u{1F997}","\u{1F577}\uFE0F","\u{1F578}\uFE0F","\u{1F982}","\u{1F422}","\u{1F40D}","\u{1F98E}","\u{1F996}","\u{1F995}","\u{1F419}","\u{1F991}","\u{1F990}","\u{1F99E}","\u{1F980}","\u{1F421}","\u{1F420}","\u{1F41F}","\u{1F42C}","\u{1F433}","\u{1F40B}","\u{1F988}","\u{1F40A}","\u{1F405}","\u{1F406}","\u{1F993}","\u{1F98D}","\u{1F9A7}","\u{1F9A3}","\u{1F418}","\u{1F99B}","\u{1F98F}","\u{1F42A}","\u{1F42B}","\u{1F992}","\u{1F998}"],food:["\u{1F347}","\u{1F348}","\u{1F349}","\u{1F34A}","\u{1F34B}","\u{1F34C}","\u{1F34D}","\u{1F96D}","\u{1F34E}","\u{1F34F}","\u{1F350}","\u{1F351}","\u{1F352}","\u{1F353}","\u{1FAD0}","\u{1F95D}","\u{1F345}","\u{1FAD2}","\u{1F965}","\u{1F951}","\u{1F346}","\u{1F954}","\u{1F955}","\u{1F33D}","\u{1F336}\uFE0F","\u{1FAD1}","\u{1F952}","\u{1F96C}","\u{1F966}","\u{1F9C4}","\u{1F9C5}","\u{1F344}","\u{1F95C}","\u{1F330}","\u{1F35E}","\u{1F950}","\u{1F956}","\u{1FAD3}","\u{1F968}","\u{1F96F}","\u{1F95E}","\u{1F9C7}","\u{1F9C0}","\u{1F356}","\u{1F357}","\u{1F969}","\u{1F953}","\u{1F354}","\u{1F35F}","\u{1F355}","\u{1F32D}","\u{1F96A}","\u{1F32E}","\u{1F32F}","\u{1FAD4}","\u{1F959}","\u{1F9C6}","\u{1F95A}","\u{1F373}","\u{1F958}","\u{1F372}","\u{1FAD5}","\u{1F963}","\u{1F957}","\u{1F37F}","\u{1F9C8}","\u{1F9C2}","\u{1F96B}","\u{1F371}","\u{1F358}","\u{1F359}","\u{1F35A}","\u{1F35B}","\u{1F35C}","\u{1F35D}","\u{1F360}","\u{1F362}","\u{1F363}","\u{1F364}","\u{1F365}"],travel:["\u{1F697}","\u{1F695}","\u{1F699}","\u{1F68C}","\u{1F68E}","\u{1F3CE}\uFE0F","\u{1F693}","\u{1F691}","\u{1F692}","\u{1F690}","\u{1F6FB}","\u{1F69A}","\u{1F69B}","\u{1F69C}","\u{1F9AF}","\u{1F9BD}","\u{1F9BC}","\u{1F6F4}","\u{1F6B2}","\u{1F6F5}","\u{1F3CD}\uFE0F","\u{1F6FA}","\u{1F6A8}","\u{1F694}","\u{1F68D}","\u{1F698}","\u{1F696}","\u{1F6A1}","\u{1F6A0}","\u{1F69F}","\u{1F683}","\u{1F68B}","\u{1F69E}","\u{1F69D}","\u{1F684}","\u{1F685}","\u{1F688}","\u{1F682}","\u{1F686}","\u{1F687}","\u{1F68A}","\u{1F689}","\u2708\uFE0F","\u{1F6EB}","\u{1F6EC}","\u{1F6E9}\uFE0F","\u{1F4BA}","\u{1F6F0}\uFE0F","\u{1F680}","\u{1F6F8}","\u{1F681}","\u{1F6F6}","\u26F5","\u{1F6A4}","\u{1F6E5}\uFE0F","\u{1F6F3}\uFE0F","\u26F4\uFE0F","\u{1F6A2}","\u2693","\u{1FA9D}","\u26FD","\u{1F6A7}","\u{1F6A6}","\u{1F6A5}","\u{1F68F}","\u{1F5FA}\uFE0F","\u{1F5FF}","\u{1F5FD}","\u{1F5FC}","\u{1F3F0}","\u{1F3EF}","\u{1F3DF}\uFE0F","\u{1F3A1}","\u{1F3A2}","\u{1F3A0}","\u26F2","\u26F1\uFE0F","\u{1F3D6}\uFE0F","\u{1F3DD}\uFE0F","\u{1F3DC}\uFE0F"],activities:["\u26BD","\u{1F3C0}","\u{1F3C8}","\u26BE","\u{1F94E}","\u{1F3BE}","\u{1F3D0}","\u{1F3C9}","\u{1F94F}","\u{1F3B1}","\u{1FA80}","\u{1F3D3}","\u{1F3F8}","\u{1F3D2}","\u{1F3D1}","\u{1F94D}","\u{1F3CF}","\u{1FA83}","\u{1F945}","\u26F3","\u{1FA81}","\u{1F3F9}","\u{1F3A3}","\u{1F93F}","\u{1F94A}","\u{1F94B}","\u{1F3BD}","\u{1F6F9}","\u{1F6FC}","\u{1F6F7}","\u26F8\uFE0F","\u{1F94C}","\u{1F3BF}","\u26F7\uFE0F","\u{1F3C2}","\u{1FA82}","\u{1F3CB}\uFE0F","\u{1F93C}","\u{1F938}","\u26F9\uFE0F","\u{1F93A}","\u{1F93E}","\u{1F3CC}\uFE0F","\u{1F3C7}","\u26D1\uFE0F","\u{1F9D8}","\u{1F3C4}","\u{1F3CA}","\u{1F93D}","\u{1F6A3}","\u{1F9D7}","\u{1F6B5}","\u{1F6B4}","\u{1F3C6}","\u{1F947}","\u{1F948}","\u{1F949}","\u{1F3C5}","\u{1F396}\uFE0F","\u{1F3F5}\uFE0F","\u{1F397}\uFE0F","\u{1F3AB}","\u{1F39F}\uFE0F","\u{1F3AA}","\u{1F939}","\u{1F3AD}","\u{1FA70}","\u{1F3A8}","\u{1F3AC}","\u{1F3A4}","\u{1F3A7}","\u{1F3BC}","\u{1F3B9}","\u{1F941}","\u{1FA98}","\u{1F3B7}","\u{1F3BA}","\u{1FA97}","\u{1F3B8}","\u{1FA95}"],objects:["\u231A","\u{1F4F1}","\u{1F4F2}","\u{1F4BB}","\u2328\uFE0F","\u{1F5A5}\uFE0F","\u{1F5A8}\uFE0F","\u{1F5B1}\uFE0F","\u{1F5B2}\uFE0F","\u{1F579}\uFE0F","\u{1F5DC}\uFE0F","\u{1F4BD}","\u{1F4BE}","\u{1F4BF}","\u{1F4C0}","\u{1F4FC}","\u{1F4F7}","\u{1F4F8}","\u{1F4F9}","\u{1F3A5}","\u{1F4FD}\uFE0F","\u{1F39E}\uFE0F","\u{1F4DE}","\u260E\uFE0F","\u{1F4DF}","\u{1F4E0}","\u{1F4FA}","\u{1F4FB}","\u{1F399}\uFE0F","\u{1F39A}\uFE0F","\u{1F39B}\uFE0F","\u{1F9ED}","\u23F1\uFE0F","\u23F2\uFE0F","\u23F0","\u{1F570}\uFE0F","\u231B","\u23F3","\u{1F4E1}","\u{1F50B}","\u{1F50C}","\u{1F4A1}","\u{1F526}","\u{1F56F}\uFE0F","\u{1FA94}","\u{1F9EF}","\u{1F6E2}\uFE0F","\u{1F4B8}","\u{1F4B5}","\u{1F4B4}","\u{1F4B6}","\u{1F4B7}","\u{1FA99}","\u{1F4B0}","\u{1F4B3}","\u{1F48E}","\u2696\uFE0F","\u{1FA9C}","\u{1F9F0}","\u{1FA9B}","\u{1F527}","\u{1F528}","\u2692\uFE0F","\u{1F6E0}\uFE0F","\u26CF\uFE0F","\u{1FA9A}","\u{1F529}","\u2699\uFE0F","\u{1FAA4}","\u{1F9F1}","\u26D3\uFE0F","\u{1F9F2}","\u{1F52B}","\u{1F4A3}","\u{1F9E8}","\u{1FA93}","\u{1F52A}","\u{1F5E1}\uFE0F","\u2694\uFE0F","\u{1F6E1}\uFE0F"],symbols:["\u2764\uFE0F","\u{1F9E1}","\u{1F49B}","\u{1F49A}","\u{1F499}","\u{1F49C}","\u{1F5A4}","\u{1F90D}","\u{1F90E}","\u{1F494}","\u2763\uFE0F","\u{1F495}","\u{1F49E}","\u{1F493}","\u{1F497}","\u{1F496}","\u{1F498}","\u{1F49D}","\u{1F49F}","\u262E\uFE0F","\u271D\uFE0F","\u262A\uFE0F","\u{1F549}\uFE0F","\u2638\uFE0F","\u2721\uFE0F","\u{1F52F}","\u{1F54E}","\u262F\uFE0F","\u2626\uFE0F","\u{1F6D0}","\u26CE","\u2648","\u2649","\u264A","\u264B","\u264C","\u264D","\u264E","\u264F","\u2650","\u2651","\u2652","\u2653","\u{1F194}","\u269B\uFE0F","\u{1F251}","\u2622\uFE0F","\u2623\uFE0F","\u{1F4F4}","\u{1F4F3}","\u{1F236}","\u{1F21A}","\u{1F238}","\u{1F23A}","\u{1F237}\uFE0F","\u2734\uFE0F","\u{1F19A}","\u{1F4AE}","\u{1F250}","\u3299\uFE0F","\u3297\uFE0F","\u{1F234}","\u{1F235}","\u{1F239}","\u{1F232}","\u{1F170}\uFE0F","\u{1F171}\uFE0F","\u{1F18E}","\u{1F191}","\u{1F17E}\uFE0F","\u{1F198}","\u274C","\u2B55","\u{1F6D1}","\u26D4","\u{1F4DB}","\u{1F6AB}","\u{1F4AF}","\u{1F4A2}","\u2668\uFE0F"],flags:["\u{1F3F3}\uFE0F","\u{1F3F4}","\u{1F3C1}","\u{1F6A9}","\u{1F3F3}\uFE0F\u200D\u{1F308}","\u{1F3F3}\uFE0F\u200D\u26A7\uFE0F","\u{1F1FA}\u{1F1F3}","\u{1F1E6}\u{1F1EB}","\u{1F1E6}\u{1F1F1}","\u{1F1E9}\u{1F1FF}","\u{1F1E6}\u{1F1F8}","\u{1F1E6}\u{1F1E9}","\u{1F1E6}\u{1F1F4}","\u{1F1E6}\u{1F1EE}","\u{1F1E6}\u{1F1F6}","\u{1F1E6}\u{1F1EC}","\u{1F1E6}\u{1F1F7}","\u{1F1E6}\u{1F1F2}","\u{1F1E6}\u{1F1FC}","\u{1F1E6}\u{1F1FA}","\u{1F1E6}\u{1F1F9}","\u{1F1E6}\u{1F1FF}","\u{1F1E7}\u{1F1F8}","\u{1F1E7}\u{1F1ED}","\u{1F1E7}\u{1F1E9}","\u{1F1E7}\u{1F1E7}","\u{1F1E7}\u{1F1FE}","\u{1F1E7}\u{1F1EA}","\u{1F1E7}\u{1F1FF}","\u{1F1E7}\u{1F1EF}","\u{1F1E7}\u{1F1F2}","\u{1F1E7}\u{1F1F9}","\u{1F1E7}\u{1F1F4}","\u{1F1E7}\u{1F1E6}","\u{1F1E7}\u{1F1FC}","\u{1F1E7}\u{1F1F7}","\u{1F1E7}\u{1F1F3}","\u{1F1E7}\u{1F1EC}","\u{1F1E7}\u{1F1EB}","\u{1F1E7}\u{1F1EE}","\u{1F1E8}\u{1F1FB}","\u{1F1F0}\u{1F1ED}","\u{1F1E8}\u{1F1F2}","\u{1F1E8}\u{1F1E6}","\u{1F1E8}\u{1F1EB}","\u{1F1F9}\u{1F1E9}","\u{1F1E8}\u{1F1F1}","\u{1F1E8}\u{1F1F3}","\u{1F1E8}\u{1F1F4}","\u{1F1F0}\u{1F1F2}","\u{1F1E8}\u{1F1EC}","\u{1F1E8}\u{1F1E9}","\u{1F1E8}\u{1F1F7}","\u{1F1ED}\u{1F1F7}","\u{1F1E8}\u{1F1FA}","\u{1F1E8}\u{1F1FE}","\u{1F1E8}\u{1F1FF}","\u{1F1E9}\u{1F1F0}","\u{1F1E9}\u{1F1EF}","\u{1F1E9}\u{1F1F2}","\u{1F1E9}\u{1F1F4}","\u{1F1EA}\u{1F1E8}","\u{1F1EA}\u{1F1EC}","\u{1F1F8}\u{1F1FB}","\u{1F1EC}\u{1F1F6}","\u{1F1EA}\u{1F1F7}","\u{1F1EA}\u{1F1EA}","\u{1F1EA}\u{1F1F9}","\u{1F1EA}\u{1F1FA}","\u{1F1EB}\u{1F1EF}","\u{1F1EB}\u{1F1EE}","\u{1F1EB}\u{1F1F7}","\u{1F1EC}\u{1F1E6}","\u{1F1EC}\u{1F1F2}","\u{1F1EC}\u{1F1EA}","\u{1F1E9}\u{1F1EA}","\u{1F1EC}\u{1F1ED}","\u{1F1EC}\u{1F1F7}","\u{1F1EC}\u{1F1F9}","\u{1F1EC}\u{1F1F3}"]},Av=W.forwardRef(({className:e,size:t,onEmojiSelect:n,recentEmojis:r=[],defaultCategory:o="smileys",showSearch:a=true,showCategories:s=true,...i},l)=>{let[c,d]=W.useState(r.length>0?"recent":o),[m,f]=W.useState(""),g=m?Object.values(ql).flat().filter(b=>b.toLowerCase().includes(m.toLowerCase())):c==="recent"?r:ql[c]||[],h=b=>{n?.(b);};return jsxs("div",{ref:l,className:u(Vv({size:t,className:e})),...i,children:[a&&jsx("div",{className:"p-2 border-b",children:jsxs("div",{className:"relative",children:[jsx(Search,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),jsx(za,{placeholder:"Search emojis...",value:m,onChange:b=>f(b.target.value),className:"pl-8 h-8"})]})}),s&&!m&&jsx("div",{className:"flex border-b px-1",children:Object.entries(Bs).map(([b,{icon:v}])=>b==="recent"&&r.length===0?null:jsx("button",{className:u("flex-1 p-2 text-lg hover:bg-accent rounded transition-colors",c===b&&"bg-accent"),onClick:()=>d(b),title:Bs[b].name,children:v},b))}),!m&&jsx("div",{className:"px-3 py-1.5 text-xs font-medium text-muted-foreground",children:Bs[c].name}),jsx(ze,{className:"flex-1",children:jsxs("div",{className:"grid grid-cols-8 gap-1 p-2",children:[g.map((b,v)=>jsx("button",{className:"w-8 h-8 flex items-center justify-center text-xl hover:bg-accent rounded transition-colors",onClick:()=>h(b),children:b},`${b}-${v}`)),g.length===0&&jsx("div",{className:"col-span-8 py-8 text-center text-muted-foreground text-sm",children:"No emojis found"})]})})]})});Av.displayName="EmojiPicker";var zv=cva("flex flex-col border rounded-lg bg-background overflow-hidden",{variants:{variant:{default:"",bordered:"border-2",ghost:"border-transparent"},size:{sm:"",md:"",lg:""}},defaultVariants:{variant:"default",size:"md"}}),vk=cva("flex flex-wrap items-center gap-0.5 p-1 border-b",{variants:{size:{sm:"p-0.5",md:"p-1",lg:"p-1.5"}},defaultVariants:{size:"md"}}),hk=cva("flex-1 overflow-auto prose prose-sm max-w-none dark:prose-invert [&_.ProseMirror]:outline-none [&_.ProseMirror]:min-h-[inherit] [&_.ProseMirror.is-editor-empty:first-child::before]:text-muted-foreground [&_.ProseMirror.is-editor-empty:first-child::before]:content-[attr(data-placeholder)] [&_.ProseMirror.is-editor-empty:first-child::before]:float-left [&_.ProseMirror.is-editor-empty:first-child::before]:pointer-events-none [&_.ProseMirror.is-editor-empty:first-child::before]:h-0",{variants:{size:{sm:"min-h-[100px] [&_.ProseMirror]:p-2 text-sm",md:"min-h-[150px] [&_.ProseMirror]:p-3 text-sm",lg:"min-h-[200px] [&_.ProseMirror]:p-4 text-base"}},defaultVariants:{size:"md"}}),_e=({icon:e,title:t,isActive:n,onClick:r,disabled:o})=>jsxs(Un,{children:[jsx(Wn,{children:jsx(oe,{type:"button",variant:n?"solid":"ghost",size:"icon",className:"h-7 w-7",onClick:r,disabled:o,children:e})}),jsx(_n,{side:"top",className:"text-xs",children:t})]}),Ov=W.forwardRef(({className:e,variant:t,size:n,value:r="",onChange:o,placeholder:a="Start writing...",readOnly:s=false,showToolbar:i=true,minHeight:l,maxHeight:c,onEditorReady:d,...m},f)=>{let p=useEditor({extensions:[jN.configure({heading:{levels:[1,2,3]}}),XN.configure({openOnClick:false,HTMLAttributes:{class:"text-primary underline"}}),qN,ZN.configure({types:["heading","paragraph"]}),QN.configure({placeholder:a})],content:r,editable:!s,onUpdate:({editor:h})=>{o?.(h.getHTML());},onCreate:({editor:h})=>{d?.(h);}});W.useEffect(()=>{p&&r!==p.getHTML()&&p.commands.setContent(r);},[r,p]),W.useEffect(()=>{p&&p.setEditable(!s);},[s,p]);let g=()=>{if(!p)return;let h=p.getAttributes("link").href,b=window.prompt("URL",h);if(b!==null){if(b===""){p.chain().focus().extendMarkRange("link").unsetLink().run();return}p.chain().focus().extendMarkRange("link").setLink({href:b}).run();}};return p?jsx($n,{children:jsxs("div",{ref:f,className:u(zv({variant:t,size:n,className:e})),...m,children:[i&&!s&&jsxs("div",{className:u(vk({size:n})),children:[jsx(_e,{icon:jsx(Undo,{className:"h-4 w-4"}),title:"Undo",onClick:()=>p.chain().focus().undo().run(),disabled:!p.can().undo()}),jsx(_e,{icon:jsx(Redo,{className:"h-4 w-4"}),title:"Redo",onClick:()=>p.chain().focus().redo().run(),disabled:!p.can().redo()}),jsx(Gn,{orientation:"vertical",className:"h-6 mx-1"}),jsx(_e,{icon:jsx(Heading1,{className:"h-4 w-4"}),title:"Heading 1",isActive:p.isActive("heading",{level:1}),onClick:()=>p.chain().focus().toggleHeading({level:1}).run()}),jsx(_e,{icon:jsx(Heading2,{className:"h-4 w-4"}),title:"Heading 2",isActive:p.isActive("heading",{level:2}),onClick:()=>p.chain().focus().toggleHeading({level:2}).run()}),jsx(_e,{icon:jsx(Heading3,{className:"h-4 w-4"}),title:"Heading 3",isActive:p.isActive("heading",{level:3}),onClick:()=>p.chain().focus().toggleHeading({level:3}).run()}),jsx(Gn,{orientation:"vertical",className:"h-6 mx-1"}),jsx(_e,{icon:jsx(Bold,{className:"h-4 w-4"}),title:"Bold (Ctrl+B)",isActive:p.isActive("bold"),onClick:()=>p.chain().focus().toggleBold().run()}),jsx(_e,{icon:jsx(Italic,{className:"h-4 w-4"}),title:"Italic (Ctrl+I)",isActive:p.isActive("italic"),onClick:()=>p.chain().focus().toggleItalic().run()}),jsx(_e,{icon:jsx(Underline,{className:"h-4 w-4"}),title:"Underline (Ctrl+U)",isActive:p.isActive("underline"),onClick:()=>p.chain().focus().toggleUnderline().run()}),jsx(_e,{icon:jsx(Strikethrough,{className:"h-4 w-4"}),title:"Strikethrough",isActive:p.isActive("strike"),onClick:()=>p.chain().focus().toggleStrike().run()}),jsx(Gn,{orientation:"vertical",className:"h-6 mx-1"}),jsx(_e,{icon:jsx(List,{className:"h-4 w-4"}),title:"Bullet List",isActive:p.isActive("bulletList"),onClick:()=>p.chain().focus().toggleBulletList().run()}),jsx(_e,{icon:jsx(ListOrdered,{className:"h-4 w-4"}),title:"Numbered List",isActive:p.isActive("orderedList"),onClick:()=>p.chain().focus().toggleOrderedList().run()}),jsx(Gn,{orientation:"vertical",className:"h-6 mx-1"}),jsx(_e,{icon:jsx(AlignLeft,{className:"h-4 w-4"}),title:"Align Left",isActive:p.isActive({textAlign:"left"}),onClick:()=>p.chain().focus().setTextAlign("left").run()}),jsx(_e,{icon:jsx(AlignCenter,{className:"h-4 w-4"}),title:"Align Center",isActive:p.isActive({textAlign:"center"}),onClick:()=>p.chain().focus().setTextAlign("center").run()}),jsx(_e,{icon:jsx(AlignRight,{className:"h-4 w-4"}),title:"Align Right",isActive:p.isActive({textAlign:"right"}),onClick:()=>p.chain().focus().setTextAlign("right").run()}),jsx(Gn,{orientation:"vertical",className:"h-6 mx-1"}),jsx(_e,{icon:jsx(Quote,{className:"h-4 w-4"}),title:"Blockquote",isActive:p.isActive("blockquote"),onClick:()=>p.chain().focus().toggleBlockquote().run()}),jsx(_e,{icon:jsx(Code,{className:"h-4 w-4"}),title:"Code Block",isActive:p.isActive("codeBlock"),onClick:()=>p.chain().focus().toggleCodeBlock().run()}),jsx(Gn,{orientation:"vertical",className:"h-6 mx-1"}),jsx(_e,{icon:jsx(Link,{className:"h-4 w-4"}),title:"Insert Link",isActive:p.isActive("link"),onClick:g}),jsx(_e,{icon:jsx(Unlink,{className:"h-4 w-4"}),title:"Remove Link",onClick:()=>p.chain().focus().unsetLink().run(),disabled:!p.isActive("link")})]}),jsx(EditorContent,{editor:p,className:u(hk({size:n})),style:{minHeight:l,maxHeight:c}})]})}):null});Ov.displayName="RichTextEditor";var Fv=cva("flex flex-col border rounded-lg bg-background overflow-hidden",{variants:{variant:{default:"",bordered:"border-2",ghost:"border-none bg-transparent"}},defaultVariants:{variant:"default"}});function Nk(e,t,n){return centerCrop(makeAspectCrop({unit:"%",width:90},n,e,t),e,t)}async function Bv(e,t,n=0,r=1){let o=document.createElement("canvas"),a=o.getContext("2d");if(!a)return null;let s=e.naturalWidth/e.width,i=e.naturalHeight/e.height,l=window.devicePixelRatio||1;o.width=Math.floor(t.width*s*l),o.height=Math.floor(t.height*i*l),a.scale(l,l),a.imageSmoothingQuality="high";let c=t.x*s,d=t.y*i,m=n*Math.PI/180,f=e.naturalWidth/2,p=e.naturalHeight/2;return a.save(),a.translate(-c,-d),a.translate(f,p),a.rotate(m),a.scale(r,r),a.translate(-f,-p),a.drawImage(e,0,0,e.naturalWidth,e.naturalHeight,0,0,e.naturalWidth,e.naturalHeight),a.restore(),new Promise(g=>{o.toBlob(h=>{g(h);},"image/png");})}var Kv=W.forwardRef(({className:e,variant:t,src:n,aspectRatio:r,onCropChange:o,onCropComplete:a,showZoom:s=true,showRotation:i=true,minZoom:l=1,maxZoom:c=3,circularCrop:d=false,initialCrop:m,...f},p)=>{let g=W.useRef(null),[h,b]=W.useState(),[v,R]=W.useState(),[w,x]=W.useState(1),[C,y]=W.useState(0),N=P=>{let{width:E,height:D}=P.currentTarget;if(r){let H=Nk(E,D,r);b(H);}else b(m||{unit:"%",x:10,y:10,width:80,height:80});},T=P=>{b(P),o?.(P);},k=async P=>{if(R(P),a&&g.current&&P.width&&P.height){let E=await Bv(g.current,P,C,w);a(E);}},M=()=>{y(P=>(P+90)%360);};return W.useEffect(()=>{v&&g.current&&a&&Bv(g.current,v,C,w).then(P=>{a(P);});},[w,C,v,a]),jsxs("div",{ref:p,className:u(Fv({variant:t,className:e})),...f,children:[jsx("div",{className:"flex-1 flex items-center justify-center p-4 bg-muted/30 min-h-[300px]",children:jsx(xk,{crop:h,onChange:T,onComplete:k,aspect:r,circularCrop:d,className:"max-h-[400px]",children:jsx("img",{ref:g,src:n,alt:"Crop preview",onLoad:N,style:{transform:`scale(${w}) rotate(${C}deg)`,maxHeight:"400px"}})})}),jsxs("div",{className:"flex items-center gap-4 p-3 border-t",children:[s&&jsxs("div",{className:"flex items-center gap-2 flex-1",children:[jsx(ZoomOut,{className:"h-4 w-4 text-muted-foreground"}),jsx(Za,{value:[w],onValueChange:([P])=>x(P),min:l,max:c,step:.1,className:"flex-1"}),jsx(ZoomIn,{className:"h-4 w-4 text-muted-foreground"})]}),i&&jsx(oe,{variant:"bordered",size:"icon",onClick:M,children:jsx(RotateCw,{className:"h-4 w-4"})})]})]})});Kv.displayName="ImageCropper";var ec=cva("inline-block",{variants:{variant:{default:"",bordered:"border rounded-lg p-2",card:"border rounded-lg p-4 bg-card shadow-sm"},size:{sm:"",md:"",lg:""}},defaultVariants:{variant:"default",size:"md"}}),Ek={sm:96,md:128,lg:192},$v=W.forwardRef(({className:e,variant:t,size:n,value:r,qrSize:o,fgColor:a="currentColor",bgColor:s="transparent",level:i="M",includeMargin:l=false,title:c,logo:d,logoSize:m=40,logoPadding:f=4,logoBackgroundColor:p="white",...g},h)=>{let b=o??Ek[n??"md"];return r?jsx("div",{ref:h,className:u(ec({variant:t,size:n,className:e})),...g,children:jsxs("div",{className:"relative inline-block",children:[jsx(kk,{value:r,size:b,fgColor:a,bgColor:s,level:i,title:c,style:{padding:l?16:0}}),d&&jsx("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 rounded",style:{padding:f,backgroundColor:p},children:jsx("img",{src:d,alt:"Logo",style:{width:m,height:m,objectFit:"contain"}})})]})}):jsx("div",{ref:h,className:u(ec({variant:t,size:n,className:e})),...g,children:jsx("div",{className:"flex items-center justify-center bg-muted text-muted-foreground text-xs rounded",style:{width:b,height:b},children:"No data"})})});$v.displayName="QRCode";var Uv=({children:e,defaultTheme:t="system",storageKey:n="reever-ui-theme",enableSystem:r=true,disableTransitionOnChange:o=false,attribute:a="class",forcedTheme:s,themes:i=["light","dark"]})=>jsx(ThemeProvider,{defaultTheme:t,storageKey:n,enableSystem:r,disableTransitionOnChange:o,attribute:a,forcedTheme:s,themes:i,children:e});Uv.displayName="ThemeProvider";var Ak=cva("",{variants:{variant:{default:"",bordered:"",ghost:""},size:{sm:"",md:"",lg:""}},defaultVariants:{variant:"ghost",size:"md"}}),Wv=W.forwardRef(({className:e,variant:t="ghost",size:n="md",mode:r="dropdown"},o)=>{let{theme:a,setTheme:s,resolvedTheme:i}=useTheme(),[l,c]=W.useState(false);W.useEffect(()=>{c(true);},[]);let d=()=>{let m=["light","dark","system"],p=(m.indexOf(a||"system")+1)%m.length;s(m[p]);};return l?r==="cycle"?jsxs(oe,{ref:o,variant:t==="default"?"bordered":t,size:"icon",className:u("h-9 w-9",e),onClick:d,children:[i==="dark"?jsx(Moon,{className:"h-4 w-4"}):jsx(Sun,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Toggle theme"})]}):jsxs(to,{children:[jsx(no,{children:jsxs(oe,{ref:o,variant:t==="default"?"bordered":t,size:"icon",className:u("h-9 w-9",e),children:[jsx(Sun,{className:"h-4 w-4 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),jsx(Moon,{className:"absolute h-4 w-4 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"}),jsx("span",{className:"sr-only",children:"Toggle theme"})]})}),jsxs(ro,{align:"end",children:[jsxs(Yn,{onClick:()=>s("light"),children:[jsx(Sun,{className:"mr-2 h-4 w-4"}),"Light"]}),jsxs(Yn,{onClick:()=>s("dark"),children:[jsx(Moon,{className:"mr-2 h-4 w-4"}),"Dark"]}),jsxs(Yn,{onClick:()=>s("system"),children:[jsx(Monitor,{className:"mr-2 h-4 w-4"}),"System"]})]})]}):jsxs(oe,{ref:o,variant:t==="default"?"bordered":t,size:"icon",className:u("h-9 w-9",e),disabled:true,children:[jsx(Sun,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Toggle theme"})]})});Wv.displayName="ThemeToggle";var _v=cva("flex flex-col gap-1.5",{variants:{size:{sm:"",md:"",lg:""}},defaultVariants:{size:"md"}}),Yv=cva("flex w-full rounded-md border border-input bg-background ring-offset-background file:border-0 file:bg-transparent file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",{variants:{size:{sm:"h-8 px-2.5 py-1.5 text-xs",md:"h-10 px-3 py-2 text-sm",lg:"h-12 px-4 py-3 text-base"},isInvalid:{true:"border-danger focus-visible:ring-danger",false:""}},defaultVariants:{size:"md",isInvalid:false}}),jv=cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),Xv=W.forwardRef(({className:e,label:t,description:n,errorMessage:r,isRequired:o,isInvalid:a,size:s,labelClassName:i,inputClassName:l,descriptionClassName:c,errorClassName:d,startContent:m,endContent:f,id:p,...g},h)=>{let b=W.useId(),v=p||b,R=`${v}-description`,w=`${v}-error`,x=a&&r;return jsxs("div",{className:u(_v({size:s}),e),children:[t&&jsxs("label",{htmlFor:v,className:u(jv({size:s}),i),children:[t,o&&jsx("span",{className:"text-danger ml-0.5","aria-hidden":"true",children:"*"})]}),jsxs("div",{className:"relative",children:[m&&jsx("div",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:m}),jsx("input",{ref:h,id:v,"aria-invalid":a,"aria-describedby":x?w:n?R:void 0,"aria-required":o,className:u(Yv({size:s,isInvalid:a}),m&&"pl-10",f&&"pr-10",l),...g}),f&&jsx("div",{className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:f})]}),n&&!x&&jsx("p",{id:R,className:u("text-muted-foreground",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",c),children:n}),x&&jsx("p",{id:w,role:"alert",className:u("text-danger",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",d),children:r})]})});Xv.displayName="TextField";var Qv=cva("flex flex-col gap-1.5",{variants:{size:{sm:"",md:"",lg:""}},defaultVariants:{size:"md"}}),Bk=cva("flex rounded-md border border-input bg-background placeholder:text-muted-foreground focus:outline-none transition-colors disabled:cursor-not-allowed disabled:opacity-50 text-center [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",{variants:{size:{sm:"h-8 px-8 py-1.5 text-xs",md:"h-10 px-10 py-2 text-sm",lg:"h-12 px-12 py-3 text-base"},isInvalid:{true:"border-danger focus:border-danger",false:""},fullWidth:{true:"w-full",false:"w-fit min-w-24"}},defaultVariants:{size:"md",isInvalid:false,fullWidth:false}}),qv=cva("absolute top-1/2 -translate-y-1/2 flex items-center justify-center rounded-md text-muted-foreground hover:text-foreground hover:bg-muted disabled:opacity-50 disabled:cursor-not-allowed transition-colors",{variants:{size:{sm:"h-6 w-6",md:"h-8 w-8",lg:"h-10 w-10"}},defaultVariants:{size:"md"}}),Zv=cva("",{variants:{size:{sm:"h-3 w-3",md:"h-4 w-4",lg:"h-5 w-5"}},defaultVariants:{size:"md"}}),Fk=cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),Jv=W.forwardRef(({className:e,label:t,description:n,errorMessage:r,isRequired:o,isInvalid:a,size:s,labelClassName:i,inputClassName:l,descriptionClassName:c,errorClassName:d,min:m,max:f,step:p=1,value:g,defaultValue:h,onChange:b,showButtons:v=true,formatOptions:R,fullWidth:w=false,disabled:x,id:C,...y},N)=>{let T=W.useId(),k=C||T,M=`${k}-description`,P=`${k}-error`,[E,D]=W.useState(h),[H,L]=W.useState(false),S=g!==void 0?g:E,V=a&&r,z=W.useCallback(O=>{O!==void 0&&(m!==void 0&&O<m&&(O=m),f!==void 0&&O>f&&(O=f)),g===void 0&&D(O),b?.(O);},[g,m,f,b]),F=()=>{let O=(S??0)+p;z(O);},I=()=>{let O=(S??0)-p;z(O);},K=O=>{let _=O.target.value;if(_==="")z(void 0);else {let A=parseFloat(_);isNaN(A)||z(A);}},B=O=>{O.key==="ArrowUp"?(O.preventDefault(),F()):O.key==="ArrowDown"&&(O.preventDefault(),I());},q=W.useMemo(()=>S===void 0?"":R?new Intl.NumberFormat(void 0,R).format(S):S.toString(),[S,R]),ne=m!==void 0&&S!==void 0&&S<=m,G=f!==void 0&&S!==void 0&&S>=f;return jsxs("div",{className:u(Qv({size:s}),e),children:[t&&jsxs("label",{htmlFor:k,className:u(Fk({size:s}),i),children:[t,o&&jsx("span",{className:"text-danger ml-0.5","aria-hidden":"true",children:"*"})]}),jsxs("div",{className:"relative",children:[v&&jsx("button",{type:"button",onClick:I,disabled:x||ne,className:u(qv({size:s}),"left-1"),tabIndex:-1,"aria-label":"Decrease value",children:jsx(Minus,{className:u(Zv({size:s}))})}),jsx("input",{ref:N,id:k,type:"text",inputMode:"decimal",value:q,onChange:K,onKeyDown:B,onFocus:()=>L(true),onBlur:()=>L(false),"aria-invalid":a,"aria-describedby":V?P:n?M:void 0,"aria-required":o,"aria-valuemin":m,"aria-valuemax":f,"aria-valuenow":S,disabled:x,className:u(Bk({size:s,isInvalid:a,fullWidth:w}),!v&&"px-3",l),style:{borderColor:H?"var(--color-foreground)":void 0},...y}),v&&jsx("button",{type:"button",onClick:F,disabled:x||G,className:u(qv({size:s}),"right-1"),tabIndex:-1,"aria-label":"Increase value",children:jsx(Plus,{className:u(Zv({size:s}))})})]}),n&&!V&&jsx("p",{id:M,className:u("text-muted-foreground",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",c),children:n}),V&&jsx("p",{id:P,role:"alert",className:u("text-danger",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",d),children:r})]})});Jv.displayName="NumberField";var th=cva("flex flex-col gap-1.5",{variants:{size:{sm:"",md:"",lg:""}},defaultVariants:{size:"md"}}),$k=cva("flex w-full rounded-md border border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",{variants:{size:{sm:"h-8 pl-8 pr-8 py-1.5 text-xs",md:"h-10 pl-10 pr-10 py-2 text-sm",lg:"h-12 pl-12 pr-12 py-3 text-base"},isInvalid:{true:"border-danger focus-visible:ring-danger",false:""}},defaultVariants:{size:"md",isInvalid:false}}),eh=cva("text-muted-foreground",{variants:{size:{sm:"h-3.5 w-3.5",md:"h-4 w-4",lg:"h-5 w-5"}},defaultVariants:{size:"md"}}),Uk=cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),Wk=cva("absolute top-1/2 -translate-y-1/2 flex items-center justify-center rounded-full text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",{variants:{size:{sm:"h-5 w-5 right-1.5",md:"h-6 w-6 right-2",lg:"h-7 w-7 right-2.5"}},defaultVariants:{size:"md"}}),nh=W.forwardRef(({className:e,label:t,description:n,errorMessage:r,isRequired:o,isInvalid:a,size:s,labelClassName:i,inputClassName:l,descriptionClassName:c,errorClassName:d,value:m,defaultValue:f="",onChange:p,onClear:g,onSearch:h,showClearButton:b=true,showSearchIcon:v=true,disabled:R,placeholder:w="Search...",id:x,...C},y)=>{let N=W.useId(),T=x||N,k=`${T}-description`,M=`${T}-error`,[P,E]=W.useState(f),D=m!==void 0?m:P,H=a&&r,L=D.length>0,S=F=>{let I=F.target.value;m===void 0&&E(I),p?.(I);},V=()=>{m===void 0&&E(""),p?.(""),g?.();},z=F=>{F.key==="Enter"?(F.preventDefault(),h?.(D)):F.key==="Escape"&&L&&(F.preventDefault(),V());};return jsxs("div",{className:u(th({size:s}),e),children:[t&&jsxs("label",{htmlFor:T,className:u(Uk({size:s}),i),children:[t,o&&jsx("span",{className:"text-danger ml-0.5","aria-hidden":"true",children:"*"})]}),jsxs("div",{className:"relative",children:[v&&jsx(Search,{className:u(eh({size:s}),"absolute left-3 top-1/2 -translate-y-1/2")}),jsx("input",{ref:y,id:T,type:"search",value:D,onChange:S,onKeyDown:z,placeholder:w,"aria-invalid":a,"aria-describedby":H?M:n?k:void 0,"aria-required":o,disabled:R,className:u($k({size:s,isInvalid:a}),!v&&"pl-3",!b&&"pr-3",l),...C}),b&&L&&!R&&jsx("button",{type:"button",onClick:V,className:u(Wk({size:s})),tabIndex:-1,"aria-label":"Clear search",children:jsx(X,{className:u(eh({size:s}))})})]}),n&&!H&&jsx("p",{id:k,className:u("text-muted-foreground",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",c),children:n}),H&&jsx("p",{id:M,role:"alert",className:u("text-danger",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",d),children:r})]})});nh.displayName="SearchField";var rh=cva("flex flex-col gap-1.5",{variants:{size:{sm:"",md:"",lg:""}},defaultVariants:{size:"md"}}),Yk=cva("flex rounded-md border border-input bg-background placeholder:text-muted-foreground focus:outline-none transition-colors disabled:cursor-not-allowed disabled:opacity-50 [&::-webkit-calendar-picker-indicator]:hidden",{variants:{size:{sm:"h-8 pl-3 pr-8 py-1.5 text-xs",md:"h-10 pl-3 pr-10 py-2 text-sm",lg:"h-12 pl-4 pr-12 py-3 text-base"},isInvalid:{true:"border-danger focus:border-danger",false:""},fullWidth:{true:"w-full",false:"w-fit"}},defaultVariants:{size:"md",isInvalid:false,fullWidth:false}}),jk=cva("text-muted-foreground",{variants:{size:{sm:"h-3.5 w-3.5",md:"h-4 w-4",lg:"h-5 w-5"}},defaultVariants:{size:"md"}}),Xk=cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),sc=(e,t="yyyy-MM-dd")=>{if(!e)return "";let n=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0");return t.replace("yyyy",String(n)).replace("MM",r).replace("dd",o)},qk=e=>{if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t},oh=W.forwardRef(({className:e,label:t,description:n,errorMessage:r,isRequired:o,isInvalid:a,size:s,labelClassName:i,inputClassName:l,descriptionClassName:c,errorClassName:d,value:m,defaultValue:f,onChange:p,minDate:g,maxDate:h,dateFormat:b="yyyy-MM-dd",showIcon:v=true,fullWidth:R=false,disabled:w,id:x,...C},y)=>{let N=W.useId(),T=x||N,k=`${T}-description`,M=`${T}-error`,P=W.useRef(null),E=y||P,[D,H]=W.useState(f??null),[L,S]=W.useState(false),V=()=>{!w&&E.current&&E.current.showPicker?.();},z=m!==void 0?m:D,F=a&&r,I=ne=>{let G=qk(ne.target.value);m===void 0&&H(G),p?.(G);},K=z?sc(z,"yyyy-MM-dd"):"",B=g?sc(g,"yyyy-MM-dd"):void 0,q=h?sc(h,"yyyy-MM-dd"):void 0;return jsxs("div",{className:u(rh({size:s}),e),children:[t&&jsxs("label",{htmlFor:T,className:u(Xk({size:s}),i),children:[t,o&&jsx("span",{className:"text-danger ml-0.5","aria-hidden":"true",children:"*"})]}),jsxs("div",{className:u("relative",R?"w-full":"w-fit"),children:[jsx("input",{ref:E,id:T,type:"date",value:K,onChange:I,onFocus:()=>S(true),onBlur:()=>S(false),min:B,max:q,"aria-invalid":a,"aria-describedby":F?M:n?k:void 0,"aria-required":o,disabled:w,className:u(Yk({size:s,isInvalid:a,fullWidth:R}),!v&&"pr-3",l),style:{borderColor:L?"var(--color-foreground)":void 0},...C}),v&&jsx("button",{type:"button",onClick:V,disabled:w,className:"absolute right-3 top-1/2 -translate-y-1/2 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50",tabIndex:-1,"aria-label":"Open calendar",children:jsx(Calendar,{className:u(jk({size:s}))})})]}),n&&!F&&jsx("p",{id:k,className:u("text-muted-foreground",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",c),children:n}),F&&jsx("p",{id:M,role:"alert",className:u("text-danger",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",d),children:r})]})});oh.displayName="DateField";var ah=cva("flex flex-col gap-1.5",{variants:{size:{sm:"",md:"",lg:""}},defaultVariants:{size:"md"}}),Zk=cva("inline-flex items-center rounded-md border border-input bg-background transition-colors",{variants:{size:{sm:"h-8 px-2 gap-0.5 text-xs",md:"h-10 px-3 gap-1 text-sm",lg:"h-12 px-4 gap-1.5 text-base"},isInvalid:{true:"border-danger",false:""},disabled:{true:"cursor-not-allowed opacity-50",false:""},fullWidth:{true:"w-full justify-center",false:"w-fit"}},defaultVariants:{size:"md",isInvalid:false,disabled:false,fullWidth:false}}),Qk=cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),sh=W.forwardRef(({className:e,label:t,description:n,errorMessage:r,isRequired:o,isInvalid:a,size:s,labelClassName:i,inputClassName:l,descriptionClassName:c,errorClassName:d,value:m,defaultValue:f,onChange:p,minTime:g,maxTime:h,showSeconds:b=false,hourCycle:v=24,disabled:R,fullWidth:w=false,id:x,...C},y)=>{let N=W.useId(),T=x||N,k=`${T}-description`,M=`${T}-error`,P=W.useRef(null),E=W.useRef(null),D=W.useRef(null),H=W.useRef(null),[L,S]=W.useState(f??null),V=m!==void 0?m:L,z=a&&r,F=$=>v===24?$:$===0?12:$>12?$-12:$,I=$=>$>=12?"PM":"AM",K=($,re)=>re==="AM"?$===12?0:$:$===12?12:$+12,[B,q]=W.useState(V?String(F(V.hour)).padStart(2,"0"):""),[ne,G]=W.useState(V?String(V.minute).padStart(2,"0"):""),[O,_]=W.useState(V?.second!==void 0?String(V.second).padStart(2,"0"):""),[A,Y]=W.useState(V?I(V.hour):"AM"),[se,Ce]=W.useState(false);W.useEffect(()=>{m!==void 0&&(m?(q(String(F(m.hour)).padStart(2,"0")),G(String(m.minute).padStart(2,"0")),m.second!==void 0&&_(String(m.second).padStart(2,"0")),Y(I(m.hour))):(q(""),G(""),_("")));},[m,v]);let U=($,re,j,Se)=>{let le=parseInt($,10),Ge=parseInt(re,10),$e=b?parseInt(j,10):void 0;if(isNaN(le)||isNaN(Ge)||b&&isNaN($e)){m===void 0&&S(null),p?.(null);return}let pe={hour:v===12?K(le,Se):le,minute:Ge,...b&&$e!==void 0&&{second:$e}};m===void 0&&S(pe),p?.(pe);},ct=$=>{let re=$.target.value.replace(/\D/g,"").slice(0,2);q(re);let j=v===24?23:12,Se=v===24?0:1;if(re.length===2){let le=parseInt(re,10);le>=Se&&le<=j&&(E.current?.focus(),E.current?.select());}},ee=$=>{let re=$.target.value.replace(/\D/g,"").slice(0,2);if(G(re),re.length===2){let j=parseInt(re,10);j>=0&&j<=59&&(b?(D.current?.focus(),D.current?.select()):v===12&&H.current?.focus());}},tt=$=>{let re=$.target.value.replace(/\D/g,"").slice(0,2);_(re),re.length===2&&v===12&&H.current?.focus();},On=()=>{if(B){let $=parseInt(B,10),re=v===24?23:12,Se=Math.min(Math.max($,v===24?0:1),re),le=String(Se).padStart(2,"0");q(le),U(le,ne,O,A);}},bt=()=>{if(ne){let $=parseInt(ne,10),re=Math.min(Math.max($,0),59),j=String(re).padStart(2,"0");G(j),U(B,j,O,A);}},br=()=>{if(O){let $=parseInt(O,10),re=Math.min(Math.max($,0),59),j=String(re).padStart(2,"0");_(j),U(B,ne,j,A);}},Bn=()=>{let $=A==="AM"?"PM":"AM";Y($),U(B,ne,O,$);},Bo=$=>{let re=$.key.toLowerCase();re==="a"?($.preventDefault(),A!=="AM"&&(Y("AM"),U(B,ne,O,"AM"))):re==="p"?($.preventDefault(),A!=="PM"&&(Y("PM"),U(B,ne,O,"PM"))):re==="arrowup"||re==="arrowdown"?($.preventDefault(),Bn()):re==="arrowleft"&&($.preventDefault(),b?(D.current?.focus(),D.current?.select()):(E.current?.focus(),E.current?.select()));},Ft=($,re)=>{if($.key==="ArrowUp"||$.key==="ArrowDown"){$.preventDefault();let j=$.key==="ArrowUp"?1:-1;if(re==="hour"){let Se=parseInt(B,10)||0,le=v===24?23:12,Ge=v===24?0:1,$e=Se+j;$e>le&&($e=Ge),$e<Ge&&($e=le);let Fn=String($e).padStart(2,"0");q(Fn),U(Fn,ne,O,A);}else if(re==="minute"){let le=(parseInt(ne,10)||0)+j;le>59&&(le=0),le<0&&(le=59);let Ge=String(le).padStart(2,"0");G(Ge),U(B,Ge,O,A);}else if(re==="second"){let le=(parseInt(O,10)||0)+j;le>59&&(le=0),le<0&&(le=59);let Ge=String(le).padStart(2,"0");_(Ge),U(B,ne,Ge,A);}}$.key==="ArrowRight"&&($.preventDefault(),re==="hour"?(E.current?.focus(),E.current?.select()):re==="minute"&&b?(D.current?.focus(),D.current?.select()):(re==="minute"&&!b&&v===12||re==="second"&&v===12)&&H.current?.focus()),$.key==="ArrowLeft"&&($.preventDefault(),re==="minute"?(P.current?.focus(),P.current?.select()):re==="second"&&(E.current?.focus(),E.current?.select())),$.key==="Backspace"&&$.currentTarget.value===""&&(re==="minute"?P.current?.focus():re==="second"&&E.current?.focus());},vr=u((()=>{switch(s){case "sm":return "w-5";case "lg":return "w-7";default:return "w-6"}})(),"bg-transparent text-center outline-none placeholder:text-muted-foreground tabular-nums",R&&"cursor-not-allowed");return jsxs("div",{ref:y,className:u(ah({size:s}),e),...C,children:[t&&jsxs("label",{htmlFor:T,className:u(Qk({size:s}),i),children:[t,o&&jsx("span",{className:"text-danger ml-0.5","aria-hidden":"true",children:"*"})]}),jsxs("div",{className:u(Zk({size:s,isInvalid:a,disabled:R,fullWidth:w}),l),style:{borderColor:se?"var(--color-foreground)":void 0},onFocus:()=>Ce(true),onBlur:$=>{$.currentTarget.contains($.relatedTarget)||Ce(false);},children:[jsx("input",{ref:P,id:T,type:"text",inputMode:"numeric",placeholder:v===24?"HH":"hh",value:B,onChange:ct,onBlur:On,onKeyDown:$=>Ft($,"hour"),onFocus:$=>$.target.select(),"aria-label":"Hour","aria-invalid":a,"aria-describedby":z?M:n?k:void 0,"aria-required":o,disabled:R,className:vr}),jsx("span",{className:"text-muted-foreground",children:":"}),jsx("input",{ref:E,type:"text",inputMode:"numeric",placeholder:"mm",value:ne,onChange:ee,onBlur:bt,onKeyDown:$=>Ft($,"minute"),onFocus:$=>$.target.select(),"aria-label":"Minute",disabled:R,className:vr}),b&&jsxs(Fragment,{children:[jsx("span",{className:"text-muted-foreground",children:":"}),jsx("input",{ref:D,type:"text",inputMode:"numeric",placeholder:"ss",value:O,onChange:tt,onBlur:br,onKeyDown:$=>Ft($,"second"),onFocus:$=>$.target.select(),"aria-label":"Second",disabled:R,className:vr})]}),v===12&&jsx("button",{ref:H,type:"button",onClick:Bn,onKeyDown:Bo,disabled:R,className:u("ml-0.5 rounded text-muted-foreground hover:text-foreground focus:outline-none focus:text-foreground transition-colors tabular-nums",s==="sm"?"w-6":s==="lg"?"w-8":"w-7",R&&"cursor-not-allowed"),"aria-label":"AM/PM",children:A})]}),n&&!z&&jsx("p",{id:k,className:u("text-muted-foreground",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",c),children:n}),z&&jsx("p",{id:M,role:"alert",className:u("text-danger",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",d),children:r})]})});sh.displayName="TimeField";var lh=cva("flex flex-col gap-1.5",{variants:{size:{sm:"",md:"",lg:""}},defaultVariants:{size:"md"}}),eP=cva("flex rounded-md border border-input bg-background placeholder:text-muted-foreground focus:outline-none transition-colors disabled:cursor-not-allowed disabled:opacity-50 font-mono uppercase",{variants:{size:{sm:"h-8 pl-10 pr-3 py-1.5 text-xs",md:"h-10 pl-12 pr-3 py-2 text-sm",lg:"h-12 pl-14 pr-4 py-3 text-base"},isInvalid:{true:"border-danger focus:border-danger",false:""},fullWidth:{true:"w-full",false:"w-fit"}},defaultVariants:{size:"md",isInvalid:false,fullWidth:false}}),tP=cva("absolute left-2 top-1/2 -translate-y-1/2 rounded border border-input overflow-hidden",{variants:{size:{sm:"h-5 w-5",md:"h-6 w-6",lg:"h-8 w-8"}},defaultVariants:{size:"md"}}),nP=cva("font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),ih=e=>/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/.test(e),rP=e=>(e.startsWith("#")||(e="#"+e),e.length===4&&(e="#"+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]),e.toUpperCase()),ch=W.forwardRef(({className:e,label:t,description:n,errorMessage:r,isRequired:o,isInvalid:a,size:s,labelClassName:i,inputClassName:l,descriptionClassName:c,errorClassName:d,value:m,defaultValue:f="#000000",onChange:p,showSwatch:g=true,showPicker:h=true,allowAlpha:b=false,fullWidth:v=false,disabled:R,id:w,...x},C)=>{let y=W.useId(),N=w||y,T=`${N}-picker`,k=`${N}-description`,M=`${N}-error`,[P,E]=W.useState(f),[D,H]=W.useState(false),L=m!==void 0?m:P,S=a&&r,V=K=>{let B=K.target.value;B&&!B.startsWith("#")&&(B="#"+B),m===void 0&&E(B),p?.(B);},z=K=>{let B=K.target.value.toUpperCase();m===void 0&&E(B),p?.(B);},F=()=>{if(L&&ih(L)){let K=rP(L);K!==L&&(m===void 0&&E(K),p?.(K));}},I=ih(L)?L:"#000000";return jsxs("div",{className:u(lh({size:s}),e),children:[t&&jsxs("label",{htmlFor:N,className:u(nP({size:s}),i),children:[t,o&&jsx("span",{className:"text-danger ml-0.5","aria-hidden":"true",children:"*"})]}),jsxs("div",{className:"relative",children:[g&&jsx("div",{className:u(tP({size:s})),children:h?jsxs("label",{htmlFor:T,className:"block h-full w-full cursor-pointer",children:[jsx("input",{id:T,type:"color",value:I,onChange:z,disabled:R,className:"absolute inset-0 h-full w-full cursor-pointer opacity-0",tabIndex:-1}),jsx("div",{className:"h-full w-full",style:{backgroundColor:I}})]}):jsx("div",{className:"h-full w-full",style:{backgroundColor:I}})}),jsx("input",{ref:C,id:N,type:"text",value:L,onChange:V,onFocus:()=>H(true),onBlur:()=>{H(false),F();},placeholder:"#000000",maxLength:b?9:7,"aria-invalid":a,"aria-describedby":S?M:n?k:void 0,"aria-required":o,disabled:R,className:u(eP({size:s,isInvalid:a,fullWidth:v}),!g&&"pl-3",l),style:{borderColor:D?"var(--color-foreground)":void 0},...x})]}),n&&!S&&jsx("p",{id:k,className:u("text-muted-foreground",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",c),children:n}),S&&jsx("p",{id:M,role:"alert",className:u("text-danger",s==="sm"?"text-xs":s==="lg"?"text-sm":"text-xs",d),children:r})]})});ch.displayName="ColorField";var uh=cva("inline-flex",{variants:{variant:{default:"",attached:"[&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-l-none [&>*:not(:first-child)]:-ml-px"},orientation:{horizontal:"flex-row",vertical:"flex-col [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-b-none [&>*:last-child]:rounded-t-none [&>*:not(:first-child)]:-mt-px [&>*:not(:first-child)]:ml-0"},spacing:{none:"gap-0",sm:"gap-1",md:"gap-2",lg:"gap-3"}},compoundVariants:[{variant:"attached",spacing:["sm","md","lg"],className:"gap-0"}],defaultVariants:{variant:"default",orientation:"horizontal",spacing:"sm"}}),mh=W.createContext({});function aP(){return W.useContext(mh)}var ph=W.forwardRef(({className:e,variant:t,orientation:n,spacing:r,disabled:o,children:a,...s},i)=>jsx(mh.Provider,{value:{disabled:o},children:jsx("div",{ref:i,role:"group",className:u(uh({variant:t,orientation:n,spacing:r,className:e})),...s,children:a})}));ph.displayName="ButtonGroup";var gh=cva("inline-flex items-center",{variants:{variant:{default:"gap-1",compact:"gap-0.5",attached:"[&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-r-none [&>*:last-child]:rounded-l-none [&>*:not(:first-child)]:-ml-px gap-0"},orientation:{horizontal:"flex-row",vertical:"flex-col [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child]:rounded-b-none [&>*:last-child]:rounded-t-none [&>*:not(:first-child)]:-mt-px [&>*:not(:first-child)]:ml-0"},size:{sm:"",md:"",lg:""},density:{compact:"gap-0.5",regular:"gap-1",spacious:"gap-2"}},defaultVariants:{variant:"default",orientation:"horizontal",size:"md",density:"regular"}}),bh=W.forwardRef(({className:e,variant:t,orientation:n,size:r,density:o,items:a,maxVisibleItems:s,isDisabled:i,onAction:l,showLabels:c=false,renderItem:d,...m},f)=>{let p=s&&s<a.length?a.slice(0,s):a,g=s&&s<a.length?a.slice(s):[],h={sm:"h-8 px-2 text-xs",md:"h-9 px-3 text-sm",lg:"h-10 px-4 text-base"}[r??"md"],b={sm:"h-8 w-8",md:"h-9 w-9",lg:"h-10 w-10"}[r??"md"],v={sm:"h-4 w-4",md:"h-4 w-4",lg:"h-5 w-5"}[r??"md"],R=(x,C)=>{C&&C(),l&&l(x);},w=x=>jsxs("button",{type:"button",disabled:i||x.isDisabled,onClick:()=>R(x.key,x.onPress),className:u("inline-flex items-center justify-center gap-2 rounded-md transition-colors","hover:bg-accent hover:text-accent-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50",c?h:b),"aria-label":x.label,children:[x.icon&&jsx("span",{className:v,children:x.icon}),c&&jsx("span",{children:x.label})]},x.key);return jsxs("div",{ref:f,role:"group",className:u(gh({variant:t,orientation:n,size:r,density:o,className:e})),...m,children:[p.map(x=>d?d(x):w(x)),g.length>0&&jsxs(to,{children:[jsx(no,{"aria-label":"More actions",className:u("items-center justify-center rounded-md transition-colors","hover:bg-accent hover:text-accent-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",i&&"pointer-events-none opacity-50",b),children:jsx(MoreHorizontal,{className:v})}),jsx(ro,{align:"end",children:g.map(x=>jsxs(Yn,{disabled:x.isDisabled,onClick:()=>R(x.key,x.onPress),children:[x.icon&&jsx("span",{className:u(v,"mr-2"),children:x.icon}),x.label]},x.key))})]})]})});bh.displayName="ActionGroup";var yh=cva("inline-flex items-center gap-2",{variants:{variant:{neutral:"[--status-color:theme(colors.muted.foreground)]",info:"[--status-color:theme(colors.blue.500)]",positive:"[--status-color:theme(colors.green.500)]",notice:"[--status-color:theme(colors.yellow.500)]",negative:"[--status-color:theme(colors.red.500)]"},size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{variant:"neutral",size:"md"}}),lP=cva("rounded-full bg-[--status-color] flex-shrink-0",{variants:{size:{sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-2.5 w-2.5"},pulse:{true:"animate-pulse",false:""}},defaultVariants:{size:"md",pulse:false}}),Rh=W.forwardRef(({className:e,variant:t,size:n,pulse:r=false,hideLabel:o=false,children:a,...s},i)=>jsxs("span",{ref:i,role:"status",className:u(yh({variant:t,size:n,className:e})),...s,children:[jsx("span",{className:u(lP({size:n,pulse:r})),"aria-hidden":"true"}),!o&&a&&jsx("span",{className:"text-foreground",children:a})]}));Rh.displayName="StatusLight";var Ch=cva("flex flex-col items-center justify-center text-center",{variants:{size:{sm:"gap-3 max-w-xs",md:"gap-4 max-w-sm",lg:"gap-5 max-w-md"}},defaultVariants:{size:"md"}}),dP=cva("text-muted-foreground",{variants:{size:{sm:"[&>svg]:h-16 [&>svg]:w-16",md:"[&>svg]:h-24 [&>svg]:w-24",lg:"[&>svg]:h-32 [&>svg]:w-32"}},defaultVariants:{size:"md"}}),uP=cva("font-semibold text-foreground",{variants:{size:{sm:"text-base",md:"text-lg",lg:"text-xl"}},defaultVariants:{size:"md"}}),mP=cva("text-muted-foreground",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),Th=W.forwardRef(({className:e,size:t,illustration:n,heading:r,description:o,children:a,...s},i)=>jsxs("div",{ref:i,className:u(Ch({size:t,className:e})),...s,children:[n&&jsx("div",{className:u(dP({size:t})),"aria-hidden":"true",children:n}),r&&jsx("h3",{className:u(uP({size:t})),children:r}),o&&jsx("p",{className:u(mP({size:t})),children:o}),a&&jsx("div",{className:"mt-2",children:a})]}));Th.displayName="IllustratedMessage";var kh=cva("relative flex gap-3 rounded-lg border p-4 text-sm",{variants:{variant:{info:"border-blue-200 bg-blue-50 text-blue-900 dark:border-blue-800 dark:bg-blue-950 dark:text-blue-100 [&>svg]:text-blue-600 dark:[&>svg]:text-blue-400",success:"border-green-200 bg-green-50 text-green-900 dark:border-green-800 dark:bg-green-950 dark:text-green-100 [&>svg]:text-green-600 dark:[&>svg]:text-green-400",warning:"border-amber-200 bg-amber-50 text-amber-900 dark:border-amber-800 dark:bg-amber-950 dark:text-amber-100 [&>svg]:text-amber-600 dark:[&>svg]:text-amber-400",error:"border-red-200 bg-red-50 text-red-900 dark:border-red-800 dark:bg-red-950 dark:text-red-100 [&>svg]:text-red-600 dark:[&>svg]:text-red-400",neutral:"border-border bg-muted text-foreground [&>svg]:text-muted-foreground"}},defaultVariants:{variant:"info"}}),xP={info:Info,success:CheckCircle2,warning:AlertTriangle,error:AlertCircle,neutral:Info},Ph=W.forwardRef(({className:e,variant:t,title:n,icon:r,hideIcon:o=false,isDismissible:a=false,onDismiss:s,actions:i,children:l,...c},d)=>{let[m,f]=W.useState(true);if(!m)return null;let p=xP[t??"info"],g=()=>{f(false),s?.();};return jsxs("div",{ref:d,role:"alert",className:u(kh({variant:t,className:e})),...c,children:[!o&&jsx("div",{className:"flex-shrink-0",children:r||jsx(p,{className:"h-5 w-5"})}),jsxs("div",{className:"flex-1 space-y-1",children:[n&&jsx("div",{className:"font-medium",children:n}),l&&jsx("div",{className:"opacity-90",children:l}),i&&jsx("div",{className:"mt-3 flex gap-2",children:i})]}),a&&jsx("button",{type:"button",onClick:g,className:"absolute right-2 top-2 rounded-md p-1 opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":"Dismiss",children:jsx(X,{className:"h-4 w-4"})})]})});Ph.displayName="InlineAlert";var Eh=cva("fixed flex items-center gap-2 rounded-lg border bg-background shadow-lg transition-all duration-200",{variants:{position:{bottom:"bottom-4 left-1/2 -translate-x-1/2",top:"top-4 left-1/2 -translate-x-1/2","bottom-right":"bottom-4 right-4","bottom-left":"bottom-4 left-4"},size:{sm:"px-3 py-2 gap-1.5",md:"px-4 py-2.5 gap-2",lg:"px-5 py-3 gap-3"}},defaultVariants:{position:"bottom",size:"md"}}),Lh=W.forwardRef(({className:e,position:t,size:n,selectedCount:r=0,isOpen:o=true,onClose:a,showClose:s=true,selectedText:i,children:l,...c},d)=>{if(!o||r===0)return null;let m=()=>typeof i=="function"?i(r):i||`${r} item${r>1?"s":""} selected`;return jsxs("div",{ref:d,role:"toolbar","aria-label":"Actions for selected items",className:u(Eh({position:t,size:n,className:e})),...c,children:[jsx("span",{className:"text-sm font-medium text-muted-foreground whitespace-nowrap",children:m()}),jsx("div",{className:"h-4 w-px bg-border"}),jsx("div",{className:"flex items-center gap-1",children:l}),s&&jsxs(Fragment,{children:[jsx("div",{className:"h-4 w-px bg-border"}),jsx("button",{type:"button",onClick:a,className:"rounded-md p-1 text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-colors","aria-label":"Close action bar",children:jsx(X,{className:"h-4 w-4"})})]})]})});Lh.displayName="ActionBar";var Sh=W.forwardRef(({className:e,icon:t,children:n,...r},o)=>jsxs("button",{ref:o,type:"button",className:u("inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-sm font-medium transition-colors","hover:bg-accent hover:text-accent-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","disabled:pointer-events-none disabled:opacity-50",e),...r,children:[t&&jsx("span",{className:"h-4 w-4 [&>svg]:h-full [&>svg]:w-full",children:t}),n]}));Sh.displayName="ActionBarButton";var Ih=cva("flex flex-col",{variants:{variant:{default:"gap-1",bordered:"border rounded-lg divide-y",cards:"gap-2"},size:{sm:"",md:"",lg:""}},defaultVariants:{variant:"default",size:"md"}}),Vh=cva("flex items-center gap-3 transition-colors cursor-pointer",{variants:{variant:{default:"rounded-md hover:bg-accent",bordered:"hover:bg-accent",cards:"rounded-lg border hover:border-primary/50 hover:bg-accent/50"},size:{sm:"px-2 py-1.5 text-sm",md:"px-3 py-2",lg:"px-4 py-3 text-lg"},isSelected:{true:"bg-accent",false:""},isDisabled:{true:"opacity-50 pointer-events-none",false:""}},compoundVariants:[{variant:"cards",isSelected:true,className:"border-primary bg-accent"}],defaultVariants:{variant:"default",size:"md",isSelected:false,isDisabled:false}});function Ah({className:e,variant:t,size:n,items:r,selectedKeys:o,selectionMode:a="none",onSelectionChange:s,allowsDragging:i=false,onReorder:l,showCheckbox:c=false,renderItem:d,emptyContent:m,...f}){let[p,g]=W.useState(new Set),[h,b]=W.useState(null),[v,R]=W.useState(null),w=W.useMemo(()=>o?o instanceof Set?o:new Set(o):p,[o,p]),x=T=>{if(a==="none")return;let k;a==="single"?k=w.has(T)?new Set:new Set([T]):(k=new Set(w),k.has(T)?k.delete(T):k.add(T)),o||g(k),s?.(k);},C=(T,k)=>{b(k),T.dataTransfer.effectAllowed="move";},y=(T,k)=>{T.preventDefault(),h!==k&&R(k);},N=()=>{if(h&&v&&h!==v){let T=r.findIndex(E=>E.key===h),k=r.findIndex(E=>E.key===v),M=[...r],[P]=M.splice(T,1);M.splice(k,0,P),l?.(M);}b(null),R(null);};return r.length===0?jsx("div",{className:u("flex items-center justify-center p-8 text-muted-foreground",e),children:m||"No items"}):jsx("div",{role:"listbox","aria-multiselectable":a==="multiple",className:u(Ih({variant:t,size:n,className:e})),...f,children:r.map(T=>{let k=w.has(T.key),M=h===T.key,P=v===T.key;return d?jsx("div",{role:"option","aria-selected":k,onClick:()=>x(T.key),children:d(T,k)},T.key):jsxs("div",{role:"option","aria-selected":k,"aria-disabled":T.isDisabled,draggable:i&&!T.isDisabled,onDragStart:E=>C(E,T.key),onDragOver:E=>y(E,T.key),onDragEnd:N,onClick:()=>!T.isDisabled&&x(T.key),className:u(Vh({variant:t,size:n,isSelected:k,isDisabled:T.isDisabled}),M&&"opacity-50",P&&"border-t-2 border-t-primary"),children:[i&&jsx(GripVertical,{className:"h-4 w-4 text-muted-foreground cursor-grab"}),c&&a!=="none"&&jsx("div",{className:u("flex h-4 w-4 items-center justify-center rounded border",k?"bg-primary border-primary text-primary-foreground":"border-input"),children:k&&jsx(Check,{className:"h-3 w-3"})}),T.icon&&jsx("span",{className:"h-5 w-5 text-muted-foreground [&>svg]:h-full [&>svg]:w-full",children:T.icon}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"truncate",children:T.label}),T.description&&jsx("div",{className:"text-sm text-muted-foreground truncate",children:T.description})]})]},T.key)})})}Ah.displayName="ListView";var zh=cva("relative flex w-full touch-none select-none",{variants:{orientation:{horizontal:"items-center",vertical:"flex-col justify-center h-full"},size:{sm:"",md:"",lg:""}},defaultVariants:{orientation:"horizontal",size:"md"}}),MP=cva("relative grow overflow-hidden rounded-full bg-secondary",{variants:{orientation:{horizontal:"w-full",vertical:"w-2 h-full"},size:{sm:"h-1",md:"h-2",lg:"h-3"}},compoundVariants:[{orientation:"vertical",size:"sm",className:"w-1 h-full"},{orientation:"vertical",size:"md",className:"w-2 h-full"},{orientation:"vertical",size:"lg",className:"w-3 h-full"}],defaultVariants:{orientation:"horizontal",size:"md"}}),NP=cva("block rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 cursor-grab",{variants:{size:{sm:"h-3.5 w-3.5",md:"h-5 w-5",lg:"h-6 w-6"}},defaultVariants:{size:"md"}}),Oh=W.forwardRef(({className:e,orientation:t="horizontal",size:n="md",value:r,defaultValue:o=[25,75],onValueChange:a,onValueCommit:s,min:i=0,max:l=100,step:c=1,disabled:d=false,showLabels:m=false,formatLabel:f=v=>String(v),trackColor:p="primary",name:g,...h},b)=>{let[v,R]=W.useState(o),w=r!==void 0,x=w?r:v,C=W.useRef(null),[y,N]=W.useState(false),[T,k]=W.useState(null),M=(I,K)=>{if(!C.current)return x[0];let B=C.current.getBoundingClientRect(),q;t==="horizontal"?q=(I-B.left)/B.width:q=1-(K-B.top)/B.height,q=Math.max(0,Math.min(1,q));let ne=i+q*(l-i),G=Math.round(ne/c)*c;return Math.max(i,Math.min(l,G))},P=(I,K)=>{let B=[...x];B[K]=I,K===0&&I>x[1]&&(B[0]=x[1]),K===1&&I<x[0]&&(B[1]=x[0]),w||R(B),a?.(B);},E=(I,K)=>{d||(I.preventDefault(),N(true),k(K),I.target.setPointerCapture(I.pointerId));},D=I=>{if(!y||T===null||d)return;let K=M(I.clientX,I.clientY);P(K,T);},H=()=>{y&&(N(false),k(null),s?.(x));},L=I=>{if(d)return;let K=M(I.clientX,I.clientY),B=Math.abs(x[0]-K),q=Math.abs(x[1]-K),ne=B<=q?0:1;P(K,ne);let G=[...x];G[ne]=K,s?.(G);},S=(I,K)=>{if(d)return;let B=x[K];switch(I.key){case "ArrowRight":case "ArrowUp":I.preventDefault(),B=Math.min(l,x[K]+c);break;case "ArrowLeft":case "ArrowDown":I.preventDefault(),B=Math.max(i,x[K]-c);break;case "Home":I.preventDefault(),B=i;break;case "End":I.preventDefault(),B=l;break;default:return}P(B,K);let q=[...x];q[K]=B,s?.(q);},V=I=>(I-i)/(l-i)*100,z={primary:"bg-primary",success:"bg-green-500",warning:"bg-yellow-500",danger:"bg-red-500"}[p],F={sm:14,md:20,lg:24}[n||"md"];return jsxs("div",{className:"relative w-full",children:[m&&jsxs("div",{className:"flex justify-between mb-2 text-sm text-muted-foreground",children:[jsx("span",{children:f(x[0])}),jsx("span",{children:f(x[1])})]}),jsxs("div",{ref:b,className:u(zh({orientation:t,size:n}),d&&"opacity-50 pointer-events-none",e),...h,children:[jsx("div",{ref:C,className:u(MP({orientation:t,size:n})),onClick:L,children:jsx("div",{className:u("absolute rounded-full",z,{"h-full":t==="horizontal","w-full":t==="vertical"}),style:t==="horizontal"?{left:`${V(x[0])}%`,right:`${100-V(x[1])}%`,top:0,bottom:0}:{bottom:`${V(x[0])}%`,top:`${100-V(x[1])}%`,left:0,right:0}})}),x.map((I,K)=>jsx("div",{role:"slider",tabIndex:d?-1:0,"aria-valuemin":i,"aria-valuemax":l,"aria-valuenow":I,"aria-orientation":t||void 0,"aria-disabled":d,className:u(NP({size:n}),y&&T===K&&"cursor-grabbing"),style:t==="horizontal"?{position:"absolute",left:`calc(${V(I)}% - ${F/2}px)`,top:"50%",transform:"translateY(-50%)"}:{position:"absolute",bottom:`calc(${V(I)}% - ${F/2}px)`,left:"50%",transform:"translateX(-50%)"},onPointerDown:B=>E(B,K),onPointerMove:D,onPointerUp:H,onPointerCancel:H,onKeyDown:B=>S(B,K)},K)),g&&jsxs(Fragment,{children:[jsx("input",{type:"hidden",name:`${g}[0]`,value:x[0]}),jsx("input",{type:"hidden",name:`${g}[1]`,value:x[1]})]})]})]})});Oh.displayName="RangeSlider";var pc=cva("inline-flex items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",{variants:{variant:{help:"text-muted-foreground hover:text-foreground",info:"text-blue-500 hover:text-blue-600",warning:"text-yellow-500 hover:text-yellow-600"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"}},defaultVariants:{variant:"help",size:"md"}}),SP=cva("z-50 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none animate-in fade-in-0 zoom-in-95",{variants:{size:{sm:"w-56 text-xs",md:"w-72 text-sm",lg:"w-80 text-base"}},defaultVariants:{size:"md"}}),DP={help:HelpCircle,info:Info,warning:AlertCircle},Kh=W.forwardRef(({variant:e="help",size:t,title:n,children:r,trigger:o,side:a="top",align:s="center",open:i,onOpenChange:l,learnMoreUrl:c,learnMoreText:d="Learn more",triggerClassName:m,contentClassName:f},p)=>{let[g,h]=W.useState(false),[b,v]=W.useState(false),[R,w]=W.useState({top:0,left:0}),x=W.useRef(null),C=W.useRef(null),y=i!==void 0?i:g,N=W.useCallback(P=>{i===void 0&&h(P),l?.(P);},[i,l]);W.useEffect(()=>{v(true);},[]),W.useEffect(()=>{if(!y||!x.current)return;let P=()=>{let E=x.current.getBoundingClientRect(),D=288,H=8,L=0,S=0;switch(a){case "top":L=E.top-H,S=E.left+E.width/2;break;case "bottom":L=E.bottom+H,S=E.left+E.width/2;break;case "left":L=E.top+E.height/2,S=E.left-H;break;case "right":L=E.top+E.height/2,S=E.right+H;break}if(a==="top"||a==="bottom")switch(s){case "start":S=E.left;break;case "center":S=E.left+E.width/2-D/2;break;case "end":S=E.right-D;break}S=Math.max(8,Math.min(S,window.innerWidth-D-8)),w({top:L,left:S});};return P(),window.addEventListener("resize",P),window.addEventListener("scroll",P,true),()=>{window.removeEventListener("resize",P),window.removeEventListener("scroll",P,true);}},[y,a,s]),W.useEffect(()=>{if(!y)return;let P=E=>{C.current&&!C.current.contains(E.target)&&x.current&&!x.current.contains(E.target)&&N(false);};return document.addEventListener("mousedown",P),()=>document.removeEventListener("mousedown",P)},[y,N]),W.useEffect(()=>{if(!y)return;let P=E=>{E.key==="Escape"&&N(false);};return document.addEventListener("keydown",P),()=>document.removeEventListener("keydown",P)},[y,N]);let T=DP[e??"help"],k=()=>{N(!y);},M=()=>{switch(a){case "top":return "bottom center";case "bottom":return "top center";case "left":return "right center";case "right":return "left center";default:return "center center"}};return jsxs(Fragment,{children:[o?W.isValidElement(o)?W.cloneElement(o,{ref:x,onClick:P=>{o.props.onClick?.(P),k();}}):jsx("button",{ref:x,type:"button",onClick:k,className:u(pc({variant:e,size:t}),m),"aria-label":"Help",children:o}):jsx("button",{ref:P=>{x.current=P,typeof p=="function"?p(P):p&&(p.current=P);},type:"button",onClick:k,className:u(pc({variant:e,size:t}),m),"aria-label":"Help",children:jsx(T,{className:"h-full w-full"})}),b&&y&&Ya.createPortal(jsxs("div",{ref:C,className:u(SP({size:t}),f),style:{position:"fixed",top:R.top,left:R.left,transformOrigin:M()},role:"tooltip",children:[n&&jsx("div",{className:"mb-2 font-semibold text-foreground",children:n}),jsx("div",{className:"text-muted-foreground",children:r}),c&&jsxs("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"mt-3 inline-block text-primary hover:underline",children:[d," \u2192"]}),jsx("div",{className:"absolute h-2 w-2 rotate-45 border bg-popover",style:{...a==="top"&&{bottom:-4,left:"50%",marginLeft:-4,borderTop:"none",borderLeft:"none"},...a==="bottom"&&{top:-4,left:"50%",marginLeft:-4,borderBottom:"none",borderRight:"none"},...a==="left"&&{right:-4,top:"50%",marginTop:-4,borderBottom:"none",borderLeft:"none"},...a==="right"&&{left:-4,top:"50%",marginTop:-4,borderTop:"none",borderRight:"none"}}})]}),document.body)]})});Kh.displayName="ContextualHelp";var $h=cva("flex flex-wrap",{variants:{spacing:{sm:"gap-1",md:"gap-2",lg:"gap-3"}},defaultVariants:{spacing:"md"}}),fc=cva("inline-flex items-center gap-1 rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",{variants:{variant:{solid:"bg-primary text-primary-foreground",outline:"border border-input bg-background hover:bg-accent",soft:"bg-primary/10 text-primary",surface:"bg-muted text-muted-foreground"},size:{sm:"px-2 py-0.5 text-xs",md:"px-2.5 py-1 text-sm",lg:"px-3 py-1.5 text-base"},isSelected:{true:"",false:""},isDisabled:{true:"opacity-50 pointer-events-none",false:""}},compoundVariants:[{variant:"outline",isSelected:true,className:"border-primary bg-primary/5"},{variant:"soft",isSelected:true,className:"bg-primary/20"},{variant:"surface",isSelected:true,className:"bg-muted/80 ring-2 ring-primary/20"}],defaultVariants:{variant:"soft",size:"md",isSelected:false,isDisabled:false}});function Uh({className:e,spacing:t,variant:n,size:r,items:o,selectedKeys:a,selectionMode:s="none",onSelectionChange:i,allowsRemoving:l=false,onRemove:c,label:d,description:m,errorMessage:f,maxTags:p,...g}){let[h,b]=W.useState(new Set),v=W.useMemo(()=>a?a instanceof Set?a:new Set(a):h,[a,h]),R=y=>{if(s==="none")return;let N;s==="single"?N=v.has(y)?new Set:new Set([y]):(N=new Set(v),N.has(y)?N.delete(y):N.add(y)),a||b(N),i?.(N);},w=(y,N)=>{N.stopPropagation(),c?.(y);},x=p?o.slice(0,p):o,C=p?Math.max(0,o.length-p):0;return jsxs("div",{className:"flex flex-col gap-1.5",children:[d&&jsx("span",{className:"text-sm font-medium text-foreground",children:d}),m&&jsx("span",{className:"text-sm text-muted-foreground",children:m}),jsxs("div",{role:"group","aria-label":d,className:u($h({spacing:t}),e),...g,children:[x.map(y=>{let N=v.has(y.key),T=s!=="none";return jsxs("span",{role:T?"button":void 0,tabIndex:T&&!y.isDisabled?0:void 0,"aria-pressed":T?N:void 0,onClick:()=>!y.isDisabled&&R(y.key),onKeyDown:k=>{(k.key==="Enter"||k.key===" ")&&!y.isDisabled&&(k.preventDefault(),R(y.key));},style:y.color?{backgroundColor:y.color}:void 0,className:u(fc({variant:y.color?void 0:n,size:r,isSelected:N,isDisabled:y.isDisabled}),T&&!y.isDisabled&&"cursor-pointer hover:opacity-80",y.color&&"text-white"),children:[y.icon&&jsx("span",{className:"h-3.5 w-3.5 [&>svg]:h-full [&>svg]:w-full",children:y.icon}),y.label,l&&!y.isDisabled&&jsx("button",{type:"button",onClick:k=>w(y.key,k),className:"ml-0.5 rounded-full p-0.5 hover:bg-black/10 dark:hover:bg-white/10","aria-label":`Remove ${y.label}`,children:jsx(X,{className:"h-3 w-3"})})]},y.key)}),C>0&&jsxs("span",{className:u(fc({variant:"surface",size:r}),"cursor-default"),children:["+",C," more"]})]}),f&&jsx("span",{className:"text-sm text-danger",children:f})]})}Uh.displayName="TagGroup";var Yh=cva("grid",{variants:{columns:{1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6",auto:"grid-cols-[repeat(auto-fill,minmax(150px,1fr))]"},gap:{sm:"gap-2",md:"gap-4",lg:"gap-6"}},defaultVariants:{columns:"auto",gap:"md"}}),jh=cva("relative flex flex-col rounded-lg border transition-all cursor-pointer",{variants:{variant:{default:"hover:border-primary/50 hover:bg-accent/50",card:"bg-card shadow-sm hover:shadow-md hover:border-primary/50"},size:{sm:"p-2",md:"p-3",lg:"p-4"},isSelected:{true:"border-primary bg-accent ring-2 ring-primary/20",false:""},isDisabled:{true:"opacity-50 pointer-events-none",false:""}},defaultVariants:{variant:"default",size:"md",isSelected:false,isDisabled:false}});function Xh({className:e,columns:t,gap:n,items:r,selectedKeys:o,selectionMode:a="none",onSelectionChange:s,showSelectionIndicator:i=true,itemVariant:l="default",itemSize:c="md",renderItem:d,emptyContent:m,...f}){let[p,g]=W.useState(new Set),h=W.useMemo(()=>o?o instanceof Set?o:new Set(o):p,[o,p]),b=v=>{if(a==="none")return;let R;a==="single"?R=h.has(v)?new Set:new Set([v]):(R=new Set(h),R.has(v)?R.delete(v):R.add(v)),o||g(R),s?.(R);};return r.length===0?jsx("div",{className:u("flex items-center justify-center p-8 text-muted-foreground",e),children:m||"No items"}):jsx("div",{role:"grid","aria-multiselectable":a==="multiple",className:u(Yh({columns:t,gap:n,className:e})),...f,children:r.map(v=>{let R=h.has(v.key);return d?jsx("div",{role:"gridcell","aria-selected":R,onClick:()=>b(v.key),children:d(v,R)},v.key):jsxs("div",{role:"gridcell","aria-selected":R,"aria-disabled":v.isDisabled,onClick:()=>!v.isDisabled&&b(v.key),className:u(jh({variant:l,size:c,isSelected:R,isDisabled:v.isDisabled})),children:[i&&a!=="none"&&R&&jsx("div",{className:"absolute top-2 right-2 flex h-5 w-5 items-center justify-center rounded-full bg-primary text-primary-foreground",children:jsx(Check,{className:"h-3 w-3"})}),v.thumbnail&&jsx("div",{className:"mb-2 aspect-square w-full overflow-hidden rounded-md bg-muted",children:v.thumbnail}),jsxs("div",{className:"min-w-0",children:[jsx("div",{className:"truncate font-medium",children:v.label}),v.description&&jsx("div",{className:"mt-1 truncate text-sm text-muted-foreground",children:v.description})]})]},v.key)})})}Xh.displayName="GridList";var Zh=cva("relative w-full",{variants:{size:{sm:"h-1.5",md:"h-2",lg:"h-3"}},defaultVariants:{size:"md"}}),AP=cva("w-full h-full rounded-full overflow-hidden",{variants:{variant:{default:"bg-secondary",subtle:"bg-muted"}},defaultVariants:{variant:"default"}}),zP=cva("h-full transition-all duration-300 ease-out",{variants:{color:{primary:"bg-primary",success:"bg-green-500",warning:"bg-yellow-500",danger:"bg-red-500",info:"bg-blue-500",auto:""},rounded:{true:"rounded-full",false:"rounded-l-full"}},defaultVariants:{color:"primary",rounded:true}}),ti=W.forwardRef(({className:e,size:t,value:n,min:r=0,max:o=100,optimum:a,low:s,high:i,label:l,showValueLabel:c=false,formatValue:d,color:m="primary",trackVariant:f="default",...p},g)=>{let h=Math.min(100,Math.max(0,(n-r)/(o-r)*100)),b=()=>{if(m!=="auto")return "";let R=(n-r)/(o-r),w=s!==void 0?(s-r)/(o-r):.25,x=i!==void 0?(i-r)/(o-r):.75;return (a!==void 0?(a-r)/(o-r):1)>=.5?R<=w?"bg-red-500":R<=x?"bg-yellow-500":"bg-green-500":R>=x?"bg-red-500":R>=w?"bg-yellow-500":"bg-green-500"},v=d?d(n,h):`${Math.round(h)}%`;return jsxs("div",{ref:g,className:u("w-full",e),...p,children:[(l||c)&&jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[l&&jsx("span",{className:"text-sm font-medium text-foreground",children:l}),c&&jsx("span",{className:"text-sm text-muted-foreground",children:v})]}),jsx("div",{role:"meter","aria-valuenow":n,"aria-valuemin":r,"aria-valuemax":o,"aria-label":l,className:u(Zh({size:t})),children:jsx("div",{className:u(AP({variant:f})),children:jsx("div",{className:u(zP({color:m==="auto"?void 0:m,rounded:h>=100}),m==="auto"&&b()),style:{width:`${h}%`}})})})]})});ti.displayName="Meter";var Qh=W.forwardRef((e,t)=>jsx(ti,{ref:t,color:"auto",low:50,high:80,optimum:0,...e}));Qh.displayName="DiskUsageMeter";var Jh=W.forwardRef((e,t)=>jsx(ti,{ref:t,color:"auto",low:20,high:50,optimum:100,...e}));Jh.displayName="BatteryMeter";var ex=cva("relative rounded-lg overflow-hidden cursor-crosshair touch-none select-none",{variants:{size:{sm:"h-32 w-32",md:"h-48 w-48",lg:"h-64 w-64",full:"h-full w-full min-h-48"}},defaultVariants:{size:"md"}}),ri=(e,t,n)=>{let r=o=>{let a=(o+e/60)%6;return n-n*t*Math.max(Math.min(a,4-a,1),0)};return [Math.round(r(5)*255),Math.round(r(3)*255),Math.round(r(1)*255)]},tx=(e,t,n)=>{e/=255,t/=255,n/=255;let r=Math.max(e,t,n),o=Math.min(e,t,n),a=r-o,s=0,i=r===0?0:a/r,l=r;if(a!==0)switch(r){case e:s=((t-n)/a+(t<n?6:0))*60;break;case t:s=((n-e)/a+2)*60;break;case n:s=((e-t)/a+4)*60;break}return [s,i,l]},nx=e=>{let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]:null},rx=(e,t,n)=>"#"+[e,t,n].map(r=>r.toString(16).padStart(2,"0")).join(""),ox=W.forwardRef(({hue:e,saturation:t,brightness:n,value:r,defaultValue:o="#ff0000",onChange:a,onColorChange:s,size:i,disabled:l,thumbSize:c=18,className:d,...m},f)=>{let p=W.useRef(null),[g,h]=W.useState(false),b=W.useCallback(I=>{let K=nx(I);return K?tx(...K):[0,1,1]},[]),[v,R]=W.useState(()=>b(r||o)),w=e??v[0],x=t??v[1],C=n??v[2];W.useEffect(()=>{if(r){let I=b(r);R(I);}},[r,b]);let y=W.useCallback((I,K)=>{if(l||!p.current)return;let B=p.current.getBoundingClientRect(),q=Math.max(0,Math.min(1,(I-B.left)/B.width)),ne=Math.max(0,Math.min(1,(K-B.top)/B.height)),G=q,O=1-ne;t===void 0&&n===void 0&&R([w,G,O]),a?.({hue:w,saturation:G,brightness:O});let _=ri(w,G,O);s?.(rx(..._));},[l,w,t,n,a,s]),N=I=>{l||(I.preventDefault(),h(true),I.target.setPointerCapture(I.pointerId),y(I.clientX,I.clientY));},T=I=>{g&&y(I.clientX,I.clientY);},k=I=>{h(false),I.target.releasePointerCapture(I.pointerId);},[M,P,E]=ri(w,1,1),D=`rgb(${M}, ${P}, ${E})`,H=x*100,L=(1-C)*100,[S,V,z]=ri(w,x,C),F=`rgb(${S}, ${V}, ${z})`;return jsx("div",{ref:f,className:u(ex({size:i}),l&&"cursor-not-allowed opacity-50",d),...m,children:jsxs("div",{ref:p,className:"absolute inset-0",style:{backgroundColor:D},onPointerDown:N,onPointerMove:T,onPointerUp:k,onPointerLeave:k,children:[jsx("div",{className:"absolute inset-0",style:{background:"linear-gradient(to right, white, transparent)"}}),jsx("div",{className:"absolute inset-0",style:{background:"linear-gradient(to bottom, transparent, black)"}}),jsx("div",{className:"absolute rounded-full border-2 border-white pointer-events-none",style:{width:c,height:c,left:`calc(${H}% - ${c/2}px)`,top:`calc(${L}% - ${c/2}px)`,backgroundColor:F,boxShadow:"0 0 0 1px rgba(0,0,0,0.1), 0 2px 4px rgba(0,0,0,0.2)"}})]})})});ox.displayName="ColorArea";var sx=cva("relative rounded-full cursor-pointer touch-none select-none",{variants:{orientation:{horizontal:"w-full",vertical:"h-full"},size:{sm:"",md:"",lg:""}},compoundVariants:[{orientation:"horizontal",size:"sm",className:"h-3"},{orientation:"horizontal",size:"md",className:"h-4"},{orientation:"horizontal",size:"lg",className:"h-5"},{orientation:"vertical",size:"sm",className:"w-3"},{orientation:"vertical",size:"md",className:"w-4"},{orientation:"vertical",size:"lg",className:"w-5"}],defaultVariants:{orientation:"horizontal",size:"md"}}),KP=`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cg fill='%23ccc'%3E%3Crect width='4' height='4'/%3E%3Crect x='4' y='4' width='4' height='4'/%3E%3C/g%3E%3C/svg%3E")`,ax="linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000)",ix=W.forwardRef(({value:e,defaultValue:t,onChange:n,channel:r="hue",baseColor:o="#ff0000",orientation:a,size:s,disabled:i,thumbSize:l=18,showBorder:c=true,className:d,...m},f)=>{let p=W.useRef(null),[g,h]=W.useState(false),b=()=>{switch(r){case "hue":return 0;case "alpha":case "saturation":case "brightness":return 1;default:return 0}},[v,R]=W.useState(t??b()),w=e??v,x=r==="hue"?w/360:w,C=W.useCallback((D,H)=>{if(i||!p.current)return;let L=p.current.getBoundingClientRect(),S=a!=="vertical",V;S?V=Math.max(0,Math.min(1,(D-L.left)/L.width)):V=Math.max(0,Math.min(1,1-(H-L.top)/L.height));let z=r==="hue"?V*360:V;e===void 0&&R(z),n?.(z);},[i,a,r,e,n]),y=D=>{i||(D.preventDefault(),h(true),D.target.setPointerCapture(D.pointerId),C(D.clientX,D.clientY));},N=D=>{g&&C(D.clientX,D.clientY);},T=D=>{h(false),D.target.releasePointerCapture(D.pointerId);},k=()=>{let D=a!=="vertical",H=D?"to right":"to top";switch(r){case "hue":return D?ax:"linear-gradient(to top, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000)";case "alpha":return `linear-gradient(${H}, transparent, ${o})`;case "saturation":return `linear-gradient(${H}, #808080, ${o})`;case "brightness":return `linear-gradient(${H}, #000000, ${o})`;default:return ax}},M=()=>r==="hue"?`hsl(${w}, 100%, 50%)`:o,P=a!=="vertical",E=x*100;return jsx("div",{ref:f,className:u(sx({orientation:a,size:s}),i&&"cursor-not-allowed opacity-50",d),...m,children:jsxs("div",{ref:p,className:u("absolute inset-0 rounded-full overflow-hidden",c&&"border border-input"),style:{backgroundImage:r==="alpha"?KP:void 0,backgroundSize:r==="alpha"?"8px 8px":void 0},onPointerDown:y,onPointerMove:N,onPointerUp:T,onPointerLeave:T,children:[jsx("div",{className:"absolute inset-0 rounded-full",style:{background:k()}}),jsx("div",{className:"absolute rounded-full border-2 border-white shadow-md pointer-events-none",style:{width:l,height:l,...P?{left:`calc(${E}% - ${l/2}px)`,top:"50%",transform:"translateY(-50%)"}:{bottom:`calc(${E}% - ${l/2}px)`,left:"50%",transform:"translateX(-50%)"},backgroundColor:M(),boxShadow:"0 0 0 1px rgba(0,0,0,0.2), 0 2px 4px rgba(0,0,0,0.2)"}})]})})});ix.displayName="ColorSlider";var lx=cva("relative cursor-crosshair touch-none select-none",{variants:{size:{sm:"h-32 w-32",md:"h-48 w-48",lg:"h-64 w-64"}},defaultVariants:{size:"md"}}),UP=(e,t,n)=>{let r=e-n,o=t-n,a=Math.atan2(o,r)*180/Math.PI+90;return a<0&&(a+=360),a},cx=W.forwardRef(({value:e,defaultValue:t=0,onChange:n,size:r,disabled:o,innerRadius:a=.6,thumbSize:s=20,showCenter:i=true,className:l,...c},d)=>{let m=W.useRef(null),[f,p]=W.useState(false),[g,h]=W.useState(t),b=e??g,v=W.useCallback((y,N)=>{if(o||!m.current)return;let T=m.current.getBoundingClientRect(),k=T.width/2,M=y-T.left,P=N-T.top,E=UP(M,P,k);e===void 0&&h(E),n?.(E);},[o,e,n]),R=y=>{o||(y.preventDefault(),p(true),y.target.setPointerCapture(y.pointerId),v(y.clientX,y.clientY));},w=y=>{f&&v(y.clientX,y.clientY);},x=y=>{p(false),y.target.releasePointerCapture(y.pointerId);},C=()=>{let y=[];for(let N=0;N<=360;N+=30)y.push(`hsl(${N}, 100%, 50%) ${N}deg`);return `conic-gradient(from 270deg, ${y.join(", ")})`};return jsx("div",{ref:d,className:u(lx({size:r}),o&&"cursor-not-allowed opacity-50",l),...c,children:jsxs("div",{ref:m,className:"absolute inset-0 rounded-full",style:{background:C()},onPointerDown:R,onPointerMove:w,onPointerUp:x,onPointerLeave:x,children:[a<1&&jsx("div",{className:"absolute bg-background rounded-full",style:{top:`${(1-a)*50}%`,left:`${(1-a)*50}%`,width:`${a*100}%`,height:`${a*100}%`}}),i&&a<1&&jsx("div",{className:"absolute rounded-full border-2 border-input bg-background",style:{width:8,height:8,top:"50%",left:"50%",transform:"translate(-50%, -50%)"}}),jsx(WP,{hue:b,innerRadius:a,thumbSize:s})]})})});cx.displayName="ColorWheel";var WP=({hue:e,innerRadius:t,thumbSize:n})=>{let r=(1-(1-t)/2)*50,o=(e-90)*Math.PI/180,a=50+r*Math.cos(o),s=50+r*Math.sin(o);return jsx("div",{className:"absolute rounded-full border-2 border-white shadow-md pointer-events-none",style:{width:n,height:n,left:`calc(${a}% - ${n/2}px)`,top:`calc(${s}% - ${n/2}px)`,backgroundColor:`hsl(${e}, 100%, 50%)`,boxShadow:"0 0 0 1px rgba(0,0,0,0.2), 0 2px 4px rgba(0,0,0,0.2)"}})};var ux=cva("flex",{variants:{orientation:{horizontal:"flex-row items-center gap-2",vertical:"flex-col gap-1"},size:{sm:"",md:"",lg:""},align:{start:"items-start",center:"items-center",end:"items-end"}},compoundVariants:[{orientation:"horizontal",align:"start",className:"items-start"},{orientation:"horizontal",align:"center",className:"items-center"},{orientation:"horizontal",align:"end",className:"items-end"}],defaultVariants:{orientation:"vertical",size:"md",align:"start"}}),YP=cva("text-muted-foreground font-medium",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),jP=cva("text-foreground",{variants:{size:{sm:"text-sm",md:"text-base",lg:"text-lg"},weight:{normal:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"},mono:{true:"font-mono",false:""}},defaultVariants:{size:"md",weight:"normal",mono:false}}),mx=W.forwardRef(({className:e,orientation:t,size:n,align:r,label:o,value:a,valueWeight:s,mono:i,labelWidth:l,labelClassName:c,valueClassName:d,showColon:m=false,copyable:f=false,onCopy:p,...g},h)=>{let b=async()=>{if(!(!f||a===null||a===void 0))try{let v=typeof a=="string"?a:String(a);await navigator.clipboard.writeText(v),p?.();}catch{}};return jsxs("div",{ref:h,className:u(ux({orientation:t,size:n,align:r,className:e})),...g,children:[jsxs("span",{className:u(YP({size:n}),c),style:l?{width:l,flexShrink:0}:void 0,children:[o,m&&":"]}),jsx("span",{className:u(jP({size:n,weight:s,mono:i}),f&&"cursor-pointer hover:bg-accent/50 rounded px-1 -mx-1 transition-colors",d),onClick:f?b:void 0,role:f?"button":void 0,tabIndex:f?0:void 0,onKeyDown:f?v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),b());}:void 0,children:a})]})});mx.displayName="LabeledValue";var px=cva("",{variants:{orientation:{horizontal:"flex flex-row flex-wrap",vertical:"flex flex-col"},gap:{sm:"gap-2",md:"gap-4",lg:"gap-6"}},defaultVariants:{orientation:"vertical",gap:"md"}}),fx=W.forwardRef(({className:e,orientation:t,gap:n,...r},o)=>jsx("div",{ref:o,className:u(px({orientation:t,gap:n,className:e})),...r}));fx.displayName="LabeledValueGroup";var hx=cva("flex items-center rounded-md border border-input bg-background ring-offset-background transition-colors focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2",{variants:{size:{sm:"h-8 text-xs",md:"h-10 text-sm",lg:"h-12 text-base"},variant:{default:"",filled:"bg-muted border-transparent",ghost:"border-transparent hover:bg-muted"}},defaultVariants:{size:"md",variant:"default"}}),ko=cva("text-muted-foreground shrink-0",{variants:{size:{sm:"h-3.5 w-3.5",md:"h-4 w-4",lg:"h-5 w-5"}},defaultVariants:{size:"md"}}),xx=W.forwardRef(({value:e,defaultValue:t="",onChange:n,onSearch:r,onSelect:o,suggestions:a=[],recentSearches:s=[],onClearRecentSearches:i,trendingSearches:l=[],isLoading:c,showClear:d=true,showIcon:m=true,popoverWidth:f="trigger",emptyMessage:p="No results found",size:g,variant:h,className:b,placeholder:v="Search...",disabled:R,...w},x)=>{let[C,y]=W.useState(false),[N,T]=W.useState(t),k=e!==void 0?e:N,M=W.useRef(null);W.useImperativeHandle(x,()=>M.current);let P=k.length>0,E=C&&(a.length>0||s.length>0||l.length>0||P),D=I=>{e===void 0&&T(I),n?.(I);},H=()=>{D(""),M.current?.focus();},L=I=>{I?.preventDefault(),k.trim()&&(r?.(k.trim()),y(false));},S=I=>{D(I.label),o?.(I),y(false);},V=I=>{D(I),r?.(I),y(false);},z=I=>{D(I),r?.(I),y(false);},F=W.useMemo(()=>{let I={};return a.forEach(K=>{let B=K.category||"Results";I[B]||(I[B]=[]),I[B].push(K);}),I},[a]);return jsxs(nt,{open:E,onOpenChange:y,children:[jsx(oo,{children:jsxs("form",{onSubmit:L,className:u(hx({size:g,variant:h}),b),children:[m&&jsx(Search,{className:u(ko({size:g}),"ml-3")}),jsx("input",{ref:M,type:"text",value:k,onChange:I=>D(I.target.value),onFocus:()=>y(true),placeholder:v,disabled:R,className:u("flex-1 bg-transparent px-3 py-2 outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",!m&&"pl-3"),...w}),d&&P&&!R&&jsx("button",{type:"button",onClick:H,className:u("mr-2 rounded-sm p-1 text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",ko({size:g})),children:jsx(X,{className:"h-full w-full"})})]})}),jsx(rt,{className:"p-0",style:{width:f==="trigger"?"var(--radix-popover-trigger-width)":f},align:"start",onOpenAutoFocus:I=>I.preventDefault(),children:jsxs(Command,{className:"rounded-lg border-0",children:[s.length>0&&!P&&jsxs("div",{className:"p-2",children:[jsxs("div",{className:"flex items-center justify-between px-2 py-1.5",children:[jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Recent"}),i&&jsx("button",{type:"button",onClick:i,className:"text-xs text-muted-foreground hover:text-foreground",children:"Clear"})]}),s.map((I,K)=>jsxs("button",{type:"button",onClick:()=>V(I),className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-muted",children:[jsx(Clock,{className:u(ko({size:g}))}),jsx("span",{className:"flex-1 text-left truncate",children:I}),jsx(ArrowRight,{className:u(ko({size:g}),"opacity-0 group-hover:opacity-100")})]},K))]}),l.length>0&&!P&&jsxs("div",{className:"border-t p-2",children:[jsx("div",{className:"px-2 py-1.5",children:jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Trending"})}),l.map((I,K)=>jsxs("button",{type:"button",onClick:()=>z(I),className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-muted",children:[jsx(TrendingUp,{className:u(ko({size:g}))}),jsx("span",{className:"flex-1 text-left truncate",children:I})]},K))]}),P&&jsx("div",{className:"p-2",children:c?jsx("div",{className:"flex items-center justify-center py-6",children:jsx("div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-primary border-t-transparent"})}):a.length>0?Object.entries(F).map(([I,K])=>jsxs("div",{children:[jsx("div",{className:"px-2 py-1.5",children:jsx("span",{className:"text-xs font-medium text-muted-foreground",children:I})}),K.map(B=>jsxs("button",{type:"button",onClick:()=>S(B),className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-muted",children:[B.icon||jsx(Search,{className:u(ko({size:g}))}),jsxs("div",{className:"flex-1 text-left",children:[jsx("div",{className:"truncate",children:B.label}),B.description&&jsx("div",{className:"text-xs text-muted-foreground truncate",children:B.description})]})]},B.id))]},I)):jsx("div",{className:"py-6 text-center text-sm text-muted-foreground",children:p})})]})})]})});xx.displayName="SearchBar";var yx={Pages:jsx(File,{className:"h-4 w-4"}),Files:jsx(Folder,{className:"h-4 w-4"}),Settings:jsx(Settings,{className:"h-4 w-4"}),Users:jsx(User,{className:"h-4 w-4"}),Tags:jsx(Hash,{className:"h-4 w-4"})},Cx=W.forwardRef(({open:e,onOpenChange:t,items:n=[],recentItems:r=[],placeholder:o="Search...",isLoading:a,emptyMessage:s="No results found.",filter:i,shortcut:l="\u2318K",onSelect:c,footer:d},m)=>{let[f,p]=W.useState(""),g=W.useRef(null),[h,b]=W.useState(false);W.useEffect(()=>{b(true);},[]),W.useEffect(()=>{e||p("");},[e]),W.useEffect(()=>{if(!e)return;let y=N=>{N.key==="Escape"&&t?.(false);};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[e,t]),W.useEffect(()=>{if(e)return dt(),()=>ut()},[e]);let v=W.useMemo(()=>{let y={};return n.forEach(N=>{let T=N.category||"Results";y[T]||(y[T]=[]),y[T].push(N);}),y},[n]),R=y=>{y.onSelect?.(),c?.(y),t?.(false);},w=()=>{t?.(false);},x=f.length>0,C=!x&&r.length>0;return !h||!e?null:Ya.createPortal(jsxs(Fragment,{children:[jsx("div",{className:"fixed inset-0 z-50 bg-black/50 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-state":e?"open":"closed",onClick:w}),jsx("div",{ref:m,className:"fixed left-1/2 top-[20%] z-50 w-full max-w-2xl -translate-x-1/2 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=open]:slide-in-from-left-1/2","data-state":e?"open":"closed",children:jsxs(Command,{className:"overflow-hidden rounded-xl border bg-background shadow-2xl",filter:i,shouldFilter:!i,children:[jsxs("div",{className:"flex items-center border-b px-4",children:[jsx(Search,{className:"h-5 w-5 shrink-0 text-muted-foreground"}),jsx(Command.Input,{ref:g,value:f,onValueChange:p,placeholder:o,className:"flex h-14 w-full bg-transparent px-4 py-4 text-base outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50"}),f&&jsx("button",{type:"button",onClick:()=>p(""),className:"rounded-sm p-1 text-muted-foreground hover:text-foreground",children:jsx(X,{className:"h-4 w-4"})})]}),jsx(Command.List,{className:"max-h-[400px] overflow-y-auto p-2",children:a?jsx("div",{className:"flex items-center justify-center py-10",children:jsx("div",{className:"h-6 w-6 animate-spin rounded-full border-2 border-primary border-t-transparent"})}):jsxs(Fragment,{children:[C&&jsxs(Command.Group,{heading:"Recent",children:[jsx("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:"Recent"}),r.map(y=>jsxs(Command.Item,{value:y.label,onSelect:()=>R(y),className:"flex cursor-pointer items-center gap-3 rounded-lg px-3 py-2.5 text-sm aria-selected:bg-muted",children:[jsx("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-muted",children:y.icon||yx[y.category||""]||jsx(File,{className:"h-4 w-4"})}),jsxs("div",{className:"flex-1 overflow-hidden",children:[jsx("div",{className:"truncate font-medium",children:y.label}),y.description&&jsx("div",{className:"truncate text-xs text-muted-foreground",children:y.description})]}),y.shortcut&&jsx("div",{className:"flex items-center gap-1",children:y.shortcut.map((N,T)=>jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 text-xs font-medium",children:N},T))})]},y.id))]}),x&&Object.entries(v).map(([y,N])=>jsxs(Command.Group,{heading:y,children:[jsx("div",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:y}),N.map(T=>jsxs(Command.Item,{value:`${T.label} ${T.keywords?.join(" ")||""}`,onSelect:()=>R(T),className:"flex cursor-pointer items-center gap-3 rounded-lg px-3 py-2.5 text-sm aria-selected:bg-muted",children:[jsx("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-muted",children:T.icon||yx[y]||jsx(File,{className:"h-4 w-4"})}),jsxs("div",{className:"flex-1 overflow-hidden",children:[jsx("div",{className:"truncate font-medium",children:T.label}),T.description&&jsx("div",{className:"truncate text-xs text-muted-foreground",children:T.description})]}),jsx(ArrowRight,{className:"h-4 w-4 text-muted-foreground opacity-0 group-aria-selected:opacity-100"})]},T.id))]},y)),jsx(Command.Empty,{className:"py-10 text-center text-sm text-muted-foreground",children:s})]})}),d?jsx("div",{className:"border-t px-4 py-3",children:d}):jsxs("div",{className:"flex items-center justify-between border-t px-4 py-3 text-xs text-muted-foreground",children:[jsxs("div",{className:"flex items-center gap-4",children:[jsxs("span",{className:"flex items-center gap-1",children:[jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-medium",children:"\u2191\u2193"}),"Navigate"]}),jsxs("span",{className:"flex items-center gap-1",children:[jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-medium",children:"\u21B5"}),"Select"]}),jsxs("span",{className:"flex items-center gap-1",children:[jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-medium",children:"Esc"}),"Close"]})]}),jsxs("span",{className:"flex items-center gap-1",children:["Press ",jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-medium",children:l})," to open"]})]})]})})]}),document.body)});Cx.displayName="SpotlightSearch";function iE(e="k"){let[t,n]=W.useState(false);return W.useEffect(()=>{let r=o=>{(o.metaKey||o.ctrlKey)&&o.key===e&&(o.preventDefault(),n(a=>!a));};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[e]),{open:t,setOpen:n,toggle:()=>n(r=>!r)}}var Nx=W.createContext(null),ai=()=>{let e=W.useContext(Nx);if(!e)throw new Error("useNotificationCenter must be used within a NotificationCenterProvider");return e},gE=({children:e,notifications:t,onNotificationsChange:n})=>{let[r,o]=W.useState([]),[a,s]=W.useState(false),i=W.useRef(null),l=t!==void 0,c=l?t:r,d=W.useCallback(b=>{l?n?.(b):o(b);},[l,n]),m=c.filter(b=>!b.read).length,f=W.useCallback(b=>{d(c.map(v=>v.id===b?{...v,read:true}:v));},[c,d]),p=W.useCallback(()=>{d(c.map(b=>({...b,read:true})));},[c,d]),g=W.useCallback(b=>{d(c.filter(v=>v.id!==b));},[c,d]),h=W.useCallback(()=>{d([]);},[d]);return jsx(Nx.Provider,{value:{notifications:c,unreadCount:m,markAsRead:f,markAllAsRead:p,removeNotification:g,clearAll:h,open:a,setOpen:s,triggerRef:i},children:e})},kx=W.forwardRef(({className:e,children:t,...n},r)=>jsx("div",{ref:r,className:u("relative inline-block",e),...n,children:t}));kx.displayName="NotificationCenter";var Px=W.forwardRef(({className:e,showBadge:t=true,children:n,onClick:r,...o},a)=>{let{unreadCount:s,open:i,setOpen:l,triggerRef:c}=ai(),d=f=>{r?.(f),l(!i);},m=s>99?"99+":String(s);return jsxs("button",{ref:f=>{c.current=f,typeof a=="function"?a(f):a&&(a.current=f);},type:"button",onClick:d,"aria-label":"Notifications"+(s>0?", "+s+" unread":""),className:u("relative inline-flex items-center justify-center rounded-md p-2 text-muted-foreground hover:bg-accent hover:text-accent-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",e),...o,children:[n||jsx(Bell,{className:"h-5 w-5"}),t&&s>0&&jsx("span",{className:"absolute -top-1 -right-1 flex h-5 min-w-5 items-center justify-center rounded-full bg-destructive px-1 text-xs font-medium text-danger-foreground",children:m})]})});Px.displayName="NotificationCenterTrigger";var Ex=W.forwardRef(({className:e,align:t="end",sideOffset:n=8,emptyMessage:r="No notifications",children:o,...a},s)=>{let{open:i,setOpen:l,notifications:c,markAllAsRead:d,clearAll:m,triggerRef:f}=ai(),[p,g]=W.useState(false),h=W.useRef(null),[b,v]=W.useState({top:0,left:0});return W.useEffect(()=>{g(true);},[]),W.useEffect(()=>{if(!i||!f.current||!h.current)return;let R=()=>{if(!f.current||!h.current)return;let w=f.current.getBoundingClientRect(),x=h.current.getBoundingClientRect(),C=w.bottom+n,y=w.left;t==="center"?y=w.left+w.width/2-x.width/2:t==="end"&&(y=w.right-x.width),y+x.width>window.innerWidth-16&&(y=window.innerWidth-x.width-16),y<16&&(y=16),v({top:C,left:y});};return R(),window.addEventListener("resize",R),window.addEventListener("scroll",R,true),()=>{window.removeEventListener("resize",R),window.removeEventListener("scroll",R,true);}},[i,f,t,n]),W.useEffect(()=>{if(!i)return;let R=x=>{h.current&&!h.current.contains(x.target)&&f.current&&!f.current.contains(x.target)&&l(false);},w=x=>{x.key==="Escape"&&l(false);};return document.addEventListener("mousedown",R),document.addEventListener("keydown",w),()=>{document.removeEventListener("mousedown",R),document.removeEventListener("keydown",w);}},[i,l,f]),!p||!i?null:Ya.createPortal(jsxs("div",{ref:R=>{h.current=R,typeof s=="function"?s(R):s&&(s.current=R);},className:u("fixed z-50 w-80 sm:w-96 max-h-[70vh] overflow-hidden rounded-lg border bg-popover text-popover-foreground shadow-lg","animate-in fade-in-0 zoom-in-95 slide-in-from-top-2",e),style:{top:b.top,left:b.left},...a,children:[jsxs("div",{className:"flex items-center justify-between border-b px-4 py-3",children:[jsx("h3",{className:"font-semibold",children:"Notifications"}),jsxs("div",{className:"flex items-center gap-2",children:[c.length>0&&jsxs(Fragment,{children:[jsx("button",{type:"button",onClick:d,className:"text-xs text-muted-foreground hover:text-foreground",children:"Mark all read"}),jsx("button",{type:"button",onClick:m,className:"text-xs text-muted-foreground hover:text-foreground",children:"Clear all"})]}),jsx("button",{type:"button",onClick:()=>l(false),className:"rounded-md p-1 hover:bg-accent",children:jsx(X,{className:"h-4 w-4"})})]})]}),jsx("div",{className:"max-h-[calc(70vh-60px)] overflow-y-auto",children:o||(c.length===0?jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-muted-foreground",children:[jsx(Bell,{className:"h-10 w-10 mb-2 opacity-50"}),jsx("p",{className:"text-sm",children:r})]}):c.map(R=>jsx(xc,{notification:R},R.id)))})]}),document.body)});Ex.displayName="NotificationCenterContent";var bE={info:"border-l-blue-500",success:"border-l-green-500",warning:"border-l-yellow-500",error:"border-l-red-500"},vE={info:Info,success:CheckCircle,warning:AlertTriangle,error:AlertCircle},xc=({notification:e,onMarkAsRead:t,onRemove:n})=>{let{markAsRead:r,removeNotification:o}=ai(),{id:a,title:s,description:i,type:l="info",timestamp:c,read:d,avatar:m,action:f}=e,p=vE[l],g=()=>{t?t():r(a);},h=()=>{n?n():o(a);},b=v=>{if(!v)return null;let R=typeof v=="string"?new Date(v):v,x=new Date().getTime()-R.getTime(),C=Math.floor(x/6e4),y=Math.floor(x/36e5),N=Math.floor(x/864e5);return C<1?"Just now":C<60?C+"m ago":y<24?y+"h ago":N<7?N+"d ago":R.toLocaleDateString()};return jsxs("div",{className:u("group relative flex gap-3 border-b border-l-4 px-4 py-3 transition-colors hover:bg-accent/50",bE[l],!d&&"bg-accent/20"),children:[jsx("div",{className:"flex-shrink-0",children:m||jsx("div",{className:u("flex h-8 w-8 items-center justify-center rounded-full",l==="info"&&"bg-blue-100 text-blue-600 dark:bg-blue-900 dark:text-blue-400",l==="success"&&"bg-green-100 text-green-600 dark:bg-green-900 dark:text-green-400",l==="warning"&&"bg-yellow-100 text-yellow-600 dark:bg-yellow-900 dark:text-yellow-400",l==="error"&&"bg-red-100 text-red-600 dark:bg-red-900 dark:text-red-400"),children:jsx(p,{className:"h-4 w-4"})})}),jsxs("div",{className:"flex-1 min-w-0",children:[jsxs("div",{className:"flex items-start justify-between gap-2",children:[jsx("p",{className:u("text-sm font-medium",!d&&"font-semibold"),children:s}),!d&&jsx("span",{className:"h-2 w-2 flex-shrink-0 rounded-full bg-primary"})]}),i&&jsx("p",{className:"mt-1 text-sm text-muted-foreground line-clamp-2",children:i}),jsxs("div",{className:"mt-2 flex items-center gap-3",children:[c&&jsx("span",{className:"text-xs text-muted-foreground",children:b(c)}),f&&jsx("button",{type:"button",onClick:f.onClick,className:"text-xs font-medium text-primary hover:underline",children:f.label})]})]}),jsx("div",{className:"flex-shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",children:jsxs("div",{className:"flex gap-1",children:[!d&&jsx("button",{type:"button",onClick:g,className:"rounded-md p-1 hover:bg-accent",title:"Mark as read",children:jsx(Check,{className:"h-4 w-4"})}),jsx("button",{type:"button",onClick:h,className:"rounded-md p-1 hover:bg-accent text-danger",title:"Remove",children:jsx(Trash2,{className:"h-4 w-4"})})]})})]})};xc.displayName="NotificationItem";var Lx=W.forwardRef(({className:e,children:t,...n},r)=>jsx("div",{ref:r,className:u("divide-y",e),...n,children:t}));Lx.displayName="NotificationList";var Sx=cva("relative flex items-center justify-center gap-3 px-4 py-2.5 text-sm",{variants:{variant:{solid:"",flat:""},type:{default:"",success:"",warning:"",error:""},position:{top:"fixed top-0 left-0 right-0 z-50",relative:"relative"}},compoundVariants:[{variant:"solid",type:"default",className:"bg-primary text-primary-foreground [&>svg]:text-primary-foreground"},{variant:"flat",type:"default",className:"bg-primary/10 text-primary [&>svg]:text-primary"},{variant:"solid",type:"success",className:"bg-green-600 text-white dark:bg-green-500 [&>svg]:text-white"},{variant:"flat",type:"success",className:"bg-green-600/10 text-green-600 dark:bg-green-500/10 dark:text-green-500 [&>svg]:text-green-600 dark:[&>svg]:text-green-500"},{variant:"solid",type:"warning",className:"bg-amber-600 text-white dark:bg-amber-500 [&>svg]:text-white"},{variant:"flat",type:"warning",className:"bg-amber-600/10 text-amber-600 dark:bg-amber-500/10 dark:text-amber-500 [&>svg]:text-amber-600 dark:[&>svg]:text-amber-500"},{variant:"solid",type:"error",className:"bg-red-600 text-white dark:bg-red-500 [&>svg]:text-white"},{variant:"flat",type:"error",className:"bg-red-600/10 text-red-600 dark:bg-red-500/10 dark:text-red-500 [&>svg]:text-red-600 dark:[&>svg]:text-red-500"}],defaultVariants:{variant:"solid",type:"default",position:"relative"}}),ME={default:Info,success:CheckCircle2,warning:AlertTriangle,error:AlertCircle},Dx=W.forwardRef(({message:e,type:t="default",variant:n="solid",showIcon:r=false,icon:o,dismissible:a=true,onDismiss:s,endContent:i,position:l,animate:c,autoDismiss:d,storageKey:m,className:f,...p},g)=>{let[h,b]=W.useState(true),[v,R]=W.useState(false);W.useEffect(()=>{m&&localStorage.getItem(`banner-${m}`)==="true"&&b(false);},[m]),W.useEffect(()=>{if(d&&h){let y=setTimeout(()=>{w();},d);return ()=>clearTimeout(y)}},[d,h]);let w=()=>{R(true),setTimeout(()=>{b(false),m&&localStorage.setItem(`banner-${m}`,"true"),s?.();},200);};if(!h)return null;let x=ME[t],C=r?o!==void 0?o:x?jsx(x,{className:"h-4 w-4"}):null:null;return jsxs("div",{ref:g,className:u(Sx({variant:n,type:t,position:l}),c&&"animate-pulse",v&&"animate-out fade-out slide-out-to-top duration-200",f),role:"banner",...p,children:[C&&jsx("span",{className:"shrink-0",children:C}),jsx("span",{className:"text-center font-medium",children:e}),i&&jsx("div",{className:"shrink-0 ml-2",children:i}),a&&jsx("button",{type:"button",onClick:w,className:u("absolute right-2 top-1/2 -translate-y-1/2 rounded-sm p-1 transition-opacity hover:opacity-70 cursor-pointer",l==="relative"&&"right-4"),"aria-label":"Dismiss banner",children:jsx(X,{className:"h-4 w-4"})})]})});Dx.displayName="Banner";var ya=cva("inline-flex items-center justify-center rounded-full shadow-lg transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{solid:"bg-primary text-primary-foreground hover:bg-primary/90",bordered:"border-2 border-primary bg-transparent text-primary hover:opacity-70",light:"bg-transparent text-primary hover:bg-primary/10",flat:"bg-primary/20 text-primary hover:opacity-70",ghost:"border-2 border-primary bg-transparent text-primary hover:bg-primary hover:text-primary-foreground"},size:{sm:"h-10 w-10",md:"h-14 w-14",lg:"h-16 w-16"},position:{"bottom-right":"fixed bottom-6 right-6","bottom-left":"fixed bottom-6 left-6","bottom-center":"fixed bottom-6 left-1/2 -translate-x-1/2",relative:"relative"}},defaultVariants:{variant:"solid",size:"md",position:"bottom-right"}}),PE=cva("transition-transform duration-200 [&>svg]:h-full [&>svg]:w-full",{variants:{size:{sm:"h-5 w-5",md:"h-6 w-6",lg:"h-8 w-8"}},defaultVariants:{size:"md"}}),Rc=W.forwardRef(({icon:e,label:t="Action button",extended:n,extendedLabel:r,actions:o,direction:a="up",showTooltip:s=true,closeIcon:i,animation:l="rotate",variant:c,size:d,position:m,className:f,onClick:p,disabled:g,...h},b)=>{let[v,R]=W.useState(false),w=o&&o.length>0,x=k=>{w&&R(!v),p?.(k);},C=k=>{k.onClick?.(),R(false);},y={up:{container:"flex-col-reverse bottom-full mb-3 gap-3",item:""},down:{container:"flex-col top-full mt-3 gap-3",item:""},left:{container:"flex-row-reverse right-full mr-3 gap-3",item:""},right:{container:"flex-row left-full ml-3 gap-3",item:""}},N=l==="rotate"&&v?"rotate-45":"",T=l==="scale"&&v?"scale-0":"scale-100";return jsxs("div",{className:u("relative z-50",m!=="relative"&&m&&ya({position:m})),children:[w&&v&&jsx("div",{className:u("absolute left-1/2 -translate-x-1/2 flex items-center",y[a].container),children:o.map((k,M)=>jsxs("div",{className:u("flex items-center gap-2 animate-in fade-in zoom-in duration-200",a==="up"||a==="down"?"flex-row":"flex-col"),style:{animationDelay:`${M*50}ms`},children:[s&&(a==="up"||a==="down")&&jsx("span",{className:"rounded-md bg-popover px-2 py-1 text-xs font-medium text-popover-foreground shadow-md whitespace-nowrap",children:k.label}),k.href?jsx("a",{href:k.href,className:u(ya({variant:k.variant||"flat",size:d==="lg"?"md":"sm",position:"relative"}),"[&>svg]:h-5 [&>svg]:w-5"),"aria-label":k.label,children:k.icon}):jsx("button",{type:"button",onClick:()=>C(k),className:u(ya({variant:k.variant||"flat",size:d==="lg"?"md":"sm",position:"relative"}),"[&>svg]:h-5 [&>svg]:w-5"),"aria-label":k.label,children:k.icon}),s&&(a==="left"||a==="right")&&jsx("span",{className:"rounded-md bg-popover px-2 py-1 text-xs font-medium text-popover-foreground shadow-md whitespace-nowrap",children:k.label})]},k.id))}),jsxs("button",{ref:b,type:"button",onClick:x,disabled:g,className:u(ya({variant:c,size:d,position:"relative"}),n&&"w-auto px-6 gap-2",f),"aria-label":t,"aria-expanded":w?v:void 0,...h,children:[v&&i?i:jsx("span",{className:u(PE({size:d}),N,T,"transition-all duration-200"),children:e||jsx(Plus,{})}),n&&r&&jsx("span",{className:"font-medium",children:r})]}),w&&v&&jsx("div",{className:"fixed inset-0 -z-10",onClick:()=>R(false)})]})});Rc.displayName="FloatingActionButton";var EE=Rc;var zx=cva("fixed bottom-0 left-0 right-0 z-50 flex items-center justify-around border-t bg-background safe-area-pb",{variants:{variant:{default:"border-border",elevated:"border-transparent shadow-[0_-4px_6px_-1px_rgba(0,0,0,0.1)]",filled:"border-transparent bg-primary text-primary-foreground"},size:{sm:"h-14",md:"h-16",lg:"h-20"}},defaultVariants:{variant:"default",size:"md"}}),Ix=cva("flex flex-1 flex-col items-center justify-center gap-1 transition-colors cursor-pointer",{variants:{variant:{default:"",elevated:"",filled:""}},defaultVariants:{variant:"default"}}),Ox=W.forwardRef(({className:e,variant:t,size:n,items:r,value:o,defaultValue:a,onValueChange:s,hideLabels:i=false,showActiveLabel:l=false,renderItem:c,...d},m)=>{let[f,p]=W.useState(a||r[0]?.key),g=o!==void 0,h=g?o:f,b=x=>{x.disabled||(g||p(x.key),s?.(x.key));},v=x=>t==="filled"?x?"text-primary-foreground":"text-primary-foreground/60 hover:text-primary-foreground/80":x?"text-primary":"text-muted-foreground hover:text-foreground",R=()=>{switch(n){case "sm":return "h-5 w-5";case "lg":return "h-7 w-7";default:return "h-6 w-6"}},w=()=>{switch(n){case "sm":return "text-[10px]";case "lg":return "text-sm";default:return "text-xs"}};return jsx("nav",{ref:m,className:u(zx({variant:t,size:n}),e),role:"navigation","aria-label":"Bottom navigation",...d,children:r.map(x=>{let C=h===x.key,y=!i&&(l?C:true),N=C&&x.activeIcon?x.activeIcon:x.icon;if(c)return jsx("div",{onClick:()=>b(x),className:u(Ix({variant:t}),x.disabled&&"opacity-50 cursor-not-allowed"),children:c(x,C)},x.key);let T=jsxs("div",{onClick:()=>!x.href&&b(x),className:u(Ix({variant:t}),v(C),x.disabled&&"opacity-50 cursor-not-allowed"),role:"button","aria-current":C?"page":void 0,"aria-disabled":x.disabled,tabIndex:x.disabled?-1:0,onKeyDown:k=>{(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),b(x));},children:[jsxs("div",{className:"relative",children:[jsx("span",{className:u(R(),"[&>svg]:h-full [&>svg]:w-full"),children:N}),x.badge!==void 0&&x.badge>0&&jsx("span",{className:"absolute -top-1 -right-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-red-500 px-1 text-[10px] font-medium text-white",children:x.badge>99?"99+":x.badge}),x.showDot&&jsx("span",{className:"absolute -top-0.5 -right-0.5 h-2 w-2 rounded-full bg-red-500"})]}),y&&x.label&&jsx("span",{className:u(w(),"font-medium truncate max-w-full px-1"),children:x.label})]},x.key);return x.href&&!x.disabled?jsx("a",{href:x.href,onClick:()=>b(x),className:u("flex flex-1 flex-col items-center justify-center gap-1 no-underline",v(C)),children:T},x.key):T})})});Ox.displayName="BottomNavigation";var SE="fixed inset-x-0 bottom-0 z-50 mt-24 flex h-fit max-h-[90vh] flex-col rounded-t-[20px] border-t border-border/40 dark:border-border/20 bg-background",Fx=cva("flex w-full items-center gap-3 px-4 py-3.5 text-left transition-colors focus-visible:outline-none focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"hover:bg-accent",destructive:"text-danger hover:bg-destructive/10"}},defaultVariants:{variant:"default"}}),Kx=W.forwardRef(({open:e,onOpenChange:t,trigger:n,title:r,description:o,items:a,cancelLabel:s="Cancel",onCancel:i,showCancel:l=true,children:c,closeOnSelect:d=true,onAction:m},f)=>{let p=g=>{g.isDisabled||(g.onSelect?.(),m?.(g.key),d&&t?.(false));};return jsxs(Drawer.Root,{open:e,onOpenChange:t,children:[n&&jsx(Drawer.Trigger,{asChild:true,children:n}),jsxs(Drawer.Portal,{children:[jsx(Drawer.Overlay,{className:"fixed inset-0 z-50 bg-black/40"}),jsxs(Drawer.Content,{ref:f,className:SE,children:[jsx("div",{className:"mx-auto mt-4 h-1.5 w-12 flex-shrink-0 rounded-full bg-muted"}),(r||o)&&jsxs("div",{className:"px-4 py-3 text-center",children:[r&&jsx(Drawer.Title,{className:"text-base font-semibold",children:r}),o&&jsx(Drawer.Description,{className:"mt-1 text-sm text-muted-foreground",children:o})]}),jsx("div",{className:"flex-1 overflow-y-auto",children:c||jsx("div",{className:"divide-y divide-border/40 dark:divide-border/20",children:a?.map(g=>jsxs("button",{type:"button",disabled:g.isDisabled,onClick:()=>p(g),className:u(Fx({variant:g.isDestructive?"destructive":"default"})),children:[g.icon&&jsx("span",{className:"h-5 w-5 flex-shrink-0 [&>svg]:h-full [&>svg]:w-full",children:g.icon}),jsxs("div",{className:"flex-1 min-w-0",children:[jsx("div",{className:"font-medium",children:g.label}),g.description&&jsx("div",{className:"text-sm text-muted-foreground truncate",children:g.description})]})]},g.key))})}),l&&jsx("div",{className:"border-t border-border/40 dark:border-border/20 p-2 pb-safe",children:jsx(Drawer.Close,{asChild:true,children:jsx("button",{type:"button",onClick:i,className:"w-full rounded-lg bg-muted py-3.5 text-center font-semibold transition-colors hover:bg-muted/80",children:s})})})]})]})]})});Kx.displayName="ActionSheet";var $x=cva("relative overflow-hidden touch-pan-y",{variants:{variant:{default:"",card:"rounded-lg border bg-card"}},defaultVariants:{variant:"default"}}),Cc=cva("flex h-full items-center justify-center px-4 text-white font-medium transition-opacity",{variants:{variant:{primary:"bg-primary",secondary:"bg-secondary text-secondary-foreground",success:"bg-green-500",warning:"bg-yellow-500",danger:"bg-red-500",info:"bg-blue-500"},size:{sm:"min-w-16",md:"min-w-20",lg:"min-w-24"}},defaultVariants:{variant:"primary",size:"md"}}),Ux=W.forwardRef(({className:e,variant:t,leftActions:n=[],rightActions:r=[],actionSize:o="md",threshold:a=.3,onSwipeEnd:s,disabled:i=false,fullSwipeAction:l,children:c,...d},m)=>{let f=W.useRef(null),[p,g]=W.useState(0),[h,b]=W.useState(false),v=W.useRef(0),R=W.useRef(0),w=n.length*(o==="sm"?64:o==="lg"?96:80),x=r.length*(o==="sm"?64:o==="lg"?96:80),C=M=>{i||(b(true),v.current=M.touches[0].clientX,R.current=p);},y=M=>{if(!h||i)return;let E=M.touches[0].clientX-v.current,D=R.current+E;(D>0&&n.length===0||D<0&&r.length===0)&&(D=0),D>w?D=w+(D-w)*.3:D<-x&&(D=-x+(D+x)*.3),g(D);},N=()=>{if(!h)return;b(false);let M=f.current?.offsetWidth||0,P=Math.abs(p)/M;if(l&&P>.6){l==="right"&&p>0&&n[0]?(n[0].onAction?.(),s?.("right",n[0].key)):l==="left"&&p<0&&r[0]&&(r[0].onAction?.(),s?.("left",r[0].key)),g(0);return}p>w*a&&n.length>0?(g(w),s?.("right")):p<-x*a&&r.length>0?(g(-x),s?.("left")):g(0);},T=(M,P)=>{M.onAction?.(),s?.(P,M.key),g(0);},k=()=>{g(0);};return jsxs("div",{ref:m,className:u($x({variant:t,className:e})),...d,children:[n.length>0&&p>0&&jsx("div",{className:"absolute left-0 top-0 bottom-0 flex",style:{width:w},children:n.map(M=>jsxs("button",{type:"button",onClick:()=>T(M,"right"),className:u(Cc({variant:M.variant,size:o})),style:{opacity:Math.min(1,p/w)},children:[M.icon&&jsx("span",{className:"h-5 w-5 [&>svg]:h-full [&>svg]:w-full",children:M.icon}),!M.icon&&M.label]},M.key))}),r.length>0&&p<0&&jsx("div",{className:"absolute right-0 top-0 bottom-0 flex",style:{width:x},children:r.map(M=>jsxs("button",{type:"button",onClick:()=>T(M,"left"),className:u(Cc({variant:M.variant,size:o})),style:{opacity:Math.min(1,Math.abs(p)/x)},children:[M.icon&&jsx("span",{className:"h-5 w-5 [&>svg]:h-full [&>svg]:w-full",children:M.icon}),!M.icon&&M.label]},M.key))}),jsx("div",{ref:f,className:u("relative bg-background",h?"":"transition-transform duration-200"),style:{transform:`translateX(${p}px)`},onTouchStart:C,onTouchMove:y,onTouchEnd:N,onClick:p!==0?k:void 0,children:c})]})});Ux.displayName="SwipeActions";var _x=cva("relative overflow-hidden",{variants:{variant:{default:"",contained:"h-full"}},defaultVariants:{variant:"default"}}),IE=cva("absolute left-1/2 -translate-x-1/2 flex items-center justify-center transition-all duration-200",{variants:{size:{sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12"}},defaultVariants:{size:"md"}}),Yx=W.forwardRef(({className:e,variant:t,onRefresh:n,pullThreshold:r=80,maxPullDistance:o=120,loadingIndicator:a,pullIndicator:s,indicatorSize:i="md",disabled:l=false,pullText:c="Pull to refresh",releaseText:d="Release to refresh",refreshingText:m="Refreshing...",children:f,...p},g)=>{let h=W.useRef(null),[b,v]=W.useState(0),[R,w]=W.useState("idle"),x=W.useRef(0),C=W.useRef(false),y=()=>l||R==="refreshing"?false:(h.current?.scrollTop??window.scrollY)<=0,N=E=>{y()&&(x.current=E.touches[0].clientY,C.current=true);},T=E=>{if(!C.current||!y())return;let H=E.touches[0].clientY-x.current;if(H<0){v(0),w("idle");return}let S=Math.min(H*.5,o);v(S),w(S>=r?"ready":"pulling");},k=async()=>{if(C.current)if(C.current=false,R==="ready"){w("refreshing"),v(r*.6);try{await n();}finally{w("idle"),v(0);}}else w("idle"),v(0);},M={sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"}[i],P=()=>{if(R==="refreshing")return a||jsxs("div",{className:"flex flex-col items-center gap-1",children:[jsx(Loader2,{className:u(M,"animate-spin text-primary")}),jsx("span",{className:"text-xs text-muted-foreground",children:m})]});let E=Math.min(b/r*180,180);return s||jsxs("div",{className:"flex flex-col items-center gap-1",children:[jsx(ArrowDown,{className:u(M,"text-muted-foreground transition-transform"),style:{transform:`rotate(${E}deg)`}}),jsx("span",{className:"text-xs text-muted-foreground",children:R==="ready"?d:c})]})};return jsxs("div",{ref:g,className:u(_x({variant:t,className:e})),...p,children:[jsx("div",{className:u(IE({size:i}),"z-10",R==="idle"&&b===0&&"opacity-0"),style:{top:Math.max(b-60,-60),opacity:Math.min(b/(r*.5),1)},children:P()}),jsx("div",{ref:h,className:u("transition-transform duration-200",R==="refreshing"&&"ease-out"),style:{transform:`translateY(${b}px)`,transition:C.current?"none":void 0},onTouchStart:N,onTouchMove:T,onTouchEnd:k,children:f})]})});Yx.displayName="PullToRefresh";var Ur=(e,t,n)=>({duration:e,delay:t,ease:n||[.4,0,.2,1]}),VE={hidden:e=>({opacity:e}),visible:{opacity:1},exit:e=>({opacity:e})},jx=W.forwardRef(({show:e=true,children:t,duration:n=.3,delay:r=0,ease:o,className:a,unmountOnExit:s=true,initialOpacity:i=0,onAnimationStart:l,onAnimationComplete:c},d)=>{let m=jsx(motion.div,{ref:d,initial:"hidden",animate:e?"visible":"hidden",exit:s?"exit":void 0,variants:VE,custom:i,transition:Ur(n,r,o),className:u(a),onAnimationStart:l,onAnimationComplete:c,children:t});return s?jsx(AnimatePresence,{children:e&&m}):m});jx.displayName="Fade";var AE=(e,t)=>{let n=typeof t=="number"?`${t}px`:t,r={up:{y:n},down:{y:`-${n}`},left:{x:n},right:{x:`-${n}`}};return {hidden:{opacity:0,...r[e]},visible:{opacity:1,x:0,y:0},exit:{opacity:0,...r[e]}}},Xx=W.forwardRef(({show:e=true,children:t,duration:n=.3,delay:r=0,ease:o,className:a,unmountOnExit:s=true,direction:i="up",offset:l=20,onAnimationStart:c,onAnimationComplete:d},m)=>{let f=W.useMemo(()=>AE(i,l),[i,l]),p=jsx(motion.div,{ref:m,initial:"hidden",animate:e?"visible":"hidden",exit:s?"exit":void 0,variants:f,transition:Ur(n,r,o),className:u(a),onAnimationStart:c,onAnimationComplete:d,children:t});return s?jsx(AnimatePresence,{children:e&&p}):p});Xx.displayName="Slide";var zE={center:"center center",top:"center top",bottom:"center bottom",left:"left center",right:"right center","top-left":"left top","top-right":"right top","bottom-left":"left bottom","bottom-right":"right bottom"},OE={hidden:e=>({opacity:0,scale:e}),visible:{opacity:1,scale:1},exit:e=>({opacity:0,scale:e})},qx=W.forwardRef(({show:e=true,children:t,duration:n=.3,delay:r=0,ease:o,className:a,unmountOnExit:s=true,initialScale:i=.9,origin:l="center",onAnimationStart:c,onAnimationComplete:d},m)=>{let f=jsx(motion.div,{ref:m,initial:"hidden",animate:e?"visible":"hidden",exit:s?"exit":void 0,variants:OE,custom:i,transition:Ur(n,r,o),className:u(a),style:{transformOrigin:zE[l]},onAnimationStart:c,onAnimationComplete:d,children:t});return s?jsx(AnimatePresence,{children:e&&f}):f});qx.displayName="Scale";var Zx=W.forwardRef(({show:e=true,children:t,duration:n=.3,delay:r=0,ease:o,className:a,horizontal:s=false,startingSize:i=0,animateOpacity:l=true,onAnimationStart:c,onAnimationComplete:d},m)=>{let f=s?"width":"height",p={hidden:{[f]:i,opacity:l?0:1},visible:{[f]:"auto",opacity:1},exit:{[f]:i,opacity:l?0:1}};return jsx(AnimatePresence,{initial:false,children:e&&jsx(motion.div,{ref:m,initial:"hidden",animate:"visible",exit:"exit",variants:p,transition:Ur(n,r,o),className:u("overflow-hidden",a),onAnimationStart:c,onAnimationComplete:d,children:t})})});Zx.displayName="Collapse";var Qx=W.forwardRef(({show:e=true,children:t,duration:n=.4,delay:r=0,ease:o,className:a,initialWidth:s=0,initialHeight:i=0,animateOpacity:l=true,onAnimationStart:c,onAnimationComplete:d},m)=>{let f={hidden:{width:s,height:i,opacity:l?0:1},visible:{width:"auto",height:"auto",opacity:1},exit:{width:s,height:i,opacity:l?0:1}};return jsx(AnimatePresence,{initial:false,children:e&&jsx(motion.div,{ref:m,initial:"hidden",animate:"visible",exit:"exit",variants:f,transition:Ur(n,r,o),className:u("overflow-hidden",a),onAnimationStart:c,onAnimationComplete:d,children:t})})});Qx.displayName="Expand";var Jx=W.forwardRef(({show:e=true,children:t,duration:n=.3,delay:r=0,ease:o,className:a,unmountOnExit:s=true,initialRotation:i=-180,finalRotation:l=0,onAnimationStart:c,onAnimationComplete:d},m)=>{let f={hidden:{opacity:0,rotate:i},visible:{opacity:1,rotate:l},exit:{opacity:0,rotate:i}},p=jsx(motion.div,{ref:m,initial:"hidden",animate:e?"visible":"hidden",exit:s?"exit":void 0,variants:f,transition:Ur(n,r,o),className:u(a),onAnimationStart:c,onAnimationComplete:d,children:t});return s?jsx(AnimatePresence,{children:e&&p}):p});Jx.displayName="Rotate";var ey=W.forwardRef(({front:e,back:t,direction:n="horizontal",flipped:r=false,duration:o=.6,delay:a=0,ease:s,className:i,onAnimationStart:l,onAnimationComplete:c},d)=>{let m=n==="horizontal"?"rotateY":"rotateX";return jsx("div",{ref:d,className:u("relative",i),style:{perspective:1e3},children:jsxs(motion.div,{animate:{[m]:r?180:0},transition:Ur(o,a,s),style:{transformStyle:"preserve-3d"},onAnimationStart:l,onAnimationComplete:c,children:[jsx("div",{className:"absolute inset-0",style:{backfaceVisibility:"hidden"},children:e}),jsx("div",{className:"absolute inset-0",style:{backfaceVisibility:"hidden",transform:`${m}(180deg)`},children:t})]})})});ey.displayName="Flip";var ty=W.forwardRef(({color:e="currentColor",duration:t=.6,children:n,className:r,disabled:o=false},a)=>{let[s,i]=W.useState([]),l=W.useRef(null),c=m=>{if(o)return;let f=l.current;if(!f)return;let p=f.getBoundingClientRect(),g=m.clientX-p.left,h=m.clientY-p.top,b=Math.max(p.width,p.height)*2,v={id:Date.now(),x:g,y:h,size:b};i(R=>[...R,v]);},d=m=>{i(f=>f.filter(p=>p.id!==m));};return jsxs("div",{ref:a,className:u("relative overflow-hidden rounded-[inherit]",r),onClick:c,children:[jsx("div",{ref:l,className:"relative z-0",children:n}),jsx(AnimatePresence,{children:s.map(m=>jsx(motion.span,{initial:{scale:0,opacity:.35},animate:{scale:1,opacity:0},exit:{opacity:0},transition:{duration:t,ease:"easeOut"},onAnimationComplete:()=>d(m.id),className:"pointer-events-none absolute rounded-full",style:{left:m.x-m.size/2,top:m.y-m.size/2,width:m.size,height:m.size,backgroundColor:e}},m.id))})]})});ty.displayName="Ripple";var ny=W.forwardRef(({children:e,animate:t=true,height:n=10,duration:r=.5,count:o=0,className:a,triggerOnHover:s=false},i)=>{let[l,c]=W.useState(false),d=s?l:t,m={idle:{y:0},bounce:{y:[0,-n,0],transition:{duration:r,ease:"easeInOut",repeat:o===0?1/0:o-1,repeatType:"loop"}}};return jsx(motion.div,{ref:i,variants:m,initial:"idle",animate:d?"bounce":"idle",className:u(a),onMouseEnter:()=>s&&c(true),onMouseLeave:()=>s&&c(false),children:e})});ny.displayName="Bounce";var KE={subtle:[0,-2,2,-2,2,-1,1,0],normal:[0,-5,5,-5,5,-3,3,0],strong:[0,-10,10,-10,10,-5,5,0]},ry=W.forwardRef(({children:e,animate:t=true,intensity:n="normal",duration:r=.5,count:o=1,className:a,triggerOnHover:s=false},i)=>{let[l,c]=W.useState(false),d=s?l:t,m={idle:{x:0},shake:{x:KE[n],transition:{duration:r,ease:"easeInOut",repeat:o-1}}};return jsx(motion.div,{ref:i,variants:m,initial:"idle",animate:d?"shake":"idle",className:u(a),onMouseEnter:()=>s&&c(true),onMouseLeave:()=>s&&c(false),children:e})});ry.displayName="Shake";var GE={slow:"animate-[pulse_3s_ease-in-out_infinite]",normal:"animate-[pulse_2s_ease-in-out_infinite]",fast:"animate-[pulse_1s_ease-in-out_infinite]"},oy=W.forwardRef(({children:e,animate:t=true,speed:n="normal",className:r},o)=>jsx("div",{ref:o,className:u(t&&GE[n],r),children:e}));oy.displayName="Pulse";var ay=W.forwardRef(({children:e,animate:t=true,angle:n=10,duration:r=.3,count:o=0,className:a,triggerOnHover:s=false},i)=>{let[l,c]=W.useState(false),d=s?l:t,m={idle:{rotate:0},wiggle:{rotate:[0,-n,n,-n,n,0],transition:{duration:r,ease:"easeInOut",repeat:o===0?1/0:o-1,repeatType:"loop"}}};return jsx(motion.div,{ref:i,variants:m,initial:"idle",animate:d?"wiggle":"idle",className:u(a),onMouseEnter:()=>s&&c(true),onMouseLeave:()=>s&&c(false),children:e})});ay.displayName="Wiggle";var sy=W.forwardRef(({children:e,animate:t=false,scale:n=1.2,duration:r=.2,className:o,triggerOnHover:a=false,triggerOnClick:s=false},i)=>{let[l,c]=W.useState(false),d=t||l,m={type:"spring",stiffness:400,damping:17,duration:r},f=()=>{s&&(c(true),setTimeout(()=>c(false),r*1e3));};return jsx(motion.div,{ref:i,animate:{scale:d?n:1},transition:m,className:u(o),onMouseEnter:()=>a&&c(true),onMouseLeave:()=>a&&c(false),onClick:f,children:e})});sy.displayName="Pop";var jE=(e,t,n,r)=>{let o=e.toFixed(t),[a,s]=o.split("."),i=a.replace(/\B(?=(\d{3})+(?!\d))/g,n);return s?`${i}${r}${s}`:i},iy=W.forwardRef(({value:e,from:t=0,duration:n=2,decimals:r=0,prefix:o="",suffix:a="",separator:s=",",decimalSeparator:i=".",animateOnView:l=true,delay:c=0,className:d,onComplete:m},f)=>{let p=W.useRef(null),g=useInView(p,{once:true}),[h,b]=W.useState(!l);W.useEffect(()=>{if(l&&g){let w=setTimeout(()=>b(true),c*1e3);return ()=>clearTimeout(w)}},[l,g,c]);let v=useMotionValue(t),R=useTransform(v,w=>jE(w,r,s,i));return W.useEffect(()=>{if(h){let w=animate(v,e,{duration:n,ease:"easeOut",onComplete:m});return ()=>w.stop()}},[h,e,n,v,m]),jsx("span",{ref:p,className:u(d),children:jsxs("span",{ref:f,children:[o,jsx(motion.span,{children:R}),a]})})});iy.displayName="Counter";var ly=W.forwardRef(({text:e,speed:t=50,delay:n=0,pauseBetween:r=1500,cursor:o=true,cursorChar:a="|",loop:s=false,deleteSpeed:i=30,animateOnView:l=true,className:c,cursorClassName:d,onComplete:m},f)=>{let p=Array.isArray(e)?e:[e],[g,h]=W.useState(""),[b,v]=W.useState(0),[R,w]=W.useState(false),[x,C]=W.useState(false),y=W.useRef(null),N=useInView(y,{once:true}),[T,k]=W.useState(!l);return W.useEffect(()=>{if(l&&N){let M=setTimeout(()=>k(true),n*1e3);return ()=>clearTimeout(M)}},[l,N,n]),W.useEffect(()=>{if(!T||x)return;let M=p[b],P;return R?g.length>0?P=setTimeout(()=>{h(g.slice(0,-1));},i):(w(false),v(E=>(E+1)%p.length)):g.length<M.length?P=setTimeout(()=>{h(M.slice(0,g.length+1));},t):b<p.length-1||s?P=setTimeout(()=>{w(true);},r):(C(true),m?.()),()=>clearTimeout(P)},[T,g,b,R,x,p,t,i,r,s,m]),jsxs("span",{ref:y,className:u(c),children:[jsx("span",{ref:f,children:g}),o&&jsx(motion.span,{animate:{opacity:[1,0]},transition:{duration:.8,repeat:1/0,repeatType:"reverse"},className:u("ml-0.5",d),children:a})]})});ly.displayName="Typewriter";var cy=W.forwardRef(({children:e,direction:t="up",stagger:n=.05,duration:r=.5,delay:o=0,splitBy:a="word",animateOnView:s=true,className:i},l)=>{let c=W.useRef(null),d=useInView(c,{once:true,amount:.5}),m=s?d:true,f=typeof e=="string"?e:"",p=a==="word"?f.split(" "):f.split(""),g={up:{y:20},down:{y:-20},left:{x:20},right:{x:-20}},h={hidden:{},visible:{transition:{staggerChildren:n,delayChildren:o}}},b={hidden:{opacity:0,...g[t]},visible:{opacity:1,x:0,y:0,transition:{duration:r,ease:"easeInOut"}}};return jsx(motion.div,{ref:l,className:u("inline-flex flex-wrap",i),variants:h,initial:"hidden",animate:m?"visible":"hidden",children:jsx("span",{ref:c,children:p.map((v,R)=>jsxs(motion.span,{variants:b,className:"inline-block",children:[v,a==="word"&&R<p.length-1&&"\xA0"]},R))})})});cy.displayName="TextReveal";var dy=W.forwardRef(({words:e,duration:t=2,animation:n="slide",animationDuration:r=.5,className:o,loop:a=true},s)=>{let[i,l]=W.useState(0);W.useEffect(()=>{if(!a&&i===e.length-1)return;let d=setInterval(()=>{l(m=>(m+1)%e.length);},t*1e3);return ()=>clearInterval(d)},[e.length,t,a,i]);let c=()=>{switch(n){case "fade":return {initial:{opacity:0},animate:{opacity:1},exit:{opacity:0}};case "slide":return {initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-20}};case "scale":return {initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},exit:{opacity:0,scale:1.2}};case "blur":return {initial:{opacity:0,filter:"blur(10px)"},animate:{opacity:1,filter:"blur(0px)"},exit:{opacity:0,filter:"blur(10px)"}}}};return jsx("span",{ref:s,className:u("relative inline-block",o),children:jsx(AnimatePresence,{mode:"wait",children:jsx(motion.span,{variants:c(),initial:"initial",animate:"animate",exit:"exit",transition:{duration:r},className:"inline-block",children:e[i]},e[i])})})});dy.displayName="WordRotate";var fy=W.forwardRef(({children:e,direction:t="up",distance:n=50,duration:r=.6,delay:o=0,once:a=true,threshold:s=.1,className:i,scale:l,rotate:c,blur:d,ease:m=[.4,0,.2,1]},f)=>{let p=W.useRef(null),g=useInView(p,{once:a,amount:s}),b={up:{x:0,y:n},down:{x:0,y:-n},left:{x:n,y:0},right:{x:-n,y:0},none:{x:0,y:0}}[t],v={hidden:{opacity:0,x:b.x,y:b.y,scale:l??1,rotate:c??0,filter:d?`blur(${d}px)`:"blur(0px)"},visible:{opacity:1,x:0,y:0,scale:1,rotate:0,filter:"blur(0px)",transition:{duration:r,delay:o,ease:m}}};return jsx("div",{ref:p,children:jsx(motion.div,{ref:f,variants:v,initial:"hidden",animate:g?"visible":"hidden",className:u(i),children:e})})});fy.displayName="ScrollReveal";var gy=W.forwardRef(({position:e="top",size:t=4,color:n="hsl(var(--primary))",backgroundColor:r="transparent",zIndex:o=50,className:a,container:s,showPercentage:i=false,useSpring:l=true},c)=>{let{scrollYProgress:d}=useScroll({container:s}),m=useSpring(d,{stiffness:100,damping:30,restDelta:.001}),f=l?m:d,p=e==="top"||e==="bottom",g={top:{top:0,left:0,right:0,height:t},bottom:{bottom:0,left:0,right:0,height:t},left:{top:0,left:0,bottom:0,width:t},right:{top:0,right:0,bottom:0,width:t}},h=p?"scaleX":"scaleY",b=p?"left":"top";return jsxs("div",{ref:c,className:u("fixed",a),style:{...g[e],zIndex:o,backgroundColor:r},children:[jsx(motion.div,{className:"h-full w-full",style:{[h]:f,transformOrigin:b,backgroundColor:n}}),i&&jsx(qE,{progress:f,position:e})]})});gy.displayName="ScrollProgress";var qE=({progress:e,position:t})=>{let n=useTransform(e,s=>Math.round(s*100)),[r,o]=W.useState(0);return W.useEffect(()=>{let s=n.on("change",o);return ()=>s()},[n]),jsxs("span",{className:u("fixed rounded bg-background/80 px-2 py-1 text-xs font-medium backdrop-blur-sm",{top:"top-2 right-4",bottom:"bottom-2 right-4",left:"top-4 left-2",right:"top-4 right-2"}[t]),children:[r,"%"]})},by=W.forwardRef(({children:e,speed:t=.5,direction:n="vertical",className:r,container:o},a)=>{let s=W.useRef(null),{scrollYProgress:i}=useScroll({target:s,container:o,offset:["start end","end start"]}),l=[-100*t,100*t],c=useTransform(i,[0,1],l),d=useSpring(c,{stiffness:100,damping:30}),m=n==="horizontal"?d:0,f=n==="vertical"?d:0;return jsx("div",{ref:s,className:u("overflow-hidden",r),children:jsx(motion.div,{ref:a,style:{x:m,y:f},children:e})})});by.displayName="Parallax";var xy=W.forwardRef(({children:e,width:t,height:n,duration:r=1.5,direction:o="right",baseColor:a="hsl(var(--muted))",highlightColor:s="hsl(var(--muted-foreground) / 0.1)",borderRadius:i,className:l,active:c=true},d)=>{let m={left:"to left",right:"to right",top:"to top",bottom:"to bottom"},f={left:"shimmer-left",right:"shimmer-right",top:"shimmer-top",bottom:"shimmer-bottom"};return jsxs("div",{ref:d,className:u("relative overflow-hidden",l),style:{width:t,height:n,borderRadius:i,backgroundColor:a},children:[e,c&&jsx("div",{className:"absolute inset-0",style:{background:`linear-gradient(${m[o]}, transparent, ${s}, transparent)`,animation:`${f[o]} ${r}s infinite`}}),jsx("style",{children:`
56
56
  @keyframes shimmer-right {
57
57
  0% { transform: translateX(-100%); }
58
58
  100% { transform: translateX(100%); }