@jacshuo/onyx 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +358 -361
  2. package/dist/Chart/BarChart.cjs +1 -1
  3. package/dist/Chart/BarChart.js +1 -1
  4. package/dist/Chart/LineChart.cjs +1 -1
  5. package/dist/Chart/LineChart.js +1 -1
  6. package/dist/Chart/PieChart.cjs +1 -1
  7. package/dist/Chart/PieChart.js +1 -1
  8. package/dist/Chart/ScatterChart.cjs +1 -1
  9. package/dist/Chart/ScatterChart.js +1 -1
  10. package/dist/Chart/index.cjs +1 -1
  11. package/dist/Chart/index.js +1 -1
  12. package/dist/DataDisplay/CodeBlock.cjs +2 -2
  13. package/dist/DataDisplay/CodeBlock.js +2 -2
  14. package/dist/DataDisplay/List.cjs +1 -1
  15. package/dist/DataDisplay/List.js +1 -1
  16. package/dist/DataDisplay/MetricCard.cjs +1 -0
  17. package/dist/DataDisplay/MetricCard.d.cts +3 -0
  18. package/dist/DataDisplay/MetricCard.d.ts +3 -0
  19. package/dist/DataDisplay/MetricCard.js +1 -0
  20. package/dist/DataDisplay/Stat.cjs +1 -0
  21. package/dist/DataDisplay/Stat.d.cts +3 -0
  22. package/dist/DataDisplay/Stat.d.ts +3 -0
  23. package/dist/DataDisplay/Stat.js +1 -0
  24. package/dist/DataDisplay/Table.cjs +1 -1
  25. package/dist/DataDisplay/Table.js +1 -1
  26. package/dist/DataDisplay/Tree.cjs +1 -1
  27. package/dist/DataDisplay/Tree.js +1 -1
  28. package/dist/DataDisplay/index.cjs +2 -2
  29. package/dist/DataDisplay/index.d.cts +6 -0
  30. package/dist/DataDisplay/index.d.ts +6 -0
  31. package/dist/DataDisplay/index.js +2 -2
  32. package/dist/Extras/CommandPalette.cjs +1 -0
  33. package/dist/Extras/CommandPalette.css +1 -0
  34. package/dist/Extras/CommandPalette.d.cts +4 -0
  35. package/dist/Extras/CommandPalette.d.ts +4 -0
  36. package/dist/Extras/CommandPalette.js +1 -0
  37. package/dist/Extras/DateTimePicker.cjs +1 -0
  38. package/dist/Extras/DateTimePicker.css +1 -0
  39. package/dist/Extras/DateTimePicker.d.cts +5 -0
  40. package/dist/Extras/DateTimePicker.d.ts +5 -0
  41. package/dist/Extras/DateTimePicker.js +1 -0
  42. package/dist/Extras/FileExplorer.cjs +2 -2
  43. package/dist/Extras/FileExplorer.js +2 -2
  44. package/dist/Extras/Timeline.cjs +1 -0
  45. package/dist/Extras/Timeline.css +1 -0
  46. package/dist/Extras/Timeline.d.cts +6 -0
  47. package/dist/Extras/Timeline.d.ts +6 -0
  48. package/dist/Extras/Timeline.js +1 -0
  49. package/dist/Extras/index.cjs +4 -4
  50. package/dist/Extras/index.css +1 -1
  51. package/dist/Extras/index.d.cts +14 -0
  52. package/dist/Extras/index.d.ts +14 -0
  53. package/dist/Extras/index.js +4 -4
  54. package/dist/Feedback/Alert.cjs +1 -1
  55. package/dist/Feedback/Alert.js +1 -1
  56. package/dist/Feedback/ProgressBar.cjs +1 -1
  57. package/dist/Feedback/ProgressBar.js +1 -1
  58. package/dist/Feedback/Skeleton.cjs +1 -0
  59. package/dist/Feedback/Skeleton.d.cts +2 -0
  60. package/dist/Feedback/Skeleton.d.ts +2 -0
  61. package/dist/Feedback/Skeleton.js +1 -0
  62. package/dist/Feedback/Spin.cjs +2 -2
  63. package/dist/Feedback/Spin.js +2 -2
  64. package/dist/Feedback/Toast.cjs +1 -0
  65. package/dist/Feedback/Toast.d.cts +11 -0
  66. package/dist/Feedback/Toast.d.ts +11 -0
  67. package/dist/Feedback/Toast.js +1 -0
  68. package/dist/Feedback/index.cjs +2 -2
  69. package/dist/Feedback/index.d.cts +11 -0
  70. package/dist/Feedback/index.d.ts +11 -0
  71. package/dist/Feedback/index.js +2 -2
  72. package/dist/Forms/Select.cjs +1 -0
  73. package/dist/Forms/Select.css +1 -0
  74. package/dist/Forms/Select.d.cts +3 -0
  75. package/dist/Forms/Select.d.ts +3 -0
  76. package/dist/Forms/Select.js +1 -0
  77. package/dist/Navigation/Breadcrumb.cjs +1 -0
  78. package/dist/Navigation/Breadcrumb.d.cts +3 -0
  79. package/dist/Navigation/Breadcrumb.d.ts +3 -0
  80. package/dist/Navigation/Breadcrumb.js +1 -0
  81. package/dist/Navigation/Header.cjs +1 -1
  82. package/dist/Navigation/Header.js +1 -1
  83. package/dist/Navigation/Pagination.cjs +1 -0
  84. package/dist/Navigation/Pagination.d.cts +2 -0
  85. package/dist/Navigation/Pagination.d.ts +2 -0
  86. package/dist/Navigation/Pagination.js +1 -0
  87. package/dist/Navigation/RibbonBar.cjs +1 -0
  88. package/dist/Navigation/RibbonBar.d.cts +6 -0
  89. package/dist/Navigation/RibbonBar.d.ts +6 -0
  90. package/dist/Navigation/RibbonBar.js +1 -0
  91. package/dist/Navigation/SideNav.cjs +1 -1
  92. package/dist/Navigation/SideNav.js +1 -1
  93. package/dist/Navigation/index.cjs +2 -2
  94. package/dist/Navigation/index.d.cts +8 -0
  95. package/dist/Navigation/index.d.ts +8 -0
  96. package/dist/Navigation/index.js +2 -2
  97. package/dist/Overlay/ContextMenu.cjs +1 -0
  98. package/dist/Overlay/ContextMenu.d.cts +3 -0
  99. package/dist/Overlay/ContextMenu.d.ts +3 -0
  100. package/dist/Overlay/ContextMenu.js +1 -0
  101. package/dist/Overlay/Drawer.cjs +1 -0
  102. package/dist/Overlay/Drawer.css +1 -0
  103. package/dist/Overlay/Drawer.d.cts +10 -0
  104. package/dist/Overlay/Drawer.d.ts +10 -0
  105. package/dist/Overlay/Drawer.js +1 -0
  106. package/dist/Overlay/index.cjs +1 -1
  107. package/dist/Overlay/index.css +1 -0
  108. package/dist/Overlay/index.d.cts +8 -0
  109. package/dist/Overlay/index.d.ts +8 -0
  110. package/dist/Overlay/index.js +1 -1
  111. package/dist/Primitives/Avatar.cjs +1 -0
  112. package/dist/Primitives/Avatar.d.cts +4 -0
  113. package/dist/Primitives/Avatar.d.ts +4 -0
  114. package/dist/Primitives/Avatar.js +1 -0
  115. package/dist/Primitives/Badge.cjs +1 -1
  116. package/dist/Primitives/Badge.js +1 -1
  117. package/dist/Primitives/Button.cjs +1 -1
  118. package/dist/Primitives/Button.js +1 -1
  119. package/dist/Primitives/Checkbox.cjs +1 -1
  120. package/dist/Primitives/Checkbox.js +1 -1
  121. package/dist/Primitives/Dropdown.cjs +1 -1
  122. package/dist/Primitives/Dropdown.js +1 -1
  123. package/dist/Primitives/DropdownButton.cjs +1 -1
  124. package/dist/Primitives/DropdownButton.js +1 -1
  125. package/dist/Primitives/Indicator.cjs +1 -1
  126. package/dist/Primitives/Indicator.js +1 -1
  127. package/dist/Primitives/Input.cjs +1 -1
  128. package/dist/Primitives/Input.js +1 -1
  129. package/dist/Primitives/Label.cjs +1 -1
  130. package/dist/Primitives/Label.js +1 -1
  131. package/dist/Primitives/Radio.cjs +1 -1
  132. package/dist/Primitives/Radio.js +1 -1
  133. package/dist/Primitives/Slider.cjs +1 -0
  134. package/dist/Primitives/Slider.css +1 -0
  135. package/dist/Primitives/Slider.d.cts +4 -0
  136. package/dist/Primitives/Slider.d.ts +4 -0
  137. package/dist/Primitives/Slider.js +1 -0
  138. package/dist/Primitives/Switch.cjs +1 -1
  139. package/dist/Primitives/Switch.js +1 -1
  140. package/dist/Primitives/Tag.cjs +1 -0
  141. package/dist/Primitives/Tag.d.cts +2 -0
  142. package/dist/Primitives/Tag.d.ts +2 -0
  143. package/dist/Primitives/Tag.js +1 -0
  144. package/dist/Primitives/index.cjs +1 -1
  145. package/dist/Primitives/index.css +1 -0
  146. package/dist/Primitives/index.d.cts +6 -0
  147. package/dist/Primitives/index.d.ts +6 -0
  148. package/dist/Primitives/index.js +1 -1
  149. package/dist/_tsup-dts-rollup.d.cts +1130 -3
  150. package/dist/_tsup-dts-rollup.d.ts +1130 -3
  151. package/dist/index.cjs +5 -5
  152. package/dist/index.css +1 -1
  153. package/dist/index.d.cts +74 -0
  154. package/dist/index.d.ts +74 -0
  155. package/dist/index.js +5 -5
  156. package/dist/styles/DataDisplay/MetricCard.css +1 -0
  157. package/dist/styles/DataDisplay/Stat.css +1 -0
  158. package/dist/styles/Extras/CommandPalette.css +65 -0
  159. package/dist/styles/Extras/DateTimePicker.css +566 -0
  160. package/dist/styles/Extras/Timeline.css +52 -0
  161. package/dist/styles/Feedback/Skeleton.css +37 -0
  162. package/dist/styles/Feedback/Toast.css +77 -0
  163. package/dist/styles/Forms/Select.css +36 -0
  164. package/dist/styles/Navigation/RibbonBar.css +1 -0
  165. package/dist/styles/Overlay/ContextMenu.css +1 -0
  166. package/dist/styles/Overlay/Drawer.css +52 -0
  167. package/dist/styles/Primitives/Slider.css +4 -0
  168. package/dist/styles/Primitives/Tag.css +1 -0
  169. package/dist/styles/base.css +1059 -20
  170. package/dist/styles.css +1726 -18
  171. package/dist/theme.cjs +1 -1
  172. package/dist/theme.d.cts +7 -0
  173. package/dist/theme.d.ts +7 -0
  174. package/dist/theme.js +1 -1
  175. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ import {useRef,useEffect,useState,useMemo,useCallback}from'react';import {createPortal}from'react-dom';import {Search,Command}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs}from'react/jsx-runtime';function x(...r){return twMerge(clsx(r))}function k(r){return r.toLowerCase().replace(/\s+/g," ").trim()}function H(r,t){if(!t)return true;let a=k(t);return k(r.label).includes(a)||(r.description?k(r.description).includes(a):false)||(r.keywords?r.keywords.some(d=>k(d).includes(a)):false)}function q(r){let t=new Map;for(let a of r){let d=a.group??"";t.has(d)||t.set(d,[]),t.get(d).push(a);}return Array.from(t.entries()).map(([a,d])=>({label:a,items:d}))}function P(r,t,a,d){let[p,b]=useState(""),[u,c]=useState(0);useEffect(()=>{t&&(b(""),c(0));},[t]);let o=useMemo(()=>r.filter(e=>!e.disabled&&H(e,p)),[r,p]),v=useMemo(()=>q(o),[o]);useEffect(()=>{c(e=>Math.min(e,Math.max(0,o.length-1)));},[o.length]);let y=useCallback(()=>{let e=o[u];e&&(e.onSelect(),a(false));},[o,u,a]),h=useCallback(e=>{switch(e.key){case "ArrowDown":e.preventDefault(),c(n=>(n+1)%Math.max(1,o.length));break;case "ArrowUp":e.preventDefault(),c(n=>(n-1+Math.max(1,o.length))%Math.max(1,o.length));break;case "Enter":e.preventDefault(),y();break;case "Escape":e.preventDefault(),a(false);break}},[o.length,y,a]);return useEffect(()=>{if(!d)return;function e(n){(n.metaKey||n.ctrlKey)&&n.key==="k"&&(n.preventDefault(),a(!t));}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[d,t,a]),{query:p,setQuery:b,groups:v,filtered:o,activeIndex:u,setActiveIndex:c,handleKeyDown:h}}function V({open:r,onOpenChange:t,commands:a,placeholder:d="Type a command or search\u2026",hotkey:p=true,maxItems:b=8,className:u}){let c=useRef(null),o=useRef(null),{query:v,setQuery:y,groups:h,filtered:e,activeIndex:n,setActiveIndex:D,handleKeyDown:A}=P(a,r,t,p);if(useEffect(()=>{if(r){let l=setTimeout(()=>c.current?.focus(),40);return ()=>clearTimeout(l)}},[r]),useEffect(()=>{o.current?.querySelector("[data-active='true']")?.scrollIntoView({block:"nearest"});},[n]),!r)return null;let K=0;return createPortal(jsx("div",{className:"cmd-backdrop fixed inset-0 z-50 flex items-start justify-center pt-[15vh]",onClick:()=>t(false),role:"presentation",children:jsxs("div",{className:x("cmd-panel relative flex w-full max-w-lg flex-col overflow-hidden rounded-xl","border border-primary-200 bg-white shadow-2xl","dark:border-primary-700 dark:bg-primary-900",u),onClick:l=>l.stopPropagation(),onKeyDown:A,role:"dialog","aria-label":"Command palette","aria-modal":"true",children:[jsxs("div",{className:"flex items-center gap-3 border-b border-primary-100 px-4 dark:border-primary-700",children:[jsx(Search,{className:"h-4 w-4 shrink-0 text-secondary-400","aria-hidden":"true"}),jsx("input",{ref:c,value:v,onChange:l=>y(l.target.value),placeholder:d,className:"flex-1 bg-transparent py-3.5 text-sm text-primary-900 outline-none placeholder:text-secondary-400 dark:text-primary-50","aria-label":"Search commands","aria-controls":"cmd-results","aria-autocomplete":"list","aria-activedescendant":e[n]?`cmd-item-${e[n].id}`:void 0,spellCheck:false,autoComplete:"off"}),jsx("kbd",{className:"hidden shrink-0 rounded border border-primary-200 px-1.5 py-0.5 text-xs text-secondary-400 dark:border-primary-600 sm:block",children:"esc"})]}),jsx("div",{id:"cmd-results",ref:o,className:"overflow-y-auto py-2",style:{maxHeight:`${b*2.75}rem`},role:"listbox","aria-label":"Commands",children:e.length===0?jsxs("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-secondary-400",children:[jsx(Command,{className:"h-8 w-8 opacity-30"}),jsx("span",{children:"No commands found"})]}):h.map(l=>jsxs("div",{className:"mb-1 last:mb-0",children:[l.label&&jsx("p",{className:"px-4 pb-1 pt-2 text-xs font-semibold uppercase tracking-wide text-secondary-400 dark:text-secondary-500",children:l.label}),l.items.map(i=>{let w=K++,f=w===n;return jsxs("button",{id:`cmd-item-${i.id}`,"data-active":f,role:"option","aria-selected":f,className:x("cmd-item group flex w-full items-center gap-3 px-4 py-2.5 text-left text-sm",f?"bg-primary-100 text-primary-900 dark:bg-primary-800 dark:text-primary-50":"text-primary-700 hover:bg-primary-50 dark:text-primary-300 dark:hover:bg-primary-800/50"),onMouseEnter:()=>D(w),onClick:()=>{i.onSelect(),t(false);},children:[i.icon&&jsx("span",{className:x("flex h-7 w-7 shrink-0 items-center justify-center rounded-md border text-xs",f?"border-primary-300 bg-white text-primary-700 dark:border-primary-600 dark:bg-primary-700 dark:text-primary-200":"border-primary-200 bg-primary-50 text-primary-500 dark:border-primary-700 dark:bg-primary-800 dark:text-primary-400"),children:i.icon}),jsxs("span",{className:"min-w-0 flex-1",children:[jsx("span",{className:"block truncate font-medium",children:i.label}),i.description&&jsx("span",{className:"block truncate text-xs text-secondary-400 dark:text-secondary-500",children:i.description})]}),i.shortcut&&jsx("span",{className:"flex shrink-0 items-center gap-0.5",children:i.shortcut.map((S,L)=>jsx("kbd",{className:"rounded border border-primary-200 px-1.5 py-0.5 text-xs text-secondary-500 dark:border-primary-700 dark:text-secondary-400",children:S},L))})]},i.id)})]},l.label||"_default"))}),e.length>0&&jsxs("div",{className:"flex items-center justify-between border-t border-primary-100 px-4 py-2 dark:border-primary-700",children:[jsxs("span",{className:"text-xs text-secondary-400",children:[e.length," result",e.length!==1?"s":""]}),jsxs("span",{className:"flex items-center gap-3 text-xs text-secondary-400",children:[jsxs("span",{className:"flex items-center gap-1",children:[jsx("kbd",{className:"rounded border border-primary-200 px-1 dark:border-primary-700",children:"\u2191"}),jsx("kbd",{className:"rounded border border-primary-200 px-1 dark:border-primary-700",children:"\u2193"}),"Navigate"]}),jsxs("span",{className:"flex items-center gap-1",children:[jsx("kbd",{className:"rounded border border-primary-200 px-1 dark:border-primary-700",children:"\u21B5"}),"Select"]})]})]})]})}),document.body)}export{V as CommandPalette};
