@jacshuo/onyx 1.3.1 → 1.4.0

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
@@ -1,10 +1,10 @@
1
- import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import Ft,{createContext,useSyncExternalStore,useEffect,useState,useRef,useCallback,useMemo,useId,useContext,useLayoutEffect}from'react';import {Heart,ThumbsDown,Bookmark,Share2,Download,Info,CheckCircle,AlertTriangle,AlertCircle,ChevronDown,Check,Inbox,Plus,Trash2,Pencil,ArrowUpDown,ArrowUp,ArrowDown,ChevronRight,Menu,ChevronsLeft,X,PanelLeft,MoreHorizontal,ZoomIn,ZoomOut,ChevronLeft,Camera,Aperture,Calendar,MapPin,ListMusic,Shuffle,Repeat1,SkipBack,Pause,Play,SkipForward,VolumeX,Volume2,Disc3,ListVideo,Theater,Minimize,Maximize,HardDrive,LayoutGrid,LayoutList,Minus,Minimize2,Maximize2,FolderUp,Search,CornerRightDown,Folder,FileArchive,Database,FileSpreadsheet,FileText,Terminal,FileCode,Video,Music,Image,File,CircleX,TriangleAlert,CircleCheck}from'lucide-react';import {createPortal}from'react-dom';import {createRoot}from'react-dom/client';function n(...e){return twMerge(clsx(e))}var lt=cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}}),Yt=cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}}),Zt=cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}}),ct=cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}}),Qt=cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}}),Jt=cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}}),er=cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}}),tr=cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});function dt({intent:e,size:t,className:r,...a}){return jsx("button",{className:n(lt({intent:e,size:t}),r),...a})}function Kr(e,t){for(let r of e){if(r.value===t)return r;if(r.children){let a=Kr(r.children,t);if(a)return a}}}function $r(e){let t=[];for(let r of e)r.children?.length||t.push(r),r.children&&t.push(...$r(r.children));return t}var or=40,jo=200,jr=150,Ra=120;function ar(e,t,r,a){if(!a)return {};if(r){let o=(t-1-e)*or;return {animation:`dropdown-item-out ${jr}ms ease-in both ${o}ms`}}let s=e*or;return {animation:`dropdown-item-in ${jo}ms ease-out both ${s}ms`}}function Pa(e,t,r){if(!r)return {};if(t){let a=Math.max(e-1,0)*or+jr;return {animation:`dropdown-container-out ${Ra}ms ease-in both ${a}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function Ma({options:e,onSelect:t,animated:r=true,closing:a=false,depth:s=0}){let[o,l]=useState(null),p=useRef(void 0),x=c=>{p.current&&clearTimeout(p.current),l(c);},u=()=>{p.current=setTimeout(()=>l(null),150);};return useEffect(()=>()=>{p.current&&clearTimeout(p.current);},[]),jsx("div",{className:n("absolute z-50 min-w-44 rounded-md border py-1 shadow-lg overflow-hidden","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",s===0?"mt-1 w-full":"top-0 ml-0.5"),style:{...s>0?{left:"100%"}:{},...Pa(e.length,a,r)},role:"listbox",children:e.map((c,w)=>{let b=!!c.children?.length,m=o===c.value;return jsxs("div",{className:"relative",style:ar(w,e.length,a,r),onMouseEnter:()=>x(c.value),onMouseLeave:u,children:[jsxs("div",{role:"option","aria-selected":false,"aria-disabled":c.disabled,className:n("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",c.disabled&&"pointer-events-none opacity-50"),onClick:()=>{c.disabled||b||t(c.value,c);},children:[c.icon&&jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:c.icon}),jsx("span",{className:"flex-1 truncate",children:c.label??c.value}),b&&jsx(ChevronRight,{className:"text-primary-400 h-3.5 w-3.5 shrink-0"})]}),b&&m&&jsx(Ma,{options:c.children,onSelect:t,animated:r,depth:s+1})]},c.value)})})}function Go({options:e,filter:t,multiple:r,selected:a,canAdd:s,animated:o=true,closing:l=false,onSelect:p,onToggle:x,onAdd:u}){let c=useMemo(()=>$r(e),[e]),w=t.toLowerCase(),b=t?c.filter(d=>(d.label??d.value).toLowerCase().includes(w)||d.value.toLowerCase().includes(w)):c,m=b.length===0&&!s||s?1:0,v=b.length+m;return jsxs("div",{className:n("absolute z-50 mt-1 w-full max-h-60 min-w-44 overflow-y-auto rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white"),role:"listbox","aria-multiselectable":r||void 0,style:Pa(v,l,o),children:[b.map((d,f)=>{let k=r&&a.includes(d.value);return jsxs("div",{role:"option","aria-selected":r?k:false,"aria-disabled":d.disabled,className:n("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",d.disabled&&"pointer-events-none opacity-50"),style:ar(f,v,l,o),onClick:()=>{d.disabled||(r?x(d.value):p(d.value,d));},children:[r&&jsx("span",{className:n("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",k?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:k&&jsx(Check,{className:"h-3 w-3"})}),d.icon&&jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:d.icon}),jsx("span",{className:"truncate",children:d.label??d.value})]},d.value)}),b.length===0&&!s&&jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:ar(0,1,l,o),children:"No matches"}),s&&jsxs("div",{className:n("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:ar(b.length,v,l,o),onClick:u,children:[jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxs("span",{className:"truncate",children:["Add \u201C",t.trim(),"\u201D"]})]})]})}function Gr(e){let{options:t,placeholder:r="Select\u2026",editable:a=false,onAddItem:s,disabled:o=false,align:l="left",className:p,size:x="md",animated:u=true}=e,c=e.multiple===true,[w,b]=useState(c?void 0:e.defaultValue),[m,v]=useState(c?e.defaultSelected??[]:[]),d=c?e.selected??m:[],[f,k]=useState(false),[g,E]=useState(false),[N,T]=useState(""),B=useRef(null),C=useRef(null),P=useRef(void 0),A=useCallback(()=>{if(!u||!f){k(false),T("");return}E(true);let M=(Math.max(t.length,1)-1)*or+jr+Ra+20;P.current=setTimeout(()=>{k(false),E(false),T("");},M);},[u,f,t.length]);useEffect(()=>()=>{P.current&&clearTimeout(P.current);},[]);let V=c?void 0:e.value??w,y=useMemo(()=>V?Kr(t,V):void 0,[t,V]);useEffect(()=>{if(!f)return;let H=M=>{B.current&&!B.current.contains(M.target)&&A();};return document.addEventListener("mousedown",H),()=>document.removeEventListener("mousedown",H)},[f,A]),useEffect(()=>{if(!f)return;let H=M=>{M.key==="Escape"&&A();};return document.addEventListener("keydown",H),()=>document.removeEventListener("keydown",H)},[f,A]);let O=useCallback((H,M)=>{c||(e.value===void 0&&b(H),e.onChange?.(H,M)),P.current&&clearTimeout(P.current),k(false),E(false),T("");},[c,e]),X=useCallback(H=>{if(!c)return;let M=e.selected??m,W=M.includes(H)?M.filter(U=>U!==H):[...M,H];e.selected===void 0&&v(W),e.onSelectionChange?.(W);},[c,m,e]),J=N.toLowerCase(),q=useMemo(()=>!a||!N.trim()?false:!$r(t).some(M=>M.value.toLowerCase()===J||(M.label??M.value).toLowerCase()===J),[a,J,t]),ce=useCallback(()=>{let H=N.trim();H&&(s?.(H),T(""));},[N,s]),K=useCallback(H=>{H.key==="Enter"&&q&&(H.preventDefault(),ce());},[q,ce]),ne=useCallback(()=>{o||(f?A():(P.current&&clearTimeout(P.current),E(false),k(true),T(""),a&&requestAnimationFrame(()=>C.current?.focus())));},[o,f,A,a]),R;if(c){let H=d.length;H===0?R="":H<=2?R=d.map(M=>Kr(t,M)).map(M=>M?M.label??M.value:"").filter(Boolean).join(", "):R=`${H} selected`;}else R=y?y.label??y.value:"";let G=c||a;return jsxs("div",{ref:B,className:n("relative inline-block min-w-44",p),children:[jsxs("div",{className:n(ct({state:"default",size:x}),"flex cursor-pointer items-center gap-1",o&&"pointer-events-none opacity-50"),onClick:ne,role:"combobox","aria-expanded":f,"aria-haspopup":"listbox",children:[a?jsx("input",{ref:C,className:"min-w-0 flex-1 bg-transparent outline-none placeholder:text-secondary-400 dark:placeholder:text-secondary-600",value:f?N:R,placeholder:r,disabled:o,onChange:H=>{T(H.target.value),f||k(true);},onKeyDown:K,onClick:H=>{H.stopPropagation(),f||k(true);}}):jsx("span",{className:n("flex-1 truncate",!R&&"text-secondary-400 dark:text-secondary-600"),children:R||r}),y?.icon&&!a&&!c&&jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:y.icon}),c&&d.length>0&&jsx("span",{className:"rounded-full bg-primary-100 px-1.5 text-xs font-semibold text-primary-700 dark:bg-primary-900 dark:text-primary-300",children:d.length}),jsx(ChevronDown,{className:n("text-primary-400 h-4 w-4 shrink-0 transition-transform",f&&"rotate-180")})]}),f&&jsx("div",{className:n(l==="right"?"right-0":"left-0","absolute w-full"),children:G?jsx(Go,{options:t,filter:N,multiple:c,selected:d,canAdd:q,animated:u,closing:g,onSelect:O,onToggle:X,onAdd:ce}):jsx(Ma,{options:t,onSelect:O,animated:u,closing:g})})]})}function Wo(e,t){return e.key??(typeof e.label=="string"?e.label:String(t))}var sr=40,Yo=200,Yr=150,Ea=120;function Wr(e,t,r,a){if(!a)return {};if(r){let o=(t-1-e)*sr;return {animation:`dropdown-item-out ${Yr}ms ease-in both ${o}ms`}}let s=e*sr;return {animation:`dropdown-item-in ${Yo}ms ease-out both ${s}ms`}}function Zo(e,t,r){if(!r)return {};if(t){let a=Math.max(e-1,0)*sr+Yr;return {animation:`dropdown-container-out ${Ea}ms ease-in both ${a}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function ut({label:e,items:t,intent:r,size:a,align:s="left",className:o,disabled:l,editable:p=false,onAddItem:x,multiple:u=false,selected:c=[],onSelectionChange:w,animated:b=true,chevron:m=true,...v}){let[d,f]=useState(false),[k,g]=useState(false),[E,N]=useState(""),T=useRef(null),B=useRef(null),C=useRef(void 0);useEffect(()=>()=>{C.current&&clearTimeout(C.current);},[]);let P=useCallback(()=>{if(!b||!d){f(false),N("");return}g(true);let G=(Math.max(t.length,1)-1)*sr+Yr+Ea+20;C.current=setTimeout(()=>{f(false),g(false),N("");},G);},[b,d,t.length]),A=useCallback(()=>{l||(d?P():(C.current&&clearTimeout(C.current),g(false),f(true),N(""),p&&requestAnimationFrame(()=>B.current?.focus())));},[l,d,P,p]);useEffect(()=>{if(!d)return;let R=G=>{T.current&&!T.current.contains(G.target)&&P();};return document.addEventListener("mousedown",R),()=>document.removeEventListener("mousedown",R)},[d,P]),useEffect(()=>{if(!d)return;let R=G=>{G.key==="Escape"&&P();};return document.addEventListener("keydown",R),()=>document.removeEventListener("keydown",R)},[d,P]);let V=E.toLowerCase(),y=useMemo(()=>E?t.filter(R=>(typeof R.label=="string"?R.label:R.key??"").toLowerCase().includes(V)):t,[t,V]),O=useMemo(()=>!p||!E.trim()?false:!t.some(R=>(typeof R.label=="string"?R.label:R.key??"").toLowerCase()===V),[p,V,t]),X=useCallback(()=>{let R=E.trim();R&&(x?.(R),N(""));},[E,x]),J=useCallback(R=>{R.key==="Enter"&&O&&(R.preventDefault(),X());},[O,X]),q=useCallback(R=>{let G=c.includes(R)?c.filter(H=>H!==R):[...c,R];w?.(G);},[c,w]),ce=u&&c.length>0?jsxs(Fragment,{children:[e," ",jsx("span",{className:"ml-1 rounded-full bg-white/20 px-1.5 text-xs font-semibold",children:c.length})]}):e,K=y.length===0&&!O||O?1:0,ne=y.length+K;return jsxs("div",{ref:T,className:"relative inline-block",children:[jsxs("button",{type:"button",onClick:A,disabled:l,className:n(lt({intent:r,size:a}),"inline-flex items-center gap-1",o),"aria-haspopup":u?"listbox":"true","aria-expanded":d?"true":"false",...v,children:[ce,m&&jsx(ChevronDown,{className:n("h-3.5 w-3.5 transition-transform",d&&"rotate-180")})]}),d&&jsxs("div",{className:n("absolute z-50 mt-1 min-w-44 rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",s==="right"?"right-0":"left-0"),style:Zo(ne,k,b),role:u?"listbox":"menu","aria-multiselectable":u||void 0,children:[p&&jsx("div",{className:"border-primary-200 dark:border-primary-700 border-b px-2 pb-1.5 pt-1",children:jsx("input",{ref:B,type:"text",value:E,onChange:R=>N(R.target.value),onKeyDown:J,placeholder:"Type to filter or add\u2026",className:"w-full bg-transparent text-sm text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600"})}),jsxs("div",{className:"max-h-60 overflow-y-auto",children:[y.map((R,G)=>{let H=Wo(R,G),M=u&&c.includes(H);return jsxs(Ft.Fragment,{children:[R.divider&&jsx("div",{className:"border-primary-200 dark:border-primary-700 my-1 border-t"}),jsxs("button",{type:"button",role:u?"option":"menuitem","aria-selected":u?M:void 0,disabled:R.disabled,className:n("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",R.disabled&&"pointer-events-none opacity-50"),style:Wr(G,ne,k,b),onClick:()=>{u?q(H):(R.onClick?.(),C.current&&clearTimeout(C.current),f(false),g(false),N(""));},children:[u&&jsx("span",{className:n("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",M?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:M&&jsx(Check,{className:"h-3 w-3"})}),jsx("span",{className:"flex-1 truncate",children:R.label})]})]},H)}),y.length===0&&!O&&jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:Wr(0,1,k,b),children:"No matches"}),O&&jsxs("button",{type:"button",className:n("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:Wr(y.length,ne,k,b),onClick:X,children:[jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxs("span",{className:"truncate",children:["Add \u201C",E.trim(),"\u201D"]})]})]})]})]})}function Zr({intent:e,size:t,className:r,...a}){return jsx("span",{className:n(Yt({intent:e,size:t}),r),...a})}var es={danger:"bg-danger-500",success:"bg-success-500",warning:"bg-warning-500",info:"bg-primary-500",primary:"bg-secondary-500"};function Qr({children:e,show:t=true,content:r,dot:a,intent:s="danger",size:o="md",placement:l="top-right",pulse:p=false,className:x}){let u=a??r==null,c=u?null:typeof r=="number"?r>99?"99+":String(r):r;return jsxs("div",{className:"relative inline-flex",children:[e,t&&jsxs("span",{className:n(Zt({intent:s,size:o,dot:u,placement:l}),x),role:typeof r=="number"?"status":void 0,"aria-label":typeof r=="number"?String(r):void 0,children:[p&&jsx("span",{className:n("absolute inset-0 rounded-full animate-ping opacity-60",es[s??"danger"]),"aria-hidden":"true"}),c]})]})}function Jr({intent:e,size:t,className:r,...a}){return jsx("label",{className:n(Qt({intent:e,size:t}),r),...a})}var ns={sm:{wrapper:"h-7 text-xs",prefix:"px-2 text-xs [&_svg]:h-3 [&_svg]:w-3",input:"px-2 text-xs",icon:"px-1.5 [&_svg]:h-3 [&_svg]:w-3"},md:{wrapper:"h-9 text-sm",prefix:"px-3 text-sm [&_svg]:h-4 [&_svg]:w-4",input:"px-3 py-2 text-sm",icon:"px-2 [&_svg]:h-4 [&_svg]:w-4"},lg:{wrapper:"h-11 text-base",prefix:"px-4 text-base [&_svg]:h-5 [&_svg]:w-5",input:"px-4 py-2.5 text-base",icon:"px-2.5 [&_svg]:h-5 [&_svg]:w-5"}},as={default:"border-secondary-300 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus-within:border-danger-500 focus-within:ring-2 focus-within:ring-danger-500/20"};function en({state:e="default",inputSize:t="md",className:r,prefix:a,suffix:s,action:o,...l}){if(!a&&!s&&!o)return jsx("input",{className:n(ct({state:e,size:t}),r),...l});let p=ns[t??"md"],x=as[e??"default"];return jsxs("div",{className:n("flex w-full items-center overflow-hidden rounded-md border bg-white transition-colors dark:bg-secondary-900",p.wrapper,x,r),children:[a&&jsx("span",{className:n("flex shrink-0 items-center gap-1.5 self-stretch border-r border-secondary-300 bg-secondary-50 font-medium text-secondary-600 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300",p.prefix),children:a}),jsx("input",{className:n("min-w-0 flex-1 bg-transparent text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600",p.input,a&&"pl-2"),...l}),s&&jsx("span",{className:n("pointer-events-none flex shrink-0 items-center text-secondary-400 dark:text-secondary-500",p.icon),children:s}),o&&jsx("button",{type:"button",onClick:o.onClick,"aria-label":o["aria-label"]??"Action",className:n("flex shrink-0 items-center text-secondary-500 transition-colors hover:text-primary-600 dark:text-secondary-400 dark:hover:text-primary-400",p.icon),children:o.icon})]})}var cs={sm:"px-2 py-1.5 text-xs min-h-[60px]",md:"px-3 py-2 text-sm min-h-[80px]",lg:"px-4 py-2.5 text-base min-h-[100px]"},ds={default:"border-secondary-300 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-2 focus:ring-danger-500/20"};function ps(e){if(!e)return 0;let t="\u2E80-\u2EFF\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF",r=new RegExp(`[${t}]`),a=0,s="",o=()=>{let l=s.trim();l&&(a+=l.split(/\s+/).length),s="";};for(let l of e)r.test(l)?(o(),a+=1):s+=l;return o(),a}function tn({state:e="default",size:t="md",showWordCount:r=false,maxWords:a,className:s,value:o,defaultValue:l,onChange:p,disabled:x,...u}){let[c,w]=useState(()=>l??""),b=o!==void 0?String(o):c,m=useCallback(f=>{o===void 0&&w(f.target.value),p?.(f);},[o,p]),v=useMemo(()=>ps(b),[b]),d=a!=null&&v>a;return jsxs("div",{className:n("inline-flex w-full flex-col",s),children:[jsx("textarea",{value:b,onChange:m,disabled:x,className:n("w-full resize-y rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",cs[t],ds[d?"error":e],x&&"pointer-events-none opacity-50"),...u}),(r||a!=null)&&jsx("span",{className:n("mt-1 self-end text-xs",d?"text-danger-500 dark:text-danger-400":"text-secondary-400 dark:text-secondary-500"),children:a!=null?`${v} / ${a} words`:`${v} words`})]})}var bs={sm:{trackFixed:"h-5 w-9",trackH:"h-5 min-w-9",thumb:"h-3.5 w-3.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-16px)]",pad:"pl-[6px] pr-[18px]",contentLeft:"left-[6px]",contentRight:"right-[6px]",icon:"text-[10px] [&_svg]:h-3 [&_svg]:w-3"},md:{trackFixed:"h-6 w-11",trackH:"h-6 min-w-11",thumb:"h-4.5 w-4.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-20px)]",pad:"pl-[7px] pr-[23px]",contentLeft:"left-[7px]",contentRight:"right-[7px]",icon:"text-xs [&_svg]:h-3.5 [&_svg]:w-3.5"},lg:{trackFixed:"h-7 w-14",trackH:"h-7 min-w-14",thumb:"h-5.5 w-5.5",thumbTop:"top-[3px]",thumbOff:"left-[3px]",thumbOn:"left-[calc(100%-25px)]",pad:"pl-[8px] pr-[28px]",contentLeft:"left-[8px]",contentRight:"right-[8px]",icon:"text-sm [&_svg]:h-4 [&_svg]:w-4"}},xs={primary:"text-primary-100",secondary:"text-secondary-100",danger:"text-danger-100",warning:"text-warning-100",success:"text-success-100"};function rn({checked:e,defaultChecked:t=false,onCheckedChange:r,checkedContent:a,uncheckedContent:s,intent:o,size:l,label:p,id:x,className:u,disabled:c,...w}){let b=useId(),m=x??b,v=l??"md",d=o??"primary",f=bs[v],k=a!=null||s!=null,[g,E]=useState(t),N=e??g,T=useCallback(B=>{let C=B.target.checked;e===void 0&&E(C),r?.(C);},[e,r]);return jsxs("label",{htmlFor:m,className:n("inline-flex cursor-pointer items-center gap-2",c&&"pointer-events-none opacity-50",u),children:[jsx("input",{...w,id:m,type:"checkbox",role:"switch",className:"sr-only",checked:N,disabled:c,onChange:T,"aria-checked":N}),jsxs("span",{className:n("relative inline-flex shrink-0 items-center rounded-full transition-colors duration-200",k?f.trackH:f.trackFixed,tr({intent:o,size:l,checked:N?"on":"off"})),children:[k?jsxs(Fragment,{children:[jsxs("span",{className:n("pointer-events-none invisible inline-grid",f.icon),children:[jsx("span",{className:n("[grid-area:1/1] whitespace-nowrap",f.pad),children:a}),jsx("span",{className:n("[grid-area:1/1] whitespace-nowrap",f.pad),children:s})]}),jsx("span",{className:n("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",f.contentLeft,f.icon,xs[d],N?"opacity-100":"opacity-0"),children:a}),jsx("span",{className:n("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",f.contentRight,f.icon,"text-primary-400 dark:text-primary-500",N?"opacity-0":"opacity-100"),children:s})]}):null,jsx("span",{className:n("pointer-events-none absolute rounded-full bg-white shadow-sm transition-[left] duration-200 ease-in-out",f.thumb,f.thumbTop,N?f.thumbOn:f.thumbOff)})]}),p&&jsx("span",{className:"select-none text-sm text-primary-700 dark:text-primary-300",children:p})]})}var ks={sm:"h-3 w-3",md:"h-3.5 w-3.5",lg:"h-4 w-4"};function nn({checked:e,defaultChecked:t=false,indeterminate:r=false,onCheckedChange:a,intent:s,size:o,label:l,id:p,className:x,disabled:u,...c}){let w=useId(),b=p??w,m=o??"md",[v,d]=useState(t),f=e??v,k=useCallback(E=>{let N=E.target.checked;e===void 0&&d(N),a?.(N);},[e,a]),g=f||r;return jsxs("label",{htmlFor:b,className:n("inline-flex cursor-pointer items-center gap-2 select-none",u&&"pointer-events-none opacity-50",x),children:[jsx("input",{...c,id:b,type:"checkbox",className:"sr-only",checked:f,disabled:u,onChange:k}),jsx("span",{className:n(Jt({intent:s,size:o,checked:g?"on":"off"})),children:jsx("svg",{viewBox:"0 0 16 16",fill:"none",className:n("text-white transition-all duration-200",ks[m],g?"scale-100 opacity-100":"scale-0 opacity-0"),children:r?jsx("line",{x1:"3",y1:"8",x2:"13",y2:"8",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}):jsx("path",{d:"M3.5 8.5L6.5 11.5L12.5 4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),l&&jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:l})]})}var Aa=createContext(null);function an({name:e,value:t,defaultValue:r,onValueChange:a,intent:s,size:o,disabled:l,orientation:p="vertical",className:x,children:u}){let c=useId(),w=e??c,[b,m]=useState(r),v=t??b,d=useCallback(f=>{t===void 0&&m(f),a?.(f);},[t,a]);return jsx(Aa.Provider,{value:{name:w,value:v,onChange:d,intent:s,size:o,disabled:l},children:jsx("div",{role:"radiogroup",className:n("flex gap-2",p==="vertical"?"flex-col":"flex-row flex-wrap",x),children:u})})}var Ps={sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-2.5 w-2.5"};function on({value:e,intent:t,size:r,label:a,id:s,className:o,disabled:l,...p}){let x=useId(),u=s??x,c=useContext(Aa),w=t??c?.intent,b=r??c?.size,m=b??"md",v=l??c?.disabled,d=p.name??c?.name,f=c?c.value===e:void 0,k=useCallback(g=>{g.target.checked&&c?.onChange(e);},[c,e]);return jsxs("label",{htmlFor:u,className:n("inline-flex cursor-pointer items-center gap-2 select-none",v&&"pointer-events-none opacity-50",o),children:[jsx("input",{...p,id:u,type:"radio",name:d,value:e,className:"sr-only",checked:f,disabled:v,onChange:k}),jsx("span",{className:n(er({intent:w,size:b,checked:f?"on":"off"})),children:jsx("span",{className:n("rounded-full bg-white transition-all duration-200",Ps[m],f?"scale-100 opacity-100":"scale-0 opacity-0")})}),a&&jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:a})]})}var Ls={Button:dt,Dropdown:Gr,DropdownButton:ut,Badge:Zr,Indicator:Qr,Label:Jr,Input:en,TextBox:tn,Switch:rn,Checkbox:nn,Radio:on,RadioGroup:an},sn=Ls;var St=cva("rounded-lg transition-shadow",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",elevated:"bg-white shadow-md hover:shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25 dark:hover:shadow-primary-200/30",outlined:"border-2 border-primary-300 bg-transparent dark:border-primary-600",ghost:"bg-primary-50 dark:bg-primary-800/50"},size:{sm:"p-3",md:"p-5",lg:"p-7"}},defaultVariants:{intent:"default",size:"md"}}),lr=cva("rounded-md",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",inset:"bg-primary-50 dark:bg-primary-800/50",elevated:"bg-white shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25"},size:{sm:"p-3",md:"p-4",lg:"p-6"}},defaultVariants:{intent:"default",size:"md"}});function ln({intent:e,size:t,className:r,...a}){return jsx("div",{className:n(St({intent:e,size:t}),r),...a})}function Es({className:e,...t}){return jsx("div",{className:n("mb-4 space-y-1",e),...t})}function Ss({className:e,...t}){return jsx("h3",{className:n("text-primary-900 dark:text-primary-100 text-lg font-semibold",e),...t})}function Vs({className:e,...t}){return jsx("p",{className:n("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function Ds({className:e,...t}){return jsx("div",{className:n("text-primary-700 dark:text-primary-300 text-sm",e),...t})}function Is({className:e,...t}){return jsx("div",{className:n("border-primary-100 dark:border-primary-800 mt-4 flex items-center gap-2 border-t pt-4",e),...t})}function As({intent:e,media:t,mediaPosition:r="left",stackOnMobile:a=false,className:s,children:o,...l}){let p=jsx("div",{className:n("relative shrink-0 overflow-hidden",a?"h-48 w-full rounded-t-lg sm:h-auto sm:w-auto":"",!a&&(r==="left"?"rounded-l-lg":"rounded-r-lg")),style:a?void 0:{width:t.width??"10rem"},children:t.src?jsx("img",{src:t.src,alt:t.alt??"",className:"h-full w-full object-cover",draggable:false}):t.icon?jsx("div",{className:"bg-primary-100 text-primary-500 dark:bg-primary-800 dark:text-primary-400 flex h-full w-full items-center justify-center",children:t.icon}):null});return jsxs("div",{className:n(St({intent:e}),"flex overflow-hidden p-0",a?"flex-col sm:flex-row":"",!a&&r==="right"&&"flex-row-reverse",!a&&r==="left"&&"flex-row",s),...l,children:[p,jsx("div",{className:"flex min-w-0 flex-1 flex-col p-4",children:o})]})}function cn({src:e,alt:t="",aspectRatio:r="16/9",className:a,children:s,...o}){return jsxs("div",{className:n("group overflow-hidden rounded-xl border transition-shadow duration-300","border-primary-200 dark:border-primary-700 dark:bg-primary-900 bg-white","dark:hover:shadow-primary-900/60 hover:shadow-lg",a),...o,children:[jsxs("div",{className:"relative overflow-hidden",style:{aspectRatio:r},children:[jsx("img",{src:e,alt:t,className:"h-full w-full object-cover transition-transform duration-500 ease-out group-hover:scale-110",draggable:false}),jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-100","aria-hidden":true,children:jsx("div",{className:"animate-light-sweep absolute inset-0"})})]}),s]})}function Fs({className:e,...t}){return jsx("div",{className:n("space-y-2 p-4",e),...t})}function _s({className:e,...t}){return jsx("h3",{className:n("text-primary-900 dark:text-primary-100 text-base font-semibold",e),...t})}function zs({className:e,...t}){return jsx("p",{className:n("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function Os({className:e,...t}){return jsx("div",{className:n("border-primary-100 dark:border-primary-800 flex items-center gap-2 border-t px-4 py-3",e),...t})}function dn({intent:e,size:t,className:r,...a}){return jsx("div",{className:n(lr({intent:e,size:t}),r),...a})}function Bs({className:e,...t}){return jsx("div",{className:n("border-primary-200 text-primary-900 dark:border-primary-700 dark:text-primary-100 mb-3 flex items-center gap-1.5 border-b pb-3 text-sm font-semibold [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",e),...t})}function Ks({className:e,...t}){return jsx("div",{className:n("text-primary-700 dark:text-primary-300 text-sm",e),...t})}var $s={Card:ln,ImageCard:cn,Panel:dn},mn=$s;var cr=cva("w-full text-left text-sm",{variants:{intent:{default:"",striped:"[&_tbody_tr:nth-child(even)]:bg-primary-50 dark:[&_tbody_tr:nth-child(even)]:bg-primary-800/30",bordered:"[&_th]:border [&_td]:border [&_th]:border-primary-200 [&_td]:border-primary-200 dark:[&_th]:border-primary-700 dark:[&_td]:border-primary-700"},density:{compact:"[&_th]:px-2 [&_th]:py-1 [&_td]:px-2 [&_td]:py-1",default:"",relaxed:"[&_th]:px-6 [&_th]:py-5 [&_td]:px-6 [&_td]:py-5"}},defaultVariants:{intent:"default",density:"default"}}),dr=cva("text-sm text-primary-700 dark:text-primary-300",{variants:{intent:{default:"space-y-1",bordered:"divide-y divide-primary-200 rounded-lg border border-primary-200 dark:divide-primary-700 dark:border-primary-700 [&>li]:px-4 [&>li]:py-2",hover:"[&>li]:rounded-md [&>li]:px-3 [&>li]:py-2 [&>li]:transition-colors [&>li:hover]:bg-primary-50 dark:[&>li:hover]:bg-primary-800/50"}},defaultVariants:{intent:"default"}}),pr=cva("group flex w-full items-center gap-1.5 text-left [&_svg]:shrink-0",{variants:{size:{sm:"py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",md:"py-1.5 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"py-2 text-base [&_svg]:h-4 [&_svg]:w-4"}},defaultVariants:{size:"md"}}),mr=cva("flex cursor-pointer items-center gap-1 rounded transition-colors [&_svg]:shrink-0",{variants:{size:{sm:"py-0.5 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"py-1 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"py-1.5 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{size:"md"}}),Dt=cva("overflow-x-auto rounded-lg font-mono [&_pre]:m-0 [&_pre]:p-4 [&_code]:bg-transparent",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}});function Ht({intent:e,density:t,className:r,...a}){return jsx("div",{className:"w-full overflow-auto",children:jsx("table",{className:n(cr({intent:e,density:t}),r),...a})})}function fn({className:e,...t}){return jsx("thead",{className:n("bg-primary-50 text-primary-600 dark:bg-primary-800/50 dark:text-primary-400",e),...t})}function gn({className:e,...t}){return jsx("tbody",{className:n("[&_tr:last-child]:border-0",e),...t})}function At({className:e,...t}){return jsx("tr",{className:n("border-primary-200 hover:bg-primary-50/50 dark:border-primary-700 dark:hover:bg-primary-800/30 border-b transition-colors",e),...t})}function rt({className:e,...t}){return jsx("th",{className:n("px-4 py-3 text-left text-xs font-semibold tracking-wider uppercase",e),...t})}function nt({className:e,...t}){return jsx("td",{className:n("text-primary-700 dark:text-primary-300 px-4 py-3",e),...t})}function bn({icon:e,text:t="No data",className:r}){return jsxs("div",{className:n("flex flex-col items-center justify-center gap-3 py-16 text-primary-400 dark:text-primary-500",r),children:[e??jsx(Inbox,{className:"h-12 w-12 stroke-[1.2]"}),jsx("span",{className:"text-sm",children:t})]})}var _a={sm:"hidden sm:table-cell",md:"hidden md:table-cell",lg:"hidden lg:table-cell"};function ti({columns:e,data:t,sort:r,onSortChange:a,defaultSort:s=null,rowKey:o,rowActions:l,intent:p,density:x,className:u,empty:c}){let[w,b]=useState(s),m=r??w,v=useCallback(f=>{let k=m?.column===f?m.direction==="asc"?{column:f,direction:"desc"}:null:{column:f,direction:"asc"};a?a(k):b(k);},[m,a]),d=useMemo(()=>{if(!m)return t;let f=e.find(E=>E.key===m.column);if(!f)return t;let k=f.compareFn??((E,N)=>{let T=f.cell(E),B=f.cell(N);return T==null&&B==null?0:T==null?-1:B==null?1:typeof T=="number"&&typeof B=="number"?T-B:String(T).localeCompare(String(B))}),g=[...t].sort(k);return m.direction==="desc"?g.reverse():g},[t,m,e]);return jsxs(Ht,{intent:p,density:x,className:u,children:[jsx(fn,{children:jsxs(At,{children:[e.map(f=>{let k=f.sortable!==false,g=m?.column===f.key;return jsx(rt,{className:n(k&&"cursor-pointer select-none",f.headerClassName,f.hideBelow&&_a[f.hideBelow]),onClick:k?()=>v(f.key):void 0,"aria-sort":g?m.direction==="asc"?"ascending":"descending":void 0,children:jsxs("span",{className:"inline-flex items-center gap-1",children:[f.header,k&&jsx(za,{active:g,direction:g?m.direction:null})]})},f.key)}),l&&jsx(rt,{className:"w-20 text-right",children:"Actions"})]})}),jsx(gn,{children:d.length===0?jsx("tr",{children:jsx("td",{colSpan:e.length+(l?1:0),children:jsx(bn,{...c})})}):d.map((f,k)=>jsxs(At,{children:[e.map(g=>jsx(nt,{className:n(g.cellClassName,g.hideBelow&&_a[g.hideBelow]),children:g.cell(f)},g.key)),l&&jsx(nt,{className:"text-right",children:jsx("span",{className:"inline-flex items-center gap-1",children:l(f)})})]},o?o(f,k):k))})]})}function ri({value:e,onCommit:t,onCancel:r}){let[a,s]=useState(e),o=useRef(null);useEffect(()=>{o.current?.focus(),o.current?.select();},[]);let l=()=>t(a);return jsxs("span",{className:"flex items-center gap-1",children:[jsx("input",{ref:o,type:"text",value:a,onChange:p=>s(p.target.value),onKeyDown:p=>{p.key==="Enter"&&l(),p.key==="Escape"&&r();},"aria-label":"Edit cell",className:"min-w-0 flex-1 rounded border border-primary-400 bg-white px-1.5 py-0.5 text-sm outline-none focus:ring-1 focus:ring-primary-400 dark:border-primary-600 dark:bg-secondary-800"}),jsx("button",{type:"button",onClick:l,className:"text-success-600 hover:text-success-700 dark:text-success-400","aria-label":"Confirm",children:jsx(Check,{className:"h-3.5 w-3.5"})}),jsx("button",{type:"button",onClick:r,className:"text-danger-500 hover:text-danger-600 dark:text-danger-400","aria-label":"Cancel",children:jsx(X,{className:"h-3.5 w-3.5"})})]})}function ni({columns:e,data:t,rowKey:r,sort:a,onSortChange:s,defaultSort:o=null,selectionMode:l="none",selected:p,onSelectionChange:x,editable:u=false,onCellEdit:c,toolbar:w=false,onAdd:b,onDelete:m,rowActions:v,intent:d,density:f,className:k,empty:g}){let[E,N]=useState(o),T=a??E,B=useCallback(M=>{let W=T?.column===M?T.direction==="asc"?{column:M,direction:"desc"}:null:{column:M,direction:"asc"};s?s(W):N(W);},[T,s]),C=useMemo(()=>{if(!T)return t;let M=e.find(de=>de.key===T.column);if(!M)return t;let W=M.compareFn??((de,$)=>{let fe=M.cell(de),oe=M.cell($);return fe==null&&oe==null?0:fe==null?-1:oe==null?1:typeof fe=="number"&&typeof oe=="number"?fe-oe:String(fe).localeCompare(String(oe))}),U=[...t].sort(W);return T.direction==="desc"?U.reverse():U},[t,T,e]),[P,A]=useState([]),V=p??P,y=x??A,O=useMemo(()=>C.map((M,W)=>r(M,W)),[C,r]),X=l==="multiple"&&O.length>0&&O.every(M=>V.includes(M)),J=l==="multiple"&&V.length>0&&!X,q=useCallback(M=>{l==="single"?y(V.includes(M)?[]:[M]):l==="multiple"&&y(V.includes(M)?V.filter(W=>W!==M):[...V,M]);},[l,V,y]),ce=useCallback(()=>{y(X?[]:O);},[X,O,y]),[K,ne]=useState(null),R=useCallback((M,W,U)=>{u&&U!==false&&ne({rowKey:M,colKey:W});},[u]),G=useCallback((M,W,U)=>{c?.(M,W,U),ne(null);},[c]);return jsxs("div",{className:"space-y-2",children:[w&&jsxs("div",{className:"flex items-center gap-2",children:[b&&jsxs("button",{type:"button",onClick:b,className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-secondary-700 transition-colors hover:bg-secondary-50 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:hover:bg-secondary-700",children:[jsx(Plus,{className:"h-3.5 w-3.5"})," Add"]}),m&&jsxs("button",{type:"button",onClick:()=>m(V),disabled:V.length===0,className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-danger-600 transition-colors hover:bg-danger-50 disabled:opacity-40 disabled:pointer-events-none dark:border-secondary-600 dark:bg-secondary-800 dark:text-danger-400 dark:hover:bg-danger-900/20",children:[jsx(Trash2,{className:"h-3.5 w-3.5"})," Delete",V.length>0&&` (${V.length})`]}),u&&V.length===1&&jsxs("button",{type:"button",onClick:()=>{let M=e.find(W=>W.editable!==false);M&&ne({rowKey:V[0],colKey:M.key});},className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-secondary-700 transition-colors hover:bg-secondary-50 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:hover:bg-secondary-700",children:[jsx(Pencil,{className:"h-3.5 w-3.5"})," Edit"]}),V.length>0&&jsxs("span",{className:"ml-auto text-sm text-secondary-500 dark:text-secondary-400",children:[V.length," row",V.length>1?"s":""," selected"]})]}),jsxs(Ht,{intent:d,density:f,className:k,children:[jsx(fn,{children:jsxs(At,{children:[l==="multiple"&&jsx(rt,{className:"w-10",children:jsx("input",{type:"checkbox",checked:X,ref:M=>{M&&(M.indeterminate=J);},onChange:ce,className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select all"})}),l==="single"&&jsx(rt,{className:"w-10"}),e.map(M=>{let W=M.sortable!==false,U=T?.column===M.key;return jsx(rt,{className:n(W&&"cursor-pointer select-none",M.headerClassName),onClick:W?()=>B(M.key):void 0,"aria-sort":U?T.direction==="asc"?"ascending":"descending":void 0,children:jsxs("span",{className:"inline-flex items-center gap-1",children:[M.header,W&&jsx(za,{active:U,direction:U?T.direction:null})]})},M.key)}),v&&jsx(rt,{className:"w-20 text-right",children:"Actions"})]})}),jsx(gn,{children:C.length===0?jsx("tr",{children:jsx("td",{colSpan:e.length+(l!=="none"?1:0)+(v?1:0),children:jsx(bn,{...g})})}):C.map((M,W)=>{let U=r(M,W),de=V.includes(U);return jsxs(At,{className:n(de&&"bg-primary-50/60 dark:bg-primary-900/20"),onClick:()=>{l!=="none"&&q(U);},children:[l==="multiple"&&jsx(nt,{className:"w-10",children:jsx("input",{type:"checkbox",checked:de,onChange:()=>q(U),onClick:$=>$.stopPropagation(),className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select row"})}),l==="single"&&jsx(nt,{className:"w-10",children:jsx("input",{type:"radio",checked:de,onChange:()=>q(U),onClick:$=>$.stopPropagation(),className:"h-4 w-4 cursor-pointer accent-primary-600","aria-label":"Select row"})}),e.map($=>{let fe=K?.rowKey===U&&K?.colKey===$.key,oe=$.editValue?.(M)??(()=>{let ae=$.cell(M);return typeof ae=="string"||typeof ae=="number"?String(ae):""})();return jsx(nt,{className:n($.cellClassName,u&&$.editable!==false&&"cursor-text"),onDoubleClick:ae=>{ae.stopPropagation(),R(U,$.key,$.editable);},children:fe?jsx(ri,{value:oe,onCommit:ae=>G(U,$.key,ae),onCancel:()=>ne(null)}):$.cell(M)},$.key)}),v&&jsx(nt,{className:"text-right",onClick:$=>$.stopPropagation(),children:jsx("span",{className:"inline-flex items-center gap-1",children:v(M)})})]},U)})})]})]})}function za({active:e,direction:t}){let r="h-3.5 w-3.5 shrink-0";return !e||!t?jsx(ArrowUpDown,{className:n(r,"opacity-30")}):t==="asc"?jsx(ArrowUp,{className:n(r,"opacity-70")}):jsx(ArrowDown,{className:n(r,"opacity-70")})}var Oa=createContext({size:"md"});function xn({intent:e,size:t="md",className:r,...a}){return jsx(Oa.Provider,{value:{size:t},children:jsx("ul",{className:n(dr({intent:e}),r),...a})})}function si({actions:e,className:t,children:r,...a}){let{size:s}=useContext(Oa);return jsxs("li",{className:n(pr({size:s}),t),...a,children:[jsx("span",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:r}),e&&jsx("span",{className:"ml-auto flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100 [@media(hover:none)]:opacity-100 [@media(hover:none)]:[&>button]:min-h-(--row-action-touch-min) [@media(hover:none)]:[&>button]:min-w-(--row-action-touch-min) [@media(hover:none)]:[&>button]:flex [@media(hover:none)]:[&>button]:items-center [@media(hover:none)]:[&>button]:justify-center",children:e})]})}var $a=createContext({showLines:true,expandedKeys:null,onToggleKey:()=>{},size:"md"});function yn({showLines:e=true,showRoot:t=true,expandedKeys:r,defaultExpandedKeys:a="all",onExpandedKeysChange:s,size:o="md",className:l,children:p,...x}){let [u,c]=useState(()=>a),b=useCallback(v=>{if(r){let d=new Set(r);d.has(v)?d.delete(v):d.add(v),s?.(d);}else c(d=>{if(d==="all")return new Set(["__ALL_MINUS__",v]);let f=new Set(d);return f.has(v)?f.delete(v):f.add(v),f});},[r,s]),m=r??(u==="all"?null:u);return jsx($a.Provider,{value:{showLines:e,expandedKeys:m,onToggleKey:b,size:o},children:t?jsx("ul",{className:n("text-sm",l),role:"tree",...x,children:p}):jsx("ul",{className:n("text-sm",l),role:"tree",...x,children:jsx(mi,{children:p})})})}function mi({children:e}){let t=ja(e);return jsx(Fragment,{children:t.map(r=>Ft.isValidElement(r)&&r.props.children?r.props.children:null)})}function ja(e){let t=[];return Ft.Children.forEach(e,r=>{Ft.isValidElement(r)&&r.type===Ft.Fragment?t.push(...ja(r.props.children)):t.push(r);}),t}function ui({nodeKey:e,label:t,icon:r,actions:a,defaultExpanded:s=false,expanded:o,onToggle:l,children:p,className:x}){let{showLines:u,expandedKeys:c,onToggleKey:w,size:b}=useContext($a),[m,v]=useState(s),d=Ft.Children.count(p)>0,f=e??(typeof t=="string"?t:""),k;o!=null?k=o:c!=null&&f?c.has("__ALL_MINUS__")?k=!c.has(f):k=c.has(f):k=m;let g=()=>{let E=!k;l?l(E):c!=null&&f?w(f):v(E);};return jsxs("li",{className:n("select-none",x),role:"treeitem","aria-expanded":d?k:void 0,children:[jsxs("div",{className:n("group hover:bg-primary-50 dark:hover:bg-primary-800/50 rounded-md px-1",mr({size:b}),d?"cursor-pointer":"cursor-default"),onClick:d?g:void 0,children:[d?jsx(ChevronRight,{className:n("text-primary-400 h-4 w-4 shrink-0 transition-transform duration-200",k&&"rotate-90")}):jsx("span",{className:"w-4 shrink-0"}),r&&jsx("span",{className:"shrink-0",children:r}),jsx("span",{className:"text-primary-700 dark:text-primary-300 min-w-0 flex-1 truncate",children:t}),a&&jsx("span",{className:"ml-auto flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100 [@media(hover:none)]:opacity-100 [@media(hover:none)]:[&>button]:min-h-(--row-action-touch-min) [@media(hover:none)]:[&>button]:min-w-(--row-action-touch-min) [@media(hover:none)]:[&>button]:flex [@media(hover:none)]:[&>button]:items-center [@media(hover:none)]:[&>button]:justify-center",onClick:E=>E.stopPropagation(),children:a})]}),d&&jsx("div",{className:n("grid transition-[grid-template-rows] duration-200 ease-out",k?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:jsx("div",{className:"overflow-hidden",children:jsx("ul",{className:n("ml-4 pl-2",u&&"border-primary-200 dark:border-primary-700 border-l"),role:"group",children:p})})})]})}function xi({avatar:e,sender:t}){return e?typeof e=="string"?/^(?:https?|data|blob):/.test(e)?jsx("img",{src:e,alt:t,className:"h-8 w-8 shrink-0 rounded-full object-cover",draggable:false}):jsx("div",{className:"bg-primary-200 text-primary-600 dark:bg-primary-700 dark:text-primary-300 flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-lg select-none",children:e}):jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full",children:e}):jsx("div",{className:"bg-primary-200 text-primary-600 dark:bg-primary-700 dark:text-primary-300 flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-sm font-semibold select-none",children:t.charAt(0).toUpperCase()})}function yi({msg:e,alignRight:t}){return jsxs("div",{className:n("flex gap-2.5",t?"flex-row-reverse":"flex-row"),children:[jsx(xi,{avatar:e.avatar,sender:e.sender}),jsxs("div",{className:n("flex max-w-[75%] flex-col gap-0.5",t?"items-end":"items-start"),children:[jsx("span",{className:"text-primary-500 dark:text-primary-400 text-xs",children:e.sender}),jsx("div",{className:n("rounded-xl px-3 py-2 text-sm leading-relaxed",t?"rounded-tr-sm bg-primary-500 text-white dark:bg-primary-600":"bg-primary-100 text-primary-800 dark:bg-primary-800 dark:text-primary-200 rounded-tl-sm"),children:e.content}),e.time&&jsx("span",{className:"text-primary-400 dark:text-primary-500 text-[10px]",children:e.time})]})]})}function vn({messages:e,mode:t="split",autoScroll:r=true,className:a,...s}){let o=useRef(null);return useEffect(()=>{r&&o.current?.scrollIntoView({behavior:"smooth"});},[e,r]),jsxs("div",{className:n("flex flex-col gap-4 overflow-y-auto rounded-lg border p-4","border-primary-200 dark:border-primary-700 dark:bg-primary-900 bg-white",a),...s,children:[e.map(l=>{let p=t==="split"&&!!l.self;return jsx(yi,{msg:l,alignRight:p},l.id)}),jsx("div",{ref:o})]})}var wi={name:"onyx-css-vars",type:"dark",settings:[{settings:{foreground:"var(--color-syntax-plain)",background:"var(--color-syntax-bg)"}},{scope:["comment","punctuation.definition.comment"],settings:{foreground:"var(--color-syntax-comment)",fontStyle:"italic"}},{scope:["keyword","keyword.control","keyword.operator.new","keyword.operator.expression","storage.type","storage.modifier"],settings:{foreground:"var(--color-syntax-keyword)"}},{scope:["string","string.quoted","string.template"],settings:{foreground:"var(--color-syntax-string)"}},{scope:["entity.name.function","support.function","meta.function-call"],settings:{foreground:"var(--color-syntax-function)"}},{scope:["variable","variable.other","variable.parameter","meta.definition.variable"],settings:{foreground:"var(--color-syntax-variable)"}},{scope:["constant.numeric","constant.language"],settings:{foreground:"var(--color-syntax-number)"}},{scope:["keyword.operator","keyword.operator.assignment","keyword.operator.comparison","keyword.operator.arithmetic"],settings:{foreground:"var(--color-syntax-operator)"}},{scope:["entity.name.tag","punctuation.definition.tag","support.class.component"],settings:{foreground:"var(--color-syntax-tag)"}},{scope:["entity.other.attribute-name","meta.tag.attributes"],settings:{foreground:"var(--color-syntax-attr)"}},{scope:["punctuation","meta.brace","punctuation.definition.block","punctuation.separator","punctuation.terminator"],settings:{foreground:"var(--color-syntax-punctuation)"}},{scope:["entity.name.type","support.type","support.class","entity.other.inherited-class"],settings:{foreground:"var(--color-syntax-type)"}}]},ki={typescript:()=>import('@shikijs/langs/typescript'),javascript:()=>import('@shikijs/langs/javascript'),tsx:()=>import('@shikijs/langs/tsx'),jsx:()=>import('@shikijs/langs/jsx'),html:()=>import('@shikijs/langs/html'),css:()=>import('@shikijs/langs/css'),json:()=>import('@shikijs/langs/json'),markdown:()=>import('@shikijs/langs/markdown'),python:()=>import('@shikijs/langs/python'),rust:()=>import('@shikijs/langs/rust'),go:()=>import('@shikijs/langs/go'),java:()=>import('@shikijs/langs/java'),c:()=>import('@shikijs/langs/c'),cpp:()=>import('@shikijs/langs/cpp'),csharp:()=>import('@shikijs/langs/csharp'),vue:()=>import('@shikijs/langs/vue'),xml:()=>import('@shikijs/langs/xml'),yaml:()=>import('@shikijs/langs/yaml'),sql:()=>import('@shikijs/langs/sql'),bash:()=>import('@shikijs/langs/bash'),shell:()=>import('@shikijs/langs/shell')},Nn=null,Ga=new Set;function Ni(){return Nn||(Nn=Promise.all([import('shiki/core'),import('shiki/engine/javascript')]).then(([{createHighlighterCore:e},{createJavaScriptRegexEngine:t}])=>e({themes:[wi],langs:[],engine:t()}))),Nn}async function Ci(e,t,r){let a=await Ni();if(t&&!Ga.has(t)){let o=ki[t];if(o)try{let l=await o();await a.loadLanguage(l.default??l),Ga.add(t);}catch{t="text";}else t="text";}let s=a.codeToHtml(e,{lang:t||"text",theme:"onyx-css-vars"});if(s=s.replace(/(<pre [^>]*style=")/,"$1line-height:1.7;tab-size:2;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;"),r){let o=0;s=s.replace(/<span class="line">/g,()=>(o++,`<span class="line"><span class="line-number" data-line="${o}"></span>`));}return s}function Cn({code:e,language:t="text",lineNumbers:r=false,editable:a=false,onCodeChange:s,size:o,className:l,...p}){let[x,u]=useState(""),c=useRef(null),w=useRef(null),b=useRef(null);useEffect(()=>{let N=false;return Ci(e,t,a?false:r).then(T=>{N||u(T);}),()=>{N=true;}},[e,t,r,a]);let m=useCallback(()=>{let N=w.current,T=b.current?.querySelector("pre"),B=c.current?.querySelector("[data-gutter]");N&&T&&(T.scrollTop=N.scrollTop,T.scrollLeft=N.scrollLeft),N&&B&&(B.scrollTop=N.scrollTop);},[]),v=useCallback(N=>{s?.(N.target.value);},[s]),d=useCallback(N=>{if(N.key==="Tab"){N.preventDefault();let T=N.currentTarget,B=T.selectionStart,C=T.selectionEnd,P=T.value.substring(0,B)+" "+T.value.substring(C);s?.(P),requestAnimationFrame(()=>{T.selectionStart=T.selectionEnd=B+2;});}},[s]),f=r&&"[&_.line-number]:inline-block [&_.line-number]:w-8 [&_.line-number]:mr-4 [&_.line-number]:text-right [&_.line-number]:text-secondary-400 [&_.line-number]:select-none [&_.line-number]:before:content-[attr(data-line)]",k="ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",g=1.7,E=e.split(`
2
- `).length;return a?jsxs("div",{ref:c,className:n(Dt({size:o}),"flex border border-primary-200 dark:border-primary-700",l),style:{background:"var(--color-syntax-bg)"},...p,children:[r&&jsx("div",{"data-gutter":true,"aria-hidden":true,className:"shrink-0 select-none overflow-hidden py-4 pl-3 pr-1 text-right text-secondary-400",style:{fontFamily:k,lineHeight:g,width:"3rem"},children:Array.from({length:E},(N,T)=>jsx("div",{children:T+1},T))}),jsxs("div",{className:"relative min-w-0 flex-1",children:[jsx("textarea",{ref:w,value:e,onChange:v,onScroll:m,onKeyDown:d,spellCheck:false,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",className:"relative z-2 m-0 block h-full w-full resize-none overflow-auto whitespace-pre border-none bg-transparent p-4 text-transparent caret-primary-600 outline-none dark:caret-primary-400",style:{fontFamily:k,lineHeight:g,tabSize:2,minHeight:"6rem"}}),jsx("div",{ref:b,"aria-hidden":true,className:"pointer-events-none absolute inset-0 z-1 overflow-hidden [&_pre]:m-0 [&_pre]:h-full [&_pre]:overflow-hidden [&_pre]:p-4 [&_code]:bg-transparent",dangerouslySetInnerHTML:x?{__html:x}:void 0})]})]}):jsx("div",{ref:c,className:n(Dt({size:o}),"border border-primary-200 dark:border-primary-700",f,l),...p,children:jsx("div",{ref:b,className:"[&_pre]:m-0 [&_pre]:p-4",dangerouslySetInnerHTML:x?{__html:x}:void 0,children:x?void 0:jsx("pre",{className:"m-0 p-4",style:{background:"var(--color-syntax-bg)"},children:jsx("code",{children:e})})})})}var Ti={Table:Ht,List:xn,Tree:yn,Chat:vn,CodeBlock:Cn},Tn=Ti;var ot="flex w-full items-center gap-2 rounded-md px-3 py-1.5 text-sm transition-colors cursor-pointer",Wa="bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100 font-medium",xt="text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200",_t="flex items-center justify-center rounded-md p-2 transition-colors cursor-pointer text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200";function Di({to:e,className:t,style:r,children:a}){let s=typeof t=="function"?t({isActive:false}):t;return jsx("a",{href:e,className:s,style:r,children:a})}var Rn=["expanded","icons","mini"];function Ii(e){let t=Rn.indexOf(e);return Rn[(t+1)%Rn.length]}function Ya(e){let t=new Set;for(let r of e)if(r.children&&r.children.length>0){t.add(r.key??r.label);for(let a of Ya(r.children))t.add(a);}return t}function Za({item:e,basePath:t,depth:r,onItemClick:a,LinkComponent:s,showLines:o,expandedKeys:l,onToggle:p}){let x=e.key??e.label,u=e.children&&e.children.length>0,[c,w]=useState(e.defaultOpen??true),b=l?l.has(x):c,m=useCallback(()=>{l?p(x):w(d=>!d);},[l,p,x]),v=r>0?`${r*1.25}rem`:void 0;if(u)return jsxs("div",{children:[jsxs("button",{type:"button",onClick:m,className:n(ot,xt,"justify-between"),style:{paddingLeft:v},children:[jsxs("span",{className:"flex items-center gap-2",children:[e.icon,e.label]}),jsx(ChevronRight,{className:n("h-3.5 w-3.5 transition-transform",b&&"rotate-90")})]}),b&&jsx("div",{className:n("flex flex-col gap-0.5 pt-0.5",o?"ml-2.5 border-l border-primary-200 dark:border-primary-700":"ml-2"),children:e.children.map(d=>jsx(Za,{item:d,basePath:t,depth:r+1,onItemClick:a,LinkComponent:s,showLines:o,expandedKeys:l,onToggle:p},d.key??d.path??d.label))})]});if(e.path!=null){let d=t+e.path;return a?jsxs("button",{type:"button",onClick:()=>a(e,d),className:n(ot,xt),style:{paddingLeft:v},children:[e.icon,e.label]}):jsxs(s,{to:d,className:({isActive:f})=>n(ot,f?Wa:xt),style:{paddingLeft:v},children:[e.icon,e.label]})}return jsxs("span",{className:n(ot,xt,"cursor-default"),style:{paddingLeft:v},children:[e.icon,e.label]})}function Ai({item:e,basePath:t,onItemClick:r,LinkComponent:a}){let[s,o]=useState(false),l=useRef(null),p=useRef(void 0),[x,u]=useState({top:0,left:0}),c=()=>{clearTimeout(p.current),o(true);},w=()=>{p.current=setTimeout(()=>o(false),200);};useLayoutEffect(()=>{if(s&&l.current){let m=l.current.getBoundingClientRect();u({top:m.top,left:m.right+4});}},[s]);let b=e.icon||jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});return jsxs("div",{onMouseEnter:c,onMouseLeave:w,children:[jsx("button",{ref:l,type:"button",className:n(_t,"w-full"),title:e.label,onClick:()=>o(m=>!m),children:b}),s&&createPortal(jsxs("div",{className:"fixed z-50 min-w-44 rounded-md border border-primary-200 bg-white p-1 shadow-lg dark:border-primary-700 dark:bg-primary-900",style:{top:x.top,left:x.left},onMouseEnter:c,onMouseLeave:w,children:[jsx("div",{className:"px-2.5 py-1.5 text-xs font-semibold uppercase text-primary-500 dark:text-primary-400",children:e.label}),jsx("div",{className:"flex flex-col gap-0.5",children:e.children?.map(m=>{let v=m.key??m.path??m.label;if(m.path!=null){let d=t+m.path;return r?jsxs("button",{type:"button",onClick:()=>{r(m,d),o(false);},className:n(ot,xt),children:[m.icon,m.label]},v):jsxs(a,{to:d,className:({isActive:f})=>n(ot,f?Wa:xt),children:[m.icon,m.label]},v)}return jsxs("span",{className:n(ot,"cursor-default text-primary-400"),children:[m.icon,m.label]},v)})})]}),document.body)]})}function Hi({item:e,basePath:t,onItemClick:r,LinkComponent:a}){let s=e.icon||jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});if(e.path!=null){let o=t+e.path;return r?jsx("button",{type:"button",onClick:()=>r(e,o),className:n(_t,"w-full"),title:e.label,children:s}):jsx(a,{to:o,className:({isActive:l})=>n(_t,"w-full",l&&"bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100"),children:jsx("span",{title:e.label,children:s})})}return jsx("span",{className:n(_t,"w-full cursor-default"),title:e.label,children:s})}function Mn({items:e,title:t,basePath:r="/",onItemClick:a,LinkComponent:s=Di,collapsible:o,collapseMode:l,defaultCollapseMode:p="expanded",onCollapseModeChange:x,showLines:u=true,expandedKeys:c,defaultExpandedKeys:w="all",onExpandedKeysChange:b,className:m,responsive:v=true,mobileBreakpoint:d=768,mobileTopOffset:f=48,...k}){let[g,E]=useState(p),N=l??g,T=Ft.useMemo(()=>Ya(e),[e]),[B,C]=useState(()=>w==="all"?new Set(T):new Set(w)),P=c??null,A=P??B,V=useCallback(R=>{let G=new Set(A);G.has(R)?G.delete(R):G.add(R),C(G),b?.(G);},[A,b]),y=useCallback(()=>{let R=Ii(N);E(R),x?.(R);},[N,x]),[O,X$1]=useState(()=>v&&typeof window<"u"&&window.innerWidth<d),[J,q]=useState(false);useEffect(()=>{if(!v||typeof window>"u"||!window.matchMedia)return;let R=window.matchMedia(`(max-width: ${d-1}px)`),G=H=>{X$1(H.matches),H.matches||q(false);};return R.addEventListener("change",G),()=>R.removeEventListener("change",G)},[v,d]);let ce=useCallback(R=>{R.target.closest("a")&&q(false);},[]),K=useMemo(()=>!O||!a?a:(R,G)=>{q(false),a(R,G);},[O,a]),ne=jsxs(Fragment,{children:[o&&!O&&jsx("div",{className:n("flex shrink-0 mb-1",N==="expanded"?"justify-end":"justify-center"),children:jsx("button",{type:"button",onClick:y,className:_t,"aria-label":N==="mini"?"Expand sidebar":"Collapse sidebar",title:N==="mini"?"Expand sidebar":"Collapse sidebar",children:N==="mini"?jsx(Menu,{className:"h-5 w-5"}):jsx(ChevronsLeft,{className:"h-4 w-4"})})}),(O||N==="expanded")&&jsxs(Fragment,{children:[t&&jsx("h2",{className:"text-primary-500 dark:text-primary-400 mb-3 text-sm font-semibold uppercase",children:t}),e.map(R=>jsx(Za,{item:R,basePath:r,depth:0,onItemClick:K,LinkComponent:s,showLines:u,expandedKeys:P,onToggle:V},R.key??R.path??R.label))]}),!O&&N==="icons"&&e.map(R=>{let G=R.key??R.path??R.label;return R.children&&R.children.length>0?jsx(Ai,{item:R,basePath:r,onItemClick:K,LinkComponent:s},G):jsx(Hi,{item:R,basePath:r,onItemClick:K,LinkComponent:s},G)})]});return v&&O?jsxs(Fragment,{children:[J&&createPortal(jsx("div",{className:"fixed inset-0 z-40 bg-black/50",style:{top:f},onClick:()=>q(false)}),document.body),createPortal(jsx("aside",{className:n("fixed bottom-0 left-0 z-50 w-56 overflow-y-auto border-r border-primary-200 dark:border-primary-700 bg-white dark:bg-primary-900 shadow-xl transition-transform duration-200 p-3",J?"translate-x-0":"-translate-x-full"),style:{top:f},onClick:ce,children:jsx("nav",{className:"flex flex-col gap-0.5",children:ne})}),document.body),createPortal(jsx("button",{type:"button",className:"fixed bottom-5 left-4 z-50 flex h-10 w-10 items-center justify-center rounded-full bg-primary-800 text-white shadow-lg transition-colors hover:bg-primary-700 dark:bg-primary-100 dark:text-primary-900 dark:hover:bg-primary-200",onClick:()=>q(R=>!R),"aria-label":J?"Close navigation":"Open navigation",children:J?jsx(X,{className:"h-5 w-5"}):jsx(Menu,{className:"h-5 w-5"})}),document.body)]}):jsx("nav",{className:n("flex flex-col gap-0.5",N==="mini"&&"items-center",m),...k,children:ne})}function zi({href:e,className:t,onClick:r,children:a}){return jsx("a",{href:e,className:t,onClick:r,children:a})}function Ln({brand:e,onBrandClick:t,navItems:r=[],actions:a=[],linkComponent:s=zi,height:o="h-12",mobileMenu:l=false,navMenuIcon:p,actionsMenuIcon:x,className:u,children:c}){let w=l&&r.length>0,b=l&&a.length>0,m="md:hidden rounded-md px-1.5 py-1.5 text-primary-500 dark:text-primary-400 hover:text-primary-700 dark:hover:text-primary-200 [&_svg]:h-5 [&_svg]:w-5",v=g=>g?"text-primary-900 font-medium dark:text-primary-100":"text-primary-500 hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-200 transition-colors",d="rounded-md p-1.5 text-primary-500 hover:bg-primary-100 hover:text-primary-700 dark:text-primary-400 dark:hover:bg-primary-800 dark:hover:text-primary-200 transition-colors [&_svg]:h-5 [&_svg]:w-5",f=r.map((g,E)=>({key:typeof g.label=="string"?g.label:String(E),label:g.active?jsx("span",{className:"font-semibold text-primary-900 dark:text-primary-100",children:g.label}):g.label,onClick:()=>{g.onClick?g.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):g.href&&(window.location.href=g.href);}})),k=a.map((g,E)=>({key:g.key??String(E),label:jsxs("span",{className:"flex items-center gap-2 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",children:[g.icon,jsx("span",{children:g["aria-label"]})]}),onClick:()=>{g.onClick?g.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):g.href&&(g.external?window.open(g.href,"_blank","noopener,noreferrer"):window.location.href=g.href);}}));return jsxs("header",{className:n("flex shrink-0 items-center justify-between border-b px-5","border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",o,u),children:[jsxs("div",{className:"flex items-center gap-2 md:gap-6",children:[e&&jsx("div",{className:n("text-lg font-bold text-primary-800 dark:text-primary-100",t&&"cursor-pointer"),onClick:t,role:t?"button":void 0,tabIndex:t?0:void 0,onKeyDown:t?g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),t(g));}:void 0,children:e}),w&&jsx(ut,{intent:"ghost",size:"sm",className:m,label:p??jsx(PanelLeft,{className:"h-5 w-5"}),items:f,align:"left",chevron:false,"aria-label":"Open navigation"}),r.length>0&&jsx("nav",{className:n("flex items-center gap-4 text-sm",l?"hidden md:flex":"flex"),children:r.map((g,E)=>{let N=typeof g.label=="string"?g.label:E,T=v(g.active);return g.href?jsx(s,{href:g.href,className:T,onClick:g.onClick,children:g.label},N):jsx("button",{type:"button",className:n(T,"cursor-pointer"),onClick:g.onClick,children:g.label},N)})})]}),c&&jsx("div",{className:"flex items-center",children:c}),jsxs("div",{className:"flex items-center gap-1",children:[a.length>0&&jsx("div",{className:n("flex items-center gap-1",l?"hidden md:flex":"flex"),children:a.map((g,E)=>g.href?jsx("a",{href:g.href,target:g.external?"_blank":void 0,rel:g.external?"noopener noreferrer":void 0,className:d,"aria-label":g["aria-label"],onClick:g.onClick,children:g.icon},g.key??E):jsx("button",{type:"button",className:d,"aria-label":g["aria-label"],onClick:g.onClick,children:g.icon},g.key??E))}),b&&jsx(ut,{intent:"ghost",size:"sm",className:m,label:x??jsx(MoreHorizontal,{className:"h-5 w-5"}),items:k,align:"right",chevron:false,"aria-label":"Open menu"})]})]})}var xr=cva("inline-flex items-center gap-1 underline-offset-2 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/20 [&_svg]:shrink-0",{variants:{intent:{default:"text-primary-600 hover:text-primary-800 active:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:active:text-primary-100",secondary:"text-secondary-500 hover:text-secondary-700 active:text-secondary-800 dark:text-secondary-400 dark:hover:text-secondary-200 dark:active:text-secondary-100",muted:"text-primary-400 hover:text-primary-600 dark:text-primary-500 dark:hover:text-primary-300"},size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},underline:{always:"underline",hover:"hover:underline",none:"no-underline"}},defaultVariants:{intent:"default",size:"md",underline:"none"}});function Bi(e,t){return !!(t==="_blank"||e&&/^https?:\/\//.test(e))}var Ki=e=>jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":true,...e,children:[jsx("path",{d:"M15 3h6v6"}),jsx("path",{d:"M10 14 21 3"}),jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]});function En({intent:e,size:t,underline:r,external:a,className:s,children:o,href:l,target:p,rel:x,...u}){let c=a??Bi(l,p);return jsxs("a",{href:l,target:c&&!p?"_blank":p,rel:c&&!x?"noopener noreferrer":x,className:n(xr({intent:e,size:t,underline:r}),s),...u,children:[o,c&&jsx(Ki,{})]})}var $i={SideNav:Mn,Header:Ln,NavLink:En},Sn=$i;var hr=cva("flex w-full items-center justify-between font-medium transition-all [&_svg]:shrink-0",{variants:{size:{sm:"py-2 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"py-3 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"py-4 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{size:"md"}}),vr=cva("",{variants:{size:{sm:"pb-2 text-xs",md:"pb-3 text-sm",lg:"pb-4 text-base"}},defaultVariants:{size:"md"}}),wr=cva("divide-y",{variants:{intent:{default:"divide-primary-300 dark:divide-primary-700",bordered:"divide-primary-300 rounded-lg border border-primary-300 bg-white px-3 shadow-sm dark:divide-primary-700 dark:border-primary-700 dark:bg-primary-800/50",ghost:"divide-transparent"}},defaultVariants:{intent:"default"}}),kr=cva("flex",{variants:{intent:{line:"border-b border-primary-200 dark:border-primary-700",pills:"gap-1 rounded-lg bg-primary-100 p-1 dark:bg-primary-800",underline:"gap-4"}},defaultVariants:{intent:"line"}}),Nr=cva("inline-flex cursor-pointer items-center justify-center gap-1.5 whitespace-nowrap px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",{variants:{intent:{line:"text-primary-500 hover:text-primary-700 data-[active=true]:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:data-[active=true]:text-primary-100",pills:"rounded-md text-primary-600 hover:text-primary-900 data-[active=true]:bg-white data-[active=true]:text-primary-900 data-[active=true]:shadow-sm dark:text-primary-400 dark:hover:text-primary-100 dark:data-[active=true]:bg-primary-700 dark:data-[active=true]:text-primary-100",underline:"text-primary-500 hover:text-primary-700 data-[active=true]:text-primary-900 dark:text-primary-400 dark:data-[active=true]:text-primary-100"}},defaultVariants:{intent:"line"}});var Cr=createContext(null),Vn=createContext(null);function Dn({type:e="single",defaultValue:t=[],value:r,onValueChange:a,intent:s,size:o,className:l,children:p,...x}){let[u,c]=useState(t),w=r??u,b=useCallback(m=>{let v=d=>d.includes(m)?d.filter(f=>f!==m):e==="single"?[m]:[...d,m];a?a(v(w)):c(v);},[e,w,a]);return jsx(Cr.Provider,{value:{expandedItems:w,toggleItem:b,size:o},children:jsx("div",{className:n(wr({intent:s}),l),...x,children:p})})}function qi({value:e,className:t,children:r,...a}){let o=useContext(Cr)?.expandedItems.includes(e)??false;return jsx(Vn.Provider,{value:{value:e,isExpanded:o},children:jsx("div",{className:n("",t),...a,children:r})})}function Xi({className:e,children:t,...r}){let a=useContext(Cr),s=useContext(Vn);return jsxs("button",{className:n("text-primary-800 hover:text-primary-600 dark:text-primary-100 dark:hover:text-primary-300 cursor-pointer gap-2 font-medium transition-colors",hr({size:a?.size}),e),onClick:()=>s&&a?.toggleItem(s.value),"aria-expanded":s?.isExpanded?"true":"false",...r,children:[jsx("span",{className:"flex items-center gap-1.5 [&_svg]:shrink-0",children:t}),jsx(ChevronDown,{className:n("shrink-0 transition-transform duration-200",s?.isExpanded&&"rotate-180")})]})}function Wi({className:e,children:t,...r}){let a=useContext(Cr),s=useContext(Vn);return jsx("div",{className:n("grid transition-[grid-template-rows] duration-200 ease-out",s?.isExpanded?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:jsx("div",{className:"overflow-hidden",children:jsx("div",{className:n("text-primary-500 dark:text-primary-400",vr({size:a?.size}),e),...r,children:t})})})}var Kt=createContext(null),ao=createContext(false);function In({defaultValue:e="",value:t,onValueChange:r,intent:a,children:s,className:o}){let[l,p]=useState(e),x=t??l,u=useRef(new Map),c=useCallback(b=>{r?r(b):p(b);},[r]),w=useCallback((b,m)=>{m?u.current.set(b,m):u.current.delete(b);},[]);return jsx(Kt.Provider,{value:{activeValue:x,setActiveValue:c,intent:a,registerTrigger:w},children:jsx("div",{className:o,children:s})})}function Ji({className:e,scrollable:t,...r}){let a=useContext(Kt),s=useRef(null),[o,l]=useState(null),p=useCallback(()=>{if(!a||!s.current)return;let w=s.current.querySelectorAll('[role="tab"][data-active="true"]')[0];if(!w){l(null);return}let b=s.current.getBoundingClientRect(),m=w.getBoundingClientRect();l({left:m.left-b.left,width:m.width});},[a]);useLayoutEffect(p,[a?.activeValue,p]),useEffect(()=>{let c=new ResizeObserver(p);return s.current&&c.observe(s.current),()=>c.disconnect()},[p]);let x=a?.intent??"line",u=o&&(x==="line"||x==="underline");return jsxs("div",{ref:s,className:n(kr({intent:a?.intent}),"relative",t&&"overflow-x-auto",e),role:"tablist",...r,children:[r.children,u&&jsx("span",{className:"absolute bottom-0 h-0.5 rounded-full bg-primary-600 dark:bg-primary-400 transition-all duration-300 ease-in-out",style:{left:o.left,width:o.width},"aria-hidden":true})]})}function el({value:e,className:t,children:r,...a}){let s=useContext(Kt),o=s?.activeValue===e,l=useCallback(p=>s?.registerTrigger(e,p),[s,e]);return jsx("button",{ref:l,className:n(Nr({intent:s?.intent}),t),role:"tab","data-active":o,"aria-selected":o,onClick:()=>s?.setActiveValue(e),...a,children:r})}function tl({className:e,children:t,...r}){let a=useContext(Kt);if(!a)return null;let s=Ft.Children.toArray(t).filter(l=>Ft.isValidElement(l)),o=Math.max(0,s.findIndex(l=>l.props.value===a.activeValue));return jsx("div",{className:n("overflow-hidden",e),...r,children:jsx(ao.Provider,{value:true,children:jsx("div",{className:"flex transition-transform duration-300 ease-in-out",style:{transform:`translateX(-${o*100}%)`},children:s.map((l,p)=>jsx("div",{className:"w-full shrink-0","aria-hidden":p!==o,children:l},l.props.value??p))})})})}function rl({value:e,className:t,children:r,...a}){let s=useContext(Kt);return useContext(ao)?jsx("div",{className:n("pt-4",t),role:"tabpanel",...a,children:r}):s?.activeValue!==e?null:jsx("div",{className:n("pt-4",t),role:"tabpanel",...a,children:r})}var al={Accordion:Dn,Tabs:In},An=al;var $t=cva("rounded-lg bg-white p-6 shadow-xl dark:bg-primary-900",{variants:{size:{sm:"w-full max-w-sm",md:"w-full max-w-lg",lg:"w-full max-w-2xl",xl:"w-full max-w-4xl",full:"h-[calc(100vh-4rem)] w-[calc(100vw-4rem)]"}},defaultVariants:{size:"md"}}),Rr=cva("absolute z-50 rounded px-2 py-1 text-xs shadow-md animate-fade-in",{variants:{intent:{default:"bg-primary-900 text-white dark:bg-primary-100 dark:text-primary-900",light:"border border-primary-200 bg-white text-primary-700 dark:border-primary-600 dark:bg-primary-800 dark:text-primary-200"}},defaultVariants:{intent:"default"}});var Xe=[];function cl(e){Xe.push(e);}function dl(e){let t=Xe.indexOf(e);t!==-1&&Xe.splice(t,1);}function Fn(e){return Xe.length>0&&Xe[Xe.length-1]===e}function pl(e){let t=Xe.indexOf(e);return t!==-1?t:Xe.length}var _n=createContext(null);function jt({open:e,onOpenChange:t,modal:r=true,closeOnOutsideClick:a=false,children:s}){let o=useId();return useEffect(()=>{if(e)return cl(o),()=>dl(o)},[e,o]),useEffect(()=>{if(!e||!r)return;let l=p=>{p.key==="Escape"&&Fn(o)&&t(false);};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[e,r,t,o]),useEffect(()=>{if(!e||!r)return;let l=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=l;}},[e,r]),e?jsx(_n.Provider,{value:{id:o,onOpenChange:t,modal:r,closeOnOutsideClick:a},children:createPortal(s,document.body)}):null}function zn({size:e,position:t="center",className:r,children:a,...s}){let o=useContext(_n);if(!o)return null;let p=200+pl(o.id)*10,x=()=>{o.closeOnOutsideClick&&Fn(o.id)&&o.onOpenChange(false);},u=t==="bottom";return o.modal?jsx("div",{className:n("animate-fade-in fixed inset-0 bg-black/50",u?"flex items-end justify-center":"flex items-center justify-center p-4"),style:{zIndex:p},onClick:x,children:jsx("div",{className:n($t({size:e}),u?"animate-slide-in-bottom w-full rounded-b-none rounded-t-(--dialog-sheet-radius) max-h-[85vh] overflow-y-auto":"animate-scale-in",r),role:"dialog","aria-modal":"true",onClick:c=>c.stopPropagation(),...s,children:a})}):jsx("div",{className:n("fixed inset-0 flex items-center justify-center p-4",o.closeOnOutsideClick?"pointer-events-auto":"pointer-events-none"),style:{zIndex:p},onClick:o.closeOnOutsideClick&&Fn(o.id)?()=>o.onOpenChange(false):void 0,children:jsx("div",{className:n($t({size:e}),"animate-scale-in pointer-events-auto shadow-2xl",r),role:"dialog",onClick:o.closeOnOutsideClick?c=>c.stopPropagation():void 0,...s,children:a})})}function On({className:e,...t}){return jsx("div",{className:n("mb-4 space-y-1",e),...t})}function Bn({className:e,...t}){return jsx("h2",{className:n("text-primary-900 dark:text-primary-100 flex items-center gap-1.5 text-lg font-semibold [&_svg]:h-5 [&_svg]:w-5 [&_svg]:shrink-0",e),...t})}function Kn({className:e,...t}){return jsx("p",{className:n("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function $n({className:e,...t}){return jsx("div",{className:n("mt-6 flex justify-end gap-2",e),...t})}function ml({className:e,...t}){let r=useContext(_n);return jsx("button",{className:n("text-primary-400 hover:text-primary-600 dark:hover:text-primary-200 absolute top-4 right-4 rounded-md p-1 transition-colors",e),onClick:()=>r?.onOpenChange(false),"aria-label":"Close",...t,children:jsx(X,{className:"h-4 w-4"})})}var ul={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"};function jn({content:e,position:t="top",intent:r,delay:a=200,maxWidth:s,children:o,className:l}){let[p,x]=useState(false),[u,c]=useState();return jsxs("span",{className:"relative inline-flex",onMouseEnter:()=>{let m=setTimeout(()=>x(true),a);c(m);},onMouseLeave:()=>{clearTimeout(u),x(false);},children:[o,p&&jsx("span",{className:n(Rr({intent:r}),ul[t],"pointer-events-none",s?"whitespace-normal":"whitespace-nowrap",l),style:s!==void 0?{maxWidth:s}:void 0,role:"tooltip",children:e})]})}var bl={Dialog:jt,Tooltip:jn},Gn=bl;var Pr=cva("relative w-full overflow-hidden rounded-full bg-primary-200 dark:bg-primary-700",{variants:{size:{xs:"h-1",sm:"h-2",md:"h-3",lg:"h-4"},intent:{primary:"[&_.progress-fill]:bg-primary-500",success:"[&_.progress-fill]:bg-success-500",warning:"[&_.progress-fill]:bg-warning-500",danger:"[&_.progress-fill]:bg-danger-500"},edge:{none:"rounded-full",top:"fixed top-0 left-0 z-50 rounded-none",bottom:"fixed bottom-0 left-0 z-50 rounded-none"}},defaultVariants:{size:"md",intent:"primary",edge:"none"}}),yt=cva("text-primary-500 dark:text-primary-400",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),Gt=cva("pointer-events-auto flex items-start gap-3 rounded-lg border p-4 shadow-lg transition-all",{variants:{intent:{success:"border-success-200 bg-success-50 text-success-800 dark:border-success-800 dark:bg-success-900/80 dark:text-success-200",warning:"border-warning-200 bg-warning-50 text-warning-800 dark:border-warning-800 dark:bg-warning-900/80 dark:text-warning-200",error:"border-danger-200 bg-danger-50 text-danger-800 dark:border-danger-800 dark:bg-danger-900/80 dark:text-danger-200",info:"border-primary-200 bg-primary-50 text-primary-800 dark:border-primary-800 dark:bg-primary-900/80 dark:text-primary-200"}},defaultVariants:{intent:"info"}});function Yn({intent:e,className:t,children:r,...a}){return jsx("div",{className:n(Gt({intent:e}),t),role:"alert",...a,children:r})}function Rl({className:e,...t}){return jsx("h5",{className:n("flex items-center gap-1.5 font-semibold [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",e),...t})}function Pl({className:e,...t}){return jsx("span",{className:n("mt-0.5 shrink-0 [&_svg]:h-5 [&_svg]:w-5",e),...t})}function Ml({className:e,...t}){return jsx("div",{className:n("flex-1 min-w-0 space-y-1",e),...t})}function Ll({className:e,...t}){return jsx("p",{className:n("text-sm opacity-90",e),...t})}var El=0,st=[],Mr=new Map,qn=new Set;function Sl(){return st}function Xn(){qn.forEach(e=>e());}function Zn(e){let t=Mr.get(e);t&&(clearTimeout(t),Mr.delete(e)),st=st.map(r=>r.id===e?{...r,exiting:true}:r),Xn(),setTimeout(()=>{st=st.filter(r=>r.id!==e),Xn();},200);}function Vl(e){let t=`alert-${++El}`;st=[...st,{...e,id:t}],Xn();let r=e.duration??5e3;if(r>0){let a=setTimeout(()=>{Mr.delete(t),Zn(t);},r);Mr.set(t,a);}return t}var Wn=16;function Dl(e){Wn=e;}var Il={"top-right":"right-4 items-end","top-left":"left-4 items-start","bottom-right":"bottom-4 right-4 items-end","bottom-left":"bottom-4 left-4 items-start","top-center":"left-1/2 -translate-x-1/2 items-center","bottom-center":"bottom-4 left-1/2 -translate-x-1/2 items-center"},Al={"top-right":"animate-slide-in-right","top-left":"animate-slide-in-left","bottom-right":"animate-slide-in-right","bottom-left":"animate-slide-in-left","top-center":"animate-slide-in-top","bottom-center":"animate-slide-in-bottom"},Hl={success:CircleCheck,warning:TriangleAlert,error:CircleX,info:Info};function Fl({alert:e,onClose:t}){let r=e.intent??"info",a=Hl[r],s=e.position??"top-right";return jsxs("div",{className:n(Gt({intent:r}),Al[s],e.exiting&&"opacity-0 transition-opacity duration-200","w-80 max-w-[calc(100vw-2rem)]"),role:"alert",children:[jsx(a,{className:"mt-0.5 h-5 w-5 shrink-0"}),jsxs("div",{className:"flex-1",children:[e.title&&jsx("p",{className:"font-semibold",children:e.title}),jsx("p",{className:n(e.title&&"text-sm opacity-90"),children:e.message})]}),jsx("button",{onClick:t,"aria-label":"Close notification",className:"shrink-0 cursor-pointer opacity-50 transition-opacity hover:opacity-100",children:jsx(X,{className:"h-4 w-4"})})]})}var _l=e=>e.startsWith("top");function zl(){let e=useSyncExternalStore(a=>(qn.add(a),()=>qn.delete(a)),Sl),t=useRef(Wn);if(useEffect(()=>{t.current=Wn;},[]),e.length===0)return null;let r=e.reduce((a,s)=>{let o=s.position??"top-right";return (a[o]??(a[o]=[])).push(s),a},{});return createPortal(jsx(Fragment,{children:Object.entries(r).map(([a,s])=>jsx("div",{style:_l(a)?{top:`${t.current}px`}:void 0,className:n("pointer-events-none fixed z-100 flex flex-col gap-2",Il[a]),children:s.map(o=>jsx(Fl,{alert:o,onClose:()=>Zn(o.id)},o.id))},a))}),document.body)}var lo=false;function Ol(){if(lo)return;lo=true;let e=document.createElement("div");e.id="alert-toast-root",document.body.appendChild(e),createRoot(e).render(jsx(zl,{}));}function Bl(){return useEffect(()=>{Ol();},[]),{addAlert:Vl,removeAlert:Zn}}function Jn({value:e=0,size:t,intent:r,edge:a,showLabel:s=false,indeterminate:o=false,animated:l=false,duration:p=500,className:x,...u}){let c=Math.max(0,Math.min(100,e)),[w,b]=useState(0),m=useRef(0);useEffect(()=>{if(!o)return m.current=requestAnimationFrame(()=>{b(c);}),()=>{m.current&&cancelAnimationFrame(m.current);}},[c,o]);let v=s&&!o&&t!=="xs"&&t!=="sm";return jsx("div",{role:"progressbar","aria-valuenow":o?void 0:c,"aria-valuemin":0,"aria-valuemax":100,className:n(Pr({size:t,intent:r,edge:a}),x),...u,children:o?jsx("div",{className:"progress-fill absolute top-0 h-full rounded-full animate-progress-indeterminate"}):jsx("div",{className:n("progress-fill h-full rounded-full transition-[width] ease-out",l&&"animate-progress-shine"),style:{width:`${w}%`,transitionDuration:`${p}ms`},children:v&&jsxs("span",{className:"flex h-full items-center justify-end pr-2 text-[10px] font-semibold text-white",children:[Math.round(c),"%"]})})})}function Lr({size:e}){let t=e==="sm"?20:e==="lg"?40:28;return jsx("svg",{className:"animate-spin-rotate",width:t,height:t,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsx("circle",{className:"animate-spin-dash stroke-current",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round",strokeDasharray:"90 150",strokeDashoffset:"0"})})}function ta({spinning:e=true,tip:t,size:r,className:a,children:s,...o}){return s?jsxs("div",{className:n("relative w-fit",a),...o,children:[jsx("div",{className:n("transition-all duration-200",e&&"pointer-events-none select-none blur-[1px]"),children:s}),e&&jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 rounded-[inherit] bg-primary-50/60 dark:bg-primary-900/60",children:[jsx(Lr,{size:r}),t&&jsx("span",{className:n(yt({size:r}),"select-none"),children:t})]})]}):e?jsxs("div",{className:n("inline-flex flex-col items-center gap-2",a),...o,children:[jsx(Lr,{size:r}),t&&jsx("span",{className:n(yt({size:r}),"select-none"),children:t})]}):null}var Wl=0,qt=[],ea=new Set;function Yl(){return qt}function go(){ea.forEach(e=>e());}function Zl(e,t){let r=++Wl;return qt=[...qt,{id:r,target:e,tip:t}],go(),()=>Ql(r)}function Ql(e){qt=qt.filter(t=>t.id!==e),go();}function Jl(){return Zl}var uo=false;function ec(){if(uo||typeof document>"u")return;uo=true;let e=document.createElement("div");e.id="jac-spin-portal",document.body.appendChild(e),import('react-dom/client').then(({createRoot:t})=>{t(e).render(jsx(ac,{}));});}var Er=new Map;function tc(e){let t=Er.get(e);if(t){t.count++;return}let r=getComputedStyle(e),a=e.style.position;r.position==="static"&&(e.style.position="relative"),Er.set(e,{count:1,original:a});}function rc(e){let t=Er.get(e);t&&(t.count--,t.count<=0&&(e.style.position=t.original,Er.delete(e)));}function nc({entry:e}){return useEffect(()=>{let t=e.target;if(!fo(t))return tc(t),()=>rc(t)},[e.target]),fo(e.target)?createPortal(jsxs("div",{className:"fixed inset-0 z-50 flex flex-col items-center justify-center gap-3 bg-primary-900/40 dark:bg-primary-900/60",children:[jsx(Lr,{size:"lg"}),e.tip&&jsx("span",{className:"select-none text-sm text-primary-100",children:e.tip})]}),document.body):createPortal(jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 rounded-[inherit] bg-primary-50/60 dark:bg-primary-900/60",children:[jsx(Lr,{size:"md"}),e.tip&&jsx("span",{className:n(yt({size:"md"}),"select-none"),children:e.tip})]}),e.target)}function ac(){let e=useSyncExternalStore(t=>(ea.add(t),()=>ea.delete(t)),()=>Yl());return e.length===0?null:jsx(Fragment,{children:e.map(t=>jsx(nc,{entry:t},t.id))})}function fo(e){return e===document.documentElement||e===document.body}typeof document<"u"&&ec();var sc={Alert:Yn,ProgressBar:Jn,Spin:ta},ra=sc;var ho="#1c1914",vo="#130f0b",kc="#2e261e",aa="#504638",ht="#6b5d4d",Vr=`url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")`,Nc=[{key:"like",icon:jsx(Heart,{className:"h-5 w-5"}),activeIcon:jsx(Heart,{className:"h-5 w-5",fill:"currentColor"}),label:"Like",toggle:true},{key:"dislike",icon:jsx(ThumbsDown,{className:"h-5 w-5"}),label:"Dislike"},{key:"bookmark",icon:jsx(Bookmark,{className:"h-5 w-5"}),activeIcon:jsx(Bookmark,{className:"h-5 w-5",fill:"currentColor"}),label:"Bookmark",toggle:true},{key:"share",icon:jsx(Share2,{className:"h-5 w-5"}),label:"Share"},{key:"download",icon:jsx(Download,{className:"h-5 w-5"}),label:"Download"}];function oa({photos:e,layout:t="strip",actions:r=Nc,onAction:a,className:s,showGrain:o=true,sheetTitle:l,sheetLabel:p}){let[x,u]=useState(null),[c,w]=useState(new Set),b=useCallback(f=>u(f),[]),m=useCallback(()=>u(null),[]),v=useCallback((f,k)=>{if(r.find(E=>E.key===f)?.toggle){let E=`${k}-${f}`;w(N=>{let T=new Set(N);return T.has(E)?T.delete(E):T.add(E),T});}a?.(f,e[k],k);},[r,a,e]);return jsxs(Fragment,{children:[jsx(t==="strip"?Cc:t==="sheet"?Tc:Rc,{photos:e,onPhotoClick:b,showGrain:o,className:s,sheetTitle:l,sheetLabel:p}),x!==null&&createPortal(jsx(Pc,{photos:e,currentIndex:x,onIndexChange:u,onClose:m,actions:r,activeActions:c,onAction:v,showGrain:o}),document.body)]})}function yo({count:e=30}){return jsx("div",{className:"flex shrink-0 items-center justify-between px-3",style:{height:22,background:ho},children:Array.from({length:e}).map((t,r)=>jsx("div",{className:"rounded-xs",style:{width:12,height:8,background:kc}},r))})}function Cc({photos:e,onPhotoClick:t,showGrain:r,className:a}){let s=useRef(null);return jsxs("div",{className:n("select-none rounded-lg overflow-hidden",a),style:{background:vo},children:[jsx(yo,{count:Math.max(30,e.length*6)}),jsx("div",{ref:s,className:"flex gap-1 overflow-x-auto scroll-smooth px-1 py-1",style:{background:ho,scrollSnapType:"x mandatory"},children:e.map((o,l)=>jsxs("div",{className:"group relative shrink-0 cursor-pointer",style:{scrollSnapAlign:"center"},onClick:()=>t(l),children:[jsxs("div",{className:"overflow-hidden rounded-xs border",style:{borderColor:aa,width:280,height:187},children:[jsx("img",{src:o.src,alt:o.alt??o.title??"",className:"h-full w-full object-cover transition-transform duration-700 ease-out group-hover:scale-110",draggable:false}),jsx("div",{className:"pointer-events-none absolute inset-0 mix-blend-multiply opacity-0 transition-opacity duration-300 group-hover:opacity-100",style:{background:"rgba(255, 175, 60, 0.06)"}}),r&&jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-[0.06]",style:{backgroundImage:Vr,animation:"film-grain-shift 0.6s steps(5) infinite"}}),jsx("div",{className:"pointer-events-none absolute inset-0 opacity-30 transition-opacity duration-300 group-hover:opacity-50",style:{background:"radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.5) 100%)"}})]}),jsxs("div",{className:"mt-0.5 text-center font-mono text-[9px] tracking-widest",style:{color:ht},children:[String(l+1).padStart(2,"0"),l%2===0?"":"A"]})]},l))}),jsx(yo,{count:Math.max(30,e.length*6)})]})}function Tc({photos:e,onPhotoClick:t,showGrain:r,className:a,sheetTitle:s,sheetLabel:o}){return jsxs("div",{className:n("rounded-lg p-5",a),style:{background:vo},children:[jsxs("div",{className:"mb-4 flex items-center justify-between",children:[jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.25em]",style:{color:ht},children:s??`JAC\xB7Film 35mm \xB7 ${e.length} exposures`}),jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.25em]",style:{color:ht},children:o??"Contact Sheet"})]}),jsx("div",{className:"grid grid-cols-3 gap-2 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6",children:e.map((l,p)=>jsxs("div",{className:"group cursor-pointer",style:{animation:`reveal-up 0.4s ease-out ${p*50}ms both`},onClick:()=>t(p),children:[jsx("div",{className:"mb-0.5 font-mono text-[9px] tracking-wider",style:{color:ht},children:String(p+1).padStart(2,"0")}),jsxs("div",{className:"relative overflow-hidden rounded-[1px] border transition-all duration-300 group-hover:border-amber-600/50 group-hover:shadow-[0_0_20px_rgba(217,171,89,0.15)]",style:{borderColor:aa,aspectRatio:"3/2"},children:[jsx("img",{src:l.src,alt:l.alt??"",className:"h-full w-full object-cover transition-transform duration-500 group-hover:scale-105",draggable:false}),r&&jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.04]",style:{backgroundImage:Vr}}),jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 translate-y-full bg-linear-to-t from-black/70 to-transparent p-2 pt-6 transition-transform duration-300 group-hover:translate-y-0",children:jsx("span",{className:"text-xs font-medium text-white/90",children:l.title})})]})]},p))})]})}function Rc({photos:e,onPhotoClick:t,showGrain:r,className:a}){let[s,o]=useState(false),[l,p]=useState(null),x=Math.min(e.length,8),u=e.slice(0,x),c=b=>{let m=Math.sin(b*137.508+1)*1e4,v=(m%12-6).toFixed(1),d=(m/7%8-4).toFixed(1),f=(m/13%6-3).toFixed(1);return `rotate(${v}deg) translate(${d}px, ${f}px)`},w=(b,m)=>{let v=(m-1)/2,d=((b-v)*7).toFixed(1),f=((b-v)*110).toFixed(0),k=(-Math.abs(b-v)*10+(l===b?-18:0)).toFixed(0);return `translateX(${f}px) translateY(${k}px) rotate(${d}deg)`};return jsxs("div",{className:n("flex flex-col items-center gap-4",a),children:[jsx("div",{className:"relative flex h-85 w-full items-center justify-center",onMouseEnter:()=>o(true),onMouseLeave:()=>{o(false),p(null);},children:u.map((b,m)=>jsx("div",{className:"absolute cursor-pointer rounded-lg shadow-xl transition-all duration-500",style:{transitionTimingFunction:"cubic-bezier(0.34, 1.56, 0.64, 1)",transitionDelay:s?`${m*35}ms`:`${(x-m)*25}ms`,transform:s?w(m,u.length):c(m),zIndex:s?m+1:u.length-m,width:220,height:147},onClick:()=>t(m),onMouseEnter:()=>s&&p(m),onMouseLeave:()=>p(null),children:jsxs("div",{className:"relative h-full w-full overflow-hidden rounded-lg border transition-shadow duration-300",style:{borderColor:s&&l===m?"rgba(217,171,89,0.5)":aa,boxShadow:s&&l===m?"0 25px 50px rgba(0,0,0,0.5), 0 0 30px rgba(217,171,89,0.1)":"0 10px 30px rgba(0,0,0,0.4)"},children:[jsx("img",{src:b.src,alt:b.alt??"",className:"h-full w-full object-cover",draggable:false}),r&&jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.04]",style:{backgroundImage:Vr}}),jsx("div",{className:"pointer-events-none absolute inset-0",style:{background:"radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.35) 100%)"}}),s&&l===m&&jsx("div",{className:"absolute inset-x-0 bottom-0 bg-linear-to-t from-black/80 to-transparent p-3 pt-8",style:{animation:"reveal-up 0.25s ease-out"},children:jsx("span",{className:"text-sm font-medium text-white/90",children:b.title})})]})},m))}),e.length>x&&jsxs("span",{className:"font-mono text-xs",style:{color:ht},children:["+ ",e.length-x," more"]}),jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.3em] transition-opacity duration-300",style:{color:ht,opacity:s?0:.7},children:"Hover to explore"})]})}function Pc({photos:e,currentIndex:t,onIndexChange:r,onClose:a,actions:s,activeActions:o,onAction:l,showGrain:p}){let x=e[t],[u,c]=useState(1),[w,b]=useState({x:0,y:0}),[m,v]=useState(false),[d,f]=useState(false),k=useRef(false),g=useRef({x:0,y:0}),E=useRef(null);useLayoutEffect(()=>{requestAnimationFrame(()=>f(true));},[]),useEffect(()=>{let y=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=y;}},[]),useEffect(()=>{let y=O=>{switch(O.key){case "Escape":a();break;case "ArrowLeft":N(-1);break;case "ArrowRight":N(1);break;case "i":case "I":v(X=>!X);break}};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)}),useEffect(()=>{let y=E.current;if(!y)return;let O=X=>{X.preventDefault();let J=X.deltaY<0?1.12:.89;c(q=>{let ce=Math.min(8,Math.max(1,q*J));return ce<=1&&b({x:0,y:0}),ce});};return y.addEventListener("wheel",O,{passive:false}),()=>y.removeEventListener("wheel",O)},[]);let N=useCallback(y=>{let O=t+y;O>=0&&O<e.length&&(r(O),c(1),b({x:0,y:0}));},[t,e.length,r]),T=useCallback(y=>{u<=1||(k.current=true,g.current={x:y.clientX,y:y.clientY},y.target.setPointerCapture(y.pointerId));},[u]),B=useCallback(y=>{if(!k.current)return;let O=y.clientX-g.current.x,X=y.clientY-g.current.y;g.current={x:y.clientX,y:y.clientY},b(J=>({x:J.x+O/u,y:J.y+X/u}));},[u]),C=useCallback(()=>{k.current=false;},[]),P=useCallback(()=>{u>1?(c(1),b({x:0,y:0})):c(2.5);},[u]),A=y=>o.has(`${t}-${y}`),V=x.metadata;return jsxs("div",{className:"fixed inset-0 z-200 flex flex-col",style:{animation:"lightbox-backdrop-in 0.35s ease-out"},children:[jsx("div",{className:"absolute inset-0 bg-black/95",onClick:a}),p&&jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.025]",style:{backgroundImage:Vr,animation:"film-grain-shift 0.6s steps(5) infinite"}}),jsxs("div",{className:"relative z-10 flex h-12 shrink-0 items-center justify-between px-4",children:[jsxs("span",{className:"font-mono text-sm text-white/50",children:[t+1," / ",e.length]}),jsxs("div",{className:"flex items-center gap-1",children:[jsxs("span",{className:"mr-2 font-mono text-xs text-white/40",children:[u.toFixed(1),"x"]}),jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:()=>c(y=>Math.min(8,y*1.3)),title:"Zoom in",children:jsx(ZoomIn,{className:"h-4 w-4"})}),jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:()=>{c(y=>{let O=Math.max(1,y*.7);return O<=1&&b({x:0,y:0}),O});},title:"Zoom out",children:jsx(ZoomOut,{className:"h-4 w-4"})}),jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:a,title:"Close",children:jsx(X,{className:"h-5 w-5"})})]})]}),jsxs("div",{ref:E,className:"relative flex flex-1 items-center justify-center overflow-hidden",style:{cursor:u>1?"grab":"default"},onPointerDown:T,onPointerMove:B,onPointerUp:C,onDoubleClick:P,children:[jsx("img",{src:x.src,alt:x.alt??x.title??"",className:"max-h-full max-w-full select-none object-contain",style:{animation:"lightbox-photo-in 0.35s cubic-bezier(0.16, 1, 0.3, 1)",transform:`scale(${u}) translate(${w.x}px, ${w.y}px)`,transition:k.current?"none":"transform 0.15s ease-out"},draggable:false},t),t>0&&jsx("button",{className:"absolute left-3 top-1/2 -translate-y-1/2 rounded-full bg-black/40 p-2.5 text-white/70 backdrop-blur-sm transition-all hover:bg-black/60 hover:text-white",onClick:y=>{y.stopPropagation(),N(-1);},children:jsx(ChevronLeft,{className:"h-6 w-6"})}),t<e.length-1&&jsx("button",{className:"absolute right-3 top-1/2 -translate-y-1/2 rounded-full bg-black/40 p-2.5 text-white/70 backdrop-blur-sm transition-all hover:bg-black/60 hover:text-white",onClick:y=>{y.stopPropagation(),N(1);},children:jsx(ChevronRight,{className:"h-6 w-6"})})]}),jsx("div",{className:n("absolute inset-x-0 bottom-0 z-20 transition-all duration-400",m?"translate-y-0 opacity-100":"pointer-events-none translate-y-full opacity-0"),children:jsxs("div",{className:"bg-linear-to-t from-black/90 via-black/75 to-transparent px-6 pb-24 pt-16",children:[x.title&&jsx("h3",{className:"mb-3 text-xl font-semibold text-white",children:x.title}),x.description&&jsx("p",{className:"mb-4 max-w-xl border-l-2 border-amber-500/40 pl-4 text-sm leading-relaxed text-white/60 italic",style:{animation:"reveal-up 0.4s ease-out 0.1s both"},children:x.description}),V&&jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-white/70",children:[V.camera&&jsxs("span",{className:"flex items-center gap-1.5",children:[jsx(Camera,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",V.camera,V.lens&&jsx("span",{className:"text-white/40",children:"\xB7"}),V.lens&&V.lens]}),(V.aperture||V.shutter||V.iso)&&jsxs("span",{className:"flex items-center gap-1.5",children:[jsx(Aperture,{className:"h-3.5 w-3.5 text-amber-400/80"}),[V.aperture,V.shutter,V.iso&&`ISO ${V.iso}`].filter(Boolean).join(" \xB7 ")]}),V.date&&jsxs("span",{className:"flex items-center gap-1.5",children:[jsx(Calendar,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",V.date]}),V.location&&jsxs("span",{className:"flex items-center gap-1.5",children:[jsx(MapPin,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",V.location]})]})]})}),jsx("div",{className:"relative z-20 flex h-16 shrink-0 items-center justify-center gap-1",children:jsxs("div",{className:"flex items-center gap-0.5 rounded-full bg-white/6 px-2 py-1.5 backdrop-blur-xl",children:[s.map(y=>{let O=y.toggle&&A(y.key);return jsx("button",{className:n("rounded-full p-2.5 transition-all duration-200",O?"text-amber-400 hover:text-amber-300":"text-white/60 hover:bg-white/10 hover:text-white"),onClick:()=>l(y.key,t),title:y.label,children:O&&y.activeIcon?y.activeIcon:y.icon},y.key)}),jsx("div",{className:"mx-1 h-5 w-px bg-white/10"}),jsx("button",{className:n("rounded-full p-2.5 transition-all duration-200",m?"text-amber-400 hover:text-amber-300":"text-white/60 hover:bg-white/10 hover:text-white"),onClick:()=>v(y=>!y),title:"Photo info (I)",children:jsx(Info,{className:"h-5 w-5"})})]})})]})}var sa="data:image/svg+xml,"+encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200">
1
+ import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import zt,{createContext,useSyncExternalStore,useEffect,useState,useRef,useCallback,useMemo,useId,useContext,useLayoutEffect}from'react';import {Heart,ThumbsDown,Bookmark,Share2,Download,Info,CheckCircle,AlertTriangle,AlertCircle,ChevronDown,Check,Inbox,Plus,Trash2,Pencil,ArrowUpDown,ArrowUp,ArrowDown,ChevronRight,Menu,ChevronsLeft,X,PanelLeft,MoreHorizontal,ZoomIn,ZoomOut,ChevronLeft,Camera,Aperture,Calendar,MapPin,ListMusic,Shuffle,Repeat1,SkipBack,Pause,Play,SkipForward,VolumeX,Volume2,Disc3,ListVideo,Theater,Minimize,Maximize,HardDrive,LayoutGrid,LayoutList,Minus,Minimize2,Maximize2,FolderUp,Search,CornerRightDown,Folder,FileArchive,Database,FileSpreadsheet,FileText,Terminal,FileCode,Video,Music,Image,File,CircleX,TriangleAlert,CircleCheck}from'lucide-react';import {createPortal}from'react-dom';import {createRoot}from'react-dom/client';function n(...e){return twMerge(clsx(e))}var ct=cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}}),Zt=cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}}),Qt=cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}}),dt=cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}}),Jt=cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}}),er=cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}}),tr=cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}}),rr=cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});function pt({intent:e,size:t,className:r,...a}){return jsx("button",{className:n(ct({intent:e,size:t}),r),...a})}function $r(e,t){for(let r of e){if(r.value===t)return r;if(r.children){let a=$r(r.children,t);if(a)return a}}}function jr(e){let t=[];for(let r of e)r.children?.length||t.push(r),r.children&&t.push(...jr(r.children));return t}var sr=40,jo=200,Gr=150,Pa=120;function or(e,t,r,a){if(!a)return {};if(r){let o=(t-1-e)*sr;return {animation:`dropdown-item-out ${Gr}ms ease-in both ${o}ms`}}let s=e*sr;return {animation:`dropdown-item-in ${jo}ms ease-out both ${s}ms`}}function Ma(e,t,r){if(!r)return {};if(t){let a=Math.max(e-1,0)*sr+Gr;return {animation:`dropdown-container-out ${Pa}ms ease-in both ${a}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function La({options:e,onSelect:t,animated:r=true,closing:a=false,depth:s=0}){let[o,l]=useState(null),p=useRef(void 0),x=c=>{p.current&&clearTimeout(p.current),l(c);},u=()=>{p.current=setTimeout(()=>l(null),150);};return useEffect(()=>()=>{p.current&&clearTimeout(p.current);},[]),jsx("div",{className:n("absolute z-50 min-w-44 rounded-md border py-1 shadow-lg overflow-hidden","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",s===0?"mt-1 w-full":"top-0 ml-0.5"),style:{...s>0?{left:"100%"}:{},...Ma(e.length,a,r)},role:"listbox",children:e.map((c,w)=>{let b=!!c.children?.length,m=o===c.value;return jsxs("div",{className:"relative",style:or(w,e.length,a,r),onMouseEnter:()=>x(c.value),onMouseLeave:u,children:[jsxs("div",{role:"option","aria-selected":false,"aria-disabled":c.disabled,className:n("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",c.disabled&&"pointer-events-none opacity-50"),onClick:()=>{c.disabled||b||t(c.value,c);},children:[c.icon&&jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:c.icon}),jsx("span",{className:"flex-1 truncate",children:c.label??c.value}),b&&jsx(ChevronRight,{className:"text-primary-400 h-3.5 w-3.5 shrink-0"})]}),b&&m&&jsx(La,{options:c.children,onSelect:t,animated:r,depth:s+1})]},c.value)})})}function Go({options:e,filter:t,multiple:r,selected:a,canAdd:s,animated:o=true,closing:l=false,onSelect:p,onToggle:x,onAdd:u}){let c=useMemo(()=>jr(e),[e]),w=t.toLowerCase(),b=t?c.filter(d=>(d.label??d.value).toLowerCase().includes(w)||d.value.toLowerCase().includes(w)):c,m=b.length===0&&!s||s?1:0,v=b.length+m;return jsxs("div",{className:n("absolute z-50 mt-1 w-full max-h-60 min-w-44 overflow-y-auto rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white"),role:"listbox","aria-multiselectable":r||void 0,style:Ma(v,l,o),children:[b.map((d,f)=>{let k=r&&a.includes(d.value);return jsxs("div",{role:"option","aria-selected":r?k:false,"aria-disabled":d.disabled,className:n("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",d.disabled&&"pointer-events-none opacity-50"),style:or(f,v,l,o),onClick:()=>{d.disabled||(r?x(d.value):p(d.value,d));},children:[r&&jsx("span",{className:n("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",k?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:k&&jsx(Check,{className:"h-3 w-3"})}),d.icon&&jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:d.icon}),jsx("span",{className:"truncate",children:d.label??d.value})]},d.value)}),b.length===0&&!s&&jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:or(0,1,l,o),children:"No matches"}),s&&jsxs("div",{className:n("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:or(b.length,v,l,o),onClick:u,children:[jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxs("span",{className:"truncate",children:["Add \u201C",t.trim(),"\u201D"]})]})]})}function Xr(e){let{options:t,placeholder:r="Select\u2026",editable:a=false,onAddItem:s,disabled:o=false,align:l="left",className:p,size:x="md",animated:u=true}=e,c=e.multiple===true,[w,b]=useState(c?void 0:e.defaultValue),[m,v]=useState(c?e.defaultSelected??[]:[]),d=c?e.selected??m:[],[f,k]=useState(false),[g,L]=useState(false),[N,T]=useState(""),$=useRef(null),C=useRef(null),P=useRef(void 0),A=useCallback(()=>{if(!u||!f){k(false),T("");return}L(true);let R=(Math.max(t.length,1)-1)*sr+Gr+Pa+20;P.current=setTimeout(()=>{k(false),L(false),T("");},R);},[u,f,t.length]);useEffect(()=>()=>{P.current&&clearTimeout(P.current);},[]);let V=c?void 0:e.value??w,y=useMemo(()=>V?$r(t,V):void 0,[t,V]);useEffect(()=>{if(!f)return;let _=R=>{$.current&&!$.current.contains(R.target)&&A();};return document.addEventListener("mousedown",_),()=>document.removeEventListener("mousedown",_)},[f,A]),useEffect(()=>{if(!f)return;let _=R=>{R.key==="Escape"&&A();};return document.addEventListener("keydown",_),()=>document.removeEventListener("keydown",_)},[f,A]);let K=useCallback((_,R)=>{c||(e.value===void 0&&b(_),e.onChange?.(_,R)),P.current&&clearTimeout(P.current),k(false),L(false),T("");},[c,e]),W=useCallback(_=>{if(!c)return;let R=e.selected??m,q=R.includes(_)?R.filter(G=>G!==_):[...R,_];e.selected===void 0&&v(q),e.onSelectionChange?.(q);},[c,m,e]),ae=N.toLowerCase(),U=useMemo(()=>!a||!N.trim()?false:!jr(t).some(R=>R.value.toLowerCase()===ae||(R.label??R.value).toLowerCase()===ae),[a,ae,t]),pe=useCallback(()=>{let _=N.trim();_&&(s?.(_),T(""));},[N,s]),j=useCallback(_=>{_.key==="Enter"&&U&&(_.preventDefault(),pe());},[U,pe]),Y=useCallback(()=>{o||(f?A():(P.current&&clearTimeout(P.current),L(false),k(true),T(""),a&&requestAnimationFrame(()=>C.current?.focus())));},[o,f,A,a]),F;if(c){let _=d.length;_===0?F="":_<=2?F=d.map(R=>$r(t,R)).map(R=>R?R.label??R.value:"").filter(Boolean).join(", "):F=`${_} selected`;}else F=y?y.label??y.value:"";let oe=c||a;return jsxs("div",{ref:$,className:n("relative inline-block min-w-44",p),children:[jsxs("div",{className:n(dt({state:"default",size:x}),"flex cursor-pointer items-center gap-1",o&&"pointer-events-none opacity-50"),onClick:Y,role:"combobox","aria-expanded":f,"aria-haspopup":"listbox",children:[a?jsx("input",{ref:C,className:"min-w-0 flex-1 bg-transparent outline-none placeholder:text-secondary-400 dark:placeholder:text-secondary-600",value:f?N:F,placeholder:r,disabled:o,onChange:_=>{T(_.target.value),f||k(true);},onKeyDown:j,onClick:_=>{_.stopPropagation(),f||k(true);}}):jsx("span",{className:n("flex-1 truncate",!F&&"text-secondary-400 dark:text-secondary-600"),children:F||r}),y?.icon&&!a&&!c&&jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:y.icon}),c&&d.length>0&&jsx("span",{className:"rounded-full bg-primary-100 px-1.5 text-xs font-semibold text-primary-700 dark:bg-primary-900 dark:text-primary-300",children:d.length}),jsx(ChevronDown,{className:n("text-primary-400 h-4 w-4 shrink-0 transition-transform",f&&"rotate-180")})]}),f&&jsx("div",{className:n(l==="right"?"right-0":"left-0","absolute w-full"),children:oe?jsx(Go,{options:t,filter:N,multiple:c,selected:d,canAdd:U,animated:u,closing:g,onSelect:K,onToggle:W,onAdd:pe}):jsx(La,{options:t,onSelect:K,animated:u,closing:g})})]})}function Wo(e,t){return e.key??(typeof e.label=="string"?e.label:String(t))}var ir=40,Yo=200,Zr=150,Sa=120;function Yr(e,t,r,a){if(!a)return {};if(r){let o=(t-1-e)*ir;return {animation:`dropdown-item-out ${Zr}ms ease-in both ${o}ms`}}let s=e*ir;return {animation:`dropdown-item-in ${Yo}ms ease-out both ${s}ms`}}function Zo(e,t,r){if(!r)return {};if(t){let a=Math.max(e-1,0)*ir+Zr;return {animation:`dropdown-container-out ${Sa}ms ease-in both ${a}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function ft({label:e,items:t,intent:r,size:a,align:s="left",className:o,disabled:l,editable:p=false,onAddItem:x,multiple:u=false,selected:c=[],onSelectionChange:w,animated:b=true,chevron:m=true,...v}){let[d,f]=useState(false),[k,g]=useState(false),[L,N]=useState(""),T=useRef(null),$=useRef(null),C=useRef(void 0);useEffect(()=>()=>{C.current&&clearTimeout(C.current);},[]);let P=useCallback(()=>{if(!b||!d){f(false),N("");return}g(true);let oe=(Math.max(t.length,1)-1)*ir+Zr+Sa+20;C.current=setTimeout(()=>{f(false),g(false),N("");},oe);},[b,d,t.length]),A=useCallback(()=>{l||(d?P():(C.current&&clearTimeout(C.current),g(false),f(true),N(""),p&&requestAnimationFrame(()=>$.current?.focus())));},[l,d,P,p]);useEffect(()=>{if(!d)return;let F=oe=>{T.current&&!T.current.contains(oe.target)&&P();};return document.addEventListener("mousedown",F),()=>document.removeEventListener("mousedown",F)},[d,P]),useEffect(()=>{if(!d)return;let F=oe=>{oe.key==="Escape"&&P();};return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[d,P]);let V=L.toLowerCase(),y=useMemo(()=>L?t.filter(F=>(typeof F.label=="string"?F.label:F.key??"").toLowerCase().includes(V)):t,[t,V]),K=useMemo(()=>!p||!L.trim()?false:!t.some(F=>(typeof F.label=="string"?F.label:F.key??"").toLowerCase()===V),[p,V,t]),W=useCallback(()=>{let F=L.trim();F&&(x?.(F),N(""));},[L,x]),ae=useCallback(F=>{F.key==="Enter"&&K&&(F.preventDefault(),W());},[K,W]),U=useCallback(F=>{let oe=c.includes(F)?c.filter(_=>_!==F):[...c,F];w?.(oe);},[c,w]),pe=u&&c.length>0?jsxs(Fragment,{children:[e," ",jsx("span",{className:"ml-1 rounded-full bg-white/20 px-1.5 text-xs font-semibold",children:c.length})]}):e,j=y.length===0&&!K||K?1:0,Y=y.length+j;return jsxs("div",{ref:T,className:"relative inline-block",children:[jsxs("button",{type:"button",onClick:A,disabled:l,className:n(ct({intent:r,size:a}),"inline-flex items-center gap-1",o),"aria-haspopup":u?"listbox":"true","aria-expanded":d?"true":"false",...v,children:[pe,m&&jsx(ChevronDown,{className:n("h-3.5 w-3.5 transition-transform",d&&"rotate-180")})]}),d&&jsxs("div",{className:n("absolute z-50 mt-1 min-w-44 rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",s==="right"?"right-0":"left-0"),style:Zo(Y,k,b),role:u?"listbox":"menu","aria-multiselectable":u||void 0,children:[p&&jsx("div",{className:"border-primary-200 dark:border-primary-700 border-b px-2 pb-1.5 pt-1",children:jsx("input",{ref:$,type:"text",value:L,onChange:F=>N(F.target.value),onKeyDown:ae,placeholder:"Type to filter or add\u2026",className:"w-full bg-transparent text-sm text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600"})}),jsxs("div",{className:"max-h-60 overflow-y-auto",children:[y.map((F,oe)=>{let _=Wo(F,oe),R=u&&c.includes(_);return jsxs(zt.Fragment,{children:[F.divider&&jsx("div",{className:"border-primary-200 dark:border-primary-700 my-1 border-t"}),jsxs("button",{type:"button",role:u?"option":"menuitem","aria-selected":u?R:void 0,disabled:F.disabled,className:n("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",F.disabled&&"pointer-events-none opacity-50"),style:Yr(oe,Y,k,b),onClick:()=>{u?U(_):(F.onClick?.(),C.current&&clearTimeout(C.current),f(false),g(false),N(""));},children:[u&&jsx("span",{className:n("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",R?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:R&&jsx(Check,{className:"h-3 w-3"})}),jsx("span",{className:"flex-1 truncate",children:F.label})]})]},_)}),y.length===0&&!K&&jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:Yr(0,1,k,b),children:"No matches"}),K&&jsxs("button",{type:"button",className:n("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:Yr(y.length,Y,k,b),onClick:W,children:[jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxs("span",{className:"truncate",children:["Add \u201C",L.trim(),"\u201D"]})]})]})]})]})}function Qr({intent:e,size:t,className:r,...a}){return jsx("span",{className:n(Zt({intent:e,size:t}),r),...a})}var es={danger:"bg-danger-500",success:"bg-success-500",warning:"bg-warning-500",info:"bg-primary-500",primary:"bg-secondary-500"};function Jr({children:e,show:t=true,content:r,dot:a,intent:s="danger",size:o="md",placement:l="top-right",pulse:p=false,className:x}){let u=a??r==null,c=u?null:typeof r=="number"?r>99?"99+":String(r):r;return jsxs("div",{className:"relative inline-flex",children:[e,t&&jsxs("span",{className:n(Qt({intent:s,size:o,dot:u,placement:l}),x),role:typeof r=="number"?"status":void 0,"aria-label":typeof r=="number"?String(r):void 0,children:[p&&jsx("span",{className:n("absolute inset-0 rounded-full animate-ping opacity-60",es[s??"danger"]),"aria-hidden":"true"}),c]})]})}function en({intent:e,size:t,className:r,...a}){return jsx("label",{className:n(Jt({intent:e,size:t}),r),...a})}var ns={sm:{wrapper:"h-7 text-xs",prefix:"px-2 text-xs [&_svg]:h-3 [&_svg]:w-3",input:"px-2 text-xs",icon:"px-1.5 [&_svg]:h-3 [&_svg]:w-3"},md:{wrapper:"h-9 text-sm",prefix:"px-3 text-sm [&_svg]:h-4 [&_svg]:w-4",input:"px-3 py-2 text-sm",icon:"px-2 [&_svg]:h-4 [&_svg]:w-4"},lg:{wrapper:"h-11 text-base",prefix:"px-4 text-base [&_svg]:h-5 [&_svg]:w-5",input:"px-4 py-2.5 text-base",icon:"px-2.5 [&_svg]:h-5 [&_svg]:w-5"}},as={default:"border-secondary-300 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus-within:border-danger-500 focus-within:ring-2 focus-within:ring-danger-500/20"};function tn({state:e="default",inputSize:t="md",className:r,prefix:a,suffix:s,action:o,...l}){if(!a&&!s&&!o)return jsx("input",{className:n(dt({state:e,size:t}),r),...l});let p=ns[t??"md"],x=as[e??"default"];return jsxs("div",{className:n("flex w-full items-center overflow-hidden rounded-md border bg-white transition-colors dark:bg-secondary-900",p.wrapper,x,r),children:[a&&jsx("span",{className:n("flex shrink-0 items-center gap-1.5 self-stretch border-r border-secondary-300 bg-secondary-50 font-medium text-secondary-600 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300",p.prefix),children:a}),jsx("input",{className:n("min-w-0 flex-1 bg-transparent text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600",p.input,a&&"pl-2"),...l}),s&&jsx("span",{className:n("pointer-events-none flex shrink-0 items-center text-secondary-400 dark:text-secondary-500",p.icon),children:s}),o&&jsx("button",{type:"button",onClick:o.onClick,"aria-label":o["aria-label"]??"Action",className:n("flex shrink-0 items-center text-secondary-500 transition-colors hover:text-primary-600 dark:text-secondary-400 dark:hover:text-primary-400",p.icon),children:o.icon})]})}var cs={sm:"px-2 py-1.5 text-xs min-h-[60px]",md:"px-3 py-2 text-sm min-h-[80px]",lg:"px-4 py-2.5 text-base min-h-[100px]"},ds={default:"border-secondary-400 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-2 focus:ring-danger-500/20"};function ps(e){if(!e)return 0;let t="\u2E80-\u2EFF\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF",r=new RegExp(`[${t}]`),a=0,s="",o=()=>{let l=s.trim();l&&(a+=l.split(/\s+/).length),s="";};for(let l of e)r.test(l)?(o(),a+=1):s+=l;return o(),a}function rn({state:e="default",size:t="md",showWordCount:r=false,maxWords:a,className:s,value:o,defaultValue:l,onChange:p,disabled:x,...u}){let[c,w]=useState(()=>l??""),b=o!==void 0?String(o):c,m=useCallback(f=>{o===void 0&&w(f.target.value),p?.(f);},[o,p]),v=useMemo(()=>ps(b),[b]),d=a!=null&&v>a;return jsxs("div",{className:n("inline-flex w-full flex-col",s),children:[jsx("textarea",{value:b,onChange:m,disabled:x,className:n("w-full resize-y rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",cs[t],ds[d?"error":e],x&&"pointer-events-none opacity-50"),...u}),(r||a!=null)&&jsx("span",{className:n("mt-1 self-end text-xs",d?"text-danger-500 dark:text-danger-400":"text-secondary-400 dark:text-secondary-500"),children:a!=null?`${v} / ${a} words`:`${v} words`})]})}var bs={sm:{trackFixed:"h-5 w-9",trackH:"h-5 min-w-9",thumb:"h-3.5 w-3.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-16px)]",pad:"pl-[6px] pr-[18px]",contentLeft:"left-[6px]",contentRight:"right-[6px]",icon:"text-[10px] [&_svg]:h-3 [&_svg]:w-3"},md:{trackFixed:"h-6 w-11",trackH:"h-6 min-w-11",thumb:"h-4.5 w-4.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-20px)]",pad:"pl-[7px] pr-[23px]",contentLeft:"left-[7px]",contentRight:"right-[7px]",icon:"text-xs [&_svg]:h-3.5 [&_svg]:w-3.5"},lg:{trackFixed:"h-7 w-14",trackH:"h-7 min-w-14",thumb:"h-5.5 w-5.5",thumbTop:"top-[3px]",thumbOff:"left-[3px]",thumbOn:"left-[calc(100%-25px)]",pad:"pl-[8px] pr-[28px]",contentLeft:"left-[8px]",contentRight:"right-[8px]",icon:"text-sm [&_svg]:h-4 [&_svg]:w-4"}},xs={primary:"text-primary-100",secondary:"text-secondary-100",danger:"text-danger-100",warning:"text-warning-100",success:"text-success-100"};function nn({checked:e,defaultChecked:t=false,onCheckedChange:r,checkedContent:a,uncheckedContent:s,intent:o,size:l,label:p,id:x,className:u,disabled:c,...w}){let b=useId(),m=x??b,v=l??"md",d=o??"primary",f=bs[v],k=a!=null||s!=null,[g,L]=useState(t),N=e??g,T=useCallback($=>{let C=$.target.checked;e===void 0&&L(C),r?.(C);},[e,r]);return jsxs("label",{htmlFor:m,className:n("inline-flex cursor-pointer items-center gap-2",c&&"pointer-events-none opacity-50",u),children:[jsx("input",{...w,id:m,type:"checkbox",role:"switch",className:"sr-only",checked:N,disabled:c,onChange:T,"aria-checked":N}),jsxs("span",{className:n("relative inline-flex shrink-0 items-center rounded-full transition-colors duration-200",k?f.trackH:f.trackFixed,rr({intent:o,size:l,checked:N?"on":"off"})),children:[k?jsxs(Fragment,{children:[jsxs("span",{className:n("pointer-events-none invisible inline-grid",f.icon),children:[jsx("span",{className:n("[grid-area:1/1] whitespace-nowrap",f.pad),children:a}),jsx("span",{className:n("[grid-area:1/1] whitespace-nowrap",f.pad),children:s})]}),jsx("span",{className:n("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",f.contentLeft,f.icon,xs[d],N?"opacity-100":"opacity-0"),children:a}),jsx("span",{className:n("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",f.contentRight,f.icon,"text-primary-400 dark:text-primary-500",N?"opacity-0":"opacity-100"),children:s})]}):null,jsx("span",{className:n("pointer-events-none absolute rounded-full bg-white shadow-sm transition-[left] duration-200 ease-in-out",f.thumb,f.thumbTop,N?f.thumbOn:f.thumbOff)})]}),p&&jsx("span",{className:"select-none text-sm text-primary-700 dark:text-primary-300",children:p})]})}var ks={sm:"h-3 w-3",md:"h-3.5 w-3.5",lg:"h-4 w-4"};function an({checked:e,defaultChecked:t=false,indeterminate:r=false,onCheckedChange:a,intent:s,size:o,label:l,id:p,className:x,disabled:u,...c}){let w=useId(),b=p??w,m=o??"md",[v,d]=useState(t),f=e??v,k=useCallback(L=>{let N=L.target.checked;e===void 0&&d(N),a?.(N);},[e,a]),g=f||r;return jsxs("label",{htmlFor:b,className:n("inline-flex cursor-pointer items-center gap-2 select-none",u&&"pointer-events-none opacity-50",x),children:[jsx("input",{...c,id:b,type:"checkbox",className:"sr-only",checked:f,disabled:u,onChange:k}),jsx("span",{className:n(er({intent:s,size:o,checked:g?"on":"off"})),children:jsx("svg",{viewBox:"0 0 16 16",fill:"none",className:n("text-white transition-all duration-200",ks[m],g?"scale-100 opacity-100":"scale-0 opacity-0"),children:r?jsx("line",{x1:"3",y1:"8",x2:"13",y2:"8",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}):jsx("path",{d:"M3.5 8.5L6.5 11.5L12.5 4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),l&&jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:l})]})}var Ha=createContext(null);function on({name:e,value:t,defaultValue:r,onValueChange:a,intent:s,size:o,disabled:l,orientation:p="vertical",className:x,children:u}){let c=useId(),w=e??c,[b,m]=useState(r),v=t??b,d=useCallback(f=>{t===void 0&&m(f),a?.(f);},[t,a]);return jsx(Ha.Provider,{value:{name:w,value:v,onChange:d,intent:s,size:o,disabled:l},children:jsx("div",{role:"radiogroup",className:n("flex gap-2",p==="vertical"?"flex-col":"flex-row flex-wrap",x),children:u})})}var Ps={sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-2.5 w-2.5"};function sn({value:e,intent:t,size:r,label:a,id:s,className:o,disabled:l,...p}){let x=useId(),u=s??x,c=useContext(Ha),w=t??c?.intent,b=r??c?.size,m=b??"md",v=l??c?.disabled,d=p.name??c?.name,f=c?c.value===e:void 0,k=useCallback(g=>{g.target.checked&&c?.onChange(e);},[c,e]);return jsxs("label",{htmlFor:u,className:n("inline-flex cursor-pointer items-center gap-2 select-none",v&&"pointer-events-none opacity-50",o),children:[jsx("input",{...p,id:u,type:"radio",name:d,value:e,className:"sr-only",checked:f,disabled:v,onChange:k}),jsx("span",{className:n(tr({intent:w,size:b,checked:f?"on":"off"})),children:jsx("span",{className:n("rounded-full bg-white transition-all duration-200",Ps[m],f?"scale-100 opacity-100":"scale-0 opacity-0")})}),a&&jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:a})]})}var Ls={Button:pt,Dropdown:Xr,DropdownButton:ft,Badge:Qr,Indicator:Jr,Label:en,Input:tn,TextBox:rn,Switch:nn,Checkbox:an,Radio:sn,RadioGroup:on},ln=Ls;var Dt=cva("rounded-lg transition-shadow",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",elevated:"bg-white shadow-md hover:shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25 dark:hover:shadow-primary-200/30",outlined:"border-2 border-primary-300 bg-transparent dark:border-primary-600",ghost:"bg-primary-50 dark:bg-primary-800/50"},size:{sm:"p-3",md:"p-5",lg:"p-7"}},defaultVariants:{intent:"default",size:"md"}}),cr=cva("rounded-md",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",inset:"bg-primary-50 dark:bg-primary-800/50",elevated:"bg-white shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25"},size:{sm:"p-3",md:"p-4",lg:"p-6"}},defaultVariants:{intent:"default",size:"md"}});function cn({intent:e,size:t,className:r,...a}){return jsx("div",{className:n(Dt({intent:e,size:t}),r),...a})}function Es({className:e,...t}){return jsx("div",{className:n("mb-4 space-y-1",e),...t})}function Ss({className:e,...t}){return jsx("h3",{className:n("text-primary-900 dark:text-primary-100 text-lg font-semibold",e),...t})}function Vs({className:e,...t}){return jsx("p",{className:n("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function Ds({className:e,...t}){return jsx("div",{className:n("text-primary-700 dark:text-primary-300 text-sm",e),...t})}function Is({className:e,...t}){return jsx("div",{className:n("border-primary-100 dark:border-primary-800 mt-4 flex items-center gap-2 border-t pt-4",e),...t})}function As({intent:e,media:t,mediaPosition:r="left",stackOnMobile:a=false,className:s,children:o,...l}){let p=jsx("div",{className:n("relative shrink-0 overflow-hidden",a?"h-48 w-full rounded-t-lg sm:h-auto sm:w-auto":"",!a&&(r==="left"?"rounded-l-lg":"rounded-r-lg")),style:a?void 0:{width:t.width??"10rem"},children:t.src?jsx("img",{src:t.src,alt:t.alt??"",className:"h-full w-full object-cover",draggable:false}):t.icon?jsx("div",{className:"bg-primary-100 text-primary-500 dark:bg-primary-800 dark:text-primary-400 flex h-full w-full items-center justify-center",children:t.icon}):null});return jsxs("div",{className:n(Dt({intent:e}),"flex overflow-hidden p-0",a?"flex-col sm:flex-row":"",!a&&r==="right"&&"flex-row-reverse",!a&&r==="left"&&"flex-row",s),...l,children:[p,jsx("div",{className:"flex min-w-0 flex-1 flex-col p-4",children:o})]})}function dn({src:e,alt:t="",aspectRatio:r="16/9",className:a,children:s,...o}){return jsxs("div",{className:n("group overflow-hidden rounded-xl border transition-shadow duration-300","border-primary-200 dark:border-primary-700 dark:bg-primary-900 bg-white","dark:hover:shadow-primary-900/60 hover:shadow-lg",a),...o,children:[jsxs("div",{className:"relative overflow-hidden",style:{aspectRatio:r},children:[jsx("img",{src:e,alt:t,className:"h-full w-full object-cover transition-transform duration-500 ease-out group-hover:scale-110",draggable:false}),jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-100","aria-hidden":true,children:jsx("div",{className:"animate-light-sweep absolute inset-0"})})]}),s]})}function Fs({className:e,...t}){return jsx("div",{className:n("space-y-2 p-4",e),...t})}function _s({className:e,...t}){return jsx("h3",{className:n("text-primary-900 dark:text-primary-100 text-base font-semibold",e),...t})}function zs({className:e,...t}){return jsx("p",{className:n("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function Os({className:e,...t}){return jsx("div",{className:n("border-primary-100 dark:border-primary-800 flex items-center gap-2 border-t px-4 py-3",e),...t})}function pn({intent:e,size:t,className:r,...a}){return jsx("div",{className:n(cr({intent:e,size:t}),r),...a})}function Bs({className:e,...t}){return jsx("div",{className:n("border-primary-200 text-primary-900 dark:border-primary-700 dark:text-primary-100 mb-3 flex items-center gap-1.5 border-b pb-3 text-sm font-semibold [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",e),...t})}function Ks({className:e,...t}){return jsx("div",{className:n("text-primary-700 dark:text-primary-300 text-sm",e),...t})}var $s={Card:cn,ImageCard:dn,Panel:pn},un=$s;var dr=cva("w-full text-left text-sm",{variants:{intent:{default:"",striped:"[&_tbody_tr:nth-child(even)]:bg-primary-50 dark:[&_tbody_tr:nth-child(even)]:bg-primary-800/30",bordered:"[&_th]:border [&_td]:border [&_th]:border-primary-200 [&_td]:border-primary-200 dark:[&_th]:border-primary-700 dark:[&_td]:border-primary-700"},density:{compact:"[&_th]:px-2 [&_th]:py-1 [&_td]:px-2 [&_td]:py-1",default:"",relaxed:"[&_th]:px-6 [&_th]:py-5 [&_td]:px-6 [&_td]:py-5"}},defaultVariants:{intent:"default",density:"default"}}),pr=cva("text-sm text-primary-700 dark:text-primary-300",{variants:{intent:{default:"space-y-1",bordered:"divide-y divide-primary-200 rounded-lg border border-primary-200 dark:divide-primary-700 dark:border-primary-700 [&>li]:px-4 [&>li]:py-2",hover:"[&>li]:rounded-md [&>li]:px-3 [&>li]:py-2 [&>li]:transition-colors [&>li:hover]:bg-primary-50 dark:[&>li:hover]:bg-primary-800/50"}},defaultVariants:{intent:"default"}}),mr=cva("group flex w-full items-center gap-1.5 text-left [&_svg]:shrink-0",{variants:{size:{sm:"py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",md:"py-1.5 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"py-2 text-base [&_svg]:h-4 [&_svg]:w-4"}},defaultVariants:{size:"md"}}),ur=cva("flex cursor-pointer items-center gap-1 rounded transition-colors [&_svg]:shrink-0",{variants:{size:{sm:"py-0.5 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"py-1 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"py-1.5 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{size:"md"}}),At=cva("overflow-x-auto rounded-lg font-mono [background:var(--color-syntax-bg)] [&_pre]:m-0 [&_pre]:p-4 [&_code]:bg-transparent",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}});function _t({intent:e,density:t,className:r,...a}){return jsx("div",{className:"w-full overflow-auto",children:jsx("table",{className:n(dr({intent:e,density:t}),r),...a})})}function gn({className:e,...t}){return jsx("thead",{className:n("bg-primary-50 text-primary-600 dark:bg-primary-800/50 dark:text-primary-400",e),...t})}function bn({className:e,...t}){return jsx("tbody",{className:n("[&_tr:last-child]:border-0",e),...t})}function Ft({className:e,...t}){return jsx("tr",{className:n("border-primary-200 hover:bg-primary-50/50 dark:border-primary-700 dark:hover:bg-primary-800/30 border-b transition-colors",e),...t})}function rt({className:e,...t}){return jsx("th",{className:n("px-4 py-3 text-left text-xs font-semibold tracking-wider uppercase",e),...t})}function nt({className:e,...t}){return jsx("td",{className:n("text-primary-700 dark:text-primary-300 px-4 py-3",e),...t})}function xn({icon:e,text:t="No data",className:r}){return jsxs("div",{className:n("flex flex-col items-center justify-center gap-3 py-16 text-primary-400 dark:text-primary-500",r),children:[e??jsx(Inbox,{className:"h-12 w-12 stroke-[1.2]"}),jsx("span",{className:"text-sm",children:t})]})}var za={sm:"hidden sm:table-cell",md:"hidden md:table-cell",lg:"hidden lg:table-cell"};function ti({columns:e,data:t,sort:r,onSortChange:a,defaultSort:s=null,rowKey:o,rowActions:l,intent:p,density:x,className:u,empty:c}){let[w,b]=useState(s),m=r??w,v=useCallback(f=>{let k=m?.column===f?m.direction==="asc"?{column:f,direction:"desc"}:null:{column:f,direction:"asc"};a?a(k):b(k);},[m,a]),d=useMemo(()=>{if(!m)return t;let f=e.find(L=>L.key===m.column);if(!f)return t;let k=f.compareFn??((L,N)=>{let T=f.cell(L),$=f.cell(N);return T==null&&$==null?0:T==null?-1:$==null?1:typeof T=="number"&&typeof $=="number"?T-$:String(T).localeCompare(String($))}),g=[...t].sort(k);return m.direction==="desc"?g.reverse():g},[t,m,e]);return jsxs(_t,{intent:p,density:x,className:u,children:[jsx(gn,{children:jsxs(Ft,{children:[e.map(f=>{let k=f.sortable!==false,g=m?.column===f.key;return jsx(rt,{className:n(k&&"cursor-pointer select-none",f.headerClassName,f.hideBelow&&za[f.hideBelow]),onClick:k?()=>v(f.key):void 0,"aria-sort":g?m.direction==="asc"?"ascending":"descending":void 0,children:jsxs("span",{className:"inline-flex items-center gap-1",children:[f.header,k&&jsx(Oa,{active:g,direction:g?m.direction:null})]})},f.key)}),l&&jsx(rt,{className:"w-20 text-right",children:"Actions"})]})}),jsx(bn,{children:d.length===0?jsx("tr",{children:jsx("td",{colSpan:e.length+(l?1:0),children:jsx(xn,{...c})})}):d.map((f,k)=>jsxs(Ft,{children:[e.map(g=>jsx(nt,{className:n(g.cellClassName,g.hideBelow&&za[g.hideBelow]),children:g.cell(f)},g.key)),l&&jsx(nt,{className:"text-right",children:jsx("span",{className:"inline-flex items-center gap-1",children:l(f)})})]},o?o(f,k):k))})]})}function ri({value:e,onCommit:t,onCancel:r}){let[a,s]=useState(e),o=useRef(null);useEffect(()=>{o.current?.focus(),o.current?.select();},[]);let l=()=>t(a);return jsxs("span",{className:"flex items-center gap-1",children:[jsx("input",{ref:o,type:"text",value:a,onChange:p=>s(p.target.value),onKeyDown:p=>{p.key==="Enter"&&l(),p.key==="Escape"&&r();},"aria-label":"Edit cell",className:"min-w-0 flex-1 rounded border border-primary-400 bg-white px-1.5 py-0.5 text-sm outline-none focus:ring-1 focus:ring-primary-400 dark:border-primary-600 dark:bg-secondary-800"}),jsx("button",{type:"button",onClick:l,className:"text-success-600 hover:text-success-700 dark:text-success-400","aria-label":"Confirm",children:jsx(Check,{className:"h-3.5 w-3.5"})}),jsx("button",{type:"button",onClick:r,className:"text-danger-500 hover:text-danger-600 dark:text-danger-400","aria-label":"Cancel",children:jsx(X,{className:"h-3.5 w-3.5"})})]})}function ni({columns:e,data:t,rowKey:r,sort:a,onSortChange:s,defaultSort:o=null,selectionMode:l="none",selected:p,onSelectionChange:x,editable:u=false,onCellEdit:c,toolbar:w=false,onAdd:b,onDelete:m,rowActions:v,intent:d,density:f,className:k,empty:g}){let[L,N]=useState(o),T=a??L,$=useCallback(R=>{let q=T?.column===R?T.direction==="asc"?{column:R,direction:"desc"}:null:{column:R,direction:"asc"};s?s(q):N(q);},[T,s]),C=useMemo(()=>{if(!T)return t;let R=e.find(H=>H.key===T.column);if(!R)return t;let q=R.compareFn??((H,E)=>{let se=R.cell(H),Q=R.cell(E);return se==null&&Q==null?0:se==null?-1:Q==null?1:typeof se=="number"&&typeof Q=="number"?se-Q:String(se).localeCompare(String(Q))}),G=[...t].sort(q);return T.direction==="desc"?G.reverse():G},[t,T,e]),[P,A]=useState([]),V=p??P,y=x??A,K=useMemo(()=>C.map((R,q)=>r(R,q)),[C,r]),W=l==="multiple"&&K.length>0&&K.every(R=>V.includes(R)),ae=l==="multiple"&&V.length>0&&!W,U=useCallback(R=>{l==="single"?y(V.includes(R)?[]:[R]):l==="multiple"&&y(V.includes(R)?V.filter(q=>q!==R):[...V,R]);},[l,V,y]),pe=useCallback(()=>{y(W?[]:K);},[W,K,y]),[j,Y]=useState(null),F=useCallback((R,q,G)=>{u&&G!==false&&Y({rowKey:R,colKey:q});},[u]),oe=useCallback((R,q,G)=>{c?.(R,q,G),Y(null);},[c]);return jsxs("div",{className:"space-y-2",children:[w&&jsxs("div",{className:"flex items-center gap-2",children:[b&&jsxs("button",{type:"button",onClick:b,className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-secondary-700 transition-colors hover:bg-secondary-50 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:hover:bg-secondary-700",children:[jsx(Plus,{className:"h-3.5 w-3.5"})," Add"]}),m&&jsxs("button",{type:"button",onClick:()=>m(V),disabled:V.length===0,className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-danger-600 transition-colors hover:bg-danger-50 disabled:opacity-40 disabled:pointer-events-none dark:border-secondary-600 dark:bg-secondary-800 dark:text-danger-400 dark:hover:bg-danger-900/20",children:[jsx(Trash2,{className:"h-3.5 w-3.5"})," Delete",V.length>0&&` (${V.length})`]}),u&&V.length===1&&jsxs("button",{type:"button",onClick:()=>{let R=e.find(q=>q.editable!==false);R&&Y({rowKey:V[0],colKey:R.key});},className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-secondary-700 transition-colors hover:bg-secondary-50 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:hover:bg-secondary-700",children:[jsx(Pencil,{className:"h-3.5 w-3.5"})," Edit"]}),V.length>0&&jsxs("span",{className:"ml-auto text-sm text-secondary-500 dark:text-secondary-400",children:[V.length," row",V.length>1?"s":""," selected"]})]}),jsxs(_t,{intent:d,density:f,className:k,children:[jsx(gn,{children:jsxs(Ft,{children:[l==="multiple"&&jsx(rt,{className:"w-10",children:jsx("input",{type:"checkbox",checked:W,ref:R=>{R&&(R.indeterminate=ae);},onChange:pe,className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select all"})}),l==="single"&&jsx(rt,{className:"w-10"}),e.map(R=>{let q=R.sortable!==false,G=T?.column===R.key;return jsx(rt,{className:n(q&&"cursor-pointer select-none",R.headerClassName),onClick:q?()=>$(R.key):void 0,"aria-sort":G?T.direction==="asc"?"ascending":"descending":void 0,children:jsxs("span",{className:"inline-flex items-center gap-1",children:[R.header,q&&jsx(Oa,{active:G,direction:G?T.direction:null})]})},R.key)}),v&&jsx(rt,{className:"w-20 text-right",children:"Actions"})]})}),jsx(bn,{children:C.length===0?jsx("tr",{children:jsx("td",{colSpan:e.length+(l!=="none"?1:0)+(v?1:0),children:jsx(xn,{...g})})}):C.map((R,q)=>{let G=r(R,q),H=V.includes(G);return jsxs(Ft,{className:n(H&&"bg-primary-50/60 dark:bg-primary-900/20"),onClick:()=>{l!=="none"&&U(G);},children:[l==="multiple"&&jsx(nt,{className:"w-10",children:jsx("input",{type:"checkbox",checked:H,onChange:()=>U(G),onClick:E=>E.stopPropagation(),className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select row"})}),l==="single"&&jsx(nt,{className:"w-10",children:jsx("input",{type:"radio",checked:H,onChange:()=>U(G),onClick:E=>E.stopPropagation(),className:"h-4 w-4 cursor-pointer accent-primary-600","aria-label":"Select row"})}),e.map(E=>{let se=j?.rowKey===G&&j?.colKey===E.key,Q=E.editValue?.(R)??(()=>{let ie=E.cell(R);return typeof ie=="string"||typeof ie=="number"?String(ie):""})();return jsx(nt,{className:n(E.cellClassName,u&&E.editable!==false&&"cursor-text"),onDoubleClick:ie=>{ie.stopPropagation(),F(G,E.key,E.editable);},children:se?jsx(ri,{value:Q,onCommit:ie=>oe(G,E.key,ie),onCancel:()=>Y(null)}):E.cell(R)},E.key)}),v&&jsx(nt,{className:"text-right",onClick:E=>E.stopPropagation(),children:jsx("span",{className:"inline-flex items-center gap-1",children:v(R)})})]},G)})})]})]})}function Oa({active:e,direction:t}){let r="h-3.5 w-3.5 shrink-0";return !e||!t?jsx(ArrowUpDown,{className:n(r,"opacity-30")}):t==="asc"?jsx(ArrowUp,{className:n(r,"opacity-70")}):jsx(ArrowDown,{className:n(r,"opacity-70")})}var Ba=createContext({size:"md"});function yn({intent:e,size:t="md",className:r,...a}){return jsx(Ba.Provider,{value:{size:t},children:jsx("ul",{className:n(pr({intent:e}),r),...a})})}function si({actions:e,className:t,children:r,...a}){let{size:s}=useContext(Ba);return jsxs("li",{className:n(mr({size:s}),t),...a,children:[jsx("span",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:r}),e&&jsx("span",{className:"ml-auto flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100 [@media(hover:none)]:opacity-100 [@media(hover:none)]:[&>button]:min-h-(--row-action-touch-min) [@media(hover:none)]:[&>button]:min-w-(--row-action-touch-min) [@media(hover:none)]:[&>button]:flex [@media(hover:none)]:[&>button]:items-center [@media(hover:none)]:[&>button]:justify-center",children:e})]})}var ja=createContext({showLines:true,expandedKeys:null,onToggleKey:()=>{},size:"md"});function hn({showLines:e=true,showRoot:t=true,expandedKeys:r,defaultExpandedKeys:a="all",onExpandedKeysChange:s,size:o="md",className:l,children:p,...x}){let [u,c]=useState(()=>a),b=useCallback(v=>{if(r){let d=new Set(r);d.has(v)?d.delete(v):d.add(v),s?.(d);}else c(d=>{if(d==="all")return new Set(["__ALL_MINUS__",v]);let f=new Set(d);return f.has(v)?f.delete(v):f.add(v),f});},[r,s]),m=r??(u==="all"?null:u);return jsx(ja.Provider,{value:{showLines:e,expandedKeys:m,onToggleKey:b,size:o},children:t?jsx("ul",{className:n("text-sm",l),role:"tree",...x,children:p}):jsx("ul",{className:n("text-sm",l),role:"tree",...x,children:jsx(mi,{children:p})})})}function mi({children:e}){let t=Ga(e);return jsx(Fragment,{children:t.map(r=>zt.isValidElement(r)&&r.props.children?r.props.children:null)})}function Ga(e){let t=[];return zt.Children.forEach(e,r=>{zt.isValidElement(r)&&r.type===zt.Fragment?t.push(...Ga(r.props.children)):t.push(r);}),t}function ui({nodeKey:e,label:t,icon:r,actions:a,defaultExpanded:s=false,expanded:o,onToggle:l,children:p,className:x}){let{showLines:u,expandedKeys:c,onToggleKey:w,size:b}=useContext(ja),[m,v]=useState(s),d=zt.Children.count(p)>0,f=e??(typeof t=="string"?t:""),k;o!=null?k=o:c!=null&&f?c.has("__ALL_MINUS__")?k=!c.has(f):k=c.has(f):k=m;let g=()=>{let L=!k;l?l(L):c!=null&&f?w(f):v(L);};return jsxs("li",{className:n("select-none",x),role:"treeitem","aria-expanded":d?k:void 0,children:[jsxs("div",{className:n("group hover:bg-primary-50 dark:hover:bg-primary-800/50 rounded-md px-1",ur({size:b}),d?"cursor-pointer":"cursor-default"),onClick:d?g:void 0,children:[d?jsx(ChevronRight,{className:n("text-primary-400 h-4 w-4 shrink-0 transition-transform duration-200",k&&"rotate-90")}):jsx("span",{className:"w-4 shrink-0"}),r&&jsx("span",{className:"shrink-0",children:r}),jsx("span",{className:"text-primary-700 dark:text-primary-300 min-w-0 flex-1 truncate",children:t}),a&&jsx("span",{className:"ml-auto flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100 [@media(hover:none)]:opacity-100 [@media(hover:none)]:[&>button]:min-h-(--row-action-touch-min) [@media(hover:none)]:[&>button]:min-w-(--row-action-touch-min) [@media(hover:none)]:[&>button]:flex [@media(hover:none)]:[&>button]:items-center [@media(hover:none)]:[&>button]:justify-center",onClick:L=>L.stopPropagation(),children:a})]}),d&&jsx("div",{className:n("grid transition-[grid-template-rows] duration-200 ease-out",k?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:jsx("div",{className:"overflow-hidden",children:jsx("ul",{className:n("ml-4 pl-2",u&&"border-primary-200 dark:border-primary-700 border-l"),role:"group",children:p})})})]})}function xi({avatar:e,sender:t}){return e?typeof e=="string"?/^(?:https?|data|blob):/.test(e)?jsx("img",{src:e,alt:t,className:"h-8 w-8 shrink-0 rounded-full object-cover",draggable:false}):jsx("div",{className:"bg-primary-200 text-primary-600 dark:bg-primary-700 dark:text-primary-300 flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-lg select-none",children:e}):jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full",children:e}):jsx("div",{className:"bg-primary-200 text-primary-600 dark:bg-primary-700 dark:text-primary-300 flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-sm font-semibold select-none",children:t.charAt(0).toUpperCase()})}function yi({msg:e,alignRight:t}){return jsxs("div",{className:n("flex gap-2.5",t?"flex-row-reverse":"flex-row"),children:[jsx(xi,{avatar:e.avatar,sender:e.sender}),jsxs("div",{className:n("flex max-w-[75%] flex-col gap-0.5",t?"items-end":"items-start"),children:[jsx("span",{className:"text-primary-500 dark:text-primary-400 text-xs",children:e.sender}),jsx("div",{className:n("rounded-xl px-3 py-2 text-sm leading-relaxed",t?"rounded-tr-sm bg-primary-500 text-white dark:bg-primary-600":"bg-primary-100 text-primary-800 dark:bg-primary-800 dark:text-primary-200 rounded-tl-sm"),children:e.content}),e.time&&jsx("span",{className:"text-primary-400 dark:text-primary-500 text-[10px]",children:e.time})]})]})}function wn({messages:e,mode:t="split",autoScroll:r=true,className:a,...s}){let o=useRef(null);return useEffect(()=>{r&&o.current?.scrollIntoView({behavior:"smooth"});},[e,r]),jsxs("div",{className:n("flex flex-col gap-4 overflow-y-auto rounded-lg border p-4","border-primary-200 dark:border-primary-700 dark:bg-primary-900 bg-white",a),...s,children:[e.map(l=>{let p=t==="split"&&!!l.self;return jsx(yi,{msg:l,alignRight:p},l.id)}),jsx("div",{ref:o})]})}var wi={name:"onyx-css-vars",type:"dark",settings:[{settings:{foreground:"var(--color-syntax-plain)",background:"var(--color-syntax-bg)"}},{scope:["comment","punctuation.definition.comment"],settings:{foreground:"var(--color-syntax-comment)",fontStyle:"italic"}},{scope:["keyword","keyword.control","keyword.operator.new","keyword.operator.expression","storage.type","storage.modifier"],settings:{foreground:"var(--color-syntax-keyword)"}},{scope:["string","string.quoted","string.template"],settings:{foreground:"var(--color-syntax-string)"}},{scope:["entity.name.function","support.function","meta.function-call"],settings:{foreground:"var(--color-syntax-function)"}},{scope:["variable","variable.other","variable.parameter","meta.definition.variable"],settings:{foreground:"var(--color-syntax-variable)"}},{scope:["constant.numeric","constant.language"],settings:{foreground:"var(--color-syntax-number)"}},{scope:["keyword.operator","keyword.operator.assignment","keyword.operator.comparison","keyword.operator.arithmetic"],settings:{foreground:"var(--color-syntax-operator)"}},{scope:["entity.name.tag","punctuation.definition.tag","support.class.component"],settings:{foreground:"var(--color-syntax-tag)"}},{scope:["entity.other.attribute-name","meta.tag.attributes"],settings:{foreground:"var(--color-syntax-attr)"}},{scope:["punctuation","meta.brace","punctuation.definition.block","punctuation.separator","punctuation.terminator"],settings:{foreground:"var(--color-syntax-punctuation)"}},{scope:["entity.name.type","support.type","support.class","entity.other.inherited-class"],settings:{foreground:"var(--color-syntax-type)"}}]},ki={typescript:()=>import('@shikijs/langs/typescript'),javascript:()=>import('@shikijs/langs/javascript'),tsx:()=>import('@shikijs/langs/tsx'),jsx:()=>import('@shikijs/langs/jsx'),html:()=>import('@shikijs/langs/html'),css:()=>import('@shikijs/langs/css'),json:()=>import('@shikijs/langs/json'),markdown:()=>import('@shikijs/langs/markdown'),python:()=>import('@shikijs/langs/python'),rust:()=>import('@shikijs/langs/rust'),go:()=>import('@shikijs/langs/go'),java:()=>import('@shikijs/langs/java'),c:()=>import('@shikijs/langs/c'),cpp:()=>import('@shikijs/langs/cpp'),csharp:()=>import('@shikijs/langs/csharp'),vue:()=>import('@shikijs/langs/vue'),xml:()=>import('@shikijs/langs/xml'),yaml:()=>import('@shikijs/langs/yaml'),sql:()=>import('@shikijs/langs/sql'),bash:()=>import('@shikijs/langs/bash'),shell:()=>import('@shikijs/langs/shell')},Cn=null,Xa=new Set;function Ni(){return Cn||(Cn=Promise.all([import('shiki/core'),import('shiki/engine/javascript')]).then(([{createHighlighterCore:e},{createJavaScriptRegexEngine:t}])=>e({themes:[wi],langs:[],engine:t()}))),Cn}async function Ci(e,t,r){let a=await Ni();if(t&&!Xa.has(t)){let o=ki[t];if(o)try{let l=await o();await a.loadLanguage(l.default??l),Xa.add(t);}catch{t="text";}else t="text";}let s=a.codeToHtml(e,{lang:t||"text",theme:"onyx-css-vars"});if(s=s.replace(/(<pre [^>]*style=")/,"$1line-height:1.7;tab-size:2;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;"),r){let o=0;s=s.replace(/<span class="line">/g,()=>(o++,`<span class="line"><span class="line-number" data-line="${o}"></span>`));}return s}function Tn({code:e,language:t="text",lineNumbers:r=false,editable:a=false,onCodeChange:s,size:o,className:l,...p}){let[x,u]=useState(""),c=useRef(null),w=useRef(null),b=useRef(null);useEffect(()=>{let N=false;return Ci(e,t,a?false:r).then(T=>{N||u(T);}),()=>{N=true;}},[e,t,r,a]);let m=useCallback(()=>{let N=w.current,T=b.current?.querySelector("pre"),$=c.current?.querySelector("[data-gutter]");N&&T&&(T.scrollTop=N.scrollTop,T.scrollLeft=N.scrollLeft),N&&$&&($.scrollTop=N.scrollTop);},[]),v=useCallback(N=>{s?.(N.target.value);},[s]),d=useCallback(N=>{if(N.key==="Tab"){N.preventDefault();let T=N.currentTarget,$=T.selectionStart,C=T.selectionEnd,P=T.value.substring(0,$)+" "+T.value.substring(C);s?.(P),requestAnimationFrame(()=>{T.selectionStart=T.selectionEnd=$+2;});}},[s]),f=r&&"[&_.line-number]:inline-block [&_.line-number]:w-8 [&_.line-number]:mr-4 [&_.line-number]:text-right [&_.line-number]:text-secondary-400 [&_.line-number]:select-none [&_.line-number]:before:content-[attr(data-line)]",k="ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",g=1.7,L=e.split(`
2
+ `).length;return a?jsxs("div",{ref:c,className:n(At({size:o}),"flex border border-primary-200 dark:border-primary-700",l),style:{background:"var(--color-syntax-bg)"},...p,children:[r&&jsx("div",{"data-gutter":true,"aria-hidden":true,className:"shrink-0 select-none overflow-hidden py-4 pl-3 pr-1 text-right text-secondary-400",style:{fontFamily:k,lineHeight:g,width:"3rem"},children:Array.from({length:L},(N,T)=>jsx("div",{children:T+1},T))}),jsxs("div",{className:"relative min-w-0 flex-1",children:[jsx("textarea",{ref:w,value:e,onChange:v,onScroll:m,onKeyDown:d,spellCheck:false,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",className:"relative z-2 m-0 block h-full w-full resize-none overflow-auto whitespace-pre border-none bg-transparent p-4 text-transparent caret-primary-600 outline-none dark:caret-primary-400",style:{fontFamily:k,lineHeight:g,tabSize:2,minHeight:"6rem"}}),jsx("div",{ref:b,"aria-hidden":true,className:"pointer-events-none absolute inset-0 z-1 overflow-hidden [&_pre]:m-0 [&_pre]:h-full [&_pre]:overflow-hidden [&_pre]:p-4 [&_code]:bg-transparent",dangerouslySetInnerHTML:x?{__html:x}:void 0})]})]}):jsx("div",{ref:c,className:n(At({size:o}),"border border-primary-200 dark:border-primary-700",f,l),style:{background:"var(--color-syntax-bg)"},...p,children:jsx("div",{ref:b,className:"[&_pre]:m-0 [&_pre]:p-4",dangerouslySetInnerHTML:x?{__html:x}:void 0,children:x?void 0:jsx("pre",{className:"m-0 p-4",style:{background:"var(--color-syntax-bg)"},children:jsx("code",{children:e})})})})}var Ti={Table:_t,List:yn,Tree:hn,Chat:wn,CodeBlock:Tn},Rn=Ti;var st="flex w-full items-center gap-2 rounded-md px-3 py-1.5 text-sm transition-colors cursor-pointer",Wa="bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100 font-medium",yt="text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200",ht="flex items-center justify-center rounded-md p-2 transition-colors cursor-pointer text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200";function Di({to:e,className:t,style:r,children:a}){let s=typeof t=="function"?t({isActive:false}):t;return jsx("a",{href:e,className:s,style:r,children:a})}var Pn=["expanded","icons","mini"];function Ii(e){let t=Pn.indexOf(e);return Pn[(t+1)%Pn.length]}function Ya(e){let t=new Set;for(let r of e)if(r.children&&r.children.length>0){t.add(r.key??r.label);for(let a of Ya(r.children))t.add(a);}return t}function Za({item:e,basePath:t,depth:r,onItemClick:a,LinkComponent:s,showLines:o,expandedKeys:l,onToggle:p}){let x=e.key??e.label,u=e.children&&e.children.length>0,[c,w]=useState(e.defaultOpen??true),b=l?l.has(x):c,m=useCallback(()=>{l?p(x):w(d=>!d);},[l,p,x]),v=r>0?`${r*1.25}rem`:void 0;if(u)return jsxs("div",{children:[jsxs("button",{type:"button",onClick:m,className:n(st,yt,"justify-between"),style:{paddingLeft:v},children:[jsxs("span",{className:"flex items-center gap-2",children:[e.icon,e.label]}),jsx(ChevronRight,{className:n("h-3.5 w-3.5 transition-transform",b&&"rotate-90")})]}),b&&jsx("div",{className:n("flex flex-col gap-0.5 pt-0.5",o?"ml-2.5 border-l border-primary-200 dark:border-primary-700":"ml-2"),children:e.children.map(d=>jsx(Za,{item:d,basePath:t,depth:r+1,onItemClick:a,LinkComponent:s,showLines:o,expandedKeys:l,onToggle:p},d.key??d.path??d.label))})]});if(e.path!=null){let d=t+e.path;return a?jsxs("button",{type:"button",onClick:()=>a(e,d),className:n(st,yt),style:{paddingLeft:v},children:[e.icon,e.label]}):jsxs(s,{to:d,className:({isActive:f})=>n(st,f?Wa:yt),style:{paddingLeft:v},children:[e.icon,e.label]})}return jsxs("span",{className:n(st,yt,"cursor-default"),style:{paddingLeft:v},children:[e.icon,e.label]})}function Ai({item:e,basePath:t,onItemClick:r,LinkComponent:a}){let[s,o]=useState(false),l=useRef(null),p=useRef(void 0),[x,u]=useState({top:0,left:0}),c=()=>{clearTimeout(p.current),o(true);},w=()=>{p.current=setTimeout(()=>o(false),200);};useLayoutEffect(()=>{if(s&&l.current){let m=l.current.getBoundingClientRect();u({top:m.top,left:m.right+4});}},[s]);let b=e.icon||jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});return jsxs("div",{onMouseEnter:c,onMouseLeave:w,children:[jsx("button",{ref:l,type:"button",className:n(ht,"w-full"),title:e.label,onClick:()=>o(m=>!m),children:b}),s&&createPortal(jsxs("div",{className:"fixed z-50 min-w-44 rounded-md border border-primary-200 bg-white p-1 shadow-lg dark:border-primary-700 dark:bg-primary-900",style:{top:x.top,left:x.left},onMouseEnter:c,onMouseLeave:w,children:[jsx("div",{className:"px-2.5 py-1.5 text-xs font-semibold uppercase text-primary-500 dark:text-primary-400",children:e.label}),jsx("div",{className:"flex flex-col gap-0.5",children:e.children?.map(m=>{let v=m.key??m.path??m.label;if(m.path!=null){let d=t+m.path;return r?jsxs("button",{type:"button",onClick:()=>{r(m,d),o(false);},className:n(st,yt),children:[m.icon,m.label]},v):jsxs(a,{to:d,className:({isActive:f})=>n(st,f?Wa:yt),children:[m.icon,m.label]},v)}return jsxs("span",{className:n(st,"cursor-default text-primary-400"),children:[m.icon,m.label]},v)})})]}),document.body)]})}function Hi({item:e,basePath:t,onItemClick:r,LinkComponent:a}){let s=e.icon||jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});if(e.path!=null){let o=t+e.path;return r?jsx("button",{type:"button",onClick:()=>r(e,o),className:n(ht,"w-full"),title:e.label,children:s}):jsx(a,{to:o,className:({isActive:l})=>n(ht,"w-full",l&&"bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100"),children:jsx("span",{title:e.label,children:s})})}return jsx("span",{className:n(ht,"w-full cursor-default"),title:e.label,children:s})}function Ln({items:e,title:t,basePath:r="/",onItemClick:a,LinkComponent:s=Di,collapsible:o,collapseMode:l,defaultCollapseMode:p="expanded",onCollapseModeChange:x,showLines:u=true,expandedKeys:c,defaultExpandedKeys:w="all",onExpandedKeysChange:b,className:m,responsive:v=true,mobileBreakpoint:d=768,mobileTopOffset:f=48,...k}){let[g,L]=useState(p),N=l??g,T=zt.useMemo(()=>Ya(e),[e]),[$,C]=useState(()=>w==="all"?new Set(T):new Set(w)),P=c??null,A=P??$,V=useCallback(H=>{let E=new Set(A);E.has(H)?E.delete(H):E.add(H),C(E),b?.(E);},[A,b]),y=useCallback(()=>{let H=Ii(N);L(H),x?.(H);},[N,x]),[K,W]=useState(()=>v&&typeof window<"u"&&window.innerWidth<d),[ae,U]=useState(false);useEffect(()=>{if(!v||typeof window>"u"||!window.matchMedia)return;let H=window.matchMedia(`(max-width: ${d-1}px)`),E=se=>{W(se.matches),se.matches||U(false);};return H.addEventListener("change",E),()=>H.removeEventListener("change",E)},[v,d]);let pe=useCallback(H=>{H.target.closest("a")&&U(false);},[]),j=useRef(null),Y=useRef({startX:0,startY:0,dragging:false}),oe=useCallback(H=>{let E=H.touches[0];Y.current={startX:E.clientX,startY:E.clientY,dragging:true};},[]),_=useCallback(H=>{if(!Y.current.dragging||!j.current)return;let E=H.touches[0],se=E.clientX-Y.current.startX,Q=E.clientY-Y.current.startY;se>=0||Math.abs(Q)>Math.abs(se)||(j.current.style.transform=`translateX(${Math.max(se,-224)}px)`,j.current.style.transition="none");},[]),R=useCallback(H=>{if(!Y.current.dragging||!j.current)return;Y.current.dragging=false;let E=H.changedTouches[0],se=E.clientX-Y.current.startX,Q=E.clientY-Y.current.startY;j.current.style.transition="",j.current.style.transform="",se<-60&&Math.abs(se)>Math.abs(Q)&&U(false);},[]),q=useMemo(()=>!K||!a?a:(H,E)=>{U(false),a(H,E);},[K,a]),G=jsxs(Fragment,{children:[o&&!K&&jsx("div",{className:n("flex shrink-0 mb-1",N==="expanded"?"justify-end":"justify-center"),children:jsx("button",{type:"button",onClick:y,className:ht,"aria-label":N==="mini"?"Expand sidebar":"Collapse sidebar",title:N==="mini"?"Expand sidebar":"Collapse sidebar",children:N==="mini"?jsx(Menu,{className:"h-5 w-5"}):jsx(ChevronsLeft,{className:"h-4 w-4"})})}),(K||N==="expanded")&&jsxs(Fragment,{children:[t&&jsx("h2",{className:"text-primary-500 dark:text-primary-400 mb-3 text-sm font-semibold uppercase",children:t}),e.map(H=>jsx(Za,{item:H,basePath:r,depth:0,onItemClick:q,LinkComponent:s,showLines:u,expandedKeys:P,onToggle:V},H.key??H.path??H.label))]}),!K&&N==="icons"&&e.map(H=>{let E=H.key??H.path??H.label;return H.children&&H.children.length>0?jsx(Ai,{item:H,basePath:r,onItemClick:q,LinkComponent:s},E):jsx(Hi,{item:H,basePath:r,onItemClick:q,LinkComponent:s},E)})]});return v&&K?jsxs(Fragment,{children:[ae&&createPortal(jsx("div",{className:"fixed inset-0 z-40 bg-black/50",style:{top:f},onClick:()=>U(false)}),document.body),createPortal(jsxs("aside",{ref:j,className:n("fixed bottom-0 left-0 z-50 flex flex-col w-56 border-r border-primary-200 dark:border-primary-700 bg-white dark:bg-primary-900 shadow-xl transition-transform duration-200",ae?"translate-x-0":"-translate-x-full"),style:{top:f},onClick:pe,onTouchStart:oe,onTouchMove:_,onTouchEnd:R,children:[jsxs("div",{className:"flex shrink-0 items-center justify-between border-b border-primary-200 px-3 py-2 dark:border-primary-700",children:[jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-primary-500 dark:text-primary-400",children:"Navigation"}),jsx("button",{type:"button",onClick:H=>{H.stopPropagation(),U(false);},className:n(ht,"h-7 w-7 p-1"),"aria-label":"Close navigation",children:jsx(X,{className:"h-4 w-4"})})]}),jsx("div",{className:"flex-1 overflow-y-auto overscroll-y-contain p-3",children:jsx("nav",{className:"flex flex-col gap-0.5",children:G})})]}),document.body),!ae&&createPortal(jsx("button",{type:"button",className:"fixed left-0 z-50 flex h-14 w-5 items-center justify-center rounded-r-xl bg-primary-800/80 text-white shadow-md backdrop-blur-sm transition-colors hover:bg-primary-700/90 dark:bg-primary-200/80 dark:text-primary-900 dark:hover:bg-primary-300/90",style:{top:`calc(50% + ${f/2}px)`,transform:"translateY(-50%)"},onClick:()=>U(true),"aria-label":"Open navigation",children:jsx(ChevronRight,{className:"h-3.5 w-3.5"})}),document.body)]}):jsx("nav",{className:n("flex flex-col gap-0.5",N==="mini"&&"items-center",m),...k,children:G})}function zi({href:e,className:t,onClick:r,children:a}){return jsx("a",{href:e,className:t,onClick:r,children:a})}function En({brand:e,onBrandClick:t,navItems:r=[],actions:a=[],linkComponent:s=zi,height:o="h-12",mobileMenu:l=false,navMenuIcon:p,actionsMenuIcon:x,className:u,children:c}){let w=l&&r.length>0,b=l&&a.length>0,m="md:hidden rounded-md px-1.5 py-1.5 text-primary-500 dark:text-primary-400 hover:text-primary-700 dark:hover:text-primary-200 [&_svg]:h-5 [&_svg]:w-5",v=g=>g?"text-primary-900 font-medium dark:text-primary-100":"text-primary-500 hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-200 transition-colors",d="rounded-md p-1.5 text-primary-500 hover:bg-primary-100 hover:text-primary-700 dark:text-primary-400 dark:hover:bg-primary-800 dark:hover:text-primary-200 transition-colors [&_svg]:h-5 [&_svg]:w-5",f=r.map((g,L)=>({key:typeof g.label=="string"?g.label:String(L),label:g.active?jsx("span",{className:"font-semibold text-primary-900 dark:text-primary-100",children:g.label}):g.label,onClick:()=>{g.onClick?g.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):g.href&&(window.location.href=g.href);}})),k=a.map((g,L)=>({key:g.key??String(L),label:jsxs("span",{className:"flex items-center gap-2 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",children:[g.icon,jsx("span",{children:g.ariaLabel})]}),onClick:()=>{g.onClick?g.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):g.href&&(g.external?window.open(g.href,"_blank","noopener,noreferrer"):window.location.href=g.href);}}));return jsxs("header",{className:n("flex shrink-0 items-center justify-between border-b px-5","border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",o,u),children:[jsxs("div",{className:"flex items-center gap-2 md:gap-6",children:[e&&jsx("div",{className:n("text-lg font-bold text-primary-800 dark:text-primary-100",t&&"cursor-pointer"),onClick:t,role:t?"button":void 0,tabIndex:t?0:void 0,onKeyDown:t?g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),t(g));}:void 0,children:e}),w&&jsx(ft,{intent:"ghost",size:"sm",className:m,label:p??jsx(PanelLeft,{className:"h-5 w-5"}),items:f,align:"left",chevron:false,"aria-label":"Open navigation"}),r.length>0&&jsx("nav",{className:n("flex items-center gap-4 text-sm",l?"hidden md:flex":"flex"),children:r.map((g,L)=>{let N=typeof g.label=="string"?g.label:L,T=v(g.active);return g.href?jsx(s,{href:g.href,className:T,onClick:g.onClick,children:g.label},N):jsx("button",{type:"button",className:n(T,"cursor-pointer"),onClick:g.onClick,children:g.label},N)})})]}),c&&jsx("div",{className:"flex items-center",children:c}),jsxs("div",{className:"flex items-center gap-1",children:[a.length>0&&jsx("div",{className:n("flex items-center gap-1",l?"hidden md:flex":"flex"),children:a.map((g,L)=>g.href?jsx("a",{href:g.href,target:g.external?"_blank":void 0,rel:g.external?"noopener noreferrer":void 0,className:d,"aria-label":g.ariaLabel,onClick:g.onClick,children:g.icon},g.key??L):jsx("button",{type:"button",className:d,"aria-label":g.ariaLabel,onClick:g.onClick,children:g.icon},g.key??L))}),b&&jsx(ft,{intent:"ghost",size:"sm",className:m,label:x??jsx(MoreHorizontal,{className:"h-5 w-5"}),items:k,align:"right",chevron:false,"aria-label":"Open menu"})]})]})}var yr=cva("inline-flex items-center gap-1 underline-offset-2 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/20 [&_svg]:shrink-0",{variants:{intent:{default:"text-primary-600 hover:text-primary-800 active:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:active:text-primary-100",secondary:"text-secondary-500 hover:text-secondary-700 active:text-secondary-800 dark:text-secondary-400 dark:hover:text-secondary-200 dark:active:text-secondary-100",muted:"text-primary-400 hover:text-primary-600 dark:text-primary-500 dark:hover:text-primary-300"},size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},underline:{always:"underline",hover:"hover:underline",none:"no-underline"}},defaultVariants:{intent:"default",size:"md",underline:"none"}});function Bi(e,t){return !!(t==="_blank"||e&&/^https?:\/\//.test(e))}var Ki=e=>jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":true,...e,children:[jsx("path",{d:"M15 3h6v6"}),jsx("path",{d:"M10 14 21 3"}),jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]});function Sn({intent:e,size:t,underline:r,external:a,className:s,children:o,href:l,target:p,rel:x,...u}){let c=a??Bi(l,p);return jsxs("a",{href:l,target:c&&!p?"_blank":p,rel:c&&!x?"noopener noreferrer":x,className:n(yr({intent:e,size:t,underline:r}),s),...u,children:[o,c&&jsx(Ki,{})]})}var $i={SideNav:Ln,Header:En,NavLink:Sn},Vn=$i;var vr=cva("flex w-full items-center justify-between font-medium transition-all [&_svg]:shrink-0",{variants:{size:{sm:"py-2 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"py-3 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"py-4 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{size:"md"}}),wr=cva("",{variants:{size:{sm:"pb-2 text-xs",md:"pb-3 text-sm",lg:"pb-4 text-base"}},defaultVariants:{size:"md"}}),kr=cva("divide-y",{variants:{intent:{default:"divide-primary-300 dark:divide-primary-700",bordered:"divide-primary-300 rounded-lg border border-primary-300 bg-white px-3 shadow-sm dark:divide-primary-700 dark:border-primary-700 dark:bg-primary-800/50",ghost:"divide-transparent"}},defaultVariants:{intent:"default"}}),Nr=cva("flex",{variants:{intent:{line:"border-b border-primary-200 dark:border-primary-700",pills:"gap-1 rounded-lg bg-primary-100 p-1 dark:bg-primary-800",underline:"gap-4"}},defaultVariants:{intent:"line"}}),Cr=cva("inline-flex cursor-pointer items-center justify-center gap-1.5 whitespace-nowrap px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",{variants:{intent:{line:"text-primary-500 hover:text-primary-700 data-[active=true]:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:data-[active=true]:text-primary-100",pills:"rounded-md text-primary-600 hover:text-primary-900 data-[active=true]:bg-white data-[active=true]:text-primary-900 data-[active=true]:shadow-sm dark:text-primary-400 dark:hover:text-primary-100 dark:data-[active=true]:bg-primary-700 dark:data-[active=true]:text-primary-100",underline:"text-primary-500 hover:text-primary-700 data-[active=true]:text-primary-900 dark:text-primary-400 dark:data-[active=true]:text-primary-100"}},defaultVariants:{intent:"line"}});var Tr=createContext(null),Dn=createContext(null);function In({type:e="single",defaultValue:t=[],value:r,onValueChange:a,intent:s,size:o,className:l,children:p,...x}){let[u,c]=useState(t),w=r??u,b=useCallback(m=>{let v=d=>d.includes(m)?d.filter(f=>f!==m):e==="single"?[m]:[...d,m];a?a(v(w)):c(v);},[e,w,a]);return jsx(Tr.Provider,{value:{expandedItems:w,toggleItem:b,size:o},children:jsx("div",{className:n(kr({intent:s}),l),...x,children:p})})}function Ui({value:e,className:t,children:r,...a}){let o=useContext(Tr)?.expandedItems.includes(e)??false;return jsx(Dn.Provider,{value:{value:e,isExpanded:o},children:jsx("div",{className:n("",t),...a,children:r})})}function qi({className:e,children:t,...r}){let a=useContext(Tr),s=useContext(Dn);return jsxs("button",{className:n("text-primary-800 hover:text-primary-600 dark:text-primary-100 dark:hover:text-primary-300 cursor-pointer gap-2 font-medium transition-colors",vr({size:a?.size}),e),onClick:()=>s&&a?.toggleItem(s.value),"aria-expanded":s?.isExpanded?"true":"false",...r,children:[jsx("span",{className:"flex items-center gap-1.5 [&_svg]:shrink-0",children:t}),jsx(ChevronDown,{className:n("shrink-0 transition-transform duration-200",s?.isExpanded&&"rotate-180")})]})}function Wi({className:e,children:t,...r}){let a=useContext(Tr),s=useContext(Dn);return jsx("div",{className:n("grid transition-[grid-template-rows] duration-200 ease-out",s?.isExpanded?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:jsx("div",{className:"overflow-hidden",children:jsx("div",{className:n("text-primary-500 dark:text-primary-400",wr({size:a?.size}),e),...r,children:t})})})}var $t=createContext(null),ao=createContext(false);function An({defaultValue:e="",value:t,onValueChange:r,intent:a,children:s,className:o}){let[l,p]=useState(e),x=t??l,u=useRef(new Map),c=useCallback(b=>{r?r(b):p(b);},[r]),w=useCallback((b,m)=>{m?u.current.set(b,m):u.current.delete(b);},[]);return jsx($t.Provider,{value:{activeValue:x,setActiveValue:c,intent:a,registerTrigger:w},children:jsx("div",{className:o,children:s})})}function Ji({className:e,scrollable:t,...r}){let a=useContext($t),s=useRef(null),[o,l]=useState(null),p=useCallback(()=>{if(!a||!s.current)return;let w=s.current.querySelectorAll('[role="tab"][data-active="true"]')[0];if(!w){l(null);return}let b=s.current.getBoundingClientRect(),m=w.getBoundingClientRect();l({left:m.left-b.left,width:m.width});},[a]);useLayoutEffect(p,[a?.activeValue,p]),useEffect(()=>{let c=new ResizeObserver(p);return s.current&&c.observe(s.current),()=>c.disconnect()},[p]);let x=a?.intent??"line",u=o&&(x==="line"||x==="underline");return jsxs("div",{ref:s,className:n(Nr({intent:a?.intent}),"relative",t&&"overflow-x-auto",e),role:"tablist",...r,children:[r.children,u&&jsx("span",{className:"absolute bottom-0 h-0.5 rounded-full bg-primary-600 dark:bg-primary-400 transition-all duration-300 ease-in-out",style:{left:o.left,width:o.width},"aria-hidden":true})]})}function el({value:e,className:t,children:r,...a}){let s=useContext($t),o=s?.activeValue===e,l=useCallback(p=>s?.registerTrigger(e,p),[s,e]);return jsx("button",{ref:l,className:n(Cr({intent:s?.intent}),t),role:"tab","data-active":o,"aria-selected":o,onClick:()=>s?.setActiveValue(e),...a,children:r})}function tl({className:e,children:t,...r}){let a=useContext($t);if(!a)return null;let s=zt.Children.toArray(t).filter(l=>zt.isValidElement(l)),o=Math.max(0,s.findIndex(l=>l.props.value===a.activeValue));return jsx("div",{className:n("overflow-hidden",e),...r,children:jsx(ao.Provider,{value:true,children:jsx("div",{className:"flex transition-transform duration-300 ease-in-out",style:{transform:`translateX(-${o*100}%)`},children:s.map((l,p)=>jsx("div",{className:"w-full shrink-0","aria-hidden":p!==o,children:l},l.props.value??p))})})})}function rl({value:e,className:t,children:r,...a}){let s=useContext($t);return useContext(ao)?jsx("div",{className:n("pt-4",t),role:"tabpanel",...a,children:r}):s?.activeValue!==e?null:jsx("div",{className:n("pt-4",t),role:"tabpanel",...a,children:r})}var al={Accordion:In,Tabs:An},Hn=al;var jt=cva("rounded-lg bg-white p-6 shadow-xl dark:bg-primary-900",{variants:{size:{sm:"w-full max-w-sm",md:"w-full max-w-lg",lg:"w-full max-w-2xl",xl:"w-full max-w-4xl",full:"h-[calc(100vh-4rem)] w-[calc(100vw-4rem)]"}},defaultVariants:{size:"md"}}),Pr=cva("absolute z-50 rounded px-2 py-1 text-xs shadow-md animate-fade-in",{variants:{intent:{default:"bg-primary-900 text-white dark:bg-primary-100 dark:text-primary-900",light:"border border-primary-200 bg-white text-primary-700 dark:border-primary-600 dark:bg-primary-800 dark:text-primary-200"}},defaultVariants:{intent:"default"}});var qe=[];function cl(e){qe.push(e);}function dl(e){let t=qe.indexOf(e);t!==-1&&qe.splice(t,1);}function _n(e){return qe.length>0&&qe[qe.length-1]===e}function pl(e){let t=qe.indexOf(e);return t!==-1?t:qe.length}var zn=createContext(null);function Gt({open:e,onOpenChange:t,modal:r=true,closeOnOutsideClick:a=false,children:s}){let o=useId();return useEffect(()=>{if(e)return cl(o),()=>dl(o)},[e,o]),useEffect(()=>{if(!e||!r)return;let l=p=>{p.key==="Escape"&&_n(o)&&t(false);};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[e,r,t,o]),useEffect(()=>{if(!e||!r)return;let l=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=l;}},[e,r]),e?jsx(zn.Provider,{value:{id:o,onOpenChange:t,modal:r,closeOnOutsideClick:a},children:createPortal(s,document.body)}):null}function On({size:e,position:t="center",className:r,children:a,...s}){let o=useContext(zn);if(!o)return null;let p=200+pl(o.id)*10,x=()=>{o.closeOnOutsideClick&&_n(o.id)&&o.onOpenChange(false);},u=t==="bottom";return o.modal?jsx("div",{className:n("animate-fade-in fixed inset-0 bg-black/50",u?"flex items-end justify-center":"flex items-center justify-center p-4"),style:{zIndex:p},onClick:x,children:jsx("div",{className:n(jt({size:e}),u?"animate-slide-in-bottom w-full rounded-b-none rounded-t-(--dialog-sheet-radius) max-h-[85vh] overflow-y-auto":"animate-scale-in",r),role:"dialog","aria-modal":"true",onClick:c=>c.stopPropagation(),...s,children:a})}):jsx("div",{className:n("fixed inset-0 flex items-center justify-center p-4",o.closeOnOutsideClick?"pointer-events-auto":"pointer-events-none"),style:{zIndex:p},onClick:o.closeOnOutsideClick&&_n(o.id)?()=>o.onOpenChange(false):void 0,children:jsx("div",{className:n(jt({size:e}),"animate-scale-in pointer-events-auto shadow-2xl",r),role:"dialog",onClick:o.closeOnOutsideClick?c=>c.stopPropagation():void 0,...s,children:a})})}function Bn({className:e,...t}){return jsx("div",{className:n("mb-4 space-y-1",e),...t})}function Kn({className:e,...t}){return jsx("h2",{className:n("text-primary-900 dark:text-primary-100 flex items-center gap-1.5 text-lg font-semibold [&_svg]:h-5 [&_svg]:w-5 [&_svg]:shrink-0",e),...t})}function $n({className:e,...t}){return jsx("p",{className:n("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function jn({className:e,...t}){return jsx("div",{className:n("mt-6 flex justify-end gap-2",e),...t})}function ml({className:e,...t}){let r=useContext(zn);return jsx("button",{className:n("text-primary-400 hover:text-primary-600 dark:hover:text-primary-200 absolute top-4 right-4 rounded-md p-1 transition-colors",e),onClick:()=>r?.onOpenChange(false),"aria-label":"Close",...t,children:jsx(X,{className:"h-4 w-4"})})}var ul={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"};function Gn({content:e,position:t="top",intent:r,delay:a=200,maxWidth:s,children:o,className:l}){let[p,x]=useState(false),[u,c]=useState();return jsxs("span",{className:"relative inline-flex",onMouseEnter:()=>{let m=setTimeout(()=>x(true),a);c(m);},onMouseLeave:()=>{clearTimeout(u),x(false);},children:[o,p&&jsx("span",{className:n(Pr({intent:r}),ul[t],"pointer-events-none",s?"whitespace-normal":"whitespace-nowrap",l),style:s!==void 0?{maxWidth:s}:void 0,role:"tooltip",children:e})]})}var bl={Dialog:Gt,Tooltip:Gn},Xn=bl;var Mr=cva("relative w-full overflow-hidden rounded-full bg-primary-200 dark:bg-primary-700",{variants:{size:{xs:"h-1",sm:"h-2",md:"h-3",lg:"h-4"},intent:{primary:"[&_.progress-fill]:bg-primary-500",success:"[&_.progress-fill]:bg-success-500",warning:"[&_.progress-fill]:bg-warning-500",danger:"[&_.progress-fill]:bg-danger-500"},edge:{none:"rounded-full",top:"fixed top-0 left-0 right-0 z-50 rounded-none",bottom:"fixed bottom-0 left-0 right-0 z-50 rounded-none"}},defaultVariants:{size:"md",intent:"primary",edge:"none"}}),vt=cva("text-primary-500 dark:text-primary-400",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),Xt=cva("pointer-events-auto flex items-start gap-3 rounded-lg border p-4 shadow-lg transition-all",{variants:{intent:{success:"border-success-200 bg-success-50 text-success-800 dark:border-success-800 dark:bg-success-900/80 dark:text-success-200",warning:"border-warning-200 bg-warning-50 text-warning-800 dark:border-warning-800 dark:bg-warning-900/80 dark:text-warning-200",error:"border-danger-200 bg-danger-50 text-danger-800 dark:border-danger-800 dark:bg-danger-900/80 dark:text-danger-200",info:"border-primary-200 bg-primary-50 text-primary-800 dark:border-primary-800 dark:bg-primary-900/80 dark:text-primary-200"}},defaultVariants:{intent:"info"}});function Zn({intent:e,className:t,children:r,...a}){return jsx("div",{className:n(Xt({intent:e}),t),role:"alert",...a,children:r})}function Rl({className:e,...t}){return jsx("h5",{className:n("flex items-center gap-1.5 font-semibold [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",e),...t})}function Pl({className:e,...t}){return jsx("span",{className:n("mt-0.5 shrink-0 [&_svg]:h-5 [&_svg]:w-5",e),...t})}function Ml({className:e,...t}){return jsx("div",{className:n("flex-1 min-w-0 space-y-1",e),...t})}function Ll({className:e,...t}){return jsx("p",{className:n("text-sm opacity-90",e),...t})}var El=0,it=[],Lr=new Map,qn=new Set;function Sl(){return it}function Wn(){qn.forEach(e=>e());}function Qn(e){let t=Lr.get(e);t&&(clearTimeout(t),Lr.delete(e)),it=it.map(r=>r.id===e?{...r,exiting:true}:r),Wn(),setTimeout(()=>{it=it.filter(r=>r.id!==e),Wn();},200);}function Vl(e){let t=`alert-${++El}`;it=[...it,{...e,id:t}],Wn();let r=e.duration??5e3;if(r>0){let a=setTimeout(()=>{Lr.delete(t),Qn(t);},r);Lr.set(t,a);}return t}var Yn=16;function Dl(e){Yn=e;}var Il={"top-right":"right-4 items-end","top-left":"left-4 items-start","bottom-right":"bottom-4 right-4 items-end","bottom-left":"bottom-4 left-4 items-start","top-center":"left-1/2 -translate-x-1/2 items-center","bottom-center":"bottom-4 left-1/2 -translate-x-1/2 items-center"},Al={"top-right":"animate-slide-in-right","top-left":"animate-slide-in-left","bottom-right":"animate-slide-in-right","bottom-left":"animate-slide-in-left","top-center":"animate-slide-in-top","bottom-center":"animate-slide-in-bottom"},Hl={success:CircleCheck,warning:TriangleAlert,error:CircleX,info:Info};function Fl({alert:e,onClose:t}){let r=e.intent??"info",a=Hl[r],s=e.position??"top-right";return jsxs("div",{className:n(Xt({intent:r}),Al[s],e.exiting&&"opacity-0 transition-opacity duration-200","w-80 max-w-[calc(100vw-2rem)]"),role:"alert",children:[jsx(a,{className:"mt-0.5 h-5 w-5 shrink-0"}),jsxs("div",{className:"flex-1",children:[e.title&&jsx("p",{className:"font-semibold",children:e.title}),jsx("p",{className:n(e.title&&"text-sm opacity-90"),children:e.message})]}),jsx("button",{onClick:t,"aria-label":"Close notification",className:"shrink-0 cursor-pointer opacity-50 transition-opacity hover:opacity-100",children:jsx(X,{className:"h-4 w-4"})})]})}var _l=e=>e.startsWith("top");function zl(){let e=useSyncExternalStore(a=>(qn.add(a),()=>qn.delete(a)),Sl),t=useRef(Yn);if(useEffect(()=>{t.current=Yn;},[]),e.length===0)return null;let r=e.reduce((a,s)=>{let o=s.position??"top-right";return (a[o]??(a[o]=[])).push(s),a},{});return createPortal(jsx(Fragment,{children:Object.entries(r).map(([a,s])=>jsx("div",{style:_l(a)?{top:`${t.current}px`}:void 0,className:n("pointer-events-none fixed z-100 flex flex-col gap-2",Il[a]),children:s.map(o=>jsx(Fl,{alert:o,onClose:()=>Qn(o.id)},o.id))},a))}),document.body)}var lo=false;function Ol(){if(lo)return;lo=true;let e=document.createElement("div");e.id="alert-toast-root",document.body.appendChild(e),createRoot(e).render(jsx(zl,{}));}function Bl(){return useEffect(()=>{Ol();},[]),{addAlert:Vl,removeAlert:Qn}}function ea({value:e=0,size:t,intent:r,edge:a,showLabel:s=false,indeterminate:o=false,animated:l=false,duration:p=500,className:x,...u}){let c=Math.max(0,Math.min(100,e)),[w,b]=useState(0),m=useRef(0);useEffect(()=>{if(!o)return m.current=requestAnimationFrame(()=>{b(c);}),()=>{m.current&&cancelAnimationFrame(m.current);}},[c,o]);let v=s&&!o&&t!=="xs"&&t!=="sm",d=jsx("div",{role:"progressbar","aria-valuenow":o?void 0:c,"aria-valuemin":0,"aria-valuemax":100,className:n(Mr({size:t,intent:r,edge:a}),x),...u,children:o?jsx("div",{className:"progress-fill absolute top-0 h-full rounded-full animate-progress-indeterminate"}):jsx("div",{className:n("progress-fill h-full rounded-full transition-[width] ease-out",l&&"animate-progress-shine"),style:{width:`${w}%`,transitionDuration:`${p}ms`},children:v&&jsxs("span",{className:"flex h-full items-center justify-end pr-2 text-[10px] font-semibold text-white",children:[Math.round(c),"%"]})})});return a==="top"||a==="bottom"?createPortal(d,document.body):d}function Er({size:e}){let t=e==="sm"?20:e==="lg"?40:28;return jsx("svg",{className:"animate-spin-rotate",width:t,height:t,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsx("circle",{className:"animate-spin-dash stroke-current",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round",strokeDasharray:"90 150",strokeDashoffset:"0"})})}function ra({spinning:e=true,tip:t,size:r,className:a,children:s,...o}){return s?jsxs("div",{className:n("relative w-fit",a),...o,children:[jsx("div",{className:n("transition-all duration-200",e&&"pointer-events-none select-none blur-[1px]"),children:s}),e&&jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 rounded-[inherit] bg-primary-50/60 dark:bg-primary-900/60",children:[jsx(Er,{size:r}),t&&jsx("span",{className:n(vt({size:r}),"select-none"),children:t})]})]}):e?jsxs("div",{className:n("inline-flex flex-col items-center gap-2",a),...o,children:[jsx(Er,{size:r}),t&&jsx("span",{className:n(vt({size:r}),"select-none"),children:t})]}):null}var Yl=0,qt=[],ta=new Set;function Zl(){return qt}function go(){ta.forEach(e=>e());}function Ql(e,t){let r=++Yl;return qt=[...qt,{id:r,target:e,tip:t}],go(),()=>Jl(r)}function Jl(e){qt=qt.filter(t=>t.id!==e),go();}function ec(){return Ql}var uo=false;function tc(){if(uo||typeof document>"u")return;uo=true;let e=document.createElement("div");e.id="jac-spin-portal",document.body.appendChild(e),import('react-dom/client').then(({createRoot:t})=>{t(e).render(jsx(oc,{}));});}var Sr=new Map;function rc(e){let t=Sr.get(e);if(t){t.count++;return}let r=getComputedStyle(e),a=e.style.position;r.position==="static"&&(e.style.position="relative"),Sr.set(e,{count:1,original:a});}function nc(e){let t=Sr.get(e);t&&(t.count--,t.count<=0&&(e.style.position=t.original,Sr.delete(e)));}function ac({entry:e}){return useEffect(()=>{let t=e.target;if(!fo(t))return rc(t),()=>nc(t)},[e.target]),fo(e.target)?createPortal(jsxs("div",{className:"fixed inset-0 z-50 flex flex-col items-center justify-center gap-3 bg-primary-900/40 dark:bg-primary-900/60",children:[jsx(Er,{size:"lg"}),e.tip&&jsx("span",{className:"select-none text-sm text-primary-100",children:e.tip})]}),document.body):createPortal(jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 rounded-[inherit] bg-primary-50/60 dark:bg-primary-900/60",children:[jsx(Er,{size:"md"}),e.tip&&jsx("span",{className:n(vt({size:"md"}),"select-none"),children:e.tip})]}),e.target)}function oc(){let e=useSyncExternalStore(t=>(ta.add(t),()=>ta.delete(t)),()=>Zl());return e.length===0?null:jsx(Fragment,{children:e.map(t=>jsx(ac,{entry:t},t.id))})}function fo(e){return e===document.documentElement||e===document.body}typeof document<"u"&&tc();var ic={Alert:Zn,ProgressBar:ea,Spin:ra},na=ic;var ho="#1c1914",vo="#130f0b",Nc="#2e261e",oa="#504638",wt="#6b5d4d",Dr=`url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")`,Cc=[{key:"like",icon:jsx(Heart,{className:"h-5 w-5"}),activeIcon:jsx(Heart,{className:"h-5 w-5",fill:"currentColor"}),label:"Like",toggle:true},{key:"dislike",icon:jsx(ThumbsDown,{className:"h-5 w-5"}),label:"Dislike"},{key:"bookmark",icon:jsx(Bookmark,{className:"h-5 w-5"}),activeIcon:jsx(Bookmark,{className:"h-5 w-5",fill:"currentColor"}),label:"Bookmark",toggle:true},{key:"share",icon:jsx(Share2,{className:"h-5 w-5"}),label:"Share"},{key:"download",icon:jsx(Download,{className:"h-5 w-5"}),label:"Download"}];function sa({photos:e,layout:t="strip",actions:r=Cc,onAction:a,className:s,showGrain:o=true,sheetTitle:l,sheetLabel:p}){let[x,u]=useState(null),[c,w]=useState(new Set),b=useCallback(f=>u(f),[]),m=useCallback(()=>u(null),[]),v=useCallback((f,k)=>{if(r.find(L=>L.key===f)?.toggle){let L=`${k}-${f}`;w(N=>{let T=new Set(N);return T.has(L)?T.delete(L):T.add(L),T});}a?.(f,e[k],k);},[r,a,e]);return jsxs(Fragment,{children:[jsx(t==="strip"?Tc:t==="sheet"?Rc:Pc,{photos:e,onPhotoClick:b,showGrain:o,className:s,sheetTitle:l,sheetLabel:p}),x!==null&&createPortal(jsx(Mc,{photos:e,currentIndex:x,onIndexChange:u,onClose:m,actions:r,activeActions:c,onAction:v,showGrain:o}),document.body)]})}function yo({count:e=30}){return jsx("div",{className:"flex shrink-0 items-center justify-between px-3",style:{height:22,background:ho},children:Array.from({length:e}).map((t,r)=>jsx("div",{className:"rounded-xs",style:{width:12,height:8,background:Nc}},r))})}function Tc({photos:e,onPhotoClick:t,showGrain:r,className:a}){let s=useRef(null);return jsxs("div",{className:n("select-none rounded-lg overflow-hidden",a),style:{background:vo},children:[jsx(yo,{count:Math.max(30,e.length*6)}),jsx("div",{ref:s,className:"flex gap-1 overflow-x-auto scroll-smooth px-1 py-1",style:{background:ho,scrollSnapType:"x mandatory"},children:e.map((o,l)=>jsxs("div",{className:"group relative shrink-0 cursor-pointer",style:{scrollSnapAlign:"center"},onClick:()=>t(l),children:[jsxs("div",{className:"overflow-hidden rounded-xs border",style:{borderColor:oa,width:280,height:187},children:[jsx("img",{src:o.src,alt:o.alt??o.title??"",className:"h-full w-full object-cover transition-transform duration-700 ease-out group-hover:scale-110",draggable:false}),jsx("div",{className:"pointer-events-none absolute inset-0 mix-blend-multiply opacity-0 transition-opacity duration-300 group-hover:opacity-100",style:{background:"rgba(255, 175, 60, 0.06)"}}),r&&jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-[0.06]",style:{backgroundImage:Dr,animation:"film-grain-shift 0.6s steps(5) infinite"}}),jsx("div",{className:"pointer-events-none absolute inset-0 opacity-30 transition-opacity duration-300 group-hover:opacity-50",style:{background:"radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.5) 100%)"}})]}),jsxs("div",{className:"mt-0.5 text-center font-mono text-[9px] tracking-widest",style:{color:wt},children:[String(l+1).padStart(2,"0"),l%2===0?"":"A"]})]},l))}),jsx(yo,{count:Math.max(30,e.length*6)})]})}function Rc({photos:e,onPhotoClick:t,showGrain:r,className:a,sheetTitle:s,sheetLabel:o}){return jsxs("div",{className:n("rounded-lg p-5",a),style:{background:vo},children:[jsxs("div",{className:"mb-4 flex items-center justify-between",children:[jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.25em]",style:{color:wt},children:s??`JAC\xB7Film 35mm \xB7 ${e.length} exposures`}),jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.25em]",style:{color:wt},children:o??"Contact Sheet"})]}),jsx("div",{className:"grid grid-cols-3 gap-2 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6",children:e.map((l,p)=>jsxs("div",{className:"group cursor-pointer",style:{animation:`reveal-up 0.4s ease-out ${p*50}ms both`},onClick:()=>t(p),children:[jsx("div",{className:"mb-0.5 font-mono text-[9px] tracking-wider",style:{color:wt},children:String(p+1).padStart(2,"0")}),jsxs("div",{className:"relative overflow-hidden rounded-[1px] border transition-all duration-300 group-hover:border-amber-600/50 group-hover:shadow-[0_0_20px_rgba(217,171,89,0.15)]",style:{borderColor:oa,aspectRatio:"3/2"},children:[jsx("img",{src:l.src,alt:l.alt??"",className:"h-full w-full object-cover transition-transform duration-500 group-hover:scale-105",draggable:false}),r&&jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.04]",style:{backgroundImage:Dr}}),jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 translate-y-full bg-linear-to-t from-black/70 to-transparent p-2 pt-6 transition-transform duration-300 group-hover:translate-y-0",children:jsx("span",{className:"text-xs font-medium text-white/90",children:l.title})})]})]},p))})]})}function Pc({photos:e,onPhotoClick:t,showGrain:r,className:a}){let[s,o]=useState(false),[l,p]=useState(null),x=Math.min(e.length,8),u=e.slice(0,x),c=b=>{let m=Math.sin(b*137.508+1)*1e4,v=(m%12-6).toFixed(1),d=(m/7%8-4).toFixed(1),f=(m/13%6-3).toFixed(1);return `rotate(${v}deg) translate(${d}px, ${f}px)`},w=(b,m)=>{let v=(m-1)/2,d=((b-v)*7).toFixed(1),f=((b-v)*110).toFixed(0),k=(-Math.abs(b-v)*10+(l===b?-18:0)).toFixed(0);return `translateX(${f}px) translateY(${k}px) rotate(${d}deg)`};return jsxs("div",{className:n("flex flex-col items-center gap-4",a),children:[jsx("div",{className:"relative flex h-85 w-full items-center justify-center",onMouseEnter:()=>o(true),onMouseLeave:()=>{o(false),p(null);},children:u.map((b,m)=>jsx("div",{className:"absolute cursor-pointer rounded-lg shadow-xl transition-all duration-500",style:{transitionTimingFunction:"cubic-bezier(0.34, 1.56, 0.64, 1)",transitionDelay:s?`${m*35}ms`:`${(x-m)*25}ms`,transform:s?w(m,u.length):c(m),zIndex:s?m+1:u.length-m,width:220,height:147},onClick:()=>t(m),onMouseEnter:()=>s&&p(m),onMouseLeave:()=>p(null),children:jsxs("div",{className:"relative h-full w-full overflow-hidden rounded-lg border transition-shadow duration-300",style:{borderColor:s&&l===m?"rgba(217,171,89,0.5)":oa,boxShadow:s&&l===m?"0 25px 50px rgba(0,0,0,0.5), 0 0 30px rgba(217,171,89,0.1)":"0 10px 30px rgba(0,0,0,0.4)"},children:[jsx("img",{src:b.src,alt:b.alt??"",className:"h-full w-full object-cover",draggable:false}),r&&jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.04]",style:{backgroundImage:Dr}}),jsx("div",{className:"pointer-events-none absolute inset-0",style:{background:"radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.35) 100%)"}}),s&&l===m&&jsx("div",{className:"absolute inset-x-0 bottom-0 bg-linear-to-t from-black/80 to-transparent p-3 pt-8",style:{animation:"reveal-up 0.25s ease-out"},children:jsx("span",{className:"text-sm font-medium text-white/90",children:b.title})})]})},m))}),e.length>x&&jsxs("span",{className:"font-mono text-xs",style:{color:wt},children:["+ ",e.length-x," more"]}),jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.3em] transition-opacity duration-300",style:{color:wt,opacity:s?0:.7},children:"Hover to explore"})]})}function Mc({photos:e,currentIndex:t,onIndexChange:r,onClose:a,actions:s,activeActions:o,onAction:l,showGrain:p}){let x=e[t],[u,c]=useState(1),[w,b]=useState({x:0,y:0}),[m,v]=useState(false),[d,f]=useState(false),k=useRef(false),g=useRef({x:0,y:0}),L=useRef(null);useLayoutEffect(()=>{requestAnimationFrame(()=>f(true));},[]),useEffect(()=>{let y=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=y;}},[]),useEffect(()=>{let y=K=>{switch(K.key){case "Escape":a();break;case "ArrowLeft":N(-1);break;case "ArrowRight":N(1);break;case "i":case "I":v(W=>!W);break}};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)}),useEffect(()=>{let y=L.current;if(!y)return;let K=W=>{W.preventDefault();let ae=W.deltaY<0?1.12:.89;c(U=>{let pe=Math.min(8,Math.max(1,U*ae));return pe<=1&&b({x:0,y:0}),pe});};return y.addEventListener("wheel",K,{passive:false}),()=>y.removeEventListener("wheel",K)},[]);let N=useCallback(y=>{let K=t+y;K>=0&&K<e.length&&(r(K),c(1),b({x:0,y:0}));},[t,e.length,r]),T=useCallback(y=>{u<=1||(k.current=true,g.current={x:y.clientX,y:y.clientY},y.target.setPointerCapture(y.pointerId));},[u]),$=useCallback(y=>{if(!k.current)return;let K=y.clientX-g.current.x,W=y.clientY-g.current.y;g.current={x:y.clientX,y:y.clientY},b(ae=>({x:ae.x+K/u,y:ae.y+W/u}));},[u]),C=useCallback(()=>{k.current=false;},[]),P=useCallback(()=>{u>1?(c(1),b({x:0,y:0})):c(2.5);},[u]),A=y=>o.has(`${t}-${y}`),V=x.metadata;return jsxs("div",{className:"fixed inset-0 z-200 flex flex-col",style:{animation:"lightbox-backdrop-in 0.35s ease-out"},children:[jsx("div",{className:"absolute inset-0 bg-black/95",onClick:a}),p&&jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.025]",style:{backgroundImage:Dr,animation:"film-grain-shift 0.6s steps(5) infinite"}}),jsxs("div",{className:"relative z-10 flex h-12 shrink-0 items-center justify-between px-4",children:[jsxs("span",{className:"font-mono text-sm text-white/50",children:[t+1," / ",e.length]}),jsxs("div",{className:"flex items-center gap-1",children:[jsxs("span",{className:"mr-2 font-mono text-xs text-white/40",children:[u.toFixed(1),"x"]}),jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:()=>c(y=>Math.min(8,y*1.3)),title:"Zoom in",children:jsx(ZoomIn,{className:"h-4 w-4"})}),jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:()=>{c(y=>{let K=Math.max(1,y*.7);return K<=1&&b({x:0,y:0}),K});},title:"Zoom out",children:jsx(ZoomOut,{className:"h-4 w-4"})}),jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:a,title:"Close",children:jsx(X,{className:"h-5 w-5"})})]})]}),jsxs("div",{ref:L,className:"relative flex flex-1 items-center justify-center overflow-hidden",style:{cursor:u>1?"grab":"default"},onPointerDown:T,onPointerMove:$,onPointerUp:C,onDoubleClick:P,children:[jsx("img",{src:x.src,alt:x.alt??x.title??"",className:"max-h-full max-w-full select-none object-contain",style:{animation:"lightbox-photo-in 0.35s cubic-bezier(0.16, 1, 0.3, 1)",transform:`scale(${u}) translate(${w.x}px, ${w.y}px)`,transition:k.current?"none":"transform 0.15s ease-out"},draggable:false},t),t>0&&jsx("button",{className:"absolute left-3 top-1/2 -translate-y-1/2 rounded-full bg-black/40 p-2.5 text-white/70 backdrop-blur-sm transition-all hover:bg-black/60 hover:text-white",onClick:y=>{y.stopPropagation(),N(-1);},children:jsx(ChevronLeft,{className:"h-6 w-6"})}),t<e.length-1&&jsx("button",{className:"absolute right-3 top-1/2 -translate-y-1/2 rounded-full bg-black/40 p-2.5 text-white/70 backdrop-blur-sm transition-all hover:bg-black/60 hover:text-white",onClick:y=>{y.stopPropagation(),N(1);},children:jsx(ChevronRight,{className:"h-6 w-6"})})]}),jsx("div",{className:n("absolute inset-x-0 bottom-0 z-20 transition-all duration-400",m?"translate-y-0 opacity-100":"pointer-events-none translate-y-full opacity-0"),children:jsxs("div",{className:"bg-linear-to-t from-black/90 via-black/75 to-transparent px-6 pb-24 pt-16",children:[x.title&&jsx("h3",{className:"mb-3 text-xl font-semibold text-white",children:x.title}),x.description&&jsx("p",{className:"mb-4 max-w-xl border-l-2 border-amber-500/40 pl-4 text-sm leading-relaxed text-white/60 italic",style:{animation:"reveal-up 0.4s ease-out 0.1s both"},children:x.description}),V&&jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-white/70",children:[V.camera&&jsxs("span",{className:"flex items-center gap-1.5",children:[jsx(Camera,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",V.camera,V.lens&&jsx("span",{className:"text-white/40",children:"\xB7"}),V.lens&&V.lens]}),(V.aperture||V.shutter||V.iso)&&jsxs("span",{className:"flex items-center gap-1.5",children:[jsx(Aperture,{className:"h-3.5 w-3.5 text-amber-400/80"}),[V.aperture,V.shutter,V.iso&&`ISO ${V.iso}`].filter(Boolean).join(" \xB7 ")]}),V.date&&jsxs("span",{className:"flex items-center gap-1.5",children:[jsx(Calendar,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",V.date]}),V.location&&jsxs("span",{className:"flex items-center gap-1.5",children:[jsx(MapPin,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",V.location]})]})]})}),jsx("div",{className:"relative z-20 flex h-16 shrink-0 items-center justify-center gap-1",children:jsxs("div",{className:"flex items-center gap-0.5 rounded-full bg-white/6 px-2 py-1.5 backdrop-blur-xl",children:[s.map(y=>{let K=y.toggle&&A(y.key);return jsx("button",{className:n("rounded-full p-2.5 transition-all duration-200",K?"text-amber-400 hover:text-amber-300":"text-white/60 hover:bg-white/10 hover:text-white"),onClick:()=>l(y.key,t),title:y.label,children:K&&y.activeIcon?y.activeIcon:y.icon},y.key)}),jsx("div",{className:"mx-1 h-5 w-px bg-white/10"}),jsx("button",{className:n("rounded-full p-2.5 transition-all duration-200",m?"text-amber-400 hover:text-amber-300":"text-white/60 hover:bg-white/10 hover:text-white"),onClick:()=>v(y=>!y),title:"Photo info (I)",children:jsx(Info,{className:"h-5 w-5"})})]})})]})}var ia="data:image/svg+xml,"+encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200">
3
3
  <rect width="200" height="200" fill="#1e1b2e"/>
4
4
  <circle cx="100" cy="100" r="60" fill="none" stroke="#6366f1" stroke-width="1.5" opacity="0.3"/>
5
5
  <circle cx="100" cy="100" r="20" fill="none" stroke="#6366f1" stroke-width="1" opacity="0.4"/>
6
6
  <text x="100" y="108" text-anchor="middle" font-family="monospace" font-size="18" fill="#6366f1" opacity="0.6">\u266A</text>
7
- </svg>`);function ko(e){if(!isFinite(e)||e<0)return "0:00";let t=Math.floor(e/60),r=Math.floor(e%60);return `${t}:${r.toString().padStart(2,"0")}`}function Oc(e){return e.startsWith("bottom")?"bottom":e.startsWith("top")?"top":"right"}var Bc={"bottom-right":"bottom-4 right-4","bottom-left":"bottom-4 left-4","top-right":"top-4 right-4","top-left":"top-4 left-4"},Kc={"bottom-right":"bottom-4 right-0","bottom-left":"bottom-4 left-0","top-right":"top-4 right-0","top-left":"top-4 left-0"},$c={"bottom-right":"bottom-8 right-0 w-1.5 h-16 rounded-l-full","bottom-left":"bottom-8 left-0 w-1.5 h-16 rounded-r-full","top-right":"top-8 right-0 w-1.5 h-16 rounded-l-full","top-left":"top-8 left-0 w-1.5 h-16 rounded-r-full"};function ia({playlist:e,initialTrack:t=0,position:r="bottom-right",entrance:a,theme:s,docked:o=false,visible:l,onVisibleChange:p,onTrackChange:x,onLike:u,autoPlay:c=true,shuffle:w=false,loop:b=false,accent:m="#8b5cf6",className:v}){let [d,f]=useState(t),[k,g]=useState(false),[E,N]=useState(0),[T,B]=useState(0),[C,P]=useState(.8),[A,V]=useState(false),[y,O]=useState(new Set),[X$1,J]=useState(false),[q,ce]=useState(l??!o),[K,ne]=useState(false),[R,G]=useState(false),[H,M]=useState(w),[W,U]=useState(b),de=useRef(false),$=useRef(null),fe=useRef(null),oe=useRef(void 0),ae=l??q,Ee=a??Oc(r),ie=e[d],Z=o,Ke=s==="dark"?"dark":s==="light"?"light":"",He="bg-(--mp-bg)",be="text-(--mp-text)",Y="text-(--mp-text-muted)",Q="text-(--accent)",Je="border-(--mp-border)";useEffect(()=>{let i=$.current;i&&(i.src=ie.src,i.load(),k&&i.play().catch(()=>{}));},[d,ie.src]),useEffect(()=>{if(!c||de.current)return;let i=$.current;if(!i)return;let L=()=>{de.current=true,g(true),i.play().catch(()=>{});};return i.addEventListener("canplaythrough",L,{once:true}),()=>i.removeEventListener("canplaythrough",L)},[c]),useEffect(()=>{let i=$.current;i&&(k?i.play().catch(()=>{}):i.pause());},[k]),useEffect(()=>{let i=$.current;i&&(i.volume=A?0:C);},[C,A]),useEffect(()=>{let i=$.current;if(!i)return;let L=()=>N(i.currentTime),j=()=>B(i.duration),ee=()=>{W?(i.currentTime=0,i.play().catch(()=>{})):$e();};return i.addEventListener("timeupdate",L),i.addEventListener("loadedmetadata",j),i.addEventListener("ended",ee),()=>{i.removeEventListener("timeupdate",L),i.removeEventListener("loadedmetadata",j),i.removeEventListener("ended",ee);}},[d,e.length]);let Pe=useCallback(i=>{let L=(i%e.length+e.length)%e.length;f(L),N(0),x?.(L,e[L]),ae||(ce(true),p?.(true));},[e,ae,x,p]),$e=useCallback(()=>{if(H){let i;do i=Math.floor(Math.random()*e.length);while(i===d&&e.length>1);Pe(i);}else Pe(d+1);},[Pe,d,H,e.length]),xe=useCallback(()=>{if(H){let i;do i=Math.floor(Math.random()*e.length);while(i===d&&e.length>1);Pe(i);}else Pe(d-1);},[Pe,d,H,e.length]),Fe=useCallback(()=>{let i=y.has(d);O(L=>{let j=new Set(L);return i?j.delete(d):j.add(d),j}),u?.(d,ie,!i);},[d,y,u,ie]),Pt=useCallback(i=>{let L=i.currentTarget.getBoundingClientRect(),ee=Math.max(0,Math.min(1,(i.clientX-L.left)/L.width))*T;$.current&&($.current.currentTime=ee),N(ee);},[T]),je=useCallback(()=>{ne(true);let i=Z?200:400;oe.current=setTimeout(()=>{ne(false),ce(false),p?.(false);},i);},[Z,p]);useEffect(()=>()=>{oe.current&&clearTimeout(oe.current);},[]);let h=R?"fade-in 0.2s ease-out both":`mp-enter-${Ee} 0.45s cubic-bezier(0.16, 1, 0.3, 1) both`,_=R?"fade-in 0.2s ease-in reverse both":`mp-exit-${Ee} 0.4s cubic-bezier(0.7, 0, 0.84, 0) both`,se=T>0?E/T*100:0;return Z&&!ae&&!K?jsxs(Fragment,{children:[jsx("audio",{ref:$,preload:"metadata"}),jsxs("div",{className:n("fixed z-100 cursor-pointer transition-all duration-300",$c[r]),style:{"--accent":m},onMouseEnter:()=>{G(true),ce(true),p?.(true);},children:[jsx("div",{className:n("h-full w-full rounded-full",k?"bg-(--accent)":"bg-(--mp-dock-strip)"),style:k?{animation:"mp-progress-glow 2s ease-in-out infinite",boxShadow:"0 0 12px color-mix(in srgb, var(--accent) 50%, transparent)"}:void 0}),k&&jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/30",style:{animation:"mp-pulse-ring 2s ease-out infinite"}})]})]}):!ae&&!K?jsx("audio",{ref:$,preload:"metadata"}):jsxs(Fragment,{children:[jsx("audio",{ref:$,preload:"metadata"}),jsx("div",{className:n("fixed z-100",Z?Kc[r]:Bc[r],Ke),style:{"--accent":m,...K?{animation:_}:{animation:h}},onMouseEnter:()=>{Z&&(oe.current&&(clearTimeout(oe.current),oe.current=void 0),K&&ne(false),G(true));},onMouseLeave:()=>{Z&&(G(false),je());},children:jsxs("div",{className:n("w-[320px] overflow-hidden rounded-2xl border shadow-2xl backdrop-blur-xl",He,Je,Z&&"rounded-none",r.endsWith("right")&&Z&&"rounded-l-2xl",r.endsWith("left")&&Z&&"rounded-r-2xl",v),children:[jsxs("div",{className:"relative",children:[jsx("div",{className:"absolute inset-0 overflow-hidden",children:jsx("img",{src:ie.cover||sa,alt:"",className:"h-full w-full scale-110 object-cover opacity-30 blur-2xl",draggable:false})}),jsxs("div",{className:"relative flex items-center gap-3.5 p-4 pb-3",children:[jsxs("div",{className:"relative h-14 w-14 shrink-0",children:[jsxs("div",{className:"h-14 w-14 overflow-hidden rounded-full border-2 border-white/10 shadow-lg",style:k?{animation:"mp-vinyl-spin 4s linear infinite"}:void 0,children:[jsx("img",{src:ie.cover||sa,alt:ie.album??ie.title,className:"h-full w-full object-cover",draggable:false}),jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:jsx("div",{className:"h-3 w-3 rounded-full bg-black/60 ring-1 ring-white/10"})})]}),k&&jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/20",style:{animation:"mp-pulse-ring 2.5s ease-out infinite"}})]}),jsxs("div",{className:"min-w-0 flex-1",children:[jsx("div",{className:n("truncate text-sm font-semibold",be),children:ie.title}),ie.artist&&jsx("div",{className:n("truncate text-xs",Y),children:ie.artist}),ie.album&&jsx("div",{className:n("mt-0.5 truncate text-[10px] tracking-wide",Y,"opacity-60"),children:ie.album})]}),jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[jsx("button",{className:n("rounded-full p-1.5 transition-all duration-200",y.has(d)?"text-rose-500 hover:text-rose-400":n(Y,"hover:text-rose-500")),onClick:Fe,title:"Like",children:jsx(Heart,{className:"h-4 w-4",fill:y.has(d)?"currentColor":"none"})}),jsx("button",{className:n("rounded-full p-1.5 transition-colors",Y,"hover:"+be.split(" ")[0]),onClick:()=>J(i=>!i),title:"Playlist",children:jsx(ListMusic,{className:"h-4 w-4"})}),!Z&&jsx("button",{className:n("rounded-full p-1.5 transition-colors",Y,"hover:"+be.split(" ")[0]),onClick:je,title:"Dismiss",children:jsx(X,{className:"h-3.5 w-3.5"})})]})]})]}),jsxs("div",{className:"px-4",children:[jsxs("div",{ref:fe,className:"group relative h-1.5 cursor-pointer rounded-full bg-(--mp-surface)",onClick:Pt,children:[jsx("div",{className:"h-full rounded-full bg-(--accent) transition-[width] duration-150",style:{width:`${se}%`}}),jsx("div",{className:"absolute top-1/2 h-3 w-3 -translate-y-1/2 rounded-full bg-(--accent) opacity-0 shadow-md transition-opacity group-hover:opacity-100",style:{left:`calc(${se}% - 6px)`}})]}),jsxs("div",{className:n("mt-1 flex justify-between text-[10px] font-mono",Y),children:[jsx("span",{children:ko(E)}),jsx("span",{children:ko(T)})]})]}),jsxs("div",{className:"flex items-center justify-center gap-2 px-4 pb-3 pt-1",children:[jsx("button",{className:n("rounded-full p-1.5 transition-colors",H?Q:Y,"hover:text-(--mp-text)"),onClick:()=>M(i=>!i),title:H?"Shuffle On":"Shuffle Off",children:jsx(Shuffle,{className:"h-3.5 w-3.5"})}),jsx("button",{className:n("rounded-full p-1.5 transition-colors",W?Q:Y,"hover:text-(--mp-text)"),onClick:()=>U(i=>!i),title:W?"Loop On":"Loop Off",children:jsx(Repeat1,{className:"h-3.5 w-3.5"})}),jsx("button",{className:n("rounded-full p-2 transition-colors",Y,"hover:text-(--mp-text)"),onClick:xe,title:"Previous",children:jsx(SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsx("button",{className:n("flex h-10 w-10 items-center justify-center rounded-full transition-all duration-200","bg-(--accent) text-white shadow-lg active:scale-95"),style:{boxShadow:"0 6px 20px color-mix(in srgb, var(--accent) 35%, transparent)"},onClick:()=>g(i=>!i),title:k?"Pause":"Play",children:k?jsx(Pause,{className:"h-4.5 w-4.5",fill:"currentColor"}):jsx(Play,{className:"h-4.5 w-4.5 translate-x-px",fill:"currentColor"})}),jsx("button",{className:n("rounded-full p-2 transition-colors",Y,"hover:text-(--mp-text)"),onClick:$e,title:"Next",children:jsx(SkipForward,{className:"h-4 w-4",fill:"currentColor"})}),jsxs("div",{className:"ml-2 flex items-center gap-1.5",children:[jsx("button",{className:n("rounded-full p-1 transition-colors",Y,"hover:text-(--mp-text)"),onClick:()=>V(i=>!i),title:A?"Unmute":"Mute",children:A||C===0?jsx(VolumeX,{className:"h-3.5 w-3.5"}):jsx(Volume2,{className:"h-3.5 w-3.5"})}),jsx("input",{type:"range",min:0,max:1,step:.01,value:A?0:C,onChange:i=>{P(Number(i.target.value)),A&&V(false);},className:"mp-volume-slider h-1 w-14 cursor-pointer appearance-none rounded-full bg-(--mp-surface) accent-(--accent)"})]})]}),jsx("div",{className:n("overflow-hidden transition-all duration-300 ease-in-out",X$1?"max-h-60":"max-h-0"),children:jsx("div",{className:n("border-t px-2 py-2",Je),children:jsx("div",{className:"max-h-52 space-y-0.5 overflow-y-auto",children:e.map((i,L)=>{let j=L===d;return jsxs("button",{className:n("flex w-full items-center gap-2.5 rounded-lg px-2.5 py-2 text-left transition-all duration-200",j?"bg-(--accent)/10 dark:bg-(--accent)/15":"hover:bg-(--mp-surface-hover)"),onClick:()=>{Pe(L),g(true);},children:[jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center",children:j&&k?jsx("div",{className:"flex items-end gap-0.5",children:[1,2,3].map(ee=>jsx("div",{className:"w-0.75 rounded-full bg-(--accent)",style:{height:`${8+ee*4}px`,animation:`mp-eq-bar ${.4+ee*.15}s ease-in-out infinite alternate`}},ee))}):j?jsx(Disc3,{className:n("h-4 w-4",Q)}):jsx("span",{className:n("text-xs font-mono",Y),children:L+1})}),jsx("div",{className:"h-8 w-8 shrink-0 overflow-hidden rounded",children:jsx("img",{src:i.cover||sa,alt:"",className:"h-full w-full object-cover",draggable:false})}),jsxs("div",{className:"min-w-0 flex-1",children:[jsx("div",{className:n("truncate text-xs font-medium",j?Q:be),children:i.title}),i.artist&&jsx("div",{className:n("truncate text-[10px]",Y),children:i.artist})]}),y.has(L)&&jsx(Heart,{className:"h-3 w-3 shrink-0 text-rose-500",fill:"currentColor"})]},L)})})})})]})})]})}function Ar(e){if(!isFinite(e)||e<0)return "0:00";let t=Math.floor(e/3600),r=Math.floor(e%3600/60),a=Math.floor(e%60);return t>0?`${t}:${r.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`:`${r}:${a.toString().padStart(2,"0")}`}var od={title:(e,t)=>e.title.localeCompare(t.title),type:(e,t)=>(e.type??"").localeCompare(t.type??""),duration:(e,t)=>(e.duration??0)-(t.duration??0)};function ca({playlist:e,initialTrack:t=0,autoPlay:r=false,shuffle:a=false,loop:s=false,onTrackChange:o,onPlayChange:l,accent:p="#8b5cf6",className:x}){let[u,c]=useState(t),[w,b]=useState(false),[m,v]=useState(0),[d,f]=useState(0),[k,g]=useState(0),[E,N]=useState(.8),[T,B]=useState(false),[C,P]=useState(a),[A,V]=useState(s),[y,O]=useState(false),[X$1,J]=useState("title"),[q,ce]=useState(true),[K,ne]=useState(false),[R,G]=useState(false),[H,M]=useState(false),[W,U]=useState(true),[de,$]=useState(false),[fe,oe]=useState(null),ae=useRef(null),Ee=useRef(null),ie=useRef(void 0),Qe=useRef(false),Z=e[u],Ke=Ft.useMemo(()=>{let i=e.map((L,j)=>({media:L,originalIndex:j}));return i.sort((L,j)=>{let ee=od[X$1](L.media,j.media);return q?ee:-ee}),i},[e,X$1,q]);useEffect(()=>{let i=ae.current;if(!i)return;$(true),i.src=Z.src,Z.poster&&(i.poster=Z.poster),i.load();let L=()=>{$(false),w&&i.play().catch(()=>{});};return i.addEventListener("loadeddata",L,{once:true}),()=>i.removeEventListener("loadeddata",L)},[u,Z.src]),useEffect(()=>{if(!r||Qe.current)return;let i=ae.current;if(!i)return;let L=()=>{Qe.current=true,b(true),i.play().catch(()=>{});};return i.addEventListener("canplaythrough",L,{once:true}),()=>i.removeEventListener("canplaythrough",L)},[r]),useEffect(()=>{let i=ae.current;i&&(w?i.play().catch(()=>{}):i.pause(),l?.(w));},[w]),useEffect(()=>{let i=ae.current;i&&(i.volume=T?0:E);},[E,T]),useEffect(()=>{let i=ae.current;if(!i)return;let L=()=>v(i.currentTime),j=()=>f(i.duration),ee=()=>{i.buffered.length>0&&g(i.buffered.end(i.buffered.length-1));},_e=()=>{A?(i.currentTime=0,i.play().catch(()=>{})):Y();};return i.addEventListener("timeupdate",L),i.addEventListener("loadedmetadata",j),i.addEventListener("progress",ee),i.addEventListener("ended",_e),()=>{i.removeEventListener("timeupdate",L),i.removeEventListener("loadedmetadata",j),i.removeEventListener("progress",ee),i.removeEventListener("ended",_e);}},[u,e.length,A]);let He=useCallback(()=>{U(true),ie.current&&clearTimeout(ie.current),ie.current=setTimeout(()=>{w&&U(false);},3e3);},[w]);useEffect(()=>{w?He():(U(true),ie.current&&clearTimeout(ie.current));},[w,He]),useEffect(()=>()=>{ie.current&&clearTimeout(ie.current);},[]);let be=useCallback(i=>{let L=(i%e.length+e.length)%e.length;c(L),v(0),b(true),o?.(L,e[L]);},[e,o]),Y=useCallback(()=>{if(C){let i;do i=Math.floor(Math.random()*e.length);while(i===u&&e.length>1);be(i);}else be(u+1);},[be,u,C,e.length]),Q=useCallback(()=>{if(C){let i;do i=Math.floor(Math.random()*e.length);while(i===u&&e.length>1);be(i);}else be(u-1);},[be,u,C,e.length]),Je=useCallback(i=>{let L=i.currentTarget.getBoundingClientRect(),ee=Math.max(0,Math.min(1,(i.clientX-L.left)/L.width))*d;ae.current&&(ae.current.currentTime=ee),v(ee);},[d]),Pe=useCallback(i=>{let L=i.currentTarget.getBoundingClientRect(),j=Math.max(0,Math.min(1,(i.clientX-L.left)/L.width));oe(j*d);},[d]),$e=useCallback(()=>{Ee.current&&(document.fullscreenElement?document.exitFullscreen():Ee.current.requestFullscreen());},[]);useEffect(()=>{let i=()=>M(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",i),()=>document.removeEventListener("fullscreenchange",i)},[]);let xe=useCallback(()=>{K?(G(true),setTimeout(()=>{ne(false),G(false);},500)):ne(true);},[K]),Fe=useCallback(()=>{O(i=>!i);},[]),Pt=useCallback(()=>{let i=["title","type","duration"],L=i.indexOf(X$1);q?ce(false):(ce(true),J(i[(L+1)%i.length]));},[X$1,q]);useEffect(()=>{let i=L=>{if(!(L.target instanceof HTMLInputElement||L.target instanceof HTMLTextAreaElement))switch(L.key){case " ":case "k":L.preventDefault(),b(j=>!j);break;case "f":L.preventDefault(),$e();break;case "t":L.preventDefault(),xe();break;case "ArrowLeft":L.preventDefault(),ae.current&&(ae.current.currentTime=Math.max(0,m-5));break;case "ArrowRight":L.preventDefault(),ae.current&&(ae.current.currentTime=Math.min(d,m+5));break;case "ArrowUp":L.preventDefault(),N(j=>Math.min(1,j+.05));break;case "ArrowDown":L.preventDefault(),N(j=>Math.max(0,j-.05));break;case "Escape":K&&xe();break;case "n":L.preventDefault(),Y();break;case "p":L.preventDefault(),Q();break;case "l":L.preventDefault(),Fe();break}};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[$e,xe,Fe,Y,Q,m,d,K]);let je=d>0?m/d*100:0,h=d>0?k/d*100:0,_="text-(--accent)",se=jsxs("div",{ref:Ee,className:n("group flex overflow-hidden",H?"h-full w-full":"aspect-video w-full",!H&&"rounded-xl",!H&&w&&"shadow-2xl",!H&&!w&&"animate-[cp-glow-pulse_4s_ease-in-out_infinite] will-change-[box-shadow]",x),style:{"--accent":p,background:"var(--cp-bg)"},tabIndex:0,children:[jsxs("div",{className:n("relative flex-1 min-w-0 h-full overflow-hidden",de&&"animate-[cp-track-transition_0.6s_ease-out]"),onMouseMove:He,onMouseLeave:()=>{w&&U(false);},children:[jsx("video",{ref:ae,className:"h-full w-full object-contain",poster:Z.poster,playsInline:true,preload:"metadata",onClick:()=>b(i=>!i)}),!w&&!de&&jsx("div",{className:"absolute inset-0 flex cursor-pointer items-center justify-center",style:{background:"var(--cp-overlay)"},onClick:()=>b(true),children:jsx("div",{className:"flex h-20 w-20 items-center justify-center rounded-full backdrop-blur-md transition-transform hover:scale-110 active:scale-95",style:{background:"var(--cp-surface-hover)"},children:jsx(Play,{className:"h-10 w-10 translate-x-0.5",fill:"currentColor",style:{color:"var(--cp-text-strong)"}})})}),de&&jsx("div",{className:"absolute left-6 top-6 z-20 animate-[fade-in_0.4s_ease-out]",children:jsxs("div",{className:"rounded-lg px-4 py-2 backdrop-blur-md",style:{background:"var(--cp-panel-bg)"},children:[jsx("div",{className:"text-sm font-semibold",style:{color:"var(--cp-text-strong)"},children:Z.title}),Z.subtitle&&jsx("div",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:Z.subtitle})]})}),jsx("div",{className:n("absolute inset-x-0 top-0 z-10 bg-linear-to-b from-black/70 to-transparent px-5 pb-8 pt-4 transition-opacity duration-500",W?"opacity-100":"pointer-events-none opacity-0"),children:jsxs("div",{className:"flex items-center justify-between",children:[jsxs("div",{children:[jsx("h3",{className:"text-sm font-semibold drop-shadow-md",style:{color:"var(--cp-text-strong)"},children:Z.title}),Z.subtitle&&jsx("p",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:Z.subtitle})]}),Z.type&&jsx("span",{className:"rounded-full bg-(--accent)/70 px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider backdrop-blur-sm",style:{color:"var(--cp-text-strong)"},children:Z.type})]})}),jsxs("div",{className:n("absolute inset-x-0 bottom-0 z-10 bg-linear-to-t from-black/80 via-black/40 to-transparent px-4 pb-3 pt-10 transition-all duration-500",W?"translate-y-0 opacity-100":"pointer-events-none translate-y-2 opacity-0"),children:[jsxs("div",{className:"group/seek relative mb-3 h-1 cursor-pointer rounded-full transition-[height] duration-200 hover:h-1.5",style:{background:"var(--cp-seek-track)"},onClick:Je,onMouseMove:Pe,onMouseLeave:()=>oe(null),children:[jsx("div",{className:"absolute inset-y-0 left-0 rounded-full",style:{width:`${h}%`,background:"var(--cp-seek-buffer)"}}),jsx("div",{className:"absolute inset-y-0 left-0 rounded-full bg-(--accent) transition-[width] duration-100",style:{width:`${je}%`}}),fe!==null&&jsx("div",{className:"absolute -top-8 -translate-x-1/2 rounded px-2 py-0.5 text-[10px] font-mono",style:{left:`${fe/d*100}%`,background:"var(--cp-panel-bg)",color:"var(--cp-text-strong)"},children:Ar(fe)}),jsx("div",{className:"absolute top-1/2 h-3.5 w-3.5 -translate-y-1/2 rounded-full border-2 border-(--accent) bg-white opacity-0 shadow-lg transition-opacity group-hover/seek:opacity-100",style:{left:`calc(${je}% - 7px)`}})]}),jsxs("div",{className:"flex items-center gap-1",children:[jsx("button",{className:"cp-btn",onClick:()=>b(i=>!i),title:w?"Pause (k)":"Play (k)",children:w?jsx(Pause,{className:"h-5 w-5",fill:"currentColor"}):jsx(Play,{className:"h-5 w-5 translate-x-px",fill:"currentColor"})}),jsx("button",{className:"cp-btn",onClick:Q,title:"Previous (p)",children:jsx(SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsx("button",{className:"cp-btn",onClick:Y,title:"Next (n)",children:jsx(SkipForward,{className:"h-4 w-4",fill:"currentColor"})}),jsxs("div",{className:"group/vol ml-1 flex items-center",children:[jsx("button",{className:"cp-btn",onClick:()=>B(i=>!i),title:T?"Unmute":"Mute",children:T||E===0?jsx(VolumeX,{className:"h-4 w-4"}):jsx(Volume2,{className:"h-4 w-4"})}),jsx("div",{className:"flex w-0 items-center overflow-hidden transition-all duration-300 group-hover/vol:w-20",children:jsx("input",{type:"range",min:0,max:1,step:.01,value:T?0:E,onChange:i=>{N(Number(i.target.value)),T&&B(false);},className:"h-1 w-full cursor-pointer appearance-none rounded-full accent-(--accent)",style:{background:"var(--cp-seek-track)"}})})]}),jsxs("span",{className:"ml-2 min-w-0 shrink-0 font-mono text-xs",style:{color:"var(--cp-text-muted)"},children:[Ar(m)," / ",Ar(d)]}),jsx("div",{className:"flex-1"}),jsx("button",{className:n("cp-btn",C&&_),onClick:()=>P(i=>!i),title:"Shuffle",children:jsx(Shuffle,{className:"h-4 w-4"})}),jsx("button",{className:n("cp-btn",A&&_),onClick:()=>V(i=>!i),title:"Loop",children:jsx(Repeat1,{className:"h-4 w-4"})}),jsx("button",{className:n("cp-btn",y&&_),onClick:Fe,title:"Playlist",children:jsx(ListVideo,{className:"h-4 w-4"})}),jsx("button",{className:n("cp-btn",K&&_),onClick:xe,title:"Cinema mode (t)",children:jsx(Theater,{className:"h-4 w-4"})}),jsx("button",{className:"cp-btn",onClick:$e,title:"Fullscreen (f)",children:H?jsx(Minimize,{className:"h-4 w-4"}):jsx(Maximize,{className:"h-4 w-4"})})]})]})]}),jsx("div",{className:n("h-full shrink-0 overflow-hidden transition-[width] duration-300 ease-out",y?"w-72":"w-0"),children:jsxs("div",{className:"flex h-full w-72 flex-col backdrop-blur-xl",style:{borderLeft:"1px solid var(--cp-border)",background:"var(--cp-panel-bg)"},children:[jsxs("div",{className:"flex items-center justify-between px-4 py-3",style:{borderBottom:"1px solid var(--cp-border)"},children:[jsx("span",{className:"text-xs font-semibold uppercase tracking-wider",style:{color:"var(--cp-text)"},children:"Playlist"}),jsxs("div",{className:"flex items-center gap-1",children:[jsxs("button",{className:"flex items-center gap-1 rounded px-2 py-1 text-[10px] font-medium transition-colors",style:{color:"var(--cp-text-muted)"},onClick:Pt,title:`Sort: ${X$1} ${q?"\u2191":"\u2193"}`,children:[jsx(ArrowUpDown,{className:"h-3 w-3"}),X$1,q?" \u2191":" \u2193"]}),jsx("button",{className:"cp-btn p-1!",onClick:Fe,title:"Close",children:jsx(X,{className:"h-3.5 w-3.5"})})]})]}),jsx("div",{className:"flex-1 overflow-y-auto",children:Ke.map(({media:i,originalIndex:L})=>{let j=L===u;return jsxs("button",{className:n("flex w-full items-center gap-3 px-4 py-2.5 text-left transition-all duration-200",j?"bg-(--accent)/20 text-(--accent)":"hover:text-(--cp-text-strong)"),style:j?void 0:{color:"var(--cp-text)"},onClick:()=>{be(L);},children:[jsxs("div",{className:"relative h-10 w-16 shrink-0 overflow-hidden rounded",style:{background:"var(--cp-surface)"},children:[i.poster?jsx("img",{src:i.poster,alt:"",className:"h-full w-full object-cover",draggable:false}):jsx("div",{className:"flex h-full w-full items-center justify-center",children:jsx(Play,{className:"h-4 w-4",style:{color:"var(--cp-seek-track)"}})}),j&&w&&jsx("div",{className:"absolute inset-0 flex items-center justify-center",style:{background:"var(--cp-overlay)"},children:jsx("div",{className:"flex items-end gap-px",children:[1,2,3,4].map(ee=>jsx("div",{className:"w-0.5 rounded-full bg-(--accent)",style:{height:`${6+ee*3}px`,animation:`mp-eq-bar ${.3+ee*.12}s ease-in-out infinite alternate`}},ee))})})]}),jsxs("div",{className:"min-w-0 flex-1",children:[jsx("div",{className:"truncate text-xs font-medium",children:i.title}),jsxs("div",{className:"flex items-center gap-2",children:[i.type&&jsx("span",{className:"text-[10px] uppercase tracking-wide opacity-50",children:i.type}),i.duration!=null&&jsx("span",{className:"font-mono text-[10px] opacity-40",children:Ar(i.duration)})]})]}),j&&jsx(ChevronRight,{className:"h-3.5 w-3.5 shrink-0 text-(--accent)"})]},L)})})]})}),jsx("style",{children:`
7
+ </svg>`);function ko(e){if(!isFinite(e)||e<0)return "0:00";let t=Math.floor(e/60),r=Math.floor(e%60);return `${t}:${r.toString().padStart(2,"0")}`}function Bc(e){return e.startsWith("bottom")?"bottom":e.startsWith("top")?"top":"right"}var Kc={"bottom-right":"bottom-4 right-4","bottom-left":"bottom-4 left-4","top-right":"top-4 right-4","top-left":"top-4 left-4"},$c={"bottom-right":"bottom-4 right-0","bottom-left":"bottom-4 left-0","top-right":"top-4 right-0","top-left":"top-4 left-0"},jc={"bottom-right":"bottom-8 right-0 w-1.5 h-16 rounded-l-full","bottom-left":"bottom-8 left-0 w-1.5 h-16 rounded-r-full","top-right":"top-8 right-0 w-1.5 h-16 rounded-l-full","top-left":"top-8 left-0 w-1.5 h-16 rounded-r-full"};function la({playlist:e,initialTrack:t=0,position:r="bottom-right",entrance:a,theme:s,docked:o=false,visible:l,onVisibleChange:p,onTrackChange:x,onLike:u,autoPlay:c=true,shuffle:w=false,loop:b=false,accent:m="#8b5cf6",className:v}){let [d,f]=useState(t),[k,g]=useState(false),[L,N]=useState(0),[T,$]=useState(0),[C,P]=useState(.8),[A,V]=useState(false),[y,K]=useState(new Set),[W,ae]=useState(false),[U,pe]=useState(l??!o),[j,Y]=useState(false),[F,oe]=useState(false),[_,R]=useState(w),[q,G]=useState(b),H=useRef(false),E=useRef(null),se=useRef(null),Q=useRef(void 0),ie=l??U,Ee=a??Bc(r),ce=e[d],J=o,Ke=s==="dark"?"dark":s==="light"?"light":"",He="bg-(--mp-bg)",be="text-(--mp-text)",Z="text-(--mp-text-muted)",ee="text-(--accent)",Je="border-(--mp-border)";useEffect(()=>{let i=E.current;i&&(i.src=ce.src,i.load(),k&&i.play().catch(()=>{}));},[d,ce.src]),useEffect(()=>{if(!c||H.current)return;let i=E.current;if(!i)return;let M=()=>{H.current=true,g(true),i.play().catch(()=>{});};return i.addEventListener("canplaythrough",M,{once:true}),()=>i.removeEventListener("canplaythrough",M)},[c]),useEffect(()=>{let i=E.current;i&&(k?i.play().catch(()=>{}):i.pause());},[k]),useEffect(()=>{let i=E.current;i&&(i.volume=A?0:C);},[C,A]),useEffect(()=>{let i=E.current;if(!i)return;let M=()=>N(i.currentTime),X=()=>$(i.duration),re=()=>{q?(i.currentTime=0,i.play().catch(()=>{})):$e();};return i.addEventListener("timeupdate",M),i.addEventListener("loadedmetadata",X),i.addEventListener("ended",re),()=>{i.removeEventListener("timeupdate",M),i.removeEventListener("loadedmetadata",X),i.removeEventListener("ended",re);}},[d,e.length]);let Pe=useCallback(i=>{let M=(i%e.length+e.length)%e.length;f(M),N(0),x?.(M,e[M]),ie||(pe(true),p?.(true));},[e,ie,x,p]),$e=useCallback(()=>{if(_){let i;do i=Math.floor(Math.random()*e.length);while(i===d&&e.length>1);Pe(i);}else Pe(d+1);},[Pe,d,_,e.length]),xe=useCallback(()=>{if(_){let i;do i=Math.floor(Math.random()*e.length);while(i===d&&e.length>1);Pe(i);}else Pe(d-1);},[Pe,d,_,e.length]),Fe=useCallback(()=>{let i=y.has(d);K(M=>{let X=new Set(M);return i?X.delete(d):X.add(d),X}),u?.(d,ce,!i);},[d,y,u,ce]),Lt=useCallback(i=>{let M=i.currentTarget.getBoundingClientRect(),re=Math.max(0,Math.min(1,(i.clientX-M.left)/M.width))*T;E.current&&(E.current.currentTime=re),N(re);},[T]),je=useCallback(()=>{Y(true);let i=J?200:400;Q.current=setTimeout(()=>{Y(false),pe(false),p?.(false);},i);},[J,p]);useEffect(()=>()=>{Q.current&&clearTimeout(Q.current);},[]);let h=F?"fade-in 0.2s ease-out both":`mp-enter-${Ee} 0.45s cubic-bezier(0.16, 1, 0.3, 1) both`,O=F?"fade-in 0.2s ease-in reverse both":`mp-exit-${Ee} 0.4s cubic-bezier(0.7, 0, 0.84, 0) both`,le=T>0?L/T*100:0;return J&&!ie&&!j?jsxs(Fragment,{children:[jsx("audio",{ref:E,preload:"metadata"}),jsxs("div",{className:n("fixed z-100 cursor-pointer transition-all duration-300",jc[r]),style:{"--accent":m},onMouseEnter:()=>{oe(true),pe(true),p?.(true);},children:[jsx("div",{className:n("h-full w-full rounded-full",k?"bg-(--accent)":"bg-(--mp-dock-strip)"),style:k?{animation:"mp-progress-glow 2s ease-in-out infinite",boxShadow:"0 0 12px color-mix(in srgb, var(--accent) 50%, transparent)"}:void 0}),k&&jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/30",style:{animation:"mp-pulse-ring 2s ease-out infinite"}})]})]}):!ie&&!j?jsx("audio",{ref:E,preload:"metadata"}):jsxs(Fragment,{children:[jsx("audio",{ref:E,preload:"metadata"}),jsx("div",{className:n("fixed z-100",J?$c[r]:Kc[r],Ke),style:{"--accent":m,...j?{animation:O}:{animation:h}},onMouseEnter:()=>{J&&(Q.current&&(clearTimeout(Q.current),Q.current=void 0),j&&Y(false),oe(true));},onMouseLeave:()=>{J&&(oe(false),je());},children:jsxs("div",{className:n("w-[320px] overflow-hidden rounded-2xl border shadow-2xl backdrop-blur-xl",He,Je,J&&"rounded-none",r.endsWith("right")&&J&&"rounded-l-2xl",r.endsWith("left")&&J&&"rounded-r-2xl",v),children:[jsxs("div",{className:"relative",children:[jsx("div",{className:"absolute inset-0 overflow-hidden",children:jsx("img",{src:ce.cover||ia,alt:"",className:"h-full w-full scale-110 object-cover opacity-30 blur-2xl",draggable:false})}),jsxs("div",{className:"relative flex items-center gap-3.5 p-4 pb-3",children:[jsxs("div",{className:"relative h-14 w-14 shrink-0",children:[jsxs("div",{className:"h-14 w-14 overflow-hidden rounded-full border-2 border-white/10 shadow-lg",style:k?{animation:"mp-vinyl-spin 4s linear infinite"}:void 0,children:[jsx("img",{src:ce.cover||ia,alt:ce.album??ce.title,className:"h-full w-full object-cover",draggable:false}),jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:jsx("div",{className:"h-3 w-3 rounded-full bg-black/60 ring-1 ring-white/10"})})]}),k&&jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/20",style:{animation:"mp-pulse-ring 2.5s ease-out infinite"}})]}),jsxs("div",{className:"min-w-0 flex-1",children:[jsx("div",{className:n("truncate text-sm font-semibold",be),children:ce.title}),ce.artist&&jsx("div",{className:n("truncate text-xs",Z),children:ce.artist}),ce.album&&jsx("div",{className:n("mt-0.5 truncate text-[10px] tracking-wide",Z,"opacity-60"),children:ce.album})]}),jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[jsx("button",{className:n("rounded-full p-1.5 transition-all duration-200",y.has(d)?"text-rose-500 hover:text-rose-400":n(Z,"hover:text-rose-500")),onClick:Fe,title:"Like",children:jsx(Heart,{className:"h-4 w-4",fill:y.has(d)?"currentColor":"none"})}),jsx("button",{className:n("rounded-full p-1.5 transition-colors",Z,"hover:"+be.split(" ")[0]),onClick:()=>ae(i=>!i),title:"Playlist",children:jsx(ListMusic,{className:"h-4 w-4"})}),!J&&jsx("button",{className:n("rounded-full p-1.5 transition-colors",Z,"hover:"+be.split(" ")[0]),onClick:je,title:"Dismiss",children:jsx(X,{className:"h-3.5 w-3.5"})})]})]})]}),jsxs("div",{className:"px-4",children:[jsxs("div",{ref:se,className:"group relative h-1.5 cursor-pointer rounded-full bg-(--mp-surface)",onClick:Lt,children:[jsx("div",{className:"h-full rounded-full bg-(--accent) transition-[width] duration-150",style:{width:`${le}%`}}),jsx("div",{className:"absolute top-1/2 h-3 w-3 -translate-y-1/2 rounded-full bg-(--accent) opacity-0 shadow-md transition-opacity group-hover:opacity-100",style:{left:`calc(${le}% - 6px)`}})]}),jsxs("div",{className:n("mt-1 flex justify-between text-[10px] font-mono",Z),children:[jsx("span",{children:ko(L)}),jsx("span",{children:ko(T)})]})]}),jsxs("div",{className:"flex items-center justify-center gap-2 px-4 pb-3 pt-1",children:[jsx("button",{className:n("rounded-full p-1.5 transition-colors",_?ee:Z,"hover:text-(--mp-text)"),onClick:()=>R(i=>!i),title:_?"Shuffle On":"Shuffle Off",children:jsx(Shuffle,{className:"h-3.5 w-3.5"})}),jsx("button",{className:n("rounded-full p-1.5 transition-colors",q?ee:Z,"hover:text-(--mp-text)"),onClick:()=>G(i=>!i),title:q?"Loop On":"Loop Off",children:jsx(Repeat1,{className:"h-3.5 w-3.5"})}),jsx("button",{className:n("rounded-full p-2 transition-colors",Z,"hover:text-(--mp-text)"),onClick:xe,title:"Previous",children:jsx(SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsx("button",{className:n("flex h-10 w-10 items-center justify-center rounded-full transition-all duration-200","bg-(--accent) text-white shadow-lg active:scale-95"),style:{boxShadow:"0 6px 20px color-mix(in srgb, var(--accent) 35%, transparent)"},onClick:()=>g(i=>!i),title:k?"Pause":"Play",children:k?jsx(Pause,{className:"h-4.5 w-4.5",fill:"currentColor"}):jsx(Play,{className:"h-4.5 w-4.5 translate-x-px",fill:"currentColor"})}),jsx("button",{className:n("rounded-full p-2 transition-colors",Z,"hover:text-(--mp-text)"),onClick:$e,title:"Next",children:jsx(SkipForward,{className:"h-4 w-4",fill:"currentColor"})}),jsxs("div",{className:"ml-2 flex items-center gap-1.5",children:[jsx("button",{className:n("rounded-full p-1 transition-colors",Z,"hover:text-(--mp-text)"),onClick:()=>V(i=>!i),title:A?"Unmute":"Mute",children:A||C===0?jsx(VolumeX,{className:"h-3.5 w-3.5"}):jsx(Volume2,{className:"h-3.5 w-3.5"})}),jsx("input",{type:"range",min:0,max:1,step:.01,value:A?0:C,onChange:i=>{P(Number(i.target.value)),A&&V(false);},className:"mp-volume-slider h-1 w-14 cursor-pointer appearance-none rounded-full bg-(--mp-surface) accent-(--accent)"})]})]}),jsx("div",{className:n("overflow-hidden transition-all duration-300 ease-in-out",W?"max-h-60":"max-h-0"),children:jsx("div",{className:n("border-t px-2 py-2",Je),children:jsx("div",{className:"max-h-52 space-y-0.5 overflow-y-auto",children:e.map((i,M)=>{let X=M===d;return jsxs("button",{className:n("flex w-full items-center gap-2.5 rounded-lg px-2.5 py-2 text-left transition-all duration-200",X?"bg-(--accent)/10 dark:bg-(--accent)/15":"hover:bg-(--mp-surface-hover)"),onClick:()=>{Pe(M),g(true);},children:[jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center",children:X&&k?jsx("div",{className:"flex items-end gap-0.5",children:[1,2,3].map(re=>jsx("div",{className:"w-0.75 rounded-full bg-(--accent)",style:{height:`${8+re*4}px`,animation:`mp-eq-bar ${.4+re*.15}s ease-in-out infinite alternate`}},re))}):X?jsx(Disc3,{className:n("h-4 w-4",ee)}):jsx("span",{className:n("text-xs font-mono",Z),children:M+1})}),jsx("div",{className:"h-8 w-8 shrink-0 overflow-hidden rounded",children:jsx("img",{src:i.cover||ia,alt:"",className:"h-full w-full object-cover",draggable:false})}),jsxs("div",{className:"min-w-0 flex-1",children:[jsx("div",{className:n("truncate text-xs font-medium",X?ee:be),children:i.title}),i.artist&&jsx("div",{className:n("truncate text-[10px]",Z),children:i.artist})]}),y.has(M)&&jsx(Heart,{className:"h-3 w-3 shrink-0 text-rose-500",fill:"currentColor"})]},M)})})})})]})})]})}function Hr(e){if(!isFinite(e)||e<0)return "0:00";let t=Math.floor(e/3600),r=Math.floor(e%3600/60),a=Math.floor(e%60);return t>0?`${t}:${r.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`:`${r}:${a.toString().padStart(2,"0")}`}var sd={title:(e,t)=>e.title.localeCompare(t.title),type:(e,t)=>(e.type??"").localeCompare(t.type??""),duration:(e,t)=>(e.duration??0)-(t.duration??0)};function da({playlist:e,initialTrack:t=0,autoPlay:r=false,shuffle:a=false,loop:s=false,onTrackChange:o,onPlayChange:l,accent:p="#8b5cf6",className:x}){let[u,c]=useState(t),[w,b]=useState(false),[m,v]=useState(0),[d,f]=useState(0),[k,g]=useState(0),[L,N]=useState(.8),[T,$]=useState(false),[C,P]=useState(a),[A,V]=useState(s),[y,K]=useState(false),[W,ae]=useState("title"),[U,pe]=useState(true),[j,Y]=useState(false),[F,oe]=useState(false),[_,R]=useState(false),[q,G]=useState(true),[H,E]=useState(false),[se,Q]=useState(null),ie=useRef(null),Ee=useRef(null),ce=useRef(void 0),Qe=useRef(false),J=e[u],Ke=zt.useMemo(()=>{let i=e.map((M,X)=>({media:M,originalIndex:X}));return i.sort((M,X)=>{let re=sd[W](M.media,X.media);return U?re:-re}),i},[e,W,U]);useEffect(()=>{let i=ie.current;if(!i)return;E(true),i.src=J.src,J.poster&&(i.poster=J.poster),i.load();let M=()=>{E(false),w&&i.play().catch(()=>{});};return i.addEventListener("loadeddata",M,{once:true}),()=>i.removeEventListener("loadeddata",M)},[u,J.src]),useEffect(()=>{if(!r||Qe.current)return;let i=ie.current;if(!i)return;let M=()=>{Qe.current=true,b(true),i.play().catch(()=>{});};return i.addEventListener("canplaythrough",M,{once:true}),()=>i.removeEventListener("canplaythrough",M)},[r]),useEffect(()=>{let i=ie.current;i&&(w?i.play().catch(()=>{}):i.pause(),l?.(w));},[w]),useEffect(()=>{let i=ie.current;i&&(i.volume=T?0:L);},[L,T]),useEffect(()=>{let i=ie.current;if(!i)return;let M=()=>v(i.currentTime),X=()=>f(i.duration),re=()=>{i.buffered.length>0&&g(i.buffered.end(i.buffered.length-1));},_e=()=>{A?(i.currentTime=0,i.play().catch(()=>{})):Z();};return i.addEventListener("timeupdate",M),i.addEventListener("loadedmetadata",X),i.addEventListener("progress",re),i.addEventListener("ended",_e),()=>{i.removeEventListener("timeupdate",M),i.removeEventListener("loadedmetadata",X),i.removeEventListener("progress",re),i.removeEventListener("ended",_e);}},[u,e.length,A]);let He=useCallback(()=>{G(true),ce.current&&clearTimeout(ce.current),ce.current=setTimeout(()=>{w&&G(false);},3e3);},[w]);useEffect(()=>{w?He():(G(true),ce.current&&clearTimeout(ce.current));},[w,He]),useEffect(()=>()=>{ce.current&&clearTimeout(ce.current);},[]);let be=useCallback(i=>{let M=(i%e.length+e.length)%e.length;c(M),v(0),b(true),o?.(M,e[M]);},[e,o]),Z=useCallback(()=>{if(C){let i;do i=Math.floor(Math.random()*e.length);while(i===u&&e.length>1);be(i);}else be(u+1);},[be,u,C,e.length]),ee=useCallback(()=>{if(C){let i;do i=Math.floor(Math.random()*e.length);while(i===u&&e.length>1);be(i);}else be(u-1);},[be,u,C,e.length]),Je=useCallback(i=>{let M=i.currentTarget.getBoundingClientRect(),re=Math.max(0,Math.min(1,(i.clientX-M.left)/M.width))*d;ie.current&&(ie.current.currentTime=re),v(re);},[d]),Pe=useCallback(i=>{let M=i.currentTarget.getBoundingClientRect(),X=Math.max(0,Math.min(1,(i.clientX-M.left)/M.width));Q(X*d);},[d]),$e=useCallback(()=>{Ee.current&&(document.fullscreenElement?document.exitFullscreen():Ee.current.requestFullscreen());},[]);useEffect(()=>{let i=()=>R(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",i),()=>document.removeEventListener("fullscreenchange",i)},[]);let xe=useCallback(()=>{j?(oe(true),setTimeout(()=>{Y(false),oe(false);},500)):Y(true);},[j]),Fe=useCallback(()=>{K(i=>!i);},[]),Lt=useCallback(()=>{let i=["title","type","duration"],M=i.indexOf(W);U?pe(false):(pe(true),ae(i[(M+1)%i.length]));},[W,U]);useEffect(()=>{let i=M=>{if(!(M.target instanceof HTMLInputElement||M.target instanceof HTMLTextAreaElement))switch(M.key){case " ":case "k":M.preventDefault(),b(X=>!X);break;case "f":M.preventDefault(),$e();break;case "t":M.preventDefault(),xe();break;case "ArrowLeft":M.preventDefault(),ie.current&&(ie.current.currentTime=Math.max(0,m-5));break;case "ArrowRight":M.preventDefault(),ie.current&&(ie.current.currentTime=Math.min(d,m+5));break;case "ArrowUp":M.preventDefault(),N(X=>Math.min(1,X+.05));break;case "ArrowDown":M.preventDefault(),N(X=>Math.max(0,X-.05));break;case "Escape":j&&xe();break;case "n":M.preventDefault(),Z();break;case "p":M.preventDefault(),ee();break;case "l":M.preventDefault(),Fe();break}};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[$e,xe,Fe,Z,ee,m,d,j]);let je=d>0?m/d*100:0,h=d>0?k/d*100:0,O="text-(--accent)",le=jsxs("div",{ref:Ee,className:n("group flex overflow-hidden",_?"h-full w-full":"aspect-video w-full",!_&&"rounded-xl",!_&&w&&"shadow-2xl",!_&&!w&&"animate-[cp-glow-pulse_4s_ease-in-out_infinite] will-change-[box-shadow]",x),style:{"--accent":p,background:"var(--cp-bg)"},tabIndex:0,children:[jsxs("div",{className:n("relative flex-1 min-w-0 h-full overflow-hidden",H&&"animate-[cp-track-transition_0.6s_ease-out]"),onMouseMove:He,onMouseLeave:()=>{w&&G(false);},children:[jsx("video",{ref:ie,className:"h-full w-full object-contain",poster:J.poster,playsInline:true,preload:"metadata",onClick:()=>b(i=>!i)}),!w&&!H&&jsx("div",{className:"absolute inset-0 flex cursor-pointer items-center justify-center",style:{background:"var(--cp-overlay)"},onClick:()=>b(true),children:jsx("div",{className:"flex h-20 w-20 items-center justify-center rounded-full backdrop-blur-md transition-transform hover:scale-110 active:scale-95",style:{background:"var(--cp-surface-hover)"},children:jsx(Play,{className:"h-10 w-10 translate-x-0.5",fill:"currentColor",style:{color:"var(--cp-text-strong)"}})})}),H&&jsx("div",{className:"absolute left-6 top-6 z-20 animate-[fade-in_0.4s_ease-out]",children:jsxs("div",{className:"rounded-lg px-4 py-2 backdrop-blur-md",style:{background:"var(--cp-panel-bg)"},children:[jsx("div",{className:"text-sm font-semibold",style:{color:"var(--cp-text-strong)"},children:J.title}),J.subtitle&&jsx("div",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:J.subtitle})]})}),jsx("div",{className:n("absolute inset-x-0 top-0 z-10 bg-linear-to-b from-black/70 to-transparent px-5 pb-8 pt-4 transition-opacity duration-500",q?"opacity-100":"pointer-events-none opacity-0"),children:jsxs("div",{className:"flex items-center justify-between",children:[jsxs("div",{children:[jsx("h3",{className:"text-sm font-semibold drop-shadow-md",style:{color:"var(--cp-text-strong)"},children:J.title}),J.subtitle&&jsx("p",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:J.subtitle})]}),J.type&&jsx("span",{className:"rounded-full bg-(--accent)/70 px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider backdrop-blur-sm",style:{color:"var(--cp-text-strong)"},children:J.type})]})}),jsxs("div",{className:n("absolute inset-x-0 bottom-0 z-10 bg-linear-to-t from-black/80 via-black/40 to-transparent px-4 pb-3 pt-10 transition-all duration-500",q?"translate-y-0 opacity-100":"pointer-events-none translate-y-2 opacity-0"),children:[jsxs("div",{className:"group/seek relative mb-3 h-1 cursor-pointer rounded-full transition-[height] duration-200 hover:h-1.5",style:{background:"var(--cp-seek-track)"},onClick:Je,onMouseMove:Pe,onMouseLeave:()=>Q(null),children:[jsx("div",{className:"absolute inset-y-0 left-0 rounded-full",style:{width:`${h}%`,background:"var(--cp-seek-buffer)"}}),jsx("div",{className:"absolute inset-y-0 left-0 rounded-full bg-(--accent) transition-[width] duration-100",style:{width:`${je}%`}}),se!==null&&jsx("div",{className:"absolute -top-8 -translate-x-1/2 rounded px-2 py-0.5 text-[10px] font-mono",style:{left:`${se/d*100}%`,background:"var(--cp-panel-bg)",color:"var(--cp-text-strong)"},children:Hr(se)}),jsx("div",{className:"absolute top-1/2 h-3.5 w-3.5 -translate-y-1/2 rounded-full border-2 border-(--accent) bg-white opacity-0 shadow-lg transition-opacity group-hover/seek:opacity-100",style:{left:`calc(${je}% - 7px)`}})]}),jsxs("div",{className:"flex items-center gap-1",children:[jsx("button",{className:"cp-btn",onClick:()=>b(i=>!i),title:w?"Pause (k)":"Play (k)",children:w?jsx(Pause,{className:"h-5 w-5",fill:"currentColor"}):jsx(Play,{className:"h-5 w-5 translate-x-px",fill:"currentColor"})}),jsx("button",{className:"cp-btn",onClick:ee,title:"Previous (p)",children:jsx(SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsx("button",{className:"cp-btn",onClick:Z,title:"Next (n)",children:jsx(SkipForward,{className:"h-4 w-4",fill:"currentColor"})}),jsxs("div",{className:"group/vol ml-1 flex items-center",children:[jsx("button",{className:"cp-btn",onClick:()=>$(i=>!i),title:T?"Unmute":"Mute",children:T||L===0?jsx(VolumeX,{className:"h-4 w-4"}):jsx(Volume2,{className:"h-4 w-4"})}),jsx("div",{className:"flex w-0 items-center overflow-hidden transition-all duration-300 group-hover/vol:w-20",children:jsx("input",{type:"range",min:0,max:1,step:.01,value:T?0:L,onChange:i=>{N(Number(i.target.value)),T&&$(false);},className:"h-1 w-full cursor-pointer appearance-none rounded-full accent-(--accent)",style:{background:"var(--cp-seek-track)"}})})]}),jsxs("span",{className:"ml-2 min-w-0 shrink-0 font-mono text-xs",style:{color:"var(--cp-text-muted)"},children:[Hr(m)," / ",Hr(d)]}),jsx("div",{className:"flex-1"}),jsx("button",{className:n("cp-btn",C&&O),onClick:()=>P(i=>!i),title:"Shuffle",children:jsx(Shuffle,{className:"h-4 w-4"})}),jsx("button",{className:n("cp-btn",A&&O),onClick:()=>V(i=>!i),title:"Loop",children:jsx(Repeat1,{className:"h-4 w-4"})}),jsx("button",{className:n("cp-btn",y&&O),onClick:Fe,title:"Playlist",children:jsx(ListVideo,{className:"h-4 w-4"})}),jsx("button",{className:n("cp-btn",j&&O),onClick:xe,title:"Cinema mode (t)",children:jsx(Theater,{className:"h-4 w-4"})}),jsx("button",{className:"cp-btn",onClick:$e,title:"Fullscreen (f)",children:_?jsx(Minimize,{className:"h-4 w-4"}):jsx(Maximize,{className:"h-4 w-4"})})]})]})]}),jsx("div",{className:n("h-full shrink-0 overflow-hidden transition-[width] duration-300 ease-out",y?"w-72":"w-0"),children:jsxs("div",{className:"flex h-full w-72 flex-col backdrop-blur-xl",style:{borderLeft:"1px solid var(--cp-border)",background:"var(--cp-panel-bg)"},children:[jsxs("div",{className:"flex items-center justify-between px-4 py-3",style:{borderBottom:"1px solid var(--cp-border)"},children:[jsx("span",{className:"text-xs font-semibold uppercase tracking-wider",style:{color:"var(--cp-text)"},children:"Playlist"}),jsxs("div",{className:"flex items-center gap-1",children:[jsxs("button",{className:"flex items-center gap-1 rounded px-2 py-1 text-[10px] font-medium transition-colors",style:{color:"var(--cp-text-muted)"},onClick:Lt,title:`Sort: ${W} ${U?"\u2191":"\u2193"}`,children:[jsx(ArrowUpDown,{className:"h-3 w-3"}),W,U?" \u2191":" \u2193"]}),jsx("button",{className:"cp-btn p-1!",onClick:Fe,title:"Close",children:jsx(X,{className:"h-3.5 w-3.5"})})]})]}),jsx("div",{className:"flex-1 overflow-y-auto",children:Ke.map(({media:i,originalIndex:M})=>{let X=M===u;return jsxs("button",{className:n("flex w-full items-center gap-3 px-4 py-2.5 text-left transition-all duration-200",X?"bg-(--accent)/20 text-(--accent)":"hover:text-(--cp-text-strong)"),style:X?void 0:{color:"var(--cp-text)"},onClick:()=>{be(M);},children:[jsxs("div",{className:"relative h-10 w-16 shrink-0 overflow-hidden rounded",style:{background:"var(--cp-surface)"},children:[i.poster?jsx("img",{src:i.poster,alt:"",className:"h-full w-full object-cover",draggable:false}):jsx("div",{className:"flex h-full w-full items-center justify-center",children:jsx(Play,{className:"h-4 w-4",style:{color:"var(--cp-seek-track)"}})}),X&&w&&jsx("div",{className:"absolute inset-0 flex items-center justify-center",style:{background:"var(--cp-overlay)"},children:jsx("div",{className:"flex items-end gap-px",children:[1,2,3,4].map(re=>jsx("div",{className:"w-0.5 rounded-full bg-(--accent)",style:{height:`${6+re*3}px`,animation:`mp-eq-bar ${.3+re*.12}s ease-in-out infinite alternate`}},re))})})]}),jsxs("div",{className:"min-w-0 flex-1",children:[jsx("div",{className:"truncate text-xs font-medium",children:i.title}),jsxs("div",{className:"flex items-center gap-2",children:[i.type&&jsx("span",{className:"text-[10px] uppercase tracking-wide opacity-50",children:i.type}),i.duration!=null&&jsx("span",{className:"font-mono text-[10px] opacity-40",children:Hr(i.duration)})]})]}),X&&jsx(ChevronRight,{className:"h-3.5 w-3.5 shrink-0 text-(--accent)"})]},M)})})]})}),jsx("style",{children:`
8
8
  .cp-btn {
9
9
  display: flex;
10
10
  align-items: center;
@@ -20,7 +20,7 @@ import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'cl
20
20
  0%, 100% { box-shadow: 0 0 20px color-mix(in srgb, var(--accent) 25%, transparent), 0 25px 50px -12px rgba(0,0,0,0.25); }
21
21
  50% { box-shadow: 0 0 40px color-mix(in srgb, var(--accent) 55%, transparent), 0 25px 50px -12px rgba(0,0,0,0.25); }
22
22
  }
23
- `})]});return jsx("div",{className:n(K&&"fixed inset-0 z-100 flex items-center justify-center p-8",K&&(R?"animate-[cp-cinema-out_0.5s_ease-in_both]":"animate-[cp-cinema-in_0.5s_ease-out_both]")),onClick:K?i=>{i.target===i.currentTarget&&xe();}:void 0,children:jsx("div",{className:n(K&&"w-full",K&&!H&&"max-w-5xl"),children:se})})}function Fr(e){let t=e.lastIndexOf(".");return t>0?e.slice(t).toLowerCase():""}function Po(e){return e==null?"\u2014":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function ua(e){return e?(typeof e=="string"?new Date(e):e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"\u2014"}var hd={".png":Image,".jpg":Image,".jpeg":Image,".gif":Image,".svg":Image,".webp":Image,".ico":Image,".bmp":Image,".mp3":Music,".wav":Music,".flac":Music,".ogg":Music,".aac":Music,".m4a":Music,".mp4":Video,".mkv":Video,".avi":Video,".mov":Video,".wmv":Video,".webm":Video,".ts":FileCode,".tsx":FileCode,".js":FileCode,".jsx":FileCode,".json":FileCode,".html":FileCode,".css":FileCode,".scss":FileCode,".py":FileCode,".rs":FileCode,".go":FileCode,".java":FileCode,".c":FileCode,".cpp":FileCode,".h":FileCode,".sh":Terminal,".bat":Terminal,".ps1":Terminal,".md":FileText,".txt":FileText,".pdf":FileText,".doc":FileText,".docx":FileText,".rtf":FileText,".csv":FileSpreadsheet,".xls":FileSpreadsheet,".xlsx":FileSpreadsheet,".db":Database,".sqlite":Database,".sql":Database,".zip":FileArchive,".tar":FileArchive,".gz":FileArchive,".rar":FileArchive,".7z":FileArchive};function fa(e){if(e.type==="directory")return Folder;let t=e.extension||Fr(e.name);return hd[t]||File}function Mo(e,t,r){return Math.max(t,Math.min(r,e))}function ga({files:e,title:t="File Explorer",accent:r="#8b5cf6",defaultView:a="list",initialPosition:s,initialSize:o,dockable:l=false,dockSide:p="right",visible:x=true,onFileOpen:u,onSelectionChange:c,onNavigate:w,onDelete:b,onClose:m,onMinimize:v,onPathSubmit:d,defaultInputMode:f="search",actions:k,resizable:g=true,minSize:E={width:400,height:300},className:N}){let[T,B]=useState(a),[C,P]=useState(new Set),[A,V]=useState(null),[y,O]=useState(false),[X$1,J]=useState(false),[q,ce]=useState(""),[K,ne]=useState(f),[R,G]=useState(x),[H,M]=useState(false),W=o??{width:720,height:520},[U,de]=useState(s??{x:Math.max(0,Math.round((window.innerWidth-W.width)/2)),y:Math.max(0,Math.round((window.innerHeight-W.height)/2))}),[$,fe]=useState(W),[oe,ae]=useState(null),Ee=useRef(false),ie=useRef({x:0,y:0}),Qe=useRef(null),Z=useRef(false),Ke=useRef({x:0,y:0,w:0,h:0,px:0,py:0}),He=x!==void 0?x:R,be=useMemo(()=>{let h=e.filter(se=>se.type==="directory"),_=e.filter(se=>se.type==="file");return h.sort((se,i)=>se.name.localeCompare(i.name)),_.sort((se,i)=>se.name.localeCompare(i.name)),[...h,..._]},[e]),Y=useMemo(()=>{if(K!=="search"||!q.trim())return be;let h=q.toLowerCase();return be.filter(_=>_.name.toLowerCase().includes(h))},[be,q,K]),Q=A!=null?Y[A]:null,Je=useCallback((h,_)=>{P(se=>{let i=new Set(se);return _.ctrlKey||_.metaKey?i.has(h)?i.delete(h):i.add(h):(i.clear(),i.add(h)),i}),V(h);},[]);useEffect(()=>{if(!c)return;let h=Array.from(C).map(_=>Y[_]).filter(Boolean);c(h);},[C]);let Pe=useCallback(h=>{let _=Y[h];_&&(_.type==="directory"?w?.(_.path):u?.(_));},[Y,u,w]),$e=useCallback(h=>{y||h.target.closest("button")||(Ee.current=true,ie.current={x:h.clientX-U.x,y:h.clientY-U.y},h.preventDefault());},[U,y]);useEffect(()=>{let h=se=>{if(!Ee.current)return;let i=window.innerWidth-100,L=window.innerHeight-40;de({x:Mo(se.clientX-ie.current.x,0,i),y:Mo(se.clientY-ie.current.y,0,L)});},_=()=>{Ee.current=false,Z.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",h),window.addEventListener("mouseup",_),()=>{window.removeEventListener("mousemove",h),window.removeEventListener("mouseup",_);}},[]);let xe=useCallback((h,_)=>{y||(_.preventDefault(),_.stopPropagation(),Z.current=h,Ke.current={x:_.clientX,y:_.clientY,w:$.width,h:$.height,px:U.x,py:U.y},document.body.style.cursor=h==="e"||h==="w"?"ew-resize":h==="n"||h==="s"?"ns-resize":h==="nw"||h==="se"?"nwse-resize":"nesw-resize",document.body.style.userSelect="none");},[y,$,U]);useEffect(()=>{let h=se=>{if(!Z.current)return;let i=Z.current,L=se.clientX-Ke.current.x,j=se.clientY-Ke.current.y,{w:ee,h:_e,px:zr,py:Or}=Ke.current;if(i.includes("e")&&(ee=Math.max(E.width,ee+L)),i.includes("w")){let Mt=Math.max(E.width,ee-L);zr=zr+(ee-Mt),ee=Mt;}if(i.includes("s")&&(_e=Math.max(E.height,_e+j)),i.includes("n")){let Mt=Math.max(E.height,_e-j);Or=Or+(_e-Mt),_e=Mt;}fe({width:ee,height:_e}),de({x:zr,y:Or});},_=()=>{Z.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",h),window.addEventListener("mouseup",_),()=>{window.removeEventListener("mousemove",h),window.removeEventListener("mouseup",_);}},[E]);let Fe=useCallback(()=>{y?(oe&&(de(oe.pos),fe(oe.size)),O(false)):(ae({pos:U,size:$}),O(true));},[y,U,$,oe]),Pt=useCallback(()=>{X$1?J(false):(y&&(O(false),oe&&(de(oe.pos),fe(oe.size))),J(true),v?.());},[X$1,y,oe,v]);useEffect(()=>{if(!He||X$1)return;let h=_=>{if(!(!Qe.current?.contains(document.activeElement)&&document.activeElement!==Qe.current)){if(_.key==="Escape"&&(V(null),P(new Set)),_.ctrlKey&&_.key==="a"){_.preventDefault();let se=new Set(Y.map((i,L)=>L));P(se);}_.key==="Delete"&&C.size>0&&b&&(_.preventDefault(),M(true));}};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[He,X$1,Y,C,b]);let je={"--fe-accent":r};return X$1?jsx("div",{className:n("fixed z-100 cursor-pointer transition-all duration-300",p==="right"?"right-0 top-1/2 -translate-y-1/2":"left-0 top-1/2 -translate-y-1/2"),style:je,onClick:()=>J(false),title:`Restore ${t}`,children:jsxs("div",{className:"fe-dock flex items-center gap-1.5 rounded-l-lg px-2 py-3 backdrop-blur-md",style:{writingMode:"vertical-rl",textOrientation:"mixed"},children:[jsx(HardDrive,{className:"h-3.5 w-3.5 text-(--fe-accent)"}),jsx("span",{className:"text-[10px] font-bold uppercase tracking-widest text-(--fe-text)",children:t})]})}):He?jsxs("div",{ref:Qe,className:n("fe-window fixed z-100 flex flex-col overflow-hidden","rounded-xl border border-(--fe-border)","animate-[fe-window-in_0.35s_cubic-bezier(0.16,1,0.3,1)_both]",y&&"rounded-none",N),style:{...je,left:y?0:U.x,top:y?0:U.y,width:y?"100vw":$.width,height:y?"100vh":$.height,transition:y?"left 0.3s, top 0.3s, width 0.3s, height 0.3s":void 0},tabIndex:0,children:[jsxs("div",{className:"fe-titlebar group/titlebar flex h-10 shrink-0 cursor-grab items-center justify-between px-3 select-none active:cursor-grabbing",onMouseDown:$e,onDoubleClick:Fe,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"flex h-5 w-5 items-center justify-center rounded",style:{background:"color-mix(in srgb, var(--fe-accent) 25%, transparent)"},children:jsx(HardDrive,{className:"h-3 w-3 text-(--fe-accent)"})}),jsx("span",{className:"text-xs font-bold uppercase tracking-widest text-(--fe-text)",children:t}),jsx("div",{className:"ml-2 hidden h-px w-20 md:block",style:{background:"linear-gradient(90deg, var(--fe-accent), transparent)",opacity:.3}})]}),jsxs("div",{className:"flex items-center gap-0.5",children:[jsx("button",{className:"fe-btn mr-1",onClick:()=>B(h=>h==="list"?"grid":"list"),title:T==="list"?"Grid view":"List view",children:T==="list"?jsx(LayoutGrid,{className:"h-3.5 w-3.5"}):jsx(LayoutList,{className:"h-3.5 w-3.5"})}),l&&jsx("button",{className:"fe-btn",onClick:Pt,title:"Dock to edge",children:jsx(Minus,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn",onClick:Fe,title:y?"Restore":"Maximize",children:y?jsx(Minimize2,{className:"h-3.5 w-3.5"}):jsx(Maximize2,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn hover:bg-red-500/40! hover:text-red-300!",onClick:()=>{m?.(),G(false);},title:"Close",children:jsx(X,{className:"h-3.5 w-3.5"})})]})]}),jsxs("div",{className:"fe-toolbar flex h-9 shrink-0 items-center gap-2 px-3",children:[jsx("button",{className:"fe-btn p-1",onClick:()=>w?.(".."),title:"Go up",children:jsx(FolderUp,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn shrink-0 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider",style:K==="navigate"?{color:"var(--fe-accent)",background:"color-mix(in srgb, var(--fe-accent) 15%, transparent)"}:void 0,onClick:()=>ne(h=>h==="search"?"navigate":"search"),title:K==="search"?"Switch to path navigation":"Switch to file search",children:K==="search"?jsx(Search,{className:"h-3 w-3"}):jsx(CornerRightDown,{className:"h-3 w-3"})}),jsx("div",{className:"relative flex-1",children:jsx("input",{type:"text",value:q,onChange:h=>ce(h.target.value),onKeyDown:h=>{h.key==="Enter"&&q.trim()&&K==="navigate"&&(d?d(q.trim()):w?.(q.trim()));},placeholder:K==="search"?"Search files\u2026":"Enter path and press Enter\u2026",className:"h-6 w-full rounded border border-(--fe-input-border) bg-(--fe-input-bg) px-2 text-[11px] text-(--fe-text-strong) placeholder:text-(--fe-text-muted) outline-none transition-colors focus:border-(--fe-accent)/40 focus:bg-(--fe-input-bg)"})}),jsxs("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:[Y.length," item",Y.length!==1?"s":"",C.size>0&&` \xB7 ${C.size} selected`]})]}),jsxs("div",{className:"flex flex-1 min-h-0",children:[jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden p-1.5",onClick:h=>{h.target===h.currentTarget&&(P(new Set),V(null));},children:Y.length===0?jsxs("div",{className:"flex h-full flex-col items-center justify-center text-(--fe-text-muted)",children:[jsx(Folder,{className:"mb-2 h-10 w-10"}),jsx("span",{className:"text-xs",children:"No files found"})]}):T==="list"?jsx("div",{className:"space-y-px",children:Y.map((h,_)=>{let se=fa(h),i=C.has(_),L=h.extension||Fr(h.name);return jsxs("div",{className:n("fe-item group/item flex items-center gap-2.5 rounded-lg px-2.5 py-1.5 text-(--fe-text) transition-all duration-150 cursor-pointer",i?"bg-(--fe-accent)/15 text-(--fe-text-strong)":"hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),style:i?{boxShadow:"inset 2px 0 0 var(--fe-accent)"}:void 0,onClick:j=>Je(_,j),onDoubleClick:()=>Pe(_),children:[jsx(se,{className:n("h-4 w-4 shrink-0",h.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"flex-1 truncate text-xs font-medium",children:h.name}),L&&h.type==="file"&&jsx("span",{className:"shrink-0 rounded bg-(--fe-badge-bg) px-1.5 py-0.5 font-mono text-[9px] uppercase text-(--fe-text-muted)",children:L}),h.size!=null&&jsx("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:Po(h.size)}),h.modifiedAt&&jsx("span",{className:"hidden shrink-0 font-mono text-[10px] text-(--fe-text-muted) lg:inline",children:ua(h.modifiedAt)})]},h.path+_)})}):jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(90px,1fr))] gap-1.5 p-1",children:Y.map((h,_)=>{let se=fa(h),i=C.has(_),L=h.extension||Fr(h.name);return jsxs("div",{className:n("fe-item group/item flex cursor-pointer flex-col items-center gap-1 rounded-lg px-2 py-2.5 text-center transition-all duration-150",i?"bg-(--fe-accent)/15 text-(--fe-text-strong) ring-1 ring-(--fe-accent)/30":"text-(--fe-text) hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),onClick:j=>Je(_,j),onDoubleClick:()=>Pe(_),children:[jsx(se,{className:n("h-7 w-7",h.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"w-full truncate text-[10px] font-medium leading-tight",children:h.name}),L&&h.type==="file"&&jsx("span",{className:"font-mono text-[8px] uppercase text-(--fe-text-muted)",children:L})]},h.path+_)})})}),jsx("div",{className:n("shrink-0 overflow-hidden transition-[width] duration-300 ease-out",Q?"w-56":"w-0"),children:Q&&jsxs("div",{className:"fe-panel flex h-full w-56 flex-col border-l border-(--fe-border) p-4",children:[jsxs("div",{className:"mb-3 flex flex-col items-center",children:[Ft.createElement(fa(Q),{className:n("h-10 w-10 mb-2",Q.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"w-full text-center text-xs font-semibold text-(--fe-text-strong) break-all leading-tight",children:Q.name})]}),jsxs("div",{className:"space-y-2.5 text-[10px]",children:[jsx(Rt,{label:"Type",value:Q.type==="directory"?"Directory":Q.mimeType||Q.extension||Fr(Q.name)||"File"}),Q.size!=null&&jsx(Rt,{label:"Size",value:Po(Q.size)}),jsx(Rt,{label:"Path",value:Q.path,mono:true}),Q.extension&&jsx(Rt,{label:"Extension",value:Q.extension}),Q.modifiedAt&&jsx(Rt,{label:"Modified",value:ua(Q.modifiedAt)}),Q.createdAt&&jsx(Rt,{label:"Created",value:ua(Q.createdAt)})]}),jsxs("div",{className:"mt-auto flex flex-col gap-1.5",children:[Q.type==="file"&&u&&jsxs("button",{className:"flex items-center justify-center gap-1.5 rounded-lg py-1.5 text-[10px] font-semibold uppercase tracking-wider text-(--fe-text-strong) transition-colors",style:{background:"color-mix(in srgb, var(--fe-accent) 20%, transparent)",border:"1px solid color-mix(in srgb, var(--fe-accent) 30%, transparent)"},onClick:()=>u(Q),children:[jsx(ArrowUp,{className:"h-3 w-3 rotate-45"}),"Open"]}),k?.map(h=>jsxs("button",{className:"fe-action flex items-center justify-center gap-1.5 rounded-lg py-1.5 text-[10px] font-semibold uppercase tracking-wider text-(--fe-text) transition-colors hover:text-(--fe-text-strong)",onClick:()=>h.onClick(Q),children:[h.icon&&Ft.createElement(h.icon,{className:"h-3 w-3"}),h.label]},h.key))]})]})})]}),jsxs("div",{className:"fe-statusbar flex h-6 shrink-0 items-center justify-between px-3 text-[9px] font-mono text-(--fe-text-muted)",children:[jsxs("span",{children:[Y.length," items"]}),jsxs("div",{className:"flex items-center gap-2",children:[C.size>0&&jsxs("span",{className:"text-(--fe-accent)/70",children:[C.size," selected"]}),jsx("span",{className:"opacity-50",children:"Ctrl+Click multi-select \xB7 Esc clear"})]})]}),g&&!y&&jsxs(Fragment,{children:[jsx("div",{className:"absolute top-0 left-2 right-2 h-1.5 cursor-ns-resize",onMouseDown:h=>xe("n",h)}),jsx("div",{className:"absolute bottom-0 left-2 right-2 h-1.5 cursor-ns-resize",onMouseDown:h=>xe("s",h)}),jsx("div",{className:"absolute top-2 left-0 bottom-2 w-1.5 cursor-ew-resize",onMouseDown:h=>xe("w",h)}),jsx("div",{className:"absolute top-2 right-0 bottom-2 w-1.5 cursor-ew-resize",onMouseDown:h=>xe("e",h)}),jsx("div",{className:"absolute top-0 left-0 h-3 w-3 cursor-nwse-resize",onMouseDown:h=>xe("nw",h)}),jsx("div",{className:"absolute top-0 right-0 h-3 w-3 cursor-nesw-resize",onMouseDown:h=>xe("ne",h)}),jsx("div",{className:"absolute bottom-0 left-0 h-3 w-3 cursor-nesw-resize",onMouseDown:h=>xe("sw",h)}),jsx("div",{className:"absolute bottom-0 right-0 h-3 w-3 cursor-nwse-resize",onMouseDown:h=>xe("se",h)})]}),jsx("style",{children:`
23
+ `})]});return jsx("div",{className:n(j&&"fixed inset-0 z-100 flex items-center justify-center p-8",j&&(F?"animate-[cp-cinema-out_0.5s_ease-in_both]":"animate-[cp-cinema-in_0.5s_ease-out_both]")),onClick:j?i=>{i.target===i.currentTarget&&xe();}:void 0,children:jsx("div",{className:n(j&&"w-full",j&&!_&&"max-w-5xl"),children:le})})}function _r(e){let t=e.lastIndexOf(".");return t>0?e.slice(t).toLowerCase():""}function Po(e){return e==null?"\u2014":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function fa(e){return e?(typeof e=="string"?new Date(e):e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"\u2014"}var vd={".png":Image,".jpg":Image,".jpeg":Image,".gif":Image,".svg":Image,".webp":Image,".ico":Image,".bmp":Image,".mp3":Music,".wav":Music,".flac":Music,".ogg":Music,".aac":Music,".m4a":Music,".mp4":Video,".mkv":Video,".avi":Video,".mov":Video,".wmv":Video,".webm":Video,".ts":FileCode,".tsx":FileCode,".js":FileCode,".jsx":FileCode,".json":FileCode,".html":FileCode,".css":FileCode,".scss":FileCode,".py":FileCode,".rs":FileCode,".go":FileCode,".java":FileCode,".c":FileCode,".cpp":FileCode,".h":FileCode,".sh":Terminal,".bat":Terminal,".ps1":Terminal,".md":FileText,".txt":FileText,".pdf":FileText,".doc":FileText,".docx":FileText,".rtf":FileText,".csv":FileSpreadsheet,".xls":FileSpreadsheet,".xlsx":FileSpreadsheet,".db":Database,".sqlite":Database,".sql":Database,".zip":FileArchive,".tar":FileArchive,".gz":FileArchive,".rar":FileArchive,".7z":FileArchive};function ga(e){if(e.type==="directory")return Folder;let t=e.extension||_r(e.name);return vd[t]||File}function Mo(e,t,r){return Math.max(t,Math.min(r,e))}function ba({files:e,title:t="File Explorer",accent:r="#8b5cf6",defaultView:a="list",initialPosition:s,initialSize:o,dockable:l=false,dockSide:p="right",visible:x=true,onFileOpen:u,onSelectionChange:c,onNavigate:w,onDelete:b,onClose:m,onMinimize:v,onPathSubmit:d,defaultInputMode:f="search",actions:k,resizable:g=true,minSize:L={width:400,height:300},className:N}){let[T,$]=useState(a),[C,P]=useState(new Set),[A,V]=useState(null),[y,K]=useState(false),[W,ae]=useState(false),[U,pe]=useState(""),[j,Y]=useState(f),[F,oe]=useState(x),[_,R]=useState(false),q=o??{width:720,height:520},[G,H]=useState(s??{x:Math.max(0,Math.round((window.innerWidth-q.width)/2)),y:Math.max(0,Math.round((window.innerHeight-q.height)/2))}),[E,se]=useState(q),[Q,ie]=useState(null),Ee=useRef(false),ce=useRef({x:0,y:0}),Qe=useRef(null),J=useRef(false),Ke=useRef({x:0,y:0,w:0,h:0,px:0,py:0}),He=x!==void 0?x:F,be=useMemo(()=>{let h=e.filter(le=>le.type==="directory"),O=e.filter(le=>le.type==="file");return h.sort((le,i)=>le.name.localeCompare(i.name)),O.sort((le,i)=>le.name.localeCompare(i.name)),[...h,...O]},[e]),Z=useMemo(()=>{if(j!=="search"||!U.trim())return be;let h=U.toLowerCase();return be.filter(O=>O.name.toLowerCase().includes(h))},[be,U,j]),ee=A!=null?Z[A]:null,Je=useCallback((h,O)=>{P(le=>{let i=new Set(le);return O.ctrlKey||O.metaKey?i.has(h)?i.delete(h):i.add(h):(i.clear(),i.add(h)),i}),V(h);},[]);useEffect(()=>{if(!c)return;let h=Array.from(C).map(O=>Z[O]).filter(Boolean);c(h);},[C]);let Pe=useCallback(h=>{let O=Z[h];O&&(O.type==="directory"?w?.(O.path):u?.(O));},[Z,u,w]),$e=useCallback(h=>{y||h.target.closest("button")||(Ee.current=true,ce.current={x:h.clientX-G.x,y:h.clientY-G.y},h.preventDefault());},[G,y]);useEffect(()=>{let h=le=>{if(!Ee.current)return;let i=window.innerWidth-100,M=window.innerHeight-40;H({x:Mo(le.clientX-ce.current.x,0,i),y:Mo(le.clientY-ce.current.y,0,M)});},O=()=>{Ee.current=false,J.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",h),window.addEventListener("mouseup",O),()=>{window.removeEventListener("mousemove",h),window.removeEventListener("mouseup",O);}},[]);let xe=useCallback((h,O)=>{y||(O.preventDefault(),O.stopPropagation(),J.current=h,Ke.current={x:O.clientX,y:O.clientY,w:E.width,h:E.height,px:G.x,py:G.y},document.body.style.cursor=h==="e"||h==="w"?"ew-resize":h==="n"||h==="s"?"ns-resize":h==="nw"||h==="se"?"nwse-resize":"nesw-resize",document.body.style.userSelect="none");},[y,E,G]);useEffect(()=>{let h=le=>{if(!J.current)return;let i=J.current,M=le.clientX-Ke.current.x,X=le.clientY-Ke.current.y,{w:re,h:_e,px:Or,py:Br}=Ke.current;if(i.includes("e")&&(re=Math.max(L.width,re+M)),i.includes("w")){let Et=Math.max(L.width,re-M);Or=Or+(re-Et),re=Et;}if(i.includes("s")&&(_e=Math.max(L.height,_e+X)),i.includes("n")){let Et=Math.max(L.height,_e-X);Br=Br+(_e-Et),_e=Et;}se({width:re,height:_e}),H({x:Or,y:Br});},O=()=>{J.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",h),window.addEventListener("mouseup",O),()=>{window.removeEventListener("mousemove",h),window.removeEventListener("mouseup",O);}},[L]);let Fe=useCallback(()=>{y?(Q&&(H(Q.pos),se(Q.size)),K(false)):(ie({pos:G,size:E}),K(true));},[y,G,E,Q]),Lt=useCallback(()=>{W?ae(false):(y&&(K(false),Q&&(H(Q.pos),se(Q.size))),ae(true),v?.());},[W,y,Q,v]);useEffect(()=>{if(!He||W)return;let h=O=>{if(!(!Qe.current?.contains(document.activeElement)&&document.activeElement!==Qe.current)){if(O.key==="Escape"&&(V(null),P(new Set)),O.ctrlKey&&O.key==="a"){O.preventDefault();let le=new Set(Z.map((i,M)=>M));P(le);}O.key==="Delete"&&C.size>0&&b&&(O.preventDefault(),R(true));}};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[He,W,Z,C,b]);let je={"--fe-accent":r};return W?jsx("div",{className:n("fixed z-100 cursor-pointer transition-all duration-300",p==="right"?"right-0 top-1/2 -translate-y-1/2":"left-0 top-1/2 -translate-y-1/2"),style:je,onClick:()=>ae(false),title:`Restore ${t}`,children:jsxs("div",{className:"fe-dock flex items-center gap-1.5 rounded-l-lg px-2 py-3 backdrop-blur-md",style:{writingMode:"vertical-rl",textOrientation:"mixed"},children:[jsx(HardDrive,{className:"h-3.5 w-3.5 text-(--fe-accent)"}),jsx("span",{className:"text-[10px] font-bold uppercase tracking-widest text-(--fe-text)",children:t})]})}):He?jsxs("div",{ref:Qe,className:n("fe-window fixed z-100 flex flex-col overflow-hidden","rounded-xl border border-(--fe-border)","animate-[fe-window-in_0.35s_cubic-bezier(0.16,1,0.3,1)_both]",y&&"rounded-none",N),style:{...je,left:y?0:G.x,top:y?0:G.y,width:y?"100vw":E.width,height:y?"100vh":E.height,transition:y?"left 0.3s, top 0.3s, width 0.3s, height 0.3s":void 0},tabIndex:0,children:[jsxs("div",{className:"fe-titlebar group/titlebar flex h-10 shrink-0 cursor-grab items-center justify-between px-3 select-none active:cursor-grabbing",onMouseDown:$e,onDoubleClick:Fe,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"flex h-5 w-5 items-center justify-center rounded",style:{background:"color-mix(in srgb, var(--fe-accent) 25%, transparent)"},children:jsx(HardDrive,{className:"h-3 w-3 text-(--fe-accent)"})}),jsx("span",{className:"text-xs font-bold uppercase tracking-widest text-(--fe-text)",children:t}),jsx("div",{className:"ml-2 hidden h-px w-20 md:block",style:{background:"linear-gradient(90deg, var(--fe-accent), transparent)",opacity:.3}})]}),jsxs("div",{className:"flex items-center gap-0.5",children:[jsx("button",{className:"fe-btn mr-1",onClick:()=>$(h=>h==="list"?"grid":"list"),title:T==="list"?"Grid view":"List view",children:T==="list"?jsx(LayoutGrid,{className:"h-3.5 w-3.5"}):jsx(LayoutList,{className:"h-3.5 w-3.5"})}),l&&jsx("button",{className:"fe-btn",onClick:Lt,title:"Dock to edge",children:jsx(Minus,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn",onClick:Fe,title:y?"Restore":"Maximize",children:y?jsx(Minimize2,{className:"h-3.5 w-3.5"}):jsx(Maximize2,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn hover:bg-red-500/40! hover:text-red-300!",onClick:()=>{m?.(),oe(false);},title:"Close",children:jsx(X,{className:"h-3.5 w-3.5"})})]})]}),jsxs("div",{className:"fe-toolbar flex h-9 shrink-0 items-center gap-2 px-3",children:[jsx("button",{className:"fe-btn p-1",onClick:()=>w?.(".."),title:"Go up",children:jsx(FolderUp,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn shrink-0 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider",style:j==="navigate"?{color:"var(--fe-accent)",background:"color-mix(in srgb, var(--fe-accent) 15%, transparent)"}:void 0,onClick:()=>Y(h=>h==="search"?"navigate":"search"),title:j==="search"?"Switch to path navigation":"Switch to file search",children:j==="search"?jsx(Search,{className:"h-3 w-3"}):jsx(CornerRightDown,{className:"h-3 w-3"})}),jsx("div",{className:"relative flex-1",children:jsx("input",{type:"text",value:U,onChange:h=>pe(h.target.value),onKeyDown:h=>{h.key==="Enter"&&U.trim()&&j==="navigate"&&(d?d(U.trim()):w?.(U.trim()));},placeholder:j==="search"?"Search files\u2026":"Enter path and press Enter\u2026",className:"h-6 w-full rounded border border-(--fe-input-border) bg-(--fe-input-bg) px-2 text-[11px] text-(--fe-text-strong) placeholder:text-(--fe-text-muted) outline-none transition-colors focus:border-(--fe-accent)/40 focus:bg-(--fe-input-bg)"})}),jsxs("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:[Z.length," item",Z.length!==1?"s":"",C.size>0&&` \xB7 ${C.size} selected`]})]}),jsxs("div",{className:"flex flex-1 min-h-0",children:[jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden p-1.5",onClick:h=>{h.target===h.currentTarget&&(P(new Set),V(null));},children:Z.length===0?jsxs("div",{className:"flex h-full flex-col items-center justify-center text-(--fe-text-muted)",children:[jsx(Folder,{className:"mb-2 h-10 w-10"}),jsx("span",{className:"text-xs",children:"No files found"})]}):T==="list"?jsx("div",{className:"space-y-px",children:Z.map((h,O)=>{let le=ga(h),i=C.has(O),M=h.extension||_r(h.name);return jsxs("div",{className:n("fe-item group/item flex items-center gap-2.5 rounded-lg px-2.5 py-1.5 text-(--fe-text) transition-all duration-150 cursor-pointer",i?"bg-(--fe-accent)/15 text-(--fe-text-strong)":"hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),style:i?{boxShadow:"inset 2px 0 0 var(--fe-accent)"}:void 0,onClick:X=>Je(O,X),onDoubleClick:()=>Pe(O),children:[jsx(le,{className:n("h-4 w-4 shrink-0",h.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"flex-1 truncate text-xs font-medium",children:h.name}),M&&h.type==="file"&&jsx("span",{className:"shrink-0 rounded bg-(--fe-badge-bg) px-1.5 py-0.5 font-mono text-[9px] uppercase text-(--fe-text-muted)",children:M}),h.size!=null&&jsx("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:Po(h.size)}),h.modifiedAt&&jsx("span",{className:"hidden shrink-0 font-mono text-[10px] text-(--fe-text-muted) lg:inline",children:fa(h.modifiedAt)})]},h.path+O)})}):jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(90px,1fr))] gap-1.5 p-1",children:Z.map((h,O)=>{let le=ga(h),i=C.has(O),M=h.extension||_r(h.name);return jsxs("div",{className:n("fe-item group/item flex cursor-pointer flex-col items-center gap-1 rounded-lg px-2 py-2.5 text-center transition-all duration-150",i?"bg-(--fe-accent)/15 text-(--fe-text-strong) ring-1 ring-(--fe-accent)/30":"text-(--fe-text) hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),onClick:X=>Je(O,X),onDoubleClick:()=>Pe(O),children:[jsx(le,{className:n("h-7 w-7",h.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"w-full truncate text-[10px] font-medium leading-tight",children:h.name}),M&&h.type==="file"&&jsx("span",{className:"font-mono text-[8px] uppercase text-(--fe-text-muted)",children:M})]},h.path+O)})})}),jsx("div",{className:n("shrink-0 overflow-hidden transition-[width] duration-300 ease-out",ee?"w-56":"w-0"),children:ee&&jsxs("div",{className:"fe-panel flex h-full w-56 flex-col border-l border-(--fe-border) p-4",children:[jsxs("div",{className:"mb-3 flex flex-col items-center",children:[zt.createElement(ga(ee),{className:n("h-10 w-10 mb-2",ee.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"w-full text-center text-xs font-semibold text-(--fe-text-strong) break-all leading-tight",children:ee.name})]}),jsxs("div",{className:"space-y-2.5 text-[10px]",children:[jsx(Mt,{label:"Type",value:ee.type==="directory"?"Directory":ee.mimeType||ee.extension||_r(ee.name)||"File"}),ee.size!=null&&jsx(Mt,{label:"Size",value:Po(ee.size)}),jsx(Mt,{label:"Path",value:ee.path,mono:true}),ee.extension&&jsx(Mt,{label:"Extension",value:ee.extension}),ee.modifiedAt&&jsx(Mt,{label:"Modified",value:fa(ee.modifiedAt)}),ee.createdAt&&jsx(Mt,{label:"Created",value:fa(ee.createdAt)})]}),jsxs("div",{className:"mt-auto flex flex-col gap-1.5",children:[ee.type==="file"&&u&&jsxs("button",{className:"flex items-center justify-center gap-1.5 rounded-lg py-1.5 text-[10px] font-semibold uppercase tracking-wider text-(--fe-text-strong) transition-colors",style:{background:"color-mix(in srgb, var(--fe-accent) 20%, transparent)",border:"1px solid color-mix(in srgb, var(--fe-accent) 30%, transparent)"},onClick:()=>u(ee),children:[jsx(ArrowUp,{className:"h-3 w-3 rotate-45"}),"Open"]}),k?.map(h=>jsxs("button",{className:"fe-action flex items-center justify-center gap-1.5 rounded-lg py-1.5 text-[10px] font-semibold uppercase tracking-wider text-(--fe-text) transition-colors hover:text-(--fe-text-strong)",onClick:()=>h.onClick(ee),children:[h.icon&&zt.createElement(h.icon,{className:"h-3 w-3"}),h.label]},h.key))]})]})})]}),jsxs("div",{className:"fe-statusbar flex h-6 shrink-0 items-center justify-between px-3 text-[9px] font-mono text-(--fe-text-muted)",children:[jsxs("span",{children:[Z.length," items"]}),jsxs("div",{className:"flex items-center gap-2",children:[C.size>0&&jsxs("span",{className:"text-(--fe-accent)/70",children:[C.size," selected"]}),jsx("span",{className:"opacity-50",children:"Ctrl+Click multi-select \xB7 Esc clear"})]})]}),g&&!y&&jsxs(Fragment,{children:[jsx("div",{className:"absolute top-0 left-2 right-2 h-1.5 cursor-ns-resize",onMouseDown:h=>xe("n",h)}),jsx("div",{className:"absolute bottom-0 left-2 right-2 h-1.5 cursor-ns-resize",onMouseDown:h=>xe("s",h)}),jsx("div",{className:"absolute top-2 left-0 bottom-2 w-1.5 cursor-ew-resize",onMouseDown:h=>xe("w",h)}),jsx("div",{className:"absolute top-2 right-0 bottom-2 w-1.5 cursor-ew-resize",onMouseDown:h=>xe("e",h)}),jsx("div",{className:"absolute top-0 left-0 h-3 w-3 cursor-nwse-resize",onMouseDown:h=>xe("nw",h)}),jsx("div",{className:"absolute top-0 right-0 h-3 w-3 cursor-nesw-resize",onMouseDown:h=>xe("ne",h)}),jsx("div",{className:"absolute bottom-0 left-0 h-3 w-3 cursor-nesw-resize",onMouseDown:h=>xe("sw",h)}),jsx("div",{className:"absolute bottom-0 right-0 h-3 w-3 cursor-nwse-resize",onMouseDown:h=>xe("se",h)})]}),jsx("style",{children:`
24
24
  .fe-window {
25
25
  background: var(--fe-bg);
26
26
  box-shadow: var(--fe-shadow);
@@ -74,4 +74,4 @@ import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'cl
74
74
  from { opacity: 0; transform: translateX(-4px); }
75
75
  to { opacity: 1; transform: translateX(0); }
76
76
  }
77
- `}),jsx(jt,{open:H,onOpenChange:M,children:jsxs(zn,{size:"sm",children:[jsxs(On,{children:[jsxs(Bn,{children:[jsx(AlertTriangle,{className:"text-danger-500"}),"Confirm Deletion"]}),jsxs(Kn,{children:[C.size===1?`Are you sure you want to delete "${Y[Array.from(C)[0]]?.name}"?`:`Are you sure you want to delete ${C.size} selected items?`," ","This action cannot be undone."]})]}),jsxs($n,{children:[jsx(dt,{intent:"ghost",onClick:()=>M(false),children:"Cancel"}),jsxs(dt,{intent:"danger",onClick:()=>{let h=Array.from(C).map(_=>Y[_]).filter(Boolean);b?.(h),P(new Set),V(null),M(false);},children:[jsx(Trash2,{className:"h-4 w-4"}),"Delete"]})]})]})})]}):null}function Rt({label:e,value:t,mono:r}){return jsxs("div",{children:[jsx("div",{className:"mb-0.5 font-semibold uppercase tracking-wider text-(--fe-text-muted)",children:e}),jsx("div",{className:n("text-(--fe-text) break-all leading-snug",r&&"font-mono text-[9px]"),children:t})]})}function kd(e,t){let r=t.getBoundingClientRect(),a=Math.max(r.width,r.height)*1.2,s=e.clientX-r.left,o=e.clientY-r.top,l=document.createElement("span");l.className="masonry-ripple",l.style.width=`${a}px`,l.style.height=`${a}px`,l.style.left=`${s}px`,l.style.top=`${o}px`,t.appendChild(l),l.addEventListener("animationend",()=>l.remove());}function ha({columns:e,columnWidth:t=240,gap:r=16,items:a,onItemClick:s,className:o,style:l,children:p,...x}){let u=useRef(null),c=useRef([]),[w,b]=useState(()=>e??1),[m,v]=useState([]),[d,f]=useState(0),k=a?a.map((C,P)=>({key:C.key??P,node:C.content})):Ft.Children.toArray(p).map((C,P)=>({key:C.key??P,node:C})),g=k.length,E=useCallback(C=>e??Math.max(1,Math.floor((C+r)/(t+r))),[e,t,r]),N=useCallback(()=>{let C=u.current;if(!C)return;let P=C.clientWidth,A=E(P);b(A);let V=(P-(A-1)*r)/A,y=new Array(A).fill(0),O=[];for(let J=0;J<g;J++){let q=c.current[J],ce=q?q.offsetHeight:0,K=0;for(let ne=1;ne<A;ne++)y[ne]<y[K]&&(K=ne);O.push({top:y[K],left:K*(V+r),width:V}),y[K]+=ce+r;}let X=Math.max(0,...y)-(g?r:0);v(O),f(X);},[g,E,r]);useEffect(()=>{let C=u.current;if(!C)return;let P=new ResizeObserver(()=>N());return P.observe(C),()=>P.disconnect()},[N]),useEffect(()=>{let C=requestAnimationFrame(N);return ()=>cancelAnimationFrame(C)},[N]),useEffect(()=>{let C=new ResizeObserver(()=>N());return c.current.forEach(P=>{P&&C.observe(P);}),()=>C.disconnect()},[g,w,N]);let T=useCallback((C,P)=>{let A=C.currentTarget;kd(C,A),s?.(a?.[P],P);},[s,a]),B=C=>{if(!a)return false;let P=a[C];return !!(P.title||P.description||P.actions)};return jsx("div",{ref:u,className:n("relative",o),style:{...l,height:d},...x,children:k.map((C,P)=>jsxs("div",{ref:A=>{c.current[P]=A;},className:"masonry-item",role:"button",tabIndex:0,onClick:A=>T(A,P),onKeyDown:A=>{(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),s?.(a?.[P],P));},style:{position:"absolute",top:m[P]?.top??0,left:m[P]?.left??0,width:m[P]?.width??"100%"},children:[C.node,B(P)&&jsxs("div",{className:"masonry-item-overlay",children:[a[P].title&&jsx("p",{className:"masonry-item-overlay-title",children:a[P].title}),a[P].description&&jsx("p",{className:"masonry-item-overlay-desc",children:a[P].description}),a[P].actions&&jsx("div",{className:"masonry-item-overlay-actions",children:a[P].actions})]})]},C.key))})}var Nd={FilmReel:oa,MiniPlayer:ia,CinePlayer:ca,FileExplorer:ga,Masonry:ha},va=Nd;var Vo=cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});var Do=cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});var Na=createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),Ed={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},Fo={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function Ca({children:e,className:t,intent:r,size:a="md",layout:s="stacked",title:o,description:l,footer:p,onValues:x,onSubmit:u,...c}){let w=Ed[a??"md"],[b,m]=useState({}),v=useCallback(d=>{if(u?.(d),x){let f=Object.fromEntries(new FormData(d.currentTarget).entries()),k=x(f,d),g=E=>{if(!E)return;let N={};for(let[T,{result:B,reason:C}]of Object.entries(E))C&&(N[T]={status:B?"success":"error",message:C});m(N);};k instanceof Promise?k.then(g).catch(()=>{}):g(k);}},[u,x]);return jsx(Na.Provider,{value:{layout:s??"stacked",size:a??"md",labelWidth:w,bulkErrors:b},children:jsxs("form",{className:n(Vo({intent:r,size:a}),"flex flex-col",t),onSubmit:v,...c,children:[(o||l)&&jsxs("div",{className:"mb-(--form-header-mb)",children:[o&&jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:o}),l&&jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:l})]}),jsx("div",{className:n("flex flex-col",Fo[a??"md"]),children:e}),p&&jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:p})]})})}var Sd={error:jsx(AlertCircle,{}),warning:jsx(AlertTriangle,{}),success:jsx(CheckCircle,{}),hint:jsx(Info,{})};function Vd({label:e,layout:t,required:r,hint:a,validation:s,name:o,onValidate:l,className:p,children:x}){let u=useContext(Na),c=useId(),[w,b]=useState(void 0),m=o?u.bulkErrors[o]:void 0,v=s??w??m,f=(t??u.layout)==="inline",k=useCallback(B=>{let C=B!=null&&typeof B=="object"&&"target"in B?B.target.value:B;if(o&&u.bulkErrors[o]&&(u.bulkErrors[o]=void 0),!l){b(void 0);return}let{result:P,reason:A}=l(C);b(A?{status:P?"success":"error",message:A}:void 0);},[l,o,u.bulkErrors]),g=v?`${c}-validation`:a?`${c}-hint`:void 0,E=Ft.Children.map(x,(B,C)=>{if(C!==0||!Ft.isValidElement(B))return B;let P=B,A={};if(P.props.id||(A.id=c),g&&!P.props["aria-describedby"]&&(A["aria-describedby"]=g),v?.status==="error"&&!P.props["aria-invalid"]&&(A["aria-invalid"]=true),o&&!P.props.name&&(A.name=o),l){let V=P.props.onChange;A.onChange=y=>{V?.(y),k(y);};}return Object.keys(A).length?Ft.cloneElement(P,A):B}),N=e!=null&&jsx("label",{htmlFor:c,className:n("shrink-0 text-sm font-medium","text-primary-700 dark:text-primary-300",r&&"after:ml-0.5 after:text-danger-500 after:content-['*']",f&&"pt-1.75"),style:f?{width:u.labelWidth,minWidth:u.labelWidth}:void 0,children:e}),T=s?`${c}-validation`:a?`${c}-hint`:void 0;return jsxs("div",{className:n("flex w-full flex-col gap-1.5",f&&"md:flex-row md:items-start md:gap-(--form-item-gap-md)",p),children:[N,jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[E,v&&jsxs("p",{id:`${c}-validation`,className:n(Do({status:v.status})),role:v.status==="error"?"alert":void 0,children:[Sd[v.status],jsx("span",{children:v.message})]}),a&&jsx("p",{id:T===`${c}-hint`?T:void 0,className:"mt-1 text-xs text-primary-400 dark:text-primary-500",children:a})]})]})}function Dd({title:e,description:t,className:r,children:a}){let{size:s}=useContext(Na);return jsxs("fieldset",{className:n("flex flex-col rounded-(--form-radius) border border-primary-200 p-4 dark:border-primary-700",Fo[s],r),children:[(e||t)&&jsxs("legend",{className:"px-1.5 pb-1",children:[e&&jsx("span",{className:"text-sm font-semibold text-primary-700 dark:text-primary-300",children:e}),t&&jsx("span",{className:"ml-2 text-xs text-primary-400 dark:text-primary-500",children:t})]}),a]})}var Id={Form:Ca},Ta=Id;var Ad={Primitives:sn,Layout:mn,DataDisplay:Tn,Navigation:Sn,Disclosure:An,Overlay:Gn,Feedback:ra,Extras:va,Forms:Ta},Z0=Ad;export{Dn as Accordion,Wi as AccordionContent,qi as AccordionItem,Xi as AccordionTrigger,Yn as Alert,Ml as AlertContent,Ll as AlertDescription,Pl as AlertIcon,Rl as AlertTitle,Zr as Badge,dt as Button,ln as Card,Ds as CardContent,Vs as CardDescription,Is as CardFooter,Es as CardHeader,Ss as CardTitle,vn as Chat,nn as Checkbox,ca as CinePlayer,Cn as CodeBlock,Tn as DataDisplay,ni as DataTable,jt as Dialog,ml as DialogClose,zn as DialogContent,Kn as DialogDescription,$n as DialogFooter,On as DialogHeader,Bn as DialogTitle,An as Disclosure,Gr as Dropdown,ut as DropdownButton,va as Extras,ra as Feedback,ga as FileExplorer,oa as FilmReel,Ca as Form,Vd as FormItem,Dd as FormSection,Ta as Forms,Ln as Header,As as HorizontalCard,cn as ImageCard,Os as ImageCardActions,Fs as ImageCardBody,zs as ImageCardDescription,_s as ImageCardTitle,Qr as Indicator,en as Input,Jr as Label,mn as Layout,xn as List,si as ListItem,ha as Masonry,ia as MiniPlayer,En as NavLink,Sn as Navigation,Gn as Overlay,dn as Panel,Ks as PanelContent,Bs as PanelHeader,sn as Primitives,Jn as ProgressBar,on as Radio,an as RadioGroup,Mn as SideNav,ti as SortableTable,ta as Spin,rn as Switch,rl as TabContent,Ji as TabList,tl as TabPanels,el as TabTrigger,Ht as Table,gn as TableBody,nt as TableCell,bn as TableEmpty,rt as TableHead,fn as TableHeader,At as TableRow,In as Tabs,tn as TextBox,jn as Tooltip,yn as Tree,ui as TreeItem,vr as accordionContentVariants,hr as accordionTriggerVariants,wr as accordionVariants,Gt as alertVariants,Yt as badgeVariants,lt as buttonVariants,St as cardVariants,Jt as checkboxVariants,n as cn,Dt as codeBlockVariants,Dl as configureAlertTopOffset,Z0 as default,$t as dialogContentVariants,Zt as indicatorVariants,ct as inputVariants,Qt as labelVariants,pr as listItemVariants,dr as listVariants,xr as navLinkVariants,lr as panelVariants,Pr as progressBarVariants,er as radioVariants,yt as spinVariants,tr as switchTrackVariants,kr as tabListVariants,Nr as tabTriggerVariants,cr as tableVariants,Rr as tooltipVariants,mr as treeItemVariants,Bl as useAlert,Jl as useSpin};
77
+ `}),jsx(Gt,{open:_,onOpenChange:R,children:jsxs(On,{size:"sm",children:[jsxs(Bn,{children:[jsxs(Kn,{children:[jsx(AlertTriangle,{className:"text-danger-500"}),"Confirm Deletion"]}),jsxs($n,{children:[C.size===1?`Are you sure you want to delete "${Z[Array.from(C)[0]]?.name}"?`:`Are you sure you want to delete ${C.size} selected items?`," ","This action cannot be undone."]})]}),jsxs(jn,{children:[jsx(pt,{intent:"ghost",onClick:()=>R(false),children:"Cancel"}),jsxs(pt,{intent:"danger",onClick:()=>{let h=Array.from(C).map(O=>Z[O]).filter(Boolean);b?.(h),P(new Set),V(null),R(false);},children:[jsx(Trash2,{className:"h-4 w-4"}),"Delete"]})]})]})})]}):null}function Mt({label:e,value:t,mono:r}){return jsxs("div",{children:[jsx("div",{className:"mb-0.5 font-semibold uppercase tracking-wider text-(--fe-text-muted)",children:e}),jsx("div",{className:n("text-(--fe-text) break-all leading-snug",r&&"font-mono text-[9px]"),children:t})]})}function Nd(e,t){let r=t.getBoundingClientRect(),a=Math.max(r.width,r.height)*1.2,s=e.clientX-r.left,o=e.clientY-r.top,l=document.createElement("span");l.className="masonry-ripple",l.style.width=`${a}px`,l.style.height=`${a}px`,l.style.left=`${s}px`,l.style.top=`${o}px`,t.appendChild(l),l.addEventListener("animationend",()=>l.remove());}function va({columns:e,columnWidth:t=240,gap:r=16,items:a,onItemClick:s,className:o,style:l,children:p,...x}){let u=useRef(null),c=useRef([]),[w,b]=useState(()=>e??1),[m,v]=useState([]),[d,f]=useState(0),k=a?a.map((C,P)=>({key:C.key??P,node:C.content})):zt.Children.toArray(p).map((C,P)=>({key:C.key??P,node:C})),g=k.length,L=useCallback(C=>e??Math.max(1,Math.floor((C+r)/(t+r))),[e,t,r]),N=useCallback(()=>{let C=u.current;if(!C)return;let P=C.clientWidth,A=L(P);b(A);let V=(P-(A-1)*r)/A,y=new Array(A).fill(0),K=[];for(let ae=0;ae<g;ae++){let U=c.current[ae],pe=U?U.offsetHeight:0,j=0;for(let Y=1;Y<A;Y++)y[Y]<y[j]&&(j=Y);K.push({top:y[j],left:j*(V+r),width:V}),y[j]+=pe+r;}let W=Math.max(0,...y)-(g?r:0);v(K),f(W);},[g,L,r]);useEffect(()=>{let C=u.current;if(!C)return;let P=new ResizeObserver(()=>N());return P.observe(C),()=>P.disconnect()},[N]),useEffect(()=>{let C=requestAnimationFrame(N);return ()=>cancelAnimationFrame(C)},[N]),useEffect(()=>{let C=new ResizeObserver(()=>N());return c.current.forEach(P=>{P&&C.observe(P);}),()=>C.disconnect()},[g,w,N]);let T=useCallback((C,P)=>{let A=C.currentTarget;Nd(C,A),s?.(a?.[P],P);},[s,a]),$=C=>{if(!a)return false;let P=a[C];return !!(P.title||P.description||P.actions)};return jsx("div",{ref:u,className:n("relative",o),style:{...l,height:d},...x,children:k.map((C,P)=>jsxs("div",{ref:A=>{c.current[P]=A;},className:"masonry-item",role:"button",tabIndex:0,onClick:A=>T(A,P),onKeyDown:A=>{(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),s?.(a?.[P],P));},style:{position:"absolute",top:m[P]?.top??0,left:m[P]?.left??0,width:m[P]?.width??"100%"},children:[C.node,$(P)&&jsxs("div",{className:"masonry-item-overlay",children:[a[P].title&&jsx("p",{className:"masonry-item-overlay-title",children:a[P].title}),a[P].description&&jsx("p",{className:"masonry-item-overlay-desc",children:a[P].description}),a[P].actions&&jsx("div",{className:"masonry-item-overlay-actions",children:a[P].actions})]})]},C.key))})}var Cd={FilmReel:sa,MiniPlayer:la,CinePlayer:da,FileExplorer:ba,Masonry:va},wa=Cd;var Vo=cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});var Do=cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});var Ca=createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),Sd={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},Fo={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function Ta({children:e,className:t,intent:r,size:a="md",layout:s="stacked",title:o,description:l,footer:p,onValues:x,onSubmit:u,...c}){let w=Sd[a??"md"],[b,m]=useState({}),v=useCallback(d=>{if(u?.(d),x){let f=Object.fromEntries(new FormData(d.currentTarget).entries()),k=x(f,d),g=L=>{if(!L)return;let N={};for(let[T,{result:$,reason:C}]of Object.entries(L))C&&(N[T]={status:$?"success":"error",message:C});m(N);};k instanceof Promise?k.then(g).catch(()=>{}):g(k);}},[u,x]);return jsx(Ca.Provider,{value:{layout:s??"stacked",size:a??"md",labelWidth:w,bulkErrors:b},children:jsxs("form",{className:n(Vo({intent:r,size:a}),"flex flex-col",t),onSubmit:v,...c,children:[(o||l)&&jsxs("div",{className:"mb-(--form-header-mb)",children:[o&&jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:o}),l&&jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:l})]}),jsx("div",{className:n("flex flex-col",Fo[a??"md"]),children:e}),p&&jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:p})]})})}var Vd={error:jsx(AlertCircle,{}),warning:jsx(AlertTriangle,{}),success:jsx(CheckCircle,{}),hint:jsx(Info,{})};function Dd({label:e,layout:t,required:r,hint:a,validation:s,name:o,onValidate:l,className:p,children:x}){let u=useContext(Ca),c=useId(),[w,b]=useState(void 0),m=o?u.bulkErrors[o]:void 0,v=s??w??m,f=(t??u.layout)==="inline",k=useCallback($=>{let C=$!=null&&typeof $=="object"&&"target"in $?$.target.value:$;if(o&&u.bulkErrors[o]&&(u.bulkErrors[o]=void 0),!l){b(void 0);return}let{result:P,reason:A}=l(C);b(A?{status:P?"success":"error",message:A}:void 0);},[l,o,u.bulkErrors]),g=v?`${c}-validation`:a?`${c}-hint`:void 0,L=zt.Children.map(x,($,C)=>{if(C!==0||!zt.isValidElement($))return $;let P=$,A={};if(P.props.id||(A.id=c),g&&!P.props["aria-describedby"]&&(A["aria-describedby"]=g),v?.status==="error"&&!P.props["aria-invalid"]&&(A["aria-invalid"]=true),o&&!P.props.name&&(A.name=o),l){let V=P.props.onChange;A.onChange=y=>{V?.(y),k(y);};}return Object.keys(A).length?zt.cloneElement(P,A):$}),N=e!=null&&jsx("label",{htmlFor:c,className:n("shrink-0 text-sm font-medium","text-primary-700 dark:text-primary-300",r&&"after:ml-0.5 after:text-danger-500 after:content-['*']",f&&"pt-1.75"),style:f?{width:u.labelWidth,minWidth:u.labelWidth}:void 0,children:e}),T=s?`${c}-validation`:a?`${c}-hint`:void 0;return jsxs("div",{className:n("flex w-full flex-col gap-1.5",f&&"md:flex-row md:items-start md:gap-(--form-item-gap-md)",p),children:[N,jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[L,v&&jsxs("p",{id:`${c}-validation`,className:n(Do({status:v.status})),role:v.status==="error"?"alert":void 0,children:[Vd[v.status],jsx("span",{children:v.message})]}),a&&jsx("p",{id:T===`${c}-hint`?T:void 0,className:"mt-1 text-xs text-primary-400 dark:text-primary-500",children:a})]})]})}function Id({title:e,description:t,className:r,children:a}){let{size:s}=useContext(Ca);return jsxs("fieldset",{className:n("flex flex-col rounded-(--form-radius) border border-primary-200 p-4 dark:border-primary-700",Fo[s],r),children:[(e||t)&&jsxs("legend",{className:"px-1.5 pb-1",children:[e&&jsx("span",{className:"text-sm font-semibold text-primary-700 dark:text-primary-300",children:e}),t&&jsx("span",{className:"ml-2 text-xs text-primary-400 dark:text-primary-500",children:t})]}),a]})}var Ad={Form:Ta},Ra=Ad;var Hd={Primitives:ln,Layout:un,DataDisplay:Rn,Navigation:Vn,Disclosure:Hn,Overlay:Xn,Feedback:na,Extras:wa,Forms:Ra},J0=Hd;export{In as Accordion,Wi as AccordionContent,Ui as AccordionItem,qi as AccordionTrigger,Zn as Alert,Ml as AlertContent,Ll as AlertDescription,Pl as AlertIcon,Rl as AlertTitle,Qr as Badge,pt as Button,cn as Card,Ds as CardContent,Vs as CardDescription,Is as CardFooter,Es as CardHeader,Ss as CardTitle,wn as Chat,an as Checkbox,da as CinePlayer,Tn as CodeBlock,Rn as DataDisplay,ni as DataTable,Gt as Dialog,ml as DialogClose,On as DialogContent,$n as DialogDescription,jn as DialogFooter,Bn as DialogHeader,Kn as DialogTitle,Hn as Disclosure,Xr as Dropdown,ft as DropdownButton,wa as Extras,na as Feedback,ba as FileExplorer,sa as FilmReel,Ta as Form,Dd as FormItem,Id as FormSection,Ra as Forms,En as Header,As as HorizontalCard,dn as ImageCard,Os as ImageCardActions,Fs as ImageCardBody,zs as ImageCardDescription,_s as ImageCardTitle,Jr as Indicator,tn as Input,en as Label,un as Layout,yn as List,si as ListItem,va as Masonry,la as MiniPlayer,Sn as NavLink,Vn as Navigation,Xn as Overlay,pn as Panel,Ks as PanelContent,Bs as PanelHeader,ln as Primitives,ea as ProgressBar,sn as Radio,on as RadioGroup,Ln as SideNav,ti as SortableTable,ra as Spin,nn as Switch,rl as TabContent,Ji as TabList,tl as TabPanels,el as TabTrigger,_t as Table,bn as TableBody,nt as TableCell,xn as TableEmpty,rt as TableHead,gn as TableHeader,Ft as TableRow,An as Tabs,rn as TextBox,Gn as Tooltip,hn as Tree,ui as TreeItem,wr as accordionContentVariants,vr as accordionTriggerVariants,kr as accordionVariants,Xt as alertVariants,Zt as badgeVariants,ct as buttonVariants,Dt as cardVariants,er as checkboxVariants,n as cn,At as codeBlockVariants,Dl as configureAlertTopOffset,J0 as default,jt as dialogContentVariants,Qt as indicatorVariants,dt as inputVariants,Jt as labelVariants,mr as listItemVariants,pr as listVariants,yr as navLinkVariants,cr as panelVariants,Mr as progressBarVariants,tr as radioVariants,vt as spinVariants,rr as switchTrackVariants,Nr as tabListVariants,Cr as tabTriggerVariants,dr as tableVariants,Pr as tooltipVariants,ur as treeItemVariants,Bl as useAlert,ec as useSpin};