@jacshuo/onyx 0.1.7 → 0.1.9
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/README.md +81 -31
- package/dist/Accordion.cjs +1 -0
- package/dist/Accordion.d.cts +23 -0
- package/dist/Accordion.d.ts +23 -0
- package/dist/Accordion.js +1 -0
- package/dist/Alert.cjs +1 -0
- package/dist/Alert.d.cts +28 -0
- package/dist/Alert.d.ts +28 -0
- package/dist/Alert.js +1 -0
- package/dist/Badge.cjs +1 -0
- package/dist/Badge.d.cts +10 -0
- package/dist/Badge.d.ts +10 -0
- package/dist/Badge.js +1 -0
- package/dist/Button.cjs +1 -0
- package/dist/Button.d.cts +10 -0
- package/dist/Button.d.ts +10 -0
- package/dist/Button.js +1 -0
- package/dist/Card.cjs +1 -0
- package/dist/Card.d.cts +33 -0
- package/dist/Card.d.ts +33 -0
- package/dist/Card.js +1 -0
- package/dist/Chat.cjs +1 -0
- package/dist/Chat.d.cts +32 -0
- package/dist/{components/Chat.d.ts → Chat.d.ts} +8 -5
- package/dist/Chat.js +1 -0
- package/dist/CinePlayer.cjs +1 -0
- package/dist/CinePlayer.d.cts +40 -0
- package/dist/{components/CinePlayer.d.ts → CinePlayer.d.ts} +8 -5
- package/dist/CinePlayer.js +1 -0
- package/dist/Dialog.cjs +1 -0
- package/dist/Dialog.d.cts +24 -0
- package/dist/Dialog.d.ts +24 -0
- package/dist/Dialog.js +1 -0
- package/dist/Dropdown.cjs +1 -0
- package/dist/Dropdown.d.cts +59 -0
- package/dist/{components/Dropdown.d.ts → Dropdown.d.ts} +10 -8
- package/dist/Dropdown.js +1 -0
- package/dist/DropdownButton.cjs +1 -0
- package/dist/DropdownButton.d.cts +37 -0
- package/dist/{components/DropdownButton.d.ts → DropdownButton.d.ts} +11 -7
- package/dist/DropdownButton.js +1 -0
- package/dist/FileExplorer.cjs +1 -0
- package/dist/FileExplorer.d.cts +96 -0
- package/dist/{components/FileExplorer.d.ts → FileExplorer.d.ts} +12 -9
- package/dist/FileExplorer.js +1 -0
- package/dist/FilmReel.cjs +1 -0
- package/dist/FilmReel.d.cts +43 -0
- package/dist/{components/FilmReel.d.ts → FilmReel.d.ts} +10 -7
- package/dist/FilmReel.js +1 -0
- package/dist/Header.cjs +1 -0
- package/dist/Header.d.cts +53 -0
- package/dist/{components/Header.d.ts → Header.d.ts} +9 -6
- package/dist/Header.js +1 -0
- package/dist/ImageCard.cjs +1 -0
- package/dist/ImageCard.d.cts +22 -0
- package/dist/ImageCard.d.ts +22 -0
- package/dist/ImageCard.js +1 -0
- package/dist/Input.cjs +1 -0
- package/dist/Input.d.cts +24 -0
- package/dist/{components/Input.d.ts → Input.d.ts} +9 -6
- package/dist/Input.js +1 -0
- package/dist/Label.cjs +1 -0
- package/dist/Label.d.cts +10 -0
- package/dist/Label.d.ts +10 -0
- package/dist/Label.js +1 -0
- package/dist/List.cjs +1 -0
- package/dist/List.d.cts +11 -0
- package/dist/List.d.ts +11 -0
- package/dist/List.js +1 -0
- package/dist/MiniPlayer.cjs +1 -0
- package/dist/MiniPlayer.d.cts +53 -0
- package/dist/{components/MiniPlayer.d.ts → MiniPlayer.d.ts} +9 -6
- package/dist/MiniPlayer.js +1 -0
- package/dist/Panel.cjs +1 -0
- package/dist/Panel.d.cts +12 -0
- package/dist/Panel.d.ts +12 -0
- package/dist/Panel.js +1 -0
- package/dist/SideNav.cjs +1 -0
- package/dist/SideNav.d.cts +67 -0
- package/dist/{components/SideNav.d.ts → SideNav.d.ts} +10 -7
- package/dist/SideNav.js +1 -0
- package/dist/Table.cjs +1 -0
- package/dist/Table.d.cts +82 -0
- package/dist/{components/Table.d.ts → Table.d.ts} +21 -18
- package/dist/Table.js +1 -0
- package/dist/Tabs.cjs +1 -0
- package/dist/Tabs.d.cts +28 -0
- package/dist/Tabs.d.ts +28 -0
- package/dist/Tabs.js +1 -0
- package/dist/Tooltip.cjs +1 -0
- package/dist/Tooltip.d.cts +17 -0
- package/dist/Tooltip.d.ts +17 -0
- package/dist/Tooltip.js +1 -0
- package/dist/Tree.cjs +1 -0
- package/dist/Tree.d.cts +33 -0
- package/dist/{components/Tree.d.ts → Tree.d.ts} +7 -5
- package/dist/Tree.js +1 -0
- package/dist/chunks/chunk-2DFUB3KN.js +1 -0
- package/dist/chunks/chunk-4BKLB4KV.cjs +1 -0
- package/dist/chunks/chunk-5PFWPAB6.js +1 -0
- package/dist/chunks/chunk-5XPTHIGM.cjs +1 -0
- package/dist/chunks/chunk-63LKYF4D.cjs +1 -0
- package/dist/chunks/chunk-66LIYNLT.cjs +1 -0
- package/dist/chunks/chunk-6AMBRNVW.js +1 -0
- package/dist/chunks/chunk-6HZRNHE6.js +1 -0
- package/dist/chunks/chunk-6OLB4BUJ.js +1 -0
- package/dist/chunks/chunk-6QQPQPD2.cjs +1 -0
- package/dist/chunks/chunk-7NYDMXZT.cjs +1 -0
- package/dist/chunks/chunk-A5KQAHDU.js +6 -0
- package/dist/chunks/chunk-AAFG7R4U.cjs +1 -0
- package/dist/chunks/chunk-ACQOSYBI.js +1 -0
- package/dist/chunks/chunk-AXBJKPZZ.js +1 -0
- package/dist/chunks/chunk-BQLPFPCA.cjs +1 -0
- package/dist/chunks/chunk-BW6NCATH.js +1 -0
- package/dist/chunks/chunk-CGGBE3GJ.cjs +2 -0
- package/dist/chunks/chunk-DWTXICFN.js +1 -0
- package/dist/chunks/chunk-DXXCR4ON.js +1 -0
- package/dist/chunks/chunk-EK4BC3WT.cjs +1 -0
- package/dist/chunks/chunk-ENRXEISR.js +1 -0
- package/dist/chunks/chunk-ER2MYWQO.cjs +1 -0
- package/dist/chunks/chunk-ETVECKSE.js +2 -0
- package/dist/chunks/chunk-GAK5OQW4.cjs +1 -0
- package/dist/chunks/chunk-HA5QPLJP.cjs +1 -0
- package/dist/chunks/chunk-JAKATE3I.js +1 -0
- package/dist/chunks/chunk-KVV5ZEYV.cjs +1 -0
- package/dist/chunks/chunk-MXDZHU6E.cjs +55 -0
- package/dist/chunks/chunk-N36YROV3.js +1 -0
- package/dist/chunks/chunk-N4QZRR2Y.cjs +17 -0
- package/dist/chunks/chunk-NBLJWONR.cjs +1 -0
- package/dist/chunks/chunk-NCJ5A6VE.js +1 -0
- package/dist/chunks/chunk-NG7F3GCN.js +55 -0
- package/dist/chunks/chunk-ORNYPP3O.cjs +1 -0
- package/dist/chunks/chunk-OZVJMUXX.cjs +1 -0
- package/dist/chunks/chunk-P652JDOU.cjs +1 -0
- package/dist/chunks/chunk-PHAX43YF.js +1 -0
- package/dist/chunks/chunk-PODSD5UT.js +1 -0
- package/dist/chunks/chunk-PSMWVB3O.js +1 -0
- package/dist/chunks/chunk-QLKUAE3R.cjs +1 -0
- package/dist/chunks/chunk-QTADJ7I5.js +17 -0
- package/dist/chunks/chunk-R2K6KI4L.js +1 -0
- package/dist/chunks/chunk-SCSMM2J4.js +1 -0
- package/dist/chunks/chunk-SMZQSZH2.js +1 -0
- package/dist/chunks/chunk-TDI2N27U.cjs +1 -0
- package/dist/chunks/chunk-U2ZQHP4I.cjs +1 -0
- package/dist/chunks/chunk-UDH3OKNZ.cjs +6 -0
- package/dist/chunks/chunk-VDC7N5TC.js +1 -0
- package/dist/chunks/chunk-X5YP5TMY.cjs +1 -0
- package/dist/chunks/chunk-XCP37UUA.cjs +1 -0
- package/dist/chunks/chunk-XOO3AGIT.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +31 -0
- package/dist/index.d.ts +31 -27
- package/dist/index.js +1 -1
- package/dist/styles/CinePlayer.css +54 -0
- package/dist/styles/FileExplorer.css +38 -0
- package/dist/styles/FilmReel.css +24 -0
- package/dist/styles/MiniPlayer.css +71 -0
- package/dist/styles/base.css +3701 -0
- package/dist/styles/tailwind.css +21 -0
- package/dist/styles/tokens.css +116 -0
- package/dist/styles.css +18 -18
- package/dist/theme.cjs +1 -0
- package/dist/theme.d.cts +51 -0
- package/dist/theme.d.ts +51 -0
- package/dist/theme.js +1 -0
- package/dist/utils.cjs +1 -0
- package/dist/utils.d.cts +5 -0
- package/dist/utils.d.ts +5 -0
- package/dist/utils.js +1 -0
- package/package.json +14 -7
- package/dist/components/Accordion.d.ts +0 -20
- package/dist/components/Accordion.d.ts.map +0 -1
- package/dist/components/Alert.d.ts +0 -25
- package/dist/components/Alert.d.ts.map +0 -1
- package/dist/components/Badge.d.ts +0 -7
- package/dist/components/Badge.d.ts.map +0 -1
- package/dist/components/Button.d.ts +0 -7
- package/dist/components/Button.d.ts.map +0 -1
- package/dist/components/Card.d.ts +0 -30
- package/dist/components/Card.d.ts.map +0 -1
- package/dist/components/Chat.d.ts.map +0 -1
- package/dist/components/CinePlayer.d.ts.map +0 -1
- package/dist/components/Dialog.d.ts +0 -21
- package/dist/components/Dialog.d.ts.map +0 -1
- package/dist/components/Dropdown.d.ts.map +0 -1
- package/dist/components/DropdownButton.d.ts.map +0 -1
- package/dist/components/FileExplorer.d.ts.map +0 -1
- package/dist/components/FilmReel.d.ts.map +0 -1
- package/dist/components/Header.d.ts.map +0 -1
- package/dist/components/ImageCard.d.ts +0 -19
- package/dist/components/ImageCard.d.ts.map +0 -1
- package/dist/components/Input.d.ts.map +0 -1
- package/dist/components/Label.d.ts +0 -7
- package/dist/components/Label.d.ts.map +0 -1
- package/dist/components/List.d.ts +0 -8
- package/dist/components/List.d.ts.map +0 -1
- package/dist/components/MiniPlayer.d.ts.map +0 -1
- package/dist/components/Panel.d.ts +0 -9
- package/dist/components/Panel.d.ts.map +0 -1
- package/dist/components/SideNav.d.ts.map +0 -1
- package/dist/components/Table.d.ts.map +0 -1
- package/dist/components/Tabs.d.ts +0 -25
- package/dist/components/Tabs.d.ts.map +0 -1
- package/dist/components/Tooltip.d.ts +0 -14
- package/dist/components/Tooltip.d.ts.map +0 -1
- package/dist/components/Tree.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/utils.d.ts +0 -3
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/styles/theme.d.ts +0 -48
- package/dist/styles/theme.d.ts.map +0 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import {a as a$1,b,c,d,e,f}from'./chunk-NCJ5A6VE.js';import {a as a$2}from'./chunk-N36YROV3.js';import {a}from'./chunk-AXBJKPZZ.js';import ze,{useState,useRef,useMemo,useCallback,useEffect}from'react';import {HardDrive,LayoutGrid,LayoutList,Minus,Minimize2,Maximize2,X,FolderUp,Search,CornerRightDown,Folder,ArrowUp,AlertTriangle,Trash2,FileArchive,Database,FileSpreadsheet,FileText,Terminal,FileCode,Video,Music,Image,File}from'lucide-react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';function _(o){let f=o.lastIndexOf(".");return f>0?o.slice(f).toLowerCase():""}function Se(o){return o==null?"\u2014":o<1024?`${o} B`:o<1024*1024?`${(o/1024).toFixed(1)} KB`:o<1024*1024*1024?`${(o/(1024*1024)).toFixed(1)} MB`:`${(o/(1024*1024*1024)).toFixed(2)} GB`}function ue(o){return o?(typeof o=="string"?new Date(o):o).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"\u2014"}var ut={".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 fe(o){if(o.type==="directory")return Folder;let f=o.extension||_(o.name);return ut[f]||File}function Ie(o,f,I){return Math.max(f,Math.min(I,o))}function yt({files:o,title:f$1="File Explorer",accent:I="#8b5cf6",defaultView:Ae="list",initialPosition:Re,initialSize:Te,dockable:je=false,dockSide:Be="right",visible:G=true,onFileOpen:X$1,onSelectionChange:me,onNavigate:$,onDelete:U,onClose:Ve,onMinimize:pe,onPathSubmit:xe,defaultInputMode:Xe="search",actions:$e,resizable:He=true,minSize:L={width:400,height:300},className:Ke}){let[q,Oe]=useState(Ae),[d$1,A]=useState(new Set),[ge,H]=useState(null),[l,Q]=useState(false),[R,W]=useState(false),[w,Pe]=useState(""),[y,Ye]=useState(Xe),[_e,Ge]=useState(G),[Ue,K]=useState(false),J=Te??{width:720,height:520},[x,O]=useState(Re??{x:Math.max(0,Math.round((window.innerWidth-J.width)/2)),y:Math.max(0,Math.round((window.innerHeight-J.height)/2))}),[k,Z]=useState(J),[h,qe]=useState(null),ee=useRef(false),te=useRef({x:0,y:0}),ne=useRef(null),T=useRef(false),P=useRef({x:0,y:0,w:0,h:0,px:0,py:0}),re=G!==void 0?G:_e,oe=useMemo(()=>{let e=o.filter(i=>i.type==="directory"),n=o.filter(i=>i.type==="file");return e.sort((i,s)=>i.name.localeCompare(s.name)),n.sort((i,s)=>i.name.localeCompare(s.name)),[...e,...n]},[o]),u=useMemo(()=>{if(y!=="search"||!w.trim())return oe;let e=w.toLowerCase();return oe.filter(n=>n.name.toLowerCase().includes(e))},[oe,w,y]),a$3=ge!=null?u[ge]:null,he=useCallback((e,n)=>{A(i=>{let s=new Set(i);return n.ctrlKey||n.metaKey?s.has(e)?s.delete(e):s.add(e):(s.clear(),s.add(e)),s}),H(e);},[]);useEffect(()=>{if(!me)return;let e=Array.from(d$1).map(n=>u[n]).filter(Boolean);me(e);},[d$1]);let be=useCallback(e=>{let n=u[e];n&&(n.type==="directory"?$?.(n.path):X$1?.(n));},[u,X$1,$]),Qe=useCallback(e=>{l||e.target.closest("button")||(ee.current=true,te.current={x:e.clientX-x.x,y:e.clientY-x.y},e.preventDefault());},[x,l]);useEffect(()=>{let e=i=>{if(!ee.current)return;let s=window.innerWidth-100,m=window.innerHeight-40;O({x:Ie(i.clientX-te.current.x,0,s),y:Ie(i.clientY-te.current.y,0,m)});},n=()=>{ee.current=false,T.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",n),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",n);}},[]);let b$1=useCallback((e,n)=>{l||(n.preventDefault(),n.stopPropagation(),T.current=e,P.current={x:n.clientX,y:n.clientY,w:k.width,h:k.height,px:x.x,py:x.y},document.body.style.cursor=e==="e"||e==="w"?"ew-resize":e==="n"||e==="s"?"ns-resize":e==="nw"||e==="se"?"nwse-resize":"nesw-resize",document.body.style.userSelect="none");},[l,k,x]);useEffect(()=>{let e=i=>{if(!T.current)return;let s=T.current,m=i.clientX-P.current.x,N=i.clientY-P.current.y,{w:M,h:D,px:se,py:ae}=P.current;if(s.includes("e")&&(M=Math.max(L.width,M+m)),s.includes("w")){let j=Math.max(L.width,M-m);se=se+(M-j),M=j;}if(s.includes("s")&&(D=Math.max(L.height,D+N)),s.includes("n")){let j=Math.max(L.height,D-N);ae=ae+(D-j),D=j;}Z({width:M,height:D}),O({x:se,y:ae});},n=()=>{T.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",n),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",n);}},[L]);let ve=useCallback(()=>{l?(h&&(O(h.pos),Z(h.size)),Q(false)):(qe({pos:x,size:k}),Q(true));},[l,x,k,h]),We=useCallback(()=>{R?W(false):(l&&(Q(false),h&&(O(h.pos),Z(h.size))),W(true),pe?.());},[R,l,h,pe]);useEffect(()=>{if(!re||R)return;let e=n=>{if(!(!ne.current?.contains(document.activeElement)&&document.activeElement!==ne.current)){if(n.key==="Escape"&&(H(null),A(new Set)),n.ctrlKey&&n.key==="a"){n.preventDefault();let i=new Set(u.map((s,m)=>m));A(i);}n.key==="Delete"&&d$1.size>0&&U&&(n.preventDefault(),K(true));}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[re,R,u,d$1,U]);let we={"--fe-accent":I};return R?jsx("div",{className:a("fixed z-100 cursor-pointer transition-all duration-300",Be==="right"?"right-0 top-1/2 -translate-y-1/2":"left-0 top-1/2 -translate-y-1/2"),style:we,onClick:()=>W(false),title:`Restore ${f$1}`,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:f$1})]})}):re?jsxs("div",{ref:ne,className:a("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]",l&&"rounded-none",Ke),style:{...we,left:l?0:x.x,top:l?0:x.y,width:l?"100vw":k.width,height:l?"100vh":k.height,transition:l?"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:Qe,onDoubleClick:ve,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:f$1}),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:()=>Oe(e=>e==="list"?"grid":"list"),title:q==="list"?"Grid view":"List view",children:q==="list"?jsx(LayoutGrid,{className:"h-3.5 w-3.5"}):jsx(LayoutList,{className:"h-3.5 w-3.5"})}),je&&jsx("button",{className:"fe-btn",onClick:We,title:"Dock to edge",children:jsx(Minus,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn",onClick:ve,title:l?"Restore":"Maximize",children:l?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:()=>{Ve?.(),Ge(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:()=>$?.(".."),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:y==="navigate"?{color:"var(--fe-accent)",background:"color-mix(in srgb, var(--fe-accent) 15%, transparent)"}:void 0,onClick:()=>Ye(e=>e==="search"?"navigate":"search"),title:y==="search"?"Switch to path navigation":"Switch to file search",children:y==="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:w,onChange:e=>Pe(e.target.value),onKeyDown:e=>{e.key==="Enter"&&w.trim()&&y==="navigate"&&(xe?xe(w.trim()):$?.(w.trim()));},placeholder:y==="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:[u.length," item",u.length!==1?"s":"",d$1.size>0&&` \xB7 ${d$1.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:e=>{e.target===e.currentTarget&&(A(new Set),H(null));},children:u.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"})]}):q==="list"?jsx("div",{className:"space-y-px",children:u.map((e,n)=>{let i=fe(e),s=d$1.has(n),m=e.extension||_(e.name);return jsxs("div",{className:a("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",s?"bg-(--fe-accent)/15 text-(--fe-text-strong)":"hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),style:s?{boxShadow:"inset 2px 0 0 var(--fe-accent)"}:void 0,onClick:N=>he(n,N),onDoubleClick:()=>be(n),children:[jsx(i,{className:a("h-4 w-4 shrink-0",e.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"flex-1 truncate text-xs font-medium",children:e.name}),m&&e.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}),e.size!=null&&jsx("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:Se(e.size)}),e.modifiedAt&&jsx("span",{className:"hidden shrink-0 font-mono text-[10px] text-(--fe-text-muted) lg:inline",children:ue(e.modifiedAt)})]},e.path+n)})}):jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(90px,1fr))] gap-1.5 p-1",children:u.map((e,n)=>{let i=fe(e),s=d$1.has(n),m=e.extension||_(e.name);return jsxs("div",{className:a("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",s?"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:N=>he(n,N),onDoubleClick:()=>be(n),children:[jsx(i,{className:a("h-7 w-7",e.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"w-full truncate text-[10px] font-medium leading-tight",children:e.name}),m&&e.type==="file"&&jsx("span",{className:"font-mono text-[8px] uppercase text-(--fe-text-muted)",children:m})]},e.path+n)})})}),jsx("div",{className:a("shrink-0 overflow-hidden transition-[width] duration-300 ease-out",a$3?"w-56":"w-0"),children:a$3&&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:[ze.createElement(fe(a$3),{className:a("h-10 w-10 mb-2",a$3.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:a$3.name})]}),jsxs("div",{className:"space-y-2.5 text-[10px]",children:[jsx(S,{label:"Type",value:a$3.type==="directory"?"Directory":a$3.mimeType||a$3.extension||_(a$3.name)||"File"}),a$3.size!=null&&jsx(S,{label:"Size",value:Se(a$3.size)}),jsx(S,{label:"Path",value:a$3.path,mono:true}),a$3.extension&&jsx(S,{label:"Extension",value:a$3.extension}),a$3.modifiedAt&&jsx(S,{label:"Modified",value:ue(a$3.modifiedAt)}),a$3.createdAt&&jsx(S,{label:"Created",value:ue(a$3.createdAt)})]}),jsxs("div",{className:"mt-auto flex flex-col gap-1.5",children:[a$3.type==="file"&&X$1&&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:()=>X$1(a$3),children:[jsx(ArrowUp,{className:"h-3 w-3 rotate-45"}),"Open"]}),$e?.map(e=>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:()=>e.onClick(a$3),children:[e.icon&&ze.createElement(e.icon,{className:"h-3 w-3"}),e.label]},e.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:[u.length," items"]}),jsxs("div",{className:"flex items-center gap-2",children:[d$1.size>0&&jsxs("span",{className:"text-(--fe-accent)/70",children:[d$1.size," selected"]}),jsx("span",{className:"opacity-50",children:"Ctrl+Click multi-select \xB7 Esc clear"})]})]}),He&&!l&&jsxs(Fragment,{children:[jsx("div",{className:"absolute top-0 left-2 right-2 h-1.5 cursor-ns-resize",onMouseDown:e=>b$1("n",e)}),jsx("div",{className:"absolute bottom-0 left-2 right-2 h-1.5 cursor-ns-resize",onMouseDown:e=>b$1("s",e)}),jsx("div",{className:"absolute top-2 left-0 bottom-2 w-1.5 cursor-ew-resize",onMouseDown:e=>b$1("w",e)}),jsx("div",{className:"absolute top-2 right-0 bottom-2 w-1.5 cursor-ew-resize",onMouseDown:e=>b$1("e",e)}),jsx("div",{className:"absolute top-0 left-0 h-3 w-3 cursor-nwse-resize",onMouseDown:e=>b$1("nw",e)}),jsx("div",{className:"absolute top-0 right-0 h-3 w-3 cursor-nesw-resize",onMouseDown:e=>b$1("ne",e)}),jsx("div",{className:"absolute bottom-0 left-0 h-3 w-3 cursor-nesw-resize",onMouseDown:e=>b$1("sw",e)}),jsx("div",{className:"absolute bottom-0 right-0 h-3 w-3 cursor-nwse-resize",onMouseDown:e=>b$1("se",e)})]}),jsx("style",{children:`
|
|
2
|
+
.fe-window {
|
|
3
|
+
background: var(--fe-bg);
|
|
4
|
+
box-shadow: var(--fe-shadow);
|
|
5
|
+
}
|
|
6
|
+
.fe-titlebar {
|
|
7
|
+
background: linear-gradient(90deg, color-mix(in srgb, var(--fe-accent) 6%, transparent), transparent 60%);
|
|
8
|
+
border-bottom: 1px solid var(--fe-border);
|
|
9
|
+
}
|
|
10
|
+
.fe-toolbar {
|
|
11
|
+
border-bottom: 1px solid var(--fe-border);
|
|
12
|
+
background: var(--fe-surface);
|
|
13
|
+
}
|
|
14
|
+
.fe-panel {
|
|
15
|
+
background: var(--fe-surface);
|
|
16
|
+
}
|
|
17
|
+
.fe-statusbar {
|
|
18
|
+
border-top: 1px solid var(--fe-border);
|
|
19
|
+
background: var(--fe-surface);
|
|
20
|
+
}
|
|
21
|
+
.fe-dock {
|
|
22
|
+
background: var(--fe-dock-bg);
|
|
23
|
+
border-left: 2px solid var(--fe-accent);
|
|
24
|
+
box-shadow: var(--fe-dock-shadow);
|
|
25
|
+
}
|
|
26
|
+
.fe-action {
|
|
27
|
+
background: var(--fe-surface-hover);
|
|
28
|
+
border: 1px solid var(--fe-border);
|
|
29
|
+
}
|
|
30
|
+
.fe-btn {
|
|
31
|
+
display: flex;
|
|
32
|
+
align-items: center;
|
|
33
|
+
justify-content: center;
|
|
34
|
+
padding: 5px;
|
|
35
|
+
border-radius: 6px;
|
|
36
|
+
color: var(--fe-btn-color);
|
|
37
|
+
transition: color 0.15s, background 0.15s, transform 0.1s;
|
|
38
|
+
}
|
|
39
|
+
.fe-btn:hover {
|
|
40
|
+
color: var(--fe-btn-hover);
|
|
41
|
+
background: var(--fe-btn-hover-bg);
|
|
42
|
+
}
|
|
43
|
+
.fe-btn:active { transform: scale(0.9); }
|
|
44
|
+
.fe-item {
|
|
45
|
+
animation: fe-item-in 0.25s ease-out both;
|
|
46
|
+
}
|
|
47
|
+
@keyframes fe-window-in {
|
|
48
|
+
from { opacity: 0; transform: scale(0.95) translateY(10px); }
|
|
49
|
+
to { opacity: 1; transform: scale(1) translateY(0); }
|
|
50
|
+
}
|
|
51
|
+
@keyframes fe-item-in {
|
|
52
|
+
from { opacity: 0; transform: translateX(-4px); }
|
|
53
|
+
to { opacity: 1; transform: translateX(0); }
|
|
54
|
+
}
|
|
55
|
+
`}),jsx(a$1,{open:Ue,onOpenChange:K,children:jsxs(b,{size:"sm",children:[jsxs(c,{children:[jsxs(d,{children:[jsx(AlertTriangle,{className:"text-danger-500"}),"Confirm Deletion"]}),jsxs(e,{children:[d$1.size===1?`Are you sure you want to delete "${u[Array.from(d$1)[0]]?.name}"?`:`Are you sure you want to delete ${d$1.size} selected items?`," ","This action cannot be undone."]})]}),jsxs(f,{children:[jsx(a$2,{intent:"ghost",onClick:()=>K(false),children:"Cancel"}),jsxs(a$2,{intent:"danger",onClick:()=>{let e=Array.from(d$1).map(n=>u[n]).filter(Boolean);U?.(e),A(new Set),H(null),K(false);},children:[jsx(Trash2,{className:"h-4 w-4"}),"Delete"]})]})]})})]}):null}function S({label:o,value:f,mono:I}){return jsxs("div",{children:[jsx("div",{className:"mb-0.5 font-semibold uppercase tracking-wider text-(--fe-text-muted)",children:o}),jsx("div",{className:a("text-(--fe-text) break-all leading-snug",I&&"font-mono text-[9px]"),children:f})]})}export{yt as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkNBLJWONR_cjs=require('./chunk-NBLJWONR.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),jsxRuntime=require('react/jsx-runtime');function p({intent:t,className:r,...o}){return jsxRuntime.jsx("ul",{className:chunkX5YP5TMY_cjs.a(chunkNBLJWONR_cjs.h({intent:t}),r),...o})}function m({className:t,...r}){return jsxRuntime.jsx("li",{className:chunkX5YP5TMY_cjs.a("flex items-center gap-1.5 [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",t),...r})}exports.a=p;exports.b=m;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),jsxRuntime=require('react/jsx-runtime');function f({avatar:e,sender:t}){return e?typeof e=="string"?/^(?:https?|data|blob):/.test(e)?jsxRuntime.jsx("img",{src:e,alt:t,className:"h-8 w-8 shrink-0 rounded-full object-cover",draggable:false}):jsxRuntime.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}):jsxRuntime.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full",children:e}):jsxRuntime.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 x({msg:e,alignRight:t}){return jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("flex gap-2.5",t?"flex-row-reverse":"flex-row"),children:[jsxRuntime.jsx(f,{avatar:e.avatar,sender:e.sender}),jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("flex max-w-[75%] flex-col gap-0.5",t?"items-end":"items-start"),children:[jsxRuntime.jsx("span",{className:"text-primary-500 dark:text-primary-400 text-xs",children:e.sender}),jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("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&&jsxRuntime.jsx("span",{className:"text-primary-400 dark:text-primary-500 text-[10px]",children:e.time})]})]})}function g({messages:e,mode:t="split",autoScroll:n=true,className:l,...o}){let d=react.useRef(null);return react.useEffect(()=>{n&&d.current?.scrollIntoView({behavior:"smooth"});},[e,n]),jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("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",l),...o,children:[e.map(i=>{let m=t==="split"&&!!i.self;return jsxRuntime.jsx(x,{msg:i,alignRight:m},i.id)}),jsxRuntime.jsx("div",{ref:d})]})}exports.a=g;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),jsxRuntime=require('react/jsx-runtime');function v({href:n,className:t,onClick:o,children:i}){return jsxRuntime.jsx("a",{href:n,className:t,onClick:o,children:i})}function y({brand:n,onBrandClick:t,navItems:o=[],actions:i=[],linkComponent:p=v,height:f="h-12",className:k,children:c}){return jsxRuntime.jsxs("header",{className:chunkX5YP5TMY_cjs.a("flex shrink-0 items-center justify-between border-b px-5","border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",f,k),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-6",children:[n&&jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("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?e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),t(e));}:void 0,children:n}),o.length>0&&jsxRuntime.jsx("nav",{className:"flex items-center gap-4 text-sm",children:o.map((e,l)=>{let a=typeof e.label=="string"?e.label:l,d=e.active?"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";return e.href?jsxRuntime.jsx(p,{href:e.href,className:d,onClick:e.onClick,children:e.label},a):jsxRuntime.jsx("button",{type:"button",className:chunkX5YP5TMY_cjs.a(d,"cursor-pointer"),onClick:e.onClick,children:e.label},a)})})]}),c&&jsxRuntime.jsx("div",{className:"flex items-center",children:c}),i.length>0&&jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:i.map((e,l)=>{let a="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";return e.href?jsxRuntime.jsx("a",{href:e.href,target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0,className:a,"aria-label":e["aria-label"],onClick:e.onClick,children:e.icon},e.key??l):jsxRuntime.jsx("button",{type:"button",className:a,"aria-label":e["aria-label"],onClick:e.onClick,children:e.icon},e.key??l)})})]})}exports.a=y;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a}from'./chunk-AXBJKPZZ.js';import {useRef,useEffect}from'react';import {jsxs,jsx}from'react/jsx-runtime';function f({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 x({msg:e,alignRight:t}){return jsxs("div",{className:a("flex gap-2.5",t?"flex-row-reverse":"flex-row"),children:[jsx(f,{avatar:e.avatar,sender:e.sender}),jsxs("div",{className:a("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:a("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 g({messages:e,mode:t="split",autoScroll:n=true,className:l,...o}){let d=useRef(null);return useEffect(()=>{n&&d.current?.scrollIntoView({behavior:"smooth"});},[e,n]),jsxs("div",{className:a("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",l),...o,children:[e.map(i=>{let m=t==="split"&&!!i.self;return jsx(x,{msg:i,alignRight:m},i.id)}),jsx("div",{ref:d})]})}export{g as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {b}from'./chunk-ACQOSYBI.js';import {a}from'./chunk-AXBJKPZZ.js';import {jsx}from'react/jsx-runtime';function m({intent:t,className:o,...e}){return jsx("span",{className:a(b({intent:t}),o),...e})}export{m as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {c}from'./chunk-ACQOSYBI.js';import {a}from'./chunk-AXBJKPZZ.js';import {useState,useRef,useMemo,useEffect,useCallback}from'react';import {ChevronDown,Check,ChevronRight}from'lucide-react';import {jsxs,jsx}from'react/jsx-runtime';function P(s,o){for(let r of s){if(r.value===o)return r;if(r.children){let c=P(r.children,o);if(c)return c}}}function T(s){let o=[];for(let r of s)r.children?.length||o.push(r),r.children&&o.push(...T(r.children));return o}function j({options:s,onSelect:o,depth:r=0}){let[c,f]=useState(null),u=useRef(void 0),b=e=>{u.current&&clearTimeout(u.current),f(e);},y=()=>{u.current=setTimeout(()=>f(null),150);};return useEffect(()=>()=>{u.current&&clearTimeout(u.current);},[]),jsx("div",{className:a("absolute z-50 min-w-44 rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white","animate-fade-in",r===0?"mt-1 w-full":"top-0 ml-0.5"),style:r>0?{left:"100%"}:void 0,role:"listbox",children:s.map(e=>{let l=!!e.children?.length,d=c===e.value;return jsxs("div",{className:"relative",onMouseEnter:()=>b(e.value),onMouseLeave:y,children:[jsxs("div",{role:"option","aria-selected":false,"aria-disabled":e.disabled,className:a("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",e.disabled&&"pointer-events-none opacity-50"),onClick:()=>{e.disabled||l||o(e.value,e);},children:[e.icon&&jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:e.icon}),jsx("span",{className:"flex-1 truncate",children:e.label??e.value}),l&&jsx(ChevronRight,{className:"text-primary-400 h-3.5 w-3.5 shrink-0"})]}),l&&d&&jsx(j,{options:e.children,onSelect:o,depth:r+1})]},e.value)})})}function G({options:s,filter:o,multiple:r,selected:c,canAdd:f,onSelect:u,onToggle:b,onAdd:y}){let e=useMemo(()=>T(s),[s]),l=o.toLowerCase(),d=o?e.filter(t=>(t.label??t.value).toLowerCase().includes(l)||t.value.toLowerCase().includes(l)):e;return jsxs("div",{className:a("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","animate-fade-in"),role:"listbox","aria-multiselectable":r||void 0,children:[d.map(t=>{let m=r&&c.includes(t.value);return jsxs("div",{role:"option","aria-selected":r?m:false,"aria-disabled":t.disabled,className:a("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",t.disabled&&"pointer-events-none opacity-50"),onClick:()=>{t.disabled||(r?b(t.value):u(t.value,t));},children:[r&&jsx("span",{className:a("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"})}),t.icon&&jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:t.icon}),jsx("span",{className:"truncate",children:t.label??t.value})]},t.value)}),d.length===0&&!f&&jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",children:"No matches"}),f&&jsxs("div",{className:a("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"),onClick:y,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",o.trim(),"\u201D"]})]})]})}function Y(s){let{options:o,placeholder:r="Select\u2026",editable:c$1=false,onAddItem:f,disabled:u=false,align:b="left",className:y}=s,e=s.multiple===true,l=e?s.selected??[]:[],[d,t]=useState(false),[m,h]=useState(""),k=useRef(null),R=useRef(null),D=e?void 0:s.value,w=useMemo(()=>D?P(o,D):void 0,[o,D]);useEffect(()=>{if(!d)return;let n=a=>{k.current&&!k.current.contains(a.target)&&(t(false),h(""));};return document.addEventListener("mousedown",n),()=>document.removeEventListener("mousedown",n)},[d]),useEffect(()=>{if(!d)return;let n=a=>{a.key==="Escape"&&(t(false),h(""));};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[d]);let A=useCallback((n,a)=>{e||s.onChange?.(n,a),t(false),h("");},[e,s]),H=useCallback(n=>{if(!e)return;let a=l.includes(n)?l.filter(q=>q!==n):[...l,n];s.onSelectionChange?.(a);},[e,l,s]),N=m.toLowerCase(),C=useMemo(()=>!c$1||!m.trim()?false:!T(o).some(a=>a.value.toLowerCase()===N||(a.label??a.value).toLowerCase()===N),[c$1,N,o]),O=useCallback(()=>{let n=m.trim();n&&(f?.(n),h(""));},[m,f]),I=useCallback(n=>{n.key==="Enter"&&C&&(n.preventDefault(),O());},[C,O]),B=useCallback(()=>{u||(t(n=>{let a=!n;return a&&c$1&&requestAnimationFrame(()=>R.current?.focus()),a}),h(""));},[u,c$1]),g;if(e){let n=l.length;n===0?g="":n<=2?g=l.map(a=>P(o,a)).map(a=>a?a.label??a.value:"").filter(Boolean).join(", "):g=`${n} selected`;}else g=w?w.label??w.value:"";let F=e||c$1;return jsxs("div",{ref:k,className:a("relative inline-block min-w-44",y),children:[jsxs("div",{className:a(c({state:"default",size:"md"}),"flex cursor-pointer items-center gap-1",u&&"pointer-events-none opacity-50"),onClick:B,role:"combobox","aria-expanded":d,"aria-haspopup":"listbox",children:[c$1?jsx("input",{ref:R,className:"min-w-0 flex-1 bg-transparent outline-none placeholder:text-secondary-400 dark:placeholder:text-secondary-600",value:d?m:g,placeholder:r,disabled:u,onChange:n=>{h(n.target.value),d||t(true);},onKeyDown:I,onClick:n=>{n.stopPropagation(),d||t(true);}}):jsx("span",{className:a("flex-1 truncate",!g&&"text-secondary-400 dark:text-secondary-600"),children:g||r}),w?.icon&&!c$1&&!e&&jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:w.icon}),e&&l.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:l.length}),jsx(ChevronDown,{className:a("text-primary-400 h-4 w-4 shrink-0 transition-transform",d&&"rotate-180")})]}),d&&jsx("div",{className:a(b==="right"?"right-0":"left-0","absolute w-full"),children:F?jsx(G,{options:o,filter:m,multiple:e,selected:l,canAdd:C,onSelect:A,onToggle:H,onAdd:O}):jsx(j,{options:o,onSelect:A})})]})}export{Y as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkNBLJWONR_cjs=require('./chunk-NBLJWONR.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),lucideReact=require('lucide-react'),jsxRuntime=require('react/jsx-runtime');function G({intent:r,className:a,...u}){return jsxRuntime.jsx("div",{className:"w-full overflow-auto",children:jsxRuntime.jsx("table",{className:chunkX5YP5TMY_cjs.a(chunkNBLJWONR_cjs.g({intent:r}),a),...u})})}function J({className:r,...a}){return jsxRuntime.jsx("thead",{className:chunkX5YP5TMY_cjs.a("bg-primary-50 text-primary-600 dark:bg-primary-800/50 dark:text-primary-400",r),...a})}function O({className:r,...a}){return jsxRuntime.jsx("tbody",{className:chunkX5YP5TMY_cjs.a("[&_tr:last-child]:border-0",r),...a})}function I({className:r,...a}){return jsxRuntime.jsx("tr",{className:chunkX5YP5TMY_cjs.a("border-primary-200 hover:bg-primary-50/50 dark:border-primary-700 dark:hover:bg-primary-800/30 border-b transition-colors",r),...a})}function L({className:r,...a}){return jsxRuntime.jsx("th",{className:chunkX5YP5TMY_cjs.a("px-4 py-3 text-left text-xs font-semibold tracking-wider uppercase",r),...a})}function M({className:r,...a}){return jsxRuntime.jsx("td",{className:chunkX5YP5TMY_cjs.a("text-primary-700 dark:text-primary-300 px-4 py-3",r),...a})}function xe({columns:r,data:a,sort:u,onSortChange:g,defaultSort:k=null,rowKey:T,intent:d,className:x}){let[B,w]=react.useState(k),m=u??B,F=react.useCallback(n=>{let p=m?.column===n?m.direction==="asc"?{column:n,direction:"desc"}:null:{column:n,direction:"asc"};g?g(p):w(p);},[m,g]),E=react.useMemo(()=>{if(!m)return a;let n=r.find(H=>H.key===m.column);if(!n)return a;let p=n.compareFn??((H,U)=>{let i=n.cell(H),h=n.cell(U);return i==null&&h==null?0:i==null?-1:h==null?1:typeof i=="number"&&typeof h=="number"?i-h:String(i).localeCompare(String(h))}),f=[...a].sort(p);return m.direction==="desc"?f.reverse():f},[a,m,r]);return jsxRuntime.jsxs(G,{intent:d,className:x,children:[jsxRuntime.jsx(J,{children:jsxRuntime.jsx(I,{children:r.map(n=>{let p=n.sortable!==false,f=m?.column===n.key;return jsxRuntime.jsx(L,{className:chunkX5YP5TMY_cjs.a(p&&"cursor-pointer select-none",n.headerClassName),onClick:p?()=>F(n.key):void 0,"aria-sort":f?m.direction==="asc"?"ascending":"descending":void 0,children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[n.header,p&&jsxRuntime.jsx(Q,{active:f,direction:f?m.direction:null})]})},n.key)})})}),jsxRuntime.jsx(O,{children:E.map((n,p)=>jsxRuntime.jsx(I,{children:r.map(f=>jsxRuntime.jsx(M,{className:f.cellClassName,children:f.cell(n)},f.key))},T?T(n,p):p))})]})}function be({value:r,onCommit:a,onCancel:u}){let[g,k]=react.useState(r),T=react.useRef(null);react.useEffect(()=>{T.current?.focus(),T.current?.select();},[]);let d=()=>a(g);return jsxRuntime.jsxs("span",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("input",{ref:T,type:"text",value:g,onChange:x=>k(x.target.value),onKeyDown:x=>{x.key==="Enter"&&d(),x.key==="Escape"&&u();},"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"}),jsxRuntime.jsx("button",{type:"button",onClick:d,className:"text-success-600 hover:text-success-700 dark:text-success-400","aria-label":"Confirm",children:jsxRuntime.jsx(lucideReact.Check,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{type:"button",onClick:u,className:"text-danger-500 hover:text-danger-600 dark:text-danger-400","aria-label":"Cancel",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})}function ke({columns:r,data:a,rowKey:u,sort:g,onSortChange:k,defaultSort:T=null,selectionMode:d="none",selected:x,onSelectionChange:B,editable:w=false,onCellEdit:m,toolbar:F=false,onAdd:E,onDelete:n,intent:p,className:f}){let[H,U]=react.useState(T),i=g??H,h=react.useCallback(e=>{let o=i?.column===e?i.direction==="asc"?{column:e,direction:"desc"}:null:{column:e,direction:"asc"};k?k(o):U(o);},[i,k]),X=react.useMemo(()=>{if(!i)return a;let e=r.find(S=>S.key===i.column);if(!e)return a;let o=e.compareFn??((S,c)=>{let N=e.cell(S),K=e.cell(c);return N==null&&K==null?0:N==null?-1:K==null?1:typeof N=="number"&&typeof K=="number"?N-K:String(N).localeCompare(String(K))}),s=[...a].sort(o);return i.direction==="desc"?s.reverse():s},[a,i,r]),[W,Y]=react.useState([]),l=x??W,v=B??Y,P=react.useMemo(()=>X.map((e,o)=>u(e,o)),[X,u]),V=d==="multiple"&&P.length>0&&P.every(e=>l.includes(e)),Z=d==="multiple"&&l.length>0&&!V,_=react.useCallback(e=>{d==="single"?v(l.includes(e)?[]:[e]):d==="multiple"&&v(l.includes(e)?l.filter(o=>o!==e):[...l,e]);},[d,l,v]),j=react.useCallback(()=>{v(V?[]:P);},[V,P,v]),[q,A]=react.useState(null),ee=react.useCallback((e,o,s)=>{w&&s!==false&&A({rowKey:e,colKey:o});},[w]),te=react.useCallback((e,o,s)=>{m?.(e,o,s),A(null);},[m]);return jsxRuntime.jsxs("div",{className:"space-y-2",children:[F&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[E&&jsxRuntime.jsxs("button",{type:"button",onClick:E,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:[jsxRuntime.jsx(lucideReact.Plus,{className:"h-3.5 w-3.5"})," Add"]}),n&&jsxRuntime.jsxs("button",{type:"button",onClick:()=>n(l),disabled:l.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:[jsxRuntime.jsx(lucideReact.Trash2,{className:"h-3.5 w-3.5"})," Delete",l.length>0&&` (${l.length})`]}),w&&l.length===1&&jsxRuntime.jsxs("button",{type:"button",onClick:()=>{let e=r.find(o=>o.editable!==false);e&&A({rowKey:l[0],colKey:e.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:[jsxRuntime.jsx(lucideReact.Pencil,{className:"h-3.5 w-3.5"})," Edit"]}),l.length>0&&jsxRuntime.jsxs("span",{className:"ml-auto text-sm text-secondary-500 dark:text-secondary-400",children:[l.length," row",l.length>1?"s":""," selected"]})]}),jsxRuntime.jsxs(G,{intent:p,className:f,children:[jsxRuntime.jsx(J,{children:jsxRuntime.jsxs(I,{children:[d==="multiple"&&jsxRuntime.jsx(L,{className:"w-10",children:jsxRuntime.jsx("input",{type:"checkbox",checked:V,ref:e=>{e&&(e.indeterminate=Z);},onChange:j,className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select all"})}),d==="single"&&jsxRuntime.jsx(L,{className:"w-10"}),r.map(e=>{let o=e.sortable!==false,s=i?.column===e.key;return jsxRuntime.jsx(L,{className:chunkX5YP5TMY_cjs.a(o&&"cursor-pointer select-none",e.headerClassName),onClick:o?()=>h(e.key):void 0,"aria-sort":s?i.direction==="asc"?"ascending":"descending":void 0,children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[e.header,o&&jsxRuntime.jsx(Q,{active:s,direction:s?i.direction:null})]})},e.key)})]})}),jsxRuntime.jsx(O,{children:X.map((e,o)=>{let s=u(e,o),S=l.includes(s);return jsxRuntime.jsxs(I,{className:chunkX5YP5TMY_cjs.a(S&&"bg-primary-50/60 dark:bg-primary-900/20"),onClick:()=>{d!=="none"&&_(s);},children:[d==="multiple"&&jsxRuntime.jsx(M,{className:"w-10",children:jsxRuntime.jsx("input",{type:"checkbox",checked:S,onChange:()=>_(s),onClick:c=>c.stopPropagation(),className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select row"})}),d==="single"&&jsxRuntime.jsx(M,{className:"w-10",children:jsxRuntime.jsx("input",{type:"radio",checked:S,onChange:()=>_(s),onClick:c=>c.stopPropagation(),className:"h-4 w-4 cursor-pointer accent-primary-600","aria-label":"Select row"})}),r.map(c=>{let N=q?.rowKey===s&&q?.colKey===c.key,K=c.editValue?.(e)??(()=>{let C=c.cell(e);return typeof C=="string"||typeof C=="number"?String(C):""})();return jsxRuntime.jsx(M,{className:chunkX5YP5TMY_cjs.a(c.cellClassName,w&&c.editable!==false&&"cursor-text"),onDoubleClick:C=>{C.stopPropagation(),ee(s,c.key,c.editable);},children:N?jsxRuntime.jsx(be,{value:K,onCommit:C=>te(s,c.key,C),onCancel:()=>A(null)}):c.cell(e)},c.key)})]},s)})})]})]})}function Q({active:r,direction:a}){let u="h-3.5 w-3.5 shrink-0";return !r||!a?jsxRuntime.jsx(lucideReact.ArrowUpDown,{className:chunkX5YP5TMY_cjs.a(u,"opacity-30")}):a==="asc"?jsxRuntime.jsx(lucideReact.ArrowUp,{className:chunkX5YP5TMY_cjs.a(u,"opacity-70")}):jsxRuntime.jsx(lucideReact.ArrowDown,{className:chunkX5YP5TMY_cjs.a(u,"opacity-70")})}exports.a=G;exports.b=J;exports.c=O;exports.d=I;exports.e=L;exports.f=M;exports.g=xe;exports.h=ke;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {a}from'./chunk-AXBJKPZZ.js';import Me,{useState,useRef,useEffect,useCallback}from'react';import {Play,Pause,SkipBack,SkipForward,VolumeX,Volume2,Shuffle,Repeat1,ListVideo,Theater,Minimize,Maximize,ArrowUpDown,X,ChevronRight}from'lucide-react';import {jsxs,jsx}from'react/jsx-runtime';function j(a){if(!isFinite(a)||a<0)return "0:00";let p=Math.floor(a/3600),M=Math.floor(a%3600/60),L=Math.floor(a%60);return p>0?`${p}:${M.toString().padStart(2,"0")}:${L.toString().padStart(2,"0")}`:`${M}:${L.toString().padStart(2,"0")}`}var Oe={title:(a,p)=>a.title.localeCompare(p.title),type:(a,p)=>(a.type??"").localeCompare(p.type??""),duration:(a,p)=>(a.duration??0)-(p.duration??0)};function Ie({playlist:a$1,initialTrack:p=0,autoPlay:M=false,shuffle:L=false,loop:se=false,onTrackChange:q,onPlayChange:oe,accent:le="#8b5cf6",className:ce}){let[f,ie]=useState(p),[l,y]=useState(false),[E,H]=useState(0),[u,ue]=useState(0),[de,me]=useState(0),[S,A]=useState(.8),[k,G]=useState(false),[P,pe]=useState(L),[K,fe]=useState(se),[J,ve]=useState(false),[w,be]=useState("title"),[N,Q]=useState(true),[v,W]=useState(false),[he,Y]=useState(false),[C,xe]=useState(false),[Z,R]=useState(true),[O,ee]=useState(false),[V,te]=useState(null),d=useRef(null),z=useRef(null),x=useRef(void 0),ne=useRef(false),c=a$1[f],ge=Me.useMemo(()=>{let e=a$1.map((n,r)=>({media:n,originalIndex:r}));return e.sort((n,r)=>{let m=Oe[w](n.media,r.media);return N?m:-m}),e},[a$1,w,N]);useEffect(()=>{let e=d.current;if(!e)return;ee(true),e.src=c.src,c.poster&&(e.poster=c.poster),e.load();let n=()=>{ee(false),l&&e.play().catch(()=>{});};return e.addEventListener("loadeddata",n,{once:true}),()=>e.removeEventListener("loadeddata",n)},[f,c.src]),useEffect(()=>{if(!M||ne.current)return;let e=d.current;if(!e)return;let n=()=>{ne.current=true,y(true),e.play().catch(()=>{});};return e.addEventListener("canplaythrough",n,{once:true}),()=>e.removeEventListener("canplaythrough",n)},[M]),useEffect(()=>{let e=d.current;e&&(l?e.play().catch(()=>{}):e.pause(),oe?.(l));},[l]),useEffect(()=>{let e=d.current;e&&(e.volume=k?0:S);},[S,k]),useEffect(()=>{let e=d.current;if(!e)return;let n=()=>H(e.currentTime),r=()=>ue(e.duration),m=()=>{e.buffered.length>0&&me(e.buffered.end(e.buffered.length-1));},re=()=>{K?(e.currentTime=0,e.play().catch(()=>{})):D();};return e.addEventListener("timeupdate",n),e.addEventListener("loadedmetadata",r),e.addEventListener("progress",m),e.addEventListener("ended",re),()=>{e.removeEventListener("timeupdate",n),e.removeEventListener("loadedmetadata",r),e.removeEventListener("progress",m),e.removeEventListener("ended",re);}},[f,a$1.length,K]);let B=useCallback(()=>{R(true),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{l&&R(false);},3e3);},[l]);useEffect(()=>{l?B():(R(true),x.current&&clearTimeout(x.current));},[l,B]),useEffect(()=>()=>{x.current&&clearTimeout(x.current);},[]);let g=useCallback(e=>{let n=(e%a$1.length+a$1.length)%a$1.length;ie(n),H(0),y(true),q?.(n,a$1[n]);},[a$1,q]),D=useCallback(()=>{if(P){let e;do e=Math.floor(Math.random()*a$1.length);while(e===f&&a$1.length>1);g(e);}else g(f+1);},[g,f,P,a$1.length]),I=useCallback(()=>{if(P){let e;do e=Math.floor(Math.random()*a$1.length);while(e===f&&a$1.length>1);g(e);}else g(f-1);},[g,f,P,a$1.length]),ye=useCallback(e=>{let n=e.currentTarget.getBoundingClientRect(),m=Math.max(0,Math.min(1,(e.clientX-n.left)/n.width))*u;d.current&&(d.current.currentTime=m),H(m);},[u]),ke=useCallback(e=>{let n=e.currentTarget.getBoundingClientRect(),r=Math.max(0,Math.min(1,(e.clientX-n.left)/n.width));te(r*u);},[u]),X$1=useCallback(()=>{z.current&&(document.fullscreenElement?document.exitFullscreen():z.current.requestFullscreen());},[]);useEffect(()=>{let e=()=>xe(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",e),()=>document.removeEventListener("fullscreenchange",e)},[]);let T=useCallback(()=>{v?(Y(true),setTimeout(()=>{W(false),Y(false);},500)):W(true);},[v]),_=useCallback(()=>{ve(e=>!e);},[]),we=useCallback(()=>{let e=["title","type","duration"],n=e.indexOf(w);N?Q(false):(Q(true),be(e[(n+1)%e.length]));},[w,N]);useEffect(()=>{let e=n=>{if(!(n.target instanceof HTMLInputElement||n.target instanceof HTMLTextAreaElement))switch(n.key){case " ":case "k":n.preventDefault(),y(r=>!r);break;case "f":n.preventDefault(),X$1();break;case "t":n.preventDefault(),T();break;case "ArrowLeft":n.preventDefault(),d.current&&(d.current.currentTime=Math.max(0,E-5));break;case "ArrowRight":n.preventDefault(),d.current&&(d.current.currentTime=Math.min(u,E+5));break;case "ArrowUp":n.preventDefault(),A(r=>Math.min(1,r+.05));break;case "ArrowDown":n.preventDefault(),A(r=>Math.max(0,r-.05));break;case "Escape":v&&T();break;case "n":n.preventDefault(),D();break;case "p":n.preventDefault(),I();break;case "l":n.preventDefault(),_();break}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[X$1,T,_,D,I,E,u,v]);let ae=u>0?E/u*100:0,Ne=u>0?de/u*100:0,$="text-(--accent)",Ce=jsxs("div",{ref:z,className:a("group flex overflow-hidden",C?"h-full w-full":"aspect-video w-full",!C&&"rounded-xl",!C&&l&&"shadow-2xl",!C&&!l&&"animate-[cp-glow-pulse_4s_ease-in-out_infinite] will-change-[box-shadow]",ce),style:{"--accent":le,background:"var(--cp-bg)"},tabIndex:0,children:[jsxs("div",{className:a("relative flex-1 min-w-0 h-full overflow-hidden",O&&"animate-[cp-track-transition_0.6s_ease-out]"),onMouseMove:B,onMouseLeave:()=>{l&&R(false);},children:[jsx("video",{ref:d,className:"h-full w-full object-contain",poster:c.poster,playsInline:true,preload:"metadata",onClick:()=>y(e=>!e)}),!l&&!O&&jsx("div",{className:"absolute inset-0 flex cursor-pointer items-center justify-center",style:{background:"var(--cp-overlay)"},onClick:()=>y(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)"}})})}),O&&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:c.title}),c.subtitle&&jsx("div",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:c.subtitle})]})}),jsx("div",{className:a("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",Z?"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:c.title}),c.subtitle&&jsx("p",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:c.subtitle})]}),c.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:c.type})]})}),jsxs("div",{className:a("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",Z?"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:ye,onMouseMove:ke,onMouseLeave:()=>te(null),children:[jsx("div",{className:"absolute inset-y-0 left-0 rounded-full",style:{width:`${Ne}%`,background:"var(--cp-seek-buffer)"}}),jsx("div",{className:"absolute inset-y-0 left-0 rounded-full bg-(--accent) transition-[width] duration-100",style:{width:`${ae}%`}}),V!==null&&jsx("div",{className:"absolute -top-8 -translate-x-1/2 rounded px-2 py-0.5 text-[10px] font-mono",style:{left:`${V/u*100}%`,background:"var(--cp-panel-bg)",color:"var(--cp-text-strong)"},children:j(V)}),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(${ae}% - 7px)`}})]}),jsxs("div",{className:"flex items-center gap-1",children:[jsx("button",{className:"cp-btn",onClick:()=>y(e=>!e),title:l?"Pause (k)":"Play (k)",children:l?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:I,title:"Previous (p)",children:jsx(SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsx("button",{className:"cp-btn",onClick:D,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:()=>G(e=>!e),title:k?"Unmute":"Mute",children:k||S===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:k?0:S,onChange:e=>{A(Number(e.target.value)),k&&G(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:[j(E)," / ",j(u)]}),jsx("div",{className:"flex-1"}),jsx("button",{className:a("cp-btn",P&&$),onClick:()=>pe(e=>!e),title:"Shuffle",children:jsx(Shuffle,{className:"h-4 w-4"})}),jsx("button",{className:a("cp-btn",K&&$),onClick:()=>fe(e=>!e),title:"Loop",children:jsx(Repeat1,{className:"h-4 w-4"})}),jsx("button",{className:a("cp-btn",J&&$),onClick:_,title:"Playlist",children:jsx(ListVideo,{className:"h-4 w-4"})}),jsx("button",{className:a("cp-btn",v&&$),onClick:T,title:"Cinema mode (t)",children:jsx(Theater,{className:"h-4 w-4"})}),jsx("button",{className:"cp-btn",onClick:X$1,title:"Fullscreen (f)",children:C?jsx(Minimize,{className:"h-4 w-4"}):jsx(Maximize,{className:"h-4 w-4"})})]})]})]}),jsx("div",{className:a("h-full shrink-0 overflow-hidden transition-[width] duration-300 ease-out",J?"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:we,title:`Sort: ${w} ${N?"\u2191":"\u2193"}`,children:[jsx(ArrowUpDown,{className:"h-3 w-3"}),w,N?" \u2191":" \u2193"]}),jsx("button",{className:"cp-btn p-1!",onClick:_,title:"Close",children:jsx(X,{className:"h-3.5 w-3.5"})})]})]}),jsx("div",{className:"flex-1 overflow-y-auto",children:ge.map(({media:e,originalIndex:n})=>{let r=n===f;return jsxs("button",{className:a("flex w-full items-center gap-3 px-4 py-2.5 text-left transition-all duration-200",r?"bg-(--accent)/20 text-(--accent)":"hover:text-(--cp-text-strong)"),style:r?void 0:{color:"var(--cp-text)"},onClick:()=>{g(n);},children:[jsxs("div",{className:"relative h-10 w-16 shrink-0 overflow-hidden rounded",style:{background:"var(--cp-surface)"},children:[e.poster?jsx("img",{src:e.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)"}})}),r&&l&&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(m=>jsx("div",{className:"w-0.5 rounded-full bg-(--accent)",style:{height:`${6+m*3}px`,animation:`mp-eq-bar ${.3+m*.12}s ease-in-out infinite alternate`}},m))})})]}),jsxs("div",{className:"min-w-0 flex-1",children:[jsx("div",{className:"truncate text-xs font-medium",children:e.title}),jsxs("div",{className:"flex items-center gap-2",children:[e.type&&jsx("span",{className:"text-[10px] uppercase tracking-wide opacity-50",children:e.type}),e.duration!=null&&jsx("span",{className:"font-mono text-[10px] opacity-40",children:j(e.duration)})]})]}),r&&jsx(ChevronRight,{className:"h-3.5 w-3.5 shrink-0 text-(--accent)"})]},n)})})]})}),jsx("style",{children:`
|
|
2
|
+
.cp-btn {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
padding: 6px;
|
|
7
|
+
border-radius: 9999px;
|
|
8
|
+
color: var(--cp-text);
|
|
9
|
+
transition: color 0.15s, background 0.15s, transform 0.15s;
|
|
10
|
+
}
|
|
11
|
+
.cp-btn:hover { color: var(--cp-text-strong); background: var(--cp-surface-hover); }
|
|
12
|
+
.cp-btn:active { transform: scale(0.9); }
|
|
13
|
+
@keyframes cp-glow-pulse {
|
|
14
|
+
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); }
|
|
15
|
+
50% { box-shadow: 0 0 40px color-mix(in srgb, var(--accent) 55%, transparent), 0 25px 50px -12px rgba(0,0,0,0.25); }
|
|
16
|
+
}
|
|
17
|
+
`})]});return jsx("div",{className:a(v&&"fixed inset-0 z-100 flex items-center justify-center p-8",v&&(he?"animate-[cp-cinema-out_0.5s_ease-in_both]":"animate-[cp-cinema-in_0.5s_ease-out_both]")),onClick:v?e=>{e.target===e.currentTarget&&T();}:void 0,children:jsx("div",{className:a(v&&"w-full",v&&!C&&"max-w-5xl"),children:Ce})})}export{Ie as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {m}from'./chunk-ACQOSYBI.js';import {a}from'./chunk-AXBJKPZZ.js';import {useState}from'react';import {jsxs,jsx}from'react/jsx-runtime';var T={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 V({content:i,position:n="top",intent:l,delay:a$1=200,children:r,className:p}){let[m$1,t]=useState(false),[c,f]=useState();return jsxs("span",{className:"relative inline-flex",onMouseEnter:()=>{let u=setTimeout(()=>t(true),a$1);f(u);},onMouseLeave:()=>{clearTimeout(c),t(false);},children:[r,m$1&&jsx("span",{className:a(m({intent:l}),T[n],"pointer-events-none whitespace-nowrap",p),role:"tooltip",children:i})]})}export{V as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a}from'./chunk-AXBJKPZZ.js';import U,{useState,useCallback,useRef,useLayoutEffect}from'react';import {createPortal}from'react-dom';import {Menu,ChevronsLeft,ChevronRight}from'lucide-react';import {jsxs,jsx,Fragment}from'react/jsx-runtime';var k="flex w-full items-center gap-2 rounded-md px-3 py-1.5 text-sm transition-colors cursor-pointer",E="bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100 font-medium",h="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",L="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 J({to:e,className:a,style:t,children:i}){let s=typeof a=="function"?a({isActive:false}):a;return jsx("a",{href:e,className:s,style:t,children:i})}var I=["expanded","icons","mini"];function Q(e){let a=I.indexOf(e);return I[(a+1)%I.length]}function A(e){let a=new Set;for(let t of e)if(t.children&&t.children.length>0){a.add(t.key??t.label);for(let i of A(t.children))a.add(i);}return a}function K({item:e,basePath:a$1,depth:t,onItemClick:i,LinkComponent:s,showLines:m,expandedKeys:d,onToggle:b}){let f=e.key??e.label,C=e.children&&e.children.length>0,[N,x]=useState(e.defaultOpen??true),g=d?d.has(f):N,n=useCallback(()=>{d?b(f):x(p=>!p);},[d,b,f]),u=t>0?`${t*1.25}rem`:void 0;if(C)return jsxs("div",{children:[jsxs("button",{type:"button",onClick:n,className:a(k,h,"justify-between"),style:{paddingLeft:u},children:[jsxs("span",{className:"flex items-center gap-2",children:[e.icon,e.label]}),jsx(ChevronRight,{className:a("h-3.5 w-3.5 transition-transform",g&&"rotate-90")})]}),g&&jsx("div",{className:a("flex flex-col gap-0.5 pt-0.5",m?"ml-2.5 border-l border-primary-200 dark:border-primary-700":"ml-2"),children:e.children.map(p=>jsx(K,{item:p,basePath:a$1,depth:t+1,onItemClick:i,LinkComponent:s,showLines:m,expandedKeys:d,onToggle:b},p.key??p.path??p.label))})]});if(e.path!=null){let p=a$1+e.path;return i?jsxs("button",{type:"button",onClick:()=>i(e,p),className:a(k,h),style:{paddingLeft:u},children:[e.icon,e.label]}):jsxs(s,{to:p,className:({isActive:S})=>a(k,S?E:h),style:{paddingLeft:u},children:[e.icon,e.label]})}return jsxs("span",{className:a(k,h,"cursor-default"),style:{paddingLeft:u},children:[e.icon,e.label]})}function V({item:e,basePath:a$1,onItemClick:t,LinkComponent:i}){let[s,m]=useState(false),d=useRef(null),b=useRef(void 0),[f,C]=useState({top:0,left:0}),N=()=>{clearTimeout(b.current),m(true);},x=()=>{b.current=setTimeout(()=>m(false),200);};useLayoutEffect(()=>{if(s&&d.current){let n=d.current.getBoundingClientRect();C({top:n.top,left:n.right+4});}},[s]);let g=e.icon||jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});return jsxs("div",{onMouseEnter:N,onMouseLeave:x,children:[jsx("button",{ref:d,type:"button",className:a(L,"w-full"),title:e.label,onClick:()=>m(n=>!n),children:g}),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:f.top,left:f.left},onMouseEnter:N,onMouseLeave:x,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(n=>{let u=n.key??n.path??n.label;if(n.path!=null){let p=a$1+n.path;return t?jsxs("button",{type:"button",onClick:()=>{t(n,p),m(false);},className:a(k,h),children:[n.icon,n.label]},u):jsxs(i,{to:p,className:({isActive:S})=>a(k,S?E:h),children:[n.icon,n.label]},u)}return jsxs("span",{className:a(k,"cursor-default text-primary-400"),children:[n.icon,n.label]},u)})})]}),document.body)]})}function W({item:e,basePath:a$1,onItemClick:t,LinkComponent:i}){let s=e.icon||jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});if(e.path!=null){let m=a$1+e.path;return t?jsx("button",{type:"button",onClick:()=>t(e,m),className:a(L,"w-full"),title:e.label,children:s}):jsx(i,{to:m,className:({isActive:d})=>a(L,"w-full",d&&"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:a(L,"w-full cursor-default"),title:e.label,children:s})}function te({items:e,title:a$1,basePath:t="/",onItemClick:i,LinkComponent:s=J,collapsible:m,collapseMode:d,defaultCollapseMode:b="expanded",onCollapseModeChange:f,showLines:C=true,expandedKeys:N,defaultExpandedKeys:x="all",onExpandedKeysChange:g,className:n,...u}){let[p,S]=useState(b),y=d??p,O=U.useMemo(()=>A(e),[e]),[B,j]=useState(()=>x==="all"?new Set(O):new Set(x)),w=N??null,R=w??B,H=useCallback(r=>{let v=new Set(R);v.has(r)?v.delete(r):v.add(r),j(v),g?.(v);},[R,g]),G=useCallback(()=>{let r=Q(y);S(r),f?.(r);},[y,f]);return jsxs("nav",{className:a("flex flex-col gap-0.5",y==="mini"&&"items-center",n),...u,children:[m&&jsx("div",{className:a("flex shrink-0 mb-1",y==="expanded"?"justify-end":"justify-center"),children:jsx("button",{type:"button",onClick:G,className:L,"aria-label":y==="mini"?"Expand sidebar":"Collapse sidebar",title:y==="mini"?"Expand sidebar":"Collapse sidebar",children:y==="mini"?jsx(Menu,{className:"h-5 w-5"}):jsx(ChevronsLeft,{className:"h-4 w-4"})})}),y==="expanded"&&jsxs(Fragment,{children:[a$1&&jsx("h2",{className:"text-primary-500 dark:text-primary-400 mb-3 text-sm font-semibold uppercase",children:a$1}),e.map(r=>jsx(K,{item:r,basePath:t,depth:0,onItemClick:i,LinkComponent:s,showLines:C,expandedKeys:w,onToggle:H},r.key??r.path??r.label))]}),y==="icons"&&e.map(r=>{let v=r.key??r.path??r.label;return r.children&&r.children.length>0?jsx(V,{item:r,basePath:t,onItemClick:i,LinkComponent:s},v):jsx(W,{item:r,basePath:t,onItemClick:i,LinkComponent:s},v)})]})}export{te as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a}from'./chunk-AXBJKPZZ.js';import u,{createContext,useState,useCallback,useContext}from'react';import {ChevronRight}from'lucide-react';import {jsx,Fragment,jsxs}from'react/jsx-runtime';var T=createContext({showLines:true,expandedKeys:null,onToggleKey:()=>{}});function M({showLines:l=true,showRoot:a$1=true,expandedKeys:e,defaultExpandedKeys:x="all",onExpandedKeysChange:d,className:p,children:c,...m}){let [f,i]=useState(()=>x),g=useCallback(t=>{if(e){let n=new Set(e);n.has(t)?n.delete(t):n.add(t),d?.(n);}else i(n=>{if(n==="all")return new Set(["__ALL_MINUS__",t]);let r=new Set(n);return r.has(t)?r.delete(t):r.add(t),r});},[e,d]),h=e??(f==="all"?null:f);return jsx(T.Provider,{value:{showLines:l,expandedKeys:h,onToggleKey:g},children:a$1?jsx("ul",{className:a("text-sm",p),role:"tree",...m,children:c}):jsx("ul",{className:a("text-sm",p),role:"tree",...m,children:jsx(_,{children:c})})})}function _({children:l}){let a=C(l);return jsx(Fragment,{children:a.map(e=>u.isValidElement(e)&&e.props.children?e.props.children:null)})}function C(l){let a=[];return u.Children.forEach(l,e=>{u.isValidElement(e)&&e.type===u.Fragment?a.push(...C(e.props.children)):a.push(e);}),a}function A({nodeKey:l,label:a$1,icon:e,defaultExpanded:x=false,expanded:d,onToggle:p,children:c,className:m}){let{showLines:f,expandedKeys:i,onToggleKey:y}=useContext(T),[g,h]=useState(x),t=u.Children.count(c)>0,n=l??(typeof a$1=="string"?a$1:""),r;d!=null?r=d:i!=null&&n?i.has("__ALL_MINUS__")?r=!i.has(n):r=i.has(n):r=g;let w=()=>{let R=!r;p?p(R):i!=null&&n?y(n):h(R);};return jsxs("li",{className:a("select-none",m),role:"treeitem","aria-expanded":t?r:void 0,children:[jsxs("div",{className:a("hover:bg-primary-50 dark:hover:bg-primary-800/50 flex items-center gap-1 rounded-md px-1 py-1",t?"cursor-pointer":"cursor-default"),onClick:t?w:void 0,children:[t?jsx(ChevronRight,{className:a("text-primary-400 h-4 w-4 shrink-0 transition-transform duration-200",r&&"rotate-90")}):jsx("span",{className:"w-4 shrink-0"}),e&&jsx("span",{className:"shrink-0",children:e}),jsx("span",{className:"text-primary-700 dark:text-primary-300 truncate",children:a$1})]}),t&&jsx("div",{className:a("grid transition-[grid-template-rows] duration-200 ease-out",r?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:jsx("div",{className:"overflow-hidden",children:jsx("ul",{className:a("ml-4 pl-2",f&&"border-primary-200 dark:border-primary-700 border-l"),role:"group",children:c})})})]})}export{M as a,A as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkNBLJWONR_cjs=require('./chunk-NBLJWONR.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),jsxRuntime=require('react/jsx-runtime');function f({intent:t,size:r,className:i,...o}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a(chunkNBLJWONR_cjs.e({intent:t,size:r}),i),...o})}function u({className:t,...r}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("mb-4 space-y-1",t),...r})}function x({className:t,...r}){return jsxRuntime.jsx("h3",{className:chunkX5YP5TMY_cjs.a("text-primary-900 dark:text-primary-100 text-lg font-semibold",t),...r})}function v({className:t,...r}){return jsxRuntime.jsx("p",{className:chunkX5YP5TMY_cjs.a("text-primary-500 dark:text-primary-400 text-sm",t),...r})}function y({className:t,...r}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("text-primary-700 dark:text-primary-300 text-sm",t),...r})}function H({className:t,...r}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("border-primary-100 dark:border-primary-800 mt-4 flex items-center gap-2 border-t pt-4",t),...r})}function b({intent:t,media:r,mediaPosition:i="left",className:o,children:l,...s}){let d=jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("relative shrink-0 overflow-hidden",i==="left"?"rounded-l-lg":"rounded-r-lg"),style:{width:r.width??"10rem"},children:r.src?jsxRuntime.jsx("img",{src:r.src,alt:r.alt??"",className:"h-full w-full object-cover",draggable:false}):r.icon?jsxRuntime.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:r.icon}):null});return jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a(chunkNBLJWONR_cjs.e({intent:t}),"flex overflow-hidden p-0",i==="right"&&"flex-row-reverse",o),...s,children:[d,jsxRuntime.jsx("div",{className:"flex min-w-0 flex-1 flex-col p-4",children:l})]})}exports.a=f;exports.b=u;exports.c=x;exports.d=v;exports.e=y;exports.f=H;exports.g=b;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkNBLJWONR_cjs=require('./chunk-NBLJWONR.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),reactDom=require('react-dom'),lucideReact=require('lucide-react'),jsxRuntime=require('react/jsx-runtime');var a=[];function D(e){a.push(e);}function h(e){let t=a.indexOf(e);t!==-1&&a.splice(t,1);}function m(e){return a.length>0&&a[a.length-1]===e}function k(e){let t=a.indexOf(e);return t!==-1?t:a.length}var g=react.createContext(null);function N({open:e,onOpenChange:t,modal:i=true,closeOnOutsideClick:c=false,children:n}){let l=react.useId();return react.useEffect(()=>{if(e)return D(l),()=>h(l)},[e,l]),react.useEffect(()=>{if(!e||!i)return;let s=d=>{d.key==="Escape"&&m(l)&&t(false);};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e,i,t,l]),react.useEffect(()=>{if(!e||!i)return;let s=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=s;}},[e,i]),e?jsxRuntime.jsx(g.Provider,{value:{id:l,onOpenChange:t,modal:i,closeOnOutsideClick:c},children:reactDom.createPortal(n,document.body)}):null}function R({size:e,className:t,children:i,...c}){let n=react.useContext(g);if(!n)return null;let s=200+k(n.id)*10,d=()=>{n.closeOnOutsideClick&&m(n.id)&&n.onOpenChange(false);};return n.modal?jsxRuntime.jsx("div",{className:"animate-fade-in fixed inset-0 flex items-center justify-center bg-black/50 p-4",style:{zIndex:s},onClick:d,children:jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a(chunkNBLJWONR_cjs.l({size:e}),"animate-scale-in",t),role:"dialog","aria-modal":"true",onClick:u=>u.stopPropagation(),...c,children:i})}):jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("fixed inset-0 flex items-center justify-center p-4",n.closeOnOutsideClick?"pointer-events-auto":"pointer-events-none"),style:{zIndex:s},onClick:n.closeOnOutsideClick&&m(n.id)?()=>n.onOpenChange(false):void 0,children:jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a(chunkNBLJWONR_cjs.l({size:e}),"animate-scale-in pointer-events-auto shadow-2xl",t),role:"dialog",onClick:n.closeOnOutsideClick?u=>u.stopPropagation():void 0,...c,children:i})})}function w({className:e,...t}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("mb-4 space-y-1",e),...t})}function A({className:e,...t}){return jsxRuntime.jsx("h2",{className:chunkX5YP5TMY_cjs.a("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 V({className:e,...t}){return jsxRuntime.jsx("p",{className:chunkX5YP5TMY_cjs.a("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function B({className:e,...t}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("mt-6 flex justify-end gap-2",e),...t})}function _({className:e,...t}){let i=react.useContext(g);return jsxRuntime.jsx("button",{className:chunkX5YP5TMY_cjs.a("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:()=>i?.onOpenChange(false),"aria-label":"Close",...t,children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})})}exports.a=N;exports.b=R;exports.c=w;exports.d=A;exports.e=V;exports.f=B;exports.g=_;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';var chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),lucideReact=require('lucide-react'),jsxRuntime=require('react/jsx-runtime');var W="data:image/svg+xml,"+encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200">
|
|
2
|
+
<rect width="200" height="200" fill="#1e1b2e"/>
|
|
3
|
+
<circle cx="100" cy="100" r="60" fill="none" stroke="#6366f1" stroke-width="1.5" opacity="0.3"/>
|
|
4
|
+
<circle cx="100" cy="100" r="20" fill="none" stroke="#6366f1" stroke-width="1" opacity="0.4"/>
|
|
5
|
+
<text x="100" y="108" text-anchor="middle" font-family="monospace" font-size="18" fill="#6366f1" opacity="0.6">\u266A</text>
|
|
6
|
+
</svg>`);function ne(o){if(!isFinite(o)||o<0)return "0:00";let R=Math.floor(o/60),p=Math.floor(o%60);return `${R}:${p.toString().padStart(2,"0")}`}function He(o){return o.startsWith("bottom")?"bottom":o.startsWith("top")?"top":"right"}var Ie={"bottom-right":"bottom-4 right-4","bottom-left":"bottom-4 left-4","top-right":"top-4 right-4","top-left":"top-4 left-4"},Ae={"bottom-right":"bottom-4 right-0","bottom-left":"bottom-4 left-0","top-right":"top-4 right-0","top-left":"top-4 left-0"},ze={"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 Ge({playlist:o,initialTrack:R=0,position:p="bottom-right",entrance:re,theme:_,docked:O=false,visible:B,onVisibleChange:y,onTrackChange:U,onLike:V,autoPlay:X=true,shuffle:ie=false,loop:ae=false,accent:F="#8b5cf6",className:se}){let [i,le]=react.useState(R),[d,D]=react.useState(false),[K,$]=react.useState(0),[k,ce]=react.useState(0),[M,ue]=react.useState(.8),[b,q]=react.useState(false),[P,de]=react.useState(new Set),[me,fe]=react.useState(false),[he,j]=react.useState(B??!O),[C,H]=react.useState(false),[I,A]=react.useState(false),[g,pe]=react.useState(ie),[z,ve]=react.useState(ae),G=react.useRef(false),m=react.useRef(null),be=react.useRef(null),x=react.useRef(void 0),S=B??he,J=re??He(p),s=o[i],f=O,ge=_==="dark"?"dark":_==="light"?"light":"",xe="bg-(--mp-bg)",E="text-(--mp-text)",l="text-(--mp-text-muted)",T="text-(--accent)",Q="border-(--mp-border)";react.useEffect(()=>{let e=m.current;e&&(e.src=s.src,e.load(),d&&e.play().catch(()=>{}));},[i,s.src]),react.useEffect(()=>{if(!X||G.current)return;let e=m.current;if(!e)return;let r=()=>{G.current=true,D(true),e.play().catch(()=>{});};return e.addEventListener("canplaythrough",r,{once:true}),()=>e.removeEventListener("canplaythrough",r)},[X]),react.useEffect(()=>{let e=m.current;e&&(d?e.play().catch(()=>{}):e.pause());},[d]),react.useEffect(()=>{let e=m.current;e&&(e.volume=b?0:M);},[M,b]),react.useEffect(()=>{let e=m.current;if(!e)return;let r=()=>$(e.currentTime),u=()=>ce(e.duration),h=()=>{z?(e.currentTime=0,e.play().catch(()=>{})):Y();};return e.addEventListener("timeupdate",r),e.addEventListener("loadedmetadata",u),e.addEventListener("ended",h),()=>{e.removeEventListener("timeupdate",r),e.removeEventListener("loadedmetadata",u),e.removeEventListener("ended",h);}},[i,o.length]);let v=react.useCallback(e=>{let r=(e%o.length+o.length)%o.length;le(r),$(0),U?.(r,o[r]),S||(j(true),y?.(true));},[o,S,U,y]),Y=react.useCallback(()=>{if(g){let e;do e=Math.floor(Math.random()*o.length);while(e===i&&o.length>1);v(e);}else v(i+1);},[v,i,g,o.length]),we=react.useCallback(()=>{if(g){let e;do e=Math.floor(Math.random()*o.length);while(e===i&&o.length>1);v(e);}else v(i-1);},[v,i,g,o.length]),Ne=react.useCallback(()=>{let e=P.has(i);de(r=>{let u=new Set(r);return e?u.delete(i):u.add(i),u}),V?.(i,s,!e);},[i,P,V,s]),ye=react.useCallback(e=>{let r=e.currentTarget.getBoundingClientRect(),h=Math.max(0,Math.min(1,(e.clientX-r.left)/r.width))*k;m.current&&(m.current.currentTime=h),$(h);},[k]),Z=react.useCallback(()=>{H(true);let e=f?200:400;x.current=setTimeout(()=>{H(false),j(false),y?.(false);},e);},[f,y]);react.useEffect(()=>()=>{x.current&&clearTimeout(x.current);},[]);let ke=I?"fade-in 0.2s ease-out both":`mp-enter-${J} 0.45s cubic-bezier(0.16, 1, 0.3, 1) both`,Pe=I?"fade-in 0.2s ease-in reverse both":`mp-exit-${J} 0.4s cubic-bezier(0.7, 0, 0.84, 0) both`,ee=k>0?K/k*100:0;return f&&!S&&!C?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("audio",{ref:m,preload:"metadata"}),jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("fixed z-100 cursor-pointer transition-all duration-300",ze[p]),style:{"--accent":F},onMouseEnter:()=>{A(true),j(true),y?.(true);},children:[jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("h-full w-full rounded-full",d?"bg-(--accent)":"bg-(--mp-dock-strip)"),style:d?{animation:"mp-progress-glow 2s ease-in-out infinite",boxShadow:"0 0 12px color-mix(in srgb, var(--accent) 50%, transparent)"}:void 0}),d&&jsxRuntime.jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/30",style:{animation:"mp-pulse-ring 2s ease-out infinite"}})]})]}):!S&&!C?jsxRuntime.jsx("audio",{ref:m,preload:"metadata"}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("audio",{ref:m,preload:"metadata"}),jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("fixed z-100",f?Ae[p]:Ie[p],ge),style:{"--accent":F,...C?{animation:Pe}:{animation:ke}},onMouseEnter:()=>{f&&(x.current&&(clearTimeout(x.current),x.current=void 0),C&&H(false),A(true));},onMouseLeave:()=>{f&&(A(false),Z());},children:jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("w-[320px] overflow-hidden rounded-2xl border shadow-2xl backdrop-blur-xl",xe,Q,f&&"rounded-none",p.endsWith("right")&&f&&"rounded-l-2xl",p.endsWith("left")&&f&&"rounded-r-2xl",se),children:[jsxRuntime.jsxs("div",{className:"relative",children:[jsxRuntime.jsx("div",{className:"absolute inset-0 overflow-hidden",children:jsxRuntime.jsx("img",{src:s.cover||W,alt:"",className:"h-full w-full scale-110 object-cover opacity-30 blur-2xl",draggable:false})}),jsxRuntime.jsxs("div",{className:"relative flex items-center gap-3.5 p-4 pb-3",children:[jsxRuntime.jsxs("div",{className:"relative h-14 w-14 shrink-0",children:[jsxRuntime.jsxs("div",{className:"h-14 w-14 overflow-hidden rounded-full border-2 border-white/10 shadow-lg",style:d?{animation:"mp-vinyl-spin 4s linear infinite"}:void 0,children:[jsxRuntime.jsx("img",{src:s.cover||W,alt:s.album??s.title,className:"h-full w-full object-cover",draggable:false}),jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:jsxRuntime.jsx("div",{className:"h-3 w-3 rounded-full bg-black/60 ring-1 ring-white/10"})})]}),d&&jsxRuntime.jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/20",style:{animation:"mp-pulse-ring 2.5s ease-out infinite"}})]}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("truncate text-sm font-semibold",E),children:s.title}),s.artist&&jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("truncate text-xs",l),children:s.artist}),s.album&&jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("mt-0.5 truncate text-[10px] tracking-wide",l,"opacity-60"),children:s.album})]}),jsxRuntime.jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[jsxRuntime.jsx("button",{className:chunkX5YP5TMY_cjs.a("rounded-full p-1.5 transition-all duration-200",P.has(i)?"text-rose-500 hover:text-rose-400":chunkX5YP5TMY_cjs.a(l,"hover:text-rose-500")),onClick:Ne,title:"Like",children:jsxRuntime.jsx(lucideReact.Heart,{className:"h-4 w-4",fill:P.has(i)?"currentColor":"none"})}),jsxRuntime.jsx("button",{className:chunkX5YP5TMY_cjs.a("rounded-full p-1.5 transition-colors",l,"hover:"+E.split(" ")[0]),onClick:()=>fe(e=>!e),title:"Playlist",children:jsxRuntime.jsx(lucideReact.ListMusic,{className:"h-4 w-4"})}),!f&&jsxRuntime.jsx("button",{className:chunkX5YP5TMY_cjs.a("rounded-full p-1.5 transition-colors",l,"hover:"+E.split(" ")[0]),onClick:Z,title:"Dismiss",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})]})]}),jsxRuntime.jsxs("div",{className:"px-4",children:[jsxRuntime.jsxs("div",{ref:be,className:"group relative h-1.5 cursor-pointer rounded-full bg-(--mp-surface)",onClick:ye,children:[jsxRuntime.jsx("div",{className:"h-full rounded-full bg-(--accent) transition-[width] duration-150",style:{width:`${ee}%`}}),jsxRuntime.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(${ee}% - 6px)`}})]}),jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("mt-1 flex justify-between text-[10px] font-mono",l),children:[jsxRuntime.jsx("span",{children:ne(K)}),jsxRuntime.jsx("span",{children:ne(k)})]})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-center gap-2 px-4 pb-3 pt-1",children:[jsxRuntime.jsx("button",{className:chunkX5YP5TMY_cjs.a("rounded-full p-1.5 transition-colors",g?T:l,"hover:text-(--mp-text)"),onClick:()=>pe(e=>!e),title:g?"Shuffle On":"Shuffle Off",children:jsxRuntime.jsx(lucideReact.Shuffle,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:chunkX5YP5TMY_cjs.a("rounded-full p-1.5 transition-colors",z?T:l,"hover:text-(--mp-text)"),onClick:()=>ve(e=>!e),title:z?"Loop On":"Loop Off",children:jsxRuntime.jsx(lucideReact.Repeat1,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:chunkX5YP5TMY_cjs.a("rounded-full p-2 transition-colors",l,"hover:text-(--mp-text)"),onClick:we,title:"Previous",children:jsxRuntime.jsx(lucideReact.SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:chunkX5YP5TMY_cjs.a("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:()=>D(e=>!e),title:d?"Pause":"Play",children:d?jsxRuntime.jsx(lucideReact.Pause,{className:"h-4.5 w-4.5",fill:"currentColor"}):jsxRuntime.jsx(lucideReact.Play,{className:"h-4.5 w-4.5 translate-x-px",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:chunkX5YP5TMY_cjs.a("rounded-full p-2 transition-colors",l,"hover:text-(--mp-text)"),onClick:Y,title:"Next",children:jsxRuntime.jsx(lucideReact.SkipForward,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsxs("div",{className:"ml-2 flex items-center gap-1.5",children:[jsxRuntime.jsx("button",{className:chunkX5YP5TMY_cjs.a("rounded-full p-1 transition-colors",l,"hover:text-(--mp-text)"),onClick:()=>q(e=>!e),title:b?"Unmute":"Mute",children:b||M===0?jsxRuntime.jsx(lucideReact.VolumeX,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.Volume2,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("input",{type:"range",min:0,max:1,step:.01,value:b?0:M,onChange:e=>{ue(Number(e.target.value)),b&&q(false);},className:"mp-volume-slider h-1 w-14 cursor-pointer appearance-none rounded-full bg-(--mp-surface) accent-(--accent)"})]})]}),jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("overflow-hidden transition-all duration-300 ease-in-out",me?"max-h-60":"max-h-0"),children:jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("border-t px-2 py-2",Q),children:jsxRuntime.jsx("div",{className:"max-h-52 space-y-0.5 overflow-y-auto",children:o.map((e,r)=>{let u=r===i;return jsxRuntime.jsxs("button",{className:chunkX5YP5TMY_cjs.a("flex w-full items-center gap-2.5 rounded-lg px-2.5 py-2 text-left transition-all duration-200",u?"bg-(--accent)/10 dark:bg-(--accent)/15":"hover:bg-(--mp-surface-hover)"),onClick:()=>{v(r),D(true);},children:[jsxRuntime.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center",children:u&&d?jsxRuntime.jsx("div",{className:"flex items-end gap-0.5",children:[1,2,3].map(h=>jsxRuntime.jsx("div",{className:"w-0.75 rounded-full bg-(--accent)",style:{height:`${8+h*4}px`,animation:`mp-eq-bar ${.4+h*.15}s ease-in-out infinite alternate`}},h))}):u?jsxRuntime.jsx(lucideReact.Disc3,{className:chunkX5YP5TMY_cjs.a("h-4 w-4",T)}):jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("text-xs font-mono",l),children:r+1})}),jsxRuntime.jsx("div",{className:"h-8 w-8 shrink-0 overflow-hidden rounded",children:jsxRuntime.jsx("img",{src:e.cover||W,alt:"",className:"h-full w-full object-cover",draggable:false})}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("truncate text-xs font-medium",u?T:E),children:e.title}),e.artist&&jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("truncate text-[10px]",l),children:e.artist})]}),P.has(r)&&jsxRuntime.jsx(lucideReact.Heart,{className:"h-3 w-3 shrink-0 text-rose-500",fill:"currentColor"})]},r)})})})})]})})]})}exports.a=Ge;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {f}from'./chunk-ACQOSYBI.js';import {a}from'./chunk-AXBJKPZZ.js';import {jsx}from'react/jsx-runtime';function s({intent:t,size:r,className:n,...o}){return jsx("div",{className:a(f({intent:t,size:r}),n),...o})}function l({className:t,...r}){return jsx("div",{className:a("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",t),...r})}function c({className:t,...r}){return jsx("div",{className:a("text-primary-700 dark:text-primary-300 text-sm",t),...r})}export{s as a,l as b,c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var clsx=require('clsx'),tailwindMerge=require('tailwind-merge');function s(...r){return tailwindMerge.twMerge(clsx.clsx(r))}exports.a=s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkNBLJWONR_cjs=require('./chunk-NBLJWONR.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),jsxRuntime=require('react/jsx-runtime');var l={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"}},u={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 g({state:o="default",inputSize:i="md",className:p,prefix:s,suffix:a,action:t,...c}){if(!s&&!a&&!t)return jsxRuntime.jsx("input",{className:chunkX5YP5TMY_cjs.a(chunkNBLJWONR_cjs.c({state:o,size:i}),p),...c});let r=l[i??"md"],x=u[o??"default"];return jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("flex w-full items-center overflow-hidden rounded-md border bg-white transition-colors dark:bg-secondary-900",r.wrapper,x,p),children:[s&&jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("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",r.prefix),children:s}),jsxRuntime.jsx("input",{className:chunkX5YP5TMY_cjs.a("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",r.input,s&&"pl-2"),...c}),a&&jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("pointer-events-none flex shrink-0 items-center text-secondary-400 dark:text-secondary-500",r.icon),children:a}),t&&jsxRuntime.jsx("button",{type:"button",onClick:t.onClick,"aria-label":t["aria-label"]??"Action",className:chunkX5YP5TMY_cjs.a("flex shrink-0 items-center text-secondary-500 transition-colors hover:text-primary-600 dark:text-secondary-400 dark:hover:text-primary-400",r.icon),children:t.icon})]})}exports.a=g;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a}from'./chunk-AXBJKPZZ.js';import {jsxs,jsx}from'react/jsx-runtime';function v({href:n,className:t,onClick:o,children:i}){return jsx("a",{href:n,className:t,onClick:o,children:i})}function y({brand:n,onBrandClick:t,navItems:o=[],actions:i=[],linkComponent:p=v,height:f="h-12",className:k,children:c}){return jsxs("header",{className:a("flex shrink-0 items-center justify-between border-b px-5","border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",f,k),children:[jsxs("div",{className:"flex items-center gap-6",children:[n&&jsx("div",{className:a("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?e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),t(e));}:void 0,children:n}),o.length>0&&jsx("nav",{className:"flex items-center gap-4 text-sm",children:o.map((e,l)=>{let a$1=typeof e.label=="string"?e.label:l,d=e.active?"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";return e.href?jsx(p,{href:e.href,className:d,onClick:e.onClick,children:e.label},a$1):jsx("button",{type:"button",className:a(d,"cursor-pointer"),onClick:e.onClick,children:e.label},a$1)})})]}),c&&jsx("div",{className:"flex items-center",children:c}),i.length>0&&jsx("div",{className:"flex items-center gap-1",children:i.map((e,l)=>{let a="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";return e.href?jsx("a",{href:e.href,target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0,className:a,"aria-label":e["aria-label"],onClick:e.onClick,children:e.icon},e.key??l):jsx("button",{type:"button",className:a,"aria-label":e["aria-label"],onClick:e.onClick,children:e.icon},e.key??l)})})]})}export{y as a};
|