@@ -0,0 +1 @@
1
+ 'use strict';var react=require('react'),reactDom=require('react-dom'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime');function N(...e){return tailwindMerge.twMerge(clsx.clsx(e))}function Z(e="en-US",t="long"){return Array.from({length:12},(n,r)=>new Intl.DateTimeFormat(e,{month:t}).format(new Date(2e3,r,1)))}function ue(e="en-US",t="narrow"){let n=new Date(2e3,0,2);return Array.from({length:7},(r,i)=>{let d=new Date(n);return d.setDate(n.getDate()+i),new Intl.DateTimeFormat(e,{weekday:t}).format(d)})}function fe(e,t=true,n=true){return e==="date"?"YYYY-MM-DD":e==="time"?t?n?"HH:mm:ss":"HH:mm":n?"hh:mm:ss A":"hh:mm A":t?n?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD HH:mm":n?"YYYY-MM-DD hh:mm:ss A":"YYYY-MM-DD hh:mm A"}function Ae(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ge(e,t,n="en-US"){let r=e.getHours(),i=Z(n,"long"),d=Z(n,"short"),a={YYYY:String(e.getFullYear()),YY:String(e.getFullYear()).slice(-2),MMMM:i[e.getMonth()],MMM:d[e.getMonth()],MM:String(e.getMonth()+1).padStart(2,"0"),M:String(e.getMonth()+1),DD:String(e.getDate()).padStart(2,"0"),D:String(e.getDate()),HH:String(r).padStart(2,"0"),H:String(r),hh:String(r%12||12).padStart(2,"0"),h:String(r%12||12),mm:String(e.getMinutes()).padStart(2,"0"),ss:String(e.getSeconds()).padStart(2,"0"),A:r<12?"AM":"PM",a:r<12?"am":"pm"},c=Object.keys(a).sort((s,m)=>m.length-s.length),l=new RegExp(c.map(Ae).join("|"),"g");return t.replace(l,s=>a[s]??s)}function U(e,t){return new Date(e,t+1,0).getDate()}function be(e,t){let n=new Date(e,t,1).getDay(),r=U(e,t),i=U(e,t-1),d=[];for(let c=n-1;c>=0;c--)d.push({date:new Date(e,t-1,i-c),thisMonth:false});for(let c=1;c<=r;c++)d.push({date:new Date(e,t,c),thisMonth:true});let a=42-d.length;for(let c=1;c<=a;c++)d.push({date:new Date(e,t+1,c),thisMonth:false});return d}function V(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function de(e,t){return V(e).getTime()===V(t).getTime()}function he(e,t){return V(e)<V(t)}function ve(e,t){return V(e)>V(t)}function re(e,t,n){return t&&e<t?new Date(t):n&&e>n?new Date(n):e}function ye(e,t,n,r){let i=new Date(e),a=t*(r==="future"?1:-1);switch(n){case "day":i.setDate(i.getDate()+a);break;case "week":i.setDate(i.getDate()+a*7);break;case "month":i.setMonth(i.getMonth()+a);break;case "year":i.setFullYear(i.getFullYear()+a);break}return i}function we(e,t=200){let n=e-Math.floor(t/2);return Array.from({length:t},(r,i)=>n+i)}function De(e){let{value:t,defaultValue:n,onChange:r,mode:i="datetime",minDate:d,maxDate:a,use24Hour:c=true,showSeconds:l=true,locale:s="en-US",format:m,onOpen:p,onClose:g}=e,f=t!==void 0,[O,S]=react.useState(n??null),x=f?t??null:O,[E,k]=react.useState(false),[L,W]=react.useState(()=>x??new Date),[ae,I]=react.useState("drum"),[j,R]=react.useState(()=>(x??new Date).getFullYear()),[v,P]=react.useState(()=>(x??new Date).getMonth()),[_,oe]=react.useState(1),[Q,ne]=react.useState("day"),[B,ie]=react.useState("future"),ee=m??fe(i,c,l),G=x?ge(x,ee,s):"",$=react.useCallback(()=>{let h=x??new Date;W(new Date(h)),R(h.getFullYear()),P(h.getMonth()),I("drum"),k(true),p?.();},[x,p]),H=react.useCallback(()=>{k(false),g?.();},[g]),b=react.useCallback(()=>{let h=re(L,d,a);f||S(h),r?.(h),H();},[L,d,a,f,r,H]),Y=react.useCallback(()=>{f||S(null),r?.(null),H();},[f,r,H]),A=react.useCallback((h,y)=>{W(F=>{let M=new Date(F);switch(h){case "year":M.setFullYear(y);break;case "month":{M.setMonth(y);let te=U(M.getFullYear(),y);M.getDate()>te&&M.setDate(te);break}case "day":M.setDate(y);break;case "hour":M.setHours(y);break;case "minute":M.setMinutes(y);break;case "second":M.setSeconds(y);break}return re(M,d,a)});},[d,a]),q=react.useCallback(()=>{let h=re(ye(new Date,_,Q,B),d,a);W(h),R(h.getFullYear()),P(h.getMonth());},[_,Q,B,d,a]),le=react.useCallback(h=>{let y=v+h,F=j;y<0&&(y=11,F--),y>11&&(y=0,F++),P(y),R(F);},[v,j]);return {isOpen:E,displayValue:G,workingDate:L,view:ae,calYear:j,calMonth:v,offsetAmount:_,offsetUnit:Q,offsetDirection:B,mode:i,use24Hour:c,showSeconds:l,locale:s,minDate:d,maxDate:a,openPicker:$,closePicker:H,confirm:b,clear:Y,updateField:A,setView:I,setCalYear:R,setCalMonth:P,setOffsetAmount:oe,setOffsetUnit:ne,setOffsetDirection:ie,applyQuickOffset:q,navigateCalendar:le}}var J=40;function Me(e,t,n=true){let r=react.useRef(t);r.current=t,react.useEffect(()=>{if(!n)return;function i(d){let a=d.target;e.some(l=>l.current?.contains(a))||r.current();}return document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[e,n]);}function Se(e,t,n){let r=react.useRef(false),i=react.useRef(void 0),d=react.useRef(n);d.current=n;let a=react.useRef(t);a.current=t;let c=react.useCallback((s,m="smooth")=>{let p=e.current;if(!p)return;let g=s*J;Math.abs(p.scrollTop-g)<2&&m!=="instant"||(m==="instant"?p.scrollTop=g:p.scrollTo({top:g,behavior:m}));},[e]),l=react.useCallback(()=>{e.current&&(r.current=true,clearTimeout(i.current),i.current=setTimeout(()=>{r.current=false;let m=e.current;if(!m)return;let p=Math.round(m.scrollTop/J),g=Math.max(0,Math.min(a.current-1,p)),f=g*J;Math.abs(m.scrollTop-f)>1&&m.scrollTo({top:f,behavior:"smooth"}),d.current(g);},120));},[e]);return {scrollToIndex:c,handleScroll:l,isScrollingRef:r}}function Ce(e,t,n){react.useEffect(()=>{if(!n)return;function r(){let d=e.current,a=t.current;if(!d||!a)return;if(window.innerWidth<=640){a.style.top="",a.style.left="";return}let c=d.getBoundingClientRect(),l=window.innerHeight,s=window.innerWidth,m=a.offsetHeight||460,p=a.offsetWidth||340,g=c.bottom+8,f=c.left;g+m>l-16&&(g=Math.max(16,c.top-m-8)),f+p>s-16&&(f=Math.max(16,s-p-16)),f<16&&(f=16),a.style.top=`${Math.round(g)}px`,a.style.left=`${Math.round(f)}px`;}let i=setTimeout(r,0);return window.addEventListener("resize",r),window.addEventListener("scroll",r,true),()=>{clearTimeout(i),window.removeEventListener("resize",r),window.removeEventListener("scroll",r,true);}},[n,e,t]);}function T({items:e,selectedValue:t,onSelect:n,label:r}){let i=react.useRef(null),d=react.useRef(t),a=react.useRef(false),{scrollToIndex:c,handleScroll:l}=Se(i,e.length,s=>{let m=e[s];m&&(a.current=true,n(m.value),setTimeout(()=>{a.current=false;},200));});return react.useEffect(()=>{let s=i.current;if(!s)return;let m=e.findIndex(p=>p.value===t);m>=0&&(s.scrollTop=m*J);},[]),react.useEffect(()=>{if(d.current!==t&&(d.current=t,!a.current)){let s=e.findIndex(m=>m.value===t);s>=0&&c(s,"smooth");}},[t,e,c]),jsxRuntime.jsxs("div",{className:"dtp-column",role:"group","aria-label":r,children:[jsxRuntime.jsx("div",{className:"dtp-column-highlight","aria-hidden":"true"}),jsxRuntime.jsx("div",{ref:i,className:"dtp-column-list",onScroll:l,role:"listbox","aria-label":r,children:e.map(s=>jsxRuntime.jsx("div",{className:N("dtp-item",s.value===t&&"dtp-item--selected"),onClick:()=>{let m=e.findIndex(p=>p.value===s.value);m>=0&&c(m,"smooth"),n(s.value);},role:"option","aria-selected":s.value===t,children:s.label},s.value))}),jsxRuntime.jsx("div",{className:"dtp-fade-top","aria-hidden":"true"}),jsxRuntime.jsx("div",{className:"dtp-fade-bottom","aria-hidden":"true"})]})}function Ue({year:e,month:t,selectedDate:n,today:r,minDate:i,maxDate:d,locale:a,onSelectDay:c,onPrev:l,onNext:s}){let m=ue(a,"narrow"),p=Z(a,"long"),g=be(e,t);return jsxRuntime.jsxs("div",{className:"dtp-calendar",children:[jsxRuntime.jsxs("div",{className:"dtp-cal-nav",children:[jsxRuntime.jsx("button",{type:"button",className:"dtp-cal-nav-btn",onClick:l,"aria-label":"Previous month",children:jsxRuntime.jsx(lucideReact.ChevronLeft,{className:"h-4 w-4"})}),jsxRuntime.jsxs("span",{className:"dtp-cal-title",children:[p[t]," ",e]}),jsxRuntime.jsx("button",{type:"button",className:"dtp-cal-nav-btn",onClick:s,"aria-label":"Next month",children:jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-4 w-4"})})]}),jsxRuntime.jsx("div",{className:"dtp-cal-weekdays",role:"row",children:m.map((f,O)=>jsxRuntime.jsx("div",{className:"dtp-cal-weekday",role:"columnheader","aria-label":f,children:f},O))}),jsxRuntime.jsx("div",{className:"dtp-cal-days",role:"grid",children:g.map(({date:f,thisMonth:O},S)=>{let x=de(f,n),E=de(f,r),k=i!=null&&he(f,i)||d!=null&&ve(f,d);return jsxRuntime.jsx("button",{type:"button",role:"gridcell",className:N("dtp-cal-day",!O&&"dtp-cal-day--other",x&&"dtp-cal-day--selected",E&&!x&&"dtp-cal-day--today",k&&"dtp-cal-day--disabled"),onClick:()=>!k&&c(f),disabled:k,"aria-current":E?"date":void 0,"aria-selected":x,"aria-disabled":k,children:f.getDate()},S)})})]})}function Ve({amount:e,unit:t,direction:n,onAmountChange:r,onUnitChange:i,onDirectionChange:d,onApply:a,locale:c}){let l=c.startsWith("zh"),s=[{value:"day",label:l?"\u5929":"Day"},{value:"week",label:l?"\u5468":"Week"},{value:"month",label:l?"\u6708":"Month"},{value:"year",label:l?"\u5E74":"Year"}],m=[{value:"future",label:l?"\u4EE5\u540E":"from now"},{value:"past",label:l?"\u4EE5\u524D":"before now"}];return jsxRuntime.jsxs("div",{className:"dtp-quick-offset","aria-label":l?"\u5FEB\u901F\u504F\u79FB":"Quick offset",children:[jsxRuntime.jsx("input",{type:"number",className:"dtp-offset-input",value:e,min:1,max:9999,"aria-label":l?"\u504F\u79FB\u6570\u91CF":"Offset amount",onChange:p=>{let g=parseInt(p.target.value,10);!isNaN(g)&&g>=1&&r(g);}}),jsxRuntime.jsx("select",{className:"dtp-offset-select",value:t,"aria-label":l?"\u504F\u79FB\u5355\u4F4D":"Offset unit",onChange:p=>i(p.target.value),children:s.map(p=>jsxRuntime.jsx("option",{value:p.value,children:p.label},p.value))}),jsxRuntime.jsx("select",{className:"dtp-offset-select",value:n,"aria-label":l?"\u504F\u79FB\u65B9\u5411":"Offset direction",onChange:p=>d(p.target.value),children:m.map(p=>jsxRuntime.jsx("option",{value:p.value,children:p.label},p.value))}),jsxRuntime.jsx("button",{type:"button",className:"dtp-offset-apply",onClick:a,children:l?"\u5E94\u7528":"Apply"})]})}function Le({className:e,popupClassName:t,triggerClassName:n,disabled:r=false,placeholder:i,...d}){let{isOpen:a,displayValue:c,workingDate:l,view:s,calYear:m,calMonth:p,offsetAmount:g,offsetUnit:f,offsetDirection:O,mode:S,use24Hour:x,showSeconds:E,locale:k,minDate:L,maxDate:W,openPicker:ae,closePicker:I,confirm:j,clear:R,updateField:v,setView:P,setCalYear:_,setCalMonth:oe,setOffsetAmount:Q,setOffsetUnit:ne,setOffsetDirection:B,applyQuickOffset:ie,navigateCalendar:ee}=De({...d}),G=react.useRef(null),$=react.useRef(null),H=new Date;Me([G,$],I,a),Ce(G,$,a);let b=k.startsWith("zh"),Y={cancel:b?"\u53D6\u6D88":"Cancel",confirm:b?"\u786E\u5B9A":"Confirm",calendarView:b?"\u65E5\u5386":"Calendar",scrollView:b?"\u6EDA\u8F6E":"Scroll",placeholder:i??(b?"\u9009\u62E9\u65E5\u671F\u65F6\u95F4":"Select date / time")},A=S==="date"||S==="datetime",q=S==="time"||S==="datetime",le=we(l.getFullYear(),200).map(u=>({label:String(u),value:u})),h=Z(k,"short").map((u,D)=>({label:u,value:D})),y=U(l.getFullYear(),l.getMonth()),F=Array.from({length:y},(u,D)=>({label:String(D+1).padStart(2,"0"),value:D+1})),M=Array.from({length:24},(u,D)=>({label:String(D).padStart(2,"0"),value:D})),te=Array.from({length:12},(u,D)=>({label:String(D===0?12:D).padStart(2,"0"),value:D})),Te=[{label:"AM",value:0},{label:"PM",value:1}],ce=Array.from({length:60},(u,D)=>({label:String(D).padStart(2,"0"),value:D})),se=l.getHours(),pe=se%12,me=se<12?0:1,Oe=q&&!A?lucideReact.Clock:lucideReact.Calendar;return jsxRuntime.jsxs("div",{className:N("dtp-root",e),children:[jsxRuntime.jsxs("div",{className:"dtp-trigger-wrap",children:[jsxRuntime.jsxs("button",{ref:G,type:"button",className:N("dtp-trigger",c&&"dtp-trigger--has-clear",r&&"dtp-trigger--disabled",n),onClick:()=>!r&&(a?I():ae()),disabled:r,"aria-haspopup":"dialog","aria-expanded":a,children:[jsxRuntime.jsx(Oe,{className:"dtp-trigger-icon","aria-hidden":"true"}),jsxRuntime.jsx("span",{className:N("dtp-trigger-text",!c&&"dtp-trigger-placeholder"),children:c||Y.placeholder})]}),c&&jsxRuntime.jsx("button",{type:"button",className:"dtp-trigger-clear","aria-label":b?"\u6E05\u9664":"Clear value",onClick:()=>!r&&R(),children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]}),a&&reactDom.createPortal(jsxRuntime.jsxs("div",{ref:$,className:N("dtp-panel",t),role:"dialog","aria-modal":"true","aria-label":b?"\u65E5\u671F\u65F6\u95F4\u9009\u62E9\u5668":"Date time picker",children:[jsxRuntime.jsxs("div",{className:"dtp-panel-header",children:[jsxRuntime.jsx("span",{className:"dtp-panel-preview",children:c||Y.placeholder}),jsxRuntime.jsx("div",{className:"dtp-panel-actions",children:A&&jsxRuntime.jsx("button",{type:"button",className:N("dtp-view-btn",s==="calendar"&&"dtp-view-btn--active"),"aria-pressed":s==="calendar",title:s==="calendar"?Y.scrollView:Y.calendarView,onClick:()=>{s!=="calendar"&&(_(l.getFullYear()),oe(l.getMonth())),P(s==="calendar"?"drum":"calendar");},children:jsxRuntime.jsx(lucideReact.Calendar,{className:"h-4 w-4"})})})]}),jsxRuntime.jsx("div",{className:"dtp-panel-body",children:s==="drum"?jsxRuntime.jsxs("div",{className:"dtp-drum",children:[A&&jsxRuntime.jsxs("div",{className:"dtp-drum-date",children:[jsxRuntime.jsx(T,{label:b?"\u5E74":"Year",items:le,selectedValue:l.getFullYear(),onSelect:u=>v("year",u)}),jsxRuntime.jsx(T,{label:b?"\u6708":"Month",items:h,selectedValue:l.getMonth(),onSelect:u=>v("month",u)}),jsxRuntime.jsx(T,{label:b?"\u65E5":"Day",items:F,selectedValue:l.getDate(),onSelect:u=>v("day",u)})]}),A&&q&&jsxRuntime.jsx("div",{className:"dtp-drum-sep","aria-hidden":"true"}),q&&jsxRuntime.jsxs("div",{className:"dtp-drum-time",children:[x?jsxRuntime.jsx(T,{label:b?"\u65F6":"Hour",items:M,selectedValue:se,onSelect:u=>v("hour",u)}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(T,{label:b?"\u65F6":"Hour",items:te,selectedValue:pe,onSelect:u=>{v("hour",me===1?u+12:u);}}),jsxRuntime.jsx(T,{label:"AM/PM",items:Te,selectedValue:me,onSelect:u=>{v("hour",pe+(u===1?12:0));}})]}),jsxRuntime.jsx(T,{label:b?"\u5206":"Min",items:ce,selectedValue:l.getMinutes(),onSelect:u=>v("minute",u)}),E&&jsxRuntime.jsx(T,{label:b?"\u79D2":"Sec",items:ce,selectedValue:l.getSeconds(),onSelect:u=>v("second",u)})]})]}):jsxRuntime.jsx(Ue,{year:m,month:p,selectedDate:l,today:H,minDate:L,maxDate:W,locale:k,onSelectDay:u=>{v("year",u.getFullYear()),v("month",u.getMonth()),v("day",u.getDate()),P("drum");},onPrev:()=>ee(-1),onNext:()=>ee(1)})}),A&&jsxRuntime.jsx("div",{className:"dtp-panel-offset",children:jsxRuntime.jsx(Ve,{amount:g,unit:f,direction:O,onAmountChange:Q,onUnitChange:ne,onDirectionChange:B,onApply:ie,locale:k})}),jsxRuntime.jsxs("div",{className:"dtp-panel-footer",children:[jsxRuntime.jsx("button",{type:"button",className:"dtp-btn-cancel",onClick:I,children:Y.cancel}),jsxRuntime.jsx("button",{type:"button",className:"dtp-btn-confirm",onClick:j,children:Y.confirm})]})]}),document.body)]})}exports.DateTimePicker=Le;
@@ -0,0 +1 @@
1
+ :root{--dtp-panel-bg: rgba(255, 255, 255, .9);--dtp-panel-border: var(--color-primary-200);--dtp-blur: 16px;--dtp-accent: var(--color-primary-500);--dtp-accent-bg: var(--color-primary-100);--dtp-text-selected: var(--color-primary-800);--dtp-text-muted: var(--color-secondary-400);--dtp-text-primary: var(--color-primary-700);--dtp-item-h: 40px;--dtp-radius: 16px;--dtp-shadow: 0 20px 60px rgba(0, 0, 0, .12), 0 4px 16px rgba(0, 0, 0, .06)}:root:where(.dark,.dark *),.dark{--dtp-panel-bg: rgba(15, 23, 42, .9);--dtp-panel-border: var(--color-primary-700);--dtp-accent-bg: rgba(100, 116, 139, .25);--dtp-text-selected: var(--color-primary-100);--dtp-text-muted: var(--color-secondary-500);--dtp-text-primary: var(--color-primary-300);--dtp-shadow: 0 20px 60px rgba(0, 0, 0, .45), 0 4px 16px rgba(0, 0, 0, .2)}.dtp-root{display:inline-flex;align-items:center}.dtp-trigger-wrap{position:relative;display:inline-flex;align-items:center}.dtp-trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--color-primary-300);background:var(--color-primary-50);color:var(--color-primary-700);font-size:.875rem;line-height:1.5;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;min-width:180px;text-align:left}.dtp-trigger--has-clear{padding-right:2rem}:where(.dark,.dark *) .dtp-trigger{border-color:var(--color-primary-600);background:var(--color-primary-800);color:var(--color-primary-200)}.dtp-trigger:hover:not(:disabled){border-color:var(--color-primary-400);box-shadow:0 0 0 3px var(--color-primary-100)}:where(.dark,.dark *) .dtp-trigger:hover:not(:disabled){box-shadow:0 0 0 3px #64748b33}.dtp-trigger--disabled{opacity:.5;cursor:not-allowed}.dtp-trigger-icon{width:1rem;height:1rem;color:var(--color-primary-400);flex-shrink:0}.dtp-trigger-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtp-trigger-placeholder{color:var(--color-secondary-400)}.dtp-trigger-clear{position:absolute;right:.375rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;padding:.125rem;border-radius:9999px;border:none;background:transparent;color:var(--color-secondary-400);cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-trigger-clear:hover{background:var(--color-primary-200);color:var(--color-primary-600)}.dtp-panel{position:fixed;z-index:9999;width:340px;max-width:calc(100vw - 32px);border-radius:var(--dtp-radius);border:1px solid var(--dtp-panel-border);background:var(--dtp-panel-bg);-webkit-backdrop-filter:blur(var(--dtp-blur));backdrop-filter:blur(var(--dtp-blur));box-shadow:var(--dtp-shadow);overflow:hidden;animation:dtp-panel-in .2s cubic-bezier(.16,1,.3,1) both;top:60px;left:0}@keyframes dtp-panel-in{0%{opacity:0;transform:scale(.97) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:640px){.dtp-panel{position:fixed!important;top:auto!important;left:0!important;bottom:0;width:100vw;max-width:100vw;border-radius:var(--dtp-radius) var(--dtp-radius) 0 0;animation:dtp-panel-slide-up .28s cubic-bezier(.16,1,.3,1) both}@keyframes dtp-panel-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.dtp-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem .625rem;border-bottom:1px solid var(--dtp-panel-border)}.dtp-panel-preview{font-size:.9375rem;font-weight:600;color:var(--dtp-text-primary);letter-spacing:-.01em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dtp-panel-actions{display:flex;gap:.375rem;margin-left:.5rem}.dtp-view-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:1px solid transparent;background:transparent;color:var(--dtp-text-muted);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.dtp-view-btn:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-selected)}.dtp-view-btn--active{background:var(--dtp-accent-bg);color:var(--dtp-accent);border-color:var(--dtp-panel-border)}.dtp-panel-body{padding:.625rem .5rem}.dtp-drum{display:flex;align-items:stretch}.dtp-drum-date,.dtp-drum-time{display:flex;flex:1;min-width:0}.dtp-drum-sep{width:1px;background:var(--dtp-panel-border);margin:.5rem .25rem}.dtp-column{position:relative;flex:1;height:calc(var(--dtp-item-h) * 5);min-width:0;overflow:hidden}.dtp-column-highlight{position:absolute;left:4px;right:4px;top:50%;transform:translateY(-50%);height:var(--dtp-item-h);background:var(--dtp-accent-bg);border-radius:8px;pointer-events:none;z-index:0}.dtp-column-list{height:100%;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding-top:calc(var(--dtp-item-h) * 2);padding-bottom:calc(var(--dtp-item-h) * 2)}.dtp-column-list::-webkit-scrollbar{display:none}.dtp-item{position:relative;z-index:1;height:var(--dtp-item-h);display:flex;align-items:center;justify-content:center;font-size:.875rem;cursor:pointer;color:var(--dtp-text-muted);transition:color .1s ease;-webkit-user-select:none;user-select:none}.dtp-item:hover{color:var(--dtp-text-primary)}.dtp-item--selected{color:var(--dtp-text-selected);font-weight:600;font-size:1rem}.dtp-fade-top,.dtp-fade-bottom{position:absolute;left:0;right:0;height:calc(var(--dtp-item-h) * 2);pointer-events:none;z-index:2}.dtp-fade-top{top:0;background:linear-gradient(to bottom,var(--dtp-panel-bg) 10%,transparent 100%)}.dtp-fade-bottom{bottom:0;background:linear-gradient(to top,var(--dtp-panel-bg) 10%,transparent 100%)}.dtp-calendar{padding:0 .25rem;min-height:230px}.dtp-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.dtp-cal-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:none;background:transparent;color:var(--dtp-text-muted);cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-cal-nav-btn:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-selected)}.dtp-cal-title{font-size:.875rem;font-weight:600;color:var(--dtp-text-primary)}.dtp-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.125rem}.dtp-cal-weekday{text-align:center;font-size:.6875rem;font-weight:500;color:var(--dtp-text-muted);padding:.25rem 0}.dtp-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dtp-cal-day{display:flex;align-items:center;justify-content:center;height:2rem;border-radius:.375rem;border:none;background:transparent;font-size:.8125rem;color:var(--dtp-text-primary);cursor:pointer;transition:background 80ms ease,color 80ms ease;width:100%}.dtp-cal-day:hover:not(:disabled):not(.dtp-cal-day--selected){background:var(--dtp-accent-bg)}.dtp-cal-day--other{color:var(--dtp-text-muted);opacity:.45}.dtp-cal-day--selected{background:var(--dtp-accent)!important;color:#fff!important;font-weight:600}.dtp-cal-day--today:not(.dtp-cal-day--selected){font-weight:600;color:var(--dtp-accent);box-shadow:inset 0 0 0 1px var(--dtp-accent)}.dtp-cal-day--disabled{opacity:.28;cursor:not-allowed;pointer-events:none}.dtp-panel-offset{padding:.375rem .75rem .5rem;border-top:1px solid var(--dtp-panel-border)}.dtp-quick-offset{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;padding:.25rem 0}.dtp-offset-input{width:3.25rem;padding:.25rem .4rem;border-radius:.375rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-primary);font-size:.8125rem;text-align:center;outline:none;transition:border-color .1s ease}.dtp-offset-input:focus{border-color:var(--dtp-accent)}.dtp-offset-select{padding:.25rem .3rem;border-radius:.375rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-primary);font-size:.8125rem;outline:none;cursor:pointer;transition:border-color .1s ease}.dtp-offset-select:focus{border-color:var(--dtp-accent)}.dtp-offset-apply{padding:.25rem .65rem;border-radius:.375rem;border:none;background:var(--dtp-accent);color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer;transition:opacity .12s ease}.dtp-offset-apply:hover{opacity:.85}.dtp-panel-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.625rem .75rem;border-top:1px solid var(--dtp-panel-border)}.dtp-btn-cancel{padding:.4375rem 1rem;border-radius:.5rem;border:1px solid var(--dtp-panel-border);background:transparent;color:var(--dtp-text-muted);font-size:.875rem;cursor:pointer;transition:background .1s ease,color .1s ease}.dtp-btn-cancel:hover{background:var(--dtp-accent-bg);color:var(--dtp-text-primary)}.dtp-btn-confirm{padding:.4375rem 1.25rem;border-radius:.5rem;border:none;background:var(--dtp-accent);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .12s ease,transform .1s ease}.dtp-btn-confirm:hover{opacity:.9;transform:translateY(-1px)}.dtp-btn-confirm:active{transform:translateY(0)}
@@ -0,0 +1,5 @@
1
+ export { DateTimePicker_alias_3 as DateTimePicker } from '../_tsup-dts-rollup.cjs';
2
+ export { DateTimePickerProps_alias_2 as DateTimePickerProps } from '../_tsup-dts-rollup.cjs';
3
+ export { DateTimeMode_alias_2 as DateTimeMode } from '../_tsup-dts-rollup.cjs';
4
+ export { OffsetUnit_alias_2 as OffsetUnit } from '../_tsup-dts-rollup.cjs';
5
+ export { OffsetDirection_alias_2 as OffsetDirection } from '../_tsup-dts-rollup.cjs';
@@ -0,0 +1,5 @@
1
+ export { DateTimePicker_alias_3 as DateTimePicker } from '../_tsup-dts-rollup.js';
2
+ export { DateTimePickerProps_alias_2 as DateTimePickerProps } from '../_tsup-dts-rollup.js';
3
+ export { DateTimeMode_alias_2 as DateTimeMode } from '../_tsup-dts-rollup.js';
4
+ export { OffsetUnit_alias_2 as OffsetUnit } from '../_tsup-dts-rollup.js';
5
+ export { OffsetDirection_alias_2 as OffsetDirection } from '../_tsup-dts-rollup.js';
@@ -0,0 +1 @@
1
+ import {useRef,useState,useCallback,useEffect}from'react';import {createPortal}from'react-dom';import {Clock,Calendar,X,ChevronLeft,ChevronRight}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsxs,jsx,Fragment}from'react/jsx-runtime';function N(...e){return twMerge(clsx(e))}function Z(e="en-US",t="long"){return Array.from({length:12},(n,r)=>new Intl.DateTimeFormat(e,{month:t}).format(new Date(2e3,r,1)))}function ue(e="en-US",t="narrow"){let n=new Date(2e3,0,2);return Array.from({length:7},(r,i)=>{let d=new Date(n);return d.setDate(n.getDate()+i),new Intl.DateTimeFormat(e,{weekday:t}).format(d)})}function fe(e,t=true,n=true){return e==="date"?"YYYY-MM-DD":e==="time"?t?n?"HH:mm:ss":"HH:mm":n?"hh:mm:ss A":"hh:mm A":t?n?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD HH:mm":n?"YYYY-MM-DD hh:mm:ss A":"YYYY-MM-DD hh:mm A"}function Ae(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ge(e,t,n="en-US"){let r=e.getHours(),i=Z(n,"long"),d=Z(n,"short"),a={YYYY:String(e.getFullYear()),YY:String(e.getFullYear()).slice(-2),MMMM:i[e.getMonth()],MMM:d[e.getMonth()],MM:String(e.getMonth()+1).padStart(2,"0"),M:String(e.getMonth()+1),DD:String(e.getDate()).padStart(2,"0"),D:String(e.getDate()),HH:String(r).padStart(2,"0"),H:String(r),hh:String(r%12||12).padStart(2,"0"),h:String(r%12||12),mm:String(e.getMinutes()).padStart(2,"0"),ss:String(e.getSeconds()).padStart(2,"0"),A:r<12?"AM":"PM",a:r<12?"am":"pm"},c=Object.keys(a).sort((s,m)=>m.length-s.length),l=new RegExp(c.map(Ae).join("|"),"g");return t.replace(l,s=>a[s]??s)}function U(e,t){return new Date(e,t+1,0).getDate()}function be(e,t){let n=new Date(e,t,1).getDay(),r=U(e,t),i=U(e,t-1),d=[];for(let c=n-1;c>=0;c--)d.push({date:new Date(e,t-1,i-c),thisMonth:false});for(let c=1;c<=r;c++)d.push({date:new Date(e,t,c),thisMonth:true});let a=42-d.length;for(let c=1;c<=a;c++)d.push({date:new Date(e,t+1,c),thisMonth:false});return d}function V(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function de(e,t){return V(e).getTime()===V(t).getTime()}function he(e,t){return V(e)<V(t)}function ve(e,t){return V(e)>V(t)}function re(e,t,n){return t&&e<t?new Date(t):n&&e>n?new Date(n):e}function ye(e,t,n,r){let i=new Date(e),a=t*(r==="future"?1:-1);switch(n){case "day":i.setDate(i.getDate()+a);break;case "week":i.setDate(i.getDate()+a*7);break;case "month":i.setMonth(i.getMonth()+a);break;case "year":i.setFullYear(i.getFullYear()+a);break}return i}function we(e,t=200){let n=e-Math.floor(t/2);return Array.from({length:t},(r,i)=>n+i)}function De(e){let{value:t,defaultValue:n,onChange:r,mode:i="datetime",minDate:d,maxDate:a,use24Hour:c=true,showSeconds:l=true,locale:s="en-US",format:m,onOpen:p,onClose:g}=e,f=t!==void 0,[O,S]=useState(n??null),x=f?t??null:O,[E,k]=useState(false),[L,W]=useState(()=>x??new Date),[ae,I]=useState("drum"),[j,R]=useState(()=>(x??new Date).getFullYear()),[v,P]=useState(()=>(x??new Date).getMonth()),[_,oe]=useState(1),[Q,ne]=useState("day"),[B,ie]=useState("future"),ee=m??fe(i,c,l),G=x?ge(x,ee,s):"",$=useCallback(()=>{let h=x??new Date;W(new Date(h)),R(h.getFullYear()),P(h.getMonth()),I("drum"),k(true),p?.();},[x,p]),H=useCallback(()=>{k(false),g?.();},[g]),b=useCallback(()=>{let h=re(L,d,a);f||S(h),r?.(h),H();},[L,d,a,f,r,H]),Y=useCallback(()=>{f||S(null),r?.(null),H();},[f,r,H]),A=useCallback((h,y)=>{W(F=>{let M=new Date(F);switch(h){case "year":M.setFullYear(y);break;case "month":{M.setMonth(y);let te=U(M.getFullYear(),y);M.getDate()>te&&M.setDate(te);break}case "day":M.setDate(y);break;case "hour":M.setHours(y);break;case "minute":M.setMinutes(y);break;case "second":M.setSeconds(y);break}return re(M,d,a)});},[d,a]),q=useCallback(()=>{let h=re(ye(new Date,_,Q,B),d,a);W(h),R(h.getFullYear()),P(h.getMonth());},[_,Q,B,d,a]),le=useCallback(h=>{let y=v+h,F=j;y<0&&(y=11,F--),y>11&&(y=0,F++),P(y),R(F);},[v,j]);return {isOpen:E,displayValue:G,workingDate:L,view:ae,calYear:j,calMonth:v,offsetAmount:_,offsetUnit:Q,offsetDirection:B,mode:i,use24Hour:c,showSeconds:l,locale:s,minDate:d,maxDate:a,openPicker:$,closePicker:H,confirm:b,clear:Y,updateField:A,setView:I,setCalYear:R,setCalMonth:P,setOffsetAmount:oe,setOffsetUnit:ne,setOffsetDirection:ie,applyQuickOffset:q,navigateCalendar:le}}var J=40;function Me(e,t,n=true){let r=useRef(t);r.current=t,useEffect(()=>{if(!n)return;function i(d){let a=d.target;e.some(l=>l.current?.contains(a))||r.current();}return document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)},[e,n]);}function Se(e,t,n){let r=useRef(false),i=useRef(void 0),d=useRef(n);d.current=n;let a=useRef(t);a.current=t;let c=useCallback((s,m="smooth")=>{let p=e.current;if(!p)return;let g=s*J;Math.abs(p.scrollTop-g)<2&&m!=="instant"||(m==="instant"?p.scrollTop=g:p.scrollTo({top:g,behavior:m}));},[e]),l=useCallback(()=>{e.current&&(r.current=true,clearTimeout(i.current),i.current=setTimeout(()=>{r.current=false;let m=e.current;if(!m)return;let p=Math.round(m.scrollTop/J),g=Math.max(0,Math.min(a.current-1,p)),f=g*J;Math.abs(m.scrollTop-f)>1&&m.scrollTo({top:f,behavior:"smooth"}),d.current(g);},120));},[e]);return {scrollToIndex:c,handleScroll:l,isScrollingRef:r}}function Ce(e,t,n){useEffect(()=>{if(!n)return;function r(){let d=e.current,a=t.current;if(!d||!a)return;if(window.innerWidth<=640){a.style.top="",a.style.left="";return}let c=d.getBoundingClientRect(),l=window.innerHeight,s=window.innerWidth,m=a.offsetHeight||460,p=a.offsetWidth||340,g=c.bottom+8,f=c.left;g+m>l-16&&(g=Math.max(16,c.top-m-8)),f+p>s-16&&(f=Math.max(16,s-p-16)),f<16&&(f=16),a.style.top=`${Math.round(g)}px`,a.style.left=`${Math.round(f)}px`;}let i=setTimeout(r,0);return window.addEventListener("resize",r),window.addEventListener("scroll",r,true),()=>{clearTimeout(i),window.removeEventListener("resize",r),window.removeEventListener("scroll",r,true);}},[n,e,t]);}function T({items:e,selectedValue:t,onSelect:n,label:r}){let i=useRef(null),d=useRef(t),a=useRef(false),{scrollToIndex:c,handleScroll:l}=Se(i,e.length,s=>{let m=e[s];m&&(a.current=true,n(m.value),setTimeout(()=>{a.current=false;},200));});return useEffect(()=>{let s=i.current;if(!s)return;let m=e.findIndex(p=>p.value===t);m>=0&&(s.scrollTop=m*J);},[]),useEffect(()=>{if(d.current!==t&&(d.current=t,!a.current)){let s=e.findIndex(m=>m.value===t);s>=0&&c(s,"smooth");}},[t,e,c]),jsxs("div",{className:"dtp-column",role:"group","aria-label":r,children:[jsx("div",{className:"dtp-column-highlight","aria-hidden":"true"}),jsx("div",{ref:i,className:"dtp-column-list",onScroll:l,role:"listbox","aria-label":r,children:e.map(s=>jsx("div",{className:N("dtp-item",s.value===t&&"dtp-item--selected"),onClick:()=>{let m=e.findIndex(p=>p.value===s.value);m>=0&&c(m,"smooth"),n(s.value);},role:"option","aria-selected":s.value===t,children:s.label},s.value))}),jsx("div",{className:"dtp-fade-top","aria-hidden":"true"}),jsx("div",{className:"dtp-fade-bottom","aria-hidden":"true"})]})}function Ue({year:e,month:t,selectedDate:n,today:r,minDate:i,maxDate:d,locale:a,onSelectDay:c,onPrev:l,onNext:s}){let m=ue(a,"narrow"),p=Z(a,"long"),g=be(e,t);return jsxs("div",{className:"dtp-calendar",children:[jsxs("div",{className:"dtp-cal-nav",children:[jsx("button",{type:"button",className:"dtp-cal-nav-btn",onClick:l,"aria-label":"Previous month",children:jsx(ChevronLeft,{className:"h-4 w-4"})}),jsxs("span",{className:"dtp-cal-title",children:[p[t]," ",e]}),jsx("button",{type:"button",className:"dtp-cal-nav-btn",onClick:s,"aria-label":"Next month",children:jsx(ChevronRight,{className:"h-4 w-4"})})]}),jsx("div",{className:"dtp-cal-weekdays",role:"row",children:m.map((f,O)=>jsx("div",{className:"dtp-cal-weekday",role:"columnheader","aria-label":f,children:f},O))}),jsx("div",{className:"dtp-cal-days",role:"grid",children:g.map(({date:f,thisMonth:O},S)=>{let x=de(f,n),E=de(f,r),k=i!=null&&he(f,i)||d!=null&&ve(f,d);return jsx("button",{type:"button",role:"gridcell",className:N("dtp-cal-day",!O&&"dtp-cal-day--other",x&&"dtp-cal-day--selected",E&&!x&&"dtp-cal-day--today",k&&"dtp-cal-day--disabled"),onClick:()=>!k&&c(f),disabled:k,"aria-current":E?"date":void 0,"aria-selected":x,"aria-disabled":k,children:f.getDate()},S)})})]})}function Ve({amount:e,unit:t,direction:n,onAmountChange:r,onUnitChange:i,onDirectionChange:d,onApply:a,locale:c}){let l=c.startsWith("zh"),s=[{value:"day",label:l?"\u5929":"Day"},{value:"week",label:l?"\u5468":"Week"},{value:"month",label:l?"\u6708":"Month"},{value:"year",label:l?"\u5E74":"Year"}],m=[{value:"future",label:l?"\u4EE5\u540E":"from now"},{value:"past",label:l?"\u4EE5\u524D":"before now"}];return jsxs("div",{className:"dtp-quick-offset","aria-label":l?"\u5FEB\u901F\u504F\u79FB":"Quick offset",children:[jsx("input",{type:"number",className:"dtp-offset-input",value:e,min:1,max:9999,"aria-label":l?"\u504F\u79FB\u6570\u91CF":"Offset amount",onChange:p=>{let g=parseInt(p.target.value,10);!isNaN(g)&&g>=1&&r(g);}}),jsx("select",{className:"dtp-offset-select",value:t,"aria-label":l?"\u504F\u79FB\u5355\u4F4D":"Offset unit",onChange:p=>i(p.target.value),children:s.map(p=>jsx("option",{value:p.value,children:p.label},p.value))}),jsx("select",{className:"dtp-offset-select",value:n,"aria-label":l?"\u504F\u79FB\u65B9\u5411":"Offset direction",onChange:p=>d(p.target.value),children:m.map(p=>jsx("option",{value:p.value,children:p.label},p.value))}),jsx("button",{type:"button",className:"dtp-offset-apply",onClick:a,children:l?"\u5E94\u7528":"Apply"})]})}function Le({className:e,popupClassName:t,triggerClassName:n,disabled:r=false,placeholder:i,...d}){let{isOpen:a,displayValue:c,workingDate:l,view:s,calYear:m,calMonth:p,offsetAmount:g,offsetUnit:f,offsetDirection:O,mode:S,use24Hour:x,showSeconds:E,locale:k,minDate:L,maxDate:W,openPicker:ae,closePicker:I,confirm:j,clear:R,updateField:v,setView:P,setCalYear:_,setCalMonth:oe,setOffsetAmount:Q,setOffsetUnit:ne,setOffsetDirection:B,applyQuickOffset:ie,navigateCalendar:ee}=De({...d}),G=useRef(null),$=useRef(null),H=new Date;Me([G,$],I,a),Ce(G,$,a);let b=k.startsWith("zh"),Y={cancel:b?"\u53D6\u6D88":"Cancel",confirm:b?"\u786E\u5B9A":"Confirm",calendarView:b?"\u65E5\u5386":"Calendar",scrollView:b?"\u6EDA\u8F6E":"Scroll",placeholder:i??(b?"\u9009\u62E9\u65E5\u671F\u65F6\u95F4":"Select date / time")},A=S==="date"||S==="datetime",q=S==="time"||S==="datetime",le=we(l.getFullYear(),200).map(u=>({label:String(u),value:u})),h=Z(k,"short").map((u,D)=>({label:u,value:D})),y=U(l.getFullYear(),l.getMonth()),F=Array.from({length:y},(u,D)=>({label:String(D+1).padStart(2,"0"),value:D+1})),M=Array.from({length:24},(u,D)=>({label:String(D).padStart(2,"0"),value:D})),te=Array.from({length:12},(u,D)=>({label:String(D===0?12:D).padStart(2,"0"),value:D})),Te=[{label:"AM",value:0},{label:"PM",value:1}],ce=Array.from({length:60},(u,D)=>({label:String(D).padStart(2,"0"),value:D})),se=l.getHours(),pe=se%12,me=se<12?0:1,Oe=q&&!A?Clock:Calendar;return jsxs("div",{className:N("dtp-root",e),children:[jsxs("div",{className:"dtp-trigger-wrap",children:[jsxs("button",{ref:G,type:"button",className:N("dtp-trigger",c&&"dtp-trigger--has-clear",r&&"dtp-trigger--disabled",n),onClick:()=>!r&&(a?I():ae()),disabled:r,"aria-haspopup":"dialog","aria-expanded":a,children:[jsx(Oe,{className:"dtp-trigger-icon","aria-hidden":"true"}),jsx("span",{className:N("dtp-trigger-text",!c&&"dtp-trigger-placeholder"),children:c||Y.placeholder})]}),c&&jsx("button",{type:"button",className:"dtp-trigger-clear","aria-label":b?"\u6E05\u9664":"Clear value",onClick:()=>!r&&R(),children:jsx(X,{className:"h-3.5 w-3.5"})})]}),a&&createPortal(jsxs("div",{ref:$,className:N("dtp-panel",t),role:"dialog","aria-modal":"true","aria-label":b?"\u65E5\u671F\u65F6\u95F4\u9009\u62E9\u5668":"Date time picker",children:[jsxs("div",{className:"dtp-panel-header",children:[jsx("span",{className:"dtp-panel-preview",children:c||Y.placeholder}),jsx("div",{className:"dtp-panel-actions",children:A&&jsx("button",{type:"button",className:N("dtp-view-btn",s==="calendar"&&"dtp-view-btn--active"),"aria-pressed":s==="calendar",title:s==="calendar"?Y.scrollView:Y.calendarView,onClick:()=>{s!=="calendar"&&(_(l.getFullYear()),oe(l.getMonth())),P(s==="calendar"?"drum":"calendar");},children:jsx(Calendar,{className:"h-4 w-4"})})})]}),jsx("div",{className:"dtp-panel-body",children:s==="drum"?jsxs("div",{className:"dtp-drum",children:[A&&jsxs("div",{className:"dtp-drum-date",children:[jsx(T,{label:b?"\u5E74":"Year",items:le,selectedValue:l.getFullYear(),onSelect:u=>v("year",u)}),jsx(T,{label:b?"\u6708":"Month",items:h,selectedValue:l.getMonth(),onSelect:u=>v("month",u)}),jsx(T,{label:b?"\u65E5":"Day",items:F,selectedValue:l.getDate(),onSelect:u=>v("day",u)})]}),A&&q&&jsx("div",{className:"dtp-drum-sep","aria-hidden":"true"}),q&&jsxs("div",{className:"dtp-drum-time",children:[x?jsx(T,{label:b?"\u65F6":"Hour",items:M,selectedValue:se,onSelect:u=>v("hour",u)}):jsxs(Fragment,{children:[jsx(T,{label:b?"\u65F6":"Hour",items:te,selectedValue:pe,onSelect:u=>{v("hour",me===1?u+12:u);}}),jsx(T,{label:"AM/PM",items:Te,selectedValue:me,onSelect:u=>{v("hour",pe+(u===1?12:0));}})]}),jsx(T,{label:b?"\u5206":"Min",items:ce,selectedValue:l.getMinutes(),onSelect:u=>v("minute",u)}),E&&jsx(T,{label:b?"\u79D2":"Sec",items:ce,selectedValue:l.getSeconds(),onSelect:u=>v("second",u)})]})]}):jsx(Ue,{year:m,month:p,selectedDate:l,today:H,minDate:L,maxDate:W,locale:k,onSelectDay:u=>{v("year",u.getFullYear()),v("month",u.getMonth()),v("day",u.getDate()),P("drum");},onPrev:()=>ee(-1),onNext:()=>ee(1)})}),A&&jsx("div",{className:"dtp-panel-offset",children:jsx(Ve,{amount:g,unit:f,direction:O,onAmountChange:Q,onUnitChange:ne,onDirectionChange:B,onApply:ie,locale:k})}),jsxs("div",{className:"dtp-panel-footer",children:[jsx("button",{type:"button",className:"dtp-btn-cancel",onClick:I,children:Y.cancel}),jsx("button",{type:"button",className:"dtp-btn-confirm",onClick:j,children:Y.confirm})]})]}),document.body)]})}export{Le as DateTimePicker};
@@ -1,4 +1,4 @@
1
- 'use strict';var Qe=require('react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),reactDom=require('react-dom'),lucideReact=require('lucide-react'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Qe__default=/*#__PURE__*/_interopDefault(Qe);function u(...t){return tailwindMerge.twMerge(clsx.clsx(t))}var ke=classVarianceAuthority.cva("rounded-lg bg-white p-6 shadow-xl dark:bg-primary-900",{variants:{size:{sm:"w-full max-w-sm",md:"w-full max-w-lg",lg:"w-full max-w-2xl",xl:"w-full max-w-4xl",full:"h-[calc(100vh-4rem)] w-[calc(100vw-4rem)]"}},defaultVariants:{size:"md"}});classVarianceAuthority.cva("absolute z-50 rounded px-2 py-1 text-xs shadow-md animate-fade-in",{variants:{intent:{default:"bg-primary-900 text-white dark:bg-primary-100 dark:text-primary-900",light:"border border-primary-200 bg-white text-primary-700 dark:border-primary-600 dark:bg-primary-800 dark:text-primary-200"}},defaultVariants:{intent:"default"}});var C=[];function St(t){C.push(t);}function Lt(t){let o=C.indexOf(t);o!==-1&&C.splice(o,1);}function ze(t){return C.length>0&&C[C.length-1]===t}function Vt(t){let o=C.indexOf(t);return o!==-1?o:C.length}var Xe=Qe.createContext(null);function Ye({open:t,onOpenChange:o,modal:p=true,closeOnOutsideClick:y=false,children:v}){let c=Qe.useId();return Qe.useEffect(()=>{if(t)return St(c),()=>Lt(c)},[t,c]),Qe.useEffect(()=>{if(!t||!p)return;let L=A=>{A.key==="Escape"&&ze(c)&&o(false);};return document.addEventListener("keydown",L),()=>document.removeEventListener("keydown",L)},[t,p,o,c]),Qe.useEffect(()=>{if(!t||!p)return;let L=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=L;}},[t,p]),t?jsxRuntime.jsx(Xe.Provider,{value:{id:c,onOpenChange:o,modal:p,closeOnOutsideClick:y},children:reactDom.createPortal(v,document.body)}):null}function Ke({size:t,position:o="center",className:p,children:y,...v}){let c=Qe.useContext(Xe);if(!c)return null;let A=200+Vt(c.id)*10,J=()=>{c.closeOnOutsideClick&&ze(c.id)&&c.onOpenChange(false);},V=o==="bottom";return c.modal?jsxRuntime.jsx("div",{className:u("animate-fade-in fixed inset-0 bg-black/50",V?"flex items-end justify-center":"flex items-center justify-center p-4"),style:{zIndex:A},onClick:J,children:jsxRuntime.jsx("div",{className:u(ke({size:t}),V?"animate-slide-in-bottom w-full rounded-b-none rounded-t-(--dialog-sheet-radius) max-h-[85vh] overflow-y-auto":"animate-scale-in",p),role:"dialog","aria-modal":"true",onClick:O=>O.stopPropagation(),...v,children:y})}):jsxRuntime.jsx("div",{className:u("fixed inset-0 flex items-center justify-center p-4",c.closeOnOutsideClick?"pointer-events-auto":"pointer-events-none"),style:{zIndex:A},onClick:c.closeOnOutsideClick&&ze(c.id)?()=>c.onOpenChange(false):void 0,children:jsxRuntime.jsx("div",{className:u(ke({size:t}),"animate-scale-in pointer-events-auto shadow-2xl",p),role:"dialog",onClick:c.closeOnOutsideClick?O=>O.stopPropagation():void 0,...v,children:y})})}function $e({className:t,...o}){return jsxRuntime.jsx("div",{className:u("mb-4 space-y-1",t),...o})}function We({className:t,...o}){return jsxRuntime.jsx("h2",{className:u("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",t),...o})}function qe({className:t,...o}){return jsxRuntime.jsx("p",{className:u("text-primary-500 dark:text-primary-400 text-sm",t),...o})}function Ge({className:t,...o}){return jsxRuntime.jsx("div",{className:u("mt-6 flex justify-end gap-2",t),...o})}var Ue=classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});classVarianceAuthority.cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});function Me({intent:t,size:o,className:p,...y}){return jsxRuntime.jsx("button",{className:u(Ue({intent:t,size:o}),p),...y})}function de(t){let o=t.lastIndexOf(".");return o>0?t.slice(o).toLowerCase():""}function tt(t){return t==null?"\u2014":t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:t<1024*1024*1024?`${(t/(1024*1024)).toFixed(1)} MB`:`${(t/(1024*1024*1024)).toFixed(2)} GB`}function Te(t){return t?(typeof t=="string"?new Date(t):t).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"\u2014"}var $t={".png":lucideReact.Image,".jpg":lucideReact.Image,".jpeg":lucideReact.Image,".gif":lucideReact.Image,".svg":lucideReact.Image,".webp":lucideReact.Image,".ico":lucideReact.Image,".bmp":lucideReact.Image,".mp3":lucideReact.Music,".wav":lucideReact.Music,".flac":lucideReact.Music,".ogg":lucideReact.Music,".aac":lucideReact.Music,".m4a":lucideReact.Music,".mp4":lucideReact.Video,".mkv":lucideReact.Video,".avi":lucideReact.Video,".mov":lucideReact.Video,".wmv":lucideReact.Video,".webm":lucideReact.Video,".ts":lucideReact.FileCode,".tsx":lucideReact.FileCode,".js":lucideReact.FileCode,".jsx":lucideReact.FileCode,".json":lucideReact.FileCode,".html":lucideReact.FileCode,".css":lucideReact.FileCode,".scss":lucideReact.FileCode,".py":lucideReact.FileCode,".rs":lucideReact.FileCode,".go":lucideReact.FileCode,".java":lucideReact.FileCode,".c":lucideReact.FileCode,".cpp":lucideReact.FileCode,".h":lucideReact.FileCode,".sh":lucideReact.Terminal,".bat":lucideReact.Terminal,".ps1":lucideReact.Terminal,".md":lucideReact.FileText,".txt":lucideReact.FileText,".pdf":lucideReact.FileText,".doc":lucideReact.FileText,".docx":lucideReact.FileText,".rtf":lucideReact.FileText,".csv":lucideReact.FileSpreadsheet,".xls":lucideReact.FileSpreadsheet,".xlsx":lucideReact.FileSpreadsheet,".db":lucideReact.Database,".sqlite":lucideReact.Database,".sql":lucideReact.Database,".zip":lucideReact.FileArchive,".tar":lucideReact.FileArchive,".gz":lucideReact.FileArchive,".rar":lucideReact.FileArchive,".7z":lucideReact.FileArchive};function Se(t){if(t.type==="directory")return lucideReact.Folder;let o=t.extension||de(t.name);return $t[o]||lucideReact.File}function U(t,o,p){return Math.max(o,Math.min(p,t))}function rt(t){return t<480?"xs":t<640?"sm":t<1024?"md":"lg"}function nt(t,o){if(t<480)return {size:{width:t-16,height:o-48},pos:{x:8,y:24}};if(t<640){let v=t-24,c=Math.min(o-64,540);return {size:{width:v,height:c},pos:{x:12,y:32}}}if(t<1024){let v=Math.min(640,t-32),c=Math.min(480,o-64);return {size:{width:v,height:c},pos:{x:Math.max(0,Math.round((t-v)/2)),y:Math.max(0,Math.round((o-c)/2))}}}let p=720,y=520;return {size:{width:p,height:y},pos:{x:Math.max(0,Math.round((t-p)/2)),y:Math.max(0,Math.round((o-y)/2))}}}function Lr({files:t,title:o="File Explorer",accent:p="#8b5cf6",defaultView:y="list",initialPosition:v,initialSize:c,dockable:L=false,dockSide:A="right",visible:J=true,onFileOpen:V,onSelectionChange:O,onNavigate:ie,onDelete:ue,onClose:at,onMinimize:Le,onPathSubmit:Ve,defaultInputMode:st="search",actions:it,resizable:ct=true,minSize:Z={width:400,height:300},className:lt}){let[me,dt]=Qe.useState(y),[b,P]=Qe.useState(new Set),[Fe,ee]=Qe.useState(null),[l,pe]=Qe.useState(false),[te,fe]=Qe.useState(false),[F,ut]=Qe.useState(""),[R,mt]=Qe.useState(st),[pt,ft]=Qe.useState(J),[gt,ce]=Qe.useState(false),[B,bt]=Qe.useState({w:window.innerWidth,h:window.innerHeight}),Re=nt(window.innerWidth,window.innerHeight),[f,j]=Qe.useState(v??Re.pos),[k,le]=Qe.useState(c??Re.size),[z,xt]=Qe.useState(null),re=Qe.useRef(false),X=Qe.useRef({x:0,y:0}),ge=Qe.useRef(null),_=Qe.useRef(false),ne=Qe.useRef({x:0,y:0,w:0,h:0,px:0,py:0}),oe=Qe.useRef(false),_e=Qe.useRef(l);Qe.useEffect(()=>{_e.current=l;},[l]);let be=J!==void 0?J:pt,xe=Qe.useMemo(()=>{let e=t.filter(a=>a.type==="directory"),n=t.filter(a=>a.type==="file");return e.sort((a,s)=>a.name.localeCompare(s.name)),n.sort((a,s)=>a.name.localeCompare(s.name)),[...e,...n]},[t]),x=Qe.useMemo(()=>{if(R!=="search"||!F.trim())return xe;let e=F.toLowerCase();return xe.filter(n=>n.name.toLowerCase().includes(e))},[xe,F,R]),m=Fe!=null?x[Fe]:null;Qe.useEffect(()=>{let e=rt(window.innerWidth),n=()=>{let a=window.innerWidth,s=window.innerHeight;if(bt({w:a,h:s}),_e.current)return;let d=rt(a);if(d!==e&&!oe.current&&!c){let w=nt(a,s);le(w.size),j(w.pos);}e=d;};return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[c]);let Ie=Qe.useCallback((e,n)=>{P(a=>{let s=new Set(a);return n.ctrlKey||n.metaKey?s.has(e)?s.delete(e):s.add(e):(s.clear(),s.add(e)),s}),ee(e);},[]);Qe.useEffect(()=>{if(!O)return;let e=Array.from(b).map(n=>x[n]).filter(Boolean);O(e);},[b]);let He=Qe.useCallback(e=>{let n=x[e];n&&(n.type==="directory"?ie?.(n.path):V?.(n));},[x,V,ie]),ht=Qe.useCallback(e=>{l||e.target.closest("button")||(oe.current=true,re.current=true,X.current={x:e.clientX-f.x,y:e.clientY-f.y},e.preventDefault());},[f,l]),wt=Qe.useCallback(e=>{if(l||e.target.closest("button"))return;oe.current=true;let n=e.touches[0];re.current=true,X.current={x:n.clientX-f.x,y:n.clientY-f.y};},[f,l]);Qe.useEffect(()=>{let e=s=>{if(!re.current)return;let d=window.innerWidth-100,w=window.innerHeight-40;j({x:U(s.clientX-X.current.x,0,d),y:U(s.clientY-X.current.y,0,w)});},n=s=>{if(!re.current)return;s.preventDefault();let d=s.touches[0],w=window.innerWidth-100,I=window.innerHeight-40;j({x:U(d.clientX-X.current.x,0,w),y:U(d.clientY-X.current.y,0,I)});},a=()=>{re.current=false,_.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",a),window.addEventListener("touchmove",n,{passive:false}),window.addEventListener("touchend",a),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",a),window.removeEventListener("touchmove",n),window.removeEventListener("touchend",a);}},[]);let M=Qe.useCallback((e,n)=>{l||(n.preventDefault(),n.stopPropagation(),oe.current=true,_.current=e,ne.current={x:n.clientX,y:n.clientY,w:k.width,h:k.height,px:f.x,py:f.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,f]),D=Qe.useCallback((e,n)=>{if(l)return;n.preventDefault(),n.stopPropagation(),oe.current=true;let a=n.touches[0];_.current=e,ne.current={x:a.clientX,y:a.clientY,w:k.width,h:k.height,px:f.x,py:f.y},document.body.style.userSelect="none";},[l,k,f]);Qe.useEffect(()=>{let e=(d,w)=>{let I=_.current;if(!I)return;let Pe=d-ne.current.x,Be=w-ne.current.y,{w:Y,h:K,px:ye,py:ve}=ne.current;if(I.includes("e")&&(Y=Math.max(Z.width,Y+Pe)),I.includes("w")){let ae=Math.max(Z.width,Y-Pe);ye=ye+(Y-ae),Y=ae;}if(I.includes("s")&&(K=Math.max(Z.height,K+Be)),I.includes("n")){let ae=Math.max(Z.height,K-Be);ve=ve+(K-ae),K=ae;}le({width:Y,height:K}),j({x:ye,y:ve});},n=d=>{_.current&&e(d.clientX,d.clientY);},a=d=>{_.current&&(d.preventDefault(),e(d.touches[0].clientX,d.touches[0].clientY));},s=()=>{_.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",n),window.addEventListener("mouseup",s),window.addEventListener("touchmove",a,{passive:false}),window.addEventListener("touchend",s),()=>{window.removeEventListener("mousemove",n),window.removeEventListener("mouseup",s),window.removeEventListener("touchmove",a),window.removeEventListener("touchend",s);}},[Z]);let Ae=Qe.useCallback(()=>{l?(z&&(j(z.pos),le(z.size)),pe(false)):(xt({pos:f,size:k}),pe(true));},[l,f,k,z]),yt=Qe.useCallback(()=>{te?fe(false):(l&&(pe(false),z&&(j(z.pos),le(z.size))),fe(true),Le?.());},[te,l,z,Le]);Qe.useEffect(()=>{if(!be||te)return;let e=n=>{if(!(!ge.current?.contains(document.activeElement)&&document.activeElement!==ge.current)){if(n.key==="Escape"&&(ee(null),P(new Set)),n.ctrlKey&&n.key==="a"){n.preventDefault();let a=new Set(x.map((s,d)=>d));P(a);}n.key==="Delete"&&b.size>0&&ue&&(n.preventDefault(),ce(true));}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[be,te,x,b,ue]);let Oe={"--fe-accent":p};if(te)return jsxRuntime.jsx("div",{className:u("fixed z-100 cursor-pointer transition-all duration-300",A==="right"?"right-0 top-1/2 -translate-y-1/2":"left-0 top-1/2 -translate-y-1/2"),style:Oe,onClick:()=>fe(false),title:`Restore ${o}`,children:jsxRuntime.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:[jsxRuntime.jsx(lucideReact.HardDrive,{className:"h-3.5 w-3.5 text-(--fe-accent)"}),jsxRuntime.jsx("span",{className:"text-[10px] font-bold uppercase tracking-widest text-(--fe-text)",children:o})]})});if(!be)return null;let he=l?B.w:Math.min(k.width,B.w-8),vt=l?B.h:Math.min(k.height,B.h-8),kt=l?0:U(f.x,0,Math.max(0,B.w-he)),Nt=l?0:U(f.y,0,Math.max(0,B.h-40)),we=he<500;return jsxRuntime.jsxs("div",{ref:ge,className:u("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",lt),style:{...Oe,left:kt,top:Nt,width:he,height:vt,transition:l?"left 0.3s, top 0.3s, width 0.3s, height 0.3s":void 0},tabIndex:0,children:[jsxRuntime.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:ht,onTouchStart:wt,onDoubleClick:Ae,children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.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:jsxRuntime.jsx(lucideReact.HardDrive,{className:"h-3 w-3 text-(--fe-accent)"})}),jsxRuntime.jsx("span",{className:"text-xs font-bold uppercase tracking-widest text-(--fe-text)",children:o}),jsxRuntime.jsx("div",{className:"ml-2 hidden h-px w-20 md:block",style:{background:"linear-gradient(90deg, var(--fe-accent), transparent)",opacity:.3}})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5",children:[jsxRuntime.jsx("button",{className:"fe-btn mr-1",onClick:()=>dt(e=>e==="list"?"grid":"list"),title:me==="list"?"Grid view":"List view",children:me==="list"?jsxRuntime.jsx(lucideReact.LayoutGrid,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.LayoutList,{className:"h-3.5 w-3.5"})}),L&&jsxRuntime.jsx("button",{className:"fe-btn",onClick:yt,title:"Dock to edge",children:jsxRuntime.jsx(lucideReact.Minus,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn",onClick:Ae,title:l?"Restore":"Maximize",children:l?jsxRuntime.jsx(lucideReact.Minimize2,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.Maximize2,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn hover:bg-red-500/40! hover:text-red-300!",onClick:()=>{at?.(),ft(false);},title:"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})]}),jsxRuntime.jsxs("div",{className:"fe-toolbar flex h-9 shrink-0 items-center gap-2 px-3",children:[jsxRuntime.jsx("button",{className:"fe-btn p-1",onClick:()=>ie?.(".."),title:"Go up",children:jsxRuntime.jsx(lucideReact.FolderUp,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn shrink-0 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider",style:R==="navigate"?{color:"var(--fe-accent)",background:"color-mix(in srgb, var(--fe-accent) 15%, transparent)"}:void 0,onClick:()=>mt(e=>e==="search"?"navigate":"search"),title:R==="search"?"Switch to path navigation":"Switch to file search",children:R==="search"?jsxRuntime.jsx(lucideReact.Search,{className:"h-3 w-3"}):jsxRuntime.jsx(lucideReact.CornerRightDown,{className:"h-3 w-3"})}),jsxRuntime.jsx("div",{className:"relative flex-1",children:jsxRuntime.jsx("input",{type:"text",value:F,onChange:e=>ut(e.target.value),onKeyDown:e=>{e.key==="Enter"&&F.trim()&&R==="navigate"&&(Ve?Ve(F.trim()):ie?.(F.trim()));},placeholder:R==="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)"})}),jsxRuntime.jsxs("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:[x.length," item",x.length!==1?"s":"",b.size>0&&` \xB7 ${b.size} selected`]})]}),jsxRuntime.jsxs("div",{className:"relative flex flex-1 min-h-0",children:[jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden p-1.5",onClick:e=>{e.target===e.currentTarget&&(P(new Set),ee(null));},children:x.length===0?jsxRuntime.jsxs("div",{className:"flex h-full flex-col items-center justify-center text-(--fe-text-muted)",children:[jsxRuntime.jsx(lucideReact.Folder,{className:"mb-2 h-10 w-10"}),jsxRuntime.jsx("span",{className:"text-xs",children:"No files found"})]}):me==="list"?jsxRuntime.jsx("div",{className:"space-y-px",children:x.map((e,n)=>{let a=Se(e),s=b.has(n),d=e.extension||de(e.name);return jsxRuntime.jsxs("div",{className:u("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:w=>Ie(n,w),onDoubleClick:()=>He(n),children:[jsxRuntime.jsx(a,{className:u("h-4 w-4 shrink-0",e.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"flex-1 truncate text-xs font-medium",children:e.name}),d&&e.type==="file"&&jsxRuntime.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:d}),e.size!=null&&jsxRuntime.jsx("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:tt(e.size)}),e.modifiedAt&&jsxRuntime.jsx("span",{className:"hidden shrink-0 font-mono text-[10px] text-(--fe-text-muted) lg:inline",children:Te(e.modifiedAt)})]},e.path+n)})}):jsxRuntime.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(90px,1fr))] gap-1.5 p-1",children:x.map((e,n)=>{let a=Se(e),s=b.has(n),d=e.extension||de(e.name);return jsxRuntime.jsxs("div",{className:u("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:w=>Ie(n,w),onDoubleClick:()=>He(n),children:[jsxRuntime.jsx(a,{className:u("h-7 w-7",e.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"w-full truncate text-[10px] font-medium leading-tight",children:e.name}),d&&e.type==="file"&&jsxRuntime.jsx("span",{className:"font-mono text-[8px] uppercase text-(--fe-text-muted)",children:d})]},e.path+n)})})}),jsxRuntime.jsx("div",{className:u("overflow-hidden transition-[width,opacity] duration-300 ease-out",we?u("absolute right-0 top-0 bottom-0 z-10",m?"w-44 opacity-100":"w-0 opacity-0 pointer-events-none"):u("shrink-0",m?"w-56":"w-0")),children:m&&jsxRuntime.jsxs("div",{className:u("flex h-full flex-col p-4",we?"fe-panel-narrow w-44":"fe-panel w-56 border-l border-(--fe-border)"),children:[we&&jsxRuntime.jsx("button",{className:"fe-btn mb-2 self-end",onClick:()=>{ee(null),P(new Set);},title:"Close panel",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsxs("div",{className:"mb-3 flex flex-col items-center",children:[Qe__default.default.createElement(Se(m),{className:u("h-10 w-10 mb-2",m.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"w-full text-center text-xs font-semibold text-(--fe-text-strong) break-all leading-tight",children:m.name})]}),jsxRuntime.jsxs("div",{className:"space-y-2.5 text-[10px]",children:[jsxRuntime.jsx(Q,{label:"Type",value:m.type==="directory"?"Directory":m.mimeType||m.extension||de(m.name)||"File"}),m.size!=null&&jsxRuntime.jsx(Q,{label:"Size",value:tt(m.size)}),jsxRuntime.jsx(Q,{label:"Path",value:m.path,mono:true}),m.extension&&jsxRuntime.jsx(Q,{label:"Extension",value:m.extension}),m.modifiedAt&&jsxRuntime.jsx(Q,{label:"Modified",value:Te(m.modifiedAt)}),m.createdAt&&jsxRuntime.jsx(Q,{label:"Created",value:Te(m.createdAt)})]}),jsxRuntime.jsxs("div",{className:"mt-auto flex flex-col gap-1.5",children:[m.type==="file"&&V&&jsxRuntime.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:()=>V(m),children:[jsxRuntime.jsx(lucideReact.ArrowUp,{className:"h-3 w-3 rotate-45"}),"Open"]}),it?.map(e=>jsxRuntime.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(m),children:[e.icon&&Qe__default.default.createElement(e.icon,{className:"h-3 w-3"}),e.label]},e.key))]})]})})]}),jsxRuntime.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:[jsxRuntime.jsxs("span",{children:[x.length," items"]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[b.size>0&&jsxRuntime.jsxs("span",{className:"text-(--fe-accent)/70",children:[b.size," selected"]}),jsxRuntime.jsx("span",{className:"opacity-50",children:"Ctrl+Click multi-select \xB7 Esc clear"})]})]}),ct&&!l&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"absolute top-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:e=>M("n",e),onTouchStart:e=>D("n",e)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:e=>M("s",e),onTouchStart:e=>D("s",e)}),jsxRuntime.jsx("div",{className:"absolute top-4 left-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:e=>M("w",e),onTouchStart:e=>D("w",e)}),jsxRuntime.jsx("div",{className:"absolute top-4 right-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:e=>M("e",e),onTouchStart:e=>D("e",e)}),jsxRuntime.jsx("div",{className:"absolute top-0 left-0 h-6 w-6 cursor-nwse-resize",onMouseDown:e=>M("nw",e),onTouchStart:e=>D("nw",e)}),jsxRuntime.jsx("div",{className:"absolute top-0 right-0 h-6 w-6 cursor-nesw-resize",onMouseDown:e=>M("ne",e),onTouchStart:e=>D("ne",e)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 left-0 h-6 w-6 cursor-nesw-resize",onMouseDown:e=>M("sw",e),onTouchStart:e=>D("sw",e)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 right-0 h-6 w-6 cursor-nwse-resize",onMouseDown:e=>M("se",e),onTouchStart:e=>D("se",e)})]}),jsxRuntime.jsx("style",{children:`
1
+ 'use strict';var Qe=require('react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),reactDom=require('react-dom'),lucideReact=require('lucide-react'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Qe__default=/*#__PURE__*/_interopDefault(Qe);function u(...t){return tailwindMerge.twMerge(clsx.clsx(t))}var ke=classVarianceAuthority.cva("rounded-lg bg-white p-6 shadow-xl dark:bg-primary-900",{variants:{size:{sm:"w-full max-w-sm",md:"w-full max-w-lg",lg:"w-full max-w-2xl",xl:"w-full max-w-4xl",full:"h-[calc(100vh-4rem)] w-[calc(100vw-4rem)]"}},defaultVariants:{size:"md"}});classVarianceAuthority.cva("absolute z-50 rounded px-2 py-1 text-xs shadow-md animate-fade-in",{variants:{intent:{default:"bg-primary-900 text-white dark:bg-primary-100 dark:text-primary-900",light:"border border-primary-200 bg-white text-primary-700 dark:border-primary-600 dark:bg-primary-800 dark:text-primary-200"}},defaultVariants:{intent:"default"}});var E=[];function Tt(t){E.push(t);}function St(t){let a=E.indexOf(t);a!==-1&&E.splice(a,1);}function Ne(t){return E.length>0&&E[E.length-1]===t}function Lt(t){let a=E.indexOf(t);return a!==-1?a:E.length}var Xe=Qe.createContext(null);function Ye({open:t,onOpenChange:a,modal:p=true,closeOnOutsideClick:v=false,children:k}){let d=Qe.useId();return Qe.useEffect(()=>{if(t)return Tt(d),()=>St(d)},[t,d]),Qe.useEffect(()=>{if(!t||!p)return;let S=A=>{A.key==="Escape"&&Ne(d)&&a(false);};return document.addEventListener("keydown",S),()=>document.removeEventListener("keydown",S)},[t,p,a,d]),Qe.useEffect(()=>{if(!t||!p)return;let S=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=S;}},[t,p]),t?jsxRuntime.jsx(Xe.Provider,{value:{id:d,onOpenChange:a,modal:p,closeOnOutsideClick:v},children:reactDom.createPortal(k,document.body)}):null}function Ke({size:t,position:a="center",className:p,children:v,...k}){let d=Qe.useContext(Xe);if(!d)return null;let A=200+Lt(d.id)*10,J=()=>{d.closeOnOutsideClick&&Ne(d.id)&&d.onOpenChange(false);},L=a==="bottom";return d.modal?jsxRuntime.jsx("div",{className:u("animate-fade-in fixed inset-0 bg-black/50",L?"flex items-end justify-center":"flex items-center justify-center p-4"),style:{zIndex:A},onClick:J,children:jsxRuntime.jsx("div",{className:u(ke({size:t}),L?"animate-slide-in-bottom w-full rounded-b-none rounded-t-(--dialog-sheet-radius) max-h-[85vh] overflow-y-auto":"animate-scale-in",p),role:"dialog","aria-modal":"true",onClick:O=>O.stopPropagation(),...k,children:v})}):jsxRuntime.jsx("div",{className:u("fixed inset-0 flex items-center justify-center p-4",d.closeOnOutsideClick?"pointer-events-auto":"pointer-events-none"),style:{zIndex:A},onClick:d.closeOnOutsideClick&&Ne(d.id)?()=>d.onOpenChange(false):void 0,children:jsxRuntime.jsx("div",{className:u(ke({size:t}),"animate-scale-in pointer-events-auto shadow-2xl",p),role:"dialog",onClick:d.closeOnOutsideClick?O=>O.stopPropagation():void 0,...k,children:v})})}function $e({className:t,...a}){return jsxRuntime.jsx("div",{className:u("mb-4 space-y-1",t),...a})}function We({className:t,...a}){return jsxRuntime.jsx("h2",{className:u("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",t),...a})}function qe({className:t,...a}){return jsxRuntime.jsx("p",{className:u("text-primary-500 dark:text-primary-400 text-sm",t),...a})}function Ge({className:t,...a}){return jsxRuntime.jsx("div",{className:u("mt-6 flex justify-end gap-2",t),...a})}var Ue=classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});classVarianceAuthority.cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("bg-primary-200 text-primary-700 dark:bg-primary-700 dark:text-primary-200",{variants:{size:{xs:"h-6 w-6 text-[10px]",sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-12 w-12 text-base",xl:"h-16 w-16 text-lg"},shape:{circular:"rounded-full",rounded:"rounded-lg",square:"rounded-none"}},defaultVariants:{size:"md",shape:"circular"}});classVarianceAuthority.cva("relative flex w-full touch-none select-none items-center",{variants:{intent:{primary:"[&_.slider-fill]:bg-primary-500 [&_.slider-thumb]:border-primary-500",secondary:"[&_.slider-fill]:bg-secondary-500 [&_.slider-thumb]:border-secondary-500",success:"[&_.slider-fill]:bg-success-500 [&_.slider-thumb]:border-success-500",danger:"[&_.slider-fill]:bg-danger-500 [&_.slider-thumb]:border-danger-500",warning:"[&_.slider-fill]:bg-warning-500 [&_.slider-thumb]:border-warning-500"},size:{sm:"h-4",md:"h-5",lg:"h-6"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 rounded-full font-medium select-none transition-colors [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-100 text-primary-700 dark:bg-primary-800 dark:text-primary-200",secondary:"bg-secondary-100 text-secondary-700 dark:bg-secondary-800 dark:text-secondary-200",success:"bg-success-100 text-success-700 dark:bg-success-900/40 dark:text-success-300",danger:"bg-danger-100 text-danger-700 dark:bg-danger-900/40 dark:text-danger-300",warning:"bg-warning-100 text-warning-700 dark:bg-warning-900/40 dark:text-warning-300",info:"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300"},size:{sm:"h-5 px-2 text-[0.6875rem] gap-0.5",md:"h-6 px-2.5 text-xs gap-1",lg:"h-7 px-3 text-sm gap-1"},variant:{solid:"",outline:"bg-transparent border",soft:""}},compoundVariants:[{intent:"primary",variant:"outline",class:"border-primary-300 text-primary-700 dark:border-primary-600 dark:text-primary-300"},{intent:"secondary",variant:"outline",class:"border-secondary-300 text-secondary-700 dark:border-secondary-600 dark:text-secondary-300"},{intent:"success",variant:"outline",class:"border-success-400 text-success-700 dark:border-success-600 dark:text-success-300"},{intent:"danger",variant:"outline",class:"border-danger-400 text-danger-700 dark:border-danger-600 dark:text-danger-300"},{intent:"warning",variant:"outline",class:"border-warning-400 text-warning-700 dark:border-warning-600 dark:text-warning-300"},{intent:"info",variant:"outline",class:"border-blue-400 text-blue-700 dark:border-blue-600 dark:text-blue-300"}],defaultVariants:{intent:"primary",size:"md",variant:"solid"}});classVarianceAuthority.cva("relative w-full cursor-pointer rounded-md border bg-white text-sm transition-colors dark:bg-primary-900",{variants:{intent:{default:"border-primary-300 text-primary-900 hover:border-primary-400 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-primary-600 dark:text-primary-100 dark:hover:border-primary-500 dark:focus-within:border-primary-400",danger:"border-danger-500 text-primary-900 focus-within:ring-2 focus-within:ring-danger-500/20 dark:border-danger-500 dark:text-primary-100"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"}},defaultVariants:{intent:"default",size:"md"}});function Me({intent:t,size:a,className:p,...v}){return jsxRuntime.jsx("button",{className:u(Ue({intent:t,size:a}),p),...v})}function le(t){let a=t.lastIndexOf(".");return a>0?t.slice(a).toLowerCase():""}function tt(t){return t==null?"\u2014":t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:t<1024*1024*1024?`${(t/(1024*1024)).toFixed(1)} MB`:`${(t/(1024*1024*1024)).toFixed(2)} GB`}function Ve(t){return t?(typeof t=="string"?new Date(t):t).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"\u2014"}var $t={".png":lucideReact.Image,".jpg":lucideReact.Image,".jpeg":lucideReact.Image,".gif":lucideReact.Image,".svg":lucideReact.Image,".webp":lucideReact.Image,".ico":lucideReact.Image,".bmp":lucideReact.Image,".mp3":lucideReact.Music,".wav":lucideReact.Music,".flac":lucideReact.Music,".ogg":lucideReact.Music,".aac":lucideReact.Music,".m4a":lucideReact.Music,".mp4":lucideReact.Video,".mkv":lucideReact.Video,".avi":lucideReact.Video,".mov":lucideReact.Video,".wmv":lucideReact.Video,".webm":lucideReact.Video,".ts":lucideReact.FileCode,".tsx":lucideReact.FileCode,".js":lucideReact.FileCode,".jsx":lucideReact.FileCode,".json":lucideReact.FileCode,".html":lucideReact.FileCode,".css":lucideReact.FileCode,".scss":lucideReact.FileCode,".py":lucideReact.FileCode,".rs":lucideReact.FileCode,".go":lucideReact.FileCode,".java":lucideReact.FileCode,".c":lucideReact.FileCode,".cpp":lucideReact.FileCode,".h":lucideReact.FileCode,".sh":lucideReact.Terminal,".bat":lucideReact.Terminal,".ps1":lucideReact.Terminal,".md":lucideReact.FileText,".txt":lucideReact.FileText,".pdf":lucideReact.FileText,".doc":lucideReact.FileText,".docx":lucideReact.FileText,".rtf":lucideReact.FileText,".csv":lucideReact.FileSpreadsheet,".xls":lucideReact.FileSpreadsheet,".xlsx":lucideReact.FileSpreadsheet,".db":lucideReact.Database,".sqlite":lucideReact.Database,".sql":lucideReact.Database,".zip":lucideReact.FileArchive,".tar":lucideReact.FileArchive,".gz":lucideReact.FileArchive,".rar":lucideReact.FileArchive,".7z":lucideReact.FileArchive};function Te(t){if(t.type==="directory")return lucideReact.Folder;let a=t.extension||le(t.name);return $t[a]||lucideReact.File}function U(t,a,p){return Math.max(a,Math.min(p,t))}function rt(t){return t<480?"xs":t<640?"sm":t<1024?"md":"lg"}function nt(t,a){if(t<480)return {size:{width:t-16,height:a-48},pos:{x:8,y:24}};if(t<640){let k=t-24,d=Math.min(a-64,540);return {size:{width:k,height:d},pos:{x:12,y:32}}}if(t<1024){let k=Math.min(640,t-32),d=Math.min(480,a-64);return {size:{width:k,height:d},pos:{x:Math.max(0,Math.round((t-k)/2)),y:Math.max(0,Math.round((a-d)/2))}}}let p=720,v=520;return {size:{width:p,height:v},pos:{x:Math.max(0,Math.round((t-p)/2)),y:Math.max(0,Math.round((a-v)/2))}}}function Rr({files:t,title:a="File Explorer",accent:p="#8b5cf6",defaultView:v="list",initialPosition:k,initialSize:d,dockable:S=false,dockSide:A="right",visible:J=true,onFileOpen:L,onSelectionChange:O,onNavigate:ie,onDelete:ue,onClose:st,onMinimize:Se,onPathSubmit:Le,defaultInputMode:ot="search",actions:it,resizable:dt=true,minSize:Z={width:400,height:300},className:ct}){let[me,lt]=Qe.useState(v),[b,P]=Qe.useState(new Set),[_e,ee]=Qe.useState(null),[c,pe]=Qe.useState(false),[te,ge]=Qe.useState(false),[_,ut]=Qe.useState(""),[F,mt]=Qe.useState(ot),[pt,gt]=Qe.useState(J),[ft,de]=Qe.useState(false),[B,bt]=Qe.useState({w:window.innerWidth,h:window.innerHeight}),Fe=nt(window.innerWidth,window.innerHeight),[g,j]=Qe.useState(k??Fe.pos),[z,ce]=Qe.useState(d??Fe.size),[M,xt]=Qe.useState(null),re=Qe.useRef(false),X=Qe.useRef({x:0,y:0}),fe=Qe.useRef(null),R=Qe.useRef(false),ne=Qe.useRef({x:0,y:0,w:0,h:0,px:0,py:0}),ae=Qe.useRef(false),Re=Qe.useRef(c);Qe.useEffect(()=>{Re.current=c;},[c]);let be=J!==void 0?J:pt,xe=Qe.useMemo(()=>{let e=t.filter(s=>s.type==="directory"),n=t.filter(s=>s.type==="file");return e.sort((s,o)=>s.name.localeCompare(o.name)),n.sort((s,o)=>s.name.localeCompare(o.name)),[...e,...n]},[t]),x=Qe.useMemo(()=>{if(F!=="search"||!_.trim())return xe;let e=_.toLowerCase();return xe.filter(n=>n.name.toLowerCase().includes(e))},[xe,_,F]),m=_e!=null?x[_e]:null;Qe.useEffect(()=>{let e=rt(window.innerWidth),n=()=>{let s=window.innerWidth,o=window.innerHeight;if(bt({w:s,h:o}),Re.current)return;let l=rt(s);if(l!==e&&!ae.current&&!d){let y=nt(s,o);ce(y.size),j(y.pos);}e=l;};return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[d]);let Ie=Qe.useCallback((e,n)=>{P(s=>{let o=new Set(s);return n.ctrlKey||n.metaKey?o.has(e)?o.delete(e):o.add(e):(o.clear(),o.add(e)),o}),ee(e);},[]);Qe.useEffect(()=>{if(!O)return;let e=Array.from(b).map(n=>x[n]).filter(Boolean);O(e);},[b]);let He=Qe.useCallback(e=>{let n=x[e];n&&(n.type==="directory"?ie?.(n.path):L?.(n));},[x,L,ie]),ht=Qe.useCallback(e=>{c||e.target.closest("button")||(ae.current=true,re.current=true,X.current={x:e.clientX-g.x,y:e.clientY-g.y},e.preventDefault());},[g,c]),yt=Qe.useCallback(e=>{if(c||e.target.closest("button"))return;ae.current=true;let n=e.touches[0];re.current=true,X.current={x:n.clientX-g.x,y:n.clientY-g.y};},[g,c]);Qe.useEffect(()=>{let e=o=>{if(!re.current)return;let l=window.innerWidth-100,y=window.innerHeight-40;j({x:U(o.clientX-X.current.x,0,l),y:U(o.clientY-X.current.y,0,y)});},n=o=>{if(!re.current)return;o.preventDefault();let l=o.touches[0],y=window.innerWidth-100,I=window.innerHeight-40;j({x:U(l.clientX-X.current.x,0,y),y:U(l.clientY-X.current.y,0,I)});},s=()=>{re.current=false,R.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",s),window.addEventListener("touchmove",n,{passive:false}),window.addEventListener("touchend",s),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",s),window.removeEventListener("touchmove",n),window.removeEventListener("touchend",s);}},[]);let D=Qe.useCallback((e,n)=>{c||(n.preventDefault(),n.stopPropagation(),ae.current=true,R.current=e,ne.current={x:n.clientX,y:n.clientY,w:z.width,h:z.height,px:g.x,py:g.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");},[c,z,g]),C=Qe.useCallback((e,n)=>{if(c)return;n.preventDefault(),n.stopPropagation(),ae.current=true;let s=n.touches[0];R.current=e,ne.current={x:s.clientX,y:s.clientY,w:z.width,h:z.height,px:g.x,py:g.y},document.body.style.userSelect="none";},[c,z,g]);Qe.useEffect(()=>{let e=(l,y)=>{let I=R.current;if(!I)return;let Pe=l-ne.current.x,Be=y-ne.current.y,{w:Y,h:K,px:we,py:ve}=ne.current;if(I.includes("e")&&(Y=Math.max(Z.width,Y+Pe)),I.includes("w")){let se=Math.max(Z.width,Y-Pe);we=we+(Y-se),Y=se;}if(I.includes("s")&&(K=Math.max(Z.height,K+Be)),I.includes("n")){let se=Math.max(Z.height,K-Be);ve=ve+(K-se),K=se;}ce({width:Y,height:K}),j({x:we,y:ve});},n=l=>{R.current&&e(l.clientX,l.clientY);},s=l=>{R.current&&(l.preventDefault(),e(l.touches[0].clientX,l.touches[0].clientY));},o=()=>{R.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",n),window.addEventListener("mouseup",o),window.addEventListener("touchmove",s,{passive:false}),window.addEventListener("touchend",o),()=>{window.removeEventListener("mousemove",n),window.removeEventListener("mouseup",o),window.removeEventListener("touchmove",s),window.removeEventListener("touchend",o);}},[Z]);let Ae=Qe.useCallback(()=>{c?(M&&(j(M.pos),ce(M.size)),pe(false)):(xt({pos:g,size:z}),pe(true));},[c,g,z,M]),wt=Qe.useCallback(()=>{te?ge(false):(c&&(pe(false),M&&(j(M.pos),ce(M.size))),ge(true),Se?.());},[te,c,M,Se]);Qe.useEffect(()=>{if(!be||te)return;let e=n=>{if(!(!fe.current?.contains(document.activeElement)&&document.activeElement!==fe.current)){if(n.key==="Escape"&&(ee(null),P(new Set)),n.ctrlKey&&n.key==="a"){n.preventDefault();let s=new Set(x.map((o,l)=>l));P(s);}n.key==="Delete"&&b.size>0&&ue&&(n.preventDefault(),de(true));}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[be,te,x,b,ue]);let Oe={"--fe-accent":p};if(te)return jsxRuntime.jsx("div",{className:u("fixed z-100 cursor-pointer transition-all duration-300",A==="right"?"right-0 top-1/2 -translate-y-1/2":"left-0 top-1/2 -translate-y-1/2"),style:Oe,onClick:()=>ge(false),title:`Restore ${a}`,children:jsxRuntime.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:[jsxRuntime.jsx(lucideReact.HardDrive,{className:"h-3.5 w-3.5 text-(--fe-accent)"}),jsxRuntime.jsx("span",{className:"text-[10px] font-bold uppercase tracking-widest text-(--fe-text)",children:a})]})});if(!be)return null;let he=c?B.w:Math.min(z.width,B.w-8),vt=c?B.h:Math.min(z.height,B.h-8),kt=c?0:U(g.x,0,Math.max(0,B.w-he)),zt=c?0:U(g.y,0,Math.max(0,B.h-40)),ye=he<500;return jsxRuntime.jsxs("div",{ref:fe,className:u("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]",c&&"rounded-none",ct),style:{...Oe,left:kt,top:zt,width:he,height:vt,transition:c?"left 0.3s, top 0.3s, width 0.3s, height 0.3s":void 0},tabIndex:0,children:[jsxRuntime.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:ht,onTouchStart:yt,onDoubleClick:Ae,children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.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:jsxRuntime.jsx(lucideReact.HardDrive,{className:"h-3 w-3 text-(--fe-accent)"})}),jsxRuntime.jsx("span",{className:"text-xs font-bold uppercase tracking-widest text-(--fe-text)",children:a}),jsxRuntime.jsx("div",{className:"ml-2 hidden h-px w-20 md:block",style:{background:"linear-gradient(90deg, var(--fe-accent), transparent)",opacity:.3}})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5",children:[jsxRuntime.jsx("button",{className:"fe-btn mr-1",onClick:()=>lt(e=>e==="list"?"grid":"list"),title:me==="list"?"Grid view":"List view",children:me==="list"?jsxRuntime.jsx(lucideReact.LayoutGrid,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.LayoutList,{className:"h-3.5 w-3.5"})}),S&&jsxRuntime.jsx("button",{className:"fe-btn",onClick:wt,title:"Dock to edge",children:jsxRuntime.jsx(lucideReact.Minus,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn",onClick:Ae,title:c?"Restore":"Maximize",children:c?jsxRuntime.jsx(lucideReact.Minimize2,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.Maximize2,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn hover:bg-red-500/40! hover:text-red-300!",onClick:()=>{st?.(),gt(false);},title:"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})]}),jsxRuntime.jsxs("div",{className:"fe-toolbar flex h-9 shrink-0 items-center gap-2 px-3",children:[jsxRuntime.jsx("button",{className:"fe-btn p-1",onClick:()=>ie?.(".."),title:"Go up",children:jsxRuntime.jsx(lucideReact.FolderUp,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn shrink-0 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider",style:F==="navigate"?{color:"var(--fe-accent)",background:"color-mix(in srgb, var(--fe-accent) 15%, transparent)"}:void 0,onClick:()=>mt(e=>e==="search"?"navigate":"search"),title:F==="search"?"Switch to path navigation":"Switch to file search",children:F==="search"?jsxRuntime.jsx(lucideReact.Search,{className:"h-3 w-3"}):jsxRuntime.jsx(lucideReact.CornerRightDown,{className:"h-3 w-3"})}),jsxRuntime.jsx("div",{className:"relative flex-1",children:jsxRuntime.jsx("input",{type:"text",value:_,onChange:e=>ut(e.target.value),onKeyDown:e=>{e.key==="Enter"&&_.trim()&&F==="navigate"&&(Le?Le(_.trim()):ie?.(_.trim()));},placeholder:F==="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)"})}),jsxRuntime.jsxs("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:[x.length," item",x.length!==1?"s":"",b.size>0&&` \xB7 ${b.size} selected`]})]}),jsxRuntime.jsxs("div",{className:"relative flex flex-1 min-h-0",children:[jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden p-1.5",onClick:e=>{e.target===e.currentTarget&&(P(new Set),ee(null));},children:x.length===0?jsxRuntime.jsxs("div",{className:"flex h-full flex-col items-center justify-center text-(--fe-text-muted)",children:[jsxRuntime.jsx(lucideReact.Folder,{className:"mb-2 h-10 w-10"}),jsxRuntime.jsx("span",{className:"text-xs",children:"No files found"})]}):me==="list"?jsxRuntime.jsx("div",{className:"space-y-px",children:x.map((e,n)=>{let s=Te(e),o=b.has(n),l=e.extension||le(e.name);return jsxRuntime.jsxs("div",{className:u("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",o?"bg-(--fe-accent)/15 text-(--fe-text-strong)":"hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),style:o?{boxShadow:"inset 2px 0 0 var(--fe-accent)"}:void 0,onClick:y=>Ie(n,y),onDoubleClick:()=>He(n),children:[jsxRuntime.jsx(s,{className:u("h-4 w-4 shrink-0",e.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"flex-1 truncate text-xs font-medium",children:e.name}),l&&e.type==="file"&&jsxRuntime.jsx("span",{className:"shrink-0 rounded bg-(--fe-badge-bg) px-1.5 py-0.5 font-mono text-[9px] uppercase text-(--fe-text-muted)",children:l}),e.size!=null&&jsxRuntime.jsx("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:tt(e.size)}),e.modifiedAt&&jsxRuntime.jsx("span",{className:"hidden shrink-0 font-mono text-[10px] text-(--fe-text-muted) lg:inline",children:Ve(e.modifiedAt)})]},e.path+n)})}):jsxRuntime.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(90px,1fr))] gap-1.5 p-1",children:x.map((e,n)=>{let s=Te(e),o=b.has(n),l=e.extension||le(e.name);return jsxRuntime.jsxs("div",{className:u("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",o?"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:y=>Ie(n,y),onDoubleClick:()=>He(n),children:[jsxRuntime.jsx(s,{className:u("h-7 w-7",e.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"w-full truncate text-[10px] font-medium leading-tight",children:e.name}),l&&e.type==="file"&&jsxRuntime.jsx("span",{className:"font-mono text-[8px] uppercase text-(--fe-text-muted)",children:l})]},e.path+n)})})}),jsxRuntime.jsx("div",{className:u("overflow-hidden transition-[width,opacity] duration-300 ease-out",ye?u("absolute right-0 top-0 bottom-0 z-10",m?"w-44 opacity-100":"w-0 opacity-0 pointer-events-none"):u("shrink-0",m?"w-56":"w-0")),children:m&&jsxRuntime.jsxs("div",{className:u("flex h-full flex-col p-4",ye?"fe-panel-narrow w-44":"fe-panel w-56 border-l border-(--fe-border)"),children:[ye&&jsxRuntime.jsx("button",{className:"fe-btn mb-2 self-end",onClick:()=>{ee(null),P(new Set);},title:"Close panel",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsxs("div",{className:"mb-3 flex flex-col items-center",children:[Qe__default.default.createElement(Te(m),{className:u("h-10 w-10 mb-2",m.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"w-full text-center text-xs font-semibold text-(--fe-text-strong) break-all leading-tight",children:m.name})]}),jsxRuntime.jsxs("div",{className:"space-y-2.5 text-[10px]",children:[jsxRuntime.jsx(Q,{label:"Type",value:m.type==="directory"?"Directory":m.mimeType||m.extension||le(m.name)||"File"}),m.size!=null&&jsxRuntime.jsx(Q,{label:"Size",value:tt(m.size)}),jsxRuntime.jsx(Q,{label:"Path",value:m.path,mono:true}),m.extension&&jsxRuntime.jsx(Q,{label:"Extension",value:m.extension}),m.modifiedAt&&jsxRuntime.jsx(Q,{label:"Modified",value:Ve(m.modifiedAt)}),m.createdAt&&jsxRuntime.jsx(Q,{label:"Created",value:Ve(m.createdAt)})]}),jsxRuntime.jsxs("div",{className:"mt-auto flex flex-col gap-1.5",children:[m.type==="file"&&L&&jsxRuntime.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:()=>L(m),children:[jsxRuntime.jsx(lucideReact.ArrowUp,{className:"h-3 w-3 rotate-45"}),"Open"]}),it?.map(e=>jsxRuntime.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(m),children:[e.icon&&Qe__default.default.createElement(e.icon,{className:"h-3 w-3"}),e.label]},e.key))]})]})})]}),jsxRuntime.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:[jsxRuntime.jsxs("span",{children:[x.length," items"]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[b.size>0&&jsxRuntime.jsxs("span",{className:"text-(--fe-accent)/70",children:[b.size," selected"]}),jsxRuntime.jsx("span",{className:"opacity-50",children:"Ctrl+Click multi-select \xB7 Esc clear"})]})]}),dt&&!c&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"absolute top-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:e=>D("n",e),onTouchStart:e=>C("n",e)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:e=>D("s",e),onTouchStart:e=>C("s",e)}),jsxRuntime.jsx("div",{className:"absolute top-4 left-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:e=>D("w",e),onTouchStart:e=>C("w",e)}),jsxRuntime.jsx("div",{className:"absolute top-4 right-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:e=>D("e",e),onTouchStart:e=>C("e",e)}),jsxRuntime.jsx("div",{className:"absolute top-0 left-0 h-6 w-6 cursor-nwse-resize",onMouseDown:e=>D("nw",e),onTouchStart:e=>C("nw",e)}),jsxRuntime.jsx("div",{className:"absolute top-0 right-0 h-6 w-6 cursor-nesw-resize",onMouseDown:e=>D("ne",e),onTouchStart:e=>C("ne",e)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 left-0 h-6 w-6 cursor-nesw-resize",onMouseDown:e=>D("sw",e),onTouchStart:e=>C("sw",e)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 right-0 h-6 w-6 cursor-nwse-resize",onMouseDown:e=>D("se",e),onTouchStart:e=>C("se",e)})]}),jsxRuntime.jsx("style",{children:`
2
2
  .fe-window {
3
3
  background: var(--fe-bg);
4
4
  box-shadow: var(--fe-shadow);
@@ -59,4 +59,4 @@
59
59
  from { opacity: 0; transform: translateX(-4px); }
60
60
  to { opacity: 1; transform: translateX(0); }
61
61
  }
62
- `}),jsxRuntime.jsx(Ye,{open:gt,onOpenChange:ce,children:jsxRuntime.jsxs(Ke,{size:"sm",children:[jsxRuntime.jsxs($e,{children:[jsxRuntime.jsxs(We,{children:[jsxRuntime.jsx(lucideReact.AlertTriangle,{className:"text-danger-500"}),"Confirm Deletion"]}),jsxRuntime.jsxs(qe,{children:[b.size===1?`Are you sure you want to delete "${x[Array.from(b)[0]]?.name}"?`:`Are you sure you want to delete ${b.size} selected items?`," ","This action cannot be undone."]})]}),jsxRuntime.jsxs(Ge,{children:[jsxRuntime.jsx(Me,{intent:"ghost",onClick:()=>ce(false),children:"Cancel"}),jsxRuntime.jsxs(Me,{intent:"danger",onClick:()=>{let e=Array.from(b).map(n=>x[n]).filter(Boolean);ue?.(e),P(new Set),ee(null),ce(false);},children:[jsxRuntime.jsx(lucideReact.Trash2,{className:"h-4 w-4"}),"Delete"]})]})]})})]})}function Q({label:t,value:o,mono:p}){return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"mb-0.5 font-semibold uppercase tracking-wider text-(--fe-text-muted)",children:t}),jsxRuntime.jsx("div",{className:u("text-(--fe-text) break-all leading-snug",p&&"font-mono text-[9px]"),children:o})]})}exports.FileExplorer=Lr;
62
+ `}),jsxRuntime.jsx(Ye,{open:ft,onOpenChange:de,children:jsxRuntime.jsxs(Ke,{size:"sm",children:[jsxRuntime.jsxs($e,{children:[jsxRuntime.jsxs(We,{children:[jsxRuntime.jsx(lucideReact.AlertTriangle,{className:"text-danger-500"}),"Confirm Deletion"]}),jsxRuntime.jsxs(qe,{children:[b.size===1?`Are you sure you want to delete "${x[Array.from(b)[0]]?.name}"?`:`Are you sure you want to delete ${b.size} selected items?`," ","This action cannot be undone."]})]}),jsxRuntime.jsxs(Ge,{children:[jsxRuntime.jsx(Me,{intent:"ghost",onClick:()=>de(false),children:"Cancel"}),jsxRuntime.jsxs(Me,{intent:"danger",onClick:()=>{let e=Array.from(b).map(n=>x[n]).filter(Boolean);ue?.(e),P(new Set),ee(null),de(false);},children:[jsxRuntime.jsx(lucideReact.Trash2,{className:"h-4 w-4"}),"Delete"]})]})]})})]})}function Q({label:t,value:a,mono:p}){return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"mb-0.5 font-semibold uppercase tracking-wider text-(--fe-text-muted)",children:t}),jsxRuntime.jsx("div",{className:u("text-(--fe-text) break-all leading-snug",p&&"font-mono text-[9px]"),children:a})]})}exports.FileExplorer=Rr;
@@ -1,4 +1,4 @@
1
- import Qe,{createContext,useState,useRef,useEffect,useMemo,useCallback,useId,useContext}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {createPortal}from'react-dom';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 {cva}from'class-variance-authority';import {jsx,jsxs,Fragment}from'react/jsx-runtime';function u(...t){return twMerge(clsx(t))}var ke=cva("rounded-lg bg-white p-6 shadow-xl dark:bg-primary-900",{variants:{size:{sm:"w-full max-w-sm",md:"w-full max-w-lg",lg:"w-full max-w-2xl",xl:"w-full max-w-4xl",full:"h-[calc(100vh-4rem)] w-[calc(100vw-4rem)]"}},defaultVariants:{size:"md"}});cva("absolute z-50 rounded px-2 py-1 text-xs shadow-md animate-fade-in",{variants:{intent:{default:"bg-primary-900 text-white dark:bg-primary-100 dark:text-primary-900",light:"border border-primary-200 bg-white text-primary-700 dark:border-primary-600 dark:bg-primary-800 dark:text-primary-200"}},defaultVariants:{intent:"default"}});var C=[];function St(t){C.push(t);}function Lt(t){let o=C.indexOf(t);o!==-1&&C.splice(o,1);}function ze(t){return C.length>0&&C[C.length-1]===t}function Vt(t){let o=C.indexOf(t);return o!==-1?o:C.length}var Xe=createContext(null);function Ye({open:t,onOpenChange:o,modal:p=true,closeOnOutsideClick:y=false,children:v}){let c=useId();return useEffect(()=>{if(t)return St(c),()=>Lt(c)},[t,c]),useEffect(()=>{if(!t||!p)return;let L=A=>{A.key==="Escape"&&ze(c)&&o(false);};return document.addEventListener("keydown",L),()=>document.removeEventListener("keydown",L)},[t,p,o,c]),useEffect(()=>{if(!t||!p)return;let L=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=L;}},[t,p]),t?jsx(Xe.Provider,{value:{id:c,onOpenChange:o,modal:p,closeOnOutsideClick:y},children:createPortal(v,document.body)}):null}function Ke({size:t,position:o="center",className:p,children:y,...v}){let c=useContext(Xe);if(!c)return null;let A=200+Vt(c.id)*10,J=()=>{c.closeOnOutsideClick&&ze(c.id)&&c.onOpenChange(false);},V=o==="bottom";return c.modal?jsx("div",{className:u("animate-fade-in fixed inset-0 bg-black/50",V?"flex items-end justify-center":"flex items-center justify-center p-4"),style:{zIndex:A},onClick:J,children:jsx("div",{className:u(ke({size:t}),V?"animate-slide-in-bottom w-full rounded-b-none rounded-t-(--dialog-sheet-radius) max-h-[85vh] overflow-y-auto":"animate-scale-in",p),role:"dialog","aria-modal":"true",onClick:O=>O.stopPropagation(),...v,children:y})}):jsx("div",{className:u("fixed inset-0 flex items-center justify-center p-4",c.closeOnOutsideClick?"pointer-events-auto":"pointer-events-none"),style:{zIndex:A},onClick:c.closeOnOutsideClick&&ze(c.id)?()=>c.onOpenChange(false):void 0,children:jsx("div",{className:u(ke({size:t}),"animate-scale-in pointer-events-auto shadow-2xl",p),role:"dialog",onClick:c.closeOnOutsideClick?O=>O.stopPropagation():void 0,...v,children:y})})}function $e({className:t,...o}){return jsx("div",{className:u("mb-4 space-y-1",t),...o})}function We({className:t,...o}){return jsx("h2",{className:u("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",t),...o})}function qe({className:t,...o}){return jsx("p",{className:u("text-primary-500 dark:text-primary-400 text-sm",t),...o})}function Ge({className:t,...o}){return jsx("div",{className:u("mt-6 flex justify-end gap-2",t),...o})}var Ue=cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}});cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}});cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});function Me({intent:t,size:o,className:p,...y}){return jsx("button",{className:u(Ue({intent:t,size:o}),p),...y})}function de(t){let o=t.lastIndexOf(".");return o>0?t.slice(o).toLowerCase():""}function tt(t){return t==null?"\u2014":t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:t<1024*1024*1024?`${(t/(1024*1024)).toFixed(1)} MB`:`${(t/(1024*1024*1024)).toFixed(2)} GB`}function Te(t){return t?(typeof t=="string"?new Date(t):t).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"\u2014"}var $t={".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 Se(t){if(t.type==="directory")return Folder;let o=t.extension||de(t.name);return $t[o]||File}function U(t,o,p){return Math.max(o,Math.min(p,t))}function rt(t){return t<480?"xs":t<640?"sm":t<1024?"md":"lg"}function nt(t,o){if(t<480)return {size:{width:t-16,height:o-48},pos:{x:8,y:24}};if(t<640){let v=t-24,c=Math.min(o-64,540);return {size:{width:v,height:c},pos:{x:12,y:32}}}if(t<1024){let v=Math.min(640,t-32),c=Math.min(480,o-64);return {size:{width:v,height:c},pos:{x:Math.max(0,Math.round((t-v)/2)),y:Math.max(0,Math.round((o-c)/2))}}}let p=720,y=520;return {size:{width:p,height:y},pos:{x:Math.max(0,Math.round((t-p)/2)),y:Math.max(0,Math.round((o-y)/2))}}}function Lr({files:t,title:o="File Explorer",accent:p="#8b5cf6",defaultView:y="list",initialPosition:v,initialSize:c,dockable:L=false,dockSide:A="right",visible:J=true,onFileOpen:V,onSelectionChange:O,onNavigate:ie,onDelete:ue,onClose:at,onMinimize:Le,onPathSubmit:Ve,defaultInputMode:st="search",actions:it,resizable:ct=true,minSize:Z={width:400,height:300},className:lt}){let[me,dt]=useState(y),[b,P]=useState(new Set),[Fe,ee]=useState(null),[l,pe]=useState(false),[te,fe]=useState(false),[F,ut]=useState(""),[R,mt]=useState(st),[pt,ft]=useState(J),[gt,ce]=useState(false),[B,bt]=useState({w:window.innerWidth,h:window.innerHeight}),Re=nt(window.innerWidth,window.innerHeight),[f,j]=useState(v??Re.pos),[k,le]=useState(c??Re.size),[z,xt]=useState(null),re=useRef(false),X$1=useRef({x:0,y:0}),ge=useRef(null),_=useRef(false),ne=useRef({x:0,y:0,w:0,h:0,px:0,py:0}),oe=useRef(false),_e=useRef(l);useEffect(()=>{_e.current=l;},[l]);let be=J!==void 0?J:pt,xe=useMemo(()=>{let e=t.filter(a=>a.type==="directory"),n=t.filter(a=>a.type==="file");return e.sort((a,s)=>a.name.localeCompare(s.name)),n.sort((a,s)=>a.name.localeCompare(s.name)),[...e,...n]},[t]),x=useMemo(()=>{if(R!=="search"||!F.trim())return xe;let e=F.toLowerCase();return xe.filter(n=>n.name.toLowerCase().includes(e))},[xe,F,R]),m=Fe!=null?x[Fe]:null;useEffect(()=>{let e=rt(window.innerWidth),n=()=>{let a=window.innerWidth,s=window.innerHeight;if(bt({w:a,h:s}),_e.current)return;let d=rt(a);if(d!==e&&!oe.current&&!c){let w=nt(a,s);le(w.size),j(w.pos);}e=d;};return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[c]);let Ie=useCallback((e,n)=>{P(a=>{let s=new Set(a);return n.ctrlKey||n.metaKey?s.has(e)?s.delete(e):s.add(e):(s.clear(),s.add(e)),s}),ee(e);},[]);useEffect(()=>{if(!O)return;let e=Array.from(b).map(n=>x[n]).filter(Boolean);O(e);},[b]);let He=useCallback(e=>{let n=x[e];n&&(n.type==="directory"?ie?.(n.path):V?.(n));},[x,V,ie]),ht=useCallback(e=>{l||e.target.closest("button")||(oe.current=true,re.current=true,X$1.current={x:e.clientX-f.x,y:e.clientY-f.y},e.preventDefault());},[f,l]),wt=useCallback(e=>{if(l||e.target.closest("button"))return;oe.current=true;let n=e.touches[0];re.current=true,X$1.current={x:n.clientX-f.x,y:n.clientY-f.y};},[f,l]);useEffect(()=>{let e=s=>{if(!re.current)return;let d=window.innerWidth-100,w=window.innerHeight-40;j({x:U(s.clientX-X$1.current.x,0,d),y:U(s.clientY-X$1.current.y,0,w)});},n=s=>{if(!re.current)return;s.preventDefault();let d=s.touches[0],w=window.innerWidth-100,I=window.innerHeight-40;j({x:U(d.clientX-X$1.current.x,0,w),y:U(d.clientY-X$1.current.y,0,I)});},a=()=>{re.current=false,_.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",a),window.addEventListener("touchmove",n,{passive:false}),window.addEventListener("touchend",a),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",a),window.removeEventListener("touchmove",n),window.removeEventListener("touchend",a);}},[]);let M=useCallback((e,n)=>{l||(n.preventDefault(),n.stopPropagation(),oe.current=true,_.current=e,ne.current={x:n.clientX,y:n.clientY,w:k.width,h:k.height,px:f.x,py:f.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,f]),D=useCallback((e,n)=>{if(l)return;n.preventDefault(),n.stopPropagation(),oe.current=true;let a=n.touches[0];_.current=e,ne.current={x:a.clientX,y:a.clientY,w:k.width,h:k.height,px:f.x,py:f.y},document.body.style.userSelect="none";},[l,k,f]);useEffect(()=>{let e=(d,w)=>{let I=_.current;if(!I)return;let Pe=d-ne.current.x,Be=w-ne.current.y,{w:Y,h:K,px:ye,py:ve}=ne.current;if(I.includes("e")&&(Y=Math.max(Z.width,Y+Pe)),I.includes("w")){let ae=Math.max(Z.width,Y-Pe);ye=ye+(Y-ae),Y=ae;}if(I.includes("s")&&(K=Math.max(Z.height,K+Be)),I.includes("n")){let ae=Math.max(Z.height,K-Be);ve=ve+(K-ae),K=ae;}le({width:Y,height:K}),j({x:ye,y:ve});},n=d=>{_.current&&e(d.clientX,d.clientY);},a=d=>{_.current&&(d.preventDefault(),e(d.touches[0].clientX,d.touches[0].clientY));},s=()=>{_.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",n),window.addEventListener("mouseup",s),window.addEventListener("touchmove",a,{passive:false}),window.addEventListener("touchend",s),()=>{window.removeEventListener("mousemove",n),window.removeEventListener("mouseup",s),window.removeEventListener("touchmove",a),window.removeEventListener("touchend",s);}},[Z]);let Ae=useCallback(()=>{l?(z&&(j(z.pos),le(z.size)),pe(false)):(xt({pos:f,size:k}),pe(true));},[l,f,k,z]),yt=useCallback(()=>{te?fe(false):(l&&(pe(false),z&&(j(z.pos),le(z.size))),fe(true),Le?.());},[te,l,z,Le]);useEffect(()=>{if(!be||te)return;let e=n=>{if(!(!ge.current?.contains(document.activeElement)&&document.activeElement!==ge.current)){if(n.key==="Escape"&&(ee(null),P(new Set)),n.ctrlKey&&n.key==="a"){n.preventDefault();let a=new Set(x.map((s,d)=>d));P(a);}n.key==="Delete"&&b.size>0&&ue&&(n.preventDefault(),ce(true));}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[be,te,x,b,ue]);let Oe={"--fe-accent":p};if(te)return jsx("div",{className:u("fixed z-100 cursor-pointer transition-all duration-300",A==="right"?"right-0 top-1/2 -translate-y-1/2":"left-0 top-1/2 -translate-y-1/2"),style:Oe,onClick:()=>fe(false),title:`Restore ${o}`,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:o})]})});if(!be)return null;let he=l?B.w:Math.min(k.width,B.w-8),vt=l?B.h:Math.min(k.height,B.h-8),kt=l?0:U(f.x,0,Math.max(0,B.w-he)),Nt=l?0:U(f.y,0,Math.max(0,B.h-40)),we=he<500;return jsxs("div",{ref:ge,className:u("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",lt),style:{...Oe,left:kt,top:Nt,width:he,height:vt,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:ht,onTouchStart:wt,onDoubleClick:Ae,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:o}),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:()=>dt(e=>e==="list"?"grid":"list"),title:me==="list"?"Grid view":"List view",children:me==="list"?jsx(LayoutGrid,{className:"h-3.5 w-3.5"}):jsx(LayoutList,{className:"h-3.5 w-3.5"})}),L&&jsx("button",{className:"fe-btn",onClick:yt,title:"Dock to edge",children:jsx(Minus,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn",onClick:Ae,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:()=>{at?.(),ft(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:()=>ie?.(".."),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:R==="navigate"?{color:"var(--fe-accent)",background:"color-mix(in srgb, var(--fe-accent) 15%, transparent)"}:void 0,onClick:()=>mt(e=>e==="search"?"navigate":"search"),title:R==="search"?"Switch to path navigation":"Switch to file search",children:R==="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:F,onChange:e=>ut(e.target.value),onKeyDown:e=>{e.key==="Enter"&&F.trim()&&R==="navigate"&&(Ve?Ve(F.trim()):ie?.(F.trim()));},placeholder:R==="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:[x.length," item",x.length!==1?"s":"",b.size>0&&` \xB7 ${b.size} selected`]})]}),jsxs("div",{className:"relative 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&&(P(new Set),ee(null));},children:x.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"})]}):me==="list"?jsx("div",{className:"space-y-px",children:x.map((e,n)=>{let a=Se(e),s=b.has(n),d=e.extension||de(e.name);return jsxs("div",{className:u("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:w=>Ie(n,w),onDoubleClick:()=>He(n),children:[jsx(a,{className:u("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}),d&&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:d}),e.size!=null&&jsx("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:tt(e.size)}),e.modifiedAt&&jsx("span",{className:"hidden shrink-0 font-mono text-[10px] text-(--fe-text-muted) lg:inline",children:Te(e.modifiedAt)})]},e.path+n)})}):jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(90px,1fr))] gap-1.5 p-1",children:x.map((e,n)=>{let a=Se(e),s=b.has(n),d=e.extension||de(e.name);return jsxs("div",{className:u("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:w=>Ie(n,w),onDoubleClick:()=>He(n),children:[jsx(a,{className:u("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}),d&&e.type==="file"&&jsx("span",{className:"font-mono text-[8px] uppercase text-(--fe-text-muted)",children:d})]},e.path+n)})})}),jsx("div",{className:u("overflow-hidden transition-[width,opacity] duration-300 ease-out",we?u("absolute right-0 top-0 bottom-0 z-10",m?"w-44 opacity-100":"w-0 opacity-0 pointer-events-none"):u("shrink-0",m?"w-56":"w-0")),children:m&&jsxs("div",{className:u("flex h-full flex-col p-4",we?"fe-panel-narrow w-44":"fe-panel w-56 border-l border-(--fe-border)"),children:[we&&jsx("button",{className:"fe-btn mb-2 self-end",onClick:()=>{ee(null),P(new Set);},title:"Close panel",children:jsx(X,{className:"h-3.5 w-3.5"})}),jsxs("div",{className:"mb-3 flex flex-col items-center",children:[Qe.createElement(Se(m),{className:u("h-10 w-10 mb-2",m.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:m.name})]}),jsxs("div",{className:"space-y-2.5 text-[10px]",children:[jsx(Q,{label:"Type",value:m.type==="directory"?"Directory":m.mimeType||m.extension||de(m.name)||"File"}),m.size!=null&&jsx(Q,{label:"Size",value:tt(m.size)}),jsx(Q,{label:"Path",value:m.path,mono:true}),m.extension&&jsx(Q,{label:"Extension",value:m.extension}),m.modifiedAt&&jsx(Q,{label:"Modified",value:Te(m.modifiedAt)}),m.createdAt&&jsx(Q,{label:"Created",value:Te(m.createdAt)})]}),jsxs("div",{className:"mt-auto flex flex-col gap-1.5",children:[m.type==="file"&&V&&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:()=>V(m),children:[jsx(ArrowUp,{className:"h-3 w-3 rotate-45"}),"Open"]}),it?.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(m),children:[e.icon&&Qe.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:[x.length," items"]}),jsxs("div",{className:"flex items-center gap-2",children:[b.size>0&&jsxs("span",{className:"text-(--fe-accent)/70",children:[b.size," selected"]}),jsx("span",{className:"opacity-50",children:"Ctrl+Click multi-select \xB7 Esc clear"})]})]}),ct&&!l&&jsxs(Fragment,{children:[jsx("div",{className:"absolute top-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:e=>M("n",e),onTouchStart:e=>D("n",e)}),jsx("div",{className:"absolute bottom-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:e=>M("s",e),onTouchStart:e=>D("s",e)}),jsx("div",{className:"absolute top-4 left-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:e=>M("w",e),onTouchStart:e=>D("w",e)}),jsx("div",{className:"absolute top-4 right-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:e=>M("e",e),onTouchStart:e=>D("e",e)}),jsx("div",{className:"absolute top-0 left-0 h-6 w-6 cursor-nwse-resize",onMouseDown:e=>M("nw",e),onTouchStart:e=>D("nw",e)}),jsx("div",{className:"absolute top-0 right-0 h-6 w-6 cursor-nesw-resize",onMouseDown:e=>M("ne",e),onTouchStart:e=>D("ne",e)}),jsx("div",{className:"absolute bottom-0 left-0 h-6 w-6 cursor-nesw-resize",onMouseDown:e=>M("sw",e),onTouchStart:e=>D("sw",e)}),jsx("div",{className:"absolute bottom-0 right-0 h-6 w-6 cursor-nwse-resize",onMouseDown:e=>M("se",e),onTouchStart:e=>D("se",e)})]}),jsx("style",{children:`
1
+ import Qe,{createContext,useState,useRef,useEffect,useMemo,useCallback,useId,useContext}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {createPortal}from'react-dom';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 {cva}from'class-variance-authority';import {jsx,jsxs,Fragment}from'react/jsx-runtime';function u(...t){return twMerge(clsx(t))}var ke=cva("rounded-lg bg-white p-6 shadow-xl dark:bg-primary-900",{variants:{size:{sm:"w-full max-w-sm",md:"w-full max-w-lg",lg:"w-full max-w-2xl",xl:"w-full max-w-4xl",full:"h-[calc(100vh-4rem)] w-[calc(100vw-4rem)]"}},defaultVariants:{size:"md"}});cva("absolute z-50 rounded px-2 py-1 text-xs shadow-md animate-fade-in",{variants:{intent:{default:"bg-primary-900 text-white dark:bg-primary-100 dark:text-primary-900",light:"border border-primary-200 bg-white text-primary-700 dark:border-primary-600 dark:bg-primary-800 dark:text-primary-200"}},defaultVariants:{intent:"default"}});var E=[];function Tt(t){E.push(t);}function St(t){let a=E.indexOf(t);a!==-1&&E.splice(a,1);}function Ne(t){return E.length>0&&E[E.length-1]===t}function Lt(t){let a=E.indexOf(t);return a!==-1?a:E.length}var Xe=createContext(null);function Ye({open:t,onOpenChange:a,modal:p=true,closeOnOutsideClick:v=false,children:k}){let d=useId();return useEffect(()=>{if(t)return Tt(d),()=>St(d)},[t,d]),useEffect(()=>{if(!t||!p)return;let S=A=>{A.key==="Escape"&&Ne(d)&&a(false);};return document.addEventListener("keydown",S),()=>document.removeEventListener("keydown",S)},[t,p,a,d]),useEffect(()=>{if(!t||!p)return;let S=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=S;}},[t,p]),t?jsx(Xe.Provider,{value:{id:d,onOpenChange:a,modal:p,closeOnOutsideClick:v},children:createPortal(k,document.body)}):null}function Ke({size:t,position:a="center",className:p,children:v,...k}){let d=useContext(Xe);if(!d)return null;let A=200+Lt(d.id)*10,J=()=>{d.closeOnOutsideClick&&Ne(d.id)&&d.onOpenChange(false);},L=a==="bottom";return d.modal?jsx("div",{className:u("animate-fade-in fixed inset-0 bg-black/50",L?"flex items-end justify-center":"flex items-center justify-center p-4"),style:{zIndex:A},onClick:J,children:jsx("div",{className:u(ke({size:t}),L?"animate-slide-in-bottom w-full rounded-b-none rounded-t-(--dialog-sheet-radius) max-h-[85vh] overflow-y-auto":"animate-scale-in",p),role:"dialog","aria-modal":"true",onClick:O=>O.stopPropagation(),...k,children:v})}):jsx("div",{className:u("fixed inset-0 flex items-center justify-center p-4",d.closeOnOutsideClick?"pointer-events-auto":"pointer-events-none"),style:{zIndex:A},onClick:d.closeOnOutsideClick&&Ne(d.id)?()=>d.onOpenChange(false):void 0,children:jsx("div",{className:u(ke({size:t}),"animate-scale-in pointer-events-auto shadow-2xl",p),role:"dialog",onClick:d.closeOnOutsideClick?O=>O.stopPropagation():void 0,...k,children:v})})}function $e({className:t,...a}){return jsx("div",{className:u("mb-4 space-y-1",t),...a})}function We({className:t,...a}){return jsx("h2",{className:u("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",t),...a})}function qe({className:t,...a}){return jsx("p",{className:u("text-primary-500 dark:text-primary-400 text-sm",t),...a})}function Ge({className:t,...a}){return jsx("div",{className:u("mt-6 flex justify-end gap-2",t),...a})}var Ue=cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}});cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}});cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("bg-primary-200 text-primary-700 dark:bg-primary-700 dark:text-primary-200",{variants:{size:{xs:"h-6 w-6 text-[10px]",sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-12 w-12 text-base",xl:"h-16 w-16 text-lg"},shape:{circular:"rounded-full",rounded:"rounded-lg",square:"rounded-none"}},defaultVariants:{size:"md",shape:"circular"}});cva("relative flex w-full touch-none select-none items-center",{variants:{intent:{primary:"[&_.slider-fill]:bg-primary-500 [&_.slider-thumb]:border-primary-500",secondary:"[&_.slider-fill]:bg-secondary-500 [&_.slider-thumb]:border-secondary-500",success:"[&_.slider-fill]:bg-success-500 [&_.slider-thumb]:border-success-500",danger:"[&_.slider-fill]:bg-danger-500 [&_.slider-thumb]:border-danger-500",warning:"[&_.slider-fill]:bg-warning-500 [&_.slider-thumb]:border-warning-500"},size:{sm:"h-4",md:"h-5",lg:"h-6"}},defaultVariants:{intent:"primary",size:"md"}});cva("inline-flex items-center gap-1 rounded-full font-medium select-none transition-colors [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-100 text-primary-700 dark:bg-primary-800 dark:text-primary-200",secondary:"bg-secondary-100 text-secondary-700 dark:bg-secondary-800 dark:text-secondary-200",success:"bg-success-100 text-success-700 dark:bg-success-900/40 dark:text-success-300",danger:"bg-danger-100 text-danger-700 dark:bg-danger-900/40 dark:text-danger-300",warning:"bg-warning-100 text-warning-700 dark:bg-warning-900/40 dark:text-warning-300",info:"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300"},size:{sm:"h-5 px-2 text-[0.6875rem] gap-0.5",md:"h-6 px-2.5 text-xs gap-1",lg:"h-7 px-3 text-sm gap-1"},variant:{solid:"",outline:"bg-transparent border",soft:""}},compoundVariants:[{intent:"primary",variant:"outline",class:"border-primary-300 text-primary-700 dark:border-primary-600 dark:text-primary-300"},{intent:"secondary",variant:"outline",class:"border-secondary-300 text-secondary-700 dark:border-secondary-600 dark:text-secondary-300"},{intent:"success",variant:"outline",class:"border-success-400 text-success-700 dark:border-success-600 dark:text-success-300"},{intent:"danger",variant:"outline",class:"border-danger-400 text-danger-700 dark:border-danger-600 dark:text-danger-300"},{intent:"warning",variant:"outline",class:"border-warning-400 text-warning-700 dark:border-warning-600 dark:text-warning-300"},{intent:"info",variant:"outline",class:"border-blue-400 text-blue-700 dark:border-blue-600 dark:text-blue-300"}],defaultVariants:{intent:"primary",size:"md",variant:"solid"}});cva("relative w-full cursor-pointer rounded-md border bg-white text-sm transition-colors dark:bg-primary-900",{variants:{intent:{default:"border-primary-300 text-primary-900 hover:border-primary-400 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-primary-600 dark:text-primary-100 dark:hover:border-primary-500 dark:focus-within:border-primary-400",danger:"border-danger-500 text-primary-900 focus-within:ring-2 focus-within:ring-danger-500/20 dark:border-danger-500 dark:text-primary-100"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"}},defaultVariants:{intent:"default",size:"md"}});function Me({intent:t,size:a,className:p,...v}){return jsx("button",{className:u(Ue({intent:t,size:a}),p),...v})}function le(t){let a=t.lastIndexOf(".");return a>0?t.slice(a).toLowerCase():""}function tt(t){return t==null?"\u2014":t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:t<1024*1024*1024?`${(t/(1024*1024)).toFixed(1)} MB`:`${(t/(1024*1024*1024)).toFixed(2)} GB`}function Ve(t){return t?(typeof t=="string"?new Date(t):t).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"\u2014"}var $t={".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 Te(t){if(t.type==="directory")return Folder;let a=t.extension||le(t.name);return $t[a]||File}function U(t,a,p){return Math.max(a,Math.min(p,t))}function rt(t){return t<480?"xs":t<640?"sm":t<1024?"md":"lg"}function nt(t,a){if(t<480)return {size:{width:t-16,height:a-48},pos:{x:8,y:24}};if(t<640){let k=t-24,d=Math.min(a-64,540);return {size:{width:k,height:d},pos:{x:12,y:32}}}if(t<1024){let k=Math.min(640,t-32),d=Math.min(480,a-64);return {size:{width:k,height:d},pos:{x:Math.max(0,Math.round((t-k)/2)),y:Math.max(0,Math.round((a-d)/2))}}}let p=720,v=520;return {size:{width:p,height:v},pos:{x:Math.max(0,Math.round((t-p)/2)),y:Math.max(0,Math.round((a-v)/2))}}}function Rr({files:t,title:a="File Explorer",accent:p="#8b5cf6",defaultView:v="list",initialPosition:k,initialSize:d,dockable:S=false,dockSide:A="right",visible:J=true,onFileOpen:L,onSelectionChange:O,onNavigate:ie,onDelete:ue,onClose:st,onMinimize:Se,onPathSubmit:Le,defaultInputMode:ot="search",actions:it,resizable:dt=true,minSize:Z={width:400,height:300},className:ct}){let[me,lt]=useState(v),[b,P]=useState(new Set),[_e,ee]=useState(null),[c,pe]=useState(false),[te,ge]=useState(false),[_,ut]=useState(""),[F,mt]=useState(ot),[pt,gt]=useState(J),[ft,de]=useState(false),[B,bt]=useState({w:window.innerWidth,h:window.innerHeight}),Fe=nt(window.innerWidth,window.innerHeight),[g,j]=useState(k??Fe.pos),[z,ce]=useState(d??Fe.size),[M,xt]=useState(null),re=useRef(false),X$1=useRef({x:0,y:0}),fe=useRef(null),R=useRef(false),ne=useRef({x:0,y:0,w:0,h:0,px:0,py:0}),ae=useRef(false),Re=useRef(c);useEffect(()=>{Re.current=c;},[c]);let be=J!==void 0?J:pt,xe=useMemo(()=>{let e=t.filter(s=>s.type==="directory"),n=t.filter(s=>s.type==="file");return e.sort((s,o)=>s.name.localeCompare(o.name)),n.sort((s,o)=>s.name.localeCompare(o.name)),[...e,...n]},[t]),x=useMemo(()=>{if(F!=="search"||!_.trim())return xe;let e=_.toLowerCase();return xe.filter(n=>n.name.toLowerCase().includes(e))},[xe,_,F]),m=_e!=null?x[_e]:null;useEffect(()=>{let e=rt(window.innerWidth),n=()=>{let s=window.innerWidth,o=window.innerHeight;if(bt({w:s,h:o}),Re.current)return;let l=rt(s);if(l!==e&&!ae.current&&!d){let y=nt(s,o);ce(y.size),j(y.pos);}e=l;};return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[d]);let Ie=useCallback((e,n)=>{P(s=>{let o=new Set(s);return n.ctrlKey||n.metaKey?o.has(e)?o.delete(e):o.add(e):(o.clear(),o.add(e)),o}),ee(e);},[]);useEffect(()=>{if(!O)return;let e=Array.from(b).map(n=>x[n]).filter(Boolean);O(e);},[b]);let He=useCallback(e=>{let n=x[e];n&&(n.type==="directory"?ie?.(n.path):L?.(n));},[x,L,ie]),ht=useCallback(e=>{c||e.target.closest("button")||(ae.current=true,re.current=true,X$1.current={x:e.clientX-g.x,y:e.clientY-g.y},e.preventDefault());},[g,c]),yt=useCallback(e=>{if(c||e.target.closest("button"))return;ae.current=true;let n=e.touches[0];re.current=true,X$1.current={x:n.clientX-g.x,y:n.clientY-g.y};},[g,c]);useEffect(()=>{let e=o=>{if(!re.current)return;let l=window.innerWidth-100,y=window.innerHeight-40;j({x:U(o.clientX-X$1.current.x,0,l),y:U(o.clientY-X$1.current.y,0,y)});},n=o=>{if(!re.current)return;o.preventDefault();let l=o.touches[0],y=window.innerWidth-100,I=window.innerHeight-40;j({x:U(l.clientX-X$1.current.x,0,y),y:U(l.clientY-X$1.current.y,0,I)});},s=()=>{re.current=false,R.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",s),window.addEventListener("touchmove",n,{passive:false}),window.addEventListener("touchend",s),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",s),window.removeEventListener("touchmove",n),window.removeEventListener("touchend",s);}},[]);let D=useCallback((e,n)=>{c||(n.preventDefault(),n.stopPropagation(),ae.current=true,R.current=e,ne.current={x:n.clientX,y:n.clientY,w:z.width,h:z.height,px:g.x,py:g.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");},[c,z,g]),C=useCallback((e,n)=>{if(c)return;n.preventDefault(),n.stopPropagation(),ae.current=true;let s=n.touches[0];R.current=e,ne.current={x:s.clientX,y:s.clientY,w:z.width,h:z.height,px:g.x,py:g.y},document.body.style.userSelect="none";},[c,z,g]);useEffect(()=>{let e=(l,y)=>{let I=R.current;if(!I)return;let Pe=l-ne.current.x,Be=y-ne.current.y,{w:Y,h:K,px:we,py:ve}=ne.current;if(I.includes("e")&&(Y=Math.max(Z.width,Y+Pe)),I.includes("w")){let se=Math.max(Z.width,Y-Pe);we=we+(Y-se),Y=se;}if(I.includes("s")&&(K=Math.max(Z.height,K+Be)),I.includes("n")){let se=Math.max(Z.height,K-Be);ve=ve+(K-se),K=se;}ce({width:Y,height:K}),j({x:we,y:ve});},n=l=>{R.current&&e(l.clientX,l.clientY);},s=l=>{R.current&&(l.preventDefault(),e(l.touches[0].clientX,l.touches[0].clientY));},o=()=>{R.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",n),window.addEventListener("mouseup",o),window.addEventListener("touchmove",s,{passive:false}),window.addEventListener("touchend",o),()=>{window.removeEventListener("mousemove",n),window.removeEventListener("mouseup",o),window.removeEventListener("touchmove",s),window.removeEventListener("touchend",o);}},[Z]);let Ae=useCallback(()=>{c?(M&&(j(M.pos),ce(M.size)),pe(false)):(xt({pos:g,size:z}),pe(true));},[c,g,z,M]),wt=useCallback(()=>{te?ge(false):(c&&(pe(false),M&&(j(M.pos),ce(M.size))),ge(true),Se?.());},[te,c,M,Se]);useEffect(()=>{if(!be||te)return;let e=n=>{if(!(!fe.current?.contains(document.activeElement)&&document.activeElement!==fe.current)){if(n.key==="Escape"&&(ee(null),P(new Set)),n.ctrlKey&&n.key==="a"){n.preventDefault();let s=new Set(x.map((o,l)=>l));P(s);}n.key==="Delete"&&b.size>0&&ue&&(n.preventDefault(),de(true));}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[be,te,x,b,ue]);let Oe={"--fe-accent":p};if(te)return jsx("div",{className:u("fixed z-100 cursor-pointer transition-all duration-300",A==="right"?"right-0 top-1/2 -translate-y-1/2":"left-0 top-1/2 -translate-y-1/2"),style:Oe,onClick:()=>ge(false),title:`Restore ${a}`,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:a})]})});if(!be)return null;let he=c?B.w:Math.min(z.width,B.w-8),vt=c?B.h:Math.min(z.height,B.h-8),kt=c?0:U(g.x,0,Math.max(0,B.w-he)),zt=c?0:U(g.y,0,Math.max(0,B.h-40)),ye=he<500;return jsxs("div",{ref:fe,className:u("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]",c&&"rounded-none",ct),style:{...Oe,left:kt,top:zt,width:he,height:vt,transition:c?"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:ht,onTouchStart:yt,onDoubleClick:Ae,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:a}),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:()=>lt(e=>e==="list"?"grid":"list"),title:me==="list"?"Grid view":"List view",children:me==="list"?jsx(LayoutGrid,{className:"h-3.5 w-3.5"}):jsx(LayoutList,{className:"h-3.5 w-3.5"})}),S&&jsx("button",{className:"fe-btn",onClick:wt,title:"Dock to edge",children:jsx(Minus,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn",onClick:Ae,title:c?"Restore":"Maximize",children:c?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:()=>{st?.(),gt(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:()=>ie?.(".."),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:F==="navigate"?{color:"var(--fe-accent)",background:"color-mix(in srgb, var(--fe-accent) 15%, transparent)"}:void 0,onClick:()=>mt(e=>e==="search"?"navigate":"search"),title:F==="search"?"Switch to path navigation":"Switch to file search",children:F==="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:_,onChange:e=>ut(e.target.value),onKeyDown:e=>{e.key==="Enter"&&_.trim()&&F==="navigate"&&(Le?Le(_.trim()):ie?.(_.trim()));},placeholder:F==="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:[x.length," item",x.length!==1?"s":"",b.size>0&&` \xB7 ${b.size} selected`]})]}),jsxs("div",{className:"relative 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&&(P(new Set),ee(null));},children:x.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"})]}):me==="list"?jsx("div",{className:"space-y-px",children:x.map((e,n)=>{let s=Te(e),o=b.has(n),l=e.extension||le(e.name);return jsxs("div",{className:u("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",o?"bg-(--fe-accent)/15 text-(--fe-text-strong)":"hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),style:o?{boxShadow:"inset 2px 0 0 var(--fe-accent)"}:void 0,onClick:y=>Ie(n,y),onDoubleClick:()=>He(n),children:[jsx(s,{className:u("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}),l&&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:l}),e.size!=null&&jsx("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:tt(e.size)}),e.modifiedAt&&jsx("span",{className:"hidden shrink-0 font-mono text-[10px] text-(--fe-text-muted) lg:inline",children:Ve(e.modifiedAt)})]},e.path+n)})}):jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(90px,1fr))] gap-1.5 p-1",children:x.map((e,n)=>{let s=Te(e),o=b.has(n),l=e.extension||le(e.name);return jsxs("div",{className:u("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",o?"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:y=>Ie(n,y),onDoubleClick:()=>He(n),children:[jsx(s,{className:u("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}),l&&e.type==="file"&&jsx("span",{className:"font-mono text-[8px] uppercase text-(--fe-text-muted)",children:l})]},e.path+n)})})}),jsx("div",{className:u("overflow-hidden transition-[width,opacity] duration-300 ease-out",ye?u("absolute right-0 top-0 bottom-0 z-10",m?"w-44 opacity-100":"w-0 opacity-0 pointer-events-none"):u("shrink-0",m?"w-56":"w-0")),children:m&&jsxs("div",{className:u("flex h-full flex-col p-4",ye?"fe-panel-narrow w-44":"fe-panel w-56 border-l border-(--fe-border)"),children:[ye&&jsx("button",{className:"fe-btn mb-2 self-end",onClick:()=>{ee(null),P(new Set);},title:"Close panel",children:jsx(X,{className:"h-3.5 w-3.5"})}),jsxs("div",{className:"mb-3 flex flex-col items-center",children:[Qe.createElement(Te(m),{className:u("h-10 w-10 mb-2",m.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:m.name})]}),jsxs("div",{className:"space-y-2.5 text-[10px]",children:[jsx(Q,{label:"Type",value:m.type==="directory"?"Directory":m.mimeType||m.extension||le(m.name)||"File"}),m.size!=null&&jsx(Q,{label:"Size",value:tt(m.size)}),jsx(Q,{label:"Path",value:m.path,mono:true}),m.extension&&jsx(Q,{label:"Extension",value:m.extension}),m.modifiedAt&&jsx(Q,{label:"Modified",value:Ve(m.modifiedAt)}),m.createdAt&&jsx(Q,{label:"Created",value:Ve(m.createdAt)})]}),jsxs("div",{className:"mt-auto flex flex-col gap-1.5",children:[m.type==="file"&&L&&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:()=>L(m),children:[jsx(ArrowUp,{className:"h-3 w-3 rotate-45"}),"Open"]}),it?.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(m),children:[e.icon&&Qe.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:[x.length," items"]}),jsxs("div",{className:"flex items-center gap-2",children:[b.size>0&&jsxs("span",{className:"text-(--fe-accent)/70",children:[b.size," selected"]}),jsx("span",{className:"opacity-50",children:"Ctrl+Click multi-select \xB7 Esc clear"})]})]}),dt&&!c&&jsxs(Fragment,{children:[jsx("div",{className:"absolute top-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:e=>D("n",e),onTouchStart:e=>C("n",e)}),jsx("div",{className:"absolute bottom-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:e=>D("s",e),onTouchStart:e=>C("s",e)}),jsx("div",{className:"absolute top-4 left-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:e=>D("w",e),onTouchStart:e=>C("w",e)}),jsx("div",{className:"absolute top-4 right-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:e=>D("e",e),onTouchStart:e=>C("e",e)}),jsx("div",{className:"absolute top-0 left-0 h-6 w-6 cursor-nwse-resize",onMouseDown:e=>D("nw",e),onTouchStart:e=>C("nw",e)}),jsx("div",{className:"absolute top-0 right-0 h-6 w-6 cursor-nesw-resize",onMouseDown:e=>D("ne",e),onTouchStart:e=>C("ne",e)}),jsx("div",{className:"absolute bottom-0 left-0 h-6 w-6 cursor-nesw-resize",onMouseDown:e=>D("sw",e),onTouchStart:e=>C("sw",e)}),jsx("div",{className:"absolute bottom-0 right-0 h-6 w-6 cursor-nwse-resize",onMouseDown:e=>D("se",e),onTouchStart:e=>C("se",e)})]}),jsx("style",{children:`
2
2
  .fe-window {
3
3
  background: var(--fe-bg);
4
4
  box-shadow: var(--fe-shadow);
@@ -59,4 +59,4 @@ import Qe,{createContext,useState,useRef,useEffect,useMemo,useCallback,useId,use
59
59
  from { opacity: 0; transform: translateX(-4px); }
60
60
  to { opacity: 1; transform: translateX(0); }
61
61
  }
62
- `}),jsx(Ye,{open:gt,onOpenChange:ce,children:jsxs(Ke,{size:"sm",children:[jsxs($e,{children:[jsxs(We,{children:[jsx(AlertTriangle,{className:"text-danger-500"}),"Confirm Deletion"]}),jsxs(qe,{children:[b.size===1?`Are you sure you want to delete "${x[Array.from(b)[0]]?.name}"?`:`Are you sure you want to delete ${b.size} selected items?`," ","This action cannot be undone."]})]}),jsxs(Ge,{children:[jsx(Me,{intent:"ghost",onClick:()=>ce(false),children:"Cancel"}),jsxs(Me,{intent:"danger",onClick:()=>{let e=Array.from(b).map(n=>x[n]).filter(Boolean);ue?.(e),P(new Set),ee(null),ce(false);},children:[jsx(Trash2,{className:"h-4 w-4"}),"Delete"]})]})]})})]})}function Q({label:t,value:o,mono:p}){return jsxs("div",{children:[jsx("div",{className:"mb-0.5 font-semibold uppercase tracking-wider text-(--fe-text-muted)",children:t}),jsx("div",{className:u("text-(--fe-text) break-all leading-snug",p&&"font-mono text-[9px]"),children:o})]})}export{Lr as FileExplorer};
62
+ `}),jsx(Ye,{open:ft,onOpenChange:de,children:jsxs(Ke,{size:"sm",children:[jsxs($e,{children:[jsxs(We,{children:[jsx(AlertTriangle,{className:"text-danger-500"}),"Confirm Deletion"]}),jsxs(qe,{children:[b.size===1?`Are you sure you want to delete "${x[Array.from(b)[0]]?.name}"?`:`Are you sure you want to delete ${b.size} selected items?`," ","This action cannot be undone."]})]}),jsxs(Ge,{children:[jsx(Me,{intent:"ghost",onClick:()=>de(false),children:"Cancel"}),jsxs(Me,{intent:"danger",onClick:()=>{let e=Array.from(b).map(n=>x[n]).filter(Boolean);ue?.(e),P(new Set),ee(null),de(false);},children:[jsx(Trash2,{className:"h-4 w-4"}),"Delete"]})]})]})})]})}function Q({label:t,value:a,mono:p}){return jsxs("div",{children:[jsx("div",{className:"mb-0.5 font-semibold uppercase tracking-wider text-(--fe-text-muted)",children:t}),jsx("div",{className:u("text-(--fe-text) break-all leading-snug",p&&"font-mono text-[9px]"),children:a})]})}export{Rr as FileExplorer};
@@ -0,0 +1 @@
1
+ 'use strict';var react=require('react'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime');function c(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var N={complete:"bg-success-500 border-success-500 text-white dark:bg-success-600 dark:border-success-600",active:"bg-primary-500 border-primary-500 text-white dark:bg-primary-400 dark:border-primary-400",error:"bg-danger-500 border-danger-500 text-white dark:bg-danger-600 dark:border-danger-600",pending:"bg-white border-primary-300 text-secondary-400 dark:bg-primary-800 dark:border-primary-600"},_={complete:"shadow-[0_0_0_4px_theme(colors.success.100)] dark:shadow-[0_0_0_4px_theme(colors.success.900/30)]",active:"shadow-[0_0_0_4px_theme(colors.primary.100)] dark:shadow-[0_0_0_4px_theme(colors.primary.800/50)] animate-pulse",error:"shadow-[0_0_0_4px_theme(colors.danger.100)] dark:shadow-[0_0_0_4px_theme(colors.danger.900/30)]",pending:""};function T({status:e,icon:l}){return l?jsxRuntime.jsx(jsxRuntime.Fragment,{children:l}):e==="complete"?jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"}):e==="error"?jsxRuntime.jsx(lucideReact.AlertCircle,{className:"h-3 w-3"}):e==="active"?jsxRuntime.jsx(lucideReact.Dot,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.Clock,{className:"h-3 w-3"})}function S({images:e,title:l}){let t=e.slice(0,4),g=e.length>4?e.length-4:0,m=(o,a,d)=>jsxRuntime.jsxs("a",{href:o,target:"_blank",rel:"noopener noreferrer",className:c("relative block overflow-hidden",d),onClick:u=>u.stopPropagation(),children:[jsxRuntime.jsx("img",{src:o,alt:`${l} ${a+1}`,className:"h-full w-full object-cover transition-transform duration-300 hover:scale-105"}),a===t.length-1&&g>0&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-black/60",children:jsxRuntime.jsxs("span",{className:"text-sm font-semibold text-white",children:["+",g]})})]},a);return t.length===0?null:t.length===1?jsxRuntime.jsx("div",{className:"mt-2.5 h-36 overflow-hidden rounded-xl",children:m(t[0],0,"h-full")}):t.length===2?jsxRuntime.jsx("div",{className:"mt-2.5 grid h-28 grid-cols-2 gap-0.5 overflow-hidden rounded-xl",children:t.map((o,a)=>m(o,a))}):t.length===3?jsxRuntime.jsxs("div",{className:"mt-2.5 grid h-36 grid-cols-2 grid-rows-2 gap-0.5 overflow-hidden rounded-xl",children:[m(t[0],0,"row-span-2"),m(t[1],1),m(t[2],2)]}):jsxRuntime.jsx("div",{className:"mt-2.5 grid h-44 grid-cols-2 grid-rows-2 gap-0.5 overflow-hidden rounded-xl",children:t.map((o,a)=>m(o,a))})}function C({actions:e}){let l=e.filter(a=>a.variant!=="primary"),t=e.filter(a=>a.variant==="primary"),g="inline-flex items-center gap-1.5 rounded-lg px-2.5 py-1 text-xs font-medium text-secondary-500 transition-colors hover:bg-secondary-100/80 hover:text-secondary-700 dark:text-secondary-400 dark:hover:bg-primary-800/60 dark:hover:text-secondary-200",m="inline-flex items-center gap-1.5 rounded-lg border border-primary-200/70 bg-primary-50/80 px-3 py-1 text-xs font-semibold text-primary-700 transition-colors hover:bg-primary-100 dark:border-primary-600/60 dark:bg-primary-800/60 dark:text-primary-300 dark:hover:bg-primary-700/60",o=(a,d,u)=>a.href?jsxRuntime.jsxs("a",{href:a.href,target:"_blank",rel:"noopener noreferrer",className:u,onClick:v=>v.stopPropagation(),children:[a.icon,a.label]},d):jsxRuntime.jsxs("button",{type:"button",onClick:a.onClick,className:u,children:[a.icon,a.label]},d);return jsxRuntime.jsxs("div",{className:"mt-3 flex items-center gap-1 border-t border-primary-100/50 pt-2.5 dark:border-primary-700/40",children:[l.map((a,d)=>o(a,d,g)),t.length>0&&jsxRuntime.jsx("span",{className:"flex-1"}),t.map((a,d)=>o(a,d,m))]})}function A({item:e,isActive:l,animated:t,visible:g,orientation:m}){let o=e.status??"pending",a={complete:"bg-gradient-to-br from-white to-success-50/40 dark:from-primary-900 dark:to-success-900/10",active:"bg-gradient-to-br from-white to-primary-50/60 dark:from-primary-900 dark:to-primary-800/40",error:"bg-gradient-to-br from-white to-danger-50/40 dark:from-primary-900 dark:to-danger-900/10",pending:"bg-white dark:bg-primary-900"}[o],d={complete:"border-success-200/70 dark:border-success-800/50",active:"border-primary-300/80 dark:border-primary-600/70",error:"border-danger-200/70 dark:border-danger-800/50",pending:"border-primary-200/60 dark:border-primary-700/50"}[o],u=l?"shadow-lg shadow-primary-300/30 dark:shadow-primary-500/20":o==="complete"?"shadow-md shadow-success-300/20 dark:shadow-success-400/10":o==="error"?"shadow-md shadow-danger-300/20 dark:shadow-danger-400/10":"shadow-sm shadow-primary-100/50 dark:shadow-black/20",v=o==="complete"?"conic-gradient(from 30deg, transparent 0%, var(--tl-glow-complete-1) 18%, var(--tl-glow-complete-2) 30%, var(--tl-holo-cyan) 44%, transparent 60%)":o==="error"?"conic-gradient(from 150deg, transparent 0%, var(--tl-glow-error-1) 18%, var(--tl-glow-error-2) 32%, var(--tl-glow-error-3) 44%, transparent 58%)":null,f={complete:"bg-success-100 text-success-700 dark:bg-success-900/40 dark:text-success-300",active:"bg-primary-100 text-primary-700 dark:bg-primary-800/60 dark:text-primary-300",error:"bg-danger-100 text-danger-700 dark:bg-danger-900/40 dark:text-danger-300",pending:"bg-secondary-100 text-secondary-600 dark:bg-primary-800/50 dark:text-secondary-400"}[o];return jsxRuntime.jsxs("div",{className:c("relative isolate",t&&"transition-all duration-700",t?g?"opacity-100 translate-y-0":m==="vertical"?"opacity-0 translate-y-6":"opacity-0 translate-x-6":"",m==="horizontal"?"w-56 shrink-0":"flex-1",e.className),children:[!l&&v&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute animate-[tl-glow-pulse_5s_ease-in-out_infinite]",style:{inset:"-6px",borderRadius:"1.5rem",zIndex:-1,background:v,filter:"blur(14px)",opacity:.22},"aria-hidden":true}),l&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"pointer-events-none absolute",style:{inset:"-7px",borderRadius:"1.5rem",zIndex:-1,background:"conic-gradient(from var(--tl-angle, 0deg) at 50% 50%, var(--tl-holo-base) 0%, var(--tl-holo-indigo) 18%, var(--tl-holo-violet) 30%, var(--tl-holo-cyan) 45%, var(--tl-holo-mid) 62%, var(--tl-holo-base) 100%)",filter:"blur(10px)",animation:"tl-breathe 2.8s ease-in-out infinite, tl-holo-spin 9s linear infinite"},"aria-hidden":true}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute",style:{inset:"-1.5px",borderRadius:"1.0625rem",zIndex:-1,padding:"1.5px",background:"conic-gradient(from var(--tl-angle, 0deg) at 50% 50%, transparent 0deg, var(--tl-holo-indigo) 55deg, var(--tl-holo-violet) 85deg, var(--tl-holo-cyan) 115deg, transparent 175deg, transparent 360deg)",WebkitMask:"linear-gradient(white 0 0) content-box, linear-gradient(white 0 0)",WebkitMaskComposite:"xor",maskComposite:"exclude",animation:"tl-holo-spin 5s linear infinite"},"aria-hidden":true})]}),jsxRuntime.jsx("div",{className:c("relative overflow-hidden rounded-2xl border backdrop-blur-[2px]",l?"border-transparent":c("border",d),a,u),children:e.imagePosition==="left"&&e.image?jsxRuntime.jsxs("div",{className:"flex min-h-[8rem]",children:[jsxRuntime.jsx("a",{href:e.image,target:"_blank",rel:"noopener noreferrer",className:"w-28 shrink-0 overflow-hidden",onClick:i=>i.stopPropagation(),"aria-label":e.title,children:jsxRuntime.jsx("img",{src:e.image,alt:e.title,className:"h-full w-full object-cover transition-transform duration-500 hover:scale-105"})}),jsxRuntime.jsxs("div",{className:"flex flex-1 flex-col p-4",children:[e.date&&jsxRuntime.jsx("span",{className:c("mb-2 inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-[0.65rem] font-semibold tracking-wide",f),children:e.date}),jsxRuntime.jsx("h3",{className:c("text-sm font-semibold leading-snug",l?"text-primary-900 dark:text-white":"text-primary-800 dark:text-primary-100"),children:e.title}),e.description&&jsxRuntime.jsx("p",{className:"mt-1 text-xs leading-relaxed text-secondary-500 dark:text-secondary-400",children:e.description}),e.images&&e.images.length>0&&jsxRuntime.jsx(S,{images:e.images,title:e.title}),e.actions&&e.actions.length>0&&jsxRuntime.jsx(C,{actions:e.actions})]})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e.image&&jsxRuntime.jsx("div",{className:"overflow-hidden",children:jsxRuntime.jsx("img",{src:e.image,alt:e.title,className:"h-32 w-full object-cover transition-transform duration-500 hover:scale-105"})}),e.svg&&!e.image&&jsxRuntime.jsx("div",{className:"flex items-center justify-center bg-primary-50/60 p-4 dark:bg-primary-800/40",children:e.svg}),jsxRuntime.jsxs("div",{className:c("p-4",(e.image||e.svg)&&"pt-3"),children:[e.date&&jsxRuntime.jsx("span",{className:c("mb-2.5 inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-[0.65rem] font-semibold tracking-wide",f),children:e.date}),jsxRuntime.jsx("h3",{className:c("text-sm font-semibold leading-snug",l?"text-primary-900 dark:text-white":"text-primary-800 dark:text-primary-100"),children:e.title}),e.description&&jsxRuntime.jsx("p",{className:"mt-1 text-xs leading-relaxed text-secondary-500 dark:text-secondary-400",children:e.description}),e.images&&e.images.length>0&&jsxRuntime.jsx(S,{images:e.images,title:e.title}),e.actions&&e.actions.length>0&&jsxRuntime.jsx(C,{actions:e.actions})]})]})})]})}function q({items:e,orientation:l="vertical",activeIndex:t,animated:g=true,lineStyle:m="solid",className:o}){let a=react.useRef(null),d=react.useRef([]),[u,v]=react.useState(new Set);react.useEffect(()=>{if(!g){v(new Set(e.map((i,p)=>p)));return}let n=new IntersectionObserver(i=>{v(p=>{let h=new Set(p);return i.forEach(b=>{let y=Number(b.target.dataset.idx);b.isIntersecting&&h.add(y);}),h});},{threshold:.15});return d.current.forEach(i=>i&&n.observe(i)),()=>n.disconnect()},[e,g]),react.useEffect(()=>{if(t==null)return;let n=d.current[t];n&&n.scrollIntoView({behavior:"smooth",block:"center",inline:"center"});},[t]);let f=m==="dashed"?"border-dashed":"";return l==="vertical"?jsxRuntime.jsxs("div",{ref:a,className:c("relative",o),children:[jsxRuntime.jsx("div",{className:"absolute left-5 top-0 h-full w-px bg-primary-200 dark:bg-primary-700"}),jsxRuntime.jsx("div",{className:"space-y-6",children:e.map((n,i)=>{let p=n.status??"pending",h=i===t;return jsxRuntime.jsxs("div",{ref:b=>{d.current[i]=b;},"data-idx":i,className:"relative flex gap-4",children:[jsxRuntime.jsx("div",{className:"relative z-10 flex shrink-0 flex-col items-center",children:jsxRuntime.jsx("div",{className:c("flex h-10 w-10 items-center justify-center rounded-full border-2 transition-all duration-300 [&_svg]:shrink-0",N[p],h&&_[p]),children:jsxRuntime.jsx(T,{status:p,icon:n.icon})})}),jsxRuntime.jsx(A,{item:n,isActive:h,animated:g,visible:u.has(i),orientation:"vertical"})]},n.id??i)})})]}):jsxRuntime.jsx("div",{ref:a,className:c("relative overflow-x-auto pb-4",o),children:jsxRuntime.jsx("div",{className:"flex min-w-max gap-6 px-4",children:e.map((n,i)=>{let p=n.status??"pending",h=i===t,b=i===e.length-1;return jsxRuntime.jsxs("div",{ref:y=>{d.current[i]=y;},"data-idx":i,className:"relative flex flex-col items-center gap-3",children:[jsxRuntime.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsx("div",{className:c("flex h-10 w-10 items-center justify-center rounded-full border-2 transition-all duration-300 z-10 [&_svg]:shrink-0",N[p],h&&_[p]),children:jsxRuntime.jsx(T,{status:p,icon:n.icon})}),!b&&jsxRuntime.jsx("div",{className:c("h-px w-28 border-t-2",f,p==="complete"?"border-success-400":"border-primary-200 dark:border-primary-700")})]}),jsxRuntime.jsx(A,{item:n,isActive:h,animated:g,visible:u.has(i),orientation:"horizontal"})]},n.id??i)})})})}exports.Timeline=q;
@@ -0,0 +1 @@
1
+ :root{--tl-holo-base: var(--color-primary-600);--tl-holo-mid: var(--color-primary-400);--tl-holo-indigo: var(--color-indigo-400);--tl-holo-violet: var(--color-violet-300);--tl-holo-cyan: var(--color-cyan-400);--tl-glow-complete-1: var(--color-success-600);--tl-glow-complete-2: var(--color-success-400);--tl-glow-error-1: var(--color-danger-600);--tl-glow-error-2: var(--color-danger-400);--tl-glow-error-3: var(--color-danger-300)}@property --tl-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes tl-holo-spin{to{--tl-angle: 360deg}}@keyframes tl-breathe{0%,to{opacity:.42}50%{opacity:.9}}@keyframes tl-glow-pulse{0%,to{opacity:.12}50%{opacity:.24}}
@@ -0,0 +1,6 @@
1
+ export { Timeline_alias_3 as Timeline } from '../_tsup-dts-rollup.cjs';
2
+ export { TimelineAction_alias_2 as TimelineAction } from '../_tsup-dts-rollup.cjs';
3
+ export { TimelineItem_alias_3 as TimelineItem } from '../_tsup-dts-rollup.cjs';
4
+ export { TimelineOrientation_alias_3 as TimelineOrientation } from '../_tsup-dts-rollup.cjs';
5
+ export { TimelineStatus_alias_3 as TimelineStatus } from '../_tsup-dts-rollup.cjs';
6
+ export { TimelineProps_alias_3 as TimelineProps } from '../_tsup-dts-rollup.cjs';
@@ -0,0 +1,6 @@
1
+ export { Timeline_alias_3 as Timeline } from '../_tsup-dts-rollup.js';
2
+ export { TimelineAction_alias_2 as TimelineAction } from '../_tsup-dts-rollup.js';
3
+ export { TimelineItem_alias_3 as TimelineItem } from '../_tsup-dts-rollup.js';
4
+ export { TimelineOrientation_alias_3 as TimelineOrientation } from '../_tsup-dts-rollup.js';
5
+ export { TimelineStatus_alias_3 as TimelineStatus } from '../_tsup-dts-rollup.js';
6
+ export { TimelineProps_alias_3 as TimelineProps } from '../_tsup-dts-rollup.js